:root{--navy:#07182d;--blue:#1769d1;--bg:#f3f6fa;--ink:#162235;--muted:#68758a;--line:#dce3ec;--green:#14804a;--amber:#a05c00;--red:#b42318}*{box-sizing:border-box}body{margin:0;font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--bg)}aside{position:fixed;inset:0 auto 0 0;width:250px;background:var(--navy);color:#fff;padding:26px 18px;display:flex;flex-direction:column;z-index:4}.brand{font-size:20px;font-weight:800;letter-spacing:1px;padding:0 10px 28px}.brand small{font-size:11px;color:#9bb6d8}.brand span{display:block;margin-top:12px;font-size:8px;line-height:1.5;color:#85a0c0;letter-spacing:1.4px}nav{display:grid;gap:4px}nav a,.signout{color:#b8c7da;text-decoration:none;padding:10px 12px;border-radius:7px}nav a:hover,nav a.active{background:#12335c;color:#fff}.signout{margin-top:auto}.workspace{margin-left:250px;min-height:100vh}.workspace>header{height:64px;padding:0 28px;display:flex;justify-content:space-between;align-items:center;background:#fff;border-bottom:1px solid var(--line);color:var(--muted)}.content{padding:28px;max-width:1500px}.menu{display:none}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 2px 8px #10233a0a}.card small{display:block;color:var(--muted);font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.5px}.card strong{display:block;font-size:24px;margin-top:8px}.panel{margin-top:18px;overflow:auto}.panel h1,.panel h2{margin-top:0}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:16px}.btn,button{display:inline-block;background:var(--blue);color:#fff;border:0;border-radius:7px;padding:10px 15px;text-decoration:none;cursor:pointer;font-weight:650}.btn.secondary{background:#eaf1fb;color:#164f99}.btn.danger{background:var(--red)}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px 10px;border-bottom:1px solid #e7ecf2}th{font-size:11px;text-transform:uppercase;color:var(--muted)}td a{color:#125cb6;text-decoration:none}.badge{padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;background:#edf0f4;color:#596579}.badge.success{background:#e8f7ef;color:var(--green)}.badge.info{background:#e8f1fd;color:#175ba6}.badge.warning{background:#fff3dc;color:var(--amber)}.badge.danger{background:#feeceb;color:var(--red)}form.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}label{font-size:12px;font-weight:700;color:#4e5c70}input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px;border:1px solid #cdd6e1;border-radius:7px;background:#fff;color:var(--ink)}textarea{min-height:100px;resize:vertical}.wide{grid-column:1/-1}.actions{grid-column:1/-1;display:flex;gap:10px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin:0 0 18px;overflow:auto}.tabs a{padding:10px 14px;color:var(--muted);text-decoration:none}.tabs a.active{color:var(--blue);border-bottom:2px solid var(--blue)}.progress{height:10px;background:#e8edf3;border-radius:10px;overflow:hidden}.progress span{display:block;height:100%;background:var(--blue)}.alert{padding:12px 14px;border-radius:7px;margin-bottom:14px;background:#e8f1fd}.alert.error{background:#feeceb;color:var(--red)}.muted{color:var(--muted)}.empty{text-align:center;padding:35px;color:var(--muted)}.guest{min-height:100vh;padding:30px}.login-page{
background:#06162a;
min-height:100vh;
color:#fff;
display:grid;
place-items:center;
overflow:hidden;
position:relative
}
.login-page:before{
content:"";
position:absolute;
inset:0;
background:
linear-gradient(
90deg,
rgba(6,22,42,.58) 0%,
rgba(6,22,42,.68) 42%,
rgba(6,22,42,.88) 100%
),
url("/assets/images/login-bg.png");
background-size:cover;
background-position:center center;
background-repeat:no-repeat;
opacity:1
}.login-shell{position:relative;width:min(1050px,92vw);display:grid;grid-template-columns:1.4fr .7fr;gap:70px;align-items:center}.login-brand h1{
font-size:52px;
font-weight:800;
letter-spacing:3px;
margin:0;
line-height:1
}
.login-brand .azim{color:#fff}
.login-brand .logic{color:#2F8FFF}
.login-brand h1 small{
font-size:15px;
font-weight:600;
color:#ffffff;
vertical-align:super;
margin-left:4px;
letter-spacing:1px
opacity:.5;
position:relative;
top:+18px;
}.login-brand p{color:#C9D7E6;letter-spacing:2px}.concepts{display:flex;gap:20px;margin-top:55px;color:#58a6ff;font-size:11px;letter-spacing:1.4px}.login-box{background:#fff;color:var(--ink);padding:32px;border-radius:12px;box-shadow:0 30px 80px #0008}.login-box button{width:100%;margin-top:16px}.login-box h2{margin-top:0}.install{max-width:850px;margin:auto}.check{display:flex;justify-content:space-between;padding:8px;border-bottom:1px solid var(--line)}@media print{aside,header,.menu,.toolbar,.btn{display:none!important}.workspace{margin:0}.content{padding:0}}@media(max-width:1000px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){aside{transform:translateX(-100%);transition:.2s}.nav-open aside{transform:none}.workspace{margin-left:0}.menu{display:block;position:fixed;z-index:6;top:13px;left:12px}.workspace>header{padding-left:60px}.content{padding:16px}.grid{grid-template-columns:1fr}.login-shell{grid-template-columns:1fr;gap:25px}.login-brand h1{font-size:36px}.concepts{margin-top:20px;flex-wrap:wrap}form.form-grid{grid-template-columns:1fr}.wide,.actions{grid-column:auto}}
:is(button.secondary){background:#eaf1fb;color:#164f99}:is(button.danger){background:var(--red)}


/* =========================================================
   AZIMLOGIC EXECUTIVE DASHBOARD
   Presentation-only dashboard enhancements
   ========================================================= */

.dashboard-hero{
    position:relative;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
    padding:28px 30px;
    border-radius:16px;
    color:#fff;
    background:
        radial-gradient(circle at 85% 20%,rgba(47,143,255,.26),transparent 30%),
        linear-gradient(135deg,#07182d 0%,#0b2a4d 58%,#0d3c6d 100%);
    box-shadow:0 12px 32px rgba(7,24,45,.16);
}

.dashboard-hero::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        linear-gradient(90deg,transparent 0 67%,rgba(255,255,255,.03) 67% 68%,transparent 68%),
        linear-gradient(0deg,transparent 0 72%,rgba(255,255,255,.025) 72% 73%,transparent 73%);
}

.dashboard-hero>div,
.dashboard-hero>.btn{
    position:relative;
    z-index:1;
}

.dashboard-hero h1{
    margin:3px 0 3px;
    font-size:30px;
    line-height:1.15;
    letter-spacing:-.5px;
}

.dashboard-hero p{
    margin:0;
    color:#a9bdd4;
}

.dashboard-eyebrow,
.dashboard-panel-kicker{
    font-size:10px;
    font-weight:800;
    letter-spacing:1.5px;
    color:#66adff;
}

.dashboard-hero .btn.secondary{
    background:rgba(255,255,255,.10);
    border:1px solid rgba(255,255,255,.18);
    color:#fff;
    backdrop-filter:blur(8px);
}

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

.dashboard-kpi{
    position:relative;
    min-height:128px;
    display:flex;
    align-items:center;
    gap:17px;
    padding:21px;
    overflow:hidden;
    border:1px solid #dfe7f0;
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 18px rgba(15,35,60,.055);
    transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;
}

.dashboard-kpi:hover{
    transform:translateY(-2px);
    border-color:#cad9e9;
    box-shadow:0 12px 28px rgba(15,35,60,.09);
}

.dashboard-kpi::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:#2f8fff;
    opacity:.9;
}

.dashboard-kpi-icon{
    flex:0 0 48px;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    border-radius:13px;
    background:#eaf3ff;
    color:#1769d1;
}

.dashboard-kpi-icon svg{
    width:24px;
    height:24px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.dashboard-kpi-copy{
    min-width:0;
}

.dashboard-kpi small{
    display:block;
    margin-bottom:8px;
    color:#6e7e92;
    font-size:10px;
    font-weight:800;
    letter-spacing:.9px;
    text-transform:uppercase;
}

.dashboard-kpi strong{
    display:block;
    color:#10233a;
    font-size:25px;
    line-height:1.08;
    letter-spacing:-.45px;
    overflow-wrap:anywhere;
}

.dashboard-kpi.budget .dashboard-kpi-icon,
.dashboard-kpi.remaining .dashboard-kpi-icon{
    background:#e9f7f0;
    color:#14804a;
}

.dashboard-kpi.spend .dashboard-kpi-icon{
    background:#eaf3ff;
    color:#1769d1;
}

.dashboard-kpi.rfq .dashboard-kpi-icon{
    background:#fff4df;
    color:#a05c00;
}

.dashboard-kpi.accepted .dashboard-kpi-icon{
    background:#e9f7f0;
    color:#14804a;
}

.dashboard-row{
    margin-top:18px;
}

.dashboard-budget-panel{
    margin-top:0;
}

.dashboard-panel-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.dashboard-panel-head h2{
    margin:3px 0 0;
    font-size:20px;
}

.dashboard-percent{
    font-size:28px;
    line-height:1;
    color:#1769d1;
}

.dashboard-progress{
    height:14px;
}

.dashboard-budget-meta{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-top:18px;
}

.dashboard-budget-meta span{
    padding:14px 16px;
    border:1px solid #e6ecf3;
    border-radius:10px;
    background:#f8fafc;
}

.dashboard-budget-meta small{
    display:block;
    margin-bottom:5px;
    color:#758499;
    font-size:10px;
    font-weight:800;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.dashboard-budget-meta strong{
    font-size:18px;
    color:#10233a;
}

.dashboard-attention{
    margin-top:18px;
}

.dashboard-attention th{
    background:#f7f9fc;
}

.dashboard-attention tr:last-child td{
    border-bottom:0;
}

.dashboard-attention-pill{
    display:inline-flex;
    align-items:center;
    padding:5px 9px;
    border-radius:999px;
    background:#fff3dc;
    color:#8a5200;
    font-size:11px;
    font-weight:700;
}

.dashboard-all-clear{
    padding:24px;
    text-align:center;
    color:#14804a;
    font-weight:700;
}

@media(max-width:1150px){
    .dashboard-kpis{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}

@media(max-width:720px){
    .dashboard-hero{
        align-items:flex-start;
        flex-direction:column;
        padding:22px;
    }

    .dashboard-hero h1{
        font-size:25px;
    }

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

    .dashboard-kpi{
        min-height:105px;
    }

    .dashboard-budget-meta{
        grid-template-columns:1fr;
    }
}

/* Dashboard monetary KPI values: compact enough to keep large budgets on one line */
.dashboard-kpi strong.dashboard-money-value{
    font-size:21px;
    letter-spacing:-.55px;
    white-space:nowrap;
    overflow-wrap:normal;
}

/* =========================================================
   AZIMLOGIC AUTHORSHIP CREDIT
   ========================================================= */

.login-credit{
    position:absolute;
    left:0;
    right:0;
    bottom:18px;
    z-index:2;
    text-align:center;
    color:rgba(201,215,230,.48);
    font-size:14px;
    font-weight:500;
    letter-spacing:.65px;
}

.login-credit strong{
    color:#58a6ff;
    font-weight:700;
}

.sidebar-footer{
    margin-top:auto;
}

.sidebar-credit{
    margin:0 10px 10px;
    padding-top:12px;
    border-top:1px solid rgba(255,255,255,.08);
    color:#6f89a8;
    font-size:14px;
    line-height:1.45;
    letter-spacing:.35px;
}

.sidebar-credit strong{
    color:#58a6ff;
    font-weight:700;
}

.sidebar-footer .signout{
    display:block;
    margin-top:0;
}

@media(max-width:720px){
    .login-credit{
        bottom:10px;
        font-size:9px;
    }
}


/* =========================================================
   AZIMLOGIC BREADCRUMBS
   Forces breadcrumbs to remain on one horizontal line
   ========================================================= */

nav.breadcrumbs{
    display:flex !important;
    flex-direction:row !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:7px !important;
    width:auto !important;
    margin:0 0 14px !important;
    padding:0 !important;
    white-space:nowrap;
    font-size:12px;
    line-height:1.4;
    background:transparent !important;
}

nav.breadcrumbs > a,
nav.breadcrumbs > span{
    display:inline-flex !important;
    align-items:center;
    flex:0 0 auto !important;
    width:auto !important;
    margin:0 !important;
    padding:0 !important;
    border-radius:0 !important;
    background:transparent !important;
}

nav.breadcrumbs > a{
    color:#1769d1 !important;
    text-decoration:none;
    font-weight:600;
}

nav.breadcrumbs > a:hover{
    color:#125cb6 !important;
    text-decoration:underline;
    background:transparent !important;
}

nav.breadcrumbs > .breadcrumb-sep{
    color:#9aa7b7;
    font-weight:500;
}

nav.breadcrumbs > .breadcrumb-current{
    color:#68758a;
    font-weight:600;
}

@media(max-width:720px){
    nav.breadcrumbs{
        overflow-x:auto;
        padding-bottom:2px !important;
    }
}
