@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/ibm-plex-sans-arabic-arabic-400-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/ibm-plex-sans-arabic-arabic-500-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/ibm-plex-sans-arabic-arabic-600-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/ibm-plex-sans-arabic-arabic-700-normal.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0898-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:400 500;font-display:swap;src:url(fonts/ibm-plex-sans-arabic-latin-400-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans Arabic";font-style:normal;font-weight:600 700;font-display:swap;src:url(fonts/ibm-plex-sans-arabic-latin-600-normal.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+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Reem Kufi";font-style:normal;font-weight:500;font-display:swap;src:url(fonts/reem-kufi-arabic-500-normal.woff2) format("woff2")}
@font-face{font-family:"Reem Kufi";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/reem-kufi-arabic-600-normal.woff2) format("woff2")}
@font-face{font-family:"Reem Kufi";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/reem-kufi-arabic-700-normal.woff2) format("woff2")}
html{-webkit-text-size-adjust:100%}
:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}

/* Layout: right-hand green sidebar (desktop) / top bar + bottom tab bar (phone); one content column, cards by role, tables scroll inside their box */
:root{
  --bg:#F2F5F2; --surface:#FFFFFF; --sunk:#E9EEEA; --ink:#15211C; --muted:#5A6862; --line:#D5DDD8; --line-2:#E4EAE6;
  --brand:#1C5A46; --brand-2:#164A3A; --on-brand:#FFFFFF; --brand-soft:#DCEAE2;
  --gold:#A06F1E; --gold-soft:#F3E7CE;
  --ok:#2C7853; --ok-soft:#DDEFE4; --warn:#A5620D; --warn-soft:#F6E6CC; --bad:#AE3838; --bad-soft:#F6DFDD; --info:#2A5D88; --info-soft:#DEE9F3;
  --side:#143F32; --side-2:#0F3328; --side-ink:#E9F1EC; --side-muted:#A9C2B6;
  --shadow:0 1px 2px rgba(16,40,30,.06),0 4px 16px rgba(16,40,30,.05);
  --f-display:"Reem Kufi","Noto Kufi Arabic","Segoe UI",Tahoma,sans-serif;
  --f-body:"IBM Plex Sans Arabic","Segoe UI",Tahoma,Arial,sans-serif;
  --r:12px;
}
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){
  --bg:#0E1513; --surface:#162019; --sunk:#111915; --ink:#E3EBE6; --muted:#98A7A0; --line:#28352F; --line-2:#202B26;
  --brand:#5DB491; --brand-2:#4FA382; --on-brand:#0B1411; --brand-soft:#1C372D;
  --gold:#D8A752; --gold-soft:#372C17;
  --ok:#62C08F; --ok-soft:#183427; --warn:#E3A24E; --warn-soft:#382915; --bad:#E77D75; --bad-soft:#3A1F1D; --info:#7DB0DD; --info-soft:#18293A;
  --side:#0B1A15; --side-2:#08130F; --side-ink:#E3EBE6; --side-muted:#8FA79B;
  --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark }}
:root[data-theme="dark"]{
  --bg:#0E1513; --surface:#162019; --sunk:#111915; --ink:#E3EBE6; --muted:#98A7A0; --line:#28352F; --line-2:#202B26;
  --brand:#5DB491; --brand-2:#4FA382; --on-brand:#0B1411; --brand-soft:#1C372D;
  --gold:#D8A752; --gold-soft:#372C17;
  --ok:#62C08F; --ok-soft:#183427; --warn:#E3A24E; --warn-soft:#382915; --bad:#E77D75; --bad-soft:#3A1F1D; --info:#7DB0DD; --info-soft:#18293A;
  --side:#0B1A15; --side-2:#08130F; --side-ink:#E3EBE6; --side-muted:#8FA79B;
  --shadow:0 1px 2px rgba(0,0,0,.3); color-scheme:dark }

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.6}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:var(--brand)}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.app{direction:rtl;min-height:100vh}
.ico{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ico.sm{width:16px;height:16px}
.muted{color:var(--muted)}
.num{font-variant-numeric:tabular-nums}
.pattern{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='64' height='64' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.07' stroke-width='1'%3E%3Crect x='18' y='18' width='28' height='28'/%3E%3Crect x='18' y='18' width='28' height='28' transform='rotate(45 32 32)'/%3E%3Ccircle cx='32' cy='32' r='7'/%3E%3Cpath d='M0 32h4M60 32h4M32 0v4M32 60v4'/%3E%3C/g%3E%3C/svg%3E")}

/* ---------- login / public ---------- */
.pub{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
.pub-brand{background-color:var(--side);color:var(--side-ink);display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding-block:48px;padding-left:max(32px,env(safe-area-inset-left,0px));padding-right:max(32px,env(safe-area-inset-right,0px))}
.pub-brand h1{font-family:var(--f-display);font-weight:700;font-size:2.4rem;line-height:1.25;margin:16px 0 8px;text-wrap:balance}
.pub-brand p{color:var(--side-muted);margin:0;max-width:34ch}
.depts{display:flex;flex-direction:column;gap:10px}
.dept-line{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:10px}
.dept-line b{font-weight:600}
.dept-line span{color:var(--side-muted);font-size:.85rem}
.pub-main{display:flex;align-items:center;justify-content:center;padding-block:40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.pub-card{width:100%;max-width:440px;display:flex;flex-direction:column;gap:18px}
.pub-card h2{font-family:var(--f-display);font-weight:600;font-size:1.6rem;margin:0}
.demo{border:1px dashed var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--surface)}
.demo .row{display:flex;flex-wrap:wrap;gap:6px}
.links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.92rem}
.links button{background:none;border:0;padding:0;color:var(--brand);font-weight:500}
.pub-wide{min-height:100vh;background:var(--bg)}
.pub-top{background-color:var(--side);color:var(--side-ink);padding-block:14px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.pub-top .in{max-width:880px;margin:0 auto;display:flex;align-items:center;gap:12px;justify-content:space-between}
.pub-body{max-width:880px;margin:0 auto;padding-block:24px 64px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
@media (max-width:860px){ .pub{grid-template-columns:1fr} .pub-brand{padding-block:28px;gap:18px} .pub-brand h1{font-size:1.8rem} .depts{display:none} }

.emblem{width:56px;height:56px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center;overflow:hidden;flex:none}
.emblem img{width:100%;height:100%;object-fit:contain;background:#fff}
.emblem svg{width:38px;height:38px}
.brandline{display:flex;align-items:center;gap:12px}
.brandline b{font-family:var(--f-display);font-weight:600;font-size:1.05rem;line-height:1.3}
.brandline small{display:block;color:var(--side-muted);font-size:.78rem}

/* ---------- shell ---------- */
.shell{display:grid;grid-template-columns:268px minmax(0,1fr);min-height:100vh}
.side{background-color:var(--side);color:var(--side-ink);position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px 14px;overflow-y:auto}
.side nav{display:flex;flex-direction:column;gap:2px}
.nav-btn{display:flex;align-items:center;gap:12px;background:none;border:0;color:var(--side-muted);padding:10px 12px;border-radius:9px;text-align:right;font-weight:500;width:100%}
.nav-btn:hover{background:rgba(255,255,255,.06);color:var(--side-ink)}
.nav-btn[aria-current="page"]{background:rgba(255,255,255,.1);color:#fff}
.nav-btn[aria-current="page"] .ico{color:var(--gold)}
:root:not([data-theme="light"]) .nav-btn[aria-current="page"] .ico{color:#E2B868}
.nav-btn .cnt{margin-inline-start:auto;background:var(--gold);color:#fff;border-radius:999px;font-size:.72rem;padding:0 7px;line-height:1.6}
.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.1);padding-top:14px}
.me{display:flex;align-items:center;gap:10px}
.me b{display:block;font-size:.9rem;line-height:1.3}
.me small{color:var(--side-muted);font-size:.78rem}
.side .nav-btn.out{color:var(--side-muted);font-size:.9rem}

.mainwrap{min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:6;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line-2)}
.topbar .in{display:flex;align-items:center;gap:10px;padding-block:12px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
.topbar h1{font-family:var(--f-display);font-weight:600;font-size:1.3rem;margin:0;line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mob-brand{display:none}
.content{padding-block:22px 40px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));max-width:1180px;width:100%;display:flex;flex-direction:column;gap:18px}
.net{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;border-radius:999px;padding:3px 10px;background:var(--ok-soft);color:var(--ok);white-space:nowrap}
.net.off{background:var(--warn-soft);color:var(--warn)}
.net i{width:7px;height:7px;border-radius:50%;background:currentColor}
.bottom{display:none}
.proto{font-size:.75rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px;white-space:nowrap}

@media (max-width:960px){
  .shell{grid-template-columns:1fr}
  .side{display:none}
  body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--side)}
  .topbar{top:env(safe-area-inset-top,0px);background:var(--side);color:var(--side-ink);border-bottom:0;backdrop-filter:none;-webkit-backdrop-filter:none}
  .topbar .in{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
  .topbar h1{font-size:1.12rem}
  .topbar .proto{display:none}
  .mob-brand{display:block}
  .mob-brand .emblem{width:34px;height:34px;border-radius:9px}
  .mob-brand .emblem svg{width:24px;height:24px}
  .content{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-bottom:calc(96px + env(safe-area-inset-bottom,0px));gap:14px}
  .bottom{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;position:fixed;inset:auto 0 0 0;z-index:8;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
  .bottom button{background:none;border:0;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 7px;font-size:.7rem;color:var(--muted);position:relative}
  .bottom button[aria-current="page"]{color:var(--brand);font-weight:600}
  .bottom .cnt{position:absolute;top:4px;inset-inline-start:calc(50% + 6px);background:var(--gold);color:#fff;border-radius:999px;font-size:.62rem;padding:0 5px;line-height:1.6}
  .net span{display:none}
  .net{padding:5px}
}
.sheet-bg{position:fixed;inset:0;background:rgba(5,15,11,.45);z-index:20;display:flex;align-items:flex-end}
.sheet{background:var(--surface);width:100%;border-radius:18px 18px 0 0;padding:10px 12px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:2px;max-height:80vh;overflow:auto}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 10px}
.sheet button.item{display:flex;align-items:center;gap:12px;background:none;border:0;padding:12px;border-radius:10px;text-align:right;font-weight:500}
.sheet button.item:hover{background:var(--sunk)}

/* ---------- building blocks ---------- */
.card{background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r);box-shadow:var(--shadow);min-width:0}
.card-h{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:14px 16px 0;flex-wrap:wrap}
.card-h h3{margin:0;font-family:var(--f-display);font-weight:600;font-size:1.05rem}
.card-b{padding:14px 16px 16px}
.card-b.flush{padding:8px 0 4px}
.grid{display:grid;gap:14px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:14px;align-items:start}
@media (max-width:1100px){ .g4{grid-template-columns:repeat(2,minmax(0,1fr))} .g3{grid-template-columns:repeat(2,minmax(0,1fr))} .split{grid-template-columns:1fr} }
@media (max-width:620px){ .g2,.g3{grid-template-columns:1fr} }
.hello{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.hello h2{font-family:var(--f-display);font-weight:600;font-size:1.55rem;margin:0;line-height:1.3}
.hello p{margin:2px 0 0;color:var(--muted);font-size:.9rem}
.kpi{padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.kpi small{color:var(--muted);font-size:.82rem;display:flex;align-items:center;gap:6px}
.kpi b{font-family:var(--f-display);font-weight:700;font-size:1.9rem;line-height:1.2;font-variant-numeric:tabular-nums}
.kpi span{font-size:.8rem;color:var(--muted)}
.kpi.accent{background:var(--brand);color:var(--on-brand);border-color:var(--brand)}
.kpi.accent small,.kpi.accent span{color:inherit;opacity:.85}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);border-radius:9px;padding:8px 14px;font-weight:600;font-size:.9rem;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--brand-2)}
.btn.ghost{background:transparent;color:var(--brand);border-color:var(--line)}
.btn.ghost:hover{background:var(--sunk)}
.btn.soft{background:var(--brand-soft);color:var(--brand);border-color:transparent}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.danger{background:transparent;border-color:var(--bad);color:var(--bad)}
.btn.danger.armed{background:var(--bad);color:#fff}
.btn.sm{padding:5px 10px;font-size:.82rem;border-radius:8px}
.btn.block{width:100%}
.btn:disabled{opacity:.5;cursor:default}
.iconbtn{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:9px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.topbar .iconbtn{background:transparent;border-color:transparent;color:inherit}
.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.row.between{justify-content:space-between}
.stack{display:flex;flex-direction:column;gap:10px}
.spacer{flex:1}

.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 12px;font-size:.85rem;font-weight:500;white-space:nowrap}
.chip[aria-pressed="true"]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.chip .n{font-variant-numeric:tabular-nums;opacity:.75}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips.scroll{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}
.badge{display:inline-flex;align-items:center;gap:4px;border-radius:6px;padding:1px 8px;font-size:.76rem;font-weight:600;line-height:1.7;white-space:nowrap;background:var(--sunk);color:var(--muted)}
.badge.ok{background:var(--ok-soft);color:var(--ok)} .badge.warn{background:var(--warn-soft);color:var(--warn)} .badge.bad{background:var(--bad-soft);color:var(--bad)} .badge.info{background:var(--info-soft);color:var(--info)} .badge.brand{background:var(--brand-soft);color:var(--brand)} .badge.gold{background:var(--gold-soft);color:var(--gold)}
.badge.solid{background:var(--brand);color:var(--on-brand)}

.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:10px 14px;font-weight:500;color:var(--muted);white-space:nowrap}
.tabs button[aria-selected="true"]{color:var(--brand);border-bottom-color:var(--brand);font-weight:600}

.list{display:flex;flex-direction:column}
.li{display:flex;align-items:center;gap:12px;padding:11px 16px;border-top:1px solid var(--line-2);background:none;border-left:0;border-right:0;border-bottom:0;width:100%;text-align:right;min-width:0}
.li:first-child{border-top:0}
button.li:hover{background:var(--sunk)}
.li .grow{flex:1;min-width:0}
.li .t{font-weight:600;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.li .s{font-size:.82rem;color:var(--muted);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:.85rem;flex:none;color:#fff}
.av.lg{width:64px;height:64px;font-size:1.3rem}

.field{display:flex;flex-direction:column;gap:4px;min-width:0}
.field>span{font-size:.84rem;color:var(--muted);font-weight:500}
.field>span em{color:var(--bad);font-style:normal}
.inp,.field input,.field select,.field textarea{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:9px 11px;min-width:0}
.field textarea{resize:vertical;min-height:84px}
.inp:focus,.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px var(--brand-soft)}
.form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.form .full{grid-column:1/-1}
.check{display:flex;align-items:center;gap:8px;font-size:.92rem}
.check input{width:18px;height:18px;accent-color:var(--brand)}
.toggle{position:relative;width:44px;height:26px;flex:none}
.toggle input{appearance:none;-webkit-appearance:none;width:44px;height:26px;border-radius:999px;background:var(--line);margin:0;cursor:pointer;transition:background .15s}
.toggle input:checked{background:var(--brand)}
.toggle input::after{content:"";position:absolute;top:3px;right:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}
.toggle input:checked::after{transform:translateX(-18px)}
.err{color:var(--bad);font-size:.86rem}
.note{background:var(--info-soft);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:.88rem;display:flex;gap:8px;align-items:flex-start}
.note.warn{background:var(--warn-soft)}
.note.gold{background:var(--gold-soft)}

.tbl{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.88rem}
th,td{padding:9px 12px;text-align:right;border-bottom:1px solid var(--line-2);white-space:nowrap;font-variant-numeric:tabular-nums;vertical-align:middle}
th{font-weight:600;color:var(--muted);font-size:.8rem;background:var(--sunk)}
th small{font-weight:500}
tr:last-child td{border-bottom:0}
td .inp{width:76px;padding:5px 8px;text-align:center}
td.name{font-weight:600}

.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden;flex:none}
.seg button{background:var(--surface);border:0;padding:6px 10px;font-size:.8rem;color:var(--muted)}
.seg button+button{border-inline-start:1px solid var(--line)}
.seg button.on.p{background:var(--ok);color:#fff} .seg button.on.a{background:var(--bad);color:#fff} .seg button.on.e{background:var(--gold);color:#fff} .seg button.on.l{background:var(--info);color:#fff}

.bar{height:8px;border-radius:4px;background:var(--sunk);overflow:hidden}
.bar i{display:block;height:100%;border-radius:4px;background:var(--brand)}
.bar i.warn{background:var(--gold)} .bar i.bad{background:var(--bad)}
.comp{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr) 4.8rem;gap:10px;align-items:center;font-size:.88rem}
.comp b{text-align:left;font-variant-numeric:tabular-nums}
.empty{border:1px dashed var(--line);border-radius:var(--r);padding:28px 16px;text-align:center;color:var(--muted);background:var(--surface)}
.big-num{font-family:var(--f-display);font-weight:700;font-size:2.6rem;line-height:1;font-variant-numeric:tabular-nums}
.sess{display:flex;align-items:center;gap:12px;padding:12px 16px;border-top:1px solid var(--line-2)}
.sess:first-child{border-top:0}
.when{width:54px;text-align:center;border-radius:10px;background:var(--brand-soft);color:var(--brand);padding:6px 0;flex:none;line-height:1.2}
.when b{display:block;font-family:var(--f-display);font-size:1.15rem}
.when small{font-size:.7rem}
.ann{padding:14px 16px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:4px}
.ann:first-child{border-top:0}
.ann h4{margin:0;font-size:.98rem}
.ann p{margin:0;color:var(--muted);font-size:.9rem;white-space:pre-wrap}
.back{display:inline-flex;align-items:center;gap:6px;background:none;border:0;color:var(--brand);font-weight:600;padding:0;align-self:flex-start}
.subj-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;padding:16px}
.subj-head h2{font-family:var(--f-display);font-weight:600;font-size:1.45rem;margin:0 0 4px;line-height:1.3}
.meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:.86rem;color:var(--muted)}
.meta span{display:inline-flex;align-items:center;gap:5px;max-width:100%;flex-wrap:wrap}

/* hifz rows */
.hz{border-top:1px solid var(--line-2)}
.hz:first-child{border-top:0}
.hz-h{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 16px}
.hz-name{background:none;border:0;text-align:right;padding:0;min-width:0}
.hz-panel{padding:4px 16px 16px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}
.hz-blk{display:flex;flex-direction:column;gap:8px;min-width:0;background:var(--sunk);border-radius:10px;padding:10px}
.hz-blk h5{margin:0;font-size:.88rem}
.pos{display:grid;grid-template-columns:minmax(0,1fr) 64px 64px;gap:6px}
.pos select,.pos input{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:6px;min-width:0;width:100%;text-align:center}
.pos select{text-align:right}
.gchips{display:flex;flex-wrap:wrap;gap:4px}
.gchips button{width:30px;height:30px;border-radius:7px;border:1px solid var(--line);background:var(--surface);font-size:.82rem;font-variant-numeric:tabular-nums}
.gchips button.on{background:var(--brand);border-color:var(--brand);color:var(--on-brand);font-weight:600}
@media (max-width:620px){ .hz-panel{grid-template-columns:1fr} .hz-h{grid-template-columns:1fr} .hz-h .seg,.attrow .seg{width:100%} .hz-h .seg button,.attrow .seg button{flex:1;text-align:center;padding:8px 4px} .attrow{flex-wrap:wrap} .attrow .grow{flex-basis:calc(100% - 48px)} }

/* fatwa panel */
.fq-bg{position:fixed;inset:0;background:rgba(5,15,11,.4);z-index:15}
.fq{position:fixed;top:0;bottom:0;inset-inline-end:0;width:min(420px,100%);background:var(--bg);z-index:16;display:flex;flex-direction:column;box-shadow:0 0 40px rgba(0,0,0,.25)}
.fq-h{background-color:var(--side);color:var(--side-ink);padding:calc(14px + env(safe-area-inset-top,0px)) 16px 14px;display:flex;align-items:center;gap:10px}
.fq-h b{font-family:var(--f-display);font-weight:600;font-size:1.1rem;display:block;line-height:1.3}
.fq-h small{color:var(--side-muted);font-size:.78rem}
.fq-h .iconbtn{background:transparent;border-color:rgba(255,255,255,.2);color:inherit}
.fq-log{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:12px}
.fq-u{align-self:flex-start;background:var(--brand);color:var(--on-brand);border-radius:14px 14px 14px 4px;padding:8px 12px;max-width:85%}
.fq-b{align-self:stretch;display:flex;flex-direction:column;gap:8px}
.fq-src{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--ink)}
.fq-src:hover{border-color:var(--brand)}
.fq-src .grow{flex:1;min-width:0}
.fq-src b{display:block;font-size:.92rem}
.fq-src small{display:block;color:var(--muted);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fq-in{display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:var(--surface)}
.fq-in textarea{flex:1;min-height:44px;max-height:120px;resize:none;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px}
.fq-btn{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);color:inherit;border-radius:9px;padding:6px 10px;font-size:.84rem;font-weight:600;white-space:nowrap}
@media (min-width:961px){ .topbar .fq-btn{background:var(--brand-soft);color:var(--brand);border-color:transparent} }
@media (max-width:960px){ .fq-btn span{display:none} }

/* messages */
.msgs{display:grid;grid-template-columns:320px minmax(0,1fr);min-height:520px}
.msgs .threads{border-inline-end:1px solid var(--line-2);overflow-y:auto;max-height:70vh}
.thread{display:flex;flex-direction:column;min-width:0}
.thread-h{padding:12px 16px;border-bottom:1px solid var(--line-2);display:flex;align-items:center;gap:10px}
.bubbles{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;max-height:56vh;background:var(--bg)}
.bub{max-width:78%;padding:8px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line-2);align-self:flex-end;font-size:.92rem;position:relative}
.bub.mine{align-self:flex-start;background:var(--brand-soft);border-color:transparent}
.bub small{display:block;color:var(--muted);font-size:.72rem;margin-top:2px}
.bub b{display:block;font-size:.78rem;color:var(--brand)}
.bub .del{position:absolute;top:4px;inset-inline-end:4px;background:none;border:0;color:var(--muted);padding:2px;display:none}
.bub:hover .del{display:block}
.composer{display:flex;gap:8px;padding:12px;border-top:1px solid var(--line-2)}
.composer textarea{flex:1;min-height:44px;max-height:120px;resize:none;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px}
@media (max-width:860px){ .msgs{grid-template-columns:1fr} .msgs .threads{border:0;max-height:none} .msgs.has-thread .threads{display:none} .msgs:not(.has-thread) .thread{display:none} }

/* stepper */
.steps{display:flex;gap:6px}
.steps div{flex:1;display:flex;flex-direction:column;gap:6px;font-size:.78rem;color:var(--muted)}
.steps div i{height:4px;border-radius:2px;background:var(--line)}
.steps div.on{color:var(--brand);font-weight:600}
.steps div.on i,.steps div.done i{background:var(--brand)}

/* certificate */
.cert{background:#FFFDF7;color:#1B2620;border-radius:6px;padding:12px;box-shadow:var(--shadow);max-width:820px;margin:0 auto;width:100%}
.cert-in{border:2px solid #A06F1E;outline:1px solid #A06F1E;outline-offset:4px;border-radius:2px;padding:32px 28px;position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center}
.cert .corner{position:absolute;width:44px;height:44px}
.cert .corner.tl{top:6px;right:6px} .cert .corner.tr{top:6px;left:6px;transform:scaleX(-1)} .cert .corner.bl{bottom:6px;right:6px;transform:scaleY(-1)} .cert .corner.br{bottom:6px;left:6px;transform:scale(-1,-1)}
.cert h2{font-family:var(--f-display);font-weight:700;font-size:1.9rem;margin:4px 0 0;color:#164A3A}
.cert h3{font-family:var(--f-display);font-weight:500;font-size:1.15rem;margin:0;color:#A06F1E}
.cert p{margin:0;max-width:56ch;line-height:1.9}
.cert table{max-width:520px;margin:6px auto;font-size:.88rem}
.cert th{background:#F1EBDC;color:#5B4A2A}
.cert td,.cert th{border-bottom:1px solid #E6DCC6;text-align:center}
.cert .sig{display:flex;justify-content:space-between;width:100%;max-width:560px;margin-top:22px;gap:24px;font-size:.85rem}
.cert .sig div{flex:1;border-top:1px solid #8E7A55;padding-top:6px}
.cert .code{font-size:.78rem;color:#6B5E45;font-variant-numeric:tabular-nums}
.cert .em{width:64px;height:64px;border-radius:14px;background:#164A3A;display:grid;place-items:center;overflow:hidden}
.cert .em img{width:100%;height:100%;object-fit:contain;background:#fff}
@media (max-width:620px){ .cert-in{padding:24px 14px} .cert h2{font-size:1.45rem} }

.toast{position:fixed;inset-inline:0;bottom:calc(20px + env(safe-area-inset-bottom,0px));display:flex;justify-content:center;z-index:30;pointer-events:none;padding-inline:16px}
.toast span{background:var(--ink);color:var(--bg);border-radius:10px;padding:10px 16px;font-size:.9rem;box-shadow:var(--shadow);max-width:520px}
@media (max-width:960px){ .toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))} }
.q{border:1px solid var(--line-2);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:8px}
.q label{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:8px;cursor:pointer}
.q label:hover{background:var(--sunk)}
.q input{accent-color:var(--brand);width:18px;height:18px}
.q .right{background:var(--ok-soft)}
.kv{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:6px 12px;font-size:.9rem}
.kv dt{color:var(--muted)}
.kv dd{margin:0;font-weight:500;overflow-wrap:anywhere}
@media (prefers-reduced-motion:no-preference){ .card{transition:border-color .15s} .bar i{transition:width .4s} }
@media (max-width:620px){ .li{flex-wrap:wrap} .li .grow{flex:1 1 150px} }
