
/* Layout: right-hand sidebar app shell (RTL), role switch at top; content panes swap per view */
:root{
  --bg:#F4F7F8; --surface:#FFFFFF; --sunk:#EBF0F2; --fg:#15202B; --muted:#5A6672; --line:#DAE1E5;
  --brand:#0B8C80; --brand-ink:#FFFFFF; --side:#15202B; --gold:#FFC93C; --gold-soft:#FFF2C7; --arrow:#D9545F;
  --sk-l:#2FB3D6; --sk-r:#25B9A4; --sk-w:#F2B705; --sk-s:#F57C45;
  --ok:#2E7D5B; --ok-soft:#DDEFE5; --warn:#A86A00; --warn-soft:#F8EBCF; --bad:#B23A3A; --bad-soft:#F6DEDB;
  --f-display:"Readex Pro","IBM Plex Sans Arabic",Tahoma,sans-serif;
  --f-body:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:10px;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0F161D; --surface:#17212B; --sunk:#121B23; --fg:#E7EDF1; --muted:#9AA8B3; --line:#26323D;
  --brand:#3CC7B4; --brand-ink:#0F161D; --side:#121B23; --gold:#FFD03B; --gold-soft:#3A3216; --arrow:#E8727B;
  --sk-l:#4BC4E2; --sk-r:#3CC7B4; --sk-w:#FFD03B; --sk-s:#FF8C57;
  --ok:#6CC79A; --ok-soft:#173528; --warn:#E5B04F; --warn-soft:#3A2D12; --bad:#E58A80; --bad-soft:#3A1E1C; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0F161D; --surface:#17212B; --sunk:#121B23; --fg:#E7EDF1; --muted:#9AA8B3; --line:#26323D;
  --brand:#3CC7B4; --brand-ink:#0F161D; --side:#121B23; --gold:#FFD03B; --gold-soft:#3A3216; --arrow:#E8727B;
  --sk-l:#4BC4E2; --sk-r:#3CC7B4; --sk-w:#FFD03B; --sk-s:#FF8C57;
  --ok:#6CC79A; --ok-soft:#173528; --warn:#E5B04F; --warn-soft:#3A2D12; --bad:#E58A80; --bad-soft:#3A1E1C; color-scheme:dark}
*{box-sizing:border-box}
html,body{height:100%}
body{background:var(--bg);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.6}
h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;line-height:1.3}
h1{font-size:1.55rem} h2{font-size:1.15rem} h3{font-size:1rem}
button,input,select{font:inherit;color:inherit}
.num{font-variant-numeric:tabular-nums}
.mono{font-family:var(--f-mono);font-size:.85em;direction:ltr;unicode-bidi:isolate}
.app{display:grid;grid-template-columns:250px 1fr;min-height:100%}
.side{background:var(--side);color:#FFFFFF;padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow:auto}
/* logo variants: white wordmark on dark grounds, dark wordmark on light */
.lg-w{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lg-d{display:none}:root:not([data-theme="light"]) .lg-w{display:block}}
:root[data-theme="dark"] .lg-d{display:none} :root[data-theme="dark"] .lg-w{display:block}
.authlogo{height:auto;width:min(260px,70%);margin:0 auto 4px}
.xlink{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none;font-size:.85rem;opacity:1;padding:4px 10px;border:1px solid rgba(255,255,255,.25);border-radius:99px}
.xlink:hover{background:rgba(255,255,255,.1)}
.card .xlink{border-color:var(--line);color:var(--muted)}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.alert{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--r);padding:12px 16px}
.alert b{color:var(--warn)}
.exp{width:100%;font-family:var(--f-mono);font-size:.85rem;background:var(--sunk);color:var(--fg);border:1px solid var(--line);border-radius:8px;padding:10px;resize:vertical;line-height:1.7}
.lowc{border-color:var(--warn)}

.g1{grid-template-columns:1fr}
.c-wrt{background:var(--sunk);color:var(--fg);border:1px solid var(--sk-w)}
.c-t1{background:var(--sunk);color:var(--fg);border:1px solid var(--line)}
.c-t2{background:var(--fg);color:var(--bg)}
.c-spk{background:var(--sunk);color:var(--fg);border:1px solid var(--sk-s)}
.rec{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:var(--r);padding:14px;background:var(--sunk)}
.rec.st-rec{border-color:var(--bad)}
.recbtn{flex:none;width:58px;height:58px;border-radius:50%;border:0;background:var(--bad);color:#fff;font-size:1.4rem;cursor:pointer}
.rec.st-rec .recbtn{animation:pulse 1.2s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px var(--bad-soft)}}
@media (max-width:1100px){.plans{grid-template-columns:repeat(2,minmax(0,1fr))}}
i.sq{display:inline-block;width:8px;height:8px;border-radius:2px;margin-inline-end:6px;vertical-align:middle}
button.card.clickable{text-align:start;cursor:pointer;font:inherit;color:inherit}
button.card.clickable:hover{border-color:var(--brand)}
textarea{font:inherit;color:var(--fg);background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%;resize:vertical;line-height:1.7}
.essay{white-space:pre-wrap;direction:ltr;text-align:left;background:var(--sunk);border-radius:8px;padding:14px;line-height:1.75;max-height:320px;overflow:auto;font-size:.92rem}
.crit{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.critv{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.critv > span{display:flex;flex-direction:column;gap:2px;background:var(--sunk);border-radius:8px;padding:8px 10px;font-size:.78rem}
.critv b{font-size:1.1rem;font-family:var(--f-display)}
.fbk{background:var(--ok-soft);border-radius:8px;padding:10px 12px;font-size:.9rem}
.band{font-family:var(--f-display);font-size:2rem;color:var(--brand)}
.filecard{display:flex;flex-direction:column;gap:4px;border:1px dashed var(--line);border-radius:8px;padding:14px}
.filebtn{position:relative;overflow:hidden}
.filebtn input{position:absolute;inset:0;opacity:0;cursor:pointer}
.reqbox{display:flex;flex-direction:column;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.reqbox:last-child{border:0}
.slots{display:flex;flex-direction:column;gap:6px}
label.radio{flex-direction:row;align-items:center;gap:8px;color:var(--fg);font-size:.9rem;padding:8px 10px;border:1px solid var(--line);border-radius:8px;cursor:pointer}
input[type=radio]{width:auto;accent-color:var(--brand)}
.btn.wa{background:#1F9D55;border-color:#1F9D55;color:#fff}
.btn.tg{background:#2A8BC9;border-color:#2A8BC9;color:#fff}
table.cmp td:not(:first-child),table.cmp th:not(:first-child){text-align:center}
@media (max-width:900px){.crit,.critv{grid-template-columns:1fr 1fr}}
.langsw{display:grid;grid-template-columns:1fr 1fr;background:rgba(0,0,0,.18);border-radius:9px;padding:3px}
.langsw button{border:0;background:none;padding:5px;border-radius:7px;cursor:pointer;font-size:.8rem;opacity:.75;color:inherit}
.langsw button[aria-pressed="true"]{background:rgba(255,255,255,.16);opacity:1;font-weight:600}
body[data-lang=ar]{--f-body:"Almarai","IBM Plex Sans Arabic",Tahoma,sans-serif;--f-display:"Almarai","Readex Pro",Tahoma,sans-serif;font-family:var(--f-body)}
body[data-lang=ar] h1,body[data-lang=ar] h2,body[data-lang=ar] h3{font-weight:800}
body[data-lang=en]{font-family:"IBM Plex Sans","IBM Plex Sans Arabic",system-ui,sans-serif}
.tagline{font-size:.78rem;opacity:.7;padding:0 6px;margin-top:-10px}
.logo{display:flex;gap:10px;align-items:center;padding:0 6px}
.logo b{display:grid;place-items:center;width:40px;height:40px;border-radius:9px;background:var(--gold);color:#15202B;font-family:var(--f-display);font-size:.95rem;letter-spacing:.5px}
.logo img{height:44px;width:auto;max-width:180px}
.logo div{font-family:var(--f-display);font-weight:600;line-height:1.2}
.logo small{display:block;font-family:var(--f-body);font-weight:400;opacity:.75;font-size:.78rem}
.roles{display:grid;grid-template-columns:1fr 1fr 1fr;background:rgba(0,0,0,.18);border-radius:9px;padding:3px}
.roles button{border:0;background:none;padding:7px 4px;border-radius:7px;cursor:pointer;font-size:.85rem;opacity:.8}
.roles button[aria-pressed="true"]{background:var(--gold);color:#15202B;opacity:1;font-weight:600}
nav{display:flex;flex-direction:column;gap:2px}
nav button{display:flex;justify-content:space-between;align-items:center;text-align:start;border:0;background:none;padding:9px 12px;border-radius:8px;cursor:pointer;opacity:.85}
nav button:hover{background:rgba(255,255,255,.08);opacity:1}
nav button[aria-current="true"]{background:rgba(255,255,255,.14);opacity:1;font-weight:600;box-shadow:inset -3px 0 0 var(--gold)}
[dir=ltr] nav button[aria-current="true"]{box-shadow:inset 3px 0 0 var(--gold)}
nav .pill{background:var(--gold);color:#15202B;border-radius:99px;padding:0 8px;font-size:.75rem;font-weight:600}
.side .foot{margin-top:auto;font-size:.75rem;opacity:.7;padding:0 6px}
main{padding-block:26px 60px;padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px));min-width:0}
.wrap{max-width:1120px;margin:0 auto;display:flex;flex-direction:column;gap:20px}
.head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}
.head p{margin:2px 0 0;color:var(--muted)}
.demo{background:var(--gold-soft);border:1px dashed var(--gold);border-radius:var(--r);padding:8px 14px;font-size:.85rem}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.card > h2{margin-bottom:12px}
.grid{display:grid;gap:16px}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g32{grid-template-columns:2fr 1fr}
.kpi{display:flex;flex-direction:column;gap:2px}
.kpi span{color:var(--muted);font-size:.82rem}
.kpi strong{font-family:var(--f-display);font-size:1.7rem;font-variant-numeric:tabular-nums}
.kpi em{font-style:normal;font-size:.8rem;color:var(--ok)}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brand);background:var(--brand);color:var(--brand-ink);padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;white-space:nowrap}
.btn.ghost{background:transparent;color:var(--brand)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#15202B}
.btn.sm{padding:4px 10px;font-size:.8rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
input,select{background:var(--sunk);border:1px solid var(--line);border-radius:8px;padding:8px 12px;width:100%}
label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;color:var(--muted)}
label > input,label > select{color:var(--fg);font-size:.95rem}
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tbl{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:.9rem}
th{text-align:start;font-weight:500;color:var(--muted);font-size:.78rem;letter-spacing:.3px;padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:middle}
tr.click{cursor:pointer} tr.click:hover td{background:var(--sunk)}
.chip{display:inline-block;padding:1px 10px;border-radius:99px;font-size:.76rem;font-weight:600;white-space:nowrap}
.c-ok{background:var(--ok-soft);color:var(--ok)} .c-warn{background:var(--warn-soft);color:var(--warn)} .c-bad{background:var(--bad-soft);color:var(--bad)}
.c-plus{background:var(--gold-soft);color:var(--warn)} .c-self{background:var(--sunk);color:var(--muted);border:1px solid var(--line)}
.qz{border:1px solid var(--line);border-radius:10px;padding:8px 12px;margin-bottom:8px;background:var(--surface)}
.qz>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;cursor:pointer;list-style:none}
.qz>summary::-webkit-details-marker{display:none}
.qzt{width:100%;border-collapse:collapse;margin-top:6px;font-size:.88rem}
.qzt th{text-align:start;font-weight:600;color:var(--muted);font-size:.78rem;padding:6px 4px;border-bottom:1px solid var(--line)}
.qzt td:nth-child(n+2){white-space:nowrap}
.qzt td{padding:7px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.qm summary{cursor:pointer;margin-top:2px}.qm div{margin:4px 0 2px;padding-inline-start:8px;border-inline-start:3px solid var(--bad-soft)}
.bar{height:7px;background:var(--sunk);border-radius:99px;overflow:hidden;min-width:80px}
.bar i{display:block;height:100%;background:var(--brand);border-radius:99px}
.prog{display:flex;align-items:center;gap:8px}
.prog b{font-weight:500;font-size:.8rem;min-width:34px}
.muted{color:var(--muted)} .small{font-size:.82rem}
.list{display:flex;flex-direction:column}
.list > div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.list > div:last-child{border:0}
.drawer{position:fixed;inset:0;background:rgba(10,20,20,.45);display:flex;justify-content:flex-start;z-index:20}
.drawer .panel{background:var(--surface);width:min(440px,100%);height:100%;overflow:auto;padding:22px;padding-top:calc(22px + env(safe-area-inset-top,0px));display:flex;flex-direction:column;gap:16px}
.scorm{background:var(--sunk);border-radius:8px;padding:12px;font-family:var(--f-mono);font-size:.78rem;direction:ltr;text-align:left;line-height:1.8;overflow-x:auto}
.scorm span{color:var(--muted)}
.plan{display:flex;flex-direction:column;gap:12px;position:relative}
.plan.feat{border:2px solid var(--gold)}
.plan .price{font-family:var(--f-display);font-size:2rem}
.plan .price small{font-size:.9rem;color:var(--muted);font-family:var(--f-body)}
.plan ul{margin:0;padding-inline-start:18px;display:flex;flex-direction:column;gap:4px}
.ribbon{position:absolute;top:-12px;inset-inline-end:16px;background:var(--gold);color:#15202B;font-size:.75rem;font-weight:700;padding:2px 12px;border-radius:99px}
.drop{border:2px dashed var(--line);border-radius:var(--r);padding:22px;text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}
.lesson{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:8px;cursor:pointer;border:1px solid transparent}
.lesson:hover{background:var(--sunk)}
.lesson.on{border-color:var(--brand);background:var(--sunk)}
.dot{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;flex:none;border:2px solid var(--line);font-weight:600}
.dot.done{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.dot.cur{border-color:var(--gold);color:var(--warn)}
.sec{font-size:.72rem;letter-spacing:.6px;color:var(--muted);text-transform:uppercase;padding:10px 12px 2px;font-weight:600}
.stage{aspect-ratio:16/9;max-width:100%;background:#15202B;color:#F5F7F8;border-radius:var(--r);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(14px,3vw,30px);position:relative;overflow:hidden}
.stage .tag{font-size:.75rem;opacity:.75;letter-spacing:.5px}
.stage h3{font-size:clamp(1.05rem,2.6vw,1.7rem);color:#F5F7F8;max-width:28ch}
.stage p{opacity:.85;max-width:52ch;margin:0;font-size:clamp(.8rem,1.6vw,.95rem)}
.stage .ispring{position:absolute;bottom:10px;inset-inline-end:14px;font-size:.68rem;opacity:.5;font-family:var(--f-mono)}
.stage .q{display:flex;flex-direction:column;gap:6px}
.stage .q button{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#F5F7F8;text-align:start;padding:6px 12px;border-radius:7px;cursor:pointer;font-size:clamp(.78rem,1.5vw,.9rem)}
.stage .q button.sel{background:#FFD03B;color:#15202B;border-color:#FFD03B}
.ctrl{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.ring{--p:0;width:110px;height:110px;border-radius:50%;background:conic-gradient(var(--brand) calc(var(--p)*1%),var(--sunk) 0);display:grid;place-items:center;flex:none}
.ring div{width:84px;height:84px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-family:var(--f-display);font-size:1.4rem}
.locked{position:relative}
.locked .veil{position:absolute;inset:0;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:blur(2px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;border-radius:var(--r);padding:16px}
.toast{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--fg);color:var(--bg);padding:10px 20px;border-radius:99px;font-size:.9rem;z-index:30;max-width:90vw}
.auth{max-width:420px;margin:30px auto;display:flex;flex-direction:column;gap:14px}
.tabs{display:flex;border-bottom:1px solid var(--line)}
.tabs button{flex:1;border:0;background:none;padding:10px;cursor:pointer;border-bottom:2px solid transparent;color:var(--muted)}
.tabs button[aria-selected="true"]{border-color:var(--brand);color:var(--fg);font-weight:600}
.log{font-family:var(--f-mono);font-size:.76rem;direction:ltr;text-align:left}
.log > div{padding:6px 0;border-bottom:1px solid var(--line);display:flex;gap:10px;flex-wrap:wrap}
.step{display:flex;gap:12px}
.step b{flex:none;width:26px;height:26px;border-radius:50%;background:var(--brand);color:var(--brand-ink);display:grid;place-items:center;font-size:.8rem}
svg text{fill:var(--muted);font-family:var(--f-body);font-size:11px}
@media (max-width:900px){
  .app{grid-template-columns:1fr}
  .side{position:static;height:auto;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}
  nav{flex-direction:row;overflow-x:auto;gap:4px;padding-bottom:4px}
  nav button{white-space:nowrap;gap:6px}
  .side .foot{display:none}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g32,.g2,.g3{grid-template-columns:1fr}
  main{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
}
.ptq{padding:10px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:8px}
.ptq:last-child{border:0}
.ptq-h{display:flex;gap:10px;align-items:baseline}
.ptq-h b{flex:none;min-width:22px;color:var(--muted)}
input.gap{width:150px;display:inline-block;padding:4px 8px;margin:0 4px;font-family:var(--f-mono)}
.ptpass{direction:ltr;text-align:left;line-height:1.75;position:sticky;top:12px;max-height:80vh;overflow:auto}
.ptpass p{margin:0 0 10px}
.pthead{position:sticky;top:0;z-index:5;display:flex;flex-direction:column;gap:10px;padding:12px 18px}
.ptsteps{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.ptsteps i{height:6px;border-radius:99px;background:var(--sunk)}
.ptsteps i.done{background:var(--brand)} .ptsteps i.on{background:var(--gold)}
.ptl{display:flex;flex-direction:column;gap:10px}
.ptl-b{display:grid;grid-template-columns:110px 1fr;gap:12px;align-items:start}
.ptl-w{font-size:.8rem;color:var(--muted);padding-top:12px}
.ptl-c{border:1px solid var(--line);border-radius:var(--r);padding:10px 14px;background:var(--surface)}
.ptl-b.cur .ptl-c{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold-soft)}
.ptl-b.done .ptl-c{opacity:.7}
.ptl-l{display:inline-block;margin:2px 6px 2px 0;padding:1px 8px;border-radius:99px;background:var(--sunk);font-size:.78rem}
.ptl-l.ok{background:var(--ok-soft);color:var(--ok)}
.ms{display:flex;flex-direction:column;gap:8px}
.ms > div{display:flex;gap:10px;align-items:center;font-size:.9rem;color:var(--muted)}
.ms i{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-style:normal;font-size:.7rem;font-weight:700}
.ms .ok{color:var(--fg)} .ms .ok i{background:var(--ok);border-color:var(--ok);color:var(--surface)}
.pblk{border:1px solid var(--line);border-inline-start:4px solid;border-radius:6px;padding:4px 8px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:var(--sunk)}
@media (max-width:900px){.ptl-b{grid-template-columns:1fr;gap:4px}.ptl-w{padding:0}.ptpass{position:static;max-height:none}}
.wm{position:absolute;inset:0;pointer-events:none;display:grid;grid-template-columns:repeat(3,1fr);align-content:space-around;justify-items:center;opacity:.10;font:600 .8rem var(--f-mono);color:#fff;transform:rotate(-18deg);overflow:hidden;direction:ltr}
.agree{flex-direction:row;align-items:flex-start;gap:8px;color:var(--fg);font-size:.85rem}
.agree input{width:auto;margin-top:4px;accent-color:var(--brand)}
.ivbox{position:relative;border-radius:var(--r);overflow:hidden;background:#000;aspect-ratio:16/9}
.ivbox video{width:100%;height:100%;display:block}
.ivbox.vert{aspect-ratio:9/16;width:min(100%,430px);margin-inline:auto}
.ivq.live{inset:auto 0 0 0;background:none;padding:10px;place-items:end center}
.ivq.live .ivcard{box-shadow:0 8px 30px rgba(0,0,0,.35)}
.ivlive{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#0B8C80;font-weight:600}
.ivlive i{width:9px;height:9px;border-radius:50%;background:#C7002B;animation:ivp 1s infinite}
@keyframes ivp{50%{opacity:.25}}
.ivopt.pick{border-color:#0B8C80;background:#E3F3F1;font-weight:600}
.ivbox .wm{z-index:1}
.ivq{position:absolute;inset:0;z-index:2;background:rgba(15,22,29,.72);display:grid;place-items:center;padding:16px}
.ivcard{background:#fff;color:#15202B;border-radius:14px;padding:18px 20px;width:min(520px,100%);display:flex;flex-direction:column;gap:10px;text-align:left;max-height:100%;overflow:auto}
.ivcard h3{font-size:1.05rem}
.ivopt{border:1px solid #DAE1E5;background:#F4F7F8;color:#15202B;border-radius:8px;padding:9px 12px;text-align:left;cursor:pointer;font:inherit}
.ivopt:hover:not(:disabled){border-color:#0B8C80}
.ivopt.ok{background:#DDEFE5;border-color:#2E7D5B;font-weight:600}.ivopt.no{background:#F6DEDB;border-color:#B23A3A}
.ivex{margin:0;font-size:.9rem;line-height:1.5}
.ivtl{position:relative;height:6px;background:var(--sunk);border-radius:99px}
.ivtl i{position:absolute;top:-4px;width:14px;height:14px;border-radius:50%;background:var(--gold);border:2px solid var(--surface);transform:translateX(-50%)}
[dir=rtl] .ivtl i{transform:translateX(50%)}
.ivtl i.ok{background:var(--ok)}.ivtl i.no{background:var(--bad)}
.ivform{display:flex;flex-direction:column;gap:10px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.land{display:flex;flex-direction:column;gap:44px}
.land section > h2{font-size:1.45rem;margin-bottom:14px}
.land .pill{display:inline-block;background:var(--gold-soft);color:var(--warn);border-radius:99px;padding:3px 12px;font-size:.8rem;font-weight:700}
.hero{display:flex;flex-direction:column;gap:26px;background:linear-gradient(135deg,var(--side),#1E3340);color:#fff;border-radius:18px;padding:clamp(22px,5vw,48px)}
.hero h1{font-size:clamp(1.7rem,4.2vw,2.6rem);color:#fff;margin:12px 0 10px;max-width:22ch}
.hero p{max-width:60ch;opacity:.88;margin:0 0 20px;font-size:1.05rem}
.btn.lg{padding:12px 22px;font-size:1rem}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.5)}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;border-top:1px solid rgba(255,255,255,.15);padding-top:20px}
.stats div{display:flex;flex-direction:column}.stats b{font-family:var(--f-display);font-size:1.8rem;color:var(--gold)}.stats span{font-size:.85rem;opacity:.8}
.lsec p{margin:6px 0 0;color:var(--muted);font-size:.92rem}
.lsteps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:s}
.lsteps > div{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.lsteps b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--brand);color:var(--brand-ink);margin-bottom:10px}
.lsteps p{margin:4px 0 0;color:var(--muted);font-size:.9rem}
.lteam{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:center}
.lphoto{background:linear-gradient(180deg,var(--gold-soft),var(--sunk));border-radius:16px;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;aspect-ratio:4/5}
.lphoto img{width:92%;height:auto;display:block}
.lcreds{margin:10px 0 16px;padding-inline-start:20px;display:flex;flex-direction:column;gap:5px}
.lcerts{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.lcert{border:1px solid var(--line);background:var(--sunk);border-radius:10px;padding:6px;cursor:zoom-in;display:flex;flex-direction:column;gap:6px;text-align:start;font:inherit;color:inherit}
.lcert img{width:100%;height:90px;object-fit:cover;object-position:top;border-radius:6px;background:#fff}
.lcert span{font-size:.72rem;line-height:1.35;color:var(--muted)}
.lquotes{columns:3 280px;column-gap:16px}
.lquotes figure{break-inside:avoid;margin:0 0 16px}
.lquotes blockquote{margin:0;font-size:.95rem;line-height:1.8}
.lquotes blockquote::before{content:'“';font-size:2rem;line-height:0;color:var(--gold);vertical-align:-.4em;margin-inline-end:4px}
.lquotes figcaption{margin-top:10px;font-size:.8rem;color:var(--muted);font-weight:600}
.lshots{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.lshot{border:1px solid var(--line);border-radius:10px;padding:0;overflow:hidden;background:var(--sunk);cursor:zoom-in;aspect-ratio:16/10}
.lshot img{width:100%;height:100%;object-fit:cover;display:block}
.lfaq details{border-bottom:1px solid var(--line);padding:12px 0}.lfaq details:last-child{border:0}
.lfaq summary{cursor:pointer;font-weight:600}.lfaq p{margin:8px 0 0;color:var(--muted)}
.lend{text-align:center;display:flex;flex-direction:column;gap:8px;align-items:center}
.lfoot{display:flex;gap:16px;justify-content:center;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:.85rem}
.lfoot a{color:inherit}
.lbox{justify-content:center;align-items:center;padding:20px}
.lbox figure{margin:0;max-width:min(900px,100%);max-height:100%;display:flex;flex-direction:column;gap:8px;align-items:center}
.lbox img{max-width:100%;max-height:82vh;border-radius:8px;background:#fff}
.lbox figcaption{color:#fff;text-align:center}
@media (max-width:900px){.stats,.lsteps{grid-template-columns:repeat(2,minmax(0,1fr))}.lteam{grid-template-columns:1fr}.lphoto{max-width:260px;margin:0 auto}.lcerts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
.wmk{display:flex;flex-direction:column;line-height:1.1;color:#fff}.wmk span{font-family:var(--f-display);font-size:1.7rem;letter-spacing:.3px;font-weight:300;direction:ltr;text-align:start}.wmk b{font-weight:700;color:var(--gold)}.wmk small{font-size:.8rem;opacity:.8;margin-top:4px;unicode-bidi:plaintext;text-align:start}
.wmk img{display:block;width:200px;max-width:100%;height:auto}.logo .wmk img{width:190px;height:auto;max-width:100%}.hlogo{width:min(320px,70%);height:auto;display:block}.wmk-on-light .wmk img{width:240px}
.logo .wmk b{display:inline;width:auto;height:auto;background:none;border-radius:0;color:var(--gold);font-family:inherit;font-size:inherit;letter-spacing:inherit;place-items:normal}.logo .wmk span{font-weight:300}
.wmk-on-light .wmk{color:var(--fg)}.wmk-on-light .wmk b{color:var(--brand)}
.pcards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.pcard{display:flex;flex-direction:column;gap:10px}.pcard h3{margin:0;font-size:1.2rem}.pcard ul{margin:0;padding-inline-start:20px;display:flex;flex-direction:column;gap:4px}
.progsw{display:flex;gap:4px;background:rgba(255,255,255,.06);border-radius:10px;padding:4px;margin-bottom:12px}
.progsw button{flex:1;font:inherit;font-size:.8rem;font-weight:700;color:#fff;background:transparent;border:0;border-radius:7px;padding:8px 4px;cursor:pointer;opacity:.75}
.progsw button[aria-pressed="true"]{background:var(--gold);color:#15202B;opacity:1}.progsw button:disabled{cursor:not-allowed;opacity:.4}.progsw small{display:block;font-weight:400;font-size:.7rem}
@media (max-width:820px){.pcards{grid-template-columns:1fr}}
.cal{display:flex;flex-direction:column;gap:10px}.calday{display:flex;flex-direction:column;gap:6px;padding:10px;border:1px solid var(--line);border-radius:10px}
.slotb{font:inherit;font-variant-numeric:tabular-nums;border:1px solid var(--line);background:var(--surface);color:var(--fg);border-radius:8px;padding:6px 12px;cursor:pointer}.slotb:hover{border-color:var(--brand)}.slotb.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.chk{flex-direction:row!important;align-items:center;gap:4px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:.85rem}
.paynote{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:16px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--fg);font-weight:600}.paynote svg{color:var(--ok)}.paycards{display:inline-flex;gap:8px}.paycards b{font-size:.8rem;border:1px solid var(--line);border-radius:6px;padding:3px 10px;letter-spacing:.5px}
