@font-face{font-family:Cairo Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/cairo-arabic-wght-normal-CJWMIGCx.woff2)format("woff2-variations");unicode-range:U+6??,U+750-77F,U+870-88E,U+890-891,U+897-8E1,U+8E3-8FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Cairo Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/cairo-latin-ext-wght-normal-at8nfxId.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/cairo-latin-wght-normal-PfPtmrPZ.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Cairo Variable", "Cairo", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;--brand-950:#0a1730;--brand-900:#0f2347;--brand-800:#19608f;--brand-700:#2176b5;--brand-100:#e3eff9;--brand-50:#f3f8fc;--accent:var(--brand-primary);--accent-strong:#19608f;--accent-soft:#e8f2fa;--bg:#f5f7fa;--surface:#fff;--surface-2:#f1f4f8;--border:#e3e7ed;--border-strong:#cfd6e0;--text:#1f2937;--text-2:#4b5870;--text-3:#566379;--ok:#166b48;--ok-bg:#e6f4ec;--warn:#9a6209;--warn-bg:#fdf3dc;--bad:#b83a34;--bad-bg:#fbeae9;--info:#1d4ed8;--info-bg:#e5edff;--neutral:#475569;--neutral-bg:#e9edf3;--violet:#5b21b6;--violet-bg:#efe7fd;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #0f23470f, 0 2px 8px #0f23470a;--shadow-lg:0 12px 40px #0f23472e;--sidebar:268px;--topbar:64px;--focus:0 0 0 3px #2176b573;--c1:#2176b5;--c2:#19608f;--c3:#b45309;--c4:#0f2347;--c5:#be123c;--c6:#475569;--blue-light:#70b4e3;--brand-primary:#2173b3;--brand-ink:#0f1023;--brand-light:#71b4e3;--brand-secondary:#19608f;--brand-deep:#0f2347;--brand-accent:var(--brand-light);--gradient-background:linear-gradient(160deg, #e4e8f8 0%, #e7eefb 55%, #f7e9ea 100%);--gradient-header:linear-gradient(115deg, #71b4e342 0%, #2173b312 48%, #fff0 80%);--gradient-primary:linear-gradient(135deg, #2173b3 0%, #19608f 100%);--gradient-deep:linear-gradient(135deg, #0f1023 0%, #0f2347 48%, #19608f 100%);--gradient-surface:linear-gradient(180deg, #f9fbfe 0%, #f2f6fb 100%);--gradient-progress:linear-gradient(90deg, #71b4e3 0%, #2173b3 100%);--surface-primary:#fff;--surface-secondary:#f6f8fc;--text-primary:#0f2347;--text-secondary:#4b5870;--border-subtle:#e3e8f0;--shadow-card:0 1px 2px #0f23470a, 0 8px 24px #0f23470d;--shadow-raised:0 2px 4px #0f23470f, 0 14px 32px #0f23471a;--shadow-primary:0 6px 16px #2173b347;--radius-card:20px;--ease:cubic-bezier(.2, .7, .2, 1);--viz-brand:#2173b3;--viz-light:#71b4e3;--viz-deep:#19608f;--viz-navy:#0f2347;--viz-amber:#b45309;--viz-rose:#be123c;--viz-slate:#475569}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:500;line-height:1.6}:root[lang=ar] body{font-size:18px;line-height:1.7}h1,h2,h3,h4{color:var(--brand-900);letter-spacing:-.015em;margin:0;font-weight:800;line-height:1.25}:root[lang=ar] h1,:root[lang=ar] h2,:root[lang=ar] h3{letter-spacing:0;line-height:1.5}h1{font-size:1.75rem;font-weight:800}h2{font-size:1.25rem;font-weight:700}h3{font-size:1.05rem;font-weight:700}p{margin:0}a{color:var(--accent-strong)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}.card.ink :focus-visible,.hero :focus-visible{outline-color:#fff}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.muted{color:var(--text-3)}.small{font-size:.875rem}.xs{font-size:.78rem}.bold{font-weight:700}.num{font-variant-numeric:tabular-nums}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.row.nowrap{flex-wrap:nowrap}.stack{flex-direction:column;gap:1rem;display:flex}.stack-sm{flex-direction:column;gap:.5rem;display:flex}.spacer{flex:1}.grid{gap:1rem;display:grid}.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))}.g-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}.split{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.g2,.g3,.g4{grid-template-columns:minmax(0,1fr)}h1{font-size:1.4rem}}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;display:grid}.sidebar{height:100vh;color:var(--text-2);border-inline-end:1px solid var(--border);background:#fff;flex-direction:column;gap:.5rem;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow-y:auto}.brand{color:#fff;align-items:center;gap:.6rem;padding:.25rem .5rem .75rem;text-decoration:none;display:flex}.brand-text{letter-spacing:.04em;font-size:1.15rem;font-weight:800;line-height:1.1}.brand-text small{letter-spacing:.12em;color:#70b4e3;text-transform:uppercase;font-size:.68rem;font-weight:600;display:block}.nav{flex-direction:column;gap:2px;display:flex}.nav a{min-height:44px;color:var(--text-2);border-radius:12px;align-items:center;gap:.7rem;padding:.6rem .75rem;font-size:.97rem;font-weight:600;text-decoration:none;display:flex}.nav a:hover{background:var(--surface-2);color:var(--brand-900)}.nav a.active{background:var(--accent-soft);color:var(--accent-strong)}.nav-sep{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:.9rem .75rem .3rem;font-size:.72rem}.sidebar-foot{color:var(--text-3);border-top:1px solid var(--border);margin-top:auto;padding:.5rem;font-size:.78rem}.main{flex-direction:column;min-width:0;display:flex}.topbar{z-index:30;height:var(--topbar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f7faf0;border-bottom:1px solid #0000;align-items:center;gap:.6rem;padding:0 1.25rem;display:flex;position:sticky;top:0}.portal-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}.search{flex:1;max-width:420px;position:relative}.search input{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;width:100%;height:40px;padding-inline:2.4rem .8rem}.search svg{inset-inline-start:.75rem;color:var(--text-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-results{inset-inline:0;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:40;border-radius:12px;max-height:360px;padding:.35rem;position:absolute;top:46px;overflow:auto}.search-results a,.search-results button{width:100%;color:var(--text);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .6rem;text-decoration:none;display:flex}.search-results a:hover,.search-results button:hover{background:var(--surface-2)}.content{width:100%;max-width:1360px;margin-inline:auto;padding:1.5rem 1.5rem 3rem}.demo-banner{color:#6b4300;background:#fff7e0;border-bottom:1px solid #f1d58a;align-items:center;gap:.5rem;padding:.35rem 1.25rem;font-size:.83rem;display:flex}.menu-btn,.scrim{display:none}@media (width<=960px){.shell{grid-template-columns:minmax(0,1fr)}.sidebar{z-index:60;width:min(300px,86vw);transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-105%)}[dir=rtl] .sidebar{transform:translate(105%)}.sidebar.open{transform:none}.scrim.show{z-index:50;background:#0f234780;display:block;position:fixed;inset:0}.menu-btn{display:inline-flex}.content{padding:1rem 1rem 3rem}.topbar{padding:0 .75rem}.hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.1rem 1.25rem}.card.flat{box-shadow:none}.card.accent{background:linear-gradient(#f2f8fd,#fff);border-color:#a9cdea}.card-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}.card-head h2,.card-head h3{flex:1;min-width:0}.page-head{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}.page-head .titles{flex:1;min-width:240px}.page-head p{color:var(--text-2);margin-top:.25rem}.crumbs{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.85rem;display:flex}.crumbs a{color:var(--text-2);text-decoration:none}.crumbs a:hover{text-decoration:underline}.crumbs .sep{transform:scaleX(var(--flip,1))}[dir=rtl]{--flip:-1}[dir=rtl] .flip{transform:scaleX(-1)}.btn{border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--brand-900);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.45rem 1.1rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .12s;display:inline-flex}.btn:hover{background:var(--surface-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.btn.accent{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}.btn.danger{color:var(--bad);background:#fff;border-color:#e5a3a3}.btn.danger.solid{background:var(--bad);color:#fff;border-color:var(--bad)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--surface-2)}.btn.sm{border-radius:8px;min-height:32px;padding:.2rem .65rem;font-size:.85rem}.btn[disabled]{opacity:.5;cursor:not-allowed}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.badge{white-space:nowrap;background:var(--neutral-bg);color:var(--neutral);border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .65rem;font-size:.8rem;font-weight:600;line-height:1.6;display:inline-flex}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.warn{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.badge.info{background:var(--info-bg);color:var(--info)}.badge.violet{background:var(--violet-bg);color:var(--violet)}.pill-dot{top:6px;color:#fff;background:#dc2626;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:800;display:flex;position:absolute;inset-inline-end:6px}.progress{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;min-width:60px;height:8px;overflow:hidden}.progress>span{background:var(--accent);border-radius:99px;height:100%;transition:width .4s;display:block}.progress.blue>span{background:var(--brand-700)}.kpi{flex-direction:column;gap:.2rem;display:flex}.kpi .label{color:var(--text-2);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}.kpi .value{color:var(--brand-900);font-size:2rem;font-weight:800;line-height:1.15}.kpi .sub{color:var(--text-3);font-size:.82rem}.delta{align-items:center;gap:2px;font-size:.82rem;font-weight:700;display:inline-flex}.delta.up{color:var(--ok)}.delta.down{color:var(--bad)}.delta.flat{color:var(--text-3)}.avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}.tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;gap:.25rem;margin-bottom:1rem;display:flex;overflow-x:auto}.tabs button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.65rem 1rem;font-weight:700}.tabs button[aria-selected=true]{color:var(--brand-900);border-bottom-color:var(--accent)}.seg{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{cursor:pointer;color:var(--text-2);background:0 0;border:0;min-height:36px;padding:.35rem .85rem;font-weight:700}.seg button[aria-pressed=true]{background:var(--brand-900);color:#fff}.field{flex-direction:column;gap:.3rem;min-width:0;display:flex}.field label,.field .lbl{color:var(--text-2);font-size:.88rem;font-weight:700}.field input,.field select,.field textarea,.input{border:1px solid var(--border-strong);background:#fff;border-radius:10px;width:100%;min-width:0;min-height:42px;padding:.45rem .7rem}.field textarea{resize:vertical;min-height:90px}.field.err input,.field.err select,.field.err textarea{border-color:var(--bad);background:#fff8f8}.field .err-msg{color:var(--bad);font-size:.82rem;font-weight:600}.field .hint{color:var(--text-3);font-size:.8rem}.filters{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:1rem;display:flex}.filters .field{flex:150px;min-width:150px;max-width:240px}.check{align-items:flex-start;gap:.5rem;font-size:.93rem;display:flex}.check input{width:20px;height:20px;accent-color:var(--accent-strong);margin-top:2px}.table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}table.t{border-collapse:collapse;width:100%;font-size:.92rem}table.t th{text-align:start;background:var(--surface-2);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border);padding:.65rem .85rem;font-size:.78rem}table.t th button{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:800;display:inline-flex}table.t td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.65rem .85rem}table.t tr:last-child td{border-bottom:0}table.t tbody tr:hover{background:#fafcfe}table.t tr.clickable{cursor:pointer}.cards-list{display:none}@media (width<=760px){.table-wrap.responsive{display:none}.cards-list{flex-direction:column;gap:.6rem;display:flex}.cards-list .card{padding:.85rem 1rem}}.pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}.empty svg{color:var(--text-3)}.skeleton{background:linear-gradient(90deg, var(--surface-2), #e9eef5, var(--surface-2));background-size:200% 100%;border-radius:8px;animation:1.2s infinite sk}@keyframes sk{to{background-position:-200% 0}}.notice{border:1px solid;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.92rem;display:flex}.notice.info{background:var(--info-bg);color:#17368f;border-color:#b7c9f7}.notice.warn{background:var(--warn-bg);color:#6b3500;border-color:#efd196}.notice.bad{background:var(--bad-bg);color:#7c1616;border-color:#efb3b3}.notice.ok{background:var(--ok-bg);color:#124d27;border-color:#a9dcb7}.notice svg{flex:none;margin-top:2px}.tip{display:inline-flex;position:relative}.tip-box{z-index:70;bottom:calc(100% + 6px);background:var(--brand-950);color:#fff;text-align:start;pointer-events:none;border-radius:8px;width:max-content;max-width:260px;padding:.45rem .65rem;font-size:.8rem;font-weight:500;position:absolute;inset-inline-start:50%;transform:translate(-50%)}[dir=rtl] .tip-box{transform:translate(50%)}.help-btn{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}.overlay{z-index:100;background:#0f23478c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 2rem);display:flex}.modal.wide{width:min(880px,100%)}.modal-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}.modal-head h2{flex:1}.modal-body{padding:1.25rem;overflow-y:auto}.modal-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem;display:flex}.drawer-wrap{z-index:100;background:#0f234780;justify-content:flex-end;display:flex;position:fixed;inset:0}[dir=rtl] .drawer-wrap{justify-content:flex-start}.drawer{background:var(--surface);width:min(560px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s slide;display:flex}@keyframes slide{0%{opacity:.4;transform:translate(30px)}}[dir=rtl] .drawer{animation-name:slide-rtl}@keyframes slide-rtl{0%{opacity:.4;transform:translate(-30px)}}.toasts{inset-inline-end:1rem;z-index:200;flex-direction:column;gap:.5rem;max-width:min(380px,100vw - 2rem);display:flex;position:fixed;bottom:1rem}.toast{background:var(--brand-900);color:#fff;box-shadow:var(--shadow-lg);border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.93rem;font-weight:600;display:flex}.toast.warn{background:#7a3a05}.toast.bad{background:#8b1a1a}.toast.ok{background:#0f5a3a}.menu{inset-inline-end:0;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:50;border-radius:12px;min-width:260px;max-width:calc(100vw - 1.5rem);padding:.4rem;position:absolute;top:46px}.menu .item{cursor:pointer;text-align:start;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .7rem;font-weight:600;text-decoration:none;display:flex}.menu .item:hover{background:var(--surface-2)}.menu hr{border:0;border-top:1px solid var(--border);margin:.3rem 0}.rel{position:relative}.notif{border-radius:10px;align-items:flex-start;gap:.6rem;padding:.65rem .7rem;display:flex}.notif.unread{background:var(--info-bg)}.skillbar{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;height:10px;position:relative}.skillbar .fill{background:var(--accent);border-radius:99px;position:absolute;inset-block:0;inset-inline-start:0}.skillbar .prev{background:var(--text-3);border-radius:2px;width:3px;height:14px;position:absolute;top:-3px}.skillbar .target{background:var(--brand-900);border-radius:2px;width:3px;height:16px;position:absolute;top:-4px}.level{align-items:center;gap:3px;display:inline-flex}.level i{background:var(--border);border-radius:2px;width:10px;height:10px;display:block}.level i.on{background:var(--accent)}.timeline{border-inline-start:2px solid var(--border);margin:0;margin-inline-start:6px;padding:0;list-style:none}.timeline li{padding:0 0 1rem 1rem;padding-inline:1rem 0;position:relative}.timeline li:before{content:"";inset-inline-start:-7px;background:var(--accent);border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:6px}.chart-box{direction:ltr;width:100%;height:280px}.legend{flex-wrap:wrap;gap:.4rem 1rem;margin-top:.4rem;font-size:.82rem;display:flex}.legend span{align-items:center;gap:.35rem;display:inline-flex}.legend i{border-radius:2px;width:14px;height:4px;display:inline-block}.hero{background:linear-gradient(135deg, var(--brand-900), var(--brand-800));color:#fff;border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}.hero h1{color:#fff}.hero .muted{color:#b7c7dc}.hero .badge{color:#fff;background:#ffffff29}.next-action{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.next-action .ic{background:var(--accent-soft);width:52px;height:52px;color:var(--accent-strong);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}.checklist{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.checklist li{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.6rem .8rem;display:flex}.checklist li.met{background:#f4fbf6;border-color:#bfe3c9}.checklist li.unmet{background:#fffaf2;border-color:#f0d9a8}.cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal .dh{color:var(--text-3);text-align:center;padding:4px 0;font-size:.75rem;font-weight:700}.cal .day{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:84px;padding:4px;font-size:.75rem;overflow:hidden}.cal .day.off{background:var(--surface-2);color:var(--text-3)}.cal .day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.cal .ev{text-align:start;background:var(--accent-soft);width:100%;color:var(--accent-strong);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:5px;margin-top:2px;padding:1px 4px;font-size:.72rem;font-weight:600;display:block;overflow:hidden}.cal .ev.dl{background:var(--warn-bg);color:var(--warn)}@media (width<=640px){.cal .day{min-height:56px}.cal .ev{height:8px;padding:0;font-size:0}}.login{background:var(--bg);min-height:100vh;color:var(--text);padding:2rem 1rem 3rem}.login-inner{max-width:1080px;margin:0 auto}.login h1{color:var(--brand-900);font-size:2.2rem}.persona{color:var(--text);text-align:start;border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:.5rem;width:100%;padding:1.1rem 1.2rem;display:flex}.persona:hover{border-color:var(--accent)}.persona:focus-visible{box-shadow:var(--focus)}.print-only{display:none}.cv{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:820px;margin:0 auto;padding:2rem;font-size:.95rem}.cv h1{font-size:1.7rem}.cv h2{text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--brand-900);margin:1.1rem 0 .5rem;padding-bottom:3px;font-size:1rem}.doc-preview{white-space:pre-wrap;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:10px;padding:1rem;line-height:1.7}.watermark{color:#b45309;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}@media print{body{background:#fff}.sidebar,.topbar,.demo-banner,.no-print,.toasts,.scrim,.tabs,.btn,.filters,.menu-btn,.pager{display:none!important}.shell{display:block}.content{max-width:none;padding:0}.card,.table-wrap,.cv{box-shadow:none;break-inside:avoid;border-color:#999}.print-only{display:block}.cards-list{display:none!important}.table-wrap.responsive{display:block!important}.page-break{break-before:page}body.printing-area>*{visibility:hidden}}.cv-print{display:none}@media print{body.printing-cv .shell{display:none!important}body.printing-cv .cv-print{display:block!important}body.printing-cv{background:#fff}.cv-print .cv{border:0}}@media (width<=640px){.topbar{flex-wrap:wrap;row-gap:.4rem;height:auto;padding:.5rem .75rem}.search{flex:100%;order:10;max-width:none}.portal-chip{font-size:.74rem}}.topbar{min-width:0}.chart-box{max-width:100%;overflow:hidden}.card{overflow-wrap:anywhere}.brand-logo{border-radius:10px;width:100%;max-width:200px;height:auto;display:block}.brand-tagline{letter-spacing:.04em;color:var(--accent-strong);padding:0 .5rem .5rem;font-size:.78rem;font-weight:700}.badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.badge:has(svg):before{display:none}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.25rem 1.75rem;display:grid}.stat{border-top:1px solid var(--border);padding-top:.75rem;display:block}.kpi.stat .label{color:var(--text-2);font-size:.9rem;font-weight:600;display:block}.kpi.stat .value{font-size:1.75rem;font-weight:800}.page-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.page-top p{margin-top:2px}.notice{border:0;border-inline-start:3px solid var(--border-strong);color:var(--text-2);background:0 0;border-radius:0;padding:.15rem 0 .15rem .85rem;font-size:.9rem;display:block}[dir=rtl] .notice{padding:.15rem .85rem .15rem 0}.notice.warn{color:var(--text-2);border-inline-start-color:#d9a441}.notice.bad{border-inline-start-color:var(--bad);color:var(--bad)}.notice.ok{color:var(--text-2);border-inline-start-color:#3c9a73}.notice.info{border-inline-start-color:var(--accent)}.card.accent{border-color:var(--border);background:#fff}.notice.info,.notice.warn,.notice.bad,.notice.ok{background:0 0}.page-head{margin-bottom:1rem}.page-head p{margin-top:2px}:root{--bg:#e9edf4;--panel:#fff;--soft:#f6f7fb}body{background:var(--bg)}.shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);gap:16px;padding:16px}.sidebar{border:0;border-radius:26px;height:calc(100vh - 32px);padding:22px 14px 16px;top:16px;box-shadow:0 1px 2px #0f23470d}.main{background:var(--panel);border-radius:28px;min-height:calc(100vh - 32px);overflow:hidden}.demo-banner{text-align:center;background:#fff8e5;border-bottom:0;justify-content:center}.topbar{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;height:72px;padding:0 1.75rem}.search input{background:var(--soft);border:0;border-radius:14px;height:44px}.content{padding:.5rem 1.75rem 2.5rem}.card{background:var(--soft);box-shadow:none;border:0;border-radius:20px;padding:1.25rem 1.4rem}.card.flat{border:1px solid var(--border);background:#fff}.table-wrap{background:#fff;border-radius:16px}.cards-list .card{background:var(--soft)}.stat{border-top:0;padding-top:0}.field input,.field select,.field textarea,.input{background:#fff}.filters .field input,.filters .field select{background:var(--soft);border-color:#0000}.sidebar-profile{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 18px;display:flex}.sidebar-profile .name{color:var(--brand-900);font-weight:800}.sidebar-profile .role{color:var(--text-3);font-size:.82rem;line-height:1.3}.sidebar-out{width:100%;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.7rem;padding:.6rem .75rem;font-weight:600;display:flex}.sidebar-out:hover{background:var(--surface-2);color:var(--brand-900)}.brand{padding-bottom:0}.tabs{border-bottom:0;gap:.5rem}.tabs button{border-bottom:0;border-radius:12px;margin:0;padding:.5rem 1rem}.tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong)}.seg{background:var(--soft);border:0;border-radius:12px;padding:3px}.seg button[aria-pressed=true]{color:var(--accent-strong);background:#fff;box-shadow:0 1px 2px #0f234714}@media (width<=960px){.shell{grid-template-columns:minmax(0,1fr);gap:0;padding:0}.main{border-radius:0;min-height:100vh}.sidebar{border-radius:0 26px 26px 0;height:100vh;top:0}[dir=rtl] .sidebar{border-radius:26px 0 0 26px}.topbar,.content{padding-inline:1rem}}.rings{gap:1rem 1.5rem;display:grid}.ring-item{align-items:center;gap:.9rem;display:flex}.ring-num{fill:var(--brand-900);font-family:inherit;font-size:1.15rem;font-weight:800}.ring-label{color:var(--brand-900);font-weight:700;line-height:1.25}.ring-sub{color:var(--text-3);font-size:.85rem}.month-bars{align-items:flex-end;gap:.6rem;height:190px;padding-top:.5rem;display:flex}.mb-col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}.mb-track{background:#eceef5;border-radius:10px;flex:1;align-items:flex-end;width:100%;max-width:38px;display:flex;overflow:hidden}.mb-bar{background:#c9d6ea;border-radius:10px;width:100%}.mb-bar.on{background:var(--accent)}.mb-lbl{color:var(--text-3);font-size:.78rem}.dash-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){.dash-grid{grid-template-columns:minmax(0,1fr)}}.mini-cal .mc-title{color:var(--brand-900);margin-bottom:.5rem;font-weight:800}.mc-grid{text-align:center;gap:2px;display:grid}.mc-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.mc-h{color:var(--text-3);padding:4px 0;font-size:.75rem}.mc-d{color:var(--text);font-variant-numeric:tabular-nums;border-radius:50%;padding:7px 0;font-size:.85rem;position:relative}.mc-d.off{color:#6b7689}.mc-d.today{background:var(--accent);color:#fff;font-weight:700}.mc-d.mark:not(.today):after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:2px;left:50%}.rings{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (width>=1500px){.rings{grid-template-columns:repeat(3,1fr)}}.ring-item svg{flex:none}table.t td .bold,table.t td .xs{white-space:nowrap}table.t td,table.t th{padding-inline:.7rem}.tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.tile{text-align:start;background:var(--soft);color:var(--text);cursor:default;border:2px solid #0000;border-radius:18px;flex-direction:column;gap:2px;min-width:0;padding:.9rem 1rem .7rem;text-decoration:none;display:flex}button.tile,a.tile{cursor:pointer}button.tile:hover,a.tile:hover{background:#eef2f9}.tile.on{border-color:var(--accent);background:#fff}.tile-label{color:var(--text-2);font-size:.88rem;font-weight:600}.tile-value{color:var(--brand-900);font-size:1.9rem;font-weight:800;line-height:1.15}.tile-foot{color:var(--accent);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}.tile-delta{min-width:40px}.tile-sub{color:var(--text-3);font-size:.82rem}.spark{flex:none;width:64px;height:24px}.spark-empty{width:64px;height:24px}.board-chart{background:var(--soft);border-radius:20px;margin-top:.75rem;padding:1rem 1.25rem .5rem}.board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.gap-row{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;align-items:center;gap:.75rem;padding:.4rem 0;display:grid}@media (width<=640px){.gap-row{grid-template-columns:1fr;gap:4px}}.certificate{color:var(--brand-900);aspect-ratio:1.414;border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;max-width:900px;margin:0 auto;padding:14px;position:relative;container-type:inline-size}.cert-frame{border:3px solid var(--accent);outline:1px solid var(--accent);outline-offset:-9px;text-align:center;flex-direction:column;align-items:center;gap:.8cqw;height:100%;padding:3.2cqw 5cqw 2.2cqw;display:flex}.cert-title{letter-spacing:.02em;color:var(--accent-strong);margin-top:1.4cqw;font-size:4.4cqw;font-weight:800}.cert-line{color:var(--text-2);font-size:1.9cqw}.cert-line.small{font-size:1.6cqw}.cert-name{border-bottom:2px solid var(--border-strong);margin:.4cqw 0;padding:0 3cqw .4cqw;font-size:4.6cqw;font-weight:800}.cert-program{font-size:3cqw;font-weight:700}.cert-foot{text-align:start;justify-content:space-between;align-items:flex-end;gap:2cqw;width:100%;margin-top:auto;display:flex}.cert-meta{gap:.9cqw;font-size:1.5cqw;display:grid}.cert-meta span{color:var(--text-3);font-size:1.3cqw;display:block}.cert-qr{color:var(--text-3);flex-direction:column;align-items:center;gap:4px;font-size:1.1cqw;display:flex}.cert-qr svg{width:11cqw;height:11cqw}.cert-accred{color:var(--text-2);font-size:1.4cqw;font-weight:700}.cert-note{color:var(--text-3);max-width:80%;font-size:1.15cqw}.cert-revoked{color:#b83a3438;pointer-events:none;z-index:2;place-items:center;font-size:12cqw;font-weight:800;display:grid;position:absolute;inset:0;transform:rotate(-18deg)}.cert-print{display:none}.verify{background:var(--bg);min-height:100vh;padding:2rem 1rem}.verify-inner{max-width:620px;margin:0 auto}@page cert{size:A4 landscape;margin:8mm}@media print{body.printing-cert .shell,body.printing-cert .overlay,body.printing-cert .toasts{display:none!important}body.printing-cert .cert-print{page:cert;display:block!important}body.printing-cert .cert-print .certificate{border:0;max-width:none}}@media (width<=640px){.topbar{height:auto;min-height:64px}}.skip-link{inset-inline-start:12px;z-index:300;background:var(--brand-900);color:#fff;border-radius:10px;padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-64px}.skip-link:focus{color:#fff;top:12px}.filters-toggle{margin-bottom:.6rem;display:none}@media (width<=760px){.filters-toggle{display:inline-flex}.filters:not(.open){display:none}}@media (pointer:coarse),(width<=760px){.btn.sm{min-height:40px;padding-inline:.9rem}.help-btn{justify-content:center;align-items:center;min-width:32px;min-height:32px}.sidebar-out{min-height:44px}.tabs button,.seg button{min-height:40px}}.cv-name{color:var(--brand-900);margin:0;font-size:1.7rem;font-weight:800}.demo-banner{background:var(--soft);color:var(--text-3);justify-content:center;gap:.75rem;padding:.3rem 1rem;font-size:.8rem}.banner-x{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:28px;min-height:28px;padding:0 .4rem;font-size:1.1rem;line-height:1}.banner-x:hover{background:#e3e8f0}.dir-programme .xs{white-space:normal}:root{--ink:#0f1023;--gradient-backdrop:radial-gradient(900px 600px at 0% 100%, #f7d6d2f2, transparent 60%), radial-gradient(900px 560px at 100% 0%, #b0cff4e6, transparent 62%), linear-gradient(160deg, #a9b4e6 0%, #aebfec 50%, #b9c6ef 100%);--gradient-canvas:radial-gradient(760px 460px at 100% 0%, #cde5fb99, transparent 70%), radial-gradient(760px 460px at 0% 100%, #fbe0d88c, transparent 70%), linear-gradient(135deg, #f8f9ff 0%, #fcfcff 100%);--gradient-primary:linear-gradient(135deg, #1b1d3b 0%, #0f1023 100%);--gradient-deep:linear-gradient(135deg, #0f1023 0%, #1b1d3b 100%);--gradient-progress:linear-gradient(90deg, #c9f0b8 0%, #93dccb 50%, #7ec3f0 100%);--gradient-surface:#fff;--shadow-primary:0 8px 18px #0f102340;--shadow-card:0 1px 2px #4650960f, 0 12px 32px #46509614;--pastel-1:#dfddfc;--pastel-2:#cde5fb;--pastel-3:#dff4d6;--pastel-4:#fbe0d8;--radius-card:28px}body{background:var(--gradient-backdrop);background-attachment:fixed}.shell.v3{min-height:100vh;padding:28px;display:block}.canvas{isolation:isolate;background:var(--gradient-canvas);border-radius:44px;flex-direction:column;min-height:calc(100vh - 56px);display:flex;position:relative;box-shadow:0 40px 90px #3c468c47,0 2px 6px #3c468c14}.top{z-index:30;background:linear-gradient(#f7f9fff5,#f7f9ffd1 70%,#f7f9ff00);border-radius:44px 44px 0 0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px 36px 8px;display:grid;position:sticky;top:0}.top .brand{padding:0}.pillnav{scrollbar-width:none;background:#ffffffd1;border-radius:999px;justify-self:center;gap:4px;max-width:100%;padding:5px;display:flex;overflow-x:auto;box-shadow:0 1px 2px #46509614}.pillnav::-webkit-scrollbar{display:none}.pillnav a{min-height:44px;color:var(--text-2);white-space:nowrap;transition:background-color .18s var(--ease), color .18s var(--ease);border-radius:999px;align-items:center;padding:0 1.15rem;font-size:.97rem;font-weight:600;text-decoration:none;display:inline-flex}.pillnav a:hover{color:var(--ink);background:#46509612}.pillnav a.active{background:var(--ink);color:#fff}.tools{background:#ffffffd1;border-radius:999px;align-items:center;gap:4px;padding:5px 6px;display:flex;box-shadow:0 1px 2px #46509614}.tools .btn.ghost{border-radius:999px}.tools .avatar,.tools img.avatar{box-shadow:0 0 0 2px #fff}.cbody{flex:1;grid-template-columns:112px minmax(0,1fr);align-items:start;display:grid}.rail{z-index:20;background:#ffffffd1;border-radius:40px;flex-direction:column;align-items:center;gap:6px;width:76px;margin:14px 0 0 30px;padding:10px 0;display:flex;position:sticky;top:108px;box-shadow:0 1px 2px #46509614,0 10px 26px #46509614}[dir=rtl] .rail{margin:14px 30px 0 0}.rail a,.rail .rail-out{width:56px;height:56px;color:var(--text-2);cursor:pointer;transition:background-color .18s var(--ease), color .18s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;text-decoration:none;display:grid;position:relative}.rail a:hover,.rail .rail-out:hover{color:var(--ink);background:#46509614}.rail a.active{background:var(--ink);color:#fff;box-shadow:var(--shadow-primary)}.rail a span,.rail .rail-out span{inset-inline-start:calc(100% + 12px);background:var(--ink);color:#fff;white-space:nowrap;opacity:0;pointer-events:none;z-index:5;border-radius:8px;padding:4px 10px;font-size:.82rem;font-weight:600;transition:opacity .15s;position:absolute;top:50%;transform:translateY(-50%)}.rail a:hover span,.rail a:focus-visible span,.rail .rail-out:hover span,.rail .rail-out:focus-visible span{opacity:1}.rail hr{border:0;border-top:1px solid var(--border-subtle);width:28px;margin:4px 0}.rail-gap,.fab{display:none}.rail a.active{background:var(--ink);color:#fff}.sidebar{display:none}.main{box-shadow:none;background:0 0;border-radius:0;min-height:0;position:static;overflow:visible}.main:before{display:none}.canvas .content{max-width:none;padding:4px 36px 56px 8px}[dir=rtl] .canvas .content{padding:4px 8px 56px 36px}.canvas .demo-banner{border-radius:14px;margin:0 36px}.content h1,.page-head h1,.page-top h1{letter-spacing:-.02em;color:var(--ink);font-size:clamp(1.9rem,3.4vw,2.9rem);font-weight:600}:root[lang=ar] .content h1{letter-spacing:0;font-weight:700}.page-head,.page-top{margin-bottom:1.1rem}.card{border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fff;border:0;padding:1.5rem 1.7rem}.card.flat{border:1px solid var(--border-subtle);box-shadow:none;background:#fff}.card.accent{background:#fff;border:0}.card-head h2,.card-head h3{color:var(--ink);font-size:1.3rem;font-weight:600}.card.ink{background:var(--gradient-deep);color:#fff}.card.ink h2,.card.ink h3,.card.ink .muted{color:#fff}.card.ink .muted{opacity:.8}.hero{background:var(--gradient-deep);box-shadow:var(--shadow-card);border-radius:var(--radius-card)}.btn{transition:background-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease);border-radius:999px}.btn.primary,.btn.accent{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary);border-color:#0000}.btn.primary:hover,.btn.accent:hover{background:var(--gradient-primary);filter:brightness(1.25);transform:translateY(-1px)}.btn.sm{border-radius:999px}.btn.danger.solid{color:#fff}.ink-btn-light{color:var(--ink)!important;box-shadow:none!important;background:#fff!important}.icon-btn{background:0 0;border-radius:50%}.icon-btn:hover{background:#46509614}.portal-chip{display:none}.tabs{background:#ffffffd9;border-radius:999px;gap:2px;max-width:100%;margin-bottom:1rem;padding:5px;display:inline-flex;box-shadow:0 1px 2px #46509614}.tabs button{transition:background-color .18s var(--ease), color .18s var(--ease);border-radius:999px;padding:.5rem 1.1rem}.tabs button:hover{background:#46509612}.tabs button[aria-selected=true]{background:var(--ink);color:#fff;box-shadow:none}.seg{background:#ffffffd9;border-radius:999px;padding:4px;box-shadow:0 1px 2px #46509614}.seg button{border-radius:999px}.seg button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}.pill-select{appearance:none;border:1px solid var(--border-subtle);min-height:44px;color:var(--text-2);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23566379' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 14px center no-repeat;border-radius:999px;padding:0 2.4rem 0 1.1rem;font-weight:600}[dir=rtl] .pill-select{background-position:14px;padding:0 1.1rem 0 2.4rem}.search input,.filters .field input,.filters .field select{box-shadow:inset 0 0 0 1px var(--border-subtle);background:#fff;border:0;border-radius:999px}.field input,.field select,.field textarea{border-radius:16px}.progress{background:#eceffa;border-color:#0000;height:10px}.progress>span{background:var(--gradient-progress)}.progress.warn>span{background:linear-gradient(90deg,#f6c98a,#e8932c)}.progress.bad>span{background:linear-gradient(90deg,#f3a6a0,#dc4f46)}.tiles{gap:14px}.tile{background:var(--pastel-1);color:var(--ink);box-shadow:none;transition:transform .18s var(--ease), box-shadow .18s var(--ease);border:0;border-radius:26px;padding:1rem 1.15rem .85rem}.tile:nth-child(4n+2){background:var(--pastel-2)}.tile:nth-child(4n+3){background:var(--pastel-3)}.tile:nth-child(4n){background:var(--pastel-4)}button.tile:hover,a.tile:hover{background-color:inherit;transform:translateY(-2px);box-shadow:0 10px 24px #46509629}.tile.on{box-shadow:inset 0 0 0 2px var(--ink);background-color:inherit}.tile-label{color:#0f1023b8;font-weight:600}.tile-value{color:var(--ink);font-size:2.1rem}.tile-foot{color:var(--ink)}.tile-sub{color:#0f1023b3}.board-chart{background:0 0;margin-top:.5rem;padding:.75rem 0 0}.table-wrap{box-shadow:var(--shadow-card);background:#fff;border:0;border-radius:24px;overflow:hidden}table.t thead th{color:var(--text-2);background:#f4f6fd}table.t tbody tr:hover td{background:#f7f8fe}.modal{border-radius:32px;box-shadow:0 30px 80px #0f10234d}.modal-head{background:0 0;border-radius:32px 32px 0 0}.overlay{background:#0f102380}.persona{box-shadow:var(--shadow-card);transition:transform .18s var(--ease), box-shadow .18s var(--ease);background:#fff;border:0;border-radius:26px}.persona:hover{transform:translateY(-3px);box-shadow:0 16px 36px #46509633}.login,.verify{background:var(--gradient-background);background-attachment:fixed}.badge{font-weight:700}.avatar{box-shadow:0 0 0 2px #fff}.skeleton{background:linear-gradient(90deg,#eef0fa,#e2e6f6,#eef0fa) 0 0/200% 100%}.feature{color:var(--ink);background:var(--pastel-1);border-radius:28px;flex-direction:column;gap:6px;padding:1.2rem 1.35rem;display:flex}.feature.p2{background:var(--pastel-2)}.feature.p3{background:var(--pastel-3)}.feature.p4{background:var(--pastel-4)}.feature h3{color:var(--ink);font-size:1.35rem;font-weight:600}.feature p{color:#0f1023c7;font-size:.93rem}.feature .foot{justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.chip-dark{background:var(--ink);color:#fff;border-radius:14px;align-items:center;gap:8px;padding:7px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.row-tile{grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:14px;padding:8px 0;display:grid}.row-tile .ic{background:var(--ink);color:#fff;border-radius:16px;place-items:center;width:52px;height:52px;display:grid}.row-tile .pc{color:var(--ink);font-variant-numeric:tabular-nums;font-size:1.6rem;font-weight:300}.dash-v3{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:start;gap:1.1rem;display:grid}.legend-dots{color:var(--text-2);flex-wrap:wrap;gap:14px;font-size:.9rem;display:flex}.legend-dots i{border-radius:50%;width:10px;height:10px;margin-inline-end:6px;display:inline-block}.chart-tip{background:var(--ink);color:#fff;border-radius:16px;padding:8px 14px;font-size:.85rem;box-shadow:0 10px 24px #0f10234d}.chart-tip .muted{color:#ffffffb8}@media (width<=1100px){.dash-v3{grid-template-columns:minmax(0,1fr)}.top{padding-inline:24px}.canvas .content{padding-inline:8px 24px}}@media (width<=960px){body{background-attachment:scroll}.shell.v3{padding:0}.canvas{min-height:100vh;box-shadow:none;border-radius:0;padding-bottom:104px}.top{border-radius:0;grid-template-columns:auto minmax(0,1fr);gap:10px;padding:14px 16px 6px}.top .brand img,.top .brand svg{max-height:36px}.tools{justify-self:end}.pillnav{order:3;grid-column:1/-1;justify-self:stretch}.cbody{display:block}.canvas .content,[dir=rtl] .canvas .content{padding:8px 16px 24px}.canvas .demo-banner{margin:0 16px}.rail{z-index:70;background:#fffffff5;border-radius:36px;flex-direction:row;justify-content:space-around;align-items:center;gap:0;width:auto;height:72px;margin:0;padding:0 8px;position:fixed;inset:auto 14px 14px;box-shadow:0 14px 36px #3c468c47}[dir=rtl] .rail{margin:0}.rail a{border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:auto;min-width:58px;height:60px;padding:6px 4px;font-size:.72rem;display:flex}.rail a span{opacity:1;color:inherit;text-overflow:ellipsis;pointer-events:auto;background:0 0;max-width:70px;padding:0;font-size:.72rem;line-height:1.1;position:static;overflow:hidden;transform:none}.rail a.active{color:var(--ink);box-shadow:none;background:0 0}.rail a.active span{font-weight:800}.rail a.active svg{color:var(--ink)}.rail a.active:after{content:"";background:var(--ink);border-radius:4px;width:22px;height:4px;position:absolute;bottom:2px}.rail a.extra,.rail hr,.rail .rail-out{display:none}.rail-gap{flex:none;width:64px;display:block}.fab{z-index:80;bottom:42px;background:var(--gradient-primary);color:#fff;cursor:pointer;border:5px solid #fff;border-radius:50%;place-items:center;width:62px;height:62px;display:grid;position:fixed;inset-inline-start:calc(50% - 31px);box-shadow:0 10px 24px #0f102359}.sidebar{display:flex}.scrim.show{z-index:90}.sidebar{z-index:100}}@media print{body{background:#fff}.canvas{box-shadow:none;background:#fff;border-radius:0}.rail,.top .pillnav,.tools,.fab{display:none!important}.card,.tile{box-shadow:none}}@media (prefers-reduced-motion:reduce){.btn.primary:hover,button.tile:hover,a.tile:hover,.persona:hover{transform:none}}.search-pop{border-radius:20px;width:min(440px,100vw - 2rem);padding:.7rem;top:52px}.search-pop .search{max-width:none}.chart-box.surface{background:#f4f5f9;border-radius:22px;padding:12px 8px 2px}.pill-select.sm{min-height:38px;padding-inline:.9rem 2.1rem;font-size:.88rem}.multiples{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.multiple{margin:0}.multiple figcaption{margin-bottom:4px;padding-inline:4px}.gbar{cursor:copy;touch-action:none;border-radius:14px;height:46px;margin:12px 14px 8px;position:relative;box-shadow:inset 0 0 0 1px #0f23471f}.ghandle{cursor:grab;touch-action:none;border:3px solid #fff;border-radius:50%;width:32px;height:32px;margin:-16px 0 0 -16px;padding:0;position:absolute;top:50%;box-shadow:0 0 0 1.5px #0f234773,0 3px 8px #0f234740}.ghandle:active{cursor:grabbing}.ghandle.on{box-shadow:0 0 0 3px var(--brand-deep), 0 3px 10px #0f23474d}.gscale{justify-content:space-between;margin:0 14px;display:flex}.preset{background:var(--surface-primary);border:2px solid var(--border-subtle);cursor:pointer;text-align:start;width:150px;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:14px;flex-direction:column;align-items:stretch;gap:6px;padding:8px;display:flex}.preset:hover{box-shadow:var(--shadow-card)}.preset.on{border-color:var(--brand-primary)}.preset.static{cursor:default}.preset-sw{border-radius:9px;height:34px;box-shadow:inset 0 0 0 1px #0f23471a}.theme-preview{background:var(--gradient-background);border:1px solid var(--border-subtle);border-radius:16px;grid-template-columns:112px 1fr;gap:10px;min-height:190px;padding:10px;display:grid;overflow:hidden}.tp-side{background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:8px;display:flex}.tp-nav{color:var(--text-2);border-radius:9px;align-items:center;gap:6px;padding:6px 8px;font-size:.78rem;font-weight:700;display:flex}.tp-nav.on{background:var(--gradient-primary);color:#fff}.tp-main{background:#fff;border-radius:12px;padding:10px 12px;position:relative;overflow:hidden}.tp-main:before{content:"";background:var(--gradient-header);height:70px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 35%,#0000);mask-image:linear-gradient(#000 35%,#0000)}.tp-main>*{position:relative}.tp-head{flex-direction:column;display:flex}.tp-tile{background:var(--gradient-surface);border-radius:12px;justify-content:space-between;align-items:baseline;margin-top:10px;padding:8px 10px;display:flex}.field .err{color:var(--bad);font-size:.82rem}@media (width<=640px){.theme-preview{grid-template-columns:1fr}.tp-side{flex-direction:row}.preset{width:calc(50% - 6px)}}.chart-card .card-head>h2,.chart-card .card-head>h3{overflow-wrap:anywhere;flex:220px}@media (width<=760px){.chart-card .card-head>h2,.chart-card .card-head>h3{flex-basis:100%}}.tile .up{color:#0b5a3a}.tile .down{color:#8c231d}.mode-btn{white-space:nowrap}@media (width<=560px){.tools .lang-label{display:none}.tools{gap:2px;padding-inline:4px}}@media (width<=400px){.top .brand img,.top .brand svg{max-height:30px}}@media (width<=960px){.sidebar:not(.open){visibility:hidden;transition:transform .2s,visibility 0s linear .2s}.sidebar.open{visibility:visible;transition-delay:0s}}@media (pointer:coarse),(width<=760px){.icon-btn{min-width:44px;min-height:44px}}html[data-mode=classic]{--font:"Cairo Variable", "Cairo", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;--brand-950:#0a1730;--brand-900:#0f2347;--brand-800:#19608f;--brand-700:#2176b5;--brand-100:#e3eff9;--brand-50:#f3f8fc;--accent:var(--brand-primary);--accent-strong:#19608f;--accent-soft:#e8f2fa;--bg:#f5f7fa;--surface:#fff;--surface-2:#f1f4f8;--border:#e3e7ed;--border-strong:#cfd6e0;--text:#1f2937;--text-2:#4b5870;--text-3:#566379;--ok:#166b48;--ok-bg:#e6f4ec;--warn:#9a6209;--warn-bg:#fdf3dc;--bad:#b83a34;--bad-bg:#fbeae9;--info:#1d4ed8;--info-bg:#e5edff;--neutral:#475569;--neutral-bg:#e9edf3;--violet:#5b21b6;--violet-bg:#efe7fd;--radius:14px;--radius-sm:9px;--shadow:0 1px 2px #0f23470f, 0 2px 8px #0f23470a;--shadow-lg:0 12px 40px #0f23472e;--sidebar:268px;--topbar:64px;--focus:0 0 0 3px #2176b573;--c1:#2176b5;--c2:#19608f;--c3:#b45309;--c4:#0f2347;--c5:#be123c;--c6:#475569;--blue-light:#70b4e3;--brand-primary:#2173b3;--brand-ink:#0f1023;--brand-light:#71b4e3;--brand-secondary:#19608f;--brand-deep:#0f2347;--brand-accent:var(--brand-light);--gradient-background:radial-gradient(1100px 520px at 0% -10%, #71b4e352, transparent 62%), radial-gradient(900px 480px at 100% 0%, #2173b324, transparent 60%), linear-gradient(180deg, #edf2f9, #e6ecf5);--gradient-header:linear-gradient(115deg, #71b4e342 0%, #2173b312 48%, #fff0 80%);--gradient-primary:linear-gradient(135deg, #2173b3 0%, #19608f 100%);--gradient-deep:linear-gradient(135deg, #0f1023 0%, #0f2347 48%, #19608f 100%);--gradient-surface:linear-gradient(180deg, #f9fbfe 0%, #f2f6fb 100%);--gradient-progress:linear-gradient(90deg, #71b4e3 0%, #2173b3 100%);--surface-primary:#fff;--surface-secondary:#f6f8fc;--text-primary:#0f2347;--text-secondary:#4b5870;--border-subtle:#e3e8f0;--shadow-card:0 1px 2px #0f23470a, 0 8px 24px #0f23470d;--shadow-raised:0 2px 4px #0f23470f, 0 14px 32px #0f23471a;--shadow-primary:0 6px 16px #2173b347;--radius-card:20px;--ease:cubic-bezier(.2, .7, .2, 1);--viz-brand:#2173b3;--viz-light:#71b4e3;--viz-deep:#19608f;--viz-navy:#0f2347;--viz-amber:#b45309;--viz-rose:#be123c;--viz-slate:#475569}html[data-mode=classic] *{box-sizing:border-box}html[data-mode=classic]{-webkit-text-size-adjust:100%}html[data-mode=classic] body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;font-weight:500;line-height:1.6}html[data-mode=classic][lang=ar] body{font-size:18px;line-height:1.7}html[data-mode=classic] h1,html[data-mode=classic] h2,html[data-mode=classic] h3,html[data-mode=classic] h4{color:var(--brand-900);letter-spacing:-.015em;margin:0;font-weight:800;line-height:1.25}html[data-mode=classic][lang=ar] h1,html[data-mode=classic][lang=ar] h2,html[data-mode=classic][lang=ar] h3{letter-spacing:0;line-height:1.5}html[data-mode=classic] h1{font-size:1.75rem;font-weight:800}html[data-mode=classic] h2{font-size:1.25rem;font-weight:700}html[data-mode=classic] h3{font-size:1.05rem;font-weight:700}html[data-mode=classic] p{margin:0}html[data-mode=classic] a{color:var(--accent-strong)}html[data-mode=classic] button,html[data-mode=classic] input,html[data-mode=classic] select,html[data-mode=classic] textarea{font:inherit;color:inherit}html[data-mode=classic] :focus-visible{outline:3px solid var(--accent-strong);outline-offset:2px}html[data-mode=classic] .hero :focus-visible,html[data-mode=classic] .card.ink :focus-visible{outline-color:#fff}html[data-mode=classic] .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}html[data-mode=classic] .muted{color:var(--text-3)}html[data-mode=classic] .small{font-size:.875rem}html[data-mode=classic] .xs{font-size:.78rem}html[data-mode=classic] .bold{font-weight:700}html[data-mode=classic] .num{font-variant-numeric:tabular-nums}html[data-mode=classic] .row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}html[data-mode=classic] .row.nowrap{flex-wrap:nowrap}html[data-mode=classic] .stack{flex-direction:column;gap:1rem;display:flex}html[data-mode=classic] .stack-sm{flex-direction:column;gap:.5rem;display:flex}html[data-mode=classic] .spacer{flex:1}html[data-mode=classic] .grid{gap:1rem;display:grid}html[data-mode=classic] .g2{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-mode=classic] .g3{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-mode=classic] .g4{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-mode=classic] .g-auto{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}html[data-mode=classic] .split{grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){html[data-mode=classic] .g4,html[data-mode=classic] .g3{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-mode=classic] .split{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){html[data-mode=classic] .g2,html[data-mode=classic] .g3,html[data-mode=classic] .g4{grid-template-columns:minmax(0,1fr)}html[data-mode=classic] h1{font-size:1.4rem}}html[data-mode=classic] .shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);min-height:100vh;display:grid}html[data-mode=classic] .sidebar{height:100vh;color:var(--text-2);border-inline-end:1px solid var(--border);background:#fff;flex-direction:column;gap:.5rem;padding:1rem .75rem;display:flex;position:sticky;top:0;overflow-y:auto}html[data-mode=classic] .brand{color:#fff;align-items:center;gap:.6rem;padding:.25rem .5rem .75rem;text-decoration:none;display:flex}html[data-mode=classic] .brand-text{letter-spacing:.04em;font-size:1.15rem;font-weight:800;line-height:1.1}html[data-mode=classic] .brand-text small{letter-spacing:.12em;color:#70b4e3;text-transform:uppercase;font-size:.68rem;font-weight:600;display:block}html[data-mode=classic] .nav{flex-direction:column;gap:2px;display:flex}html[data-mode=classic] .nav a{min-height:44px;color:var(--text-2);border-radius:12px;align-items:center;gap:.7rem;padding:.6rem .75rem;font-size:.97rem;font-weight:600;text-decoration:none;display:flex}html[data-mode=classic] .nav a:hover{background:var(--surface-2);color:var(--brand-900)}html[data-mode=classic] .nav a.active{background:var(--accent-soft);color:var(--accent-strong)}html[data-mode=classic] .nav-sep{text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);padding:.9rem .75rem .3rem;font-size:.72rem}html[data-mode=classic] .sidebar-foot{color:var(--text-3);border-top:1px solid var(--border);margin-top:auto;padding:.5rem;font-size:.78rem}html[data-mode=classic] .main{flex-direction:column;min-width:0;display:flex}html[data-mode=classic] .topbar{z-index:30;height:var(--topbar);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f5f7faf0;border-bottom:1px solid #0000;align-items:center;gap:.6rem;padding:0 1.25rem;display:flex;position:sticky;top:0}html[data-mode=classic] .portal-chip{background:var(--accent-soft);color:var(--accent-strong);white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .7rem;font-size:.85rem;font-weight:700;display:inline-flex}html[data-mode=classic] .search{flex:1;max-width:420px;position:relative}html[data-mode=classic] .search input{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;width:100%;height:40px;padding-inline:2.4rem .8rem}html[data-mode=classic] .search svg{inset-inline-start:.75rem;color:var(--text-3);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}html[data-mode=classic] .search-results{inset-inline:0;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:40;border-radius:12px;max-height:360px;padding:.35rem;position:absolute;top:46px;overflow:auto}html[data-mode=classic] .search-results a,html[data-mode=classic] .search-results button{width:100%;color:var(--text);text-align:start;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;padding:.5rem .6rem;text-decoration:none;display:flex}html[data-mode=classic] .search-results a:hover,html[data-mode=classic] .search-results button:hover{background:var(--surface-2)}html[data-mode=classic] .content{width:100%;max-width:1360px;margin-inline:auto;padding:1.5rem 1.5rem 3rem}html[data-mode=classic] .demo-banner{color:#6b4300;background:#fff7e0;border-bottom:1px solid #f1d58a;align-items:center;gap:.5rem;padding:.35rem 1.25rem;font-size:.83rem;display:flex}html[data-mode=classic] .menu-btn,html[data-mode=classic] .scrim{display:none}@media (width<=960px){html[data-mode=classic] .shell{grid-template-columns:minmax(0,1fr)}html[data-mode=classic] .sidebar{z-index:60;width:min(300px,86vw);transition:transform .2s;position:fixed;inset-block:0;inset-inline-start:0;transform:translate(-105%)}html[data-mode=classic][dir=rtl] .sidebar{transform:translate(105%)}html[data-mode=classic] .sidebar.open{transform:none}html[data-mode=classic] .scrim.show{z-index:50;background:#0f234780;display:block;position:fixed;inset:0}html[data-mode=classic] .menu-btn{display:inline-flex}html[data-mode=classic] .content{padding:1rem 1rem 3rem}html[data-mode=classic] .topbar{padding:0 .75rem}html[data-mode=classic] .hide-sm{display:none!important}}@media (prefers-reduced-motion:reduce){html[data-mode=classic] *{transition:none!important;animation:none!important}}html[data-mode=classic] .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:1.1rem 1.25rem}html[data-mode=classic] .card.flat{box-shadow:none}html[data-mode=classic] .card.accent{background:linear-gradient(#f2f8fd,#fff);border-color:#a9cdea}html[data-mode=classic] .card-head{flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.85rem;display:flex}html[data-mode=classic] .card-head h2,html[data-mode=classic] .card-head h3{flex:1;min-width:0}html[data-mode=classic] .page-head{flex-wrap:wrap;align-items:flex-start;gap:1rem;margin-bottom:1.25rem;display:flex}html[data-mode=classic] .page-head .titles{flex:1;min-width:240px}html[data-mode=classic] .page-head p{color:var(--text-2);margin-top:.25rem}html[data-mode=classic] .crumbs{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:.4rem;font-size:.85rem;display:flex}html[data-mode=classic] .crumbs a{color:var(--text-2);text-decoration:none}html[data-mode=classic] .crumbs a:hover{text-decoration:underline}html[data-mode=classic] .crumbs .sep{transform:scaleX(var(--flip,1))}html[data-mode=classic][dir=rtl]{--flip:-1}html[data-mode=classic][dir=rtl] .flip{transform:scaleX(-1)}html[data-mode=classic] .btn{border:1px solid var(--border-strong);background:var(--surface);min-height:44px;color:var(--brand-900);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:.45rem;padding:.45rem 1.1rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:background .12s;display:inline-flex}html[data-mode=classic] .btn:hover{background:var(--surface-2)}html[data-mode=classic] .btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}html[data-mode=classic] .btn.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}html[data-mode=classic] .btn.accent{background:var(--accent-strong);border-color:var(--accent-strong);color:#fff}html[data-mode=classic] .btn.danger{color:var(--bad);background:#fff;border-color:#e5a3a3}html[data-mode=classic] .btn.danger.solid{background:var(--bad);color:#fff;border-color:var(--bad)}html[data-mode=classic] .btn.ghost{background:0 0;border-color:#0000}html[data-mode=classic] .btn.ghost:hover{background:var(--surface-2)}html[data-mode=classic] .btn.sm{border-radius:8px;min-height:32px;padding:.2rem .65rem;font-size:.85rem}html[data-mode=classic] .btn[disabled]{opacity:.5;cursor:not-allowed}html[data-mode=classic] .icon-btn{cursor:pointer;width:40px;height:40px;color:var(--text-2);background:0 0;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}html[data-mode=classic] .badge{white-space:nowrap;background:var(--neutral-bg);color:var(--neutral);border-radius:999px;align-items:center;gap:.3rem;padding:.1rem .65rem;font-size:.8rem;font-weight:600;line-height:1.6;display:inline-flex}html[data-mode=classic] .badge.ok{background:var(--ok-bg);color:var(--ok)}html[data-mode=classic] .badge.warn{background:var(--warn-bg);color:var(--warn)}html[data-mode=classic] .badge.bad{background:var(--bad-bg);color:var(--bad)}html[data-mode=classic] .badge.info{background:var(--info-bg);color:var(--info)}html[data-mode=classic] .badge.violet{background:var(--violet-bg);color:var(--violet)}html[data-mode=classic] .pill-dot{top:6px;color:#fff;background:#dc2626;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.7rem;font-weight:800;display:flex;position:absolute;inset-inline-end:6px}html[data-mode=classic] .progress{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;min-width:60px;height:8px;overflow:hidden}html[data-mode=classic] .progress>span{background:var(--accent);border-radius:99px;height:100%;transition:width .4s;display:block}html[data-mode=classic] .progress.blue>span{background:var(--brand-700)}html[data-mode=classic] .kpi{flex-direction:column;gap:.2rem;display:flex}html[data-mode=classic] .kpi .label{color:var(--text-2);align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;display:flex}html[data-mode=classic] .kpi .value{color:var(--brand-900);font-size:2rem;font-weight:800;line-height:1.15}html[data-mode=classic] .kpi .sub{color:var(--text-3);font-size:.82rem}html[data-mode=classic] .delta{align-items:center;gap:2px;font-size:.82rem;font-weight:700;display:inline-flex}html[data-mode=classic] .delta.up{color:var(--ok)}html[data-mode=classic] .delta.down{color:var(--bad)}html[data-mode=classic] .delta.flat{color:var(--text-3)}html[data-mode=classic] .avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;display:inline-flex}html[data-mode=classic] .tabs{border-bottom:1px solid var(--border);scrollbar-width:thin;gap:.25rem;margin-bottom:1rem;display:flex;overflow-x:auto}html[data-mode=classic] .tabs button{color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-bottom:3px solid #0000;margin-bottom:-1px;padding:.65rem 1rem;font-weight:700}html[data-mode=classic] .tabs button[aria-selected=true]{color:var(--brand-900);border-bottom-color:var(--accent)}html[data-mode=classic] .seg{border:1px solid var(--border-strong);background:var(--surface);border-radius:10px;display:inline-flex;overflow:hidden}html[data-mode=classic] .seg button{cursor:pointer;color:var(--text-2);background:0 0;border:0;min-height:36px;padding:.35rem .85rem;font-weight:700}html[data-mode=classic] .seg button[aria-pressed=true]{background:var(--brand-900);color:#fff}html[data-mode=classic] .field{flex-direction:column;gap:.3rem;min-width:0;display:flex}html[data-mode=classic] .field label,html[data-mode=classic] .field .lbl{color:var(--text-2);font-size:.88rem;font-weight:700}html[data-mode=classic] .field input,html[data-mode=classic] .field select,html[data-mode=classic] .field textarea,html[data-mode=classic] .input{border:1px solid var(--border-strong);background:#fff;border-radius:10px;width:100%;min-width:0;min-height:42px;padding:.45rem .7rem}html[data-mode=classic] .field textarea{resize:vertical;min-height:90px}html[data-mode=classic] .field.err input,html[data-mode=classic] .field.err select,html[data-mode=classic] .field.err textarea{border-color:var(--bad);background:#fff8f8}html[data-mode=classic] .field .err-msg{color:var(--bad);font-size:.82rem;font-weight:600}html[data-mode=classic] .field .hint{color:var(--text-3);font-size:.8rem}html[data-mode=classic] .filters{flex-wrap:wrap;align-items:flex-end;gap:.6rem;margin-bottom:1rem;display:flex}html[data-mode=classic] .filters .field{flex:150px;min-width:150px;max-width:240px}html[data-mode=classic] .check{align-items:flex-start;gap:.5rem;font-size:.93rem;display:flex}html[data-mode=classic] .check input{width:20px;height:20px;accent-color:var(--accent-strong);margin-top:2px}html[data-mode=classic] .table-wrap{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow-x:auto}html[data-mode=classic] table.t{border-collapse:collapse;width:100%;font-size:.92rem}html[data-mode=classic] table.t th{text-align:start;background:var(--surface-2);color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-bottom:1px solid var(--border);padding:.65rem .85rem;font-size:.78rem}html[data-mode=classic] table.t th button{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-weight:800;display:inline-flex}html[data-mode=classic] table.t td{border-bottom:1px solid var(--border);vertical-align:middle;padding:.65rem .85rem}html[data-mode=classic] table.t tr:last-child td{border-bottom:0}html[data-mode=classic] table.t tbody tr:hover{background:#fafcfe}html[data-mode=classic] table.t tr.clickable{cursor:pointer}html[data-mode=classic] .cards-list{display:none}@media (width<=760px){html[data-mode=classic] .table-wrap.responsive{display:none}html[data-mode=classic] .cards-list{flex-direction:column;gap:.6rem;display:flex}html[data-mode=classic] .cards-list .card{padding:.85rem 1rem}}html[data-mode=classic] .pager{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;display:flex}html[data-mode=classic] .empty{text-align:center;color:var(--text-2);flex-direction:column;align-items:center;gap:.5rem;padding:2.5rem 1rem;display:flex}html[data-mode=classic] .empty svg{color:var(--text-3)}html[data-mode=classic] .skeleton{background:linear-gradient(90deg, var(--surface-2), #e9eef5, var(--surface-2));background-size:200% 100%;border-radius:8px;animation:1.2s infinite sk}html[data-mode=classic] .notice{border:1px solid;border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.92rem;display:flex}html[data-mode=classic] .notice.info{background:var(--info-bg);color:#17368f;border-color:#b7c9f7}html[data-mode=classic] .notice.warn{background:var(--warn-bg);color:#6b3500;border-color:#efd196}html[data-mode=classic] .notice.bad{background:var(--bad-bg);color:#7c1616;border-color:#efb3b3}html[data-mode=classic] .notice.ok{background:var(--ok-bg);color:#124d27;border-color:#a9dcb7}html[data-mode=classic] .notice svg{flex:none;margin-top:2px}html[data-mode=classic] .tip{display:inline-flex;position:relative}html[data-mode=classic] .tip-box{z-index:70;bottom:calc(100% + 6px);background:var(--brand-950);color:#fff;text-align:start;pointer-events:none;border-radius:8px;width:max-content;max-width:260px;padding:.45rem .65rem;font-size:.8rem;font-weight:500;position:absolute;inset-inline-start:50%;transform:translate(-50%)}html[data-mode=classic][dir=rtl] .tip-box{transform:translate(50%)}html[data-mode=classic] .help-btn{color:var(--text-3);cursor:pointer;background:0 0;border:0;padding:0;display:inline-flex}html[data-mode=classic] .overlay{z-index:100;background:#0f23478c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}html[data-mode=classic] .modal{background:var(--surface);box-shadow:var(--shadow-lg);border-radius:16px;flex-direction:column;width:min(560px,100%);max-height:calc(100vh - 2rem);display:flex}html[data-mode=classic] .modal.wide{width:min(880px,100%)}html[data-mode=classic] .modal-head{border-bottom:1px solid var(--border);align-items:center;gap:.5rem;padding:1rem 1.25rem;display:flex}html[data-mode=classic] .modal-head h2{flex:1}html[data-mode=classic] .modal-body{padding:1.25rem;overflow-y:auto}html[data-mode=classic] .modal-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;gap:.6rem;padding:.9rem 1.25rem;display:flex}html[data-mode=classic] .drawer-wrap{z-index:100;background:#0f234780;justify-content:flex-end;display:flex;position:fixed;inset:0}html[data-mode=classic][dir=rtl] .drawer-wrap{justify-content:flex-start}html[data-mode=classic] .drawer{background:var(--surface);width:min(560px,100%);height:100%;box-shadow:var(--shadow-lg);flex-direction:column;animation:.2s slide;display:flex}html[data-mode=classic][dir=rtl] .drawer{animation-name:slide-rtl}html[data-mode=classic] .toasts{inset-inline-end:1rem;z-index:200;flex-direction:column;gap:.5rem;max-width:min(380px,100vw - 2rem);display:flex;position:fixed;bottom:1rem}html[data-mode=classic] .toast{background:var(--brand-900);color:#fff;box-shadow:var(--shadow-lg);border-radius:12px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.93rem;font-weight:600;display:flex}html[data-mode=classic] .toast.warn{background:#7a3a05}html[data-mode=classic] .toast.bad{background:#8b1a1a}html[data-mode=classic] .toast.ok{background:#0f5a3a}html[data-mode=classic] .menu{inset-inline-end:0;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:50;border-radius:12px;min-width:260px;max-width:calc(100vw - 1.5rem);padding:.4rem;position:absolute;top:46px}html[data-mode=classic] .menu .item{cursor:pointer;text-align:start;width:100%;color:var(--text);background:0 0;border:0;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .7rem;font-weight:600;text-decoration:none;display:flex}html[data-mode=classic] .menu .item:hover{background:var(--surface-2)}html[data-mode=classic] .menu hr{border:0;border-top:1px solid var(--border);margin:.3rem 0}html[data-mode=classic] .rel{position:relative}html[data-mode=classic] .notif{border-radius:10px;align-items:flex-start;gap:.6rem;padding:.65rem .7rem;display:flex}html[data-mode=classic] .notif.unread{background:var(--info-bg)}html[data-mode=classic] .skillbar{background:var(--surface-2);border:1px solid var(--border);border-radius:99px;height:10px;position:relative}html[data-mode=classic] .skillbar .fill{background:var(--accent);border-radius:99px;position:absolute;inset-block:0;inset-inline-start:0}html[data-mode=classic] .skillbar .prev{background:var(--text-3);border-radius:2px;width:3px;height:14px;position:absolute;top:-3px}html[data-mode=classic] .skillbar .target{background:var(--brand-900);border-radius:2px;width:3px;height:16px;position:absolute;top:-4px}html[data-mode=classic] .level{align-items:center;gap:3px;display:inline-flex}html[data-mode=classic] .level i{background:var(--border);border-radius:2px;width:10px;height:10px;display:block}html[data-mode=classic] .level i.on{background:var(--accent)}html[data-mode=classic] .timeline{border-inline-start:2px solid var(--border);margin:0;margin-inline-start:6px;padding:0;list-style:none}html[data-mode=classic] .timeline li{padding:0 0 1rem 1rem;padding-inline:1rem 0;position:relative}html[data-mode=classic] .timeline li:before{content:"";inset-inline-start:-7px;background:var(--accent);border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:6px}html[data-mode=classic] .chart-box{direction:ltr;width:100%;height:280px}html[data-mode=classic] .legend{flex-wrap:wrap;gap:.4rem 1rem;margin-top:.4rem;font-size:.82rem;display:flex}html[data-mode=classic] .legend span{align-items:center;gap:.35rem;display:inline-flex}html[data-mode=classic] .legend i{border-radius:2px;width:14px;height:4px;display:inline-block}html[data-mode=classic] .hero{background:linear-gradient(135deg, var(--brand-900), var(--brand-800));color:#fff;border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;display:flex}html[data-mode=classic] .hero h1{color:#fff}html[data-mode=classic] .hero .muted{color:#b7c7dc}html[data-mode=classic] .hero .badge{color:#fff;background:#ffffff29}html[data-mode=classic] .next-action{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}html[data-mode=classic] .next-action .ic{background:var(--accent-soft);width:52px;height:52px;color:var(--accent-strong);border-radius:14px;flex:none;justify-content:center;align-items:center;display:flex}html[data-mode=classic] .checklist{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}html[data-mode=classic] .checklist li{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.7rem;padding:.6rem .8rem;display:flex}html[data-mode=classic] .checklist li.met{background:#f4fbf6;border-color:#bfe3c9}html[data-mode=classic] .checklist li.unmet{background:#fffaf2;border-color:#f0d9a8}html[data-mode=classic] .cal{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}html[data-mode=classic] .cal .dh{color:var(--text-3);text-align:center;padding:4px 0;font-size:.75rem;font-weight:700}html[data-mode=classic] .cal .day{border:1px solid var(--border);background:#fff;border-radius:8px;min-height:84px;padding:4px;font-size:.75rem;overflow:hidden}html[data-mode=classic] .cal .day.off{background:var(--surface-2);color:var(--text-3)}html[data-mode=classic] .cal .day.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}html[data-mode=classic] .cal .ev{text-align:start;background:var(--accent-soft);width:100%;color:var(--accent-strong);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:0;border-radius:5px;margin-top:2px;padding:1px 4px;font-size:.72rem;font-weight:600;display:block;overflow:hidden}html[data-mode=classic] .cal .ev.dl{background:var(--warn-bg);color:var(--warn)}@media (width<=640px){html[data-mode=classic] .cal .day{min-height:56px}html[data-mode=classic] .cal .ev{height:8px;padding:0;font-size:0}}html[data-mode=classic] .login{background:var(--bg);min-height:100vh;color:var(--text);padding:2rem 1rem 3rem}html[data-mode=classic] .login-inner{max-width:1080px;margin:0 auto}html[data-mode=classic] .login h1{color:var(--brand-900);font-size:2.2rem}html[data-mode=classic] .persona{color:var(--text);text-align:start;border:1px solid var(--border);box-shadow:var(--shadow);cursor:pointer;background:#fff;border-radius:14px;flex-direction:column;gap:.5rem;width:100%;padding:1.1rem 1.2rem;display:flex}html[data-mode=classic] .persona:hover{border-color:var(--accent)}html[data-mode=classic] .persona:focus-visible{box-shadow:var(--focus)}html[data-mode=classic] .print-only{display:none}html[data-mode=classic] .cv{border:1px solid var(--border);background:#fff;border-radius:8px;max-width:820px;margin:0 auto;padding:2rem;font-size:.95rem}html[data-mode=classic] .cv h1{font-size:1.7rem}html[data-mode=classic] .cv h2{text-transform:uppercase;letter-spacing:.08em;border-bottom:2px solid var(--brand-900);margin:1.1rem 0 .5rem;padding-bottom:3px;font-size:1rem}html[data-mode=classic] .doc-preview{white-space:pre-wrap;background:var(--surface-2);border:1px dashed var(--border-strong);border-radius:10px;padding:1rem;line-height:1.7}html[data-mode=classic] .watermark{color:#b45309;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:800}@media print{html[data-mode=classic] body{background:#fff}html[data-mode=classic] .sidebar,html[data-mode=classic] .topbar,html[data-mode=classic] .demo-banner,html[data-mode=classic] .no-print,html[data-mode=classic] .toasts,html[data-mode=classic] .scrim,html[data-mode=classic] .tabs,html[data-mode=classic] .btn,html[data-mode=classic] .filters,html[data-mode=classic] .menu-btn,html[data-mode=classic] .pager{display:none!important}html[data-mode=classic] .shell{display:block}html[data-mode=classic] .content{max-width:none;padding:0}html[data-mode=classic] .card,html[data-mode=classic] .table-wrap,html[data-mode=classic] .cv{box-shadow:none;break-inside:avoid;border-color:#999}html[data-mode=classic] .print-only{display:block}html[data-mode=classic] .cards-list{display:none!important}html[data-mode=classic] .table-wrap.responsive{display:block!important}html[data-mode=classic] .page-break{break-before:page}html[data-mode=classic] body.printing-area>*{visibility:hidden}}html[data-mode=classic] .cv-print{display:none}@media print{html[data-mode=classic] body.printing-cv .shell{display:none!important}html[data-mode=classic] body.printing-cv .cv-print{display:block!important}html[data-mode=classic] body.printing-cv{background:#fff}html[data-mode=classic] .cv-print .cv{border:0}}@media (width<=640px){html[data-mode=classic] .topbar{flex-wrap:wrap;row-gap:.4rem;height:auto;padding:.5rem .75rem}html[data-mode=classic] .search{flex:100%;order:10;max-width:none}html[data-mode=classic] .portal-chip{font-size:.74rem}}html[data-mode=classic] .topbar{min-width:0}html[data-mode=classic] .chart-box{max-width:100%;overflow:hidden}html[data-mode=classic] .card{overflow-wrap:anywhere}html[data-mode=classic] .brand-logo{border-radius:10px;width:100%;max-width:200px;height:auto;display:block}html[data-mode=classic] .brand-tagline{letter-spacing:.04em;color:var(--accent-strong);padding:0 .5rem .5rem;font-size:.78rem;font-weight:700}html[data-mode=classic] .badge:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}html[data-mode=classic] .badge:has(svg):before{display:none}html[data-mode=classic] .stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.25rem 1.75rem;display:grid}html[data-mode=classic] .stat{border-top:1px solid var(--border);padding-top:.75rem;display:block}html[data-mode=classic] .kpi.stat .label{color:var(--text-2);font-size:.9rem;font-weight:600;display:block}html[data-mode=classic] .kpi.stat .value{font-size:1.75rem;font-weight:800}html[data-mode=classic] .page-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}html[data-mode=classic] .page-top p{margin-top:2px}html[data-mode=classic] .notice{border:0;border-inline-start:3px solid var(--border-strong);color:var(--text-2);background:0 0;border-radius:0;padding:.15rem 0 .15rem .85rem;font-size:.9rem;display:block}html[data-mode=classic][dir=rtl] .notice{padding:.15rem .85rem .15rem 0}html[data-mode=classic] .notice.warn{color:var(--text-2);border-inline-start-color:#d9a441}html[data-mode=classic] .notice.bad{border-inline-start-color:var(--bad);color:var(--bad)}html[data-mode=classic] .notice.ok{color:var(--text-2);border-inline-start-color:#3c9a73}html[data-mode=classic] .notice.info{border-inline-start-color:var(--accent)}html[data-mode=classic] .card.accent{border-color:var(--border);background:#fff}html[data-mode=classic] .notice.info,html[data-mode=classic] .notice.warn,html[data-mode=classic] .notice.bad,html[data-mode=classic] .notice.ok{background:0 0}html[data-mode=classic] .page-head{margin-bottom:1rem}html[data-mode=classic] .page-head p{margin-top:2px}html[data-mode=classic]{--bg:#e9edf4;--panel:#fff;--soft:#f6f7fb}html[data-mode=classic] body{background:var(--bg)}html[data-mode=classic] .shell{grid-template-columns:var(--sidebar) minmax(0, 1fr);gap:16px;padding:16px}html[data-mode=classic] .sidebar{border:0;border-radius:26px;height:calc(100vh - 32px);padding:22px 14px 16px;top:16px;box-shadow:0 1px 2px #0f23470d}html[data-mode=classic] .main{background:var(--panel);border-radius:28px;min-height:calc(100vh - 32px);overflow:hidden}html[data-mode=classic] .demo-banner{text-align:center;background:#fff8e5;border-bottom:0;justify-content:center}html[data-mode=classic] .topbar{background:var(--panel);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:0;height:72px;padding:0 1.75rem}html[data-mode=classic] .search input{background:var(--soft);border:0;border-radius:14px;height:44px}html[data-mode=classic] .content{padding:.5rem 1.75rem 2.5rem}html[data-mode=classic] .card{background:var(--soft);box-shadow:none;border:0;border-radius:20px;padding:1.25rem 1.4rem}html[data-mode=classic] .card.flat{border:1px solid var(--border);background:#fff}html[data-mode=classic] .card.accent{background:var(--soft);border:0}html[data-mode=classic] .table-wrap{background:#fff;border-radius:16px}html[data-mode=classic] .cards-list .card{background:var(--soft)}html[data-mode=classic] .stat{border-top:0;padding-top:0}html[data-mode=classic] .field input,html[data-mode=classic] .field select,html[data-mode=classic] .field textarea,html[data-mode=classic] .input{background:#fff}html[data-mode=classic] .filters .field input,html[data-mode=classic] .filters .field select{background:var(--soft);border-color:#0000}html[data-mode=classic] .sidebar-profile{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:14px 8px 18px;display:flex}html[data-mode=classic] .sidebar-profile .name{color:var(--brand-900);font-weight:800}html[data-mode=classic] .sidebar-profile .role{color:var(--text-3);font-size:.82rem;line-height:1.3}html[data-mode=classic] .sidebar-out{width:100%;color:var(--text-2);cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.7rem;padding:.6rem .75rem;font-weight:600;display:flex}html[data-mode=classic] .sidebar-out:hover{background:var(--surface-2);color:var(--brand-900)}html[data-mode=classic] .brand{padding-bottom:0}html[data-mode=classic] .tabs{border-bottom:0;gap:.5rem}html[data-mode=classic] .tabs button{border-bottom:0;border-radius:12px;margin:0;padding:.5rem 1rem}html[data-mode=classic] .tabs button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-strong)}html[data-mode=classic] .seg{background:var(--soft);border:0;border-radius:12px;padding:3px}html[data-mode=classic] .seg button{border-radius:9px}html[data-mode=classic] .seg button[aria-pressed=true]{color:var(--accent-strong);background:#fff;box-shadow:0 1px 2px #0f234714}html[data-mode=classic] .icon-btn{background:var(--soft);border-radius:14px}@media (width<=960px){html[data-mode=classic] .shell{grid-template-columns:minmax(0,1fr);gap:0;padding:0}html[data-mode=classic] .main{border-radius:0;min-height:100vh}html[data-mode=classic] .sidebar{border-radius:0 26px 26px 0;height:100vh;top:0}html[data-mode=classic][dir=rtl] .sidebar{border-radius:26px 0 0 26px}html[data-mode=classic] .topbar,html[data-mode=classic] .content{padding-inline:1rem}}html[data-mode=classic] .rings{gap:1rem 1.5rem;display:grid}html[data-mode=classic] .ring-item{align-items:center;gap:.9rem;display:flex}html[data-mode=classic] .ring-num{fill:var(--brand-900);font-family:inherit;font-size:1.15rem;font-weight:800}html[data-mode=classic] .ring-label{color:var(--brand-900);font-weight:700;line-height:1.25}html[data-mode=classic] .ring-sub{color:var(--text-3);font-size:.85rem}html[data-mode=classic] .month-bars{align-items:flex-end;gap:.6rem;height:190px;padding-top:.5rem;display:flex}html[data-mode=classic] .mb-col{flex-direction:column;flex:1;align-items:center;gap:6px;min-width:0;height:100%;display:flex}html[data-mode=classic] .mb-track{background:#eceef5;border-radius:10px;flex:1;align-items:flex-end;width:100%;max-width:38px;display:flex;overflow:hidden}html[data-mode=classic] .mb-bar{background:#c9d6ea;border-radius:10px;width:100%}html[data-mode=classic] .mb-bar.on{background:var(--accent)}html[data-mode=classic] .mb-lbl{color:var(--text-3);font-size:.78rem}html[data-mode=classic] .dash-grid{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:1rem;display:grid}@media (width<=1100px){html[data-mode=classic] .dash-grid{grid-template-columns:minmax(0,1fr)}}html[data-mode=classic] .mini-cal .mc-title{color:var(--brand-900);margin-bottom:.5rem;font-weight:800}html[data-mode=classic] .mc-grid{text-align:center;gap:2px;display:grid}html[data-mode=classic] .mc-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}html[data-mode=classic] .mc-h{color:var(--text-3);padding:4px 0;font-size:.75rem}html[data-mode=classic] .mc-d{color:var(--text);font-variant-numeric:tabular-nums;border-radius:50%;padding:7px 0;font-size:.85rem;position:relative}html[data-mode=classic] .mc-d.off{color:#6b7689}html[data-mode=classic] .mc-d.today{background:var(--accent);color:#fff;font-weight:700}html[data-mode=classic] .mc-d.mark:not(.today):after{content:"";background:var(--accent);border-radius:50%;width:5px;height:5px;margin-left:-2.5px;position:absolute;bottom:2px;left:50%}html[data-mode=classic] .rings{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}@media (width>=1500px){html[data-mode=classic] .rings{grid-template-columns:repeat(3,1fr)}}html[data-mode=classic] .ring-item svg{flex:none}html[data-mode=classic] table.t td .bold,html[data-mode=classic] table.t td .xs{white-space:nowrap}html[data-mode=classic] table.t td,html[data-mode=classic] table.t th{padding-inline:.7rem}html[data-mode=classic] .tiles{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}html[data-mode=classic] .tile{text-align:start;background:var(--soft);color:var(--text);cursor:default;border:2px solid #0000;border-radius:18px;flex-direction:column;gap:2px;min-width:0;padding:.9rem 1rem .7rem;text-decoration:none;display:flex}html[data-mode=classic] button.tile,html[data-mode=classic] a.tile{cursor:pointer}html[data-mode=classic] button.tile:hover,html[data-mode=classic] a.tile:hover{background:#eef2f9}html[data-mode=classic] .tile.on{border-color:var(--accent);background:#fff}html[data-mode=classic] .tile-label{color:var(--text-2);font-size:.88rem;font-weight:600}html[data-mode=classic] .tile-value{color:var(--brand-900);font-size:1.9rem;font-weight:800;line-height:1.15}html[data-mode=classic] .tile-foot{color:var(--accent);justify-content:space-between;align-items:center;gap:8px;margin-top:4px;display:flex}html[data-mode=classic] .tile-delta{min-width:40px}html[data-mode=classic] .tile-sub{color:var(--text-3);font-size:.82rem}html[data-mode=classic] .spark{flex:none;width:64px;height:24px}html[data-mode=classic] .spark-empty{width:64px;height:24px}html[data-mode=classic] .board-chart{background:var(--soft);border-radius:20px;margin-top:.75rem;padding:1rem 1.25rem .5rem}html[data-mode=classic] .board-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}html[data-mode=classic] .gap-row{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr) auto;align-items:center;gap:.75rem;padding:.4rem 0;display:grid}@media (width<=640px){html[data-mode=classic] .gap-row{grid-template-columns:1fr;gap:4px}}html[data-mode=classic] .certificate{color:var(--brand-900);aspect-ratio:1.414;border:1px solid var(--border);background:#fff;border-radius:6px;width:100%;max-width:900px;margin:0 auto;padding:14px;position:relative;container-type:inline-size}html[data-mode=classic] .cert-frame{border:3px solid var(--accent);outline:1px solid var(--accent);outline-offset:-9px;text-align:center;flex-direction:column;align-items:center;gap:.8cqw;height:100%;padding:3.2cqw 5cqw 2.2cqw;display:flex}html[data-mode=classic] .cert-title{letter-spacing:.02em;color:var(--accent-strong);margin-top:1.4cqw;font-size:4.4cqw;font-weight:800}html[data-mode=classic] .cert-line{color:var(--text-2);font-size:1.9cqw}html[data-mode=classic] .cert-line.small{font-size:1.6cqw}html[data-mode=classic] .cert-name{border-bottom:2px solid var(--border-strong);margin:.4cqw 0;padding:0 3cqw .4cqw;font-size:4.6cqw;font-weight:800}html[data-mode=classic] .cert-program{font-size:3cqw;font-weight:700}html[data-mode=classic] .cert-foot{text-align:start;justify-content:space-between;align-items:flex-end;gap:2cqw;width:100%;margin-top:auto;display:flex}html[data-mode=classic] .cert-meta{gap:.9cqw;font-size:1.5cqw;display:grid}html[data-mode=classic] .cert-meta span{color:var(--text-3);font-size:1.3cqw;display:block}html[data-mode=classic] .cert-qr{color:var(--text-3);flex-direction:column;align-items:center;gap:4px;font-size:1.1cqw;display:flex}html[data-mode=classic] .cert-qr svg{width:11cqw;height:11cqw}html[data-mode=classic] .cert-accred{color:var(--text-2);font-size:1.4cqw;font-weight:700}html[data-mode=classic] .cert-note{color:var(--text-3);max-width:80%;font-size:1.15cqw}html[data-mode=classic] .cert-revoked{color:#b83a3438;pointer-events:none;z-index:2;place-items:center;font-size:12cqw;font-weight:800;display:grid;position:absolute;inset:0;transform:rotate(-18deg)}html[data-mode=classic] .cert-print{display:none}html[data-mode=classic] .verify{background:var(--bg);min-height:100vh;padding:2rem 1rem}html[data-mode=classic] .verify-inner{max-width:620px;margin:0 auto}@media print{html[data-mode=classic] body.printing-cert .shell,html[data-mode=classic] body.printing-cert .overlay,html[data-mode=classic] body.printing-cert .toasts{display:none!important}html[data-mode=classic] body.printing-cert .cert-print{page:cert;display:block!important}html[data-mode=classic] body.printing-cert .cert-print .certificate{border:0;max-width:none}}@media (width<=640px){html[data-mode=classic] .topbar{height:auto;min-height:64px}}html[data-mode=classic] .skip-link{inset-inline-start:12px;z-index:300;background:var(--brand-900);color:#fff;border-radius:10px;padding:10px 16px;font-weight:700;text-decoration:none;position:absolute;top:-64px}html[data-mode=classic] .skip-link:focus{color:#fff;top:12px}html[data-mode=classic] .filters-toggle{margin-bottom:.6rem;display:none}@media (width<=760px){html[data-mode=classic] .filters-toggle{display:inline-flex}html[data-mode=classic] .filters:not(.open){display:none}}@media (pointer:coarse),(width<=760px){html[data-mode=classic] .btn.sm{min-height:40px;padding-inline:.9rem}html[data-mode=classic] .help-btn{justify-content:center;align-items:center;min-width:32px;min-height:32px}html[data-mode=classic] .sidebar-out{min-height:44px}html[data-mode=classic] .tabs button,html[data-mode=classic] .seg button{min-height:40px}}html[data-mode=classic] .cv-name{color:var(--brand-900);margin:0;font-size:1.7rem;font-weight:800}html[data-mode=classic] .demo-banner{background:var(--soft);color:var(--text-3);justify-content:center;gap:.75rem;padding:.3rem 1rem;font-size:.8rem}html[data-mode=classic] .banner-x{color:var(--text-3);cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:28px;min-height:28px;padding:0 .4rem;font-size:1.1rem;line-height:1}html[data-mode=classic] .banner-x:hover{background:#e3e8f0}html[data-mode=classic] .dir-programme .xs{white-space:normal}html[data-mode=classic] body{background:var(--gradient-background);background-attachment:fixed}html[data-mode=classic] .main{background:var(--surface-primary);box-shadow:var(--shadow-card)}html[data-mode=classic] .main:before{content:"";background:var(--gradient-header);pointer-events:none;z-index:0;height:260px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 35%,#0000);mask-image:linear-gradient(#000 35%,#0000)}html[data-mode=classic] .main,html[data-mode=classic] .content,html[data-mode=classic] .demo-banner{position:relative}html[data-mode=classic] .topbar{background:0 0}html[data-mode=classic] .sidebar{box-shadow:var(--shadow-card);background:linear-gradient(#fff 0 84px,#f0f6fc 200px,#fff 360px)}html[data-mode=classic] .sidebar-profile .avatar,html[data-mode=classic] .sidebar-profile img.avatar{box-shadow:0 0 0 3px #fff,0 4px 12px #2173b340}html[data-mode=classic] .nav a{transition:background-color .18s var(--ease), color .18s var(--ease), box-shadow .18s var(--ease)}html[data-mode=classic] .nav a:hover{color:var(--brand-deep);background:#2173b314}html[data-mode=classic] .nav a.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}html[data-mode=classic] .nav a.active svg{color:#fff}html[data-mode=classic] .card{background:var(--gradient-surface);border-radius:var(--radius-card)}html[data-mode=classic] .card.flat{background:var(--surface-primary)}html[data-mode=classic] .card.accent{background:var(--gradient-header), var(--surface-primary);box-shadow:var(--shadow-card);border:1px solid #2173b338}html[data-mode=classic] .hero{background:var(--gradient-deep);box-shadow:var(--shadow-raised)}html[data-mode=classic] .btn{transition:background-color .18s var(--ease), box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease)}html[data-mode=classic] .btn.primary{background:var(--gradient-primary);box-shadow:var(--shadow-primary);border-color:#0000}html[data-mode=classic] .btn.primary:hover{background:var(--gradient-primary);filter:brightness(1.08);transform:translateY(-1px)}html[data-mode=classic] .btn.primary:active{transform:none}html[data-mode=classic] .btn.accent{background:var(--gradient-deep);border-color:#0000}html[data-mode=classic] .progress{background:#e8eef6;border-color:#0000;height:9px}html[data-mode=classic] .progress>span{background:var(--gradient-progress)}html[data-mode=classic] .progress.warn>span{background:linear-gradient(90deg,#f3b45c,#d97706)}html[data-mode=classic] .progress.bad>span{background:linear-gradient(90deg,#f08a8a,#dc2626)}html[data-mode=classic] .tile{background:var(--gradient-surface);transition:box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease)}html[data-mode=classic] button.tile:hover,html[data-mode=classic] a.tile:hover{background:var(--gradient-surface);box-shadow:var(--shadow-raised);transform:translateY(-2px)}html[data-mode=classic] .tile.on{border-color:var(--brand-primary);box-shadow:var(--shadow-card);background:#fff}html[data-mode=classic] .tile-foot{color:var(--brand-primary)}html[data-mode=classic] .board-chart{background:var(--gradient-surface)}html[data-mode=classic] .tabs button{transition:background-color .18s var(--ease), color .18s var(--ease)}html[data-mode=classic] .tabs button:hover{background:#2173b312}html[data-mode=classic] .tabs button[aria-selected=true]{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-primary)}html[data-mode=classic] .seg button[aria-pressed=true]{box-shadow:var(--shadow-card);color:var(--brand-secondary)}html[data-mode=classic] .portal-chip{background:var(--gradient-primary);color:#fff}html[data-mode=classic] .search input{background:var(--surface-secondary);box-shadow:inset 0 0 0 1px var(--border-subtle);transition:box-shadow .18s var(--ease)}html[data-mode=classic] .search input:focus{box-shadow:var(--focus);outline:none}html[data-mode=classic] .icon-btn{transition:background-color .18s var(--ease)}html[data-mode=classic] .icon-btn:hover{background:#e4edf8}html[data-mode=classic] .table-wrap{border:1px solid var(--border-subtle);border-radius:18px;overflow:hidden}html[data-mode=classic] table.t thead th{color:var(--brand-deep);background:linear-gradient(#f6f9fd,#eef3fa)}html[data-mode=classic] table.t tbody tr{transition:background-color .15s var(--ease)}html[data-mode=classic] table.t tbody tr:hover td{background:#2173b30d}html[data-mode=classic] .modal{box-shadow:var(--shadow-raised), 0 30px 80px #0f102340;border-radius:22px}html[data-mode=classic] .modal-head{background:var(--gradient-header), var(--surface-primary);border-radius:22px 22px 0 0}html[data-mode=classic] .overlay{background:#0f102385}html[data-mode=classic] .persona{transition:box-shadow .18s var(--ease), transform .18s var(--ease), border-color .18s var(--ease);border-radius:18px}html[data-mode=classic] .persona:hover{box-shadow:var(--shadow-raised);border-color:var(--brand-primary);transform:translateY(-2px)}html[data-mode=classic] .verify,html[data-mode=classic] .login{background:var(--gradient-background);background-attachment:fixed}html[data-mode=classic] .avatar{box-shadow:0 0 0 2px #fff}html[data-mode=classic] .skeleton{background:linear-gradient(90deg,#eef3fa,#e2eaf5,#eef3fa) 0 0/200% 100%}@media (width<=960px){html[data-mode=classic] .main:before{height:180px}html[data-mode=classic] body{background-attachment:scroll}}@media print{html[data-mode=classic] body{background:#fff}html[data-mode=classic] .main:before{display:none}html[data-mode=classic] .main,html[data-mode=classic] .card,html[data-mode=classic] .nav a.active{box-shadow:none}}@media (prefers-reduced-motion:reduce){html[data-mode=classic] .btn.primary:hover,html[data-mode=classic] button.tile:hover,html[data-mode=classic] a.tile:hover,html[data-mode=classic] .persona:hover{transform:none}}html[data-mode=classic] .gbar{cursor:copy;touch-action:none;border-radius:14px;height:46px;margin:12px 14px 8px;position:relative;box-shadow:inset 0 0 0 1px #0f23471f}html[data-mode=classic] .ghandle{cursor:grab;touch-action:none;border:3px solid #fff;border-radius:50%;width:32px;height:32px;margin:-16px 0 0 -16px;padding:0;position:absolute;top:50%;box-shadow:0 0 0 1.5px #0f234773,0 3px 8px #0f234740}html[data-mode=classic] .ghandle:active{cursor:grabbing}html[data-mode=classic] .ghandle.on{box-shadow:0 0 0 3px var(--brand-deep), 0 3px 10px #0f23474d}html[data-mode=classic] .gscale{justify-content:space-between;margin:0 14px;display:flex}html[data-mode=classic] .preset{background:var(--surface-primary);border:2px solid var(--border-subtle);cursor:pointer;text-align:start;width:150px;transition:border-color .18s var(--ease), box-shadow .18s var(--ease);border-radius:14px;flex-direction:column;align-items:stretch;gap:6px;padding:8px;display:flex}html[data-mode=classic] .preset:hover{box-shadow:var(--shadow-card)}html[data-mode=classic] .preset.on{border-color:var(--brand-primary)}html[data-mode=classic] .preset.static{cursor:default}html[data-mode=classic] .preset-sw{border-radius:9px;height:34px;box-shadow:inset 0 0 0 1px #0f23471a}html[data-mode=classic] .theme-preview{background:var(--gradient-background);border:1px solid var(--border-subtle);border-radius:16px;grid-template-columns:112px 1fr;gap:10px;min-height:190px;padding:10px;display:grid;overflow:hidden}html[data-mode=classic] .tp-side{background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:8px;display:flex}html[data-mode=classic] .tp-nav{color:var(--text-2);border-radius:9px;align-items:center;gap:6px;padding:6px 8px;font-size:.78rem;font-weight:700;display:flex}html[data-mode=classic] .tp-nav.on{background:var(--gradient-primary);color:#fff}html[data-mode=classic] .tp-main{background:#fff;border-radius:12px;padding:10px 12px;position:relative;overflow:hidden}html[data-mode=classic] .tp-main:before{content:"";background:var(--gradient-header);height:70px;position:absolute;inset:0 0 auto;-webkit-mask-image:linear-gradient(#000 35%,#0000);mask-image:linear-gradient(#000 35%,#0000)}html[data-mode=classic] .tp-main>*{position:relative}html[data-mode=classic] .tp-head{flex-direction:column;display:flex}html[data-mode=classic] .tp-tile{background:var(--gradient-surface);border-radius:12px;justify-content:space-between;align-items:baseline;margin-top:10px;padding:8px 10px;display:flex}html[data-mode=classic] .field .err{color:var(--bad);font-size:.82rem}@media (width<=640px){html[data-mode=classic] .theme-preview{grid-template-columns:1fr}html[data-mode=classic] .tp-side{flex-direction:row}html[data-mode=classic] .preset{width:calc(50% - 6px)}}html[data-mode=classic] .chart-card .card-head>h2,html[data-mode=classic] .chart-card .card-head>h3{overflow-wrap:anywhere;flex:220px}@media (width<=760px){html[data-mode=classic] .chart-card .card-head>h2,html[data-mode=classic] .chart-card .card-head>h3{flex-basis:100%}}html[data-mode=classic] .card.ink{background:var(--gradient-deep);color:#fff}html[data-mode=classic] .card.ink h2,html[data-mode=classic] .card.ink h3,html[data-mode=classic] .card.ink .muted{color:#fff}html[data-mode=classic] .ink-btn-light{color:var(--brand-900);box-shadow:none;background:#fff}@media (width<=960px){html[data-mode=classic] .sidebar:not(.open){visibility:hidden;transition:transform .2s,visibility 0s linear .2s}html[data-mode=classic] .sidebar.open{visibility:visible;transition-delay:0s}}@media (pointer:coarse),(width<=760px){html[data-mode=classic] .icon-btn{min-width:44px;min-height:44px}}
