@font-face{font-family:Cairo;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/fonts/cairo-arabic.woff2)format("woff2");unicode-range:U+6??,U+750-77F,U+870-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-10EC7,U+10EC9-10EEE,U+10EF?,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;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/fonts/cairo-latin-ext.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cairo;font-style:normal;font-weight:200 1000;font-display:swap;src:url(/fonts/cairo-latin.woff2)format("woff2");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}html{font-family:Cairo,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
:root{--bg:#f1f5f9;--surface:#fff;--surface-2:#f8fafc;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--brand:#3b82f6;--brand-2:#9a72ef;--brand-ink:#1d4ed8;--danger:#dc2626;--danger-bg:#fef2f2;--warn:#b45309;--warn-bg:#fffbeb;--ok:#15803d;--ok-bg:#f0fdf4;--ok-ink:var(--ok);--warn-ink:var(--warn);--danger-ink:#b91c1c;--radius:14px;--shadow:0 10px 30px #0f172a0f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html[data-theme=dark]{--bg:#0b1220;--surface:#111a2b;--surface-2:#0f172a;--text:#e2e8f0;--muted:#94a3b8;--border:#1f2a3d;--danger-bg:#2a1215;--warn-bg:#2a1f0b;--ok-bg:#0b2416;--brand-ink:#93c5fd;--ok-ink:#4ade80;--warn-ink:#fbbf24;--danger-ink:#f87171;--shadow:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font-size:15px;line-height:1.5}a{color:var(--brand-ink)}h1,h2,h3{margin:0 0 8px;line-height:1.2}p{margin:0 0 12px}.muted{color:var(--muted)}.brand{color:var(--text);align-items:center;line-height:0;text-decoration:none;display:inline-flex}.brand img{height:auto;display:block}.brand .logo-dark,html[data-theme=dark] .brand .logo-light{display:none}html[data-theme=dark] .brand .logo-dark{display:block}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.stack{gap:16px;display:grid}.stack>*,.grid>*{min-width:0}.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.stat strong{font-size:28px;display:block}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 16px;font-weight:600;text-decoration:none;display:inline-flex}.btn.primary{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-color:#0000}.btn.danger{background:var(--danger-bg);color:var(--danger-ink);border-color:#0000}.btn.small{padding:6px 10px;font-size:13px}.field{gap:6px;margin-bottom:14px;display:grid}.field label{font-size:13px;font-weight:600}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:10px;width:100%;padding:10px 12px}.alert{border-radius:10px;margin-bottom:14px;padding:12px 14px}.alert.error{background:var(--danger-bg);color:var(--danger-ink)}.alert.warn{background:var(--warn-bg);color:var(--warn-ink)}.alert.ok{background:var(--ok-bg);color:var(--ok-ink)}.badge{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.badge.ok{background:var(--ok-bg);color:var(--ok-ink)}.badge.warn{background:var(--warn-bg);color:var(--warn-ink)}.badge.danger{background:var(--danger-bg);color:var(--danger-ink)}table{border-collapse:collapse;width:100%}th,td{text-align:start;border-bottom:1px solid var(--border);vertical-align:top;padding:10px 8px}th{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}code{background:var(--surface-2);border-radius:6px;padding:2px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.auth{place-items:center;min-height:100vh;padding:24px 16px;display:grid}.auth .card{width:min(420px,100%)}.shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:var(--surface);border-inline-end:1px solid var(--border);flex-direction:column;gap:18px;padding:20px 16px;display:flex}.sidebar nav{gap:4px;display:grid}.sidebar nav a{color:var(--text);border-radius:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:block}.sidebar nav a:hover,.sidebar nav a.active{background:var(--surface-2)}.sidebar .brand{margin:0 auto 4px}.auth .brand{justify-content:center;margin-bottom:12px;display:flex}.theme-toggle{gap:6px}.sidebar .who{border-top:1px solid var(--border);margin-top:auto;padding-top:16px;font-size:13px}.main{width:100%;min-width:0;max-width:1100px;padding:28px clamp(16px,4vw,40px)}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}@media (max-width:820px){.shell{grid-template-columns:1fr}}.landing{max-width:960px;margin:0 auto;padding:32px 16px 64px}.landing header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:48px;display:flex}.hero h1{font-size:clamp(32px,6vw,52px);font-weight:800}.hero h1 span{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#0000;-webkit-background-clip:text;background-clip:text}.hero .actions{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.avatar{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;object-fit:cover;border-radius:50%;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:inline-flex;overflow:hidden}.avatar.lg{width:96px;height:96px;font-size:34px}.avatar.sm{width:28px;height:28px;font-size:12px}.person{align-items:center;gap:10px;display:flex}.nav-badge{background:var(--danger);color:#fff;text-align:center;border-radius:999px;min-width:20px;margin-inline-start:8px;padding:1px 7px;font-size:12px;display:inline-block}.row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.row .field{flex:160px;margin-bottom:0}.checks{flex-wrap:wrap;gap:14px;display:flex}.checks label{align-items:center;gap:6px;font-weight:600;display:inline-flex}.table-wrap{overflow-x:auto}.inline-form{display:inline}.linkish{color:var(--brand-ink);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.tt{border-collapse:separate;border-spacing:6px 0;table-layout:fixed;width:100%}.tt th{text-align:center;border-bottom:2px solid var(--border);padding:8px 4px}.tt td{vertical-align:top;border:0;padding:8px 0}.lesson{border:1px solid var(--border);border-inline-start:4px solid var(--brand);background:var(--surface-2);border-radius:10px;margin-bottom:8px;padding:8px 10px;font-size:13px}.lesson .time{color:var(--muted);font-size:12px}.lesson strong{display:block}.lesson.break{border-inline-start-color:var(--warn);opacity:.85}.lesson.homeroom{border-inline-start-color:var(--ok)}.notice{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:12px;margin-bottom:8px;padding:12px 14px;display:flex}.notice.unread{border-color:var(--brand);background:var(--surface-2)}.drawer-backdrop{z-index:40;background:#0f172a59;position:fixed;inset:0}.drawer{top:0;background:var(--surface);border-inline-start:1px solid var(--border);width:min(440px,100%);height:100vh;box-shadow:var(--shadow);z-index:41;padding:20px;position:fixed;inset-inline-end:0;overflow-y:auto}.drawer h2{margin-top:0}.kv{grid-template-columns:140px 1fr;gap:6px 12px;margin:0;display:grid}.kv dt{color:var(--muted);font-size:13px}.kv dd{margin:0}.medical{border:1px solid var(--warn);background:var(--warn-bg);border-radius:10px;padding:10px 12px}.search-form{gap:6px;display:flex}.search-form input{flex:1;min-width:0}.legal-nav{flex-wrap:wrap;gap:6px;margin:24px 0 8px;display:flex}.legal-nav a{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:6px 12px;font-size:14px;text-decoration:none}.legal-nav a.active{border-color:var(--brand);color:var(--brand-ink)}.legal{max-width:760px;line-height:1.7}.legal h1{margin:8px 0 16px;font-size:28px}.legal h2{margin:28px 0 8px;font-size:20px}.legal h3{margin:20px 0 6px;font-size:16px}.legal p,.legal li{margin:0 0 10px}.legal ul,.legal ol{padding-inline-start:22px}.legal-links{flex-wrap:wrap;gap:4px 12px;margin-top:10px;font-size:12px;display:flex}.reward-tools{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:4px 0 14px;display:grid}.reward-tool{border:1px solid var(--border);background:var(--surface);border-radius:14px;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:14px;display:flex}.reward-tool h3{margin:0 0 2px}.reward-tool p{margin:0 0 6px;font-size:13px}.timer-display{font-variant-numeric:tabular-nums;font-size:36px;font-weight:800;line-height:1.1}.timer-display.finished{color:#b42318}html[data-theme=dark] .timer-display.finished{color:#f87171}.timer-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;display:flex}.random-result{min-width:0;color:var(--brand-ink);align-items:center;gap:8px;font-weight:700;display:flex}.bulk-bar{border:1px solid var(--brand);background:var(--surface);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:0 0 12px;padding:10px 14px;display:flex}.dojo-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.dojo-student{border:1px solid var(--border);background:var(--surface);text-align:center;border-radius:14px;padding:12px 8px 10px;transition:box-shadow .15s,border-color .15s;position:relative}.dojo-student.selected{border-color:var(--brand);box-shadow:0 0 0 3px #3b82f633}.dojo-student.random-picked{border-color:var(--brand-2);box-shadow:0 0 0 3px #9a72ef40}.dojo-student .student-select{top:10px;width:18px;height:18px;position:absolute;inset-inline-start:10px}.dojo-points{top:8px;background:var(--brand);color:#fff;border-radius:999px;min-width:28px;padding:2px 8px;font-size:12px;font-weight:800;position:absolute;inset-inline-end:8px}.dojo-points.negative{background:#b42318}.dojo-open{width:100%;color:var(--text);cursor:pointer;font:inherit;background:0 0;border:0;flex-direction:column;align-items:center;gap:6px;margin-top:14px;display:flex}.dojo-open h3{margin:0;font-size:14px}.point-panel{margin-top:14px}.point-choice-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.point-choice{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;text-align:center;font:inherit;border-radius:12px;padding:10px}.point-choice strong{color:var(--brand-ink);font-size:20px;display:block}.dojo-points,.point-choice strong{unicode-bidi:plaintext}.point-choice.negative strong{color:#b42318}html[data-theme=dark] .point-choice.negative strong{color:#f87171}.point-choice:hover{border-color:var(--brand)}.list{margin:0;padding:0;list-style:none}.list>li{border-bottom:1px solid var(--border);padding:8px 0}.list>li:last-child{border-bottom:0}.composer-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.color-dots{flex-wrap:wrap;gap:8px;display:flex}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.color-dot.on{border-color:var(--text);box-shadow:0 0 0 2px var(--surface)}.folder-dot{border-radius:50%;flex:none;width:12px;height:12px}.question-builder{border:1px solid var(--border);border-radius:12px;margin:10px 0;padding:10px 14px 12px}.question-builder legend{padding:0 6px;font-weight:600}.choice-line{align-items:center;gap:8px;margin-bottom:6px;display:flex}.choice-line input[type=text],.choice-line input:not([type]){flex:1}.matching-row{grid-template-columns:1fr 1fr;align-items:center;gap:8px;margin-bottom:6px;display:grid}.audience-list{flex-wrap:wrap;gap:6px 14px;margin-top:6px}.home-greeting{border:1px solid var(--border);background:linear-gradient(110deg, #3b82f61a 0%, var(--surface) 58%, #9a72ef1f 100%);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;min-height:120px;margin-bottom:16px;padding:18px 22px;display:flex}.home-greeting h2{margin:4px 0;font-size:22px}.home-greeting p{margin:0}.home-eyebrow{color:var(--brand-ink);background:#3b82f61f;border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:800;display:inline-flex}.homeroom-rate{text-align:end;flex-direction:column;align-items:flex-end;min-width:170px;display:flex}.homeroom-rate small{color:var(--muted);font-size:12px}.homeroom-rate strong{color:var(--brand-ink);font-size:34px;line-height:1.1}.homeroom-rate span{color:var(--muted);font-size:12px}.segmented{border:1px solid var(--border);border-radius:999px;display:inline-flex;overflow:hidden}.segmented a{color:var(--text);padding:5px 12px;font-size:13px;text-decoration:none}.segmented a.active{background:var(--brand);color:#fff}.lesson.current{border-color:var(--ok);background:var(--ok-bg);box-shadow:0 0 0 2px #15803d40}.hschedule{flex-direction:column;gap:8px;display:flex}.hs-row{border:1px solid var(--border);border-radius:12px;grid-template-columns:110px 1fr;align-items:stretch;gap:10px;padding:8px;display:grid}.hs-row.today{border-color:var(--brand)}.hs-day{flex-direction:column;justify-content:center;gap:4px;display:flex}.hs-lessons{gap:8px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.hs-lesson{background:var(--surface-2,#3b82f60f);border:1px solid var(--border);border-radius:10px;flex-direction:column;flex:none;gap:2px;min-width:130px;padding:8px 10px;font-size:13px;display:flex}.hs-lesson .time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.hs-lesson.current{background:var(--ok);border-color:var(--ok);color:#fff}.hs-lesson.current .time,.hs-lesson.current .muted{color:#ffffffd9}@media (max-width:640px){.hs-row{grid-template-columns:1fr}.hs-day{flex-direction:row;align-items:center}}.cal-month{text-align:center;min-width:120px;padding:5px 12px;font-size:13px;font-weight:700}.cal-wrap{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:18px;display:grid}@media (max-width:760px){.cal-wrap{grid-template-columns:1fr}}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-head{text-align:center;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:4px 0;font-size:11px;font-weight:700;overflow:hidden}.cal-day{aspect-ratio:1;border:1px solid var(--border);background:var(--surface);font-variant-numeric:tabular-nums;border-radius:10px;justify-content:flex-start;align-items:flex-start;min-height:34px;padding:4px 6px;font-size:13px;display:flex;position:relative}.cal-day.blank{background:0 0;border:0}.cal-day.weekend{color:var(--muted);background:#64748b14}.cal-day.outside{opacity:.45}.cal-day.off{background:#9a72ef29;border-color:#9a72ef73}.cal-day.off .dot{bottom:5px;background:var(--brand-2);border-radius:50%;width:6px;height:6px;position:absolute;inset-inline-end:6px}.cal-day.today{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:800}.cal-legend{color:var(--muted);flex-wrap:wrap;gap:6px 14px;font-size:12px;display:flex}.cal-legend .lg{vertical-align:-2px;border:1px solid var(--border);border-radius:4px;width:12px;height:12px;margin-inline-end:4px;display:inline-block}.cal-legend .lg.today{background:var(--brand);border-color:var(--brand)}.cal-legend .lg.off{background:#9a72ef4d}.cal-legend .lg.weekend{background:#64748b26}.cal-events{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cal-events li{align-items:center;gap:10px;font-size:13px;display:flex}.cal-date{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-radius:10px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:44px;height:44px;line-height:1.05;display:flex}.cal-date b{font-size:16px}.cal-date small{text-transform:uppercase;font-size:10px}.sidebar .who>summary{cursor:pointer;align-items:center;gap:10px;list-style:none;display:flex}.sidebar .who>summary::-webkit-details-marker{display:none}.sidebar .who .who-sub{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar .who .who-caret{color:var(--muted);margin-inline-start:auto;transition:transform .15s}.sidebar .who[open] .who-caret{transform:rotate(180deg)}.sidebar .who .who-menu{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.term-tabs{margin:4px 0 10px}table.gradebook th.sum,table.gradebook td.sum{background:var(--surface-2);font-weight:600}.redeem-box{border:1px dashed #b42318;border-radius:12px;flex-direction:column;gap:8px;margin-top:14px;padding:12px;display:flex}.reward-tool.timer-done{border-color:#b42318;animation:.6s ease-in-out 6 timer-flash}@keyframes timer-flash{50%{background:#b423181f}}.week-nav{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:0 0 14px;padding:10px;display:grid}.week-nav .btn[aria-disabled=true]{opacity:.45;pointer-events:none}.week-nav-current{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.week-nav-current strong{font-size:18px}@media (max-width:560px){.week-nav{grid-template-columns:1fr 1fr}.week-nav-current{grid-area:1/1/auto/-1}}.compose-steps{flex-direction:column;gap:14px;display:flex}.learner-picks{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.learner-pick{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:12px;align-items:center;gap:8px;padding:8px 10px;text-decoration:none;display:flex}.learner-pick span{flex-direction:column;min-width:0;display:flex}.learner-pick.on{border-color:var(--brand);box-shadow:0 0 0 3px #3b82f633}.recipient-choice{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:8px 18px;margin:0 0 12px;padding:8px 12px;display:flex}.recipient-choice legend{padding:0 6px;font-weight:600}.recipient-choice label.disabled{opacity:.5}:root{--hover:#3b82f61a;--hover-strong:#3b82f62e;--hover-line:#3b82f673}html[data-theme=dark]{--hover:#60a5fa24;--hover-strong:#60a5fa3d;--hover-line:#60a5fa8c}.sidebar nav a{transition:background .12s,box-shadow .12s}.sidebar nav a:hover{background:var(--hover)}.sidebar nav a.active{background:var(--hover-strong);box-shadow:inset 3px 0 0 var(--brand)}html[dir=rtl] .sidebar nav a.active{box-shadow:inset -3px 0 0 var(--brand)}.btn{transition:background .12s,border-color .12s,filter .12s}.btn:hover{background:var(--hover);border-color:var(--hover-line)}.btn.primary:hover{background:linear-gradient(135deg, var(--brand), var(--brand-2));filter:brightness(1.08);border-color:#0000}.btn.danger:hover{background:var(--danger-bg);border-color:var(--danger)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;filter:none}.btn:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:var(--hover-line)}.segmented a:hover:not(.active){background:var(--hover)}.list>li{border-radius:8px;padding-inline:8px;transition:background .12s}.list>li:hover{background:var(--hover)}.notice{transition:background .12s,border-color .12s}.notice:hover{background:var(--hover);border-color:var(--hover-line)}table tbody tr:hover>td,.learner-pick:hover,.who-menu .btn:hover,.who summary:hover{background:var(--hover)}.linkish:hover{text-decoration:underline}label.checks:hover,.checks label:hover,fieldset label:hover{background:var(--hover);border-radius:8px}.learner-name{font:inherit;color:inherit;cursor:pointer;text-align:start;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:600;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.learner-name:hover,.learner-name:focus-visible{color:var(--brand-ink);text-decoration-style:solid}.learner-drawer-parents{gap:8px;display:grid}
.ci-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.content-head{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:12px;display:flex}.crumbs{flex:260px;min-width:0}.crumbs ol{flex-wrap:wrap;align-items:center;gap:2px;margin:0;padding:0;list-style:none;display:flex}.crumbs li{align-items:center;gap:2px;min-width:0;display:inline-flex}.crumbs a{color:var(--brand-ink);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;align-items:center;gap:6px;max-width:260px;padding:4px 8px;font-size:14px;font-weight:600;text-decoration:none;transition:background .12s;display:inline-flex;overflow:hidden}.crumbs a:hover{background:var(--hover)}.crumbs a[aria-current=page]{color:var(--text)}.crumbs .crumb-sep{color:var(--muted);flex:none}html[dir=rtl] .crumbs .crumb-sep,html[dir=rtl] .ci-chevron,html[dir=rtl] .match-arrow .icon{transform:scaleX(-1)}.content-title{align-items:center;gap:10px;margin-bottom:14px;font-size:20px;display:flex}.ci-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.ci-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:background .12s,border-color .12s;display:flex;position:relative}.ci-row:hover,.ci-row:focus-within{background:var(--hover);border-color:var(--hover-line)}.ci-row.is-hidden{border-style:dashed}.ci-row.is-hidden .ci-icon,.ci-row.is-hidden .ci-title{opacity:.65}.ci-icon{background:var(--surface-2);border:1px solid var(--border);width:40px;height:40px;color:var(--brand-ink);border-radius:10px;flex:none;place-items:center;display:inline-grid}.ci-icon.folder{background:color-mix(in srgb, currentColor 14%, transparent);border-color:color-mix(in srgb, currentColor 30%, transparent)}.ci-icon.folder .icon{fill:color-mix(in srgb, currentColor 35%, transparent)}.ci-icon.sm{border-radius:8px;width:30px;height:30px}.ci-main{flex:1;min-width:0}.ci-title{color:var(--text);overflow-wrap:anywhere;font-weight:700;text-decoration:none}.ci-title:after{content:"";border-radius:12px;position:absolute;inset:0}.ci-title:focus-visible{outline:none}.ci-title:focus-visible:after{outline:2px solid var(--brand);outline-offset:2px}.ci-meta{color:var(--muted);flex-wrap:wrap;gap:2px 0;margin-top:2px;font-size:12px;display:flex}.ci-meta>span:not(:last-child):after{content:"·";margin-inline:6px}.ci-badges{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.ci-actions{z-index:1;flex:none;align-items:center;gap:6px;display:flex;position:relative}.ci-chevron{color:var(--muted);margin-inline-start:2px}.badge.info{background:var(--hover-strong);color:var(--brand-ink);border-color:#0000}html[data-theme=dark] .badge.info{color:var(--text)}.icon-btn{border:1px solid var(--border);background:var(--surface);width:34px;height:34px;color:var(--muted);cursor:pointer;border-radius:9px;place-items:center;padding:0;text-decoration:none;transition:background .12s,color .12s,border-color .12s;display:inline-grid}.icon-btn:hover{background:var(--hover-strong);border-color:var(--hover-line);color:var(--text)}.icon-btn.danger:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger-ink)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}@media (max-width:560px){.ci-row.has-tools{flex-wrap:wrap;align-items:flex-start}.ci-row.has-tools .ci-main{flex-basis:calc(100% - 56px)}.ci-row.has-tools .ci-actions{justify-content:flex-end;width:100%}.ci-row.has-tools .ci-chevron{display:none}}.composer-kinds{flex-wrap:wrap;gap:6px;display:flex}.composer-form{border-top:1px solid var(--border);margin-top:16px;padding-top:16px}.composer-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.field-label{margin-bottom:6px;font-size:13px;font-weight:600;display:block}.field small{font-size:12px}.assign-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px;display:grid}.assign-grid>*{min-width:0}.assign-side{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:14px 14px 2px}.assign-side select,.assign-side input{background:var(--surface)}@media (max-width:900px){.assign-grid{grid-template-columns:minmax(0,1fr)}}.dt-pair{grid-template-columns:minmax(0,1fr) minmax(96px,120px);gap:8px;display:grid}.dt-pair input:disabled{opacity:.5}.tool-bar{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;gap:8px;padding:8px;display:flex}.tool-toggle{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:600;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.tool-toggle:hover{background:var(--hover);border-color:var(--hover-line)}.tool-toggle[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:#fff}.tool-toggle[aria-pressed=true]:hover{filter:brightness(1.08)}.tool-panel{border:1px solid var(--hover-line);background:var(--hover);border-radius:12px;margin-top:10px;padding:12px 14px}.tool-panel .field:last-child{margin-bottom:0}.tool-panel input,.tool-panel select{background:var(--surface)}.tool-status{margin:8px 0 0;font-size:12px}.notice-plain{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin:0;padding:12px 14px}.question-builder{border:1px solid var(--border);border-radius:12px;min-width:0;margin:0 0 14px;padding:12px 14px 4px}.question-builder legend{padding:0 6px;font-weight:700}.question-builder fieldset label:hover{background:0 0}.seg-buttons{border:1px solid var(--border);background:var(--border);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.seg-btn{background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border:0;padding:9px 10px;font-size:13px;font-weight:600;transition:background .12s}.seg-btn:hover{background:linear-gradient(var(--hover-strong), var(--hover-strong)), var(--surface)}.seg-btn[aria-pressed=true]{background:var(--brand);color:#fff}@media (max-width:420px){.seg-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}.mc-options{gap:8px;margin-bottom:10px;display:grid}.mc-option{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;transition:border-color .12s,background .12s;display:grid}.mc-option:hover{border-color:var(--hover-line)}.mc-option.correct{border-color:var(--ok);background:var(--ok-bg)}.mc-option input[type=radio]{width:18px;height:18px;accent-color:var(--ok);cursor:pointer;margin:0}.letter-badge{background:var(--surface-2);border:1px solid var(--border);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-grid}.mc-option.correct .letter-badge{background:var(--ok);border-color:var(--ok);color:#fff}.tf-choices{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tf-choice{border:2px solid var(--border);background:var(--surface);min-height:64px;color:var(--text);font:inherit;cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:17px;font-weight:700;transition:background .12s,border-color .12s;display:inline-flex}.tf-choice:hover{background:var(--hover);border-color:var(--hover-line)}.tf-choice[aria-pressed=true]{border-color:var(--ok);background:var(--ok-bg);color:var(--ok-ink)}.match-grid{grid-template-columns:28px minmax(0,1fr) 20px minmax(0,1fr) 34px;align-items:center;gap:8px;margin-bottom:10px;display:grid}.match-row{display:contents}.match-head{color:var(--muted);font-size:12px;font-weight:700}.match-arrow{color:var(--muted);place-items:center;display:inline-grid}@media (max-width:560px){.match-grid{grid-template-columns:28px minmax(0,1fr) 34px}.match-head,.match-arrow{display:none}.match-row input:nth-of-type(2){grid-column:2;margin-bottom:6px}.match-row .icon-btn{grid-area:span 1/3}}.blank-preview{background:var(--surface-2);border:1px dashed var(--border);border-radius:10px;margin-bottom:14px;padding:10px 14px}.blank-preview p{margin:0;line-height:2}.blank-slot{border-bottom:2px solid var(--brand);background:var(--hover);text-align:center;border-radius:6px 6px 0 0;min-width:70px;margin-inline:4px;padding:0 10px;font-weight:700;display:inline-block}.learner-picker{gap:8px;display:grid}.picker-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.picker-search{flex:200px;position:relative}.picker-search .icon{inset-inline-start:10px;color:var(--muted);position:absolute;top:50%;transform:translateY(-50%)}.picker-search input{padding-inline-start:34px}.picker-count{font-size:13px}.picker-list{border:1px solid var(--border);background:var(--surface);border-radius:10px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:4px;max-height:260px;padding:4px;display:grid;overflow-y:auto}.picker-list label{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;font-weight:500;display:flex}.picker-list label:hover{background:var(--hover)}.picker-list label.on{background:var(--hover-strong);font-weight:600}.picker-list input{width:auto;margin:0}.picker-list .picker-number{margin-inline-start:auto;font-size:12px;font-weight:500}.folder-preview{margin-top:10px}.item-head{align-items:flex-start;gap:14px;display:flex}.item-head .ci-icon{border-radius:12px;width:48px;height:48px}.item-meta{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.meta-chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.meta-chip .icon{color:var(--muted)}.status-card{gap:12px;display:grid}.status-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.status-cell{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:10px 12px}.status-cell small{color:var(--muted);margin-bottom:2px;font-size:12px;display:block}.status-cell strong{font-size:15px}.score-big{color:var(--brand-ink);font-size:26px;font-weight:800}html[data-theme=dark] .score-big{color:var(--text)}.teacher-note{border-inline-start:4px solid var(--brand);background:var(--surface-2);white-space:pre-wrap;border-radius:8px;padding:10px 14px}.edit-panel>summary{cursor:pointer;border-radius:8px;align-items:center;gap:8px;margin:-4px -6px;padding:4px 6px;font-size:16px;font-weight:700;list-style:none;display:flex}.edit-panel>summary::-webkit-details-marker{display:none}.edit-panel>summary:hover{background:var(--hover)}.edit-panel[open]>summary{margin-bottom:14px}.edit-panel>summary .muted{font-size:13px;font-weight:500}.sub-table td,.sub-table th{vertical-align:middle}.sub-table .score-input{text-align:center;width:76px}.sub-table .feedback-input{min-width:160px}.learner-cell{align-items:center;gap:8px;min-width:160px;display:flex}.rubric-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.rubric-table{border-collapse:separate;border-spacing:0;width:100%;min-width:560px}.rubric-table th,.rubric-table td{border-bottom:1px solid var(--border);border-inline-end:1px solid var(--border);vertical-align:top;text-transform:none;padding:10px}.rubric-table tr>:last-child{border-inline-end:0}.rubric-table tbody tr:last-child>*{border-bottom:0}.rubric-table thead th{background:var(--surface-2);color:var(--text);letter-spacing:0;font-size:13px}.rubric-table thead th .muted{font-size:12px;font-weight:600;display:block}.rubric-table .crit{background:var(--surface-2);width:26%;min-width:170px}.rubric-table .crit strong{display:block}.rubric-table .crit p{color:var(--muted);white-space:pre-wrap;margin:4px 0 0;font-size:12px}.rubric-table td.cell{white-space:pre-wrap;font-size:13px}.rubric-table td.cell.chosen{background:var(--ok-bg);box-shadow:inset 0 0 0 2px var(--ok)}.rubric-table td.cell .cell-pts{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.rubric-table td.cell.chosen .cell-pts{color:var(--ok-ink)}.rubric-table tbody tr:hover>td{background:inherit}.rubric-table tbody tr:hover>td.cell.chosen{background:var(--ok-bg)}.rubric-comment{background:var(--surface);border:1px solid var(--border);white-space:pre-wrap;border-radius:8px;margin-top:6px;padding:6px 8px;font-size:12px}.rubric-total{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.rubric-table label.pick{cursor:pointer;border-radius:8px;height:100%;margin:-8px;padding:8px;font-weight:400;transition:background .12s,box-shadow .12s;display:block}.rubric-table label.pick:hover{background:var(--hover)}.rubric-table label.pick input{opacity:0;width:1px;height:1px;position:absolute}.rubric-table label.pick:has(input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.rubric-table label.pick:has(input:checked){background:var(--ok-bg);box-shadow:inset 0 0 0 2px var(--ok)}.rubric-table label.pick:has(input:checked) .cell-pts{color:var(--ok-ink)}.rubric-table textarea{margin-top:8px;padding:6px 8px;font-size:12px}.rb-levels th{min-width:150px}.rb-level{gap:6px;display:grid}.rb-level-points{align-items:center;gap:6px;display:flex}.rb-level-points input{width:80px}.rb-table input,.rb-table textarea{background:var(--surface);padding:7px 9px;font-size:13px}.rb-table textarea{resize:vertical;min-height:64px}.rb-crit-tools{gap:4px;margin-top:6px;display:flex}.rb-crit-tools .icon-btn{width:30px;height:30px}.rb-up-down .icon{transition:none}.rb-down .icon{transform:rotate(180deg)}.rubric-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px;display:flex}.rubric-card-head h3{margin-bottom:2px}.side-title{color:var(--muted);align-items:center;gap:6px;margin:0 0 12px;font-size:13px;display:flex}.rubric-table thead th:not(.crit){min-width:130px}.rubric-table tbody th{color:var(--text);font-size:14px;font-weight:600}.sub-table .badge,.ci-badges .badge,.item-meta .badge,.meta-chip{white-space:nowrap}.answer-prompt{white-space:pre-wrap;font-size:16px;font-weight:600}.answer-options{gap:8px;display:grid}.answer-option{border:1px solid var(--border);cursor:pointer;border-radius:10px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:10px;padding:10px 12px;font-weight:500;transition:background .12s,border-color .12s;display:grid}.answer-option:hover{background:var(--hover);border-color:var(--hover-line)}.answer-option input,.tf-choice input{width:18px;height:18px;margin:0}.answer-option:has(input:checked){border-color:var(--brand);background:var(--hover-strong)}.answer-option:has(input:checked) .letter-badge{background:var(--brand);border-color:var(--brand);color:#fff}label.tf-choice:has(input:checked){border-color:var(--brand);background:var(--hover-strong);color:var(--text)}.answer-matching{gap:8px;display:grid}.answer-match{border:1px solid var(--border);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:10px;padding:8px 10px;font-weight:600;display:grid}@media (max-width:560px){.answer-match{grid-template-columns:minmax(0,1fr)}}html[data-theme=dark] .ci-icon:not(.folder),html[data-theme=dark] .crumbs a:not([aria-current=page]){color:var(--brand)}.color-dot{transition:box-shadow .12s}.color-dot:hover{box-shadow:0 0 0 3px var(--hover-strong)}.sec-scope{gap:6px;display:grid}.sec-scope label{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:6px 8px;display:flex}.sec-scope label:hover{background:var(--hover)}.sec-scope input{width:auto;margin:0}.sec-list{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.sec-list label{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.sec-list label:hover{background:var(--hover);border-color:var(--hover-line)}.sec-list label.on{background:var(--hover-strong);border-color:var(--brand)}.sec-list input{width:auto;margin:0}.sec-dates{gap:10px;display:grid}.sec-row{border-top:1px dashed var(--border);grid-template-columns:72px minmax(0,1fr) minmax(0,1fr);align-items:start;gap:10px;padding-top:10px;display:grid}.sec-row:first-child{border-top:0;padding-top:0}.sec-row .field{margin-bottom:0}.sec-name{padding-top:26px;font-weight:700}@media (max-width:640px){.sec-row{grid-template-columns:minmax(0,1fr)}.sec-name{padding-top:0}}.sec-filter{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.sec-filter a{border:1px solid var(--border);color:var(--text);background:var(--surface);border-radius:999px;padding:4px 10px;font-size:13px;font-weight:600;text-decoration:none}.sec-filter a:hover{background:var(--hover)}.sec-filter a.on{background:var(--brand);border-color:var(--brand);color:#fff}
.sgb{--sgb-primary:#065287;--sgb-primary-hover:#0a6aa8;--sgb-primary-ink:#fff;--sgb-link:#065287;--sgb-teal:#00829a;--sgb-bg:#f7f9fa;--sgb-card:#fff;--sgb-head:#f2f5f8;--sgb-border:#e0e6ed;--sgb-line:#e8edf2;--sgb-text:#1f2d3d;--sgb-muted:#5e6c7b;--sgb-rowhover:#00829a12;--sgb-colhover:#e9f5f7;--sgb-hover:#06528714;--sgb-missing:#e8710a;--sgb-excused:#2e9e4f;--sgb-incomplete:#d39e00;--sgb-comment:#1a73e8;--sgb-danger:#c62828;--sgb-ok:#2e7d32;--sgb-warn:#a15c00;--sgb-hidden-stripe:#5e6c7b14;--sgb-shadow:0 6px 24px #0f233c24;color:var(--sgb-text)}html[data-theme=dark] .sgb{--sgb-primary:#1d6aa5;--sgb-primary-hover:#2a7dbd;--sgb-link:#7cc0f0;--sgb-teal:#2bb5cc;--sgb-bg:#0e1621;--sgb-card:#142131;--sgb-head:#1a2a3d;--sgb-border:#2a3a50;--sgb-line:#223246;--sgb-text:#e2e8f0;--sgb-muted:#94a3b8;--sgb-rowhover:#2bb5cc1a;--sgb-colhover:#17303c;--sgb-hover:#7cc0f01f;--sgb-missing:#ff9a3c;--sgb-excused:#4cc76f;--sgb-incomplete:#f5c542;--sgb-comment:#5e9eff;--sgb-danger:#ff6b6b;--sgb-ok:#4cc76f;--sgb-warn:#f5b942;--sgb-hidden-stripe:#94a3b81a;--sgb-shadow:0 8px 28px #00000080}.main:has(.sgb-page){background:#f7f9fa;max-width:none}html[data-theme=dark] .main:has(.sgb-page){background:#0e1621}.sgb-visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.sgb .btn{border-color:var(--sgb-border);background:var(--sgb-card);color:var(--sgb-text);box-shadow:none;border-radius:4px;font-weight:600}.sgb .btn.small{gap:6px;padding:5px 10px;font-size:13px}.sgb .btn:hover{background:var(--sgb-hover);border-color:var(--sgb-primary)}.sgb .btn.primary{background:var(--sgb-primary);border-color:var(--sgb-primary);color:var(--sgb-primary-ink)}.sgb .btn.primary:hover{background:var(--sgb-primary-hover);border-color:var(--sgb-primary-hover);filter:none}.sgb .btn.danger{border-color:var(--sgb-border);color:var(--sgb-danger);background:0 0}.sgb .btn.danger:hover{background:color-mix(in srgb, var(--sgb-danger) 10%, transparent);border-color:var(--sgb-danger)}.sgb input:not([type=checkbox]):not([type=radio]),.sgb select,.sgb textarea{border-color:var(--sgb-border);background:var(--sgb-card);color:var(--sgb-text);border-radius:4px;padding:6px 8px;font-size:13px}.sgb input:focus-visible,.sgb select:focus-visible,.sgb textarea:focus-visible,.sgb .btn:focus-visible,.sgb button:focus-visible,.sgb a:focus-visible{outline:2px solid var(--sgb-teal);outline-offset:1px}.sgb a{color:var(--sgb-link)}.sgb-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px;display:flex}.sgb-head h1{color:var(--sgb-text);margin:0 0 4px;font-size:22px}.sgb-head-meta{color:var(--sgb-muted);flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0;font-size:13px;display:flex}.sgb-head-meta>span{align-items:center;gap:4px;display:inline-flex}.sgb-tab{color:var(--sgb-primary-ink);background:var(--sgb-primary);border-radius:4px;padding:2px 10px;font-weight:700}.sgb-readonly{border:1px solid var(--sgb-border);border-radius:4px;padding:0 8px}.sgb-toolbar{z-index:30;background:var(--sgb-card);border:1px solid var(--sgb-border);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex;position:sticky;top:0;box-shadow:0 1px 2px #0f233c0d}.sgb-toolbar-start,.sgb-toolbar-end{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sgb-select select{width:auto;max-width:200px;height:32px;padding-block:4px;font-weight:600}.sgb-select select:hover,.sgb-search:hover input{border-color:var(--sgb-primary)}.sgb-search{align-items:center;display:inline-flex;position:relative}.sgb-search .icon{color:var(--sgb-muted);pointer-events:none;position:absolute;inset-inline-start:9px}.sgb-search input{width:170px;height:32px;padding-inline-start:28px!important}.sgb-status{color:var(--sgb-muted);align-items:center;gap:6px;padding-inline-end:6px;font-size:12px;display:inline-flex}.sgb-status.saved{color:var(--sgb-ok)}.sgb-status.error{color:var(--sgb-danger);font-weight:600}.sgb-dot{background:var(--sgb-teal);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite sgb-pulse}.sgb-status.error .sgb-dot{background:var(--sgb-danger);animation:none}@keyframes sgb-pulse{50%{opacity:.3}}.sgb-legend{color:var(--sgb-muted);flex-wrap:wrap;align-items:center;gap:4px 16px;margin:8px 2px;font-size:12px;display:flex}.sgb-legend>span{align-items:center;gap:4px;display:inline-flex}.sgb-legend-formula{margin-inline-start:auto}.sgb-warn-text{color:var(--sgb-warn)}.sgb-legend-tri{background:var(--sgb-comment);clip-path:polygon(0 0,100% 0,100% 100%);width:9px;height:9px;display:inline-block}html[dir=rtl] .sgb-legend-tri{clip-path:polygon(0 0,100% 0,0 100%)}.sgb-notice{border:1px solid;border-radius:4px;justify-content:space-between;align-items:center;gap:10px;margin:0 0 8px;padding:8px 12px;font-size:13px;display:flex}.sgb-notice.ok{background:var(--ok-bg);color:var(--sgb-ok);border-color:color-mix(in srgb, var(--sgb-ok) 35%, transparent)}.sgb-notice.error{background:var(--danger-bg);color:var(--sgb-danger);border-color:color-mix(in srgb, var(--sgb-danger) 35%, transparent)}.sgb-empty{background:var(--sgb-card);border:1px solid var(--sgb-border);text-align:center;color:var(--sgb-muted);border-radius:4px;padding:28px 16px}.sgb-flag{align-items:center;line-height:0;display:inline-flex}.sgb-flag.missing,.sgb-menu-icon.missing{color:var(--sgb-missing)}.sgb-flag.excused,.sgb-menu-icon.excused{color:var(--sgb-excused)}.sgb-flag.incomplete,.sgb-menu-icon.incomplete{color:var(--sgb-incomplete)}.sgb-menu-icon.comment{color:var(--sgb-comment)}.sgb-awaiting{color:var(--sgb-teal);align-items:center;line-height:0;display:inline-flex}.sgb-grid{background:var(--sgb-card);border:1px solid var(--sgb-border);overscroll-behavior:contain;border-radius:4px;max-height:max(320px,100vh - 220px);position:relative;overflow:auto}.sgb-table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%;font-size:12.5px;line-height:1.3}.sgb-table th,.sgb-table td,.sgb-tbl th{text-transform:none;letter-spacing:normal}.sgb-table th,.sgb-table td{border:0;border-bottom:1px solid var(--sgb-line);border-inline-end:1px solid var(--sgb-line);background-color:var(--sgb-card);text-align:center;vertical-align:middle;padding:0 6px}.sgb-table thead th{z-index:3;background-color:var(--sgb-head);color:var(--sgb-text);border-bottom-color:var(--sgb-border);font-weight:600;position:sticky;top:0}.sgb-groups th{height:30px}.sgb-items th{top:30px}.sgb-table .sgb-corner{z-index:6;text-align:start;width:230px;min-width:230px;color:var(--sgb-muted);border-inline-end:1px solid var(--sgb-border);padding:0 10px;font-size:12px;inset-inline-start:0}.sgb-corner{vertical-align:bottom!important;padding-bottom:8px!important}.sgb-corner>span:first-child{color:var(--sgb-text);font-weight:700}.sgb-corner-count{margin-inline-start:6px;font-weight:400}.sgb-group{border-top:3px solid var(--cat);white-space:nowrap;font-size:12px;background-color:color-mix(in srgb, var(--cat) 12%, var(--sgb-head))!important}.sgb-group-name{font-weight:700}.sgb-group-weight{color:var(--sgb-muted);margin-inline-start:6px;font-weight:500}.sgb-item-head{width:96px;min-width:96px;max-width:120px;vertical-align:top!important;padding:8px 6px 4px!important}.sgb-item-head:before{content:"";inset-inline:0;background:var(--cat);height:4px;position:absolute;top:0}.sgb-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;overflow:hidden}.sgb-item-title a{color:var(--sgb-link);text-decoration:none}.sgb-item-title a:hover{text-decoration:underline}.sgb-item-meta{color:var(--sgb-muted);white-space:nowrap;margin-top:1px;font-size:11px;font-weight:400}.sgb-item-tools{justify-content:center;align-items:center;gap:2px;min-height:24px;margin-top:3px;display:flex}.sgb-hidden-tag{color:var(--sgb-warn);border:1px solid;border-radius:3px;padding:0 4px;font-size:10px;font-weight:700}.sgb-item-head.is-hidden{background-image:repeating-linear-gradient(135deg, var(--sgb-hidden-stripe) 0 6px, transparent 6px 12px)}.sgb-icon-btn{width:24px;height:24px;color:var(--sgb-muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:inline-flex}.sgb-icon-btn:hover{background:var(--sgb-hover);color:var(--sgb-primary)}.sgb-icon-btn.on{color:var(--sgb-warn)}.sgb-icon-btn:disabled{opacity:.5;cursor:progress}.sgb-avg-head,.sgb-sum-head{white-space:nowrap;min-width:70px;font-size:12px}.sgb-avg-head small,.sgb-sum-head small{color:var(--sgb-muted);text-overflow:ellipsis;max-width:90px;margin-inline:auto;font-size:11px;font-weight:400;display:block;overflow:hidden}.sgb-avg-head{background-color:color-mix(in srgb, var(--cat) 8%, var(--sgb-head))!important}.sgb-sum-head{border-inline-start:1px solid var(--sgb-border);min-width:86px}.sgb-total-head{color:var(--sgb-primary)!important}html[data-theme=dark] .sgb-total-head{color:var(--sgb-link)!important}.sgb-table .sgb-learner{z-index:2;text-align:start;border-inline-end:1px solid var(--sgb-border);width:230px;min-width:230px;max-width:230px;padding:5px 10px;font-weight:400;position:sticky;inset-inline-start:0}.sgb-learner-inner{align-items:center;gap:8px;min-width:0;display:flex}.sgb-learner-text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.sgb-learner-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:700;text-decoration:none;display:block;overflow:hidden;color:var(--sgb-link)!important}.sgb-learner-name:hover{text-decoration:underline}.sgb-overall{background:var(--sgb-head);color:var(--sgb-muted);white-space:nowrap;border-radius:10px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.sgb-overall.ok{background:var(--ok-bg);color:var(--sgb-ok)}.sgb-overall.warn{background:var(--warn-bg);color:var(--sgb-warn)}.sgb-overall.danger{background:var(--danger-bg);color:var(--sgb-danger)}.sgb-cell{cursor:cell;scroll-margin-top:110px;scroll-margin-bottom:40px;outline:none;min-width:96px;height:36px;scroll-margin-inline-start:240px;position:relative}.sgb-cell.is-hidden{background-image:repeating-linear-gradient(135deg, var(--sgb-hidden-stripe) 0 6px, transparent 6px 12px)}.sgb-value{justify-content:center;align-items:center;gap:4px;min-height:18px;display:inline-flex}.sgb-score{font-variant-numeric:tabular-nums;font-size:13px}.sgb-cell.is-active{box-shadow:inset 0 0 0 2px var(--sgb-teal);z-index:1}.sgb-cell.is-editing{box-shadow:inset 0 0 0 2px var(--sgb-primary);background-color:var(--sgb-card)!important}html[data-theme=dark] .sgb-cell.is-editing{box-shadow:inset 0 0 0 2px var(--sgb-link)}.sgb-cell.is-invalid{box-shadow:inset 0 0 0 2px var(--sgb-danger)}.sgb-cell.is-error{background-color:color-mix(in srgb, var(--sgb-danger) 8%, var(--sgb-card))}.sgb .sgb-edit{text-align:center;font-variant-numeric:tabular-nums;width:100%;height:30px;background:0 0!important;border:0!important;outline:none!important;padding:0 4px!important;font-size:13px!important}.sgb-tri{top:0;background:var(--sgb-comment);clip-path:polygon(0 0,100% 0,100% 100%);pointer-events:none;width:9px;height:9px;position:absolute;inset-inline-end:0}html[dir=rtl] .sgb-tri{clip-path:polygon(0 0,100% 0,0 100%)}.sgb-cell-state{bottom:3px;pointer-events:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;inset-inline-start:3px}.sgb-cell-state.saving{background:var(--sgb-teal);border-radius:50%;width:6px;height:6px;animation:.8s ease-in-out infinite sgb-pulse}.sgb-cell-state.saved{color:var(--sgb-ok)}.sgb-cell-state.error{color:var(--sgb-danger);font-size:11px;font-weight:800;line-height:1}.sgb-cell-error{top:calc(100% + 2px);z-index:8;background:var(--sgb-danger);color:#fff;white-space:nowrap;box-shadow:var(--sgb-shadow);border-radius:3px;padding:3px 7px;font-size:11px;position:absolute;inset-inline-start:0}.sgb-cell-menu{bottom:2px;border:1px solid var(--sgb-border);background:var(--sgb-card);width:18px;height:18px;color:var(--sgb-muted);cursor:pointer;border-radius:3px;justify-content:center;align-items:center;padding:0;display:inline-flex;position:absolute;inset-inline-end:2px}.sgb-cell-menu:hover{color:var(--sgb-primary);border-color:var(--sgb-primary);background:var(--sgb-hover)}.sgb-avg{color:var(--sgb-muted);min-width:70px;font-weight:600;background-color:color-mix(in srgb, var(--sgb-head) 60%, var(--sgb-card))!important}.sgb-sum{white-space:nowrap;border-inline-start:1px solid var(--sgb-border);min-width:86px;font-weight:700;background-color:var(--sgb-head)!important}.sgb-total .badge{border-radius:4px;padding:1px 8px;font-size:12px}.sgb-noresults{color:var(--sgb-muted);padding:18px!important}.sgb-table tbody tr:hover>td,.sgb-table tbody tr:hover>th{background-image:linear-gradient(var(--sgb-rowhover), var(--sgb-rowhover))}.sgb-table tbody tr:hover>td.is-hidden{background-image:linear-gradient(var(--sgb-rowhover), var(--sgb-rowhover)), repeating-linear-gradient(135deg, var(--sgb-hidden-stripe) 0 6px, transparent 6px 12px)}.sgb-table tfoot td,.sgb-table tfoot th{z-index:3;border-top:2px solid var(--sgb-border);height:32px;color:var(--sgb-muted);font-weight:700;position:sticky;bottom:0;background-color:var(--sgb-head)!important}.sgb-table tfoot .sgb-foot-label{z-index:5;color:var(--sgb-text);font-size:12px}.sgb-foot-label .sgb-overall{margin-inline-start:8px}.sgb-pop{z-index:1000;background:var(--sgb-card);min-width:220px;max-width:min(320px,100vw - 16px);color:var(--sgb-text);border:1px solid var(--sgb-border);box-shadow:var(--sgb-shadow);border-radius:4px;padding:4px 0;font-size:13px;position:fixed}.sgb-menu-label{color:var(--sgb-muted);text-overflow:ellipsis;white-space:nowrap;padding:6px 12px 4px;font-size:11px;font-weight:700;overflow:hidden}.sgb-menu-item{width:100%;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:7px 12px;text-decoration:none;display:flex;color:var(--sgb-text)!important}.sgb-menu-item:hover,.sgb-menu-item:focus-visible{background:var(--sgb-hover);outline:none}.sgb-menu-item:disabled{opacity:.5;cursor:not-allowed}.sgb-menu-icon{width:16px;color:var(--sgb-muted);justify-content:center;display:inline-flex}.sgb-menu-text{flex:1}.sgb-menu-check{width:16px;color:var(--sgb-teal);display:inline-flex}.sgb-menu-sep{background:var(--sgb-border);height:1px;margin:4px 0}.sgb-comment{width:320px;padding:4px 12px 12px}.sgb-comment .sgb-menu-label{padding-inline:0}.sgb-comment textarea{resize:vertical;width:100%;min-height:84px}.sgb-comment-count{text-align:end;color:var(--sgb-muted);margin:2px 0 6px;font-size:11px}.sgb-check{cursor:pointer;border-radius:4px;align-items:flex-start;gap:8px;padding:4px 6px;font-size:13px;display:flex}.sgb-check:hover{background:var(--sgb-hover)}.sgb-check input{width:auto;accent-color:var(--sgb-primary);margin:2px 0 0}.sgb-pop-actions{justify-content:space-between;align-items:center;gap:8px;margin-top:10px;display:flex}.sgb-pop-actions-end{gap:6px;display:inline-flex}.sgb-dialog{border:1px solid var(--sgb-border);background:var(--sgb-card);width:min(440px,100vw - 32px);color:var(--sgb-text);box-shadow:var(--sgb-shadow);border-radius:6px;padding:0}.sgb-dialog::backdrop{background:#0f1e3273}.sgb-dialog-head{background:var(--sgb-head);border-bottom:1px solid var(--sgb-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.sgb-dialog-head h3{color:var(--sgb-primary);margin:0;font-size:15px}html[data-theme=dark] .sgb-dialog-head h3{color:var(--sgb-link)}.sgb-dialog-body{padding:14px 16px 4px}.sgb-dialog-body .field{margin-bottom:12px}.sgb-dialog-foot{border-top:1px solid var(--sgb-border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.sgb-radios{border:0;gap:2px;margin:0 0 8px;padding:0;display:grid}.sgb-radios legend{margin-bottom:4px;font-size:13px;font-weight:600}.sgb-field-error{color:var(--sgb-danger);font-size:12px}.sgb-small{font-size:12px}.sgb-setup{gap:16px;padding-bottom:8px;display:grid}.sgb-card{background:var(--sgb-card);border:1px solid var(--sgb-border);border-radius:4px;min-width:0}.sgb-card-head{border-bottom:1px solid var(--sgb-border);background:var(--sgb-head);border-radius:4px 4px 0 0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 16px;display:flex}.sgb-card-head h2{color:var(--sgb-primary);margin:0;font-size:15px}html[data-theme=dark] .sgb-card-head h2{color:var(--sgb-link)}.sgb-card-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.sgb-card-body{padding:14px 16px}.sgb-card-body>p:last-child{margin-bottom:0}.sgb-hint{color:var(--sgb-muted);margin:0 0 10px;font-size:12.5px}.sgb-tbl-wrap{overflow-x:auto}.sgb-tbl{border-collapse:collapse;width:100%;font-size:13px}.sgb-tbl th{text-align:start;color:var(--sgb-muted);background:var(--sgb-head);border-bottom:1px solid var(--sgb-border);white-space:nowrap;padding:7px 10px;font-size:12px;font-weight:700}.sgb-tbl td{border-bottom:1px solid var(--sgb-line);vertical-align:middle;padding:7px 10px}.sgb-tbl tbody tr:hover>td{background:var(--sgb-hover)}.sgb-tbl tfoot td{background:var(--sgb-card);border-bottom:0;font-weight:700}.sgb-tbl .num{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap}.sgb-tbl .narrow{white-space:nowrap;width:1%}.sgb-tbl input[type=number]{text-align:end;width:80px}.sgb-tbl input.sgb-letter{width:70px}.sgb-star{color:#f4b400;line-height:0;display:inline-flex}.sgb-catname{white-space:nowrap;align-items:center;gap:8px;font-weight:600;display:inline-flex}.sgb-nowrap{white-space:nowrap}.sgb-swatch{border-radius:2px;flex:none;width:10px;height:10px}.sgb-new-tag,.sgb-edited-tag{color:var(--sgb-teal);border:1px solid;border-radius:3px;padding:0 5px;font-size:10px;font-weight:700}.sgb-subhead{color:var(--sgb-text);margin:16px 0 6px;font-size:13px;font-weight:700}.sgb-total-line{align-items:center;gap:6px;font-weight:700;display:inline-flex}.sgb-total-line.ok{color:var(--sgb-ok)}.sgb-total-line.bad{color:var(--sgb-danger)}.sgb-split{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.sgb-split .field{flex:0 160px;margin:0}.sgb-split .field input{width:100%}.sgb-settings{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:12px 20px;display:grid}.sgb-settings .field{margin:0}.sgb-settings-checks{gap:4px;margin-top:12px;display:grid}.sgb-saveBar{z-index:25;background:var(--sgb-card);border:1px solid var(--sgb-border);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #0f233c14}.sgb-saveBar-text{color:var(--sgb-muted);font-size:13px}.sgb-saveBar-text.bad{color:var(--sgb-danger);font-weight:600}.sgb-saveBar-text.dirty{color:var(--sgb-warn);font-weight:600}.sgb-rubrics{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sgb-rubrics strong{color:var(--sgb-primary);margin-inline-end:6px;font-size:20px}html[data-theme=dark] .sgb-rubrics strong{color:var(--sgb-link)}.sgb-gear{position:relative}@media (max-width:720px){.sgb-toolbar{position:static}.sgb-search input{width:150px}.sgb-legend-formula{margin-inline-start:0}.sgb-grid{max-height:max(320px,100vh - 140px)}.sgb-table .sgb-corner,.sgb-table .sgb-learner{width:150px;min-width:150px;max-width:150px;padding-inline:8px}.sgb-learner-inner>.avatar{display:none}.sgb-cell{min-width:76px;scroll-margin-inline-start:160px}.sgb-item-head{width:80px;min-width:80px}.sgb-cell-menu{width:22px;height:22px}.sgb-card-head,.sgb-card-body{padding-inline:12px}.sgb-tbl th,.sgb-tbl td{padding:6px 8px}.sgb-tbl th{white-space:normal}.sgb-tbl .narrow{padding-inline:4px}.sgb-tbl .sgb-nowrap{white-space:normal}.sgb-tbl input[type=number]{width:64px}.sgb-saveBar{padding:8px 12px}}.sgb-terms th,.sgb-terms td{text-align:center}.sgb-terms th:first-child,.sgb-terms td:first-child{text-align:start}.sgb-terms input[type=number]{text-align:center;width:76px}.sgb .term-tabs{margin:0 0 10px}.sgb .segmented a.active{background:var(--sgb-primary)}.sgb-release{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.sgb-release p{flex:280px;font-size:13.5px;line-height:1.6}@media (max-width:480px){.sgb-release .btn{justify-content:center;inline-size:100%}}.sgb-sections{background:var(--sgb-card);flex:0 auto;max-width:100%;overflow-x:auto}.sgb-sections a{white-space:nowrap;padding:4px 10px;font-size:12.5px;font-weight:600}.sgb-section-tag{color:var(--sgb-teal);vertical-align:middle;border:1px solid;border-radius:3px;padding:0 4px;font-size:10px;font-weight:700}.sgb-cell.is-unpublished{background-color:var(--sgb-head);color:var(--sgb-muted);cursor:default}.sgb-cell.is-unpublished .sgb-score{color:var(--sgb-muted);opacity:.7;text-decoration:line-through}.sgb-unpublished-mark{color:var(--sgb-muted);opacity:.6}.sgb-cell-sample{border:1px solid var(--sgb-border);border-radius:2px;justify-content:center;align-items:center;width:18px;height:14px;font-size:10px;line-height:1;display:inline-flex}.sgb-cell-sample.is-unpublished{background:var(--sgb-head);color:var(--sgb-muted)}.sgb-section-avgs{color:var(--sgb-muted);flex-wrap:wrap;gap:6px 14px;margin:0 2px 8px;padding:0;font-size:12px;list-style:none;display:flex}.sgb-section-avgs li{align-items:center;gap:6px;display:inline-flex}.sgb-section-avgs a{color:var(--sgb-link);font-weight:700;text-decoration:none}.sgb-section-avgs a:hover{text-decoration:underline}.sgb-sheet-nav{flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px;display:flex}.sgb-sheet-nav .term-tabs{margin:0}@media (max-width:480px){.sgb-sections a{padding:4px 8px}}.sgb-filter.on{background:var(--sgb-teal);border-color:var(--sgb-teal);color:#fff}.sgb-item-sections{white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:10px;line-height:1.5;overflow:hidden}.sgb-unpublished-tag{color:var(--sgb-muted)}.sgb-menu-note{color:var(--sgb-muted);padding:0 12px 6px;font-size:11px}
.lh-tiles bdi,.lh-sub bdi,.hs-lesson bdi.time,.lg-items bdi,.lg-todo bdi,.as-lesson bdi.time{white-space:nowrap}.hs-lesson bdi.time{align-self:flex-start}.as-lesson bdi.time{justify-self:start}.lh-greeting .person{align-items:center;min-width:0}.lh-children{flex-wrap:wrap;gap:8px;max-width:100%;display:flex}.lh-child{padding:6px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;align-items:center;gap:8px;min-width:0;padding-inline:6px 12px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.lh-child span{flex-direction:column;min-width:0;line-height:1.15;display:flex}.lh-child strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.lh-child small{color:var(--muted);font-size:11px}.lh-child:hover{background:var(--hover);border-color:var(--hover-line)}.lh-child.on{background:var(--hover-strong);border-color:var(--brand)}.lh-tiles{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) minmax(0,1fr);grid-template-areas:"att work points""att news news";gap:16px;margin-bottom:16px;display:grid}.lh-tile{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);color:var(--text);flex-direction:column;gap:6px;padding:18px 20px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}a.lh-tile:hover{background:var(--hover);border-color:var(--hover-line)}.lh-label{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.lh-value{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800;line-height:1.1}.lh-sub{font-size:13px}.lh-sub.danger{color:var(--danger-ink);font-weight:700}.lh-work{grid-area:work}.lh-points{grid-area:points}.lh-points .lh-value{color:var(--brand-ink)}.lh-news{grid-area:news}.lh-news-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.lh-news .list>li{padding-block:6px}.lh-news-item{color:var(--text);justify-content:space-between;align-items:baseline;gap:10px;text-decoration:none;display:flex}.lh-news-item strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.lh-news-item .muted{font-variant-numeric:tabular-nums;flex:none;font-size:12px}.lh-att{text-align:center;background:linear-gradient(160deg, #3b82f614 0%, var(--surface) 60%);--tone:var(--muted);grid-area:att;justify-content:space-between;align-items:center;gap:10px}.lh-att .lh-label{align-self:flex-start}.lh-att.tone-ok{--tone:var(--ok)}.lh-att.tone-warn{--tone:var(--warn)}.lh-att.tone-danger{--tone:var(--danger)}.lh-ring{--pct:0;background:conic-gradient(var(--tone) calc(var(--pct) * 1%), var(--border) 0);border-radius:50%;place-items:center;width:148px;height:148px;display:grid}.lh-ring>span{background:var(--surface);width:118px;height:118px;color:var(--tone);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:36px;font-weight:800;display:grid}.lh-att.tone-none .lh-ring>span{color:var(--muted)}.lh-more{color:var(--brand-ink);align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}html[dir=rtl] .lh-chev{transform:scaleX(-1)}@media (max-width:860px){.lh-tiles{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"att att""work points""news news"}}@media (max-width:420px){.lh-tiles{gap:12px}.lh-tile{padding:14px 16px}.lh-value{font-size:28px}.lh-ring{width:124px;height:124px}.lh-ring>span{width:98px;height:98px;font-size:30px}}.lp-switch{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.lg-courses{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;display:grid}.lg-course{border:1px solid var(--border);border-top:5px solid var(--course,var(--brand));border-radius:var(--radius);background:var(--surface);min-width:0;box-shadow:var(--shadow);color:var(--text);flex-direction:column;gap:10px;padding:18px 20px;text-decoration:none;transition:background .12s,border-color .12s;display:flex;position:relative}.lg-course:hover{background:var(--hover);border-inline-color:var(--hover-line);border-bottom-color:var(--hover-line)}.lg-course-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.lg-course-head h3{overflow-wrap:anywhere;margin:0;font-size:17px}.lg-course-head p{margin:2px 0 0;font-size:13px}.lg-course-section{white-space:nowrap;font-size:14px;font-weight:500}.lg-count{background:var(--brand);color:#fff;font-variant-numeric:tabular-nums;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:15px;font-weight:800;display:grid}.lg-count.missing{background:var(--danger)}.lg-count.zero{background:var(--ok-bg);color:var(--ok-ink);border:1px solid var(--ok)}.lg-course-grade{border-top:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:8px;padding-top:10px;font-size:13px;display:flex}.lg-course-grade strong{font-variant-numeric:tabular-nums;font-size:22px}.lg-course-foot{font-size:12px}.lg-course-foot .danger{color:var(--danger-ink);font-weight:700}.lg-head{border-inline-start:5px solid var(--course,var(--brand));flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;padding-inline-start:14px;display:flex}.lg-head h1{overflow-wrap:anywhere;margin-bottom:2px}.lg-num{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.lg-term{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:12px;overflow:hidden}.lg-term>summary{cursor:pointer;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;font-weight:700;list-style:none;transition:background .12s;display:flex}.lg-term>summary::-webkit-details-marker{display:none}.lg-term>summary:hover{background:var(--hover)}.lg-term>summary .lg-caret{transition:transform .15s}.lg-term[open]>summary .lg-caret{transform:rotate(90deg)}html[dir=rtl] .lg-term>summary .lg-caret{transform:scaleX(-1)}html[dir=rtl] .lg-term[open]>summary .lg-caret{transform:rotate(90deg)}.lg-term-body{gap:14px;padding:4px 16px 16px;display:grid}.lg-cat-head{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-weight:700;display:flex}.lg-items{margin:0;padding:0;list-style:none}.lg-items>li{border-bottom:1px solid var(--border);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:10px;transition:background .12s;display:grid}.lg-items>li:last-child{border-bottom:0}.lg-items>li:hover{background:var(--hover)}.lg-item-title{overflow-wrap:anywhere;min-width:0}.lg-item-meta{color:var(--muted);font-size:12px}.lg-score{text-align:end;font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.lg-score .badge{margin-inline-start:6px}.lg-pending{color:var(--muted);white-space:normal;font-size:12px;font-weight:600}.lg-comment{background:var(--surface-2);border-inline-start:3px solid var(--brand);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;grid-column:1/-1;align-items:flex-start;gap:8px;padding:8px 10px;font-size:13px;display:flex}@media (max-width:560px){.lg-summary thead{display:none}.lg-summary tr{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 10px;padding:10px 0;display:grid}.lg-summary tr:last-child{border-bottom:0}.lg-summary td{border:0;padding:0}.lg-summary td:first-child{grid-column:1/-1;font-weight:700}.lg-summary td.lg-num{text-align:start}.lg-summary td.lg-empty{display:none}.lg-summary td[data-label]:before{content:attr(data-label);color:var(--muted);font-size:11px;font-weight:700;display:block}.lg-summary tbody tr:hover>td{background:0 0}}.lg-todo{gap:8px;margin:0;padding:0;list-style:none;display:grid}.lg-todo>li{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:12px;padding:12px 14px;transition:background .12s,border-color .12s;display:flex}.lg-todo>li:hover{background:var(--hover);border-color:var(--hover-line)}.lg-todo>li.overdue{border-inline-start:4px solid var(--danger)}.lg-todo-icon{background:var(--surface-2);width:34px;height:34px;color:var(--brand-ink);border-radius:10px;flex:none;place-items:center;display:grid}.lg-todo-main{flex:1;gap:3px;min-width:0;display:grid}.lg-todo-main strong{overflow-wrap:anywhere}.lg-todo-meta{color:var(--muted);flex-wrap:wrap;gap:4px 10px;font-size:12px;display:flex}.lg-due-late{color:var(--danger-ink);font-weight:700}.lg-path{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 4px;font-size:12px;display:flex}.lg-path a{color:var(--brand-ink);text-decoration:none}.lg-path a:hover{text-decoration:underline}.lg-path .sep{opacity:.6}@media (max-width:560px){.lg-todo>li{flex-wrap:wrap}.lg-todo-icon{display:none}}.as-ranges{max-width:100%;margin-bottom:16px;overflow-x:auto}.as-overview{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:20px;margin-bottom:16px;display:grid}.as-overview .lh-att{background:0 0;flex-direction:column;grid-area:auto;align-items:center;gap:10px;min-width:170px;display:flex}.as-counts{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.as-counts>.as-count{grid-column:span 2;min-width:0}.as-counts>.as-count:nth-child(n+4){grid-column:span 3}.as-count{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:2px;padding:12px 14px;transition:background .12s;display:flex}.as-count:hover{background:var(--hover)}.as-count strong{font-variant-numeric:tabular-nums;font-size:24px}.as-count span{color:var(--muted);font-size:12px;font-weight:700}.as-count.ok strong{color:var(--ok-ink)}.as-count.warn strong{color:var(--warn-ink)}.as-count.danger strong{color:var(--danger-ink)}.as-day-date{white-space:nowrap;font-variant-numeric:tabular-nums}.as-day-date small{color:var(--muted);display:block}.as-lessons{flex-wrap:wrap;gap:8px;display:flex}.as-lesson{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;gap:2px;min-width:128px;padding:8px 10px;font-size:13px;display:grid}.as-lesson .time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.as-lesson .badge{justify-self:start}.as-lesson .note{color:var(--muted);overflow-wrap:anywhere;font-size:11px}@media (max-width:640px){.as-overview{grid-template-columns:minmax(0,1fr);justify-items:center}.as-counts{gap:8px;width:100%}.as-count{padding:10px 12px}.as-days td{border-bottom:0;padding-block:6px;display:block}.as-days tr{border-bottom:1px solid var(--border);padding-block:6px;display:block}.as-days thead{display:none}.as-lesson{flex:120px;min-width:0}}
.rw-picker{gap:12px;margin-bottom:16px;display:grid}.rw-picker-title{margin:0;font-size:15px}.rw-picker-buttons{flex-wrap:wrap;gap:8px;display:flex}.rw-picker-note{margin:0}.rw-class-tag{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:0 7px;font-size:11px;font-weight:700;display:inline-block}.btn.primary .rw-class-tag{color:#fff;background:#fff3;border-color:#0000}.rw-other.active{border-color:var(--brand);background:var(--hover)}.rw-search{border-top:1px dashed var(--border);gap:14px;padding-top:14px;display:grid}.rw-search-form{flex-wrap:wrap;gap:8px;display:flex}.rw-search-form input[name=q]{flex:220px;min-width:0}.rw-search-heading{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:700}.rw-board{gap:14px;display:grid}.rw-board>*{min-width:0}.rw-board-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:8px 16px;display:flex}.rw-board-head h2{margin:0 0 2px}.rw-board-head p{margin:0}.rw-balance-note{background:var(--surface-2);border:1px solid var(--border);max-width:460px;color:var(--muted);border-radius:10px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.rw-balance-note .icon{color:var(--brand-ink);flex:none}.rw-board .reward-tools{margin:0}.rw-recent h3{margin-bottom:4px}a.dojo-points{cursor:pointer;text-decoration:none;transition:box-shadow .12s,filter .12s}a.dojo-points:hover,a.dojo-points:focus-visible{filter:brightness(1.12);box-shadow:0 0 0 3px var(--hover-strong)}.dojo-student{transition:background .12s,box-shadow .15s,border-color .15s}.dojo-student:hover{background:var(--hover);border-color:var(--hover-line)}.point-choice{transition:background .12s,border-color .12s}.point-choice:hover:not(:disabled){background:var(--hover)}.point-choice:disabled{opacity:.55;cursor:not-allowed}.rw-add{padding:0;overflow:hidden}.rw-add>summary{cursor:pointer;align-items:center;gap:12px;padding:14px 18px;list-style:none;transition:background .12s;display:flex}.rw-add>summary::-webkit-details-marker{display:none}.rw-add>summary:hover{background:var(--hover)}.rw-add>summary>span:last-child{flex-direction:column;min-width:0;display:flex}.rw-add>summary small{font-size:12px}.rw-add-icon{background:var(--hover-strong);width:32px;height:32px;color:var(--brand-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;transition:transform .15s;display:inline-flex}.rw-add[open] .rw-add-icon{transform:rotate(45deg)}.rw-add-body{border-top:1px solid var(--border);padding:16px 18px 18px}.rw-add-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 12px;display:grid}.rw-credentials{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:0 0 14px;display:grid}.rw-credentials>div{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;padding:10px 12px}.rw-credentials dt{color:var(--muted);font-size:12px;font-weight:700}.rw-credentials dd{overflow-wrap:anywhere;margin:4px 0 0}.rw-entries>li{justify-content:space-between;align-items:center;gap:12px;display:flex}.rw-entry-main{flex-direction:column;min-width:0;display:flex}.rw-entry-main small{font-size:12px}.rw-entry-points{flex:none;align-items:center;gap:6px;display:inline-flex}.rw-learner h3{margin-bottom:10px}.rw-total{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:12px;align-items:center;gap:12px;margin-bottom:14px;padding:12px 14px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.rw-total:hover,.rw-total:focus-visible{background:var(--hover);border-color:var(--hover-line)}.rw-total-number{color:var(--brand-ink);font-size:34px;font-weight:800;line-height:1}.rw-total-label{flex-direction:column;flex:1;min-width:0;font-weight:700;display:flex}.rw-total-label small{color:var(--muted);font-size:12px;font-weight:400}.rw-total-open{color:var(--brand-ink);align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}html[dir=rtl] .rw-flip{transform:scaleX(-1)}.rw-history-who{align-items:center;gap:12px;min-width:0;display:flex}.rw-history-who h1{margin-bottom:2px}.rw-history-who p{margin:0}.rw-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.rw-summary .stat{flex-direction:column;gap:2px;padding:14px 16px;display:flex}.rw-summary .stat span{font-size:13px;font-weight:600}.rw-stat-balance{border-color:var(--brand)}.rw-stat-balance strong{color:var(--brand-ink)}.rw-plus{color:var(--ok-ink)}.rw-minus{color:var(--warn-ink)}.rw-formula{margin:8px 0 16px;font-size:13px}.rw-count{font-size:14px;font-weight:400}.rw-history-table td:first-child{white-space:nowrap}.rw-kind{margin-inline-start:6px}@media (max-width:640px){.rw-history-table thead{display:none}.rw-history-table,.rw-history-table tbody,.rw-history-table tr,.rw-history-table td{width:100%;display:block}.rw-history-table tr{border-bottom:1px solid var(--border);padding:8px 0}.rw-history-table td{text-align:end;border:0;justify-content:space-between;gap:12px;padding:4px 2px;display:flex}.rw-history-table td:before{content:attr(data-label);color:var(--muted);text-align:start;flex:none;font-size:12px;font-weight:700}}.nm-step h3{align-items:center;gap:10px;margin-bottom:12px;display:flex}.nm-step-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.nm-step-head h3{margin:0}.nm-step-no{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:800;display:inline-flex}.nm-courses{flex-wrap:wrap;gap:8px;display:flex}.nm-count{opacity:.75;font-weight:500}.nm-or{color:var(--muted);align-items:center;gap:10px;margin:14px 0;font-size:13px;display:flex}.nm-or:before,.nm-or:after{content:"";border-top:1px solid var(--border);flex:1}.nm-search{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.nm-search input[name=q]{flex:220px;min-width:0}.nm-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.nm-select-all{border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-weight:700;transition:background .12s;display:inline-flex}.nm-select-all:hover{background:var(--hover)}.nm-select-all input,.nm-pick input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand);flex:none;margin:0}.nm-filter{flex:0 260px;min-width:0}.nm-pick{cursor:pointer;font:inherit;text-align:start;background:var(--surface);width:100%;color:var(--text);transition:background .12s,border-color .12s}.nm-pick strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nm-pick .nm-check{color:var(--brand-ink);flex:none;margin-inline-start:auto}.nm-hint{margin:0 0 10px;font-size:13px}.nm-recipients{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;display:grid}.nm-recipient{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:14px 10px;transition:background .12s,border-color .12s,box-shadow .12s;display:flex}.nm-recipient .icon{color:var(--brand-ink)}.nm-recipient small{color:var(--muted)}.nm-recipient:hover:not(:disabled){background:var(--hover);border-color:var(--hover-line)}.nm-recipient.on{border-color:var(--brand);background:var(--hover-strong);box-shadow:0 0 0 3px var(--hover)}.nm-recipient:disabled{opacity:.5;cursor:not-allowed}.nm-reach{margin:12px 0 0}.nm-reach strong{font-size:18px}.nm-missing{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;margin:10px 0 0;padding:8px 12px;font-size:13px}.nm-missing.warn{background:var(--warn-bg);color:var(--warn-ink);border-color:#0000}.nm-send-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}@media (max-width:560px){.nm-send-row .btn{flex:1;justify-content:center}}.rw-entry-reason{font-weight:600}@media (max-width:560px){.rw-board .reward-tool{flex-direction:column;align-items:stretch}.rw-board .timer-controls{justify-content:flex-start}}.mod-gap{margin-block:12px 0}.mod-results{gap:6px;margin:12px 0 0;padding:0;list-style:none;display:grid}.mod-results a{border:1px solid var(--border);color:inherit;border-radius:8px;padding:8px 10px;text-decoration:none;display:block}.mod-results a:hover,.mod-results a:focus-visible{background:var(--surface-2)}.mod-find{margin-top:8px}
.mt-section-title{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px;display:flex}.mt-text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.mt-hint{flex-basis:100%;margin:0;font-size:12px}.mt-choice{border:1px solid var(--border);border-radius:12px;flex-wrap:wrap;gap:8px;min-width:0;margin:0 0 14px;padding:10px 12px 12px;display:flex}.mt-choice legend{padding:0 6px;font-size:13px;font-weight:600}.mt-choice label{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.mt-choice label:hover{background:var(--hover);border-color:var(--hover-line)}.mt-choice label:has(input:checked){background:var(--hover-strong);border-color:var(--brand)}.mt-choice label:has(input:disabled){cursor:default;opacity:.8}.mt-choice input{width:auto;margin:0}.mt-form-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));align-items:start;gap:0 14px;display:grid}.mt-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.mt-item{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;grid-template-columns:auto 1fr;align-items:start;gap:14px;padding:12px 14px;text-decoration:none;transition:background .12s,border-color .12s;display:grid}.mt-item:hover{background:var(--hover);border-color:var(--hover-line)}.mt-date{background:var(--surface-2);border:1px solid var(--border);min-width:58px;color:var(--muted);text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:6px 8px;font-size:12px;line-height:1.25;display:flex}.mt-date strong{color:var(--text);font-size:22px;line-height:1.1}.mt-body{flex-direction:column;gap:6px;min-width:0;display:flex}.mt-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mt-title{color:var(--brand-ink);overflow-wrap:anywhere}.mt-facts{flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.mt-fact{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;display:inline-flex}.mt-fact .icon{color:var(--muted);flex:none}.mt-place{overflow-wrap:anywhere}.mt-details{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:12px;display:grid}.mt-detail{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-width:0;padding:12px 14px}.mt-detail.wide{grid-column:1/-1}.mt-detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}html[lang=ar] .mt-detail-label,html[dir=rtl] .mt-detail-label{text-transform:none;letter-spacing:0}.mt-detail-value{overflow-wrap:anywhere}.mt-detail-sub{color:var(--muted);margin-top:2px;font-size:13px;display:block}.mt-people{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mt-reason{background:var(--danger-bg);border-inline-start:4px solid var(--danger);border-radius:10px;margin-top:10px;padding:10px 12px}@media (max-width:560px){.mt-item{gap:10px;padding:10px 12px}.mt-date{min-width:50px}.mt-detail{padding:10px 12px}}.ov-file{border:1px solid var(--border);background:var(--surface-2);overflow-wrap:anywhere;border-radius:999px;align-items:center;gap:6px;max-width:100%;margin-top:6px;padding:4px 10px;font-size:13px;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.ov-file:hover{background:var(--hover);border-color:var(--hover-line)}.ov-rows{gap:12px;display:grid}.ov-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;min-width:0;padding:14px}.ov-row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.ov-row-head strong{font-size:15px}.ov-row-cols{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;display:grid}.ov-row-cols .field{margin-bottom:0}.ov-row-cols h4{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:12px}html[dir=rtl] .ov-row-cols h4{text-transform:none}.ov-row-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.ov-row-file{border:1px dashed var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;display:flex}.ov-pick{cursor:pointer}.ov-row-file input[type=file].ov-pick-input{top:0;opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;inset-inline-start:0;overflow:hidden}.ov-row-file{position:relative}.ov-pick:has(+.ov-pick-input:focus-visible){outline:2px solid var(--brand);outline-offset:2px}.ov-row-file label.ov-remove{cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:2px 6px;font-size:13px;display:inline-flex}.ov-row-file label.ov-remove:hover{background:var(--hover)}.ov-row-file label.ov-remove input{width:auto}.ov-lock{color:var(--muted);align-items:center;gap:6px;margin-top:10px;font-size:13px;display:flex}.ov-course{border-inline-start:4px solid var(--brand);margin-bottom:16px}.ov-course-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;display:flex}.ov-course-head h3{margin:0}.ov-course-cols{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:12px;display:grid}.ov-course-cols>div{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;min-width:0;padding:10px 12px}.ov-course-cols h4{color:var(--muted);text-transform:uppercase;margin:0 0 4px;font-size:12px}html[dir=rtl] .ov-course-cols h4{text-transform:none}@media (max-width:640px){.ov-table thead{display:none}.ov-table,.ov-table tbody,.ov-table tr,.ov-table td{width:100%;display:block}.ov-table tr{border:1px solid var(--border);border-radius:12px;margin-bottom:10px;padding:10px 12px}.ov-table td{text-align:start;border:0;padding:4px 0}.ov-table td[data-label]:before{content:attr(data-label);color:var(--muted);margin-top:6px;font-size:12px;font-weight:700;display:block}html[dir=rtl] .ov-table td[data-label]:before{direction:rtl}html[dir=ltr] .ov-table td[data-label]:before{direction:ltr}}.rp-facts{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px;margin:0;display:grid}.rp-fact{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-width:0;padding:10px 12px}.rp-fact dt{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.rp-fact dd{overflow-wrap:anywhere;margin:0}.rp-fact .rp-sub{color:var(--muted);font-size:13px;display:block}.rp-story{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.65}.rp-band{border-inline-start:4px solid var(--warn)}.rp-band.positive{border-inline-start-color:var(--ok)}.rp-band.serious{border-inline-start-color:var(--danger)}.rp-badges{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rp-steps{margin:8px 0 0;padding-inline-start:20px}.rp-steps li{margin-bottom:4px}.rp-timeline{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rp-entry{border:1px solid var(--border);border-inline-start:4px solid var(--warn);background:var(--surface);color:var(--text);border-radius:10px;padding:12px 14px;text-decoration:none;transition:background .12s,border-color .12s;display:block}.rp-entry.positive{border-inline-start-color:var(--ok)}.rp-entry.serious{border-inline-start-color:var(--danger)}a.rp-entry:hover{background:var(--hover);border-top-color:var(--hover-line);border-bottom-color:var(--hover-line);border-inline-end-color:var(--hover-line)}.rp-entry-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}a.rp-entry .rp-entry-title{color:var(--brand-ink)}a.rp-entry{padding-inline-end:36px;position:relative}.rp-entry-open{top:14px;color:var(--muted);display:inline-flex;position:absolute;inset-inline-end:12px}html[dir=rtl] .rp-entry-open .icon{transform:scaleX(-1)}.rp-entry-detail{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:4px;display:-webkit-box;overflow:hidden}.rp-entry-meta{color:var(--muted);margin-top:4px;font-size:12px;display:block}.notice.mt-staff-note{border-inline-start:3px solid var(--warn)}.mt-staff-tag{vertical-align:middle;margin-inline-start:8px;font-size:11px}.mt-staff-choice{margin-block:4px 0}.mt-busy{margin-inline-start:8px}
.shell-sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:root{--shell-topbar-space:36px}.topbar{justify-content:flex-end;align-items:center;gap:8px;height:40px;margin:-14px 0 10px;display:flex}.topbar.no-bell,.topbar-start,.sidebar-close,.sidebar-overlay{display:none}@media (max-width:820px){.topbar,.topbar.no-bell{justify-content:space-between;margin:-14px 0 12px;display:flex}.topbar-start{align-items:center;gap:10px;min-width:0;display:flex}.menu-toggle{gap:6px;min-height:40px}.topbar-brand img{width:auto;height:30px}.sidebar{z-index:60;overscroll-behavior:contain;border-inline-end:1px solid var(--border);visibility:hidden;width:min(320px,86vw);transition:transform .2s,visibility 0s linear .2s;position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 10px 40px #0f172a40}html[dir=rtl] .sidebar{transform:translate(100%)}.sidebar[data-open=true],html[dir=rtl] .sidebar[data-open=true]{visibility:visible;transition:transform .2s;transform:none}.sidebar-close{top:20px;z-index:1;justify-content:center;width:40px;height:40px;padding:0;display:inline-flex;position:absolute;inset-inline-end:14px}.sidebar .brand{align-self:flex-start;margin:0}.sidebar .who{margin-top:0}.sidebar-overlay{z-index:55;background:#0f172a73;display:block;position:fixed;inset:0}.bell-panel{top:64px;width:auto;position:fixed;inset-inline:12px}}@media (max-width:820px) and (prefers-reduced-motion:reduce){.sidebar,.sidebar[data-open=true]{transition:none}}.bell{position:relative}.bell-button{border:1px solid var(--border);background:var(--surface);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s;display:inline-flex;position:relative}.bell-button:hover,.bell-button[aria-expanded=true]{background:var(--hover);border-color:var(--hover-line)}.bell-badge{top:-5px;border:2px solid var(--bg);background:var(--danger);color:#fff;text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-weight:700;line-height:16px;position:absolute;inset-inline-end:-6px}.bell-panel{top:calc(100% + 8px);z-index:50;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(380px,100vw - 32px);max-height:min(70vh,540px);box-shadow:var(--shadow);text-align:start;position:absolute;inset-inline-end:0;overflow-y:auto}.bell-panel:focus:not(:focus-visible){outline:none}.bell-head{border-bottom:1px solid var(--border);padding:12px 14px;font-size:16px}.bell-empty{margin:0;padding:18px 14px}.bell-list{margin:0;padding:4px 0;list-style:none}.bell-item{color:var(--text);align-items:flex-start;gap:10px;padding:10px 14px;text-decoration:none;transition:background .12s;display:flex}a.bell-item:hover{background:var(--hover)}.bell-item.unread{background:color-mix(in srgb, var(--brand) 7%, transparent)}a.bell-item.unread:hover{background:var(--hover-strong)}.bell-dot{border-radius:999px;flex:none;width:8px;height:8px;margin-top:7px}.bell-dot.on{background:var(--brand)}.bell-text{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;font-size:14px;display:flex}.bell-body{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:13px;display:-webkit-box;overflow:hidden}.bell-time{color:var(--muted);font-size:12px}.bell-item.unread .bell-time{color:var(--brand-ink);font-weight:600}html[data-theme=dark] .bell-item.unread .bell-time{color:var(--brand)}.bell-all{border-top:1px solid var(--border);text-align:center;padding:11px 14px;font-weight:600;text-decoration:none;display:block}.bell-all:hover{background:var(--hover)}.sidebar-search input{padding:8px 10px;font-size:14px}.sidebar-search .btn{flex:none;justify-content:center;align-items:center;padding-inline:10px;display:inline-flex}.search-page-form{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.search-page-form input{flex:220px;min-width:0}.search-page-form .btn{align-items:center;gap:6px;display:inline-flex}.search-results{gap:16px;display:grid}.search-results>*{min-width:0}.search-heading{align-items:center;gap:8px;font-size:18px;display:flex}.search-hits{margin:0;padding:0;list-style:none}.search-hits>li+li{border-top:1px solid var(--border)}.search-hit{color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:10px 8px;text-decoration:none;transition:background .12s;display:flex}.search-hit:hover{background:var(--hover)}.search-hit-text{overflow-wrap:anywhere;flex-direction:column;min-width:0;display:flex}.search-hit-text .muted{font-size:13px}.search-more{margin:10px 0 0;font-size:13px}.staff-heading{margin:0 0 10px;font-size:18px}.staff-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.staff-week{gap:8px;display:grid}.staff-day{border:1px solid var(--border);border-radius:12px;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px;display:grid}.staff-day.today{background:var(--surface-2)}.staff-day-name{flex-direction:column;justify-content:center;align-items:flex-start;gap:4px;display:flex}.staff-day-lessons{flex-wrap:wrap;align-items:stretch;gap:8px;min-width:0;display:flex}.staff-lesson{border:1px solid var(--border);border-inline-start:4px solid var(--brand);background:var(--surface);overflow-wrap:anywhere;border-radius:10px;flex-direction:column;gap:2px;min-width:120px;padding:8px 10px;font-size:13px;display:flex}.staff-lesson .time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.staff-lesson.current{background:var(--ok-bg);border-color:var(--ok);box-shadow:0 0 0 1px var(--ok)}.staff-lesson.current .time{color:var(--ok-ink);font-weight:700}html[data-theme=dark] .staff-lesson.current .time{color:#4ade80}.staff-list{margin:0;padding:0;list-style:none}.staff-list>li+li{border-top:1px solid var(--border)}.staff-course,.staff-plan{flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.staff-plan{justify-content:space-between}.staff-swatch{border-radius:4px;flex:none;width:12px;height:12px}.staff-item-text{overflow-wrap:anywhere;flex-direction:column;flex:180px;min-width:0;display:flex}.staff-item-text .muted{font-size:13px}.staff-actions{flex-wrap:wrap;gap:6px;display:flex}.staff-link{color:var(--text);border-radius:10px;padding:10px 8px;text-decoration:none;display:flex}a.staff-link:hover{background:var(--hover)}@media (max-width:560px){.staff-day{grid-template-columns:minmax(0,1fr)}.staff-day-name{flex-direction:row;align-items:center}.staff-lesson{flex:140px}}.status-card{justify-items:start;gap:12px;max-width:560px;display:grid}.auth .status-card{width:min(480px,100%)}.status-card h1{margin:0;font-size:22px}.status-card p{margin:0}.auth .status-card .brand{margin-bottom:4px}.status-actions{flex-wrap:wrap;gap:8px;display:flex}.status-ref{font-size:12px}.lp-head{align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.lp-head .avatar{flex:none}.lp-who{flex:1;min-width:0}.lp-who h2{overflow-wrap:anywhere;margin:4px 0 2px;font-size:20px}.lp-who p{margin:0;font-size:13px}.lp-who .badge{margin-top:6px}.lp-close{flex:none}.lp-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.lp-fact{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;gap:2px;min-width:0;padding:10px 12px;display:grid}.lp-fact small{color:var(--muted);font-size:12px;font-weight:700}.lp-fact strong{font-variant-numeric:tabular-nums;font-size:24px;line-height:1.1}.lp-fact span{overflow-wrap:anywhere;font-size:12px}.lp-fact.tone-ok strong{color:var(--ok-ink)}.lp-fact.tone-warn strong{color:var(--warn-ink)}.lp-fact.tone-danger strong{color:var(--danger-ink)}.lp-title{margin:0 0 8px}.lp-courses{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lp-courses>li{border:1px solid var(--border);border-radius:10px;align-items:center;gap:8px;padding:6px 8px;display:flex}.lp-dot{border-radius:3px;flex:none;width:10px;height:10px}.lp-course{overflow-wrap:anywhere;flex:1;gap:1px;min-width:0;font-size:13px;display:grid}.lp-course .muted{font-size:12px}.lp-section{background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;padding:1px 8px;font-size:12px;font-weight:700}.lp-private{border-top:1px dashed var(--border);justify-items:start;gap:6px;margin-top:18px;padding-top:14px;display:grid}.lp-private-button{gap:6px}.lp-private-note{align-items:center;gap:4px;font-size:12px;display:inline-flex}.lp-back{margin-bottom:12px}@media (max-width:480px){.lp-head{flex-wrap:wrap}.lp-facts{grid-template-columns:1fr}}.lp-who .lp-sections{margin-top:2px}
.th-card{margin-bottom:16px}.th-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;margin-bottom:12px;display:flex}.th-head h3{margin:0}.th-now{background:var(--ok);color:#fff;white-space:nowrap;border-radius:999px;align-items:center;margin-inline-start:6px;padding:0 7px;font-size:10px;font-weight:800;line-height:17px;display:inline-flex}.th-tag{white-space:nowrap;border-radius:999px;align-self:flex-start;align-items:center;padding:0 8px;font-size:11px;font-weight:700;line-height:18px;display:inline-flex}.th-tag-cover{background:var(--warn-bg);color:var(--warn-ink);border:1px dashed var(--warn)}html[data-theme=dark] .th-tag-cover{color:#fbbf24;border-color:#fbbf24}.th-strip{scroll-snap-type:x proximity;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.th-strip>.th-item{scroll-snap-align:start;flex:none;width:172px}.th-week{flex-direction:column;gap:8px;display:flex}.th-day{border:1px solid var(--border);border-radius:12px;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:8px;display:grid}.th-day.today{border-color:var(--brand)}.th-day-label{flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;font-size:13px;display:flex}.th-day-items{grid-template-columns:repeat(auto-fill,minmax(136px,1fr));align-items:stretch;gap:8px;min-width:0;display:grid}.th-off{grid-column:1/-1;margin:0 0 6px}.th-item{border:1px solid var(--border);background:var(--surface-2);min-width:0;color:var(--text);font:inherit;text-align:start;cursor:pointer;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;font-size:13px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}a.th-item:hover,button.th-item:hover{background:var(--hover);border-color:var(--hover-line)}.th-item:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.th-item.later{cursor:default;opacity:.6}.th-time{color:var(--muted);font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:6px;font-size:11px;display:flex}.th-subject{overflow-wrap:anywhere;align-items:center;gap:5px;display:flex}.th-meta{color:var(--muted);overflow-wrap:anywhere;font-size:12px}.th-clamp{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.th-mark{flex:none}.th-item.th-cover{border-style:dashed;border-color:var(--warn)}.th-item.th-meeting{background:#9a72ef1a;border-color:#9a72ef80}.th-item.th-meeting .th-subject{color:#6d4bd1}html[data-theme=dark] .th-item.th-meeting{background:#9a72ef29}html[data-theme=dark] .th-item.th-meeting .th-subject{color:#c4b1ff}button.th-item.th-meeting:hover{border-color:var(--brand-2);background:#9a72ef2e}.th-item.current,button.th-item.current:hover,a.th-item.current:hover{background:var(--ok-bg);border:1px solid var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.th-item.current .th-time{color:var(--ok-ink);font-weight:700}html[data-theme=dark] .th-item.current .th-time{color:#4ade80}.th-legend{color:var(--muted);flex-wrap:wrap;gap:6px 16px;margin-top:12px;font-size:12px;display:flex}.th-legend>span{align-items:center;gap:6px;display:inline-flex}.th-swatch{border:1px solid var(--border);border-radius:4px;width:12px;height:12px;display:inline-block}.th-swatch.now{background:var(--ok-bg);border:2px solid var(--ok)}.th-swatch.cover{background:var(--warn-bg);border:1px dashed var(--warn)}.th-swatch.meeting{border-color:var(--brand-2);background:#9a72ef2e}.th-caption{margin:6px 0 0;font-size:12px}.th-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:min(580px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--text);box-shadow:var(--shadow);padding:0}.th-dialog::backdrop{background:#0f172a80}.th-dialog-panel{padding:16px 18px}.th-dialog-head{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.th-dialog-head h3{overflow-wrap:anywhere;margin:6px 0 0}.th-dialog-kind{color:#6d4bd1;background:#9a72ef24;border-radius:999px;align-items:center;gap:6px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-flex}html[data-theme=dark] .th-dialog-kind{color:#c4b1ff}.th-dialog-close{border:1px solid var(--border);background:var(--surface-2);width:34px;height:34px;color:var(--text);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:inline-grid}.th-dialog-close:hover{background:var(--hover)}.th-dialog-close:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.th-facts{grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:10px;margin:0;display:grid}.th-facts>div{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-width:0;padding:10px 12px}.th-facts>div.wide{grid-column:1/-1}.th-facts dt{color:var(--muted);margin-bottom:4px;font-size:12px;font-weight:700}.th-facts dd{overflow-wrap:anywhere;margin:0}.th-facts .mt-text,.th-facts p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.th-sub{color:var(--muted);margin-top:2px;font-size:13px;display:block}.th-sub-inline{color:var(--muted);font-size:13px}.th-people{gap:4px;margin:0;padding:0;list-style:none;display:grid}.th-dialog-foot{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:14px;display:flex}.th-lessons tr.th-row-now>td{background:var(--ok-bg)}.th-lessons tr.th-row-now>td:first-child{box-shadow:inset 3px 0 0 var(--ok)}html[dir=rtl] .th-lessons tr.th-row-now>td:first-child{box-shadow:inset -3px 0 0 var(--ok)}.th-lessons td bdi{white-space:nowrap}.th-passes{margin-bottom:16px}.th-passes-none{margin:0 0 10px}.th-out{border:1px solid var(--warn);background:var(--warn-bg);border-radius:12px;gap:8px;margin-bottom:12px;padding:10px 12px;display:grid}.th-out-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.th-out-list>li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.th-out-who{flex-wrap:wrap;align-items:center;gap:4px 8px;min-width:0;display:inline-flex}.th-pass-new,.th-pass-day{margin-top:8px}.th-pass-new>summary,.th-pass-day>summary{cursor:pointer;padding:6px 0;font-weight:600}.th-pass-new>summary{border:1px solid var(--brand);color:var(--brand-ink);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;list-style:none;display:inline-flex}.th-pass-new>summary::-webkit-details-marker{display:none}.th-pass-new>summary:before{content:"+";font-weight:800}.th-pass-new[open]>summary{background:var(--hover)}html[data-theme=dark] .th-pass-new>summary{color:var(--text)}.th-pass-form{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin-top:10px;padding:12px}@media (max-width:640px){.th-day{grid-template-columns:1fr}.th-day-label{flex-direction:row;align-items:center;gap:8px}.th-strip>.th-item{width:150px}.th-dialog-panel{padding:14px}}a.homeroom-rate{color:inherit;border-radius:12px;margin:-6px -10px;padding:6px 10px;text-decoration:none;transition:background .12s}a.homeroom-rate:hover{background:var(--hover)}a.homeroom-rate:hover strong{text-underline-offset:4px;text-decoration:underline}.th-head-title{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.th-head-title h3{margin:0}.th-views{margin-inline-start:auto}.th-views a{white-space:nowrap}.th-views a:focus-visible{outline:2px solid var(--brand);outline-offset:-2px}@media (max-width:640px){.th-views{width:100%;margin-inline-start:0;display:flex}.th-views a{text-align:center;flex:1}}
:root{--cv-free-bg:var(--ok-bg);--cv-free-ink:var(--ok);--cv-free-line:#15803d66;--cv-free-hover:#15803d29}html[data-theme=dark]{--cv-free-ink:#4ade80;--cv-free-line:#4ade8066;--cv-free-hover:#4ade8029}.cv-step-title{flex-wrap:wrap;align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.cv-step-no{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:inline-flex}.cv-step-next{box-shadow:none;border-style:dashed}.cv-step-next .cv-step-no{background:var(--surface-2);color:var(--muted);border:1px solid var(--border)}.cv-day-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.cv-day-nav{flex-wrap:wrap;gap:8px;display:flex}.cv-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.cv-head h3{margin:0}.cv-recorded{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;margin-bottom:16px;padding:12px 14px}.cv-recorded p{margin:0 0 8px}.cv-recorded .cv-absent-list{margin-bottom:10px}.cv-teachers{border:1px solid var(--border);border-radius:12px;min-width:0;margin:0 0 14px;padding:10px 12px 12px}.cv-teachers legend{padding:0 6px;font-size:13px;font-weight:600}.cv-filter{margin-bottom:10px}.cv-picks{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:8px;max-height:360px;padding:2px;display:grid;overflow-y:auto}.cv-pick{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:flex}.cv-pick[hidden]{display:none}.cv-pick:hover{background:var(--hover)}.cv-pick.on{border-color:var(--brand);box-shadow:0 0 0 3px #3b82f633}.cv-pick input{flex:none;width:auto}.cv-pick>span:not(.badge){flex-direction:column;flex:1;min-width:0;display:flex}.cv-pick strong,.cv-pick small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cv-actions{align-items:center}.cv-absent-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.cv-absent-list li{border:1px solid var(--border);background:var(--surface);border-radius:14px;align-items:center;gap:8px;min-width:0;max-width:100%;padding-block:6px;padding-inline:6px 12px;display:flex}.cv-absent-list li>span{flex-direction:column;min-width:0;line-height:1.25;display:flex}.cv-absent-list small{overflow-wrap:anywhere}.cv-remove{color:var(--danger-ink);margin-inline-start:4px;font-size:12px}.cv-others{margin:12px 0 0;font-size:13px}.cv-step .alert{margin:12px 0}.cv-strip{grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.cv-need{border:1px solid var(--border);border-inline-start:4px solid var(--warn);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:4px;min-width:0;padding:10px 12px;font-size:13px;display:flex}.cv-need.done{border-inline-start-color:var(--cv-free-ink)}.cv-need .badge{align-self:flex-start}.cv-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:12px}.cv-absent-name{font-size:12px}.cv-by{color:var(--cv-free-ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 10px;font-weight:600;display:flex}.cv-by .linkish{color:var(--danger-ink);font-size:12px}.cv-legend{color:var(--muted);gap:12px;font-size:12px;display:flex}.cv-legend span{align-items:center;gap:6px;display:inline-flex}.cv-swatch{border:1px solid var(--border);border-radius:4px;width:14px;height:14px;display:inline-block}.cv-swatch.free{background:var(--cv-free-bg);border-color:var(--cv-free-line)}.cv-swatch.busy{background:var(--surface-2)}.cv-hint{margin-bottom:10px;font-size:13px}.cv-board-wrap{border:1px solid var(--border);border-radius:12px;overflow-x:auto}.cv-board{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.cv-board th,.cv-board td{border-bottom:1px solid var(--border);vertical-align:middle;padding:6px}.cv-board tbody tr:last-child>*{border-bottom:0}.cv-board thead th{text-align:center;text-transform:none;letter-spacing:0;background:var(--surface-2);white-space:nowrap}.cv-board tbody th{text-transform:none;letter-spacing:0;color:var(--text);font-size:14px}.cv-board thead th.cv-col-need{box-shadow:inset 0 -3px 0 var(--warn)}.cv-board td{width:112px;min-width:112px}.cv-board .cv-who{z-index:1;background:var(--surface);border-inline-end:1px solid var(--border);text-align:start;width:200px;min-width:200px;max-width:200px;position:sticky;inset-inline-start:0}.cv-board thead .cv-who{z-index:2;background:var(--surface-2)}.cv-board tbody tr:hover>td{background:0 0}.cv-board tbody tr:hover>.cv-who{background:var(--surface-2)}.cv-person{align-items:center;gap:8px;min-width:0;display:flex}.cv-person>span{flex-direction:column;min-width:0;font-weight:400;line-height:1.3;display:flex}.cv-person strong,.cv-person small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cv-person small{font-size:12px}.cv-load{color:var(--text);font-weight:600}.cv-busy,.cv-free{text-align:start;border-radius:10px;flex-direction:column;justify-content:center;align-items:flex-start;gap:1px;width:100%;min-height:52px;padding:6px 8px;font-size:12px;line-height:1.3;display:flex}.cv-busy{background:var(--surface-2);border:1px solid var(--border);color:var(--muted)}.cv-busy+.cv-busy{margin-top:4px}.cv-busy strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.cv-busy.cover{border-style:dashed;border-color:var(--brand)}.cv-busy.meeting{border-style:dashed}.cv-tag{color:var(--brand-ink);font-size:11px;font-weight:700}html[data-theme=dark] .cv-tag{color:var(--brand)}.cv-free{background:var(--cv-free-bg);border:1px solid var(--cv-free-line);color:var(--cv-free-ink);font-weight:600}.cv-free small{align-items:center;gap:3px;font-weight:700;display:inline-flex}button.cv-pick,summary.cv-pick{font:inherit;cursor:pointer;border-width:2px;border-color:var(--cv-free-ink);font-size:12px;transition:background .12s,box-shadow .12s}button.cv-pick:hover,summary.cv-pick:hover,button.cv-pick:focus-visible,summary.cv-pick:focus-visible{background:var(--cv-free-hover);box-shadow:0 0 0 3px var(--cv-free-line)}.cv-choose summary{list-style:none}.cv-choose summary::-webkit-details-marker{display:none}.cv-options{flex-direction:column;gap:4px;margin-top:6px;display:flex}.cv-options .btn{flex-direction:column;align-items:flex-start;gap:0;width:100%;padding:5px 8px;font-size:12px}.cv-options .btn .muted{font-size:11px;font-weight:400}.cv-log-filters .row .btn{flex:none}.cv-log td{font-size:14px}.cv-nowrap{white-space:nowrap}.cv-small{font-size:12px}.cv-note{overflow-wrap:anywhere;max-width:260px}.cv-row-actions{text-align:end;white-space:nowrap}.cv-row-actions>*+*{margin-inline-start:6px}.cv-views{background:var(--surface);max-width:100%;margin-bottom:16px;overflow-x:auto}.cv-views a{white-space:nowrap;padding:7px 14px;font-weight:600}.cv-report-source{margin:8px 0 0;font-size:13px}.cv-report-totals{flex-wrap:wrap;gap:6px;display:flex}.cv-report td{vertical-align:middle}.cv-report-none{opacity:.65}.cv-report-count{min-width:110px}.cv-report-count strong{font-variant-numeric:tabular-nums;font-size:18px;display:block}.cv-report-bar{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;height:6px;margin-top:4px;display:block;overflow:hidden}.cv-report-bar i{background:var(--warn);border-radius:999px;height:100%;display:block}.cv-report-kinds{flex-wrap:wrap;gap:4px 6px;margin:0;padding:0;list-style:none;display:flex}.cv-report-kinds li{border:1px solid var(--border);background:var(--surface-2);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px}@media (max-width:640px){.cv-board .cv-who{width:132px;min-width:132px;max-width:132px}.cv-board .cv-who .avatar{display:none}.cv-board td{width:96px;min-width:96px}.cv-day-nav .btn{flex:auto;justify-content:center}}.cv-busy.meeting strong{white-space:normal}
.pr-step{background:linear-gradient(135deg, var(--brand), var(--brand-2));color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:inline-flex}.pr-gap{margin-top:12px}.pr-gap-b{margin-bottom:12px}.pr-kinds{grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.pr-kind{border:1px solid var(--border);background:var(--surface);height:100%;color:var(--text);border-radius:12px;align-items:flex-start;gap:12px;padding:14px;text-decoration:none;transition:background .12s,border-color .12s;display:flex}.pr-kind:hover,.pr-kind:focus-visible{background:var(--hover);border-color:var(--hover-line)}.pr-kind-icon{background:var(--hover);width:36px;height:36px;color:var(--brand-ink);border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.pr-kind-text{overflow-wrap:anywhere;flex-direction:column;gap:2px;min-width:0;display:flex}.pr-kind-text .muted{font-size:13px}.pr-route{color:var(--muted);align-items:baseline;gap:6px;margin-top:4px;font-size:12px;font-weight:600;display:inline-flex}.pr-route:before{content:"";background:var(--warn);border-radius:50%;flex:none;width:6px;height:6px;transform:translateY(-1px)}.pr-chosen{border:1px solid var(--brand);background:var(--hover);border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 12px;display:flex}.pr-chosen .pr-kind-text{flex:180px}.pr-chips{flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;font-size:13px;display:flex}.pr-chip{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:999px;padding:3px 10px;font-weight:600;text-decoration:none;display:inline-block}.pr-chip:hover,.pr-chip.on{background:var(--hover-strong);border-color:var(--brand)}.pr-results{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr));gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pr-result{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}.pr-result:hover,.pr-result:focus-visible{background:var(--hover);border-color:var(--hover-line)}.pr-when{margin-top:4px}.pr-plan{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:16px;margin-bottom:14px;display:grid}.pr-plan-col{min-width:0}.pr-plan-col h4{margin:0 0 8px;font-size:14px}.pr-day{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pr-day-item{border:1px solid var(--border);border-inline-start:4px solid var(--muted);background:var(--surface-2);border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:4px 10px;padding:8px 10px;font-size:13px;display:grid}.pr-day-item.meeting{border-inline-start-color:var(--brand)}.pr-day-item.cover{border-inline-start-color:var(--warn)}.pr-day-time{font-variant-numeric:tabular-nums;font-weight:700}.pr-day-what{overflow-wrap:anywhere;min-width:0}.pr-day-kind{color:var(--muted);font-size:12px}.pr-slots label{background:var(--ok-bg);border-color:color-mix(in srgb, var(--ok) 35%, transparent);font-variant-numeric:tabular-nums}.pr-slots label:hover{background:var(--ok-bg);border-color:var(--ok)}.pr-slots label:has(input:checked){background:var(--ok-bg);border-color:var(--ok);box-shadow:0 0 0 1px var(--ok) inset;color:var(--ok-ink)}.pr-send{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.pr-list-reason{background:var(--danger-bg);border-inline-start:3px solid var(--danger);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;padding:8px 10px;font-size:13px;display:block}.pr-request{border-inline-start:4px solid var(--brand)}.pr-request-facts{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:10px 16px;margin:0;display:grid}.pr-request-facts dt{color:var(--muted);margin-bottom:2px;font-size:12px;font-weight:700}.pr-request-facts dd{overflow-wrap:anywhere;min-width:0;margin:0}.pr-decide{border-inline-start:4px solid var(--warn)}@media (max-width:560px){.pr-kind{padding:12px}.pr-day-item{grid-template-columns:auto 1fr}.pr-day-kind{grid-column:2}.pr-send .btn{justify-content:center;width:100%}}
