:root{--navy:#1f3a5f;--fact:#2e6fb5;--fridge:#1e8c7e;--due:#c0392b;--bg:#f3f5f8;--line:#dde3ea}
body{font-family:Cairo,system-ui,sans-serif;background:var(--bg);color:#1d2733;font-size:15px}
.app-nav{background:var(--navy)}
.app-nav .nav-link{font-weight:600}
.card{border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card-header{background:#fff;font-weight:700;border-bottom:1px solid var(--line)}
.kpi{border-radius:12px;padding:14px 16px;background:#fff;border:1px solid var(--line);height:100%}
.kpi .lbl{color:#5b6573;font-size:.85rem}
.kpi .val{font-size:1.45rem;font-weight:700;font-variant-numeric:tabular-nums}
.kpi.due .val{color:var(--due)}
.kpi.fact{border-top:4px solid var(--fact)} .kpi.fridge{border-top:4px solid var(--fridge)} .kpi.total{border-top:4px solid var(--due)}
.sec-fact{color:var(--fact)} .sec-fridge{color:var(--fridge)}
.badge-fact{background:var(--fact)} .badge-fridge{background:var(--fridge)}
.table{font-variant-numeric:tabular-nums}
.table thead th{background:#eef2f7;font-weight:700;font-size:.85rem;white-space:nowrap;vertical-align:middle}
.table td{vertical-align:middle}
.table tfoot td{font-weight:700;background:#f6f8fb}
.num{text-align:left!important;white-space:nowrap}
td.num,div.num,b.num{direction:ltr;unicode-bidi:isolate}
.kpi .val.num{text-align:right!important}
.void-row td{text-decoration:line-through;color:#9aa3ad}
.method-box{background:#f0f8f7;border:1px dashed var(--fridge);border-radius:10px;padding:12px 14px;font-size:.9rem}
.form-hint{font-size:.8rem;color:#6b7684}
.calc-preview{background:#fff8e1;border-radius:8px;padding:10px 14px;font-weight:700}
.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1f3a5f,#1e8c7e)}
.login-card{width:100%;max-width:400px}
.nav-tabs .nav-link{font-weight:600}
@media print{.no-print,.nav-tabs,.btn{display:none!important}body{background:#fff;font-size:12px}.card{border:none;box-shadow:none}.tab-pane{display:block!important;opacity:1!important}main{padding:0!important}}
