/*! سجل الحضور الجامعي — © 2026 م.م. سجاد مهدي الغراوي (Asst. Lect. Sajjad Mahdi Al-Ghraoy). جميع الحقوق محفوظة. الاستخدام وفق الرخصة: https://ghraoy.github.io/attendance/license.html — يُمنع النسخ أو إعادة النشر أو البيع دون إذن كتابي. */:root{--bg:#f2f5f4;--surface:#ffffff;--sunk:#e9efed;--line:#d7e0de;--ink:#152b3c;--muted:#5a6b72;--accent:#0e6a66;--accent-ink:#ffffff;--absent:#b3262f;--absent-bg:#fbe5e6;--ok:#2f6b3a;--ok-bg:#e3f1e5;--warn:#9a5b00;--warn-bg:#fdf0d8;--exempt:#2a5d8f;--exempt-bg:#e2edf8;--na:#7d8a8f;--na-bg:#eef1f1;--accent-soft:color-mix(in srgb,var(--accent) 12%,var(--surface));--accent-line:color-mix(in srgb,var(--accent) 35%,var(--line));--shadow:0 1px 2px rgb(16 40 50 / .05),0 4px 14px rgb(16 40 50 / .06);--shadow-up:0 2px 4px rgb(16 40 50 / .06),0 12px 28px rgb(16 40 50 / .12);--f-display:"Noto Kufi Arabic","IBM Plex Sans Arabic",Tahoma,sans-serif;--f-body:"IBM Plex Sans Arabic",Tahoma,"Segoe UI",sans-serif;--ease:cubic-bezier(.2,.8,.2,1);color-scheme:light}:root[data-theme=dark]{--bg:#0d1517;--surface:#152125;--sunk:#1b2a2f;--line:#273a40;--ink:#e4ecee;--muted:#93a5ab;--absent:#ff8a8f;--absent-bg:#3a1a1e;--ok:#86d293;--ok-bg:#16301c;--warn:#f2bd5e;--warn-bg:#3a2b10;--exempt:#8fbdf0;--exempt-bg:#16283b;--na:#7f8f94;--na-bg:#1b2629;--accent-soft:color-mix(in srgb,var(--accent) 16%,var(--surface));--shadow:0 1px 2px rgb(0 0 0 / .3),0 4px 14px rgb(0 0 0 / .25);--shadow-up:0 2px 6px rgb(0 0 0 / .35),0 14px 30px rgb(0 0 0 / .4);color-scheme:dark}html[data-size="s"]{font-size:14px}html[data-size="l"]{font-size:17px}*{box-sizing:border-box}html{padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:1rem;line-height:1.6;direction:rtl;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.ico{width:1.15em;height:1.15em;flex:none;vertical-align:-.2em}.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}header{position:sticky;top:0;z-index:5;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgb(0 0 0 / .02)}header::before{content:"";display:block;height:3px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 40%,#f2bd5e))}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px 4px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;min-width:0}.brand img{width:42px;height:42px;object-fit:contain;border-radius:10px;background:#fff;padding:3px;box-shadow:var(--shadow)}h1{font-family:var(--f-display);font-size:1.22rem;margin:0;text-wrap:balance;color:var(--ink)}.sub{color:var(--muted);font-size:.8rem}.tools{gap:8px}.save{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:6px;border-radius:999px!important;padding:4px 10px!important;transition:background .2s}.save:hover{background:var(--sunk)!important}.save i{width:8px;height:8px;border-radius:50%;background:var(--ok);display:inline-block;box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 22%,transparent)}.save.busy i{background:var(--warn);animation:pulse 1.2s infinite}.save.err i{background:var(--absent)}.save.off i{background:var(--na);box-shadow:none}.iconbtn{width:36px;height:36px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:inline-grid;place-items:center;cursor:pointer;color:var(--muted);transition:all .18s var(--ease)}.iconbtn:hover{color:var(--accent);border-color:var(--accent-line);background:var(--accent-soft)}.iconbtn .ico{width:19px;height:19px}nav{display:flex;gap:4px;overflow-x:auto;padding-block:6px 8px;scrollbar-width:none}nav::-webkit-scrollbar{display:none}nav a{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:10px;text-decoration:none;color:var(--muted);font-weight:600;white-space:nowrap;transition:background .2s var(--ease),color .2s}nav a:hover{background:var(--sunk);color:var(--ink)}nav a[aria-current=page]{background:var(--accent-soft);color:var(--accent)}nav a .ico{width:18px;height:18px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}main{padding-block:20px 60px;display:grid;gap:22px;grid-template-columns:minmax(0,1fr)}main>*{min-width:0}h2{font-family:var(--f-display);font-size:1.05rem;margin:0 0 10px}h3{font-size:.98rem;margin:0;display:flex;align-items:center;gap:7px}h2 .ico,h3 .ico{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.82rem}.btn{border:1px solid var(--line);background:var(--surface);padding:7px 14px;border-radius:10px;cursor:pointer;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:7px;color:var(--ink);transition:transform .12s var(--ease),background .18s,border-color .18s,box-shadow .18s}.btn:hover{background:var(--sunk);border-color:var(--accent-line)}.btn:active{transform:scale(.97)}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);box-shadow:0 2px 8px color-mix(in srgb,var(--accent) 30%,transparent)}.btn.primary:hover{filter:brightness(1.07);box-shadow:0 4px 14px color-mix(in srgb,var(--accent) 38%,transparent)}.btn.danger{color:var(--absent);border-color:color-mix(in srgb,var(--absent) 45%,var(--line))}.btn.danger:hover{background:var(--absent-bg)}.btn.small{padding:4px 11px;font-size:.85rem;border-radius:8px}.btn:disabled{opacity:.5;cursor:default;transform:none}.big-btn{font-size:1.05rem;padding:11px 24px;border-radius:12px}.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.spacer{flex:1}.panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;display:grid;gap:12px;min-width:0;box-shadow:var(--shadow)}.panel>*{min-width:0}.panels{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:12px}.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;gap:7px;box-shadow:var(--shadow);color:inherit;text-decoration:none;transition:transform .2s var(--ease),box-shadow .2s,border-color .2s}.card.link:hover{transform:translateY(-3px);box-shadow:var(--shadow-up);border-color:var(--accent-line)}.card .name{font-weight:700}.card .start{font-size:.78rem;color:var(--muted)}.big{font-family:var(--f-display);font-size:1.75rem;font-variant-numeric:tabular-nums;line-height:1.2}.kv{display:flex;justify-content:space-between;gap:8px;font-size:.88rem;font-variant-numeric:tabular-nums}.bar{height:7px;border-radius:4px;background:var(--sunk);overflow:hidden;position:relative}.bar span{position:absolute;top:0;bottom:0;right:0;background:var(--ok);border-radius:4px;transform-origin:right}.bar span.w{background:var(--warn)}.bar span.d{background:var(--absent)}.bar b{position:absolute;top:0;bottom:0;width:2px;background:var(--ink);opacity:.45}.scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--surface)}table{border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}td,th{padding:9px 12px;text-align:center;border-bottom:1px solid var(--line);white-space:nowrap}th{font-size:.8rem;color:var(--muted);font-weight:600;background:var(--sunk)}tbody tr{transition:background .15s}tbody tr:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}td.l,th.l{text-align:right}tr:last-child td{border-bottom:0}tfoot td{font-weight:700;background:var(--sunk)}.thl{color:inherit;text-decoration:none}.thl:hover{color:var(--accent);text-decoration:underline}.cell{display:inline-flex;flex-direction:column;align-items:center;line-height:1.25}.cell small{font-size:.72rem;color:var(--muted)}.cell.w strong,.w{color:var(--warn)}.cell.d strong,.d{color:var(--absent)}.pill{display:inline-block;padding:1px 9px;border-radius:999px;font-size:.78rem;font-weight:600}.p-P{background:var(--ok-bg);color:var(--ok)}.p-A{background:var(--absent-bg);color:var(--absent)}.p-N{background:var(--na-bg);color:var(--na)}.p-E{background:var(--exempt-bg);color:var(--exempt)}.p-X{background:var(--exempt-bg);color:var(--exempt)}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:end}.field{display:grid;gap:4px;font-size:.82rem;color:var(--muted);min-width:0}.field input,.field select,.field textarea{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 11px;min-width:0;width:100%;transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field textarea{min-height:110px;resize:vertical;font-size:.9rem;line-height:1.5}.check{display:flex;gap:6px;align-items:center;font-size:.85rem}.check input{accent-color:var(--accent)}.day{display:grid;gap:8px}.dayhead{font-weight:700;font-size:.9rem;display:flex;gap:10px;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:4px}.dayhead span{font-weight:400;color:var(--muted);font-size:.82rem}.sess{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;cursor:pointer;text-align:right;width:100%;transition:border-color .15s,transform .15s var(--ease),box-shadow .15s}.sess:hover{border-color:var(--accent-line);box-shadow:var(--shadow);transform:translateY(-1px)}.sess .t{font-weight:700}.sess .m{font-size:.8rem;color:var(--muted)}.chips{display:flex;gap:6px;flex-wrap:wrap;grid-column:1/-1}.note{font-size:.8rem;color:var(--warn)}.empty{background:var(--surface);border:1px dashed var(--accent-line);border-radius:16px;padding:30px;text-align:center;color:var(--muted)}.banner{border-radius:12px;padding:10px 14px;font-size:.88rem;background:var(--warn-bg);color:var(--warn)}.banner.ok{background:var(--ok-bg);color:var(--ok)}.banner.err{background:var(--absent-bg);color:var(--absent)}dialog{border:1px solid var(--line);border-radius:18px;background:var(--surface);color:var(--ink);padding:0;width:min(560px,calc(100vw - 32px));max-height:calc(100vh - 40px);box-shadow:0 24px 60px rgb(0 0 0 / .3)}dialog::backdrop{background:rgb(8 24 26 / .5);backdrop-filter:blur(3px)}dialog[open]{animation:dlgIn .22s var(--ease)}.dlg{padding:18px 20px;display:grid;gap:14px;overflow:auto}.att{display:grid;gap:8px}.attrow{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;transition:border-color .15s}.attrow:hover{border-color:var(--accent-line)}.seg{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:none;background:var(--sunk);padding:2px;gap:2px}.seg button{border:0;background:0 0;padding:5px 12px;cursor:pointer;font-weight:600;border-radius:8px;color:var(--muted);transition:background .18s,color .18s,transform .12s}.seg button:hover{color:var(--ink)}.seg button:active{transform:scale(.94)}.seg button[aria-pressed=true].P{background:var(--ok-bg);color:var(--ok);box-shadow:var(--shadow)}.seg button[aria-pressed=true].A{background:var(--absent-bg);color:var(--absent);box-shadow:var(--shadow)}.seg button[aria-pressed=true].X{background:var(--exempt-bg);color:var(--exempt);box-shadow:var(--shadow)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width:560px){.grid2{grid-template-columns:1fr}}.setup table input{width:100%;border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--surface);min-width:70px}.setup table input[type=number]{width:70px}.setup input[type=time],.setup select{border:1px solid var(--line);border-radius:8px;padding:3px 6px;background:var(--surface)}.ex{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.ex label{font-size:.78rem;border:1px solid var(--line);border-radius:999px;padding:2px 9px;display:inline-flex;gap:4px;align-items:center;cursor:pointer;white-space:nowrap;transition:border-color .15s,background .15s}.ex label:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.ex input{accent-color:var(--accent)}.answer{white-space:pre-wrap;background:var(--sunk);border-radius:12px;padding:12px 14px;font-size:.92rem;line-height:1.8}.chipbtn{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:4px 13px;font-size:.82rem;cursor:pointer;transition:all .15s}.chipbtn:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-soft)}ol.steps{margin:0;padding-inline-start:20px;display:grid;gap:6px;font-size:.88rem}code{background:var(--sunk);padding:1px 6px;border-radius:4px;direction:ltr;unicode-bidi:embed;font-size:.85em;word-break:break-all}.regsel{max-width:min(320px,70vw);border:1px solid var(--line);border-radius:10px;padding:6px 10px;background:var(--surface);font-weight:600;cursor:pointer}.toast{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom,0px));left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 10px 9px 16px;border-radius:12px;font-size:.88rem;z-index:30;max-width:calc(100vw - 32px);display:flex;align-items:center;gap:12px;box-shadow:0 10px 30px rgb(0 0 0 / .25)}.toast.show{animation:toastIn .3s var(--ease)}.toast span{padding-inline-end:6px}.tact{border:0;background:color-mix(in srgb,var(--bg) 18%,transparent);color:var(--bg);font-weight:700;padding:4px 12px;border-radius:8px;cursor:pointer}.tip{position:fixed;z-index:40;background:var(--ink);color:var(--bg);font-size:.78rem;padding:5px 10px;border-radius:8px;pointer-events:none;max-width:280px;box-shadow:0 6px 18px rgb(0 0 0 / .2)}.avatar{display:inline-grid;place-items:center;border-radius:50%;flex:none;font-weight:700;color:hsl(var(--h) 55% 30%);background:hsl(var(--h) 55% 90%);font-family:var(--f-display);letter-spacing:-.02em}[data-theme=dark] .avatar{color:hsl(var(--h) 60% 82%);background:hsl(var(--h) 35% 24%)}.ring .track{fill:none;stroke:var(--sunk);stroke-width:7}.ring .val{fill:none;stroke:var(--ok);stroke-width:7;stroke-linecap:round;transition:stroke-dashoffset .8s var(--ease)}.ring.w .val{stroke:var(--warn)}.ring.d .val{stroke:var(--absent)}.ring.acc .val{stroke:var(--accent)}.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:999px;font-weight:700;font-size:.85rem;justify-self:start;width:max-content}.badge.ok{background:var(--ok-bg);color:var(--ok)}.badge.w{background:var(--warn-bg);color:var(--warn)}.badge.d{background:var(--absent-bg);color:var(--absent)}.ovhead{display:flex;align-items:center;gap:14px}.ovlogo{width:58px;height:58px;object-fit:contain;border-radius:14px;background:#fff;padding:4px;box-shadow:var(--shadow)}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px}@media (max-width:720px){.kpis{grid-template-columns:1fr 1fr;gap:10px}.kpi{flex-direction:column;align-items:flex-start;gap:6px;padding:12px}.kic{width:36px;height:36px}.kv2{font-size:1.25rem}.kpi:last-child{grid-column:1/-1;flex-direction:row;align-items:center}}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px 16px;display:flex;gap:12px;align-items:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi::after{content:"";position:absolute;inset:auto -30px -40px auto;width:90px;height:90px;border-radius:50%;background:var(--accent-soft);opacity:.55;z-index:0;pointer-events:none}.kpi>*{position:relative;z-index:1}.kic{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);flex:none}.kic .ico{width:22px;height:22px}.kring{flex:none;display:grid}.kv2{font-family:var(--f-display);font-size:1.45rem;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}.kv2 small{font-size:.8rem;color:var(--muted);font-weight:600}.kl{font-size:.85rem;font-weight:600}.ks{font-size:.74rem;color:var(--muted)}.dash2{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:14px}@media (max-width:860px){.dash2{grid-template-columns:minmax(0,1fr)}}.chart{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4}.chart .base{stroke:var(--muted);stroke-width:1;opacity:.5}.chart .axis{fill:var(--muted);font-size:11px;font-family:var(--f-body)}.chart .axis.curt{fill:var(--accent);font-weight:700}.chart .bar-m{fill:color-mix(in srgb,var(--accent) 70%,var(--surface));transition:fill .15s}.chart .bar-m.cur{fill:var(--accent)}.chart .hit:hover .bar-m{fill:var(--accent)}.hbars{display:grid;gap:9px}.hbar{display:grid;grid-template-columns:minmax(80px,38%) 1fr auto;gap:10px;align-items:center;font-size:.85rem;cursor:default}.hbar .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hbar .trk{height:10px;background:var(--sunk);border-radius:5px;overflow:hidden;display:flex}.hbar i{display:block;height:100%;background:var(--accent);border-radius:5px;transform-origin:right;transition:filter .15s}.hbar:hover i{filter:brightness(1.12)}.hbar b{font-variant-numeric:tabular-nums;min-width:44px;text-align:left}.watch{display:grid;gap:6px}.wrow{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(60px,22%) auto;gap:12px;align-items:center;padding:8px 10px;border-radius:12px;color:inherit;text-decoration:none;transition:background .15s}.wrow:hover{background:var(--sunk)}.wn{display:grid;min-width:0}.wn b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wn small{color:var(--muted);font-size:.76rem}.wbar{height:7px;background:var(--sunk);border-radius:4px;overflow:hidden;display:flex}.wbar i{display:block;height:100%;border-radius:4px;background:var(--muted);transform-origin:right}.wbar i.w{background:var(--warn)}.wbar i.d{background:var(--absent)}.wbar i.n{background:color-mix(in srgb,var(--warn) 55%,var(--sunk))}.okstate{display:flex;align-items:center;gap:10px;color:var(--ok);background:var(--ok-bg);border-radius:12px;padding:12px 14px;font-weight:600}.okstate .ico{width:22px;height:22px}.profile{gap:16px}.back{display:inline-flex;align-items:center;gap:4px;text-decoration:none;font-weight:600;font-size:.88rem;justify-self:start}.back .ico{transform:scaleX(-1)}.phead{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:16px;align-items:center}.pmeta{display:grid;gap:6px}.pmeta h2{margin:0;font-size:1.3rem}.pring{position:relative;display:grid;place-items:center}.pring .pv{position:absolute;display:grid;text-align:center;line-height:1.1}.pring .pv b{font-family:var(--f-display);font-size:1.15rem}.pring .pv small{font-size:.66rem;color:var(--muted)}@media (max-width:560px){.phead{grid-template-columns:auto minmax(0,1fr)}.pring{grid-column:1/-1;justify-self:center}}.pstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px}.pstats>div{background:var(--sunk);border-radius:12px;padding:10px 12px;display:grid}.pstats b{font-family:var(--f-display);font-size:1.3rem;font-variant-numeric:tabular-nums}.pstats small{color:var(--muted);font-size:.76rem}.mini{display:inline-flex;width:70px;height:6px;background:var(--sunk);border-radius:3px;overflow:hidden;vertical-align:middle}.mini i{display:block;height:100%;background:var(--ok);border-radius:3px}.mini i.w{background:var(--warn)}.mini i.d{background:var(--absent)}.heat{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.hcol,.hdays{display:grid;grid-auto-rows:20px;gap:4px;flex:none}.hdays span{font-size:.7rem;color:var(--muted);line-height:20px;white-space:nowrap}.hgrid{display:flex;gap:4px}.hw{font-size:.66rem;color:var(--muted);text-align:center;line-height:20px}.hc{display:block;width:20px;height:20px;border-radius:5px;background:var(--sunk);transition:transform .12s}.hc:hover{transform:scale(1.25)}.hc.sP{background:color-mix(in srgb,var(--ok) 70%,var(--surface))}.hc.sA{background:var(--absent)}.hc.sX{background:color-mix(in srgb,var(--exempt) 75%,var(--surface))}.hc.sE,.hc.sN{background:var(--na-bg)}.hc.hol{background:repeating-linear-gradient(45deg,var(--sunk) 0 3px,var(--line) 3px 6px)}.hc.fut{background:0 0;border:1px dashed var(--line)}.hc.out{visibility:hidden}.hc.today{outline:2px solid var(--accent);outline-offset:1px}.hlegend{display:flex;flex-wrap:wrap;gap:12px;font-size:.76rem;color:var(--muted)}.hlegend span{display:inline-flex;align-items:center;gap:5px}.hlegend .hc{width:12px;height:12px;border-radius:3px}.timeline{display:grid;gap:2px}.tl{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:8px 4px;border-bottom:1px dashed var(--line)}.tl:last-child{border-bottom:0}.dot{width:12px;height:12px;border-radius:50%;margin-top:6px;background:var(--absent);box-shadow:0 0 0 4px var(--absent-bg)}.dot.X{background:var(--exempt);box-shadow:0 0 0 4px var(--exempt-bg)}.kpill{display:inline-block;font-size:.7rem;font-weight:700;padding:0 8px;border-radius:999px;line-height:1.6;vertical-align:middle}.kpill.th{background:var(--accent-soft);color:var(--accent)}.kpill.pr{background:color-mix(in srgb,#c2410c 14%,var(--surface));color:#b4410f}[data-theme=dark] .kpill.pr{color:#ffb38a}.kic.pr{background:color-mix(in srgb,#c2410c 14%,var(--surface));color:#b4410f}.kic.bad{background:var(--absent-bg);color:var(--absent)}[data-theme=dark] .kic.pr{color:#ffb38a}.tt-legend{display:inline-flex;gap:6px;align-items:center}.ttg{display:grid;gap:6px;overflow-x:auto}.ttg-row{display:grid;grid-template-columns:86px minmax(640px,1fr);gap:8px;align-items:stretch}.ttg-day{font-weight:700;font-size:.86rem;display:grid;align-content:center;background:var(--sunk);border-radius:10px;padding:6px 10px;line-height:1.3}.ttg-day small{font-weight:500;font-size:.66rem;color:var(--muted)}.ttg-head .ttg-day{background:0 0}.ttg-lane{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));grid-auto-rows:minmax(54px,auto);gap:4px 3px;background:repeating-linear-gradient(90deg,transparent 0 calc(100% / var(--n) * 2 - 1px),var(--line) calc(100% / var(--n) * 2 - 1px) calc(100% / var(--n) * 2));border-radius:10px;padding:3px}.ttg-lane,[dir=rtl] .ttg-lane{direction:rtl}.ttg-head .ttg-lane{grid-auto-rows:auto;background:0 0;padding:0 3px}.ttg-head .ttg-lane span{font-size:.72rem;color:var(--muted);text-align:right;padding-inline-start:2px;font-variant-numeric:tabular-nums}.ttb{border-radius:10px;padding:6px 9px;display:grid;align-content:start;gap:1px;min-width:0;overflow:hidden;background:hsl(var(--h) 60% 93%);color:hsl(var(--h) 55% 22%);border-inline-start:4px solid hsl(var(--h) 55% 45%);transition:transform .15s var(--ease),box-shadow .15s;cursor:default}.ttb:hover{transform:translateY(-2px);box-shadow:var(--shadow-up);z-index:1}.ttb b{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttb small{font-size:.68rem;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ttb.pr{background:repeating-linear-gradient(135deg,hsl(var(--h) 60% 93%) 0 8px,hsl(var(--h) 55% 88%) 8px 16px);border-inline-start-style:dashed}[data-theme=dark] .ttb{background:hsl(var(--h) 30% 22%);color:hsl(var(--h) 60% 88%);border-inline-start-color:hsl(var(--h) 55% 60%)}[data-theme=dark] .ttb.pr{background:repeating-linear-gradient(135deg,hsl(var(--h) 30% 22%) 0 8px,hsl(var(--h) 30% 27%) 8px 16px)}.ttlist{display:none;gap:10px}.ttd{display:grid;gap:6px}.ttd>b{font-size:.9rem}@media (max-width:720px){.ttg{display:none}.ttlist{display:grid}}.sdot{display:inline-block;width:10px;height:10px;border-radius:3px;background:hsl(var(--h) 55% 45%);margin-inline-end:7px;vertical-align:0}.hbar .trk i.pr{background:repeating-linear-gradient(135deg,#c2410c 0 4px,color-mix(in srgb,#c2410c 70%,var(--surface)) 4px 8px);border-radius:0 0 0 0}.hbar .trk i+i{margin-inline-start:2px}.kindsel.pr{color:#b4410f;font-weight:700}.kindsel.th{color:var(--accent);font-weight:700}main.enter .ttb{animation:fadeUp .4s var(--ease) both;animation-delay:.25s}.logos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:12px}.logobox{display:flex;gap:12px;align-items:center;border:1px dashed var(--accent-line);border-radius:14px;padding:12px}.logobox .ph,.logobox img{width:64px;height:64px;border-radius:12px;object-fit:contain;background:#fff;flex:none;box-shadow:var(--shadow)}.logobox .ph{display:grid;place-items:center;color:var(--muted);background:var(--sunk);box-shadow:none}.logobox .ph .ico{width:28px;height:28px}.segx{display:inline-flex;gap:4px;background:var(--sunk);padding:3px;border-radius:12px;width:max-content;max-width:100%}.segx button{border:0;background:0 0;padding:6px 14px;border-radius:9px;cursor:pointer;font-weight:600;display:inline-flex;gap:6px;align-items:center;color:var(--muted);transition:all .18s}.segx button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}.swatches{display:flex;flex-wrap:wrap;gap:10px}.sw{border:2px solid transparent;background:0 0;cursor:pointer;display:grid;justify-items:center;gap:4px;padding:4px;border-radius:12px;font-size:.72rem;color:var(--muted);transition:transform .15s var(--ease)}.sw::before{content:"";width:34px;height:34px;border-radius:50%;background:var(--sw);box-shadow:inset 0 0 0 3px var(--surface),0 0 0 1px var(--line)}.sw:hover{transform:translateY(-2px)}.sw[aria-pressed=true]{border-color:var(--sw);color:var(--ink)}.sw.pick{position:relative}.sw.pick input{position:absolute;inset:0;opacity:0;cursor:pointer}.welcome{display:grid;gap:18px}.wl-hero{display:grid;justify-items:center;text-align:center;gap:12px;padding:38px 20px;border-radius:22px;background:radial-gradient(120% 90% at 50% 0,var(--accent-soft),var(--surface) 70%);border:1px solid var(--line);box-shadow:var(--shadow)}.wl-hero h2{margin:0;font-size:1.45rem}.wl-hero p{margin:0;max-width:58ch;color:var(--muted)}.wl-icon{width:84px;height:84px;border-radius:22px;box-shadow:0 10px 30px color-mix(in srgb,var(--accent) 35%,transparent);animation:float 5s ease-in-out infinite}.feats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px}.feat{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px;display:grid;gap:6px;box-shadow:var(--shadow);transition:transform .2s var(--ease),box-shadow .2s}.feat:hover{transform:translateY(-3px);box-shadow:var(--shadow-up)}.feat span:last-child{color:var(--muted);font-size:.84rem}dialog.search{width:min(560px,calc(100vw - 24px));margin-top:12vh;padding:0}.sbox{display:grid}.sin{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.sin .ico{color:var(--muted)}.sin input{flex:1;border:0;background:0 0;font-size:1.05rem;outline:0;min-width:0}kbd{font-size:.7rem;border:1px solid var(--line);border-radius:6px;padding:1px 6px;color:var(--muted);font-family:inherit}.sres{max-height:52vh;overflow:auto;padding:6px}.sitem{display:flex;align-items:center;gap:10px;width:100%;border:0;background:0 0;padding:9px 12px;border-radius:10px;cursor:pointer;text-align:right}.sitem span{flex:1}.sitem small{color:var(--muted);font-size:.74rem}.sitem .ico{color:var(--accent)}.sitem:hover,.sitem[aria-selected=true]{background:var(--accent-soft)}.appfoot{text-align:center;color:var(--muted);font-size:.8rem;padding-block:22px 28px;display:grid;gap:2px}.appfoot a,.credit-line a{color:var(--accent);text-decoration:none}.appfoot b{font-weight:700}.appfoot .links{font-size:.74rem}.credit-line{text-align:center;color:var(--muted);font-size:.8rem;margin-top:18px}.hero{display:grid;justify-items:center;text-align:center;gap:8px;padding:28px 18px;background:radial-gradient(120% 90% at 50% 0,var(--accent-soft),var(--surface) 70%)}.hero img{width:76px;height:76px;border-radius:20px;box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 30%,transparent)}.hero h2{margin:0;font-size:1.3rem}.sig{display:grid;gap:2px;padding:12px 22px;border-radius:14px;border:1px dashed var(--accent);background:var(--surface);text-align:center}.sig small{color:var(--muted);font-size:.75rem;letter-spacing:.02em}.sig b{font-family:var(--f-display);font-size:1.12rem;color:var(--accent)}.tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.tags span{font-size:.75rem;padding:2px 10px;border-radius:99px;background:var(--sunk);color:var(--muted)}.cards a:not(.card){display:grid;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:inherit;background:var(--surface);transition:border-color .15s,transform .15s}.cards a:not(.card):hover{border-color:var(--accent);transform:translateY(-2px)}.cards a:not(.card) b{color:var(--accent)}.cards a:not(.card) span{color:var(--muted);font-size:.82rem}dialog.consent{border:0;border-radius:20px;padding:0;max-width:min(520px,calc(100vw - 24px));width:100%;background:var(--surface);color:var(--ink);box-shadow:0 20px 60px rgb(0 0 0 / .3)}.consent form{display:grid;gap:12px;padding:22px 20px}.consent .top-mark{display:flex;align-items:center;gap:12px}.consent .top-mark img{width:48px;height:48px;border-radius:14px}.consent h3{margin:0;font-family:var(--f-display);font-size:1.1rem}.consent ul{margin:0;padding-inline-start:20px;font-size:.88rem;color:var(--muted)}.consent li{margin-bottom:4px}.consent label{display:flex;gap:8px;align-items:flex-start;font-size:.9rem;cursor:pointer}.consent input[type=checkbox]{margin-top:5px;accent-color:var(--accent);width:17px;height:17px;flex:none}.consent a{color:var(--accent)}@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes grow{from{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes growY{from{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes ringIn{from{stroke-dashoffset:var(--c)}to{stroke-dashoffset:var(--o)}}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.14)}100%{transform:scale(1)}}@keyframes pulse{50%{opacity:.4}}@keyframes toastIn{from{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%,0)}}@keyframes dlgIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes float{50%{transform:translateY(-6px)}}@keyframes cellIn{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}main.enter>*{animation:fadeUp .45s var(--ease) both;animation-delay:calc(var(--i,0) * 55ms)}main.enter .bar span,main.enter .hbar i,main.enter .mini i,main.enter .wbar i{animation:grow .8s var(--ease) both;animation-delay:.25s}main.enter .chart .bar-m{transform-box:fill-box;transform-origin:bottom;animation:growY .7s var(--ease) both;animation-delay:.2s}main.enter .ring .val{animation:ringIn 1s var(--ease) both;animation-delay:.2s}main.enter .hc{animation:cellIn .35s var(--ease) both;animation-delay:.3s}.pop{animation:pop .32s var(--ease)}:root[data-motion=off] *,:root[data-motion=off] ::before{animation:none!important;transition:none!important}@media (prefers-reduced-motion:reduce){*,::before{animation:none!important;transition:none!important}}@media (max-width:720px){body{padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}.top{padding-block:8px 8px}h1{font-size:1.05rem}.brand img{width:34px;height:34px}nav{position:fixed;bottom:0;left:0;right:0;z-index:15;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));justify-content:space-around;gap:0;overflow:visible}nav a{flex-direction:column;gap:2px;padding:5px 2px;font-size:.62rem;flex:1;min-width:0;border-radius:10px}nav a span{overflow:hidden;text-overflow:ellipsis;max-width:100%}nav a .ico{width:21px;height:21px}.fab{position:fixed;left:16px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:16;border-radius:16px;padding:12px 16px;box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 45%,transparent)}.toast{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.regsel{max-width:calc(100vw - 150px)}.wrow{grid-template-columns:auto minmax(0,1fr) auto}.wbar{display:none}}#printArea{display:none}@media print{@page{size:A4;margin:1.4cm}body{padding:0!important;background:#fff}body>:not(#printArea){display:none!important}#printArea{display:block!important;font-family:var(--f-body);color:#000!important;background:#fff;font-size:11.5pt;line-height:1.7}#printArea *{color:#000}#printArea:not(.doc){white-space:pre-wrap;font-size:14pt;line-height:2;padding:2cm}.lh{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center}.lh-r{text-align:right;font-size:11pt;line-height:1.6}.lh-r .b{font-weight:700;font-size:12.5pt}.lh-c{display:flex;gap:10px;justify-content:center}.lh-c img{height:78px;width:auto;max-width:110px;object-fit:contain}.lh-l{text-align:left;font-size:10.5pt;line-height:1.9}.lh-rule{border-top:2.5px solid #000;border-bottom:1px solid #000;height:4px;margin:8px 0 16px}.ptitle{font-family:var(--f-display);font-size:17pt;text-align:center;margin:4px 0}.psub{text-align:center;font-size:10.5pt;margin-bottom:12px;line-height:1.7}.ph2{font-size:12.5pt;margin:16px 0 6px}.ptable{width:100%;border-collapse:collapse;font-size:10pt;page-break-inside:auto}.ptable td,.ptable th{border:1px solid #444!important;padding:4px 6px;text-align:center;white-space:normal;background:0 0;color:#000}.ptable th{background:#eee!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.ptable td.l,.ptable th.l{text-align:right}.ptable tr{page-break-inside:avoid}.pbox{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px;border:1px solid #444;border-radius:6px;padding:8px 12px;margin:8px 0 12px;font-size:10.5pt}.pnote{font-size:9.5pt;margin-top:10px}.signs{display:flex;justify-content:space-around;gap:20px;margin-top:46px;page-break-inside:avoid}.signs>div{display:grid;justify-items:center;gap:2px;min-width:140px}.signs .sl{width:150px;border-bottom:1px dotted #000;height:34px}#printArea .signs span{font-size:8.5pt;color:#555}.letter{white-space:pre-wrap;font-size:13.5pt;line-height:2}.ptable.tt td{font-size:9pt;vertical-align:top;line-height:1.35}.ptable.tt hr{border:0;border-top:1px dashed #999;margin:3px 0}#printArea .pcredit{margin-top:26px;text-align:center;font-size:7.5pt;color:#777}}.wnav{display:flex;align-items:center;gap:8px;margin:12px 0 4px}.wstrip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;flex:1;min-width:0}.wday{display:grid;justify-items:center;gap:1px;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:7px 2px;cursor:pointer;font:inherit;color:var(--ink);transition:all .15s;min-width:0}.wday b{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.wday span{font-size:.72rem;color:var(--muted)}.wday i{font-style:normal;font-size:.66rem;color:var(--muted);line-height:1.3}.wday i.ok{color:var(--ok);font-weight:700}.wday:hover{border-color:var(--accent)}.wday.on{background:var(--accent);border-color:var(--accent);color:#fff}.wday.on i,.wday.on i.ok,.wday.on span{color:#fff}.wday.free{opacity:.55}.wday.hol{background:var(--sunk)}.stabs{display:flex;gap:8px;overflow-x:auto;padding:4px 2px 10px;margin:6px 0 2px;scroll-snap-type:x proximity}.stab{flex:none;display:grid;gap:4px;justify-items:start;text-align:right;border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:10px 14px;cursor:pointer;font:inherit;color:var(--ink);min-width:150px;scroll-snap-align:start;transition:all .15s;position:relative}.stab:hover{border-color:var(--accent)}.stab.on{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft),var(--shadow);background:var(--accent-soft)}.stab .stn{font-weight:700}.stab .sts{font-size:.75rem;color:var(--muted)}.stab.other{border-style:dashed;color:var(--accent)}.stab.other select{font:inherit;font-size:.8rem;border:1px solid var(--line);border-radius:8px;padding:2px 6px;background:var(--surface);color:var(--ink);max-width:140px}.tpanel{display:grid;gap:12px}.tcount{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.tcount>span:not(.spacer){border-radius:999px;padding:3px 12px;font-size:.85rem;background:var(--sunk)}.tcount .c-P{background:var(--ok-bg);color:var(--ok)}.tcount .c-A{background:var(--absent-bg);color:var(--absent)}.tcount .c-X{background:var(--exempt-bg);color:var(--exempt)}.stiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px}.stile{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-inline-start:4px solid var(--ok);border-radius:12px;padding:8px 10px;background:var(--surface);cursor:pointer;user-select:none;transition:background .15s,border-color .15s,transform .1s}.stile:active{transform:scale(.99)}.stile .stname{flex:1;min-width:0;font-weight:600}.stile.s-A{border-inline-start-color:var(--absent);background:var(--absent-bg)}.stile.s-X{border-inline-start-color:var(--exempt);background:var(--exempt-bg)}.stile.s-E,.stile.s-N{border-inline-start-color:var(--line);opacity:.7;cursor:default}@media (max-width:560px){.stiles{grid-template-columns:1fr}.stile .seg button{padding:5px 9px}.wday b{font-size:.68rem}.wnav .btn{padding:4px 8px}.stab{min-width:130px}}@media (max-width:560px){.hide-sm{display:none}.stile{padding:8px}.stile .avatar{display:none}.stile .seg button{padding:6px 8px;font-size:.85rem}.stile .stname{font-size:.95rem}}.betaintro{border-color:var(--accent);background:var(--accent-soft)}.cards3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.way{display:grid;gap:6px;align-content:start;border:1px solid var(--line);border-radius:14px;padding:14px;background:var(--surface)}.way span:not(.kic){font-size:.85rem;color:var(--muted)}.way .btn{justify-self:start}.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.scard{display:flex;gap:12px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:10px;background:var(--surface)}.qrbox{width:96px;height:96px;flex:none;border-radius:8px;overflow:hidden;background:#fff;display:grid;place-items:center}.qrbox svg{width:100%;height:100%}.sc-t{display:grid;gap:4px;min-width:0}.sc-t small{color:var(--muted);font-family:ui-monospace,Consolas,monospace}.scanpanel{display:grid;gap:12px}.scanstage{position:relative;aspect-ratio:4/3;max-height:58vh;background:#0b1416;border-radius:16px;overflow:hidden;display:grid;place-items:center}.scanstage video{width:100%;height:100%;object-fit:cover}.sframe{position:absolute;inset:18% 22%;border:3px solid rgba(255,255,255,.85);border-radius:18px;box-shadow:0 0 0 999px rgba(0,0,0,.28);pointer-events:none}.sidle{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;color:#e8f2f0;text-align:center;padding:16px;background:#0b1416}.sidle .ico{width:44px;height:44px}.sidle small{opacity:.75}.sflash{position:absolute;inset:auto 12px 12px;border-radius:14px;padding:12px 16px;display:grid;gap:2px;font-size:1.05rem;color:#fff;box-shadow:var(--shadow);animation:pop .25s}.sflash.ok{background:#1e7a3c}.sflash.bad{background:#b3262f}.sflash.info{background:#2a5d8f}.sflash small{opacity:.9;font-size:.85rem}.scount{font-size:1.05rem}.slist{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px}.srow{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:12px;padding:6px 10px;background:var(--surface);font:inherit;color:var(--ink);text-align:right;cursor:pointer}.srow span:nth-child(2){flex:1;min-width:0}.srow.on{border-color:var(--ok);background:var(--ok-bg)}.srow.off{opacity:.65;cursor:default}.trow{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;padding:12px;background:var(--surface)}.tmain{display:flex;align-items:center;gap:10px}.tmain>div{flex:1}.chip{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:2px 12px;font-size:.85rem;background:var(--sunk)}.invin{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.cpage{display:grid;grid-template-columns:1fr 1fr;gap:3mm;page-break-after:always;break-after:page}.pcard{border:1px solid #bbb;border-radius:3mm;overflow:hidden;height:49mm;break-inside:avoid;display:grid;grid-template-rows:auto 1fr;font-size:9pt;color:#000}.pc-h{display:flex;align-items:center;gap:2mm;background:var(--acc,#0e6a66);color:#fff!important;padding:1.5mm 3mm}.pc-h *{color:#fff!important}.pc-h img{width:8mm;height:8mm;object-fit:contain;background:#fff;border-radius:1.5mm}.pc-h div{display:grid}.pc-h small{font-size:7pt;opacity:.9}.pc-b{display:flex;gap:3mm;align-items:center;padding:2mm 3mm}.pc-q{display:grid;justify-items:center;gap:.5mm}.pc-q svg{width:28mm;height:28mm}.pc-q code{font-size:7.5pt;letter-spacing:.5px}.pc-t{display:grid;gap:1mm;min-width:0}.pc-t b{font-size:11pt}.pc-t em{font-style:normal;font-size:7pt;color:#555!important}@media print{.pcard{-webkit-print-color-adjust:exact;print-color-adjust:exact}}#printArea .pc-h,#printArea .pc-h *{color:#fff!important}#printArea .pc-t em{color:#555!important}#printArea.doc .cpage{margin:0}.stagebar{display:flex;align-items:center;gap:10px;padding:2px 0 4px;min-width:0}.sb-dept{font-weight:700;font-size:.85rem;white-space:nowrap;color:var(--muted)}.deptsel{font:inherit;font-size:.85rem;font-weight:700;border:1px solid var(--line);border-radius:10px;padding:4px 8px;background:var(--surface);color:var(--ink);max-width:40%}.sb-list{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;min-width:0;padding:2px}.sb-list::-webkit-scrollbar{display:none}.sb-chip{flex:none;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 14px;font:inherit;font-size:.85rem;white-space:nowrap;cursor:pointer;color:var(--ink);transition:all .15s}.sb-chip:hover{border-color:var(--accent);color:var(--accent)}.sb-chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}.sb-chip.add{border-style:dashed;color:var(--accent)}@media (max-width:560px){.regsel{display:none}.stagebar{gap:6px}.sb-dept{display:none}.sb-chip{padding:5px 11px;font-size:.8rem}}.wkchips{display:flex;flex-wrap:wrap;gap:6px}.sb-chip.wk small{color:var(--muted);font-size:.72rem;margin-inline-start:4px}.sb-chip.wk.off{background:var(--surface-2,#f3f3f3);color:var(--muted);text-decoration:line-through;border-style:dashed}.sb-chip.wk.off small{text-decoration:line-through}.stucal summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.stucal summary::-webkit-details-marker{display:none}.stucal summary .btn{margin-inline-start:auto}.stucal[open] summary .btn{display:none}.stucal[open]{display:grid;gap:10px}.dblock>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none}.dblock>summary::-webkit-details-marker{display:none}.dblock>summary::before{content:"▸";color:var(--muted)}.dblock[open]>summary::before{content:"▾"}.dshift{border-top:1px solid var(--line);padding-top:10px;margin-top:10px;display:grid;gap:8px}.stulist{margin:0;padding-inline-start:22px;columns:3 220px;column-gap:24px;line-height:1.9}.stulist a{color:inherit;text-decoration:none}.stulist a:hover{color:var(--accent)}.note{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:8px}.note.unread{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.note .nbody{margin:0;line-height:1.8;white-space:normal}.ncompose>summary{cursor:pointer;list-style:none}.ncompose>summary::-webkit-details-marker{display:none}.ncompose[open]{display:grid;gap:10px}.nban{display:flex;align-items:center;gap:8px;text-decoration:none;color:inherit}nav a{position:relative}.nbadge{position:absolute;top:2px;inset-inline-start:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#d33;color:#fff;font-size:.7rem;line-height:18px;text-align:center}.ovgrp>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px}.ovgrp>summary::-webkit-details-marker{display:none}.ovgrp{margin-top:6px}.stuline{display:flex;gap:8px;align-items:center;padding:6px 8px;border-radius:10px;text-decoration:none;color:inherit}.stuline:hover{background:var(--accent-soft)}.stuline .r{margin-inline-start:auto}.stulines{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 14px}button.chip{cursor:pointer;color:inherit;font:inherit;font-size:.85rem}button.chip.on{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:700}tr.cur td{background:var(--accent-soft)}.ovgrp .cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}