/* Brand: deep maroon #580508. One accent colour; everything else is neutral. */
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-display:swap;src:url("../vendor/fonts/ibm-plex-sans-arabic-arabic-400-normal.4fa3d81d41ab.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:500;font-display:swap;src:url("../vendor/fonts/ibm-plex-sans-arabic-arabic-500-normal.106892212ea7.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:600;font-display:swap;src:url("../vendor/fonts/ibm-plex-sans-arabic-arabic-600-normal.64891a810259.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:700;font-display:swap;src:url("../vendor/fonts/ibm-plex-sans-arabic-arabic-700-normal.a4390abc98c2.woff2") format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:400;font-display:swap;src:url("../vendor/fonts/ibm-plex-sans-arabic-latin-400-normal.4767e1197706.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-weight:600;font-display:swap;src:url("../vendor/fonts/ibm-plex-sans-arabic-latin-600-normal.f417eeb0d15e.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --brand:#580508; --brand-deep:#3a0305; --brand-soft:#f3e7e7;
  --ink:#241c1c; --muted:#6f6564; --paper:#f6f4f3; --line:#e2dcdb; --panel:#fff;
  --bs-primary:#580508; --bs-primary-rgb:88,5,8; --bs-link-color:#580508; --bs-link-hover-color:#3a0305;
  --bs-body-font-family:"IBM Plex Sans Arabic",system-ui,"Segoe UI",Tahoma,sans-serif;
  --bs-body-color:var(--ink); --bs-body-bg:var(--paper); --bs-border-color:var(--line);
  --sidebar-w:248px;
}
body{font-size:.95rem;line-height:1.7}
.btn-primary{--bs-btn-bg:#580508;--bs-btn-border-color:#580508;--bs-btn-hover-bg:#3a0305;--bs-btn-hover-border-color:#3a0305;--bs-btn-active-bg:#3a0305;--bs-btn-active-border-color:#3a0305;--bs-btn-disabled-bg:#580508;--bs-btn-disabled-border-color:#580508}
.btn-outline-secondary{--bs-btn-color:#4a4040;--bs-btn-border-color:#cfc6c5;--bs-btn-hover-bg:#f3e7e7;--bs-btn-hover-color:#3a0305;--bs-btn-hover-border-color:#b9a9a8;--bs-btn-active-bg:#ead7d7;--bs-btn-active-color:#3a0305}
.form-control:focus,.form-select:focus,.form-check-input:focus{border-color:#8a2d31;box-shadow:0 0 0 .2rem rgba(88,5,8,.18)}
.form-check-input:checked{background-color:#580508;border-color:#580508}
a:focus-visible,button:focus-visible,.btn:focus-visible{outline:3px solid #b44a4f;outline-offset:2px}
.skip-link{position:absolute;top:.5rem;inset-inline-start:.5rem;z-index:2000;background:#fff;padding:.5rem 1rem}

.app-shell{display:flex;min-height:100vh}
.sidebar{width:var(--sidebar-w);flex:0 0 var(--sidebar-w);background:var(--brand);color:#f3e7e7;display:flex;flex-direction:column}
.sidebar-brand{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.25rem;border-bottom:1px solid rgba(255,255,255,.14)}
.brand-name{font-weight:700;font-size:1.05rem;color:#fff}
.sidebar-nav{padding:.75rem 0;overflow-y:auto}
.nav-group{padding:1rem 1.25rem .35rem;font-size:.8rem;color:#d8bcbc;border-top:1px solid rgba(255,255,255,.12);margin-top:.75rem}
.nav-item-link{display:block;padding:.55rem 1.25rem;color:#f3e7e7;text-decoration:none;border-inline-start:3px solid transparent}
.nav-item-link:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-item-link.active{background:rgba(255,255,255,.14);border-inline-start-color:#fff;color:#fff;font-weight:600}
@media (max-width:991.98px){.sidebar{--bs-offcanvas-width:270px}}
@media (min-width:992px){.sidebar{position:sticky;top:0;height:100vh}}

.app-main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.5rem;background:var(--panel);border-bottom:1px solid var(--line)}
.content{padding:1.5rem;max-width:1280px;width:100%}
.page-title{font-size:1.35rem;font-weight:600;margin-bottom:1rem}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:.5rem;padding:1.25rem;margin-bottom:1rem}
.panel.p-0{padding:0}
.filter-bar{padding:.9rem 1.25rem}
.table>:not(caption)>*>*{padding:.7rem 1rem}
.table thead th{font-weight:600;color:var(--muted);background:#faf8f8;border-bottom:1px solid var(--line);white-space:nowrap}
.badge-ok{background:#e4f1e6;color:#1f5a2b}.badge-off{background:#eee;color:#555}
.badge-warn{background:#fdf0d5;color:#7a4b00}.badge-danger{background:#f8e0e0;color:#8a1c1c}.badge-info{background:#e2edf7;color:#1d4a73}
.empty-state{text-align:center;padding:3rem 1rem}
.amount{font-variant-numeric:tabular-nums;direction:ltr;unicode-bidi:isolate;white-space:nowrap}

.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--paper)}
.auth-card{width:100%;max-width:400px;margin:1rem;background:#fff;border:1px solid var(--line);border-top:4px solid var(--brand);border-radius:.5rem;padding:2rem}
.auth-title{font-size:1.3rem;font-weight:600;margin-bottom:1.25rem}

@media print{
  .sidebar,.topbar,.no-print,.btn,.alert{display:none!important}
  body{background:#fff}.content{padding:0;max-width:none}.panel{border:0;padding:0}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
