:root{--primary:#075985;--primary2:#0e7490;--ink:#172033;--muted:#64748b;--bg:#f4f7f9;--line:#dfe7ec;--white:#fff;--danger:#b91c1c;--shadow:0 8px 24px rgba(15,50,70,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.45 Inter,Segoe UI,Arial,sans-serif}a{color:var(--primary);text-decoration:none}button,input,select,textarea{font:inherit}.sidebar{position:fixed;inset:0 auto 0 0;width:245px;background:#06364d;color:#dcecf2;padding:28px 18px;display:flex;flex-direction:column;z-index:20}.brand{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.15;margin:0 10px 34px}.brand-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#dff7f4;color:#075985;font-weight:900;letter-spacing:-1px}.brand-mark.large{width:68px;height:68px;font-size:24px}.sidebar nav{display:grid;gap:7px}.sidebar nav a{color:#c8dce4;padding:12px 13px;border-radius:10px}.sidebar nav a:hover,.sidebar nav a.active{background:#0d506b;color:#fff}.user-box{margin-top:auto;padding:16px 12px 0;border-top:1px solid #376278;display:grid;gap:2px}.user-box small{color:#92b8c8}.link{background:none;border:0;color:#b8d8e4;padding:6px 0;cursor:pointer;text-align:left}main{margin-left:245px;padding:28px 36px 60px;max-width:1600px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:25px}.topbar h1{margin:0;font-size:27px}.topbar p{margin:4px 0;color:var(--muted)}.online{color:#476274;font-size:13px}.online i{display:inline-block;width:8px;height:8px;background:#22c55e;border-radius:50%;margin-right:6px}.mobile-toggle{display:none}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:18px}.kpis article,.card,.table-card{background:var(--white);border:1px solid var(--line);border-radius:15px;box-shadow:var(--shadow)}.kpis article{padding:20px}.kpis span{display:block;color:var(--muted);font-size:13px}.kpis strong{display:block;font-size:26px;margin:7px 0}.kpis small{color:#708596}.kpis .warning{border-left:4px solid #eab308}.grid{display:grid;gap:18px;margin-bottom:18px}.grid.two{grid-template-columns:1fr 1fr}.card{padding:22px;margin-bottom:18px}.card h2{font-size:17px;margin:0 0 8px}.card p{color:var(--muted);margin:3px 0}.card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px}.priority-list{display:grid;gap:14px}.priority-list div{display:grid;grid-template-columns:1fr auto;gap:4px 12px}.priority-list i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px}.priority-list meter{grid-column:1/3;width:100%;height:7px}.mini-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mini-kpis div{background:#f7fafb;border:1px solid var(--line);padding:16px;border-radius:11px}.mini-kpis strong,.mini-kpis span{display:block}.mini-kpis strong{font-size:23px}.mini-kpis span{font-size:12px;color:var(--muted)}.alert-list>a{display:grid;grid-template-columns:110px 1fr auto;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line);color:var(--ink)}.alert-list small,table small{display:block;color:var(--muted);margin-top:3px}.badge{display:inline-block;color:var(--badge);background:color-mix(in srgb,var(--badge) 12%,white);border:1px solid color-mix(in srgb,var(--badge) 25%,white);padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700}.review{display:inline-block;color:#9a6700;background:#fff7d6;border:1px solid #f4d46a;padding:3px 7px;border-radius:6px;font-size:11px;font-style:normal;margin-top:5px}.actions{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.filters{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.filters input[name=search]{min-width:270px}.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bfcdd5;background:#fff;color:#234252;border-radius:9px;padding:9px 14px;cursor:pointer;font-weight:650}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn.danger{color:var(--danger);border-color:#f0b7b7}.wide{width:100%}input,select,textarea{width:100%;background:#fff;border:1px solid #bdcbd4;border-radius:9px;padding:10px 11px;color:var(--ink)}input:focus,select:focus,textarea:focus{outline:3px solid #bae6fd;border-color:#0284c7}.check{display:flex!important;align-items:center;gap:7px}.check input{width:auto}.table-card{overflow:auto}.table-card.flat{box-shadow:none;border-radius:10px}table{width:100%;border-collapse:collapse;min-width:860px}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#607585;background:#f8fafb}th,td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}.right{text-align:right}.icon-btn{display:grid;place-items:center;width:31px;height:31px;background:#eaf4f7;border-radius:8px}.empty{text-align:center;color:var(--muted);padding:30px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.form-grid label,.upload label{display:grid;gap:6px;color:#405667;font-weight:600;font-size:13px}.form-grid .span{grid-column:1/3}.form-actions{display:flex;justify-content:flex-end;gap:9px}.detail-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}dl{display:grid;grid-template-columns:135px 1fr;margin:0}dt,dd{padding:9px 0;border-bottom:1px solid var(--line)}dt{color:var(--muted)}dd{margin:0}.money-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.money-grid div{background:#f7fafb;border-radius:10px;padding:13px}.money-grid span,.money-grid strong{display:block}.money-grid span{font-size:12px;color:var(--muted)}.money-grid strong{font-size:18px;margin-top:4px}.money-grid .featured{grid-column:1/3;background:#e9f6f8}.invoice-list>div{display:grid;grid-template-columns:1fr 140px 150px;padding:11px 0;border-top:1px solid var(--line)}.invoice-list b{text-align:right}.inline-form{display:grid;grid-template-columns:1fr 140px 160px 1fr 1fr auto;gap:8px;margin-top:17px}.upload{display:grid;gap:16px}.dropzone{padding:28px;border:2px dashed #9db6c3;border-radius:12px;text-align:center;background:#f8fbfc}.rules{padding-left:19px;line-height:2}.flash{padding:12px 15px;border-radius:10px;margin-bottom:15px}.flash.success{background:#dcfce7;color:#166534}.flash.error,.field-error{background:#fee2e2;color:#991b1b}.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#e7f4f5,#f8fbfc);padding:20px}.login-panel{display:grid;grid-template-columns:1fr 1fr;max-width:850px;width:100%;min-height:500px;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 25px 65px rgba(5,58,78,.16)}.login-hero{background:linear-gradient(145deg,#06364d,#08708a);color:#fff;padding:55px;display:flex;flex-direction:column;justify-content:center}.login-hero h1{font-size:31px;margin:22px 0 10px}.login-hero p{color:#c4e1e9}.security-note{margin-top:55px;font-size:13px;color:#cde7ec}.login-form{padding:55px;display:flex;flex-direction:column;justify-content:center;gap:15px}.login-form h2{font-size:27px;margin:0}.login-form>p{margin:0 0 12px;color:var(--muted)}.login-form label:not(.check){display:grid;gap:6px;font-weight:600}.demo{color:var(--muted);text-align:center}.field-error{padding:8px;border-radius:7px}.pagination nav>div:first-child{display:none}.pagination svg{width:18px}.pagination nav>div:last-child{display:flex;justify-content:space-between;align-items:center}.pagination span[aria-current] span,.pagination a{display:inline-block;padding:6px 9px;background:#fff;border:1px solid var(--line)}code{background:#edf2f5;padding:2px 5px;border-radius:4px}@media(max-width:1050px){.kpis{grid-template-columns:1fr 1fr}.inline-form{grid-template-columns:1fr 1fr}.inline-form button{grid-column:1/3}.sidebar{transform:translateX(-100%);transition:.2s}.menu-open .sidebar{transform:none}.mobile-toggle{display:block;position:fixed;top:17px;left:16px;z-index:30;border:0;background:#06364d;color:#fff;border-radius:9px;padding:8px 11px}main{margin-left:0;padding:24px 22px}.topbar{padding-left:45px}}@media(max-width:700px){main{padding:18px 13px 50px}.topbar{align-items:flex-start}.online{display:none}.topbar h1{font-size:22px}.kpis,.grid.two,.form-grid{grid-template-columns:1fr}.form-grid .span{grid-column:1}.actions{align-items:stretch;flex-direction:column}.filters{display:grid;grid-template-columns:1fr 1fr}.filters input[name=search]{min-width:0;grid-column:1/3}.table-card{background:transparent;border:0;box-shadow:none;overflow:visible}table{min-width:0}thead{display:none}tbody,tr,td{display:block}tr{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;padding:12px;box-shadow:var(--shadow)}td{border:0;padding:5px 0 5px 42%;position:relative;text-align:left!important}td:before{content:attr(data-label);position:absolute;left:0;width:39%;color:var(--muted);font-size:12px}.grid .table-card table tr{padding:0}.grid .table-card td{padding-left:5px}.login-panel{grid-template-columns:1fr}.login-hero{display:none}.login-form{padding:38px 28px}.mini-kpis,.money-grid{grid-template-columns:1fr}.money-grid .featured{grid-column:1}.alert-list>a{grid-template-columns:1fr}.alert-list b{font-size:12px}.invoice-list>div{grid-template-columns:1fr auto}.invoice-list span{grid-row:2}.inline-form{grid-template-columns:1fr}.inline-form button{grid-column:1}.filters select{min-width:0}dl{grid-template-columns:1fr}dt{padding-bottom:0;border:0}dd{padding-top:2px}}

html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

body > main {
    margin-left: 245px;
    width: calc(100vw - 245px);
    max-width: none;
    padding: 28px 36px 60px;
    min-width: 0;
    overflow-x: hidden;
}

main > *,
.grid,
.card,
.table-card,
.invoice-list,
.invoice-list > div,
dl,
dd {
    min-width: 0;
}

.grid.two {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

dl {
    grid-template-columns: 135px minmax(0, 1fr);
}

dd,
.invoice-list strong,
.card p,
.card h2 {
    overflow-wrap: anywhere;
}

.invoice-list > div {
    grid-template-columns: minmax(0, 1fr) 140px 150px;
}

.inline-form {
    grid-template-columns: minmax(120px, 1fr) 140px 160px minmax(150px, 1fr) minmax(140px, 1fr) auto;
    min-width: 0;
}

.inline-form > * {
    min-width: 0;
    max-width: 100%;
}

@media (max-width: 1450px) {
    .detail-head + .grid.two {
        grid-template-columns: 1fr;
    }

    .inline-form {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .inline-form button {
        grid-column: 1 / 3;
    }
}

@media (max-width: 1050px) {
    body > main {
        margin-left: 0;
        width: 100%;
        padding: 24px 22px;
    }
}

@media (max-width: 700px) {
    body > main {
        padding: 18px 13px 50px;
    }

    dl,
    .invoice-list > div,
    .inline-form {
        grid-template-columns: 1fr;
    }

    .inline-form button {
        grid-column: 1;
    }

    .invoice-list b {
        text-align: left;
    }
}
