:root{
    /* Real DAhO website tokens extracted from public/css/main.scss */
    --daho-navy:#00263A;
    --daho-gold:#BC955C;
    --daho-gold-light:#F0DAC0;
    --daho-gold-mid:#C9B196;
    --daho-gold-deep:#8E6B44;
    --daho-white:#ffffff;
    --daho-ink:#142939;
    --daho-muted:rgba(255,255,255,.68);
    --daho-line:rgba(188,149,92,.42);
    --daho-line-soft:rgba(255,255,255,.13);
    --daho-danger:#8D3232;
    --daho-success:#7EA36F;
    --daho-font-body:'Golos Text', Arial, sans-serif;
    --daho-font-title:'Tenor Sans', Georgia, serif;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:var(--daho-font-body);background:var(--daho-navy);color:var(--daho-white)}
body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}

/* Exact preloader behavior from the real website:
   .preloader > .preloader__logo + .preloader-lines span x4
   Background #00263A, gold #BC955C, line fill animation 2s, fade after load. */
.preloader{position:fixed;z-index:9999;top:0;left:0;width:100%;height:100%;background:#00263A;padding:2rem;transition:opacity .7s ease,visibility .7s ease}
.preloader__logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:block;width:19rem;max-width:70vw;height:auto}
.preloader-lines{width:100%;height:100%;position:relative}
.preloader-lines span{background:#BC955C;display:block}
.preloader-lines span:nth-child(1){position:absolute;top:0;right:0;height:.25rem;width:0;animation:fillWidth 2s linear forwards}
.preloader-lines span:nth-child(2){position:absolute;width:100%;bottom:0;left:0;height:.25rem;animation:fillWidth 2s linear forwards}
.preloader-lines span:nth-child(3){position:absolute;width:.25rem;bottom:0;left:0;height:100%;animation:fillHeight 2s linear forwards}
.preloader-lines span:nth-child(4){position:absolute;width:.25rem;top:0;right:0;height:100%;animation:fillHeight 2s linear forwards}
.preloader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
@keyframes fillWidth{0%{width:0}100%{width:100%}}
@keyframes fillHeight{0%{height:0}100%{height:100%}}
@media (max-width:767.98px){.preloader{padding:1.5rem}.preloader__logo{width:14rem}.preloader-lines span:nth-child(1),.preloader-lines span:nth-child(2){height:.15rem}.preloader-lines span:nth-child(3),.preloader-lines span:nth-child(4){width:.15rem}}

/* Login page */
.finance-boot{min-height:100vh;position:relative;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--daho-navy);overflow:hidden}
.finance-boot::before{content:"";position:absolute;inset:0;background:url('../img/genplan-night.jpg') center/cover no-repeat;opacity:.18;filter:saturate(.82) contrast(1.05)}
.finance-boot::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,38,58,.98),rgba(0,38,58,.82),rgba(0,38,58,.96))}
.login-shell{position:relative;z-index:1;width:min(1160px,100%);min-height:680px;display:grid;grid-template-columns:1.04fr .96fr;background:rgba(0,38,58,.74);border:1px solid rgba(188,149,92,.48);box-shadow:0 34px 90px rgba(0,0,0,.36);backdrop-filter:blur(12px)}
.login-shell::before{content:"";position:absolute;inset:1.1rem;border:1px solid rgba(188,149,92,.18);pointer-events:none}
.login-brand{position:relative;padding:3.4rem 3.7rem;display:flex;flex-direction:column;justify-content:space-between;border-right:1px solid rgba(188,149,92,.34);overflow:hidden}
.login-brand::after{content:"";position:absolute;width:22rem;height:22rem;border-radius:50%;right:-12rem;bottom:-12rem;background:radial-gradient(50% 50% at 50% 50%,rgba(188,149,92,.55) 0%,rgba(188,149,92,0) 72%);pointer-events:none}
.brand-logo{position:relative;z-index:2;width:15.5rem;max-width:72%;height:auto}.brand-copy{position:relative;z-index:2;max-width:31rem}.kicker{font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--daho-gold);margin-bottom:1.2rem}.brand-copy h1{font-family:var(--daho-font-title);font-size:clamp(2.6rem,5vw,4.7rem);line-height:1.03;font-weight:400;margin:0 0 1.2rem}.brand-copy p{margin:0;max-width:28rem;color:var(--daho-muted);font-size:.96rem;line-height:1.85}.login-meta{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;border-top:1px solid rgba(188,149,92,.32);padding-top:1.45rem}.login-meta strong{display:block;font-family:var(--daho-font-title);font-size:1.45rem;color:var(--daho-gold);font-weight:400;margin-bottom:.35rem}.login-meta span{font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.login-card{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;padding:3.4rem;background:rgba(20,41,57,.42)}.login-panel{width:100%;max-width:26rem}.login-panel h2{font-family:var(--daho-font-title);font-size:2rem;font-weight:400;margin:0 0 .6rem}.login-panel .sub{margin:0 0 2rem;color:var(--daho-muted);line-height:1.7}.form-group{margin-bottom:1.1rem}.form-group label{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:#E3C795;margin-bottom:.55rem}.form-control,.select-control{width:100%;height:3.35rem;border:1px solid rgba(188,149,92,.38);background:rgba(255,255,255,.05);color:#fff;padding:0 1rem;outline:none;transition:.22s ease}.form-control:focus,.select-control:focus{border-color:var(--daho-gold);box-shadow:0 0 0 .18rem rgba(188,149,92,.14)}.form-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.8rem 0 1.5rem;color:rgba(255,255,255,.64);font-size:.78rem}.form-row a{color:#E3C795}.checkbox{display:flex;align-items:center;gap:.45rem}.checkbox input{accent-color:var(--daho-gold)}.btn-gold{height:3.55rem;width:100%;border:1px solid var(--daho-gold);background:var(--daho-gold);color:var(--daho-navy);text-transform:uppercase;letter-spacing:.2em;font-size:.74rem;font-weight:500;transition:.22s ease}.btn-gold:hover{background:transparent;color:#E3C795}.secure-note{display:flex;gap:.65rem;margin-top:1.35rem;padding-top:1.2rem;border-top:1px solid rgba(188,149,92,.22);color:rgba(255,255,255,.62);font-size:.74rem;line-height:1.65}.secure-dot{width:.44rem;height:.44rem;margin-top:.38rem;border-radius:50%;background:var(--daho-gold);box-shadow:0 0 1rem rgba(188,149,92,.9)}

/* Admin shell */
.admin-body{min-height:100vh;display:grid;grid-template-columns:18rem 1fr;background:#00263A;color:#fff}.sidebar{height:100vh;position:sticky;top:0;padding:1.55rem 1.15rem;border-right:1px solid rgba(188,149,92,.34);background:linear-gradient(180deg,#00263A 0%,#001d2d 100%)}.side-logo{display:flex;align-items:center;justify-content:center;height:6rem;border-bottom:1px solid rgba(188,149,92,.28)}.side-logo img{width:11rem;height:auto}.side-section{margin:1.45rem .8rem .55rem;font-size:.66rem;letter-spacing:.28em;color:rgba(188,149,92,.85);text-transform:uppercase}.nav-item{display:flex;align-items:center;justify-content:space-between;padding:.88rem .85rem;margin:.15rem 0;border:1px solid transparent;color:rgba(255,255,255,.72);transition:.22s ease}.nav-item:hover,.nav-item.active{border-color:rgba(188,149,92,.38);background:rgba(255,255,255,.05);color:#fff}.nav-item span:first-child{display:flex;align-items:center;gap:.72rem}.nav-icon{width:.42rem;height:.42rem;background:var(--daho-gold);transform:rotate(45deg);box-shadow:0 0 1rem rgba(188,149,92,.45)}.main{min-width:0}.topbar{height:5.5rem;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;border-bottom:1px solid rgba(188,149,92,.28);background:rgba(0,38,58,.86);backdrop-filter:blur(12px);position:sticky;top:0;z-index:30}.topbar h2{font-family:var(--daho-font-title);font-size:1.5rem;font-weight:400;margin:0}.topbar p{margin:.35rem 0 0;color:rgba(255,255,255,.56);font-size:.78rem}.role-pill{border:1px solid rgba(188,149,92,.42);padding:.72rem .9rem;color:#E3C795;text-transform:uppercase;letter-spacing:.18em;font-size:.68rem}.content{padding:2rem}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.05rem;margin-bottom:1.3rem}.kpi-card,.panel{border:1px solid rgba(188,149,92,.32);background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.028));box-shadow:0 1.25rem 3.2rem rgba(0,0,0,.20);backdrop-filter:blur(8px)}.kpi-card{position:relative;overflow:hidden;padding:1.35rem}.kpi-card::after{content:"";position:absolute;right:-4rem;bottom:-4rem;width:8rem;height:8rem;background:radial-gradient(circle,rgba(188,149,92,.24),transparent 65%)}.kpi-card span{display:block;color:rgba(255,255,255,.56);font-size:.68rem;text-transform:uppercase;letter-spacing:.16em}.kpi-card strong{display:block;font-family:var(--daho-font-title);font-size:2rem;font-weight:400;margin:.72rem 0 .35rem}.kpi-card em{font-style:normal;color:#E3C795;font-size:.78rem}.panel{padding:1.4rem;margin-bottom:1.2rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.2rem}.panel-head h3{font-family:var(--daho-font-title);font-size:1.35rem;font-weight:400;margin:0}.panel-actions{display:flex;gap:.6rem;flex-wrap:wrap}.btn-outline{border:1px solid rgba(188,149,92,.42);background:transparent;color:#E3C795;padding:.7rem .85rem;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;transition:.22s ease}.btn-outline:hover{background:rgba(188,149,92,.13)}.table-wrap{overflow:auto;border:1px solid rgba(188,149,92,.2)}table{width:100%;min-width:760px;border-collapse:collapse}th,td{padding:.92rem 1rem;border-bottom:1px solid rgba(188,149,92,.16);text-align:left}th{font-weight:500;color:#E3C795;font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;background:rgba(188,149,92,.08)}td{font-size:.84rem;color:rgba(255,255,255,.82)}.status{display:inline-flex;border:1px solid rgba(188,149,92,.38);color:#E3C795;padding:.32rem .55rem;font-size:.63rem;text-transform:uppercase;letter-spacing:.14em}.status.danger{border-color:rgba(141,50,50,.65);color:#F0B5A8}.status.success{border-color:rgba(126,163,111,.62);color:#CFEAC4}.two-col{display:grid;grid-template-columns:1.35fr .65fr;gap:1.2rem}.mock-chart{height:17.8rem;border:1px solid rgba(188,149,92,.2);background:linear-gradient(180deg,rgba(188,149,92,.08),transparent);position:relative;overflow:hidden}.mock-chart::before{content:"";position:absolute;inset:2rem;border-left:1px solid rgba(188,149,92,.25);border-bottom:1px solid rgba(188,149,92,.25)}.mock-chart::after{content:"";position:absolute;left:8%;right:8%;bottom:18%;height:46%;background:linear-gradient(135deg,transparent 0 20%,rgba(188,149,92,.38) 21% 22%,transparent 23% 48%,rgba(188,149,92,.58) 49% 50%,transparent 51%)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.wide{grid-column:1/-1}.page-title{font-family:var(--daho-font-title);font-size:2.2rem;font-weight:400;margin:0 0 .5rem}.page-subtitle{margin:0 0 1.4rem;color:rgba(255,255,255,.6)}

@media(max-width:980px){.login-shell{grid-template-columns:1fr}.login-brand{min-height:26rem;border-right:0;border-bottom:1px solid rgba(188,149,92,.34)}.admin-body{grid-template-columns:1fr}.sidebar{display:none}.kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col{grid-template-columns:1fr}.content{padding:1.25rem}.topbar{padding:0 1.25rem}.login-shell::before{inset:.7rem}}
@media(max-width:620px){.finance-boot{padding:1rem}.login-brand,.login-card{padding:1.8rem}.login-meta{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.brand-logo{width:13rem}.brand-copy h1{font-size:2.55rem}}

/* Login page polish */
.auth-page {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
    background:
        linear-gradient(rgba(0, 31, 45, 0.88), rgba(0, 31, 45, 0.94)),
        url("../img/genplan-night.jpg") center/cover no-repeat;
}

.auth-card {
    width: 100%;
    max-width: 460px;
    background: rgba(0, 31, 45, 0.92);
    border: 1px solid rgba(198, 161, 91, 0.45);
    border-radius: 18px;
    padding: 36px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.35);
}

.auth-logo {
    display: block;
    height: 62px;
    margin: 0 auto 28px auto;
}

.auth-card h1,
.auth-card h2,
.auth-card h3 {
    color: #ffffff;
    margin-bottom: 14px;
}

.auth-card p,
.auth-card label {
    color: rgba(255, 255, 255, 0.82);
}

.auth-card input[type="email"],
.auth-card input[type="password"],
.auth-card input[type="text"] {
    width: 100%;
    height: 46px;
    border-radius: 10px;
    border: 1px solid rgba(198, 161, 91, 0.55);
    background: rgba(255, 255, 255, 0.96);
    padding: 0 14px;
    margin-top: 6px;
    margin-bottom: 14px;
    box-sizing: border-box;
}

.auth-card button,
.auth-card .btn,
.auth-card input[type="submit"] {
    width: 100%;
    height: 48px;
    border: 0;
    border-radius: 10px;
    background: #c6a15b;
    color: #001f2d;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
}

.auth-footer {
    text-align: center;
    color: rgba(255, 255, 255, 0.72);
    margin-top: 18px;
    font-size: 13px;
}

@media (max-width: 600px) {
    .auth-card {
        padding: 26px 20px;
    }
}

/* Dashboard layout fix for current Blade structure */
body {
    margin: 0;
    background: #00263A;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.preloader {
    display: none !important;
}

.app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    background: #00263A;
    color: #ffffff;
}

.sidebar {
    width: 280px;
    min-width: 280px;
    height: 100vh;
    position: sticky;
    top: 0;
    left: 0;
    padding: 24px 18px;
    box-sizing: border-box;
    border-right: 1px solid rgba(188,149,92,.34);
    background: linear-gradient(180deg, #00263A 0%, #001d2d 100%);
    display: flex;
    flex-direction: column;
    z-index: 10;
}

.sidebar-brand {
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(188,149,92,.28);
    text-align: center;
}

.sidebar-brand img {
    max-width: 150px;
    height: auto;
    display: block;
    margin: 0 auto 8px;
}

.sidebar-brand small {
    color: rgba(255,255,255,.75);
    font-size: 12px;
}

.sidebar-menu {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nav-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 13px 14px;
    color: rgba(255,255,255,.74);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: .18s ease;
}

.nav-item:hover,
.nav-item.active {
    border-color: rgba(188,149,92,.45);
    background: rgba(255,255,255,.06);
    color: #ffffff;
}

.nav-dot {
    width: 7px;
    height: 7px;
    min-width: 7px;
    background: #BC955C;
    transform: rotate(45deg);
    box-shadow: 0 0 12px rgba(188,149,92,.5);
}

.nav-text {
    font-size: 14px;
    line-height: 1.2;
}

.sidebar-bottom {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(188,149,92,.28);
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.5;
}

.main {
    min-width: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(188,149,92,.10), transparent 28%),
        #00263A;
}

.topbar {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 28px;
    border-bottom: 1px solid rgba(188,149,92,.28);
    background: rgba(0,38,58,.92);
    position: sticky;
    top: 0;
    z-index: 9;
    box-sizing: border-box;
}

.crumb {
    color: rgba(255,255,255,.55);
    font-size: 12px;
    margin-bottom: 6px;
}

.page-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
}

.top-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.field-input,
.search,
input,
select,
textarea {
    border: 1px solid rgba(188,149,92,.35);
    background: rgba(255,255,255,.08);
    color: #ffffff;
    border-radius: 8px;
    padding: 10px 12px;
    box-sizing: border-box;
}

.search {
    width: 260px;
}

.role-badge,
.avatar {
    border: 1px solid rgba(188,149,92,.45);
    color: #E3C795;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 12px;
}

.avatar {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    font-weight: 700;
}

.btn,
button,
.btn-outline {
    border: 1px solid rgba(188,149,92,.45);
    background: rgba(188,149,92,.12);
    color: #E3C795;
    border-radius: 8px;
    padding: 10px 14px;
    cursor: pointer;
    text-decoration: none;
}

.btn:hover,
button:hover,
.btn-outline:hover {
    background: rgba(188,149,92,.22);
}

.content {
    padding: 28px;
    max-width: 1600px;
    box-sizing: border-box;
}

.alert {
    margin: 18px 28px 0;
    padding: 12px 14px;
    border-radius: 8px;
}

.alert-success {
    background: rgba(126,163,111,.18);
    border: 1px solid rgba(126,163,111,.45);
}

.panel,
.card,
.kpi-card,
.table-card,
.form-card {
    border: 1px solid rgba(188,149,92,.32);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 18px;
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255,255,255,.03);
}

th,
td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(188,149,92,.18);
    text-align: left;
}

th {
    color: #E3C795;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

td {
    color: rgba(255,255,255,.86);
}

@media (max-width: 980px) {
    .app {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: relative;
        width: 100%;
        min-width: 0;
        height: auto;
    }

    .topbar {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px;
    }

    .top-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .search {
        width: 100%;
    }

    .content {
        padding: 18px;
    }
}

/* Dashboard layout fix for current Blade structure */
body {
    margin: 0;
    background: #00263A;
    color: #ffffff;
    font-family: Arial, Helvetica, sans-serif;
}

.preloader {
    display: none !important;
}

.app {
    min-height: 100vh;
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    background: #00263A;
    color: #ffffff;
}

.sidebar {
    width: 280px;
    min-width: 280px;
    height: 100vh;
    position: sticky;
    top: 0;
    left: 0;
    padding: 24px 18px;
    box-sizing: border-box;
    border-right: 1px solid rgba(188,149,92,.34);
    background: linear-gradient(180deg, #00263A 0%, #001d2d 100%);
    display: flex;
    flex-direction: column;
    z-index: 10;
}

.sidebar-brand {
    padding-bottom: 22px;
    border-bottom: 1px solid rgba(188,149,92,.28);
    text-align: center;
}

.sidebar-brand img {
    max-width: 150px;
    height: auto;
    display: block;
    margin: 0 auto 8px;
}

.sidebar-brand small {
    color: rgba(255,255,255,.75);
    font-size: 12px;
}

.sidebar-menu {
    margin-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.nav-item {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding: 13px 14px;
    color: rgba(255,255,255,.74);
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: 8px;
    transition: .18s ease;
}

.nav-item:hover,
.nav-item.active {
    border-color: rgba(188,149,92,.45);
    background: rgba(255,255,255,.06);
    color: #ffffff;
}

.nav-dot {
    width: 7px;
    height: 7px;
    min-width: 7px;
    background: #BC955C;
    transform: rotate(45deg);
    box-shadow: 0 0 12px rgba(188,149,92,.5);
}

.nav-text {
    font-size: 14px;
    line-height: 1.2;
}

.sidebar-bottom {
    margin-top: auto;
    padding-top: 20px;
    border-top: 1px solid rgba(188,149,92,.28);
    color: rgba(255,255,255,.72);
    font-size: 13px;
    line-height: 1.5;
}

.main {
    min-width: 0;
    min-height: 100vh;
    background:
        radial-gradient(circle at top right, rgba(188,149,92,.10), transparent 28%),
        #00263A;
}

.topbar {
    min-height: 82px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 28px;
    border-bottom: 1px solid rgba(188,149,92,.28);
    background: rgba(0,38,58,.92);
    position: sticky;
    top: 0;
    z-index: 9;
    box-sizing: border-box;
}

.crumb {
    color: rgba(255,255,255,.55);
    font-size: 12px;
    margin-bottom: 6px;
}

.page-title {
    color: #ffffff;
    font-size: 24px;
    font-weight: 700;
}

.top-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.field-input,
.search,
input,
select,
textarea {
    border: 1px solid rgba(188,149,92,.35);
    background: rgba(255,255,255,.08);
    color: #ffffff;
    border-radius: 8px;
    padding: 10px 12px;
    box-sizing: border-box;
}

.search {
    width: 260px;
}

.role-badge,
.avatar {
    border: 1px solid rgba(188,149,92,.45);
    color: #E3C795;
    border-radius: 8px;
    padding: 9px 12px;
    font-size: 12px;
}

.avatar {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border-radius: 50%;
    font-weight: 700;
}

.btn,
button,
.btn-outline {
    border: 1px solid rgba(188,149,92,.45);
    background: rgba(188,149,92,.12);
    color: #E3C795;
    border-radius: 8px;
    padding: 10px 14px;
    cursor: pointer;
    text-decoration: none;
}

.btn:hover,
button:hover,
.btn-outline:hover {
    background: rgba(188,149,92,.22);
}

.content {
    padding: 28px;
    max-width: 1600px;
    box-sizing: border-box;
}

.alert {
    margin: 18px 28px 0;
    padding: 12px 14px;
    border-radius: 8px;
}

.alert-success {
    background: rgba(126,163,111,.18);
    border: 1px solid rgba(126,163,111,.45);
}

.panel,
.card,
.kpi-card,
.table-card,
.form-card {
    border: 1px solid rgba(188,149,92,.32);
    background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.03));
    border-radius: 14px;
    padding: 20px;
    margin-bottom: 18px;
    box-shadow: 0 18px 45px rgba(0,0,0,.18);
}

table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255,255,255,.03);
}

th,
td {
    padding: 12px 14px;
    border-bottom: 1px solid rgba(188,149,92,.18);
    text-align: left;
}

th {
    color: #E3C795;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .08em;
}

td {
    color: rgba(255,255,255,.86);
}

@media (max-width: 980px) {
    .app {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: relative;
        width: 100%;
        min-width: 0;
        height: auto;
    }

    .topbar {
        flex-direction: column;
        align-items: flex-start;
        padding: 18px;
    }

    .top-actions {
        width: 100%;
        flex-wrap: wrap;
    }

    .search {
        width: 100%;
    }

    .content {
        padding: 18px;
    }
}

/* Fix Laravel pagination without Tailwind */
nav[role="navigation"] {
    margin-top: 18px;
    color: rgba(255,255,255,.85);
}

nav[role="navigation"] svg {
    width: 18px !important;
    height: 18px !important;
    max-width: 18px !important;
    max-height: 18px !important;
    display: inline-block !important;
    vertical-align: middle;
}

nav[role="navigation"] > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

nav[role="navigation"] a,
nav[role="navigation"] span {
    color: rgba(255,255,255,.88);
    text-decoration: none;
}

nav[role="navigation"] a {
    border: 1px solid rgba(188,149,92,.35);
    background: rgba(188,149,92,.08);
    border-radius: 6px;
    padding: 6px 10px;
}

nav[role="navigation"] a:hover {
    background: rgba(188,149,92,.18);
}

nav[role="navigation"] p {
    margin: 0;
    color: rgba(255,255,255,.72);
}

/* Make page content readable */
.content {
    position: relative;
    z-index: 1;
}

.content h1,
.content h2,
.content h3 {
    color: #ffffff;
}

.content a {
    color: #E3C795;
}

.table-wrap,
.overflow-x-auto {
    overflow-x: auto;
    border: 1px solid rgba(188,149,92,.25);
    border-radius: 12px;
    margin-top: 18px;
}

table {
    background: rgba(255,255,255,.035);
}

tbody tr:hover {
    background: rgba(255,255,255,.055);
}

.min-w-full {
    min-width: 100%;
}

.w-5,
.h-5 {
    width: 18px !important;
    height: 18px !important;
}

.hidden {
    display: none !important;
}

@media (min-width: 640px) {
    .sm\:flex {
        display: flex !important;
    }

    .sm\:hidden {
        display: none !important;
    }
}

/* DAhO login branding refinement */
.auth-page {
    background:
        linear-gradient(rgba(0, 31, 45, 0.60), rgba(0, 31, 45, 0.66)),
        url("../img/genplan-night.jpg") center/cover no-repeat !important;
}

.finance-boot::before {
    opacity: 0.40 !important;
    filter: saturate(.95) contrast(1.08) !important;
}

.finance-boot::after {
    background: linear-gradient(
        90deg,
        rgba(0,38,58,.72),
        rgba(0,38,58,.58),
        rgba(0,38,58,.74)
    ) !important;
}

.auth-logo,
.login-logo,
.login-brand img {
    width: 210px !important;
    max-width: 80% !important;
    height: auto !important;
    margin-bottom: 14px !important;
}

.auth-brand-words {
    color: #C6A15B;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    margin-top: 8px;
    margin-bottom: 28px;
    font-weight: 500;
}

.auth-brand-words span {
    margin: 0 10px;
}

.login-brand small,
.sidebar-brand small {
    display: none !important;
}

.auth-card .sub,
.login-panel .sub {
    display: none !important;
}

.auth-footer,
.secure-note {
    display: none !important;
}

.auth-card h1,
.auth-card h2,
.auth-card h3,
.login-panel h1,
.login-panel h2,
.login-panel h3 {
    margin-bottom: 26px !important;
}

/* DAhO login branding refinement */
.auth-page {
    background:
        linear-gradient(rgba(0, 31, 45, 0.60), rgba(0, 31, 45, 0.66)),
        url("../img/genplan-night.jpg") center/cover no-repeat !important;
}

.finance-boot::before {
    opacity: 0.40 !important;
    filter: saturate(.95) contrast(1.08) !important;
}

.finance-boot::after {
    background: linear-gradient(
        90deg,
        rgba(0,38,58,.72),
        rgba(0,38,58,.58),
        rgba(0,38,58,.74)
    ) !important;
}

.auth-logo,
.login-logo,
.login-brand img {
    width: 210px !important;
    max-width: 80% !important;
    height: auto !important;
    margin-bottom: 14px !important;
}

.auth-brand-words {
    color: #C6A15B;
    text-align: center;
    font-size: 15px;
    letter-spacing: 0.28em;
    text-transform: uppercase;
    margin-top: 8px;
    margin-bottom: 28px;
    font-weight: 500;
}

.auth-brand-words span {
    margin: 0 10px;
}

.login-brand small,
.sidebar-brand small {
    display: none !important;
}

.auth-card .sub,
.login-panel .sub {
    display: none !important;
}

.auth-footer,
.secure-note {
    display: none !important;
}

.auth-card h1,
.auth-card h2,
.auth-card h3,
.login-panel h1,
.login-panel h2,
.login-panel h3 {
    margin-bottom: 26px !important;
}

/* Final login cleanup */
.finance-boot::before {
    opacity: 0.40 !important;
    filter: saturate(.95) contrast(1.08) !important;
}

.finance-boot::after {
    background: linear-gradient(
        90deg,
        rgba(0,38,58,.66),
        rgba(0,38,58,.56),
        rgba(0,38,58,.70)
    ) !important;
}

.login-brand {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.login-brand h1,
.login-brand h2,
.login-brand h3,
.login-brand p,
.login-brand .secure-note,
.login-brand .auth-brand-words,
.auth-brand-words,
.secure-note,
.auth-footer,
.login-panel .sub,
.auth-card .sub {
    display: none !important;
}

.login-brand img,
.auth-logo {
    width: 260px !important;
    max-width: 85% !important;
    height: auto !important;
    margin: 0 auto !important;
}

.login-card,
.auth-card {
    margin-top: 0 !important;
}

body::before {
    content: none !important;
}

/* Final login cleanup */
.finance-boot::before {
    opacity: 0.40 !important;
    filter: saturate(.95) contrast(1.08) !important;
}

.finance-boot::after {
    background: linear-gradient(
        90deg,
        rgba(0,38,58,.66),
        rgba(0,38,58,.56),
        rgba(0,38,58,.70)
    ) !important;
}

.login-brand {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.login-brand h1,
.login-brand h2,
.login-brand h3,
.login-brand p,
.login-brand .secure-note,
.login-brand .auth-brand-words,
.auth-brand-words,
.secure-note,
.auth-footer,
.login-panel .sub,
.auth-card .sub {
    display: none !important;
}

.login-brand img,
.auth-logo {
    width: 260px !important;
    max-width: 85% !important;
    height: auto !important;
    margin: 0 auto !important;
}

.login-card,
.auth-card {
    margin-top: 0 !important;
}

body::before {
    content: none !important;
}

/* Final login page fix: logo without box, only login card boxed, brighter background */
.finance-boot.clean-login-page,
.clean-login-page {
    min-height: 100vh !important;
    background: #00263A !important;
}

/* Background image visibility around 70% */
.finance-boot::before,
.clean-login-page::before {
    opacity: 0.70 !important;
    filter: saturate(1.08) contrast(1.08) !important;
}

.finance-boot::after,
.clean-login-page::after {
    background: rgba(0, 38, 58, 0.30) !important;
}

/* Remove the big box around the whole login shell */
.login-shell {
    width: min(1180px, 92vw) !important;
    max-width: 1180px !important;
    min-height: 560px !important;
    display: grid !important;
    grid-template-columns: 1fr 460px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.login-shell::before,
.login-shell::after {
    display: none !important;
    content: none !important;
}

/* Left logo area: no box, no border, no background */
.login-brand,
.clean-login-brand {
    background: transparent !important;
    border: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.login-brand::before,
.login-brand::after,
.clean-login-brand::before,
.clean-login-brand::after {
    display: none !important;
    content: none !important;
}

/* Bigger logo */
.clean-daho-logo,
.login-brand img,
.auth-logo {
    width: 585px !important;
    max-width: 88% !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Only the right login window should have box/border */
.login-card {
    background: rgba(0, 31, 45, 0.82) !important;
    border: 1px solid rgba(198, 161, 91, 0.55) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
    padding: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Remove all unwanted left-side text */
.login-brand h1,
.login-brand h2,
.login-brand h3,
.login-brand p,
.login-brand small,
.login-brand .secure-note,
.auth-brand-words,
.secure-note,
.auth-footer,
.login-panel .sub,
.auth-card .sub {
    display: none !important;
}

/* Keep form clean */
.login-panel {
    width: 100% !important;
    max-width: 360px !important;
}

.login-panel h2 {
    font-size: 34px !important;
    margin-bottom: 30px !important;
}

.form-control {
    background: rgba(255,255,255,.96) !important;
    color: #001f2d !important;
    border-radius: 8px !important;
}

@media (max-width: 900px) {
    .login-shell {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .clean-daho-logo,
    .login-brand img,
    .auth-logo {
        width: 360px !important;
    }

    .login-card {
        padding: 32px 24px !important;
    }
}

/* Final login page fix: logo without box, only login card boxed, brighter background */
.finance-boot.clean-login-page,
.clean-login-page {
    min-height: 100vh !important;
    background: #00263A !important;
}

/* Background image visibility around 70% */
.finance-boot::before,
.clean-login-page::before {
    opacity: 0.70 !important;
    filter: saturate(1.08) contrast(1.08) !important;
}

.finance-boot::after,
.clean-login-page::after {
    background: rgba(0, 38, 58, 0.30) !important;
}

/* Remove the big box around the whole login shell */
.login-shell {
    width: min(1180px, 92vw) !important;
    max-width: 1180px !important;
    min-height: 560px !important;
    display: grid !important;
    grid-template-columns: 1fr 460px !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.login-shell::before,
.login-shell::after {
    display: none !important;
    content: none !important;
}

/* Left logo area: no box, no border, no background */
.login-brand,
.clean-login-brand {
    background: transparent !important;
    border: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.login-brand::before,
.login-brand::after,
.clean-login-brand::before,
.clean-login-brand::after {
    display: none !important;
    content: none !important;
}

/* Bigger logo */
.clean-daho-logo,
.login-brand img,
.auth-logo {
    width: 585px !important;
    max-width: 88% !important;
    height: auto !important;
    margin: 0 auto !important;
}

/* Only the right login window should have box/border */
.login-card {
    background: rgba(0, 31, 45, 0.82) !important;
    border: 1px solid rgba(198, 161, 91, 0.55) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
    padding: 46px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Remove all unwanted left-side text */
.login-brand h1,
.login-brand h2,
.login-brand h3,
.login-brand p,
.login-brand small,
.login-brand .secure-note,
.auth-brand-words,
.secure-note,
.auth-footer,
.login-panel .sub,
.auth-card .sub {
    display: none !important;
}

/* Keep form clean */
.login-panel {
    width: 100% !important;
    max-width: 360px !important;
}

.login-panel h2 {
    font-size: 34px !important;
    margin-bottom: 30px !important;
}

.form-control {
    background: rgba(255,255,255,.96) !important;
    color: #001f2d !important;
    border-radius: 8px !important;
}

@media (max-width: 900px) {
    .login-shell {
        grid-template-columns: 1fr !important;
        gap: 28px !important;
    }

    .clean-daho-logo,
    .login-brand img,
    .auth-logo {
        width: 360px !important;
    }

    .login-card {
        padding: 32px 24px !important;
    }
}

/* Remove blur/dark panel behind logo and reduce logo size by 20% */
.login-brand,
.clean-login-brand {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

.login-brand::before,
.login-brand::after,
.clean-login-brand::before,
.clean-login-brand::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Reduce logo from 585px to around 468px */
.clean-daho-logo,
.login-brand img,
.auth-logo {
    width: 468px !important;
    max-width: 78% !important;
    height: auto !important;
}

/* Keep only login card boxed */
.login-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.login-card {
    background: rgba(0, 31, 45, 0.82) !important;
    border: 1px solid rgba(198, 161, 91, 0.55) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
}

/* Keep background photo visible */
.finance-boot::before,
.clean-login-page::before {
    opacity: 0.70 !important;
}

.finance-boot::after,
.clean-login-page::after {
    background: rgba(0, 38, 58, 0.30) !important;
}

/* Remove blur/dark panel behind logo and reduce logo size by 20% */
.login-brand,
.clean-login-brand {
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

.login-brand::before,
.login-brand::after,
.clean-login-brand::before,
.clean-login-brand::after {
    display: none !important;
    content: none !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    box-shadow: none !important;
}

/* Reduce logo from 585px to around 468px */
.clean-daho-logo,
.login-brand img,
.auth-logo {
    width: 468px !important;
    max-width: 78% !important;
    height: auto !important;
}

/* Keep only login card boxed */
.login-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.login-card {
    background: rgba(0, 31, 45, 0.82) !important;
    border: 1px solid rgba(198, 161, 91, 0.55) !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
}

/* Keep background photo visible */
.finance-boot::before,
.clean-login-page::before {
    opacity: 0.70 !important;
}

.finance-boot::after,
.clean-login-page::after {
    background: rgba(0, 38, 58, 0.30) !important;
}

/* HARD FIX: remove every blur/panel behind the left logo */
.clean-login-page .login-shell {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow: visible !important;
}

.clean-login-page .login-brand,
.clean-login-page .clean-login-brand {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    border: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
    overflow: visible !important;
}

.clean-login-page .login-brand::before,
.clean-login-page .login-brand::after,
.clean-login-page .clean-login-brand::before,
.clean-login-page .clean-login-brand::after,
.clean-login-page .login-shell::before,
.clean-login-page .login-shell::after {
    display: none !important;
    content: none !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    filter: none !important;
}

/* Make only logo visible on left */
.clean-login-page .login-brand {
    pointer-events: none !important;
}

/* Logo 20% smaller than previous */
.clean-login-page .clean-daho-logo,
.clean-login-page .auth-logo,
.clean-login-page .login-brand img {
    width: 430px !important;
    max-width: 75% !important;
    height: auto !important;
    box-shadow: none !important;
    filter: none !important;
}

/* Keep only the right login box */
.clean-login-page .login-card {
    background: rgba(0, 31, 45, 0.84) !important;
    border: 1px solid rgba(198, 161, 91, 0.55) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28) !important;
}

/* Background visibility 70% */
.clean-login-page::before,
.finance-boot::before {
    opacity: 0.70 !important;
    filter: saturate(1.08) contrast(1.08) !important;
}

.clean-login-page::after,
.finance-boot::after {
    background: rgba(0, 38, 58, 0.30) !important;
}

/* Premium dashboard v1 */
.premium-dashboard {
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.dash-hero {
    border: 1px solid rgba(198,161,91,.32);
    background:
        radial-gradient(circle at top right, rgba(198,161,91,.18), transparent 28%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border-radius: 18px;
    padding: 26px;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 24px;
    box-shadow: 0 22px 60px rgba(0,0,0,.18);
}

.dash-eyebrow {
    color: #c6a15b;
    text-transform: uppercase;
    letter-spacing: .22em;
    font-size: 12px;
    margin-bottom: 10px;
}

.dash-hero h2 {
    margin: 0;
    font-size: 32px;
    color: #fff;
}

.dash-hero p {
    max-width: 760px;
    color: rgba(255,255,255,.68);
    margin: 10px 0 0;
}

.dash-hero-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.premium-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.premium-kpi-card {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(198,161,91,.32);
    background: linear-gradient(180deg, rgba(255,255,255,.072), rgba(255,255,255,.026));
    border-radius: 16px;
    padding: 18px;
    min-height: 116px;
    box-shadow: 0 18px 45px rgba(0,0,0,.16);
}

.premium-kpi-card::after {
    content: "";
    position: absolute;
    right: -42px;
    bottom: -48px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(198,161,91,.18), transparent 68%);
}

.premium-kpi-card span {
    display: block;
    color: rgba(255,255,255,.58);
    font-size: 11px;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.premium-kpi-card strong {
    display: block;
    margin-top: 12px;
    color: #fff;
    font-size: 24px;
    line-height: 1.08;
}

.premium-kpi-card em {
    display: block;
    margin-top: 8px;
    color: #c6a15b;
    font-size: 12px;
    font-style: normal;
}

.premium-kpi-card.danger em,
.text-danger {
    color: #ffb8a6 !important;
}

.premium-kpi-card.gold {
    border-color: rgba(198,161,91,.56);
}

.premium-progress-card,
.premium-panel {
    border: 1px solid rgba(198,161,91,.32);
    background: linear-gradient(180deg, rgba(255,255,255,.068), rgba(255,255,255,.025));
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 20px 55px rgba(0,0,0,.16);
}

.progress-head,
.panel-title-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.progress-head h3,
.panel-title-row h3 {
    margin: 0;
    color: #fff;
    font-size: 21px;
}

.progress-head p,
.panel-title-row p {
    margin: 7px 0 0;
    color: rgba(255,255,255,.62);
    font-size: 13px;
}

.progress-head strong {
    color: #c6a15b;
    font-size: 30px;
}

.premium-progress {
    height: 14px;
    background: rgba(255,255,255,.08);
    border-radius: 999px;
    overflow: hidden;
    border: 1px solid rgba(198,161,91,.18);
}

.premium-progress span {
    height: 100%;
    display: block;
    background: linear-gradient(90deg, #c6a15b, #f0d18a);
    border-radius: 999px;
}

.dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(340px, .7fr);
    gap: 18px;
}

.dashboard-columns.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.panel-chip {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(198,161,91,.42);
    color: #c6a15b;
    border-radius: 999px;
    padding: 7px 10px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
    white-space: nowrap;
}

.panel-chip.success {
    color: #cfeac4;
    border-color: rgba(126,163,111,.45);
}

.panel-chip.danger {
    color: #ffb8a6;
    border-color: rgba(255,184,166,.40);
}

.bar-chart {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
    height: 280px;
    align-items: end;
}

.bar-item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
}

.bar-track {
    height: 190px;
    width: 100%;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(198,161,91,.18);
    border-radius: 999px;
    display: flex;
    align-items: end;
    overflow: hidden;
}

.bar-track span {
    display: block;
    width: 100%;
    background: linear-gradient(180deg, #f0d18a, #c6a15b);
    border-radius: 999px;
}

.bar-item small {
    color: rgba(255,255,255,.65);
    font-size: 11px;
    white-space: nowrap;
}

.bar-item em {
    color: #c6a15b;
    font-style: normal;
    font-size: 10px;
    white-space: nowrap;
    transform: rotate(-18deg);
}

.control-list,
.risk-stack {
    display: grid;
    gap: 12px;
}

.control-list div,
.risk-stack div {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(198,161,91,.14);
}

.control-list span,
.risk-stack span {
    color: rgba(255,255,255,.62);
}

.control-list strong,
.risk-stack strong {
    color: #fff;
}

.building-list {
    display: grid;
    gap: 16px;
}

.building-row {
    padding: 14px;
    border: 1px solid rgba(198,161,91,.20);
    border-radius: 14px;
    background: rgba(255,255,255,.025);
}

.building-row-head,
.building-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.building-row-head strong {
    color: #fff;
    font-size: 17px;
}

.building-row-head span {
    color: #c6a15b;
}

.building-bars {
    position: relative;
    height: 14px;
    margin: 12px 0;
    background: rgba(255,255,255,.075);
    border-radius: 999px;
    overflow: hidden;
}

.building-bars .total {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: rgba(198,161,91,.18);
}

.building-bars .collected {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background: linear-gradient(90deg, #c6a15b, #f0d18a);
}

.building-meta {
    color: rgba(255,255,255,.64);
    font-size: 12px;
}

.building-meta .risk {
    color: #ffb8a6;
}

.premium-table-wrap {
    border-radius: 14px;
    overflow: auto;
    border-color: rgba(198,161,91,.20);
}

.premium-table-wrap table {
    min-width: 720px;
}

.premium-table-wrap a,
.mini-list-item a {
    color: #e3c795;
}

.mini-list {
    display: grid;
    gap: 10px;
}

.mini-list-item {
    display: grid;
    gap: 4px;
    padding: 13px;
    border: 1px solid rgba(198,161,91,.18);
    background: rgba(255,255,255,.025);
    border-radius: 12px;
    text-decoration: none;
}

.mini-list-item strong {
    color: #fff;
}

.mini-list-item span {
    color: rgba(255,255,255,.68);
    font-size: 13px;
}

.mini-list-item em {
    color: #c6a15b;
    font-style: normal;
    font-size: 12px;
}

.empty-note {
    color: rgba(255,255,255,.6);
    border: 1px dashed rgba(198,161,91,.25);
    border-radius: 12px;
    padding: 14px;
}

@media (max-width: 1400px) {
    .premium-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .dashboard-columns,
    .dashboard-columns.three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 800px) {
    .dash-hero,
    .progress-head,
    .panel-title-row {
        flex-direction: column;
    }

    .premium-kpi-grid {
        grid-template-columns: 1fr;
    }

    .bar-chart {
        overflow-x: auto;
        grid-template-columns: repeat(12, 62px);
    }
}

/* Dashboard table readability */
.premium-dashboard .premium-table-wrap table {
    min-width: 100% !important;
}

.premium-dashboard .premium-table-wrap th,
.premium-dashboard .premium-table-wrap td {
    white-space: normal !important;
    vertical-align: top;
    line-height: 1.45;
}

.premium-dashboard .premium-table-wrap .nowrap {
    white-space: nowrap !important;
}

.premium-dashboard .dashboard-columns .premium-panel.wide {
    grid-column: auto;
}

.premium-dashboard .mini-list-item {
    min-height: auto !important;
}

.premium-dashboard .premium-panel {
    overflow: hidden;
}

/* Bible Price Engine dashboard section */
.bible-price-engine {
    border-color: rgba(198,161,91,.45);
}

.cbu-rate-box {
    min-width: 220px;
    border: 1px solid rgba(198,161,91,.42);
    border-radius: 14px;
    padding: 14px 16px;
    background: rgba(198,161,91,.08);
    text-align: right;
}

.cbu-rate-box span {
    display: block;
    color: rgba(255,255,255,.62);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .15em;
}

.cbu-rate-box strong {
    display: block;
    margin-top: 6px;
    color: #fff;
    font-size: 22px;
}

.cbu-rate-box em {
    display: block;
    color: #c6a15b;
    font-style: normal;
    margin-top: 4px;
    font-size: 12px;
}

.bible-engine-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.bible-engine-card {
    border: 1px solid rgba(198,161,91,.28);
    border-radius: 16px;
    padding: 18px;
    background:
        radial-gradient(circle at top right, rgba(198,161,91,.13), transparent 35%),
        rgba(255,255,255,.032);
}

.bible-engine-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.bible-engine-head span {
    display: block;
    color: #c6a15b;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .18em;
}

.bible-engine-head strong {
    display: block;
    color: #fff;
    font-size: 22px;
    margin-top: 5px;
}

.bible-engine-head em {
    color: rgba(255,255,255,.62);
    font-style: normal;
    font-size: 12px;
    white-space: nowrap;
}

.bible-price-main {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-bottom: 16px;
}

.bible-price-main div {
    border: 1px solid rgba(198,161,91,.20);
    border-radius: 12px;
    padding: 12px;
    background: rgba(0,38,58,.35);
}

.bible-price-main span,
.bible-engine-meta span {
    display: block;
    color: rgba(255,255,255,.62);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.bible-price-main strong {
    display: block;
    color: #fff;
    margin-top: 6px;
    font-size: 20px;
}

.bible-engine-progress {
    margin-bottom: 16px;
}

.bible-engine-progress-head {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: rgba(255,255,255,.65);
    font-size: 12px;
    margin-bottom: 8px;
}

.premium-progress.mini {
    height: 9px;
}

.bible-engine-meta {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.bible-engine-meta div {
    border-top: 1px solid rgba(198,161,91,.16);
    padding-top: 10px;
}

.bible-engine-meta strong {
    display: block;
    color: #fff;
    margin-top: 5px;
    font-size: 13px;
}

@media (max-width: 1500px) {
    .bible-engine-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 800px) {
    .bible-engine-grid {
        grid-template-columns: 1fr;
    }

    .cbu-rate-box {
        text-align: left;
        width: 100%;
    }
}

/* Header live CBU rate */
.top-cbu-rate {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(198, 161, 91, 0.45);
    background: rgba(198, 161, 91, 0.08);
    border-radius: 10px;
    padding: 7px 10px;
    color: #ffffff;
    white-space: nowrap;
}

.top-cbu-rate span {
    color: #c6a15b;
    font-size: 10px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.top-cbu-rate strong {
    color: #ffffff;
    font-size: 13px;
}

.top-cbu-rate em {
    color: rgba(255,255,255,.62);
    font-size: 11px;
    font-style: normal;
}

/* Remove old board intro after CBU moved to header */
.dash-hero {
    display: none !important;
}

/* Hide old technical Bible control counter card */
.premium-dashboard .premium-panel:has(.control-list) {
    display: none !important;
}

/* CBU is now in header, so no need inside Bible section */
.bible-price-engine .cbu-rate-box {
    display: none !important;
}

/* Make first dashboard content start cleaner */
.premium-dashboard {
    gap: 18px;
}

@media (max-width: 1100px) {
    .top-cbu-rate {
        order: 10;
        width: 100%;
        justify-content: space-between;
    }
}

/* Force LIVE CBU rate in header */
.top-cbu-rate {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid rgba(198, 161, 91, 0.50) !important;
    background: rgba(198, 161, 91, 0.10) !important;
    border-radius: 10px !important;
    padding: 8px 11px !important;
    color: #ffffff !important;
    white-space: nowrap !important;
    height: 38px !important;
    box-sizing: border-box !important;
}

.top-cbu-rate span {
    color: #c6a15b !important;
    font-size: 10px !important;
    letter-spacing: 0.14em !important;
    text-transform: uppercase !important;
}

.top-cbu-rate strong {
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

.top-cbu-rate em {
    color: rgba(255,255,255,.62) !important;
    font-size: 11px !important;
    font-style: normal !important;
}

@media (max-width: 1300px) {
    .top-cbu-rate em {
        display: none !important;
    }
}

/* Monthly collections + management alerts side-by-side */
.premium-dashboard > .dashboard-columns:has(.monthly-chart) {
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr) !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .premium-panel {
    grid-column: auto !important;
}

.monthly-chart {
    min-height: 245px !important;
    height: 245px !important;
}

.monthly-chart .bar-track {
    height: 155px !important;
}

.management-alerts-card {
    min-height: 245px !important;
}

.alert-list {
    display: grid;
    gap: 10px;
}

.alert-row {
    border: 1px solid rgba(198,161,91,.22);
    background: rgba(255,255,255,.026);
    border-radius: 12px;
    padding: 12px 14px;
}

.alert-row span {
    display: block;
    color: rgba(255,255,255,.62);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .12em;
}

.alert-row strong {
    display: block;
    color: #ffffff;
    font-size: 20px;
    margin-top: 5px;
}

.alert-row em {
    display: block;
    color: #c6a15b;
    font-style: normal;
    font-size: 12px;
    margin-top: 4px;
}

.alert-row.danger strong,
.alert-row.danger em {
    color: #ffb8a6;
}

@media (max-width: 1200px) {
    .premium-dashboard > .dashboard-columns:has(.monthly-chart) {
        grid-template-columns: 1fr !important;
    }
}

/* Compact dashboard cards: Monthly collections + Management alerts */
.premium-dashboard > .dashboard-columns:has(.monthly-chart) {
    grid-template-columns: minmax(0, 1.2fr) minmax(360px, .8fr) !important;
    align-items: stretch !important;
    gap: 14px !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .premium-panel {
    padding: 16px 18px !important;
    border-radius: 14px !important;
    min-height: auto !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .panel-title-row {
    margin-bottom: 10px !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .panel-title-row h3 {
    font-size: 19px !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .panel-title-row p {
    font-size: 12px !important;
    margin-top: 4px !important;
}

/* Smaller monthly chart */
.monthly-chart {
    height: 185px !important;
    min-height: 185px !important;
    gap: 8px !important;
}

.monthly-chart .bar-track {
    height: 115px !important;
}

.monthly-chart .bar-item small {
    font-size: 10px !important;
}

.monthly-chart .bar-item em {
    font-size: 9px !important;
}

/* Compact Management Alerts */
.management-alerts-card {
    min-height: auto !important;
}

.management-alerts-card .alert-list {
    gap: 7px !important;
}

.management-alerts-card .alert-row {
    padding: 8px 11px !important;
    border-radius: 10px !important;
}

.management-alerts-card .alert-row span {
    font-size: 9px !important;
    letter-spacing: .13em !important;
}

.management-alerts-card .alert-row strong {
    font-size: 16px !important;
    margin-top: 3px !important;
}

.management-alerts-card .alert-row em {
    font-size: 11px !important;
    margin-top: 2px !important;
}

/* Make next sections closer */
.premium-dashboard {
    gap: 14px !important;
}

.dashboard-columns {
    gap: 14px !important;
}

.premium-panel {
    padding: 18px !important;
}

/* Restore clean dashboard spacing after compact cards */
.content {
    padding-top: 26px !important;
    padding-bottom: 40px !important;
}

.premium-dashboard {
    gap: 24px !important;
}

.premium-dashboard > section,
.premium-dashboard > .dashboard-columns {
    margin-bottom: 0 !important;
}

.dashboard-columns {
    gap: 24px !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

/* Keep monthly + alerts compact, but not squeezed */
.premium-dashboard > .dashboard-columns:has(.monthly-chart) {
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr) !important;
    gap: 24px !important;
    align-items: stretch !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .premium-panel {
    padding: 18px 20px !important;
    border-radius: 16px !important;
}

/* Monthly chart compact but readable */
.monthly-chart {
    height: 215px !important;
    min-height: 215px !important;
}

.monthly-chart .bar-track {
    height: 135px !important;
}

/* Management alerts compact */
.management-alerts-card .alert-list {
    gap: 9px !important;
}

.management-alerts-card .alert-row {
    padding: 10px 12px !important;
}

/* Restore spacing between Building performance and following tables */
.premium-dashboard .premium-panel {
    margin: 0 !important;
}

.premium-dashboard .premium-table-wrap {
    margin-top: 16px !important;
}

/* Better visual separation */
.premium-progress-card,
.premium-panel,
.bible-price-engine,
.premium-kpi-card {
    box-shadow: 0 18px 45px rgba(0,0,0,.14) !important;
}

/* If browser keeps old scroll position, prevent header from covering content */
.topbar {
    z-index: 50 !important;
}

@media (max-width: 1200px) {
    .premium-dashboard > .dashboard-columns:has(.monthly-chart) {
        grid-template-columns: 1fr !important;
    }
}

/* FINAL dashboard spacing fix */
.content {
    padding: 28px 28px 48px 28px !important;
}

.premium-dashboard {
    display: block !important;
}

.premium-dashboard > section,
.premium-dashboard > .dashboard-columns,
.premium-dashboard > div {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

.premium-dashboard > section:last-child,
.premium-dashboard > .dashboard-columns:last-child,
.premium-dashboard > div:last-child {
    margin-bottom: 0 !important;
}

/* Space between cards inside two-column rows */
.dashboard-columns {
    display: grid !important;
    gap: 28px !important;
    margin-bottom: 28px !important;
}

/* Monthly + Management alerts row */
.premium-dashboard > .dashboard-columns:has(.monthly-chart) {
    grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr) !important;
    gap: 28px !important;
    margin-bottom: 28px !important;
}

/* Restore clean card breathing room */
.premium-panel,
.premium-progress-card,
.bible-price-engine {
    padding: 22px !important;
    border-radius: 18px !important;
}

/* Keep Monthly and Alerts compact but with proper spacing */
.premium-dashboard > .dashboard-columns:has(.monthly-chart) .premium-panel {
    padding: 20px 22px !important;
}

.monthly-chart {
    height: 205px !important;
    min-height: 205px !important;
}

.monthly-chart .bar-track {
    height: 125px !important;
}

.management-alerts-card .alert-list {
    gap: 10px !important;
}

.management-alerts-card .alert-row {
    padding: 10px 12px !important;
}

/* Bible Price Engine should not touch anything */
.bible-price-engine {
    margin-top: 0 !important;
    margin-bottom: 28px !important;
}

/* KPI row and collection progress spacing */
.premium-kpi-grid {
    margin-bottom: 28px !important;
    gap: 18px !important;
}

.premium-progress-card {
    margin-bottom: 28px !important;
}

/* Building performance row spacing */
.premium-dashboard .building-list {
    gap: 16px !important;
}

@media (max-width: 1200px) {
    .premium-dashboard > .dashboard-columns:has(.monthly-chart),
    .dashboard-columns {
        grid-template-columns: 1fr !important;
    }
}

/* Dashboard layout polish: stop cards from stretching and remove duplicated empty blocks */
.content {
    padding: 28px 28px 56px 28px !important;
}

.premium-dashboard {
    display: flex !important;
    flex-direction: column !important;
    gap: 26px !important;
}

/* Good space between grid cards */
.dashboard-columns {
    display: grid !important;
    gap: 26px !important;
    align-items: start !important;
}

/* Stop right/left panels from becoming same huge height */
.dashboard-columns > .premium-panel {
    align-self: start !important;
}

/* Monthly + Management alerts should stay side by side and compact */
.premium-dashboard > .dashboard-columns:has(.monthly-chart) {
    grid-template-columns: minmax(0, 1.18fr) minmax(420px, .82fr) !important;
    gap: 26px !important;
    align-items: start !important;
}

.premium-dashboard > .dashboard-columns:has(.monthly-chart) .premium-panel {
    min-height: auto !important;
}

/* Compact monthly chart but keep it readable */
.monthly-chart {
    height: 230px !important;
    min-height: 230px !important;
    gap: 9px !important;
}

.monthly-chart .bar-track {
    height: 145px !important;
}

/* Management alerts compact */
.management-alerts-card .alert-list {
    gap: 9px !important;
}

.management-alerts-card .alert-row {
    padding: 10px 12px !important;
    min-height: auto !important;
}

.management-alerts-card .alert-row strong {
    font-size: 17px !important;
}

/* Hide duplicate cards already covered by Management alerts */
.premium-panel:has(h3:contains("Immediate risk")) {
    display: none !important;
}

/* Browser fallback: hide Immediate risk by common structure if CSS contains unsupported */
.dashboard-columns > .premium-panel:has(.risk-stack):not(.management-alerts-card) {
    display: none !important;
}

/* Hide duplicated Finance action summary because Management alerts is better */
.premium-panel:has(h3:contains("Finance action summary")) {
    display: none !important;
}

/* Make Building performance use full width when Immediate risk is hidden */
.dashboard-columns:has(.building-list) {
    grid-template-columns: 1fr !important;
}

/* Building performance more compact */
.building-list {
    gap: 12px !important;
}

.building-row {
    padding: 12px 14px !important;
}

.building-bars {
    height: 11px !important;
    margin: 9px 0 !important;
}

.building-row-head strong {
    font-size: 16px !important;
}

.building-row-head span {
    font-size: 15px !important;
}

/* No payment table full width and clean */
.premium-panel:has(h3:contains("Contracts with no payment")) {
    grid-column: 1 / -1 !important;
}

/* If table/panel has few rows, do not create large empty area */
.premium-table-wrap {
    max-height: none !important;
}

.premium-panel:has(td[colspan]) {
    min-height: auto !important;
}

/* Top overdue and largest unpaid balances should not stretch each other */
.dashboard-columns:has(h3:contains("Top overdue contracts")),
.dashboard-columns:has(h3:contains("Largest unpaid balances")) {
    align-items: start !important;
}

/* If Top overdue is empty, make it compact */
.premium-panel:has(h3:contains("Top overdue contracts")) {
    min-height: auto !important;
}

/* Largest unpaid balances table fit */
.premium-panel:has(h3:contains("Largest unpaid balances")) .premium-table-wrap {
    max-height: 360px !important;
    overflow: auto !important;
}

/* Recent panels should not become huge */
.dashboard-columns.three {
    align-items: start !important;
}

.dashboard-columns.three .premium-panel {
    min-height: auto !important;
}

.dashboard-columns.three .mini-list {
    max-height: 430px !important;
    overflow: auto !important;
}

/* General premium panels */
.premium-panel,
.premium-progress-card,
.bible-price-engine {
    padding: 22px !important;
    border-radius: 18px !important;
    margin: 0 !important;
}

/* KPI cards spacing */
.premium-kpi-grid {
    gap: 18px !important;
}

/* Responsive */
@media (max-width: 1300px) {
    .premium-dashboard > .dashboard-columns:has(.monthly-chart),
    .dashboard-columns,
    .dashboard-columns.three {
        grid-template-columns: 1fr !important;
    }
}
