:root{--navy:#2f4858;--navy2:#fbfaf6;--navy3:#5b8f86;--teal:#2a9d8f;--teal2:#1f7a6f;--bg:#f6f3ec;--card:#fff;--ink:#23323b;--mut:#6b7a83;--line:#e7e2d6;--soft:#e4f3ef;--red:#dc2626;--green:#16a34a;--amber:#d97706;--blue:#2563eb;--r:14px}
:root{--hd:#1f7a6f;--hdt:#fff;--hdb:rgba(255,255,255,.18);--out:#f6d9d6;--outt:#9b2c24;--side:#fff;--surf:#fff;--surf2:#faf8f2;--surf3:#f3efe4;--sec:#ece8dc;--secH:#e0dac9;--navh:#f3f0e7;--navc:#44555e;--chatbg:#efe9dd;--bubme:#d6efe4;--tint:#e8f5f3;--tint2:#d6eee9;--wabbg:#e7f7e1;--ibd:#cbd5e1;--topbg:rgba(255,255,255,.85);--pill:#e2e8f0;--pillt:#334155;--tkb:#bfe3de;--tkt:#1f6f66}
:root[data-theme=night]{--hd:#1d3557;--hdt:#e6edf6;--hdb:rgba(255,255,255,.12);--out:#4a2a2f;--outt:#f3b4ae;--bg:#0f1b2d;--card:#17263d;--side:#13223a;--surf:#17263d;--surf2:#1c2d47;--surf3:#223552;--ink:#e6edf6;--mut:#9db0c6;--line:#2a3d5a;--soft:#1f3b52;--teal:#2f9e91;--teal2:#6fd3c4;--navy:#e6edf6;--navy3:#3a7f8f;--sec:#243751;--secH:#2d4464;--navh:#1f3149;--navc:#c5d3e3;--chatbg:#0f1b2d;--bubme:#1e5a52;--tint:#1c3a45;--tint2:#24485a;--wabbg:#1d3b2d;--ibd:#33496a;--topbg:rgba(15,27,45,.88);--pill:#2a3d5a;--pillt:#cbd8e6;--tkb:#2f5d66;--tkt:#9fe3d8;color-scheme:dark}
:root[data-theme=sage]{--hd:#3d6a4a;--out:#f1d9d3;--bg:#eef2ea;--card:#fbfdf9;--side:#f7faf4;--surf:#fbfdf9;--surf2:#f1f6ee;--surf3:#e7efe2;--ink:#26322b;--mut:#6a7a6f;--line:#d9e2d3;--soft:#dfeadb;--teal:#4f7f5c;--teal2:#2f5d3d;--navy:#2f5d3d;--navy3:#6f9a7b;--sec:#e1eadc;--secH:#d3dfcc;--navh:#e6eee1;--navc:#3e5245;--chatbg:#e6eee1;--bubme:#cfe6cf;--tint:#e0eedd;--tint2:#d1e5cd;--wabbg:#e3f1dc;--ibd:#c3d1bd;--topbg:rgba(247,250,244,.88);--pill:#dde7d8;--pillt:#3a4b40;--tkb:#b5d3b8;--tkt:#2f5d3d}
:root[data-theme=blue]{--hd:#1e4fa3;--hdt:#fff;--out:#f6dcd9;--outt:#9b2c24;--bg:#eef3fb;--card:#fff;--side:#fff;--surf:#fff;--surf2:#f3f7fd;--surf3:#e6eefb;--ink:#1c2a3f;--mut:#62748c;--line:#d9e3f2;--soft:#dfeafb;--teal:#2f6fdb;--teal2:#1e4fa3;--navy:#1e4fa3;--navy3:#6c97d6;--sec:#e3ebf8;--secH:#d3dff2;--navh:#e8effa;--navc:#3a4d68;--chatbg:#e6edf8;--bubme:#d3e4fb;--tint:#e3edfb;--tint2:#d2e2f9;--wabbg:#e3f1dc;--ibd:#c3d2e8;--topbg:rgba(244,248,253,.88);--pill:#dce6f5;--pillt:#34496a;--tkb:#b9d2f3;--tkt:#1e4fa3}
:root[data-theme=ruby]{--hd:#9f1d35;--hdt:#fff;--out:#e6ecf5;--outt:#2c4a78;--bg:#fbf1f2;--card:#fff;--side:#fff;--surf:#fff;--surf2:#fdf6f6;--surf3:#f8e8ea;--ink:#2d1d22;--mut:#7b6168;--line:#ecd9dc;--soft:#f8e1e4;--teal:#c0304a;--teal2:#9f1d35;--navy:#9f1d35;--navy3:#d27a8a;--sec:#f3e3e5;--secH:#ead0d4;--navh:#f7eaec;--navc:#5a4249;--chatbg:#f6e9eb;--bubme:#f9d6db;--tint:#fae6e9;--tint2:#f5d3d9;--wabbg:#e3f1dc;--ibd:#e3c5ca;--topbg:rgba(253,246,246,.88);--pill:#f0dfe2;--pillt:#5a3b43;--tkb:#efbcc6;--tkt:#9f1d35}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:'Cairo',system-ui,'Segoe UI',Tahoma,sans-serif;background:var(--bg);color:var(--ink);font-size:15px;-webkit-text-size-adjust:100%}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--teal2)}
#app{height:100%}
.hide{display:none!important}
.muted{color:var(--mut)}
.small{font-size:13px}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spacer{flex:1}
.grow{flex:1;min-width:0}

/* layout */
.shell{display:flex;height:100%}
.side{width:236px;background:var(--side);border-inline-end:1px solid var(--line);color:var(--ink);display:flex;flex-direction:column;flex-shrink:0}
.brand{padding:18px 16px;display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line)}
.brand img{width:44px;height:44px;border-radius:50%;background:var(--surf);object-fit:contain}
.brand b{color:var(--ink);display:block;line-height:1.3}
.brand span{font-size:12px;color:var(--mut)}
.nav{padding:10px;display:flex;flex-direction:column;gap:3px;overflow:auto;flex:1}
.nav a{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;color:var(--navc);text-decoration:none;cursor:pointer}
.nav a:hover{background:var(--navh)}
.nav a.on{background:var(--soft);color:var(--teal2);font-weight:700}
.nav .ic{width:22px;text-align:center}
.nav .badge{margin-inline-start:auto}
.side .me{padding:12px 14px;border-top:1px solid var(--line);font-size:13px}
.side .me button{margin-top:8px;width:100%}
.main{flex:1;display:flex;flex-direction:column;min-width:0}
.top{background:var(--hd);color:var(--hdt);border-bottom:1px solid var(--hd);padding:10px 18px;display:flex;gap:12px;align-items:center}
.top h1{font-size:18px;margin:0}
.page{flex:1;overflow:auto;padding:18px}
.page.flush{padding:0;overflow:hidden}
.bottom{display:none}
.badge{background:var(--red);color:#fff;border-radius:99px;font-size:11px;min-width:19px;height:19px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}

/* components */
.card{background:var(--card);border-radius:var(--r);box-shadow:0 1px 4px rgba(70,60,30,.08);padding:16px;margin-bottom:14px}
.card h3{margin:0 0 10px;font-size:16px}
.grid{display:grid;gap:14px}
.g4{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.stat{display:flex;gap:12px;align-items:center}
.stat .dot{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;background:var(--soft)}
.stat b{font-size:24px;display:block;line-height:1.1}
.stat span{color:var(--mut);font-size:13px}
.btn{border:0;border-radius:10px;padding:9px 16px;cursor:pointer;background:var(--teal);color:#fff;font-weight:600;display:inline-flex;gap:6px;align-items:center;justify-content:center}
.btn:hover{background:var(--teal2)}
.btn.sec{background:var(--sec);color:var(--ink)}
.btn.sec:hover{background:var(--secH)}
.btn.red{background:var(--red)}
.btn.ghost{background:transparent;color:var(--teal2);border:1px solid var(--teal)}
.btn.sm{padding:5px 10px;font-size:13px;border-radius:8px}
.btn:disabled{opacity:.5;cursor:default}
input,select,textarea{border:1px solid var(--ibd);border-radius:10px;padding:9px 11px;background:var(--surf);width:100%;min-width:0}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid rgba(20,184,166,.35);border-color:var(--teal)}
input[type=checkbox],input[type=radio]{width:auto}
label.f{display:block;margin-bottom:10px}
label.f>span{display:block;font-size:13px;color:var(--mut);margin-bottom:4px}
.form2{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 14px}
table{width:100%;border-collapse:collapse}
th,td{padding:9px 8px;text-align:start;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:13px;color:var(--mut);font-weight:600;background:var(--surf2);position:sticky;top:0}
tr.click{cursor:pointer}
tr.click:hover td{background:var(--surf2)}
.tw{overflow:auto;max-height:calc(100vh - 260px)}
.pill{display:inline-block;padding:2px 10px;border-radius:99px;font-size:12px;font-weight:600;background:var(--pill);color:var(--pillt);white-space:nowrap}
.pill.g{background:#dcfce7;color:#166534}.pill.r{background:#fee2e2;color:#991b1b}.pill.a{background:#fef3c7;color:#92400e}.pill.b{background:#dbeafe;color:#1e40af}
.tabs{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.tabs button{border:0;background:var(--sec);padding:7px 14px;border-radius:99px;cursor:pointer;font-weight:600}
.tabs button.on{background:var(--teal);color:#fff}
.banner{border-radius:14px;padding:12px 14px;margin-bottom:14px;background:var(--surf)6e6;border:1px solid #f3dcae;color:#8a5a12}
.banner.ok{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}
.empty{text-align:center;color:var(--mut);padding:30px 10px}
.bars{display:flex;gap:8px;align-items:flex-end;height:120px}
.bars div{flex:1;text-align:center;font-size:11px;color:var(--mut)}
.bars i{display:block;background:var(--teal);border-radius:6px 6px 0 0;min-height:3px;margin-bottom:4px}
.score{display:flex;flex-direction:column;gap:6px}
.meter{height:10px;background:var(--pill);border-radius:99px;overflow:hidden}
.meter i{display:block;height:100%;background:var(--teal)}
.meter i.low{background:var(--amber)}.meter i.bad{background:var(--red)}

/* modal / toast */
.ov{position:fixed;inset:0;background:rgba(2,6,23,.55);display:flex;align-items:center;justify-content:center;z-index:50;padding:14px}
.modal{background:var(--surf);border-radius:16px;max-width:560px;width:100%;max-height:92vh;display:flex;flex-direction:column}
.modal header{padding:14px 18px;border-bottom:1px solid var(--line);font-weight:700;display:flex}
.modal .bd{padding:16px 18px;overflow:auto}
.modal footer{padding:12px 18px;border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-start}
#toasts{position:fixed;bottom:18px;inset-inline:0;display:flex;flex-direction:column;align-items:center;gap:8px;z-index:90;pointer-events:none}
.toast{background:#2f4858;color:#fff;padding:10px 18px;border-radius:12px;max-width:90vw;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.toast.err{background:var(--red)}

/* chat */
.chat{display:flex;height:100%}
.clist{width:330px;border-inline-end:1px solid var(--line);background:var(--surf);display:flex;flex-direction:column;flex-shrink:0}
.clist .hd{padding:10px;border-bottom:1px solid var(--line)}
.clist .items{overflow:auto;flex:1;min-height:0;max-height:none;margin:0}
.citem{padding:10px 12px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:10px;align-items:center}
.citem:hover,.citem.on{background:var(--soft)}
.av{width:42px;height:42px;border-radius:50%;background:var(--navy3);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0}
.citem .t{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.citem .s{font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cpane{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--chatbg)}
.chd{background:var(--surf);padding:10px 14px;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}
.msgs{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:6px}
.bub{max-width:min(78%,520px);padding:8px 12px;border-radius:14px;background:var(--surf);align-self:flex-start;box-shadow:0 1px 1px rgba(0,0,0,.08);white-space:pre-wrap;word-break:break-word}
.bub.me{align-self:flex-end;background:var(--bubme)}
.bub .meta{font-size:11px;color:var(--mut);margin-top:3px}
.bub .who{font-size:12px;color:var(--teal2);font-weight:700}
.rec{border-inline-start:5px solid var(--mut);padding:6px 10px;background:rgba(255,255,255,.7);border-radius:8px;margin-top:4px}
.rec.behavior{border-color:var(--red)}.rec.positive{border-color:var(--green)}.rec.absence{border-color:var(--amber)}.rec.late{border-color:#64748b}
.comp{background:var(--surf);padding:10px;border-top:1px solid var(--line);display:flex;gap:8px;align-items:flex-end}
.comp textarea{height:44px;max-height:140px}
.back{display:none}
.m-only{display:none}
.av.emo{font-size:24px;background:var(--soft)}
.pmenu{position:fixed;z-index:200;background:var(--surf);border:1px solid var(--line);border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.2);padding:6px;display:flex;flex-direction:column}
.pmenu .pmi{display:flex;align-items:center;gap:8px;width:100%;text-align:start;border:0;background:transparent;color:var(--ink);font:inherit;font-size:15px;padding:11px 12px;border-radius:9px;cursor:pointer}
.pmenu .pmi+.pmi{border-top:1px solid var(--line)}
.pmenu .pmi:hover{background:var(--soft)}
.pmenu .pmi label{display:flex;align-items:center;gap:8px;width:100%;cursor:pointer}
.pmenu .pmi input[type=checkbox]{width:19px;height:19px;margin:0}
.notifbar{background:#fff4d6;color:#5a4300;font-size:14px}
.notifbar.warn{background:#fde2e2;color:#8a1c1c}
[data-theme=night] .notifbar{background:#3a3215;color:#f3e2a8}
[data-theme=night] .notifbar.warn{background:#4a2a2f;color:#f3b4ae}

/* login */
.login{min-height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#e4f3ef,#f6f3ec 60%,#f3e9d8);padding:16px}
.login .box{background:var(--surf);box-shadow:0 10px 30px rgba(70,60,30,.12);border-radius:22px;padding:26px;width:100%;max-width:400px}
.login img{width:72px;height:72px;border-radius:16px;display:block;margin:0 auto 10px}
.login h2{text-align:center;margin:0 0 4px}
.login p{text-align:center;color:var(--mut);margin:0 0 18px}

@media (max-width:820px){
  .side{display:none}
  .bottom{display:flex;background:var(--surf);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));gap:2px}
  .bottom a{flex:1;color:var(--mut);text-align:center;font-size:11px;padding:6px 2px;border-radius:10px;text-decoration:none;position:relative;cursor:pointer}
  .bottom a .ic{display:block;font-size:19px}
  .bottom a.on{color:var(--teal2);background:var(--soft);font-weight:700}
  .bottom a .badge{position:absolute;top:0;inset-inline-start:50%}
  #dates{display:none}
  .g4{grid-template-columns:repeat(2,1fr)}
  .stat b{font-size:20px}
  .page{padding:12px}
  .top{padding:8px 12px}
  .clist{width:100%;border:0}
  .chat .cpane{display:none}
  .chat.open .clist{display:none}
  .chat.open .cpane{display:flex}
  .back{display:inline-flex}
  .m-only{display:inline-flex}
  .d-only{display:none!important}
  .chd{padding:8px 10px;gap:8px}
  .chd .nm{min-width:0}
  .chd .nm b,.chd .nm .small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .chd .pill{flex-shrink:0}
  .chd .gear,.chd .back{flex-shrink:0;width:38px;height:38px;justify-content:center;padding:0;font-size:17px}
  .comp{gap:6px;align-items:center}
  .comp .btn{height:44px}
  .comp textarea{flex:1;min-width:0}
  .comp .dots{width:40px;padding:0;justify-content:center;font-size:22px;font-weight:700;flex-shrink:0}
  .tw{max-height:none}
  .bub{max-width:88%}
}

/* بريد وارد + إشعار ناعم */
.mailbtn{position:relative;border:0;background:var(--soft);color:var(--teal2);width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:18px}
.mailbtn .badge{position:absolute;top:-4px;inset-inline-start:-4px}
.mailbtn.ring{animation:ring 1.2s ease 2}
@keyframes ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-12deg)}40%{transform:rotate(10deg)}60%{transform:rotate(-6deg)}80%{transform:rotate(4deg)}}
.drop{position:fixed;top:56px;inset-inline-start:12px;width:min(360px,calc(100vw - 24px));background:var(--surf);border-radius:16px;box-shadow:0 12px 36px rgba(60,50,20,.22);z-index:60;overflow:hidden}
.drop .hd{padding:12px 14px;font-weight:700;border-bottom:1px solid var(--line);display:flex}
.drop .it{padding:10px 14px;border-bottom:1px solid var(--line);cursor:pointer;display:flex;gap:10px;align-items:center}
.drop .it:hover{background:var(--soft)}
.drop .it .t{font-weight:600}
.drop .it .s{font-size:13px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:230px}
.soft{position:fixed;bottom:84px;inset-inline-end:16px;max-width:min(340px,calc(100vw - 32px));background:var(--surf);border-radius:16px;box-shadow:0 10px 30px rgba(60,50,20,.25);padding:12px 14px;display:flex;gap:10px;align-items:center;cursor:pointer;z-index:80;border-inline-start:5px solid var(--teal);animation:rise .35s ease}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.soft .t{font-weight:700}
.soft .s{font-size:13px;color:var(--mut);max-height:40px;overflow:hidden}

.ccard{cursor:pointer}.ccard:hover{box-shadow:0 2px 10px rgba(42,157,143,.25)}

.tabs.sub button{padding:4px 12px;font-size:13px;background:var(--surf3)}
.tabs.sub button.on{background:var(--teal)}
.tabs button .cnt{display:inline-block;min-width:18px;margin-inline-start:6px;padding:0 6px;border-radius:99px;background:#d9534f;color:#fff;font-size:12px}
.tabs button.on .cnt{background:var(--surf);color:var(--teal)}
.chk{max-height:210px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:2px 10px;background:var(--surf)}
.chk label{display:flex;gap:6px;align-items:center;padding:3px 2px}
.items{display:flex;flex-direction:column;gap:6px;max-height:340px;overflow:auto;margin:8px 0}
.item{display:flex;gap:8px;align-items:center;text-align:start;width:100%;border:1px solid var(--line);background:var(--surf);border-radius:10px;padding:9px 12px;cursor:pointer;font:inherit;color:inherit}
.item:hover{border-color:var(--teal)}
.item.on{border-color:var(--teal);background:var(--tint);font-weight:600}
.item .ps{display:flex;gap:4px;flex-wrap:wrap}
.tok{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.tk{border:1px solid var(--tkb);background:var(--tint);color:var(--tkt);border-radius:8px;padding:5px 10px;cursor:pointer;font:inherit;font-size:13px}
.tk:hover{background:var(--tint2)}
.wab{background:var(--wabbg);border-radius:12px;padding:12px 14px;white-space:pre-wrap;line-height:1.9;min-height:120px}
.tplgrid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:14px;align-items:start}
.lit{padding:8px 10px;border-radius:8px;cursor:pointer}
.lit:hover{background:var(--surf3)}
.lit.on{background:var(--teal);color:#fff}
.lit.add{color:var(--teal);font-weight:600}
@media(max-width:760px){.tplgrid{grid-template-columns:1fr}}

.att{display:flex;flex-direction:column;gap:6px;margin-top:4px}
.att img{max-width:240px;max-height:220px;border-radius:10px;display:block;cursor:pointer}
.att a.file{display:flex;gap:8px;align-items:center;background:var(--surf3);border-radius:10px;padding:8px 10px;text-decoration:none;color:var(--ink)}
.att a.file small{color:var(--mut)}
.swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.sw{border:2px solid var(--line);border-radius:14px;padding:10px;cursor:pointer;background:var(--surf);text-align:center;font:inherit;color:var(--ink)}
.sw.on{border-color:var(--teal)}
.sw i{display:block;height:54px;border-radius:10px;margin-bottom:8px;border:1px solid rgba(0,0,0,.1)}
.msgcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.mcard{position:relative;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px 14px;cursor:pointer;text-align:center;font-weight:700;box-shadow:0 1px 4px rgba(70,60,30,.06)}
.mcard:hover{border-color:var(--teal)}
.mcard .pen{position:absolute;top:8px;inset-inline-start:8px;border:0;background:var(--sec);border-radius:8px;padding:4px 8px;cursor:pointer}
.mcard.new{border-style:dashed;color:var(--teal2)}

.hj{unicode-bidi:isolate;direction:rtl}
.hj small{display:block;font-size:11px}

.top h1,.top .small,.top .muted{color:var(--hdt)}
.top .btn.sec,.top .mailbtn{background:var(--hdb);color:var(--hdt)}
.side .brand{background:var(--hd);border-bottom-color:var(--hd)}
.side .brand b,.side .brand span{color:var(--hdt)}
.side .brand span{opacity:.85}
.btn.logout{background:var(--out)!important;color:var(--outt)!important}
.top .btn.logout{background:var(--out)!important}
.mailbtn .badge{border:2px solid var(--hd)}
.chk label{white-space:normal}

/* بطاقة المستخدم والعنوان في الوسط */
.top{position:relative}
.top h1{position:absolute;inset-inline-start:50%;transform:translateX(50%);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:36%;text-align:center;pointer-events:none}
html[dir=rtl] .top h1{inset-inline-start:auto;left:50%;transform:translateX(-50%)}
.chipwrap{position:relative;flex-shrink:0}
.chip{display:flex;align-items:center;gap:9px;border:0;cursor:pointer;background:rgba(0,0,0,.22);color:var(--hdt);border-radius:99px;padding:4px 6px 4px 16px;font:inherit;text-align:start;max-width:260px}
.chip .cn{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.chip .cn b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chip .cn small{font-size:11.5px;opacity:.78;color:#d9d6ff;color:var(--hdt)}
.av2{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:700;flex-shrink:0;overflow:hidden;border:2px solid rgba(255,255,255,.55);box-sizing:border-box}
.av2 img{width:100%;height:100%;object-fit:cover}
.umenu{position:absolute;top:calc(100% + 8px);inset-inline-start:0;width:250px;background:var(--surf);color:var(--ink);border-radius:16px;box-shadow:0 12px 36px rgba(20,30,20,.28);padding:14px;z-index:70}
.umenu .ut{display:flex;gap:10px;align-items:center;margin-bottom:10px}
.umenu .ul{background:var(--surf2);border-radius:10px;padding:8px 10px}
.avgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.avpick{border:0;border-radius:50%;aspect-ratio:1;font-size:28px;cursor:pointer;color:#fff}
.avpick:hover{outline:3px solid var(--teal)}
@media (max-width:820px){.chip .cn{display:none}.chip{padding:3px}.top h1{max-width:42%;font-size:16px}}
.top .umenu .small,.top .umenu .muted{color:var(--mut)}
.top .umenu b{color:var(--ink)}
.top .umenu .btn.sec{background:var(--sec);color:var(--ink)}
.top .umenu .btn.logout{background:var(--out);color:var(--outt)}

.brand img,.brand .logoimg{border:2.5px solid #e3b94e;padding:2px;background:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.12)}
.brand img{width:50px;height:50px}
.brand b{font-size:17px;line-height:1.35}
.installbar{display:flex;gap:8px;align-items:center;background:var(--tint);color:var(--ink);padding:8px 14px;border-bottom:1px solid var(--line);font-weight:600}
.steps{margin:8px 0 0;padding-inline-start:22px;line-height:2}

.welcome{background:var(--soft);border:1px solid var(--line)}
.item .star{cursor:pointer;font-size:18px;padding:0 4px}

/* جدول الإسناد */
.asg{overflow:auto;border:1px solid var(--line);border-radius:12px;background:var(--surf);margin-top:10px;max-height:70vh}
.asg table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px}
.asg th,.asg td{padding:7px 8px;text-align:center;border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line);white-space:nowrap}
.asg thead th{position:sticky;top:0;z-index:2;color:#fff}
.asg th.sub{position:sticky;inset-inline-start:0;z-index:3;background:var(--surf);color:var(--teal);text-align:start;min-width:150px}
.asg thead th.sub{background:var(--surf);z-index:4}
.asg tbody tr:nth-child(even) td,.asg tbody tr:nth-child(even) th.sub{background:var(--soft)}
.asg tbody tr:hover td{background:rgba(42,157,143,.14)}
.asg td{cursor:pointer;min-width:84px}
.asg td.empty{background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(128,128,128,.18) 6px 8px)!important}
.asg td.mine{background:rgba(42,157,143,.28)!important;font-weight:700}
.asg .gsep{border-inline-start:3px solid rgba(128,128,128,.45)}
.asg td.off{background:rgba(128,128,128,.22)!important;color:var(--mut);cursor:not-allowed}

/* ---------- اختيار المستلمين (صف ← فصل ← طالبات) ---------- */
.rp{display:flex;flex-direction:column;gap:8px}
.gwrap{border:1px solid var(--line);border-radius:12px;background:var(--surf);overflow:hidden}
.gcard{display:flex;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;background:var(--surf2)}
.gcard.open{background:var(--tint)}
.gcard .chev{color:var(--mut);font-size:12px}
.ccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;padding:10px}
.cc{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:10px;cursor:pointer;background:var(--card)}
.cc.on{border-color:var(--teal);background:var(--tint2)}
.spanel{margin:0 10px 10px;padding:10px;border:1px dashed var(--teal);border-radius:10px;background:var(--card)}
.rt{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;border:1px solid var(--line);border-radius:99px;background:var(--surf2);cursor:pointer}
/* ---------- لوحة الرموز التعبيرية ---------- */
.emo-wrap{position:relative;display:inline-block}
.emo-btn{padding:6px 10px;font-size:18px;line-height:1}
.emo-pan{position:absolute;bottom:100%;inset-inline-start:0;margin-bottom:6px;width:292px;max-height:300px;overflow:auto;background:var(--card);border:1px solid var(--line);border-radius:12px;box-shadow:0 6px 24px rgba(0,0,0,.18);padding:8px;z-index:60}
.emo-t{font-size:12px;color:var(--mut);margin:6px 2px 2px}
.emo-g{display:flex;flex-wrap:wrap;gap:2px}
.emo-g button{border:0;background:transparent;font-size:24px;cursor:pointer;border-radius:8px;padding:3px 5px;line-height:1.2}
.emo-g button:hover{background:var(--sec)}
.comp .emo-wrap{align-self:flex-end}
/* ---------- أرقام التواصل ---------- */
.ph{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.dot2{width:9px;height:9px;border-radius:50%;display:inline-block}
.dot2.g{background:var(--green)}.dot2.a{background:var(--amber)}

/* جدول بحدود ناعمة (أرقام التواصل) */
.gt,.gb{border-collapse:separate;border-spacing:0;border:1px solid var(--ibd);border-radius:12px;overflow:hidden;width:100%}
.gt th,.gt td,.gb th,.gb td{border-bottom:1px solid var(--line);border-inline-start:1px solid var(--line)}
.gt th:first-child,.gt td:first-child,.gb th:first-child,.gb td:first-child{border-inline-start:0}
.gt tbody tr:last-child td,.gb tbody tr:last-child td{border-bottom:0}
.gt th,.gb th{background:var(--surf3);font-weight:700}
.gt th:nth-child(1),.gt td:nth-child(1),.gt th:nth-child(2),.gt th:nth-child(n+3),.gt td:nth-child(n+3){text-align:center}
.gt .row{justify-content:center;flex-wrap:nowrap}
.gt .ph{justify-content:center}
.gb th,.gt th{text-align:center}
/* إعدادات: أقسام واضحة وقوائم قابلة للطي */
.sec-t{display:flex;align-items:baseline;gap:8px;margin:22px 4px 8px;flex-wrap:wrap}
.sec-t .ico{font-size:17px}
.sec-t b{font-size:15px;color:var(--ink)}
.sec-t small{color:var(--mut);font-size:12px}
.savebar{display:flex;justify-content:flex-start;margin:-4px 0 6px}
details.fold{padding:0}
details.fold>summary{list-style:none;cursor:pointer;padding:14px 16px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
details.fold>summary::-webkit-details-marker{display:none}
details.fold>summary::before{content:"◂";color:var(--mut);transition:transform .15s}
details.fold[open]>summary::before{transform:rotate(-90deg)}
details.fold>summary small{color:var(--mut);font-size:12px}
details.fold .fold-b{padding:0 16px 16px;border-top:1px solid var(--line);padding-top:14px}
.warnbox{background:#fdecea;border:1px solid #f3b4ae;color:#7f1d1d;border-radius:10px;padding:10px 12px;line-height:1.7}
.btn:disabled{opacity:.45;cursor:not-allowed}

.tick{margin-inline-start:6px;font-size:.85em;opacity:.65;cursor:pointer;letter-spacing:-2px}
.tick.rd{color:#1565c0;opacity:1;font-weight:700}

/* ---------- الاختيار الموحّد: صفوف ← فصول ← طلاب (1.0.24) ---------- */
.pk-t{font-weight:700;margin:12px 0 8px;font-size:15px}
.pk-gs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pk-g,.pk-c{display:flex;align-items:center;gap:10px;border:2px solid var(--line);border-radius:14px;padding:12px 14px;background:var(--surf);cursor:pointer;user-select:none;transition:border-color .15s,background .15s}
.pk-g:hover,.pk-c:hover{border-color:var(--teal)}
.pk-g b,.pk-c b{display:block;font-size:17px;line-height:1.4}
.pk-g small,.pk-c small{display:block;color:var(--mut);font-size:12.5px}
.pk-g.has,.pk-c.has{background:var(--soft)}
.pk-g.open,.pk-c.open{border-color:var(--teal);background:var(--soft);box-shadow:0 0 0 3px rgba(42,157,143,.12)}
.pk-g .chev{color:var(--mut);font-size:12px}
.pk-g input,.pk-c input,.pk-s input{width:21px;height:21px;margin:0;flex-shrink:0;accent-color:var(--teal);cursor:pointer}
.pk-cs{display:flex;flex-wrap:wrap;gap:10px}
.pk-c{min-width:150px;flex:0 1 190px}
.pk-c b{font-size:19px}
.pk-more{font-size:12px;color:var(--teal2);white-space:nowrap}
.pk-lw{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-top:12px;background:var(--surf)}
.pk-host .pk-lw{margin-top:0}
.pk-lh{display:flex;align-items:center;gap:8px;padding:10px 12px;background:var(--surf2);border-bottom:1px solid var(--line)}
.pk-q{margin:8px 12px;width:calc(100% - 24px)}
.pk-l{max-height:440px;overflow:auto}
.pk-s{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line);cursor:pointer;min-height:48px;font-size:15.5px}
.pk-s:last-child{border-bottom:0}
.pk-s:hover{background:var(--soft)}
.pk-s.on{background:var(--soft);font-weight:700}
.pk-s .n{color:var(--mut);font-size:12px;min-width:20px;text-align:center}
.pk-s .pill{flex-shrink:0}
.pk-sum{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;padding:10px 12px;border-radius:12px;background:#fff7e6;color:#4a3a10}
[data-theme=night] .pk-sum{background:#3a3215;color:#f3e2a8}
.pk-chip{display:inline-flex;align-items:center;gap:4px;background:var(--surf);border:1px solid #f0d9a8;border-radius:99px;padding:3px 6px 3px 12px;font-size:13.5px;color:var(--ink)}
.pk-chip button{border:0;background:transparent;color:var(--mut);cursor:pointer;font-size:16px;line-height:1;padding:0 4px}
.pk-bar{margin-top:4px}
.pk-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pk-2>.card{margin:0}
.pk-recent{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--line)}
.pk-empty{padding:30px 10px}
.pk-recent:empty{display:none}
.pk-s .meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px;color:var(--mut);font-weight:400;margin-top:2px}
@media (max-width:820px){
  .pk-gs{grid-template-columns:1fr;gap:8px}
  .pk-g{padding:10px 12px}
  .pk-g b{font-size:16px;display:inline}
  .pk-g small{display:inline;margin-inline-start:8px}
  .pk-cs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
  .pk-c{min-width:0;padding:10px 4px 8px;flex-direction:column;justify-content:center;text-align:center;gap:4px}
  .pk-c b{font-size:18px;white-space:nowrap}
  .pk-more{text-align:center}
  .pk-2{grid-template-columns:1fr;gap:10px}
  .pk-l{max-height:none}
  .pk-bar .btn{width:100%;margin-top:6px}
}
@media (max-width:380px){.pk-cs{grid-template-columns:1fr 1fr}}

/* ================= 1.0.26: تصاميم ولي الأمر والمعلم الجديدة ================= */
.c5{--lc:#17794d;--lb:#2fb37a;--ls:#e3f6ec}.c4{--lc:#1e4fa3;--lb:#3d74d6;--ls:#e6effc}.c3{--lc:#8a6100;--lb:#e0a82e;--ls:#fff4d6}.c2{--lc:#b4520f;--lb:#ec8a3a;--ls:#ffeadb}.c1{--lc:#a12a20;--lb:#dc4a3f;--ls:#fde6e4}
[data-theme=night] .c5{--lc:#7fe0b0;--ls:#173d2e}[data-theme=night] .c4{--lc:#9cc0ff;--ls:#1c3150}[data-theme=night] .c3{--lc:#f3cf73;--ls:#3d331a}[data-theme=night] .c2{--lc:#ffb27a;--ls:#40281a}[data-theme=night] .c1{--lc:#ff9a90;--ls:#45221f}
:root{--pex1:#6b3fd1;--pex2:#9a6cf0;--pexs:#efe8fd;--phw1:#0f8f7e;--phw2:#2fbfa6;--phws:#e2f6f2}
[data-theme=night]{--pexs:#2c2350;--phws:#173a36}

/* شاشة غير متاح */
.off{min-height:100%;display:flex;align-items:center;justify-content:center;padding:18px;background:linear-gradient(160deg,var(--tint),var(--bg))}
.off-box{background:var(--card);border-radius:24px;padding:28px 22px;width:100%;max-width:380px;text-align:center;box-shadow:0 12px 34px rgba(30,79,163,.14)}
.off-ic{font-size:56px;line-height:1;animation:offf 3s ease-in-out infinite}@keyframes offf{50%{transform:translateY(-6px)}}
.off-box h2{margin:10px 0 4px;font-size:21px}.off-box>p{color:var(--mut);margin:0 0 16px;font-size:14px}
.off-h{background:var(--surf2);border-radius:14px;padding:12px 14px;line-height:1.9;font-size:14.5px}.off-h b{display:block}
.off-btn{width:100%;margin-top:16px;padding:13px;font-size:16px}.off-st{margin-top:10px;font-size:12px;color:var(--mut)}

/* بطاقة الواجب/الاختبار في المحادثة */
.pev{flex-shrink:0;align-self:flex-start;width:min(92%,420px);background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 2px 10px rgba(30,79,163,.12)}
.pev.me{align-self:flex-end}
.peh{display:flex;align-items:center;gap:10px;padding:12px 14px;color:#fff;background:linear-gradient(135deg,var(--pex1),var(--pex2))}
.pev.hw .peh{background:linear-gradient(135deg,var(--phw1),var(--phw2))}
.pev.cancel .peh{background:linear-gradient(135deg,#7d8794,#a3acb7)}
.peh .i{width:38px;height:38px;border-radius:12px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.peh b{display:block;font-size:16px}.peh small{opacity:.9;font-size:12px}
.peh .cd{background:#fff;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:800;color:var(--pex1);white-space:nowrap}
.pev.hw .peh .cd{color:var(--phw1)}.peh .cd.hot{color:#c0362c}.peh .cd.done,.peh .cd.x{color:#6b7a83}
.peb{padding:12px 14px 4px}
.pdt{display:flex;gap:10px;align-items:center;background:var(--surf2);border-radius:12px;padding:8px 10px;margin-bottom:10px}
.pcal{width:48px;border-radius:10px;overflow:hidden;text-align:center;background:var(--card);box-shadow:0 1px 3px rgba(0,0,0,.15);flex-shrink:0}
.pcal i{display:block;font-style:normal;font-size:10px;color:#fff;padding:2px 0;background:var(--pex1)}.pev.hw .pcal i{background:var(--phw1)}
.pcal b{display:block;font-size:19px;padding:2px 0}
.pdt .w{font-weight:700;font-size:14px}.pdt small{display:block;color:var(--mut);font-size:11.5px}
.pct{font-size:14.5px;line-height:1.8;border-inline-start:3px solid var(--line);padding-inline-start:10px;white-space:pre-wrap}
.pev.cancel .pct{text-decoration:line-through;opacity:.65}
.pev-ed{font-size:12px;color:var(--mut);margin-top:6px}
.pef{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 14px 12px;font-size:12px;color:var(--mut)}
.pef a{color:var(--teal2);font-weight:600;cursor:pointer}
.pev-full{margin:0 14px 12px;padding:10px;background:var(--surf2);border-radius:10px;font-size:13px;white-space:pre-wrap}
.pev-upd{border-inline-start:4px solid #e0a82e;white-space:normal}.pev-ud{margin-top:6px;font-weight:600;font-size:13.5px}.pev-un{margin-top:4px;font-size:13.5px;white-space:pre-wrap;color:var(--mut)}.pev-link{display:block;margin-top:6px;color:var(--teal2);font-weight:600;cursor:pointer}
.pev-inq{display:block;width:100%;margin-top:8px}

/* أبناء وتبويبات */
.pkids,.ptabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pkids button,.ptabs button{border:1.5px solid var(--line);background:var(--card);color:var(--ink);border-radius:99px;padding:7px 14px;font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.pkids button.on{border-color:var(--teal);color:var(--teal2)}
.ptabs button.on{background:var(--teal);border-color:var(--teal);color:#fff}
.pkids .n,.ptabs .n{background:#dc4a3f;color:#fff;border-radius:99px;font-size:11px;padding:0 6px;min-width:18px;text-align:center}
.ptabs button.on .n{background:#fff;color:var(--teal2)}

/* الواجبات والاختبارات */
.pag{max-width:640px;margin:0 auto}
.pday{font-weight:800;font-size:13.5px;margin:14px 4px 8px;display:flex;align-items:center;gap:8px;color:var(--mut)}
.pday::after{content:'';flex:1;height:1px;background:var(--line)}
.pit{background:var(--card);border-radius:16px;padding:12px;display:flex;gap:12px;align-items:center;margin-bottom:8px;box-shadow:0 1px 5px rgba(30,79,163,.08);cursor:pointer;border-inline-start:4px solid var(--pex1)}
.pit.hw{border-inline-start-color:var(--phw1)}
.pit .ic{width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;background:var(--pexs)}
.pit.hw .ic{background:var(--phws)}
.pit b{display:block;font-size:15px}.pit small{color:var(--mut);font-size:12.5px;display:block;line-height:1.7;white-space:pre-wrap}
.pit small.clamp{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal}
.pit .tc{font-size:11.5px;opacity:.85}
.pit.off{opacity:.62;border-inline-start-color:#a3acb7}.pit.off .ic{background:var(--surf2)}
.tag{margin-inline-start:auto;border-radius:99px;padding:4px 10px;font-size:12px;font-weight:800;white-space:nowrap;align-self:flex-start}
.tag.x{background:var(--pexs);color:var(--pex1)}.tag.h{background:var(--phws);color:var(--phw1)}
.tag.hot{background:#fde6e4;color:#b3261e}.tag.done,.tag.xx{background:var(--surf2);color:var(--mut)}
.pit.off .tag{background:var(--surf2);color:var(--mut)}
.pag-empty{text-align:center;padding:40px 16px;color:var(--mut);background:var(--card);border-radius:18px}
.pag-empty .e{font-size:46px}.pag-empty b{display:block;color:var(--ink);font-size:16px;margin:6px 0}

/* استعلام عن ابني */
.pq{max-width:640px;margin:0 auto}
.pq-hi{background:var(--card);border-radius:16px;padding:12px 14px;margin-bottom:10px;font-size:14.5px}
.pq-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pq-t{border:0;border-radius:18px;padding:18px 10px;background:var(--card);box-shadow:0 2px 8px rgba(30,79,163,.08);cursor:pointer;font:inherit;color:var(--ink);display:flex;flex-direction:column;align-items:center;gap:4px;transition:transform .12s}
.pq-t:active{transform:scale(.97)}
.pq-t .i{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:26px;background:var(--surf2)}
.pq-t.a .i{background:#fff1e6}.pq-t.b .i{background:#fff8d9}.pq-t.c .i{background:#e6effc}.pq-t.d .i{background:var(--pexs)}.pq-t.e{border:1.5px dashed var(--line);box-shadow:none}
[data-theme=night] .pq-t .i{background:var(--surf2)}
.pq-t b{font-size:14.5px}.pq-t small{font-size:11.5px;color:var(--mut)}
.pq-note{margin-top:10px;font-size:12.5px;color:var(--mut);text-align:center}
.pq-ans{margin-top:12px}
.pq-card{background:var(--card);border-radius:18px;overflow:hidden;box-shadow:0 2px 10px rgba(30,79,163,.1);animation:rise .3s ease}
.pq-ch{display:flex;align-items:center;gap:10px;padding:12px 14px;background:linear-gradient(135deg,var(--hd,#1e4fa3),#3d74d6);color:#fff}
.pq-ch .i{width:36px;height:36px;border-radius:11px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:19px}
.pq-lines{padding:8px 14px}.pq-l{padding:9px 0;border-bottom:1px dashed var(--line);font-size:14.5px;line-height:1.8}.pq-l:last-child{border-bottom:0}
.pq-ft{padding:8px 14px 12px;font-size:11.5px;color:var(--mut)}

/* طلب تقرير */
.prq-intro{background:var(--card);border-radius:16px;padding:12px 14px;margin:0 auto 12px;max-width:640px;font-size:13.5px;color:var(--mut);line-height:1.8}
.prq-intro b{display:block;color:var(--ink);font-size:16px;margin-bottom:2px}
.prq{background:var(--card);border-radius:18px;box-shadow:0 2px 8px rgba(30,79,163,.08);overflow:hidden;margin:0 auto 12px;max-width:640px;padding-bottom:4px}
.prq-h{display:flex;gap:12px;align-items:center;padding:14px 16px;border-bottom:1px solid var(--line)}
.prq-h .av{width:44px;height:44px;border-radius:14px;background:var(--surf2);display:flex;align-items:center;justify-content:center;font-size:23px}
.prq-h b{display:block;font-size:16px}.prq-h small{color:var(--mut);font-size:12.5px}
.prq .steps{display:flex;padding:16px 10px 6px;margin:0;line-height:1.5}
.prq .stp{flex:1;text-align:center;position:relative;font-size:12.5px;color:var(--mut)}
.prq .stp i{display:flex;width:32px;height:32px;margin:0 auto 6px;border-radius:50%;align-items:center;justify-content:center;font-style:normal;font-size:14px;background:var(--surf3);position:relative;z-index:1}
.prq .stp small{display:block;font-size:11px;margin-top:2px}
.prq .stp.done i{background:#2fb37a;color:#fff}.prq .stp.now i{background:#3d74d6;color:#fff;box-shadow:0 0 0 5px rgba(61,116,214,.18)}
.prq .stp.done,.prq .stp.now{color:var(--ink);font-weight:600}
.prq .stp:not(:last-child)::after{content:'';position:absolute;top:16px;inset-inline-start:50%;width:100%;height:3px;background:var(--surf3)}
.prq .stp.done:not(:last-child)::after{background:#2fb37a}
.prq-note{margin:10px 14px;font-size:13px;color:var(--mut);background:var(--surf2);border-radius:10px;padding:9px 11px;line-height:1.8}
.prq-form{display:flex;gap:8px;padding:10px 14px}.prq-form input{flex:1}
.prq-btn{display:block;width:calc(100% - 28px);margin:6px 14px 12px}

/* تقرير المستوى */
.rv{max-width:560px;margin:0 auto;padding-bottom:16px;background:var(--bg);min-height:100%}
.rv-hero{background:radial-gradient(circle at 15% 0%,#5b8ff0 0,#1e4fa3 62%);color:#fff;padding:18px 16px 78px;display:flex;align-items:flex-start;gap:12px}
.rv-hero .nm{font-size:19px;font-weight:800}.rv-hero .meta{opacity:.88;font-size:12.5px;margin-top:2px}
.rv-ring{position:relative;width:86px;height:86px;flex-shrink:0}.rv-ring svg{transform:rotate(-90deg)}
.rv-ring .v{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;font-size:14px;text-align:center;line-height:1.2}
.rv-ring .v small{font-size:10px;font-weight:600;opacity:.85}
.rv-ks{margin:-58px 12px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;position:relative}
.rv-k{background:var(--card);border-radius:16px;padding:12px 6px;text-align:center;box-shadow:0 4px 14px rgba(30,79,163,.14)}
.rv-k .e{font-size:22px}.rv-k .l{font-size:11.5px;color:var(--mut);margin-top:2px}.rv-k .g{font-weight:800;font-size:14px;margin-top:2px;color:var(--lc)}
.dots{display:flex;justify-content:center;gap:3px;margin-top:6px}.dots i{width:9px;height:9px;border-radius:50%;background:var(--surf3)}.dots i[class^=c]{background:var(--lb)}
.rv-hl{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 12px 0}
.rv-hl>div{border-radius:16px;padding:12px;font-size:12.5px;line-height:1.9}
.rv-hl .s{background:#e7f7ee;color:#17603f}.rv-hl .w{background:#fff1ef;color:#8d2a20}
[data-theme=night] .rv-hl .s{background:#173d2e;color:#a6ecc7}[data-theme=night] .rv-hl .w{background:#45221f;color:#ffb8b0}
.rv-hl b{display:block;font-size:13px;margin-bottom:2px}
.rv-st{font-weight:800;font-size:14.5px;margin:16px 16px 8px}
.rv-sub{background:var(--card);border-radius:16px;padding:12px 14px;margin:0 12px 8px;box-shadow:0 1px 5px rgba(30,79,163,.07)}
.rv-sh{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.rv-sh .ic{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:19px;background:var(--ls)}
.rv-sh b{display:block;font-size:15px}.rv-sh small{color:var(--mut);font-size:11.5px}
.rv-sh .badge{margin-inline-start:auto;border-radius:99px;padding:3px 10px;font-size:12px;font-weight:800;background:var(--ls);color:var(--lc);position:static}
.rv-mt{display:grid;grid-template-columns:62px 1fr 64px;align-items:center;gap:8px;font-size:12px;color:var(--mut);margin:6px 0}
.rv-mt .track{height:8px;border-radius:99px;background:var(--surf3);overflow:hidden}.rv-mt .track i{display:block;height:100%;border-radius:99px;background:var(--lb)}
.rv-mt b{color:var(--lc);font-size:11.5px;text-align:left}
.rv-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}
.tg{border-radius:99px;padding:3px 9px;font-size:11.5px;font-weight:600}
.tg.p{background:#e7f7ee;color:#17603f}.tg.n{background:#fff1ef;color:#a12a20}.tg.o{background:var(--surf2);color:var(--mut)}
[data-theme=night] .tg.p{background:#173d2e;color:#a6ecc7}[data-theme=night] .tg.n{background:#45221f;color:#ffb8b0}
.rv-q{margin-top:9px;background:var(--surf2);border-radius:4px 14px 14px 14px;padding:8px 11px;font-size:13px}
.rv-part{margin:6px 16px;font-size:12px;color:var(--mut)}
.rv-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px}

/* حسابي */
.acc-hero{display:flex;gap:14px;align-items:center;background:linear-gradient(135deg,#1e4fa3,#3d74d6);color:#fff;border-radius:20px;padding:18px;margin:0 auto 12px;max-width:640px}
.acc-hero b{display:block;font-size:19px}.acc-hero small{display:block;opacity:.85;font-size:12.5px;margin-top:2px}
.acc-sec{background:var(--card);border-radius:18px;padding:14px 16px;margin:0 auto 12px;max-width:640px;box-shadow:0 1px 5px rgba(30,79,163,.06)}
.acc-t{font-weight:800;margin-bottom:10px}
.acc-kids{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.acc-kid{display:flex;gap:10px;align-items:center;background:var(--surf2);border-radius:14px;padding:10px 12px}.acc-kid .e{font-size:24px}
.acc-kid b{display:block}.acc-kid small{color:var(--mut)}
.acc-ok{color:#17794d;font-weight:600}.acc-no{color:var(--mut);font-size:13.5px}
.acc-out{display:block;width:100%;max-width:640px;margin:4px auto 0}
.page>.card{max-width:none}

/* المعلم: تعبئة الإفادة */
.iq-card{background:var(--card);border-radius:18px;box-shadow:0 2px 10px rgba(30,79,163,.1);overflow:hidden;margin:0 auto 14px;max-width:640px}
.iq-hd{display:flex;gap:12px;align-items:center;padding:14px 16px;color:#fff;background:linear-gradient(135deg,#1e4fa3,#3d74d6)}
.iq-card.done .iq-hd{background:linear-gradient(135deg,#17794d,#2fb37a)}
.iq-hd .av{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:24px}
.iq-hd b{display:block;font-size:16.5px}.iq-hd small{opacity:.88;font-size:12.5px}
.iq-hd .st{background:#ffd166;color:#5a4300;font-size:11.5px;font-weight:800;border-radius:99px;padding:4px 10px;white-space:nowrap}
.iq-card.done .iq-hd .st{background:#fff;color:#17794d}
.iq-req{margin:12px 14px 4px;background:var(--surf2);border-inline-start:4px solid #3d74d6;border-radius:10px;padding:9px 12px;font-size:13px;color:var(--mut)}
.iq-req b{color:var(--teal2)}.iq-req .when{display:block;font-size:11px;margin-top:2px}
.iq-prog{margin:10px 14px 0;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}
.iq-prog .bar{flex:1;height:7px;background:var(--surf3);border-radius:99px;overflow:hidden}.iq-prog .bar i{display:block;height:100%;background:linear-gradient(90deg,#3d74d6,#2fb37a);border-radius:99px;transition:width .25s}
.iq-sec{padding:12px 14px 2px}
.iq-l{display:flex;align-items:center;gap:6px;font-weight:700;font-size:14.5px;margin-bottom:8px}.iq-l .ok{margin-inline-start:auto;color:#2fb37a}
.iq-seg{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}.iq-seg.s3{grid-template-columns:repeat(3,1fr)}
.iq-seg button{border:1.5px solid var(--line);border-radius:12px;padding:8px 2px;text-align:center;font:inherit;font-size:12.5px;font-weight:600;background:var(--card);color:var(--mut);cursor:pointer}
.iq-seg button em{display:block;font-style:normal;font-size:17px;line-height:1.3}
.iq-seg button.on{background:var(--ls);border-color:var(--lb);color:var(--lc)}
.iq-chips{display:flex;flex-wrap:wrap;gap:6px}.iq-chips .h{width:100%;font-size:12px;color:var(--mut);margin-top:2px}
.iq-chips button{border:1.5px solid var(--line);border-radius:99px;padding:6px 12px;font:inherit;font-size:13px;background:var(--card);color:var(--ink);cursor:pointer}
.iq-chips button.p.on{background:#e3f6ec;border-color:#2fb37a;color:#17794d;font-weight:700}
.iq-chips button.n.on{background:#fde6e4;border-color:#dc4a3f;color:#a12a20;font-weight:700}
.iq-send{display:block;width:calc(100% - 28px);margin:14px 14px 16px;padding:14px;font-size:16px}
.iq-send.dis{background:var(--surf3);color:var(--mut);box-shadow:none;cursor:default}
.iq-sum{padding:12px 14px 14px}
.iq-tags{display:flex;flex-wrap:wrap;gap:6px}.iq-tags span{border-radius:99px;padding:4px 10px;font-size:12.5px;font-weight:700;background:var(--ls);color:var(--lc)}
.iq-thx{margin:10px 0;font-size:13px;color:#2f6b45}
.iq-alldone{max-width:640px;margin:0 auto 12px;background:var(--card);border-radius:16px;padding:12px 16px;color:var(--mut)}
@media (max-width:820px){.rv-ks{margin-top:-58px}.pq-grid{gap:8px}.ptabs{flex-wrap:nowrap}.ptabs button{flex:1;justify-content:center;padding:7px 6px;font-size:12.5px}}
