/* =====================================================================
   غيم · Dashboards layer (admin · school · seller) — artboard 1440×900
   Requires ghaim.css
   ===================================================================== */
body.dash{display:grid;grid-template-columns:272px 1fr;min-height:100vh;background:#F4F6F9;font-size:14px}
/* sidebar */
.side{background:var(--navy-900);color:rgba(255,255,255,.7);display:flex;flex-direction:column;padding:20px 16px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-width:none}
.side .logo{padding:4px 8px 18px;--logo-ink:#fff;--logo-sky:#8EC5F5}
.side .logo svg.wm{height:34px}
.side .logo .lt{border-color:rgba(255,255,255,.18)} .side .logo .lt b{color:#fff} .side .logo .lt span{color:rgba(255,255,255,.55)}
.ws{display:flex;align-items:center;gap:10px;padding:10px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);margin-bottom:16px}
.ws b{display:block;color:#fff;font-size:13.5px;font-family:var(--f-display);font-weight:600;line-height:1.3}
.ws small{font-size:11.5px;color:rgba(255,255,255,.55)}
.ws .ic{margin-inline-start:auto;width:16px;height:16px}
.sgrp{font-size:11.5px;font-weight:600;color:rgba(255,255,255,.4);padding:14px 10px 6px;letter-spacing:.02em}
.side nav a{display:flex;align-items:center;gap:11px;height:42px;padding:0 12px;border-radius:12px;font-weight:500;font-size:14px;transition:.15s;position:relative}
.side nav a .ic{width:19px;height:19px;opacity:.85}
.side nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.side nav a.on{background:var(--gold);color:var(--navy-900);font-weight:600}
.side nav a.on .ic{opacity:1}
.side nav a .badge-n,.side nav a .cnt{margin-inline-start:auto}
.side nav a .badge-n{background:rgba(255,255,255,.12);color:#fff;font-weight:600}
.side nav a .cnt{font-size:11.5px;background:rgba(255,255,255,.1);padding:1px 8px;border-radius:99px}
.side nav a.on .cnt{background:rgba(10,31,56,.15)}
.side .me{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 10px 4px;border-top:1px solid rgba(255,255,255,.08)}
.side .me b{display:block;color:#fff;font-size:13.5px;line-height:1.3}
.side .me small{font-size:11.5px;color:rgba(255,255,255,.5)}
.side .sadu-band.thin{margin:14px -16px -20px;opacity:.9}

/* main */
.main{min-width:0;display:flex;flex-direction:column}
.top{height:76px;display:flex;align-items:center;gap:16px;padding:0 32px;background:rgba(244,246,249,.9);backdrop-filter:blur(10px);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--hair)}
.top .ttl small{display:block;font-size:12.5px;color:var(--muted)}
.top .ttl h1{font-size:21px;line-height:1.3}
.top .srch{margin-inline-start:auto;width:340px;height:44px;border-radius:13px;background:#fff;border:1px solid var(--hair);display:flex;align-items:center;gap:10px;padding:0 14px;color:var(--subtle);font-size:13.5px}
.top .srch .kbd{margin-inline-start:auto}
.top .ibtn{width:44px;height:44px;border-radius:13px;background:#fff;border:1px solid var(--hair);display:grid;place-items:center;color:var(--navy);position:relative}
.top .ibtn .badge-n{position:absolute;top:-5px;inset-inline-end:-5px;border:2px solid #F4F6F9}
.content{padding:28px 32px 40px;display:flex;flex-direction:column;gap:22px}
.phead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.phead h2{font-size:22px} .phead p{color:var(--muted);font-size:14px;margin-top:2px}

/* KPI */
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kpi{background:#fff;border:1px solid var(--hair);border-radius:20px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;position:relative;overflow:hidden}
.kpi .lb{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:13px;font-weight:500}
.kpi .lb .tile{width:32px;height:32px;border-radius:10px} .kpi .lb .tile .ic{width:17px;height:17px}
.kpi .v{font-family:var(--f-display);font-weight:700;font-size:30px;color:var(--navy);line-height:1.2;display:flex;align-items:baseline;gap:6px}
.kpi .v .cur{font-size:13px}
.kpi .d{font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:6px}
.up{color:var(--palm);font-weight:700;display:inline-flex;align-items:center;gap:2px} .down{color:var(--sadu);font-weight:700;display:inline-flex;align-items:center;gap:2px}
.up .ic,.down .ic{width:14px;height:14px}
.kpi.hero{background:var(--navy);border-color:var(--navy);color:rgba(255,255,255,.7)}
.kpi.hero .lb{color:rgba(255,255,255,.7)} .kpi.hero .v{color:#fff} .kpi.hero .d{color:rgba(255,255,255,.65)}
.kpi.hero{background:radial-gradient(80% 90% at 100% 0%,#1F5390 0,transparent 70%),var(--navy)}
.kpi.hero::after{content:"";position:absolute;width:120px;height:120px;inset-inline-start:-18px;bottom:-34px;background:var(--drop-mark) center/contain no-repeat;opacity:.07;pointer-events:none}
.kpi .spark{position:absolute;inset-inline-start:16px;bottom:16px;width:96px;height:36px}

/* panels */
.panel{background:#fff;border:1px solid var(--hair);border-radius:22px;padding:20px 22px;min-width:0}
.panel-h{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.panel-h h3{font-size:16.5px}
.panel-h small{display:block;color:var(--muted);font-size:12.5px;font-weight:400;font-family:var(--f-body)}
.panel.flush{padding:0;overflow:hidden} .panel.flush .panel-h{padding:18px 22px 0}
.dgrid{display:grid;gap:22px}
.d-2-1{grid-template-columns:2fr 1fr} .d-1-1{grid-template-columns:1fr 1fr} .d-1-2{grid-template-columns:1fr 2fr} .d-3{grid-template-columns:repeat(3,1fr)}

/* chart */
.chart{width:100%;height:240px}
.chart text{font-family:var(--f-body);font-size:11px;fill:var(--subtle)}
.bars{display:flex;align-items:flex-end;gap:12px;height:200px;padding-top:10px}
.bars .b{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;height:100%;justify-content:flex-end}
.bars .b i{display:block;width:100%;max-width:34px;border-radius:9px 9px 4px 4px;background:var(--sky-100);height:var(--h)}
.bars .b.on i{background:var(--navy)}
.bars .b span{font-size:11.5px;color:var(--subtle)}
.donut{--a:40;--b:30;--c:20;width:132px;height:132px;border-radius:50%;background:conic-gradient(var(--navy) 0 calc(var(--a)*1%),var(--sky) 0 calc((var(--a) + var(--b))*1%),var(--gold) 0 calc((var(--a) + var(--b) + var(--c))*1%),var(--palm) 0);display:grid;place-items:center;flex:none}
.donut::before{content:"";grid-area:1/1;width:88px;height:88px;border-radius:50%;background:#fff}
.donut > div{grid-area:1/1;z-index:1;text-align:center} .donut b{font-family:var(--f-display);font-size:22px;color:var(--navy);display:block;line-height:1.1} .donut small{font-size:11.5px;color:var(--muted)}

/* activity feed */
.feed{display:flex;flex-direction:column}
.feed li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--hair)}
.feed li:last-child{border-bottom:0}
.feed b{color:var(--navy);font-weight:600}
.feed p{font-size:13.5px;line-height:1.6}
.feed time{font-size:12px;color:var(--subtle);white-space:nowrap;margin-inline-start:auto}

/* kanban */
.kanban{display:grid;grid-template-columns:repeat(5,minmax(240px,1fr));gap:16px;overflow-x:auto;padding-bottom:8px;align-items:start}
.kcol{background:#EBEFF4;border-radius:20px;padding:12px;display:flex;flex-direction:column;gap:10px}
.kcol-h{display:flex;align-items:center;gap:8px;padding:4px 6px 6px;font-family:var(--f-display);font-weight:600;color:var(--navy);font-size:14px}
.kcol-h .n{margin-inline-start:auto;font-size:12px;background:#fff;padding:1px 9px;border-radius:99px;color:var(--muted)}
.kcol-h .dt{width:9px;height:9px;border-radius:50%}
.kc{background:#fff;border-radius:16px;padding:14px;border:1px solid var(--hair);display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:.2s}
.kc:hover{box-shadow:var(--sh-2);transform:translateY(-2px)}
.kc .id{font-size:11.5px;color:var(--subtle);font-weight:600;direction:ltr;text-align:end}
.kc b{font-family:var(--f-display);color:var(--navy);font-size:14px;line-height:1.5;font-weight:600}
.kc .ft{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}
.kc.late{border-color:var(--sadu-100);box-shadow:inset 3px 0 0 var(--sadu)}

/* drawer content */
.drawer .dh{padding:20px 24px;border-bottom:1px solid var(--hair);display:flex;align-items:center;gap:12px}
.drawer .db{padding:20px 24px;overflow:auto;flex:1;display:flex;flex-direction:column;gap:18px}
.drawer .df{padding:16px 24px;border-top:1px solid var(--hair);display:flex;gap:10px}

/* table toolbar */
.ttools{display:flex;align-items:center;gap:10px;padding:16px 22px;border-bottom:1px solid var(--hair);flex-wrap:wrap}
.ttools .srch{height:40px;border-radius:11px;border:1px solid var(--hair-2);display:flex;align-items:center;gap:8px;padding:0 12px;color:var(--subtle);font-size:13.5px;width:280px;background:#fff}
.tfoot{display:flex;justify-content:space-between;align-items:center;padding:14px 22px;border-top:1px solid var(--hair);font-size:13px;color:var(--muted)}
.tfoot .pg{display:flex;gap:6px} .tfoot .pg a{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;border:1px solid var(--hair);font-weight:600;color:var(--navy)} .tfoot .pg a.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.tbl td{white-space:nowrap} .tbl td.wrap{white-space:normal;min-width:180px}
.panel.flush{overflow-x:auto}
.tbl .acts{display:flex;gap:4px;justify-content:flex-end}
.tbl .acts button{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;color:var(--muted)} .tbl .acts button:hover{background:var(--navy-50);color:var(--navy)}
.tbl .acts .ic{width:17px;height:17px}
.thumb{width:52px;height:38px;border-radius:9px;flex:none} .thumb.ph{min-height:0}

/* school: drops board (signature) */
.board{display:grid;grid-template-columns:repeat(var(--cols,6),1fr);gap:14px}
.cls{border:1px solid var(--hair);border-radius:18px;padding:14px;background:#fff;display:flex;flex-direction:column;gap:10px;transition:.2s}
.cls:hover{box-shadow:var(--sh-2)}
.cls .h{display:flex;justify-content:space-between;align-items:center}
.cls .h b{font-family:var(--f-display);color:var(--navy);font-size:14px}
.cls .h small{font-size:11.5px;color:var(--muted)}
.cls .drops-grid{--cols:6;gap:5px}
.cls .drops-grid .drop{max-width:18px}
.cls .bar{height:6px}

/* permission matrix */
.perm td,.perm th{text-align:center} .perm td:first-child,.perm th:first-child{text-align:start}
.perm .yes{color:var(--palm)} .perm .no{color:var(--hair-2)}

/* CMS editor */
.cms{display:grid;grid-template-columns:340px 1fr;gap:22px;align-items:start}
.blk{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;border:1px solid var(--hair);background:#fff;cursor:grab}
.blk.on{border-color:var(--navy);box-shadow:0 0 0 3px rgba(15,45,82,.08)}
.blk .grip{color:var(--subtle)}
.preview{background:#fff;border-radius:22px;border:1px solid var(--hair);overflow:hidden}

/* responsive (keeps artboard usable on smaller laptops) */
@media (max-width:1200px){ .kpis{grid-template-columns:repeat(2,1fr)} .d-2-1,.d-1-2,.d-3{grid-template-columns:1fr} .board{--cols:3} }
@media (max-width:860px){ body.dash{grid-template-columns:1fr} .side{display:none} .top .srch{display:none} .content{padding:20px 16px} .top{padding:0 16px} .kpis{grid-template-columns:1fr 1fr} .cms{grid-template-columns:1fr} }
