.dm-board{--dm-ground: #f3f6fb;--dm-card: #ffffff;--dm-ink: #1f2a37;--dm-muted: #5b6776;--dm-line: #dfe5ee;--dm-called: #b35c00;--dm-called-soft: #fff3df;--dm-called-edge: #f5b04b;--dm-done: #0e700e;--dm-done-soft: #e6f5e4;--dm-live: #138a36;--dm-lost: #c21a2b;position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;gap:16px;padding:20px 24px 24px;background:radial-gradient(1200px 500px at 50% -200px,#e3edff,#e3edff00 70%),var(--dm-ground);color:var(--dm-ink);font-size:18px;overflow:hidden}.dm-header{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.dm-header__title h1{margin:0;font-size:clamp(28px,3.2vw,52px);font-weight:700;line-height:1.1}.dm-header__kicker{display:block;font-size:clamp(14px,1.2vw,20px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dm-muted)}.dm-header__side{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.dm-header__clock{font-size:clamp(24px,2.4vw,40px);font-weight:600;font-variant-numeric:tabular-nums}.dm-header__controls{display:flex;gap:8px}.dm-quiet{border:1px solid var(--dm-line);background:#ffffffb3;color:var(--dm-muted);border-radius:999px;padding:6px 14px;font:inherit;font-size:14px;text-decoration:none;cursor:pointer}.dm-quiet:hover{color:var(--dm-ink)}.dm-link{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border-radius:999px;font-weight:700;font-size:clamp(16px,1.4vw,22px);background:#eef1f5;color:var(--dm-muted)}.dm-link__dot{width:14px;height:14px;border-radius:50%;background:currentColor}.dm-link__detail{font-weight:500}.dm-link--live{background:#e3f6e8;color:var(--dm-live)}.dm-link--live .dm-link__dot{animation:dm-pulse 2s ease-in-out infinite}.dm-link--lost{background:var(--dm-lost);color:#fff}@keyframes dm-pulse{0%,to{box-shadow:0 0 #138a3673}50%{box-shadow:0 0 0 8px #138a3600}}.dm-board.is-stale{box-shadow:inset 0 0 0 6px var(--dm-lost)}.dm-board.is-stale .dm-columns{opacity:.55;filter:grayscale(.6)}.dm-banner{padding:12px 18px;border-radius:12px;background:#fde7e9;color:var(--dm-lost);font-weight:600}.dm-banner--closed{display:flex;align-items:center;gap:14px;background:#fde7e9;border:2px solid var(--dm-lost);color:var(--dm-ink);font-weight:500}.dm-banner__icon{flex:none;width:30px;height:30px;fill:none;stroke:var(--dm-lost);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dm-banner__title{display:block;font-size:1.15em;font-weight:700;color:var(--dm-lost)}.dm-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.6fr) minmax(0,1fr);gap:18px;flex:1;min-height:0}.dm-column{position:relative;display:flex;flex-direction:column;min-height:0;background:#ffffffa6;border:1px solid var(--dm-line);border-radius:20px;padding:14px}.dm-column--called{background:var(--dm-called-soft);border:2px solid var(--dm-called-edge)}.dm-column__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 6px 12px}.dm-column__head h2{margin:0;font-size:clamp(20px,1.8vw,30px);font-weight:700}.dm-column__head--called h2{font-size:clamp(26px,2.6vw,44px);color:var(--dm-called)}.dm-column__head--dismissed h2{color:var(--dm-done)}.dm-count{min-width:2.2em;padding:4px 12px;border-radius:999px;background:#e8edf4;font-weight:700;font-size:clamp(18px,1.6vw,26px);text-align:center;font-variant-numeric:tabular-nums}.dm-column__head--called .dm-count{background:var(--dm-called);color:#fff;font-size:clamp(22px,2.2vw,36px)}.dm-column__head--dismissed .dm-count{background:var(--dm-done-soft);color:var(--dm-done)}.dm-list{list-style:none;margin:0;padding:2px;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dm-list--compact{display:flex;flex-direction:column;gap:8px}.dm-list--called{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr));align-content:start;gap:16px;padding-bottom:56px;scroll-behavior:smooth}.dm-empty{margin:12px 6px;color:var(--dm-muted);font-size:18px}.dm-empty--called{margin:auto;font-size:clamp(22px,2vw,32px);text-align:center}.dm-more{position:absolute;inset-inline:50% auto;bottom:14px;transform:translate(-50%);padding:10px 22px;border-radius:999px;background:var(--dm-called);color:#fff;font-weight:700;font-size:clamp(16px,1.4vw,22px);box-shadow:0 8px 20px #b35c0059;pointer-events:none}[dir=rtl] .dm-more{transform:translate(50%)}.dm-card{display:flex;align-items:center;gap:12px;background:var(--dm-card);border-radius:14px;border:1px solid var(--dm-line)}.dm-card--compact{padding:8px 10px}.dm-card--compact .dm-card__name{font-size:clamp(16px,1.25vw,20px)}.dm-card--compact.is-dismissed{background:#fbfdfb}.dm-card--called{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"face text" "face action";column-gap:20px;row-gap:14px;padding:18px 20px;border:2px solid var(--dm-called-edge);border-radius:20px;box-shadow:0 10px 24px #b35c001f;animation:dm-arrive .5s ease-out}.dm-card--called .dm-face{grid-area:face}.dm-card--called .dm-card__text{grid-area:text}.dm-card--called .dm-confirm{grid-area:action;justify-self:stretch}.dm-card--called .dm-card__name{font-size:clamp(26px,2.4vw,42px);font-weight:700;line-height:1.15}@keyframes dm-arrive{0%{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}.dm-card__text{display:flex;flex-direction:column;gap:2px;min-width:0}.dm-card__name{font-weight:600;overflow-wrap:anywhere}.dm-card__code{font-size:clamp(18px,1.6vw,26px);font-weight:600;color:var(--dm-ink);font-variant-numeric:tabular-nums}.dm-banner--sweep{display:flex;align-items:center;gap:14px;background:#ede7fb;border:2px solid #6b4fbb;color:var(--dm-ink);font-weight:500}.dm-card__tag--sweep{align-self:flex-start;margin-top:4px;padding:2px 10px;border-radius:999px;background:#6b4fbb;color:#fff;font-size:13px;font-weight:700}.dm-card__meta{font-size:clamp(14px,1.1vw,18px);color:var(--dm-muted)}.dm-card--called .dm-card__meta{font-size:clamp(16px,1.4vw,22px);color:var(--dm-called);font-weight:600}.dm-card__refusal{margin-top:6px;color:var(--dm-lost);font-size:16px;font-weight:600}.dm-face{display:inline-grid;place-items:center;flex:none;border-radius:8px;font-weight:700;color:#fff;-webkit-user-select:none;user-select:none}.dm-face--small{width:60px;height:80px;font-size:20px}.dm-face--large{width:clamp(96px,8vw,150px);height:clamp(128px,10.6vw,200px);font-size:clamp(36px,3vw,56px);border-radius:12px;box-shadow:0 0 0 5px #fff,0 0 0 8px var(--dm-called-edge)}.dm-face--hue-0{background:#3a7bd5}.dm-face--hue-1{background:#2a9d8f}.dm-face--hue-2{background:#8e5cc9}.dm-face--hue-3{background:#d0605e}.dm-face--hue-4{background:#cc8a1f}.dm-face--hue-5{background:#4f8a3a}.dm-face--photo{overflow:hidden;background:#e8ecef}.dm-face--photo img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.is-dismissed .dm-face{opacity:.75}.dm-confirm{min-height:64px;padding:12px 24px;border:none;border-radius:14px;background:var(--dm-done);color:#fff;font:inherit;font-size:clamp(20px,1.8vw,28px);font-weight:700;cursor:pointer;touch-action:manipulation;box-shadow:0 4px #0a520a}.dm-confirm:hover{background:#0c620c}.dm-confirm:active{transform:translateY(2px);box-shadow:0 2px #0a520a}.dm-confirm:disabled{background:#7aa77a;box-shadow:none;cursor:progress}.dm-confirm:focus-visible,.dm-quiet:focus-visible{outline:3px solid #1f5fbf;outline-offset:3px}.dm-message{align-self:center;justify-self:center;max-width:640px;margin:0;padding:32px 36px;border-radius:20px;background:var(--dm-card);border:1px solid var(--dm-line);text-align:center;font-size:22px}.dm-message strong{display:block;font-size:30px;margin-bottom:8px}.dm-message p{color:var(--dm-muted)}@media (max-width: 1100px){.dm-board{position:static;min-height:100vh;overflow:visible;padding:14px 16px 20px}.dm-columns{grid-template-columns:minmax(0,1fr)}.dm-column--called{order:-1}.dm-list--called{max-height:70vh}.dm-list--compact{max-height:40vh}}@media (prefers-reduced-motion: reduce){.dm-card--called,.dm-link--live .dm-link__dot{animation:none}}.sp-dismissal-picker{display:flex;flex-direction:column;gap:16px}.sp-dismissal-picker__grade h3{margin:0 0 8px;font-size:15px;color:var(--sp-ink-muted)}.sp-dismissal-picker__sections{display:flex;flex-wrap:wrap;gap:8px}.sp-dismissal-picker__section{padding:10px 16px;border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius);background:var(--sp-surface);color:var(--sp-ink);font-weight:600;text-decoration:none}.sp-dismissal-picker__section:hover{border-color:var(--sp-accent);background:var(--sp-accent-tint)}.dlb{overflow:hidden;--dlb-cols: 5;--dlb-rows: 4;--dlb-gap: clamp(8px, .9vw, 18px)}.dlb-grid{flex:1;min-height:0;display:grid;grid-template-columns:repeat(var(--dlb-cols),minmax(0,1fr));grid-auto-rows:calc((100% - (var(--dlb-rows) - 1) * var(--dlb-gap)) / var(--dlb-rows));gap:var(--dlb-gap);overflow-y:auto;overflow-x:hidden;overflow-anchor:none;scrollbar-gutter:stable}.dlb-count{font-size:clamp(12px,1vw,18px);font-weight:600;color:var(--dm-muted);white-space:nowrap}.dlb-card{min-width:0;min-height:0;display:flex;align-items:stretch;gap:clamp(6px,.7vw,16px);padding:clamp(6px,.7vw,16px);border-radius:18px;background:var(--dm-card);text-align:start;overflow:hidden;transition:border-color .22s ease,background-color .22s ease,box-shadow .22s ease}.dlb-card--called{border:6px solid var(--dm-called-edge);background:var(--dm-called-soft);box-shadow:0 2px 10px #b35c0024}.dlb-card--dismissed{border:3px solid var(--dm-done);background:var(--dm-done-soft);opacity:.86}.dlb-card__detail{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:clamp(2px,.35vh,8px)}.dlb-card__name{font-size:clamp(14px,1.15vw,27px);font-weight:700;line-height:1.15;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.dlb-card__class{font-size:clamp(11px,.82vw,19px);color:var(--dm-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dlb-card__code{align-self:start;margin-top:clamp(1px,.3vh,6px);padding:clamp(1px,.25vh,5px) clamp(5px,.5vw,12px);border-radius:10px;font-size:clamp(12px,.95vw,22px);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.dlb-card--called .dlb-card__code{background:#ffe3b8;color:var(--dm-called)}.dlb-card--dismissed .dlb-card__code{background:#cfeccb;color:var(--dm-done)}.dlb-face{display:flex;align-items:center;justify-content:center;flex:0 0 auto;align-self:stretch;height:auto;width:auto;aspect-ratio:3 / 4;max-width:45%;border-radius:12px;overflow:hidden;font-size:clamp(16px,1.7vw,40px);font-weight:700;color:#fff;-webkit-user-select:none;user-select:none}.dlb-face--photo{background:var(--dm-line)}.dlb-face img{width:100%;height:100%;object-fit:cover;object-position:center top}.dlb-face--hue-0{background:#3f6ad8}.dlb-face--hue-1{background:#0e8a6a}.dlb-face--hue-2{background:#a4543a}.dlb-face--hue-3{background:#7146c4}.dlb-face--hue-4{background:#1c7f9e}.dlb-face--hue-5{background:#b3406b}@media (max-width: 1400px){.dlb{--dlb-cols: 4;--dlb-rows: 5}}@media (max-width: 1000px){.dlb{--dlb-cols: 3;--dlb-rows: 7}}@media (max-width: 680px){.dlb{--dlb-cols: 2}.dlb-grid{grid-auto-rows:minmax(120px,auto)}}@media (prefers-reduced-motion: reduce){.dlb-card{transition:none}}:root{--sp-bg: #f5f5f5;--sp-surface: #ffffff;--sp-neutral-bg: #ebebeb;--sp-border: #e0e0e0;--sp-border-strong: #b3b3b3;--sp-ink: #242424;--sp-ink-muted: #616161;--sp-accent-base: #17497d;--sp-accent: var(--sp-accent-base);--sp-accent-ink: #ffffff;--sp-accent-hover: color-mix(in srgb, var(--sp-accent-base) 85%, #000000);--sp-accent-pressed: color-mix(in srgb, var(--sp-accent-base) 72%, #000000);--sp-accent-tint: color-mix(in srgb, var(--sp-accent-base) 10%, #ffffff);--sp-ok: #0e700e;--sp-ok-bg: #dff6dd;--sp-warn: #7a4d00;--sp-warn-bg: #fff4ce;--sp-bad: #b10e1c;--sp-bad-bg: #fde7e9;--sp-warn-fill: #d9a441;--sp-radius: 4px;--sp-gap: 16px;--sp-focus: #242424;color-scheme:light}:focus-visible{outline:2px solid var(--sp-focus);outline-offset:1px}@media (prefers-reduced-motion: reduce){*{transition-duration:.01ms!important}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--sp-bg);color:var(--sp-ink);font-family:Segoe UI,Roboto,system-ui,-apple-system,sans-serif;font-size:14px;line-height:20px}h1,h2,h3{margin:0;font-weight:600}h1{font-size:20px;line-height:26px}h2{font-size:16px;line-height:22px}.sp-shell{display:flex;flex-direction:column;min-height:100%}.sp-topbar{display:flex;align-items:center;gap:var(--sp-gap);flex-wrap:wrap;padding:10px 20px;background:var(--sp-accent);color:var(--sp-accent-ink);position:sticky;top:0;z-index:20}.sp-brand{font-weight:700;letter-spacing:.02em}.sp-brand small{display:block;font-weight:400;font-size:11px;opacity:.8}.sp-nav{display:flex;gap:4px;margin-inline-start:8px}.sp-nav a{padding:6px 12px;border-radius:var(--sp-radius);color:inherit;text-decoration:none;opacity:.85}.sp-nav a:hover{background:#ffffff1f}.sp-nav a:active{background:#ffffff47}.sp-nav a.is-current{background:#fff3;opacity:1;font-weight:600}.sp-topbar-end{margin-inline-start:auto;display:flex;align-items:center;gap:12px;font-size:13px}.sp-datebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 20px;background:var(--sp-surface);border-bottom:1px solid var(--sp-border);font-size:13px}.sp-datebar label{color:var(--sp-ink-muted)}.sp-main{flex:1;padding:20px;max-width:1180px;width:100%;margin:0 auto}.sp-page-head{margin-bottom:16px}.sp-page-head p{margin:4px 0 0;color:var(--sp-ink-muted)}.sp-surface{background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius);margin-bottom:var(--sp-gap)}.sp-surface-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--sp-border)}.sp-surface-head span{color:var(--sp-ink-muted);font-size:12px}.sp-surface-body{padding:12px 14px}.sp-grid{display:grid;gap:var(--sp-gap);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.sp-facts{display:grid;grid-template-columns:max-content 1fr;gap:4px 16px;margin:0}.sp-facts dt{color:var(--sp-ink-muted)}.sp-facts dd{margin:0}.sp-table-scroll{overflow-x:auto}table.sp-table{width:100%;border-collapse:collapse}table.sp-table th,table.sp-table td{text-align:start;padding:7px 14px;border-bottom:1px solid var(--sp-border);white-space:nowrap}table.sp-table th{color:var(--sp-ink-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}table.sp-table tr:last-child td{border-bottom:none}table.sp-table tbody tr:hover td{background:var(--sp-neutral-bg)}.sp-button{font:inherit;padding:7px 14px;border-radius:var(--sp-radius);border:1px solid var(--sp-accent);background:var(--sp-accent);color:var(--sp-accent-ink);cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.sp-button:hover:not(:disabled){background:var(--sp-accent-hover);border-color:var(--sp-accent-hover)}.sp-button:active:not(:disabled){background:var(--sp-accent-pressed);border-color:var(--sp-accent-pressed)}.sp-button.is-quiet{background:transparent;border-color:var(--sp-border-strong);color:inherit}.sp-button.is-quiet:hover:not(:disabled){background:var(--sp-neutral-bg)}.sp-button.is-quiet:active:not(:disabled){background:var(--sp-border)}.sp-button:disabled{background:var(--sp-neutral-bg);border-color:var(--sp-border);color:var(--sp-ink-muted);cursor:default}.sp-field{display:block;margin-bottom:12px}.sp-field span{display:block;margin-bottom:4px;color:var(--sp-ink-muted)}.sp-input{font:inherit;width:100%;padding:7px 10px;border:1px solid var(--sp-border-strong);border-radius:var(--sp-radius);background:var(--sp-surface);color:inherit}.sp-input.is-inline{width:auto}.sp-input:hover:not(:disabled){border-color:var(--sp-ink-muted)}.sp-input:disabled{background:var(--sp-neutral-bg);color:var(--sp-ink-muted);cursor:default}.sp-badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--sp-neutral-bg);color:var(--sp-ink-muted)}.sp-badge.is-ok{background:var(--sp-ok-bg);color:var(--sp-ok)}.sp-badge.is-warn{background:var(--sp-warn-bg);color:var(--sp-warn)}.sp-badge.is-bad{background:var(--sp-bad-bg);color:var(--sp-bad)}.sp-alert{padding:10px 14px;border:1px solid var(--sp-border);border-inline-start:3px solid var(--sp-ink-muted);border-radius:var(--sp-radius);background:var(--sp-surface);margin-bottom:var(--sp-gap)}.sp-alert.is-warn{border-inline-start-color:var(--sp-warn);background:var(--sp-warn-bg)}.sp-alert.is-bad{border-inline-start-color:var(--sp-bad);background:var(--sp-bad-bg)}.sp-state{padding:18px 14px;color:var(--sp-ink-muted)}.sp-state strong{display:block;color:var(--sp-ink);margin-bottom:2px}.sp-login{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.sp-login-card{width:100%;max-width:360px}.sp-login-card h1{margin-bottom:2px}.sp-login-card .sp-lead{color:var(--sp-ink-muted);margin:0 0 16px}@media (max-width: 640px){.sp-topbar,.sp-datebar,.sp-main{padding-inline:12px}.sp-nav{margin-inline-start:0;width:100%;order:3}.sp-topbar-end{margin-inline-start:auto}}.sp-login-language{display:flex;justify-content:flex-end;margin-bottom:8px}[dir=rtl] h1,[dir=rtl] h2,[dir=rtl] h3,[dir=rtl] .sp-brand,[dir=rtl] table.sp-table th{letter-spacing:normal}[dir=rtl] table.sp-table th{text-transform:none}.sp-now{background:var(--sp-surface);border:1px solid var(--sp-border);border-inline-start:4px solid var(--sp-accent);border-radius:var(--sp-radius);margin-bottom:var(--sp-gap)}.sp-now-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:14px 28px;padding:14px 18px 12px}.sp-now-label{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-accent)}.sp-now-when{display:flex;flex-direction:column;gap:1px}.sp-now-when time{font-size:25px;font-weight:650;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.sp-now-when time.is-quiet{font-size:18px;color:var(--sp-ink-muted)}.sp-now-when small{color:var(--sp-ink-muted);font-size:12px;font-variant-numeric:tabular-nums}.sp-now-what{display:flex;flex-direction:column;gap:2px;padding-top:2px}.sp-now-what strong{font-size:17px;font-weight:650;letter-spacing:-.01em}.sp-now-what span{color:var(--sp-ink-muted);font-size:13px}.sp-now-do{margin-inline-start:auto;display:flex;align-items:center;gap:10px}.sp-expected{padding:0 18px 14px;display:flex;flex-direction:column;gap:7px}.sp-expected-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px}.sp-expected-line b{font-size:15px;font-weight:650;font-variant-numeric:tabular-nums}.sp-expected-line span{color:var(--sp-ink-muted);font-size:13px;font-variant-numeric:tabular-nums}.sp-expected-bar{display:flex;height:7px;border-radius:4px;overflow:hidden;background:var(--sp-neutral-bg)}.sp-expected-bar i{display:block;height:100%}.sp-expected-bar .is-here{background:var(--sp-accent)}.sp-expected-bar .is-confirmed{background:var(--sp-border-strong)}.sp-expected-bar .is-claimed{background:var(--sp-warn-fill)}.sp-expected-bar .is-unknown{background:var(--sp-bad)}.sp-key{display:flex;flex-wrap:wrap;gap:4px 16px;font-size:12px;color:var(--sp-ink-muted)}.sp-key span{display:inline-flex;align-items:center;gap:6px}.sp-key i{width:8px;height:8px;border-radius:2px;display:block}.sp-key .is-here{background:var(--sp-accent)}.sp-key .is-confirmed{background:var(--sp-border-strong)}.sp-key .is-claimed{background:var(--sp-warn-fill)}.sp-key .is-unknown{background:var(--sp-bad)}.sp-next{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:9px 18px;border-top:1px solid var(--sp-border);background:var(--sp-bg);border-end-start-radius:var(--sp-radius);border-end-end-radius:var(--sp-radius);font-size:13px}.sp-next em{font-style:normal;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sp-ink-muted)}.sp-next time{font-weight:650;font-variant-numeric:tabular-nums}.sp-next span{color:var(--sp-ink-muted)}.sp-attention{display:flex;flex-direction:column;gap:8px}.sp-attention-item{display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 14px;padding:11px 14px;border:1px solid var(--sp-border);border-inline-start:3px solid var(--sp-border-strong);border-radius:var(--sp-radius);background:var(--sp-surface)}.sp-attention-item.is-action{border-inline-start-color:var(--sp-bad)}.sp-attention-item.is-change{border-inline-start-color:var(--sp-warn)}.sp-attention-item .sp-attention-what{display:flex;flex-direction:column;gap:2px;min-width:0}.sp-attention-item .sp-tier{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sp-ink-muted)}.sp-attention-item.is-action .sp-tier{color:var(--sp-bad)}.sp-attention-item.is-change .sp-tier{color:var(--sp-warn)}.sp-attention-item strong{font-size:15px;font-weight:650;letter-spacing:-.01em}.sp-attention-item .sp-why{color:var(--sp-ink-muted);font-size:13px}.sp-when{display:flex;flex-direction:column}.sp-when b{font-weight:650;font-variant-numeric:tabular-nums}.sp-when small{color:var(--sp-ink-muted);font-size:11.5px}.sp-kind{color:var(--sp-ink-muted)}table.sp-table tr.sp-is-now td{background:var(--sp-accent-tint);font-weight:600}table.sp-table tr.sp-is-now td:first-child{box-shadow:inset 3px 0 0 var(--sp-accent)}.sp-day-narrow{display:none}.sp-day-item{display:flex;gap:12px;padding:9px 14px;border-bottom:1px solid var(--sp-border);align-items:baseline}.sp-day-item:last-child{border-bottom:none}.sp-day-item time{font-variant-numeric:tabular-nums;color:var(--sp-ink-muted);font-size:13px;min-width:46px;font-weight:600}.sp-day-item .sp-what{display:flex;flex-direction:column;gap:2px;flex:1}.sp-day-item .sp-what span{color:var(--sp-ink-muted);font-size:12.5px}.sp-day-item.is-now{background:var(--sp-accent-tint);box-shadow:inset 3px 0 0 var(--sp-accent)}@media (max-width: 640px){.sp-day-wide{display:none}.sp-day-narrow{display:block}.sp-now-head{flex-direction:column;align-items:stretch;gap:10px;padding:13px 14px 10px}.sp-now-do{margin-inline-start:0}.sp-now-do .sp-button{width:100%}.sp-expected{padding:0 14px 13px}.sp-next{padding:9px 14px}.sp-attention-item{grid-template-columns:1fr;align-items:stretch}.sp-attention-item .sp-button,.sp-form-actions .sp-button{width:100%}}[dir=rtl] .sp-now-label,[dir=rtl] .sp-next em,[dir=rtl] .sp-attention-item .sp-tier,[dir=rtl] .sp-now-when time,[dir=rtl] .sp-now-what strong{letter-spacing:normal}[dir=rtl] .sp-now-label,[dir=rtl] .sp-next em,[dir=rtl] .sp-attention-item .sp-tier{text-transform:none}.sp-accents{display:flex;gap:6px;align-items:center}.sp-accent-swatch{width:18px;height:18px;padding:0;border:1px solid rgba(255,255,255,.55);border-radius:50%;cursor:pointer;transition:box-shadow .1s ease,transform .1s ease}.sp-accent-swatch:hover{transform:scale(1.12)}.sp-accent-swatch.is-current{border-color:var(--sp-accent-ink);box-shadow:0 0 0 2px var(--sp-accent-ink)}.sp-observation{display:flex;flex-wrap:wrap;gap:6px}.sp-observation .sp-button{min-width:84px;text-align:center}table.sp-table td.sp-student{font-weight:600;white-space:normal}.sp-page-back{margin-bottom:12px}.sp-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:var(--sp-gap);padding-top:12px;border-top:1px solid var(--sp-border)}.sp-note{color:var(--sp-ink-muted);font-size:13px}.sp-notices{display:flex;flex-direction:column;gap:10px}.sp-pulse{display:flex;flex-direction:column;gap:var(--sp-gap)}.sp-pulse-greeting{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px}.sp-pulse-who{flex:1 1 240px}.sp-pulse-title{margin-bottom:10px}.sp-eyebrow{font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;line-height:16px;color:var(--sp-ink-muted)}.sp-pulse-who .sp-greeting-line{margin:2px 0 0;font-size:21px;line-height:27px;font-weight:650;letter-spacing:-.01em}.sp-pulse-who .sp-greeting-where{margin:2px 0 0;color:var(--sp-ink-muted);font-size:13px}[dir=rtl] .sp-eyebrow{letter-spacing:normal;text-transform:none}.sp-pulse-status{display:flex;align-items:center;gap:12px;padding:10px 16px;border:1px solid var(--sp-border);border-inline-start:4px solid var(--sp-border-strong);border-radius:var(--sp-radius);background:var(--sp-surface)}.sp-pulse-status strong{display:block;font-size:15px;font-weight:650}.sp-pulse-status span{color:var(--sp-ink-muted);font-size:12.5px}.sp-pulse-mark{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex:none;border-radius:50%;font-size:16px;font-weight:700;color:var(--sp-accent-ink);background:var(--sp-border-strong)}.sp-pulse-status.is-ok{border-inline-start-color:var(--sp-ok);background:var(--sp-ok-bg)}.sp-pulse-status.is-ok .sp-pulse-mark{background:var(--sp-ok)}.sp-pulse-status.is-warn{border-inline-start-color:var(--sp-warn);background:var(--sp-warn-bg)}.sp-pulse-status.is-warn .sp-pulse-mark{background:var(--sp-warn-fill)}.sp-pulse-status.is-bad{border-inline-start-color:var(--sp-bad);background:var(--sp-bad-bg)}.sp-pulse-status.is-bad .sp-pulse-mark{background:var(--sp-bad)}.sp-pulse-now{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:var(--sp-surface)}.sp-pulse-now time{font-size:16px;font-weight:650;font-variant-numeric:tabular-nums}.sp-pulse-now small{color:var(--sp-ink-muted);font-size:12px}.sp-pulse-cards{display:grid;gap:var(--sp-gap);grid-template-columns:repeat(auto-fit,minmax(232px,1fr))}.sp-card{display:flex;flex-direction:column;background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius)}.sp-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 14px;border-bottom:1px solid var(--sp-border)}.sp-card-head h2{font-size:14px;line-height:20px}.sp-card-head span{color:var(--sp-ink-muted);font-size:11.5px}.sp-card-body{display:flex;align-items:flex-start;gap:14px;padding:12px 14px;flex:1}.sp-card-figure{font-size:27px;font-weight:650;letter-spacing:-.02em;line-height:1.05;font-variant-numeric:tabular-nums}.sp-card-foot{padding:8px 14px;border-top:1px solid var(--sp-border);color:var(--sp-ink-muted);font-size:11.5px}.sp-tally{display:grid;grid-template-columns:1fr auto;gap:3px 12px;margin:0;flex:1;font-size:12.5px}.sp-tally dt{display:flex;align-items:center;gap:7px;color:var(--sp-ink-muted)}.sp-tally dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;text-align:end}.sp-tally dt i{width:8px;height:8px;flex:none;border-radius:50%;background:var(--sp-border-strong)}.sp-tally dt i.is-ok{background:var(--sp-ok)}.sp-tally dt i.is-warn{background:var(--sp-warn-fill)}.sp-tally dt i.is-bad{background:var(--sp-bad)}.sp-tally dt i.is-now{background:var(--sp-accent)}.sp-pulse-main{display:grid;gap:var(--sp-gap);grid-template-columns:minmax(280px,5fr) minmax(320px,7fr);align-items:start}.sp-pulse-main>.sp-surface{margin-bottom:0}.sp-schedule{position:sticky;top:72px}.sp-schedule .sp-surface-head{flex-wrap:wrap}.sp-stages{display:flex;flex-wrap:wrap;gap:4px}.sp-stage{font:inherit;font-size:12.5px;padding:4px 10px;border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:transparent;color:var(--sp-ink-muted);cursor:pointer;transition:background-color .1s ease,border-color .1s ease}.sp-stage:hover{background:var(--sp-neutral-bg)}.sp-stage.is-current{background:var(--sp-accent-tint);border-color:var(--sp-accent);color:var(--sp-ink);font-weight:600}.sp-timeline{list-style:none;margin:0 0 12px;padding:0}.sp-timeline-entry{display:grid;grid-template-columns:auto 12px 1fr auto;align-items:center;gap:10px;padding:5px 0}.sp-timeline-entry time{color:var(--sp-ink-muted);font-size:12.5px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.sp-timeline-mark{width:9px;height:9px;border-radius:50%;background:var(--sp-border-strong);justify-self:center}.sp-timeline-entry.is-past .sp-timeline-mark{background:var(--sp-border)}.sp-timeline-entry.is-now .sp-timeline-mark{background:var(--sp-accent)}.sp-timeline-what{display:flex;flex-direction:column;gap:0;min-width:0}.sp-timeline-what strong{font-size:13px}.sp-timeline-what small{color:var(--sp-ink-muted);font-size:11px}.sp-timeline-entry.is-past .sp-timeline-what strong{color:var(--sp-ink-muted);font-weight:400}.sp-timeline-entry.is-now{background:var(--sp-accent-tint);border-radius:var(--sp-radius);box-shadow:inset 3px 0 0 var(--sp-accent);padding-inline:8px;margin-inline:-8px}.sp-timeline-entry.is-now .sp-timeline-what strong{font-weight:650}.sp-timeline-badge{font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:var(--sp-radius);background:var(--sp-accent);color:var(--sp-accent-ink);white-space:nowrap}.sp-key i.is-now{background:var(--sp-accent)}.sp-key i.is-upcoming{background:var(--sp-border-strong)}.sp-key i.is-past{background:var(--sp-border)}.sp-attention-panel{grid-column:1 / -1;margin-top:10px;padding-top:10px;border-top:1px solid var(--sp-border)}.sp-substitutes{display:flex;flex-direction:column;gap:8px}.sp-candidates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.sp-candidate{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 10px;border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:var(--sp-surface)}.sp-candidate-who{display:flex;flex-direction:column;min-width:0}.sp-candidate-who strong{font-size:13px;font-weight:600}.sp-candidate-who small{color:var(--sp-ink-muted);font-size:11.5px}.sp-candidate.is-blocked{background:var(--sp-bg)}.sp-candidate.is-blocked .sp-candidate-who strong{color:var(--sp-ink-muted);font-weight:400}.sp-blocked>summary{cursor:pointer;color:var(--sp-ink-muted);font-size:12.5px;padding:4px 0}.sp-quick{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:10px 14px;border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:var(--sp-surface);position:sticky;bottom:0}.sp-quick h2{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sp-ink-muted)}.sp-quick-links{display:flex;flex-wrap:wrap;gap:8px}a.sp-button{display:inline-block;text-decoration:none}[dir=rtl] .sp-quick h2{letter-spacing:normal;text-transform:none}@media (max-width: 640px){.sp-pulse-main{grid-template-columns:1fr}.sp-schedule,.sp-quick{position:static}}.sp-week .sp-lesson{display:flex;flex-direction:column;gap:1px}.sp-week .sp-lesson strong{font-weight:600}.sp-week .sp-lesson small{color:var(--sp-ink-muted);font-size:11.5px}.sp-week th:not(:first-child),.sp-week td:not(:first-child){width:1%}.sp-week td{vertical-align:top;white-space:normal}.sp-week-band td{background:var(--sp-bg);color:var(--sp-ink-muted);font-weight:600}.sp-picker{display:flex;flex-wrap:wrap;gap:12px 16px}.sp-picker .sp-field{margin-bottom:0;min-width:160px}.sp-matrix{table-layout:fixed;width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.sp-matrix thead th,.sp-matrix tbody td{width:104px}.sp-matrix th.sp-matrix-corner,.sp-matrix th.sp-matrix-day{width:132px}.sp-matrix th,.sp-matrix td{text-align:center;vertical-align:middle;white-space:normal;overflow-wrap:anywhere;line-height:1.25;border-inline-end:1px solid var(--sp-border)}.sp-matrix th>*,.sp-matrix td>*{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.sp-matrix tbody tr{height:56px}.sp-matrix thead th{background:var(--sp-accent);color:var(--sp-accent-ink);text-transform:none;letter-spacing:normal;font-size:12px;padding:8px 10px;border-inline-end-color:color-mix(in srgb,var(--sp-accent-ink) 25%,transparent)}.sp-slot{display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.2}.sp-slot b{font-weight:700;font-variant-numeric:tabular-nums}.sp-slot small{font-weight:400;opacity:.85;font-size:10.5px;line-height:1.15}.sp-matrix th.sp-matrix-corner,.sp-matrix th.sp-matrix-day{position:sticky;inset-inline-start:0;z-index:1}.sp-matrix th.sp-matrix-corner{z-index:2}.sp-matrix th.sp-matrix-day{background:var(--sp-surface);text-transform:none;letter-spacing:normal;color:var(--sp-ink);font-size:13px;padding:8px 12px;border-inline-end:1px solid var(--sp-border-strong)}.sp-day-name{display:flex;align-items:center;justify-content:center;gap:8px}.sp-day-name>span{display:flex;flex-direction:column;align-items:center}.sp-day-name i{font-style:normal;font-size:15px}.sp-day-name b{display:block;font-weight:650;font-size:13px}.sp-day-name small{display:block;color:var(--sp-ink-muted);font-size:11px}.sp-matrix .sp-lesson{display:flex;flex-direction:column;align-items:center;gap:1px;padding:2px 0}.sp-matrix .sp-lesson strong{font-weight:700;font-size:12.5px;letter-spacing:.02em}.sp-matrix .sp-lesson small{color:var(--sp-ink-muted);font-size:10.5px;line-height:1.15;white-space:normal}.sp-glyph{font-style:normal;font-size:15px;line-height:1.1}.sp-matrix thead th.is-band{background:var(--sp-accent-pressed)}.sp-matrix td.is-band{background:var(--sp-accent-tint)}.sp-matrix tbody tr:hover td{background:var(--sp-neutral-bg)}.sp-matrix tbody tr:hover td.is-band{background:var(--sp-accent-tint)}.sp-matrix tbody tr:hover th.sp-matrix-day{background:var(--sp-neutral-bg)}.sp-matrix td.is-now{background:var(--sp-accent-tint);box-shadow:inset 0 0 0 2px var(--sp-accent);animation:sp-now-pulse 2.6s ease-in-out infinite}.sp-matrix td.is-band.is-now{background:var(--sp-accent-tint)}.sp-matrix td.is-empty.is-now{background:transparent;box-shadow:inset 0 0 0 1px var(--sp-accent);animation:sp-now-pulse-quiet 2.6s ease-in-out infinite}@keyframes sp-now-pulse{0%,to{box-shadow:inset 0 0 0 2px var(--sp-accent)}50%{box-shadow:inset 0 0 0 2px var(--sp-accent),inset 0 0 12px 0 var(--sp-accent-tint),0 0 0 1px var(--sp-accent)}}@keyframes sp-now-pulse-quiet{0%,to{box-shadow:inset 0 0 0 1px var(--sp-accent)}50%{box-shadow:inset 0 0 0 2px var(--sp-accent)}}@media (prefers-reduced-motion: reduce){.sp-matrix td.is-now,.sp-matrix td.is-empty.is-now{animation:none}.sp-matrix td.is-now{box-shadow:inset 0 0 0 2px var(--sp-accent)}}.sp-matrix tbody tr:hover td.is-now{background:var(--sp-accent-tint)}.sp-stage-pair{display:inline-flex;align-items:stretch}.sp-stage-pair .sp-stage{border-end-end-radius:0;border-start-end-radius:0;border-inline-end:none}.sp-stage-open{display:inline-flex;align-items:center;padding:0 7px;border:1px solid var(--sp-border);border-start-end-radius:var(--sp-radius);border-end-end-radius:var(--sp-radius);color:var(--sp-ink-muted);text-decoration:none;font-size:13px;line-height:1;transition:background-color .1s ease,color .1s ease}.sp-stage-open:hover{background:var(--sp-accent-tint);color:var(--sp-accent)}[dir=rtl] .sp-stage-open span{display:inline-block;transform:scaleX(-1)}.sp-access-form{display:flex;flex-direction:column;gap:var(--sp-gap);max-width:32rem}.sp-access-form .sp-state{margin:0}.sp-choice{display:flex;align-items:center;gap:8px}.sp-subjects{display:flex;flex-direction:column;gap:6px;border:1px solid var(--sp-border);border-radius:var(--sp-radius);padding:12px}.sp-subjects legend{padding-inline:6px;font-weight:600}.sp-accounts-actions{display:grid;gap:var(--sp-gap);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start}.sp-accounts-actions>div>.sp-surface{margin:0;height:100%}.sp-accent-add>.sp-surface,.sp-accent-grant>.sp-surface,.sp-accent-teaching>.sp-surface{border-inline-start:3px solid var(--sp-accent-base)}.sp-accent-grant>.sp-surface{border-inline-start-color:#6b4fa8}.sp-accent-teaching>.sp-surface{border-inline-start-color:var(--sp-ok)}@media (max-width: 720px){.sp-accounts-actions{grid-template-columns:1fr}}.sp-accounts-more{margin:0;padding:10px 16px 14px;border-top:1px solid var(--sp-border, #e2e8f0)}.sp-accounts-more .sp-button{width:100%;justify-content:center}.sp-plain-list{list-style:none;margin:0;padding:0}.sp-plain-list>li+li{margin-top:12px;padding-top:12px;border-top:1px solid var(--sp-border, #e2e8f0)}.sp-plain-list p{margin:4px 0 0}.sp-muted{color:var(--sp-text-muted, #64748b);font-size:.85rem}.sp-composer{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--sp-gap);margin-top:var(--sp-gap)}.sp-composer .sp-field{flex:1 1 240px}.sp-composer .sp-alert{flex:1 1 100%;margin-bottom:0}.sp-thumb{display:block;margin-top:8px;padding:0;border:1px solid var(--sp-border);border-radius:var(--sp-radius);background:none;cursor:pointer;overflow:hidden}.sp-thumb img{display:block;max-width:240px;max-height:180px;object-fit:cover}.sp-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--sp-gap);padding:var(--sp-gap);background:#000c}.sp-lightbox img{max-width:92vw;max-height:80vh;object-fit:contain}.sp-lightbox-actions{display:flex;gap:var(--sp-gap)}.sp-thread{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.sp-said{display:flex;justify-content:flex-start}.sp-said.is-mine{justify-content:flex-end}.sp-bubble{max-width:min(520px,80%);padding:8px 10px;border-radius:10px;background:var(--sp-surface-alt, #f3f3f3);border:1px solid var(--sp-line, #e0e0e0)}.sp-said.is-mine .sp-bubble{background:var(--sp-accent-tint);border-color:color-mix(in srgb,var(--sp-accent-base) 25%,#ffffff)}.sp-bubble-sender{display:block;font-size:.8rem;color:var(--sp-accent)}.sp-bubble-body{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.sp-bubble-when{display:block;margin-top:4px;text-align:right;font-size:.75rem;color:var(--sp-ink-muted)}.sp-legal{min-height:100%;display:flex;justify-content:center;padding:32px 16px 64px}.sp-legal-card{width:100%;max-width:760px}.sp-legal-brand{color:var(--sp-accent);font-weight:600;letter-spacing:.02em;margin:0 0 4px}.sp-legal-head h1{margin:0 0 8px}.sp-legal-dates{display:flex;flex-wrap:wrap;gap:4px 20px;color:var(--sp-ink-muted);font-size:.9rem;margin:0 0 16px}.sp-legal-lead{color:var(--sp-ink);margin:0 0 8px}.sp-legal-section{margin-top:28px}.sp-legal-section h2{font-size:1.1rem;margin:0 0 8px}.sp-legal-section p{margin:0 0 12px;line-height:1.6}.sp-legal-section ul{margin:0 0 12px;padding-inline-start:22px}.sp-legal-section li{margin-bottom:8px;line-height:1.6}.sp-legal-foot{margin-top:32px;padding-top:16px;border-top:1px solid var(--sp-border);color:var(--sp-ink-muted)}.sp-legal-foot a,.sp-login-legal a{color:var(--sp-accent)}.sp-login-legal{margin-top:16px;text-align:center;font-size:.9rem}
