/* WasilPro Product Design System — production foundation */
@font-face{font-family:"Tajawal";font-weight:400;font-display:swap;src:url(/assets/fonts/tajawal-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Tajawal";font-weight:700;font-display:swap;src:url(/assets/fonts/tajawal-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Tajawal";font-weight:800;font-display:swap;src:url(/assets/fonts/tajawal-arabic-800-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+FB50-FDFF,U+FE70-FEFC}
@font-face{font-family:"Tajawal";font-weight:400;font-display:swap;src:url(/assets/fonts/tajawal-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212,U+FEFF}
@font-face{font-family:"Tajawal";font-weight:700;font-display:swap;src:url(/assets/fonts/tajawal-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212,U+FEFF}
@font-face{font-family:"Tajawal";font-weight:800;font-display:swap;src:url(/assets/fonts/tajawal-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2212,U+FEFF}

:root{
  --ws-brand-950:#071b2d;--ws-brand-900:#0b2942;--ws-brand-800:#12395b;--ws-brand-700:#185078;--ws-brand-600:#236a90;
  --ws-accent-700:#0d7658;--ws-accent-600:#14966f;--ws-accent-500:#21b587;--ws-accent-100:#ddf5eb;
  --ws-danger-700:#9f2f2f;--ws-danger-600:#c54848;--ws-danger-100:#fbe9e9;
  --ws-warning-700:#8a620d;--ws-warning-600:#ba8618;--ws-warning-100:#fff3d6;
  --ws-info-700:#235f91;--ws-info-100:#e8f2fb;
  --ws-surface:#fff;--ws-surface-soft:#f7f9fb;--ws-canvas:#f2f5f8;--ws-line:#dfe6ec;--ws-line-strong:#cdd8e2;
  --ws-text:#162635;--ws-muted:#647483;--ws-subtle:#8794a0;
  --ws-space-1:.25rem;--ws-space-2:.5rem;--ws-space-3:.75rem;--ws-space-4:1rem;--ws-space-5:1.25rem;--ws-space-6:1.5rem;--ws-space-8:2rem;
  --ws-radius-sm:8px;--ws-radius-md:12px;--ws-radius-lg:16px;--ws-radius-pill:999px;
  --ws-shadow-sm:0 1px 2px rgba(7,27,45,.04);--ws-shadow-md:0 8px 24px -20px rgba(7,27,45,.34);--ws-focus:0 0 0 3px rgba(20,150,111,.18);
  --ws-sidebar-width:264px;--ws-content-max:1440px;--ws-control-height:42px;
  --bs-body-font-family:"Tajawal",system-ui,-apple-system,"Segoe UI",Tahoma,sans-serif;
  --bs-body-color:var(--ws-text);--bs-body-bg:var(--ws-canvas);--bs-primary:var(--ws-brand-800);--bs-primary-rgb:18,57,91;
  --bs-success:var(--ws-accent-600);--bs-success-rgb:20,150,111;--bs-danger:var(--ws-danger-600);--bs-danger-rgb:197,72,72;
  --bs-link-color:var(--ws-brand-700);--bs-link-hover-color:var(--ws-brand-900);--bs-border-color:var(--ws-line);--bs-border-radius:var(--ws-radius-sm);
  /* Stable aliases for legacy feature modules. */
  --ink:var(--ws-brand-900);--ink-2:var(--ws-brand-800);--ink-3:var(--ws-brand-600);--paper:var(--ws-canvas);--card:var(--ws-surface);--line:var(--ws-line);
  --text:var(--ws-text);--muted:var(--ws-muted);--saffron:var(--ws-accent-500);--saffron-2:var(--ws-accent-600);--mint:var(--ws-accent-600);--mint-bg:var(--ws-accent-100);
  --coral:var(--ws-danger-600);--coral-bg:var(--ws-danger-100);--sky:var(--ws-info-700);--sky-bg:var(--ws-info-100);--amber-bg:var(--ws-warning-100);--r:var(--ws-radius-md);--shadow:var(--ws-shadow-md);
  --am-emerald-950:var(--ws-brand-950);--am-emerald-900:var(--ws-brand-900);--am-emerald-800:var(--ws-brand-800);--am-emerald-700:var(--ws-brand-700);--am-emerald-600:var(--ws-brand-600);--am-emerald-500:var(--ws-brand-600);
  --am-gold-600:var(--ws-accent-700);--am-gold-500:var(--ws-accent-600);--am-gold-400:var(--ws-accent-500);--am-gold-300:#6bd2ad;--am-ink:var(--ws-text);--am-muted:var(--ws-muted);--am-line:var(--ws-line);--am-bg:var(--ws-canvas);--am-card:var(--ws-surface);
  --am-danger:var(--ws-danger-600);--am-danger-bg:var(--ws-danger-100);--am-warn:var(--ws-warning-700);--am-warn-bg:var(--ws-warning-100);--am-ok:var(--ws-accent-700);--am-ok-bg:var(--ws-accent-100);--am-info:var(--ws-info-700);--am-info-bg:var(--ws-info-100);
  --am-radius:var(--ws-radius-md);--am-radius-sm:var(--ws-radius-sm);--am-shadow:var(--ws-shadow-sm);--am-shadow-lg:var(--ws-shadow-md);--am-font:var(--bs-body-font-family);
}

*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ws-canvas);color:var(--ws-text);font-family:var(--bs-body-font-family);font-size:.9375rem;font-weight:400;line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{margin-top:0;color:var(--ws-brand-950);font-weight:800;letter-spacing:-.012em;line-height:1.35}
h1,.h1{font-size:clamp(1.55rem,2vw,2rem)}h2,.h2{font-size:1.3rem}h3,.h3{font-size:1.08rem}.h4{font-size:1.25rem}.h5{font-size:1.05rem}.h6{font-size:.95rem}
p{margin-top:0}small,.small{font-size:.8125rem}a{color:var(--bs-link-color);text-decoration:none}a:hover{color:var(--bs-link-hover-color);text-decoration:none}
.num,.mono,[dir=ltr]{font-variant-numeric:tabular-nums}.num,.mono{unicode-bidi:isolate}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}
::selection{background:var(--ws-accent-100);color:var(--ws-brand-950)}
:focus-visible{outline:3px solid rgba(20,150,111,.48);outline-offset:2px}

main.container-fluid{max-width:var(--ws-content-max);padding:var(--ws-space-6) var(--ws-space-5) 5.5rem}
.content{width:100%;max-width:var(--ws-content-max);margin-inline:auto;padding:var(--ws-space-6) var(--ws-space-6) var(--ws-space-8)}
.text-muted{color:var(--ws-muted)}

.card{background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius-md);box-shadow:var(--ws-shadow-sm)}
.card-header{padding:.85rem 1rem;background:transparent;border-bottom:1px solid var(--ws-line);color:var(--ws-brand-950);font-weight:800}.card-body{padding:1rem}
.alert{border:1px solid transparent;border-radius:var(--ws-radius-md);font-weight:600}.alert-success{background:var(--ws-accent-100);color:var(--ws-accent-700);border-color:#bfe7d7}.alert-danger{background:var(--ws-danger-100);color:var(--ws-danger-700);border-color:#f1caca}.alert-warning{background:var(--ws-warning-100);color:var(--ws-warning-700);border-color:#efdba8}.alert-info{background:var(--ws-info-100);color:var(--ws-info-700);border-color:#c8ddf0}.alert-secondary,.alert-light{background:var(--ws-surface);color:var(--ws-text);border-color:var(--ws-line)}

.btn{min-height:var(--ws-control-height);display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.52rem .9rem;border-radius:var(--ws-radius-sm);font-weight:700;line-height:1.25;white-space:nowrap;transition:background-color .14s,border-color .14s,color .14s,box-shadow .14s}
.btn-sm{min-height:34px;padding:.35rem .65rem;font-size:.8125rem}.btn-lg{min-height:48px;padding:.7rem 1.05rem}.btn-icon{width:var(--ws-control-height);padding:0}.btn-icon.btn-sm{width:34px}
.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:var(--ws-brand-800);--bs-btn-border-color:var(--ws-brand-800);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--ws-brand-900);--bs-btn-hover-border-color:var(--ws-brand-900);--bs-btn-active-color:#fff;--bs-btn-active-bg:var(--ws-brand-950);--bs-btn-active-border-color:var(--ws-brand-950);--bs-btn-disabled-color:#fff}
.btn-success{--bs-btn-color:#fff;--bs-btn-bg:var(--ws-accent-600);--bs-btn-border-color:var(--ws-accent-600);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--ws-accent-700);--bs-btn-hover-border-color:var(--ws-accent-700);--bs-btn-active-color:#fff;--bs-btn-disabled-color:#fff}
.btn-secondary,.btn-danger,.btn-dark{--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;--bs-btn-disabled-color:#fff}
.btn-warning,.btn-info{--bs-btn-color:var(--ws-brand-950);--bs-btn-hover-color:var(--ws-brand-950);--bs-btn-active-color:var(--ws-brand-950)}
.btn-light{--bs-btn-color:var(--ws-brand-900);--bs-btn-bg:var(--ws-surface);--bs-btn-border-color:var(--ws-line);--bs-btn-hover-color:var(--ws-brand-950);--bs-btn-hover-bg:var(--ws-surface-soft);--bs-btn-hover-border-color:var(--ws-line-strong);--bs-btn-active-color:var(--ws-brand-950);--bs-btn-disabled-color:var(--ws-muted)}
.btn-outline-primary{--bs-btn-color:var(--ws-brand-800);--bs-btn-border-color:var(--ws-line-strong);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--ws-brand-800);--bs-btn-hover-border-color:var(--ws-brand-800);--bs-btn-active-color:#fff}
.btn-outline-dark{--bs-btn-color:var(--ws-brand-900);--bs-btn-border-color:var(--ws-line-strong);--bs-btn-hover-color:#fff;--bs-btn-hover-bg:var(--ws-brand-900);--bs-btn-hover-border-color:var(--ws-brand-900);--bs-btn-active-color:#fff}
.btn-link{--bs-btn-color:var(--ws-brand-700);--bs-btn-hover-color:var(--ws-brand-950);--bs-btn-active-color:var(--ws-brand-950)}

.form-label{margin-bottom:.32rem;color:var(--ws-text);font-size:.84rem;font-weight:700}.form-text{color:var(--ws-muted)}
.form-control,.form-select{min-height:var(--ws-control-height);padding:.52rem .72rem;border:1px solid var(--ws-line-strong);border-radius:var(--ws-radius-sm);background-color:var(--ws-surface);color:var(--ws-text);font-weight:500}
.form-control:focus,.form-select:focus{border-color:var(--ws-accent-600);box-shadow:var(--ws-focus)}.form-control-sm,.form-select-sm{min-height:34px;padding:.35rem .58rem}.input-group-text{border-color:var(--ws-line-strong);background:var(--ws-surface-soft);color:var(--ws-muted);font-weight:700}
.form-check-input:checked{background-color:var(--ws-brand-800);border-color:var(--ws-brand-800)}

.table-responsive,.tbl-scroll{overflow:auto;background:var(--ws-surface);border:1px solid var(--ws-line);border-radius:var(--ws-radius-md);box-shadow:none}
.table{margin:0;color:var(--ws-text);font-size:.88rem;--bs-table-bg:transparent}.table thead th{padding:.68rem .72rem;background:var(--ws-surface-soft);color:var(--ws-muted);border-bottom:1px solid var(--ws-line);font-size:.75rem;font-weight:800;letter-spacing:.015em;white-space:nowrap}.table tbody td{padding:.62rem .72rem;border-color:#edf1f4;vertical-align:middle}.table tbody tr:hover{background:#f8fafb}.table-sm thead th{padding:.52rem .62rem}.table-sm tbody td{padding:.5rem .62rem}
.badge,.pill{display:inline-flex;align-items:center;gap:.25rem;padding:.28em .62em;border-radius:var(--ws-radius-pill);font-size:.72rem;font-weight:800;letter-spacing:0}.badge.text-bg-success{background:var(--ws-accent-100);color:var(--ws-accent-700)}.badge.text-bg-danger{background:var(--ws-danger-100);color:var(--ws-danger-700)}.badge.text-bg-warning{background:var(--ws-warning-100);color:var(--ws-warning-700)}.badge.text-bg-primary,.badge.text-bg-info{background:var(--ws-info-100);color:var(--ws-info-700)}.badge.text-bg-secondary,.badge.text-bg-light{background:#edf1f4;color:var(--ws-muted)}.badge.text-bg-dark{background:#dfe7ed;color:var(--ws-brand-900)}
.pagination{gap:.25rem}.pagination .page-link{min-width:36px;min-height:36px;display:grid;place-items:center;margin:0;border-color:var(--ws-line);border-radius:var(--ws-radius-sm);color:var(--ws-brand-800);font-weight:700}.pagination .active .page-link{background:var(--ws-brand-800);border-color:var(--ws-brand-800)}
.dropdown-menu{padding:.4rem;border:1px solid var(--ws-line);border-radius:var(--ws-radius-md);box-shadow:0 16px 36px -22px rgba(7,27,45,.45)}.dropdown-item{padding:.5rem .7rem;border-radius:7px;font-weight:600}
.empty,.empty-state,.ws-empty{padding:2rem 1rem;text-align:center;color:var(--ws-muted)}.empty b,.empty-state b,.ws-empty h3{display:block;margin-bottom:.25rem;color:var(--ws-brand-900);font-size:1rem}
.bar{height:5px;margin-top:.75rem;overflow:hidden;border-radius:5px;background:rgba(255,255,255,.15)}.bar span{display:block;height:100%;border-radius:inherit;background:var(--ws-accent-500)}
.stat{height:100%;border:1px solid var(--ws-line);border-radius:var(--ws-radius-md);background:var(--ws-surface)}.stat .l{color:var(--ws-muted);font-size:.75rem;font-weight:700}.stat .v{margin-top:.15rem;color:var(--ws-brand-950);font-size:1.3rem;font-weight:800;line-height:1.2}.stat .v small{color:var(--ws-muted);font-size:.68rem}
.stats,.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--ws-space-3);margin-bottom:var(--ws-space-4)}
.kpi{position:relative;padding:.9rem 1rem;border:1px solid var(--ws-line);border-radius:var(--ws-radius-md);background:var(--ws-surface)}.kpi .l{color:var(--ws-muted);font-size:.76rem;font-weight:700}.kpi .v{margin-top:.15rem;color:var(--ws-brand-950);font-size:1.35rem;font-weight:800}.kpi .v small{color:var(--ws-muted);font-size:.68rem}.kpi .s{margin-top:.18rem;color:var(--ws-muted);font-size:.72rem}

.sidebar{position:fixed;inset:0 0 0 auto;z-index:1045;display:flex;width:var(--ws-sidebar-width);flex-direction:column;background:var(--ws-brand-950);color:#fff}.shell{min-height:100vh;margin-right:var(--ws-sidebar-width);display:flex;flex-direction:column}.sb-brand{display:flex;min-height:92px;align-items:center;padding:1rem;border-bottom:1px solid rgba(255,255,255,.08)}.sb-nav{flex:1;overflow-y:auto;padding:.65rem}.sb-user{display:flex;align-items:center;gap:.5rem;padding:.8rem;border-top:1px solid rgba(255,255,255,.08)}
.topbar{position:sticky;top:0;z-index:1020;display:flex;min-height:68px;align-items:center;gap:.65rem;padding:.65rem 1.15rem;border-bottom:1px solid var(--ws-line);background:rgba(255,255,255,.96);backdrop-filter:blur(10px)}
.page-head,.ws-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--ws-space-5);margin-bottom:var(--ws-space-5)}.page-head h1,.ws-page-title{margin:0}.page-head small,.ws-page-description{color:var(--ws-muted)}

.filterbar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-bottom:.8rem;padding:.55rem;border:1px solid var(--ws-line);border-radius:var(--ws-radius-md);background:var(--ws-surface)}

.tabbar{display:none}
@media(max-width:991.98px){.shell{margin-right:0}.sidebar{width:min(300px,88vw)}.content{padding:1rem 1rem 5.5rem}.topbar{min-height:60px;padding:.55rem .75rem}}
@media(min-width:992px){body.admin .offcanvas-lg{transform:none;visibility:visible}}
@media(max-width:767.98px){
  html{font-size:15px;scroll-behavior:auto}body{font-size:.9rem}main.container-fluid{padding:.9rem .75rem 6.25rem}.content{padding:.9rem .75rem 4.75rem}
  .page-head,.ws-page-head{gap:.75rem;margin-bottom:1rem}.page-head h1,.ws-page-title{font-size:1.35rem}.ws-page-description{font-size:.78rem}
  .btn{min-height:40px}.btn-sm{min-height:36px}.form-control,.form-select{min-height:42px}.card-body{padding:.85rem}
  .stats,.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}
  .table{font-size:.8rem}.table thead th{font-size:.7rem;padding:.55rem .5rem}.table tbody td{padding:.52rem .5rem}
  body.office .tabbar{position:fixed;inset:auto 0 0;z-index:1030;display:flex;min-height:68px;padding:.35rem .25rem calc(.35rem + env(safe-area-inset-bottom));border-top:1px solid var(--ws-line);background:#fff;box-shadow:0 -8px 24px -20px rgba(7,27,45,.5)}
  .tabbar a,.tabbar button{display:flex;min-height:48px;flex:1;align-items:center;justify-content:center;flex-direction:column;gap:.15rem;border:0;background:transparent;color:var(--ws-brand-800);font-size:.7rem;font-weight:700}.tabbar a.active{color:var(--ws-brand-900)}.tabbar svg{width:19px;height:19px}.tabbar .cta{margin-top:-14px;border-radius:var(--ws-radius-md);background:var(--ws-brand-800);color:#fff;box-shadow:0 8px 18px -12px rgba(7,27,45,.8)}
}
@media(max-width:430px){.stats,.kpis{grid-template-columns:1fr 1fr}.stats>*:first-child:nth-last-child(3){grid-column:1/-1}.page-head,.ws-page-head{align-items:stretch;flex-direction:column}.page-head .actions,.ws-page-actions{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms;animation-iteration-count:1;transition-duration:.01ms;scroll-behavior:auto}}
@media print{body{background:#fff}.sidebar,.topbar,.am-topnav,.tabbar,.no-print{display:none}.shell{margin:0}.content{max-width:none;padding:0}.card,.table-responsive{box-shadow:none}}
