:root{
  color-scheme:dark;
  --bg:#07080b;--panel:#101218;--panel-2:#151823;--line:#303541;--text:#f5f7fa;--muted:#b8bec8;
  --gold:var(--ss-primary);--silver:#cbd1da;--green:var(--ss-primary);--purple:var(--ss-primary);--amber:var(--ss-primary-border);--danger:#ff8585;
  --radius:18px;--shadow:0 20px 60px rgba(0,0,0,.35);--focus:0 0 0 3px #07080b,0 0 0 6px var(--green);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 88% 4%,rgba(var(--ss-primary-rgb), .11),transparent 28%),var(--bg);color:var(--text);font-size:16px;line-height:1.55;min-height:100vh}body.nav-open,body.dialog-open{overflow:hidden}a{color:inherit}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{box-shadow:var(--focus)}button{cursor:pointer}.skip-link{position:fixed;left:12px;top:8px;transform:translateY(-160%);z-index:500;background:var(--green);color:var(--ss-primary);padding:.7rem 1rem;border-radius:10px;font-weight:800}.skip-link:focus{transform:none}.demo-status{display:flex;justify-content:center;gap:1rem;align-items:center;flex-wrap:wrap;padding:.7rem 1rem;background:var(--ss-primary);border-bottom:1px solid rgba(var(--ss-primary-rgb), .38);font-size:.86rem;color:var(--ss-primary-soft)}.demo-status strong{color:#fff}.demo-status a{color:var(--gold)}.app-header{position:sticky;top:0;z-index:80;display:flex;align-items:center;gap:1rem;justify-content:space-between;padding:.8rem clamp(.8rem,2vw,1.5rem);background:rgba(7,8,11,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;min-width:0}.brand img{width:44px;height:44px}.brand span{display:grid;line-height:1.15}.brand strong{font-size:1rem}.brand small{color:var(--muted);font-size:.78rem}.header-actions{display:flex;gap:.55rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.status-chip,.chip{display:inline-flex;align-items:center;gap:.4rem;min-height:34px;padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;background:#0d0f14;color:var(--muted);font-size:.82rem}.status-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--green)}.status-chip[data-online="false"]::before{background:var(--amber)}.app-button,.nav-button,.icon-button{min-height:44px;border:1px solid var(--line);border-radius:12px;background:#151821;color:var(--text);padding:.65rem .9rem;font-weight:750;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.45rem}.app-button:hover,.nav-button:hover{border-color:#555d6b;background:#1b1f2b}.app-button.primary{background:linear-gradient(135deg,var(--ss-primary),var(--ss-primary));border-color:rgba(var(--ss-primary-rgb), .55)}.app-button.soft{background:rgba(var(--ss-primary-rgb), .1);border-color:rgba(var(--ss-primary-rgb), .4)}.app-button.gold{background:rgba(var(--ss-primary-rgb), .12);border-color:rgba(var(--ss-primary-rgb), .48)}.app-button.danger{background:rgba(255,133,133,.08);border-color:rgba(255,133,133,.45)}.app-button[disabled]{opacity:.55;cursor:not-allowed}.menu-toggle{display:none}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:calc(100vh - 118px)}.side-nav{position:sticky;top:73px;align-self:start;height:calc(100vh - 73px);overflow:auto;padding:1.2rem .9rem;border-right:1px solid var(--line);background:#0b0d12}.side-nav h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.13em;color:var(--silver);margin:.2rem .75rem 1rem}.side-nav nav{display:grid;gap:.3rem}.nav-button{justify-content:flex-start;width:100%;background:transparent;border-color:transparent;color:var(--muted);font-weight:700}.nav-button[aria-current="page"]{background:rgba(var(--ss-primary-rgb), .13);border-color:rgba(var(--ss-primary-rgb), .38);color:#fff}.nav-note{margin:1.2rem .55rem 0;padding:1rem;border-radius:14px;background:#12151d;border:1px solid var(--line);font-size:.84rem;color:var(--muted)}.app-main{min-width:0;padding:clamp(1rem,3vw,2rem);max-width:1500px;width:100%;margin:0 auto}.app-section[hidden]{display:none!important}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.4rem}.section-head h1,.section-head h2{margin:.15rem 0 .4rem;line-height:1.13}.section-head h1{font-size:clamp(1.75rem,4vw,3rem)}.section-head h2{font-size:clamp(1.5rem,3vw,2.3rem)}.section-head p{margin:0;color:var(--muted);max-width:68ch}.eyebrow{margin:0;color:var(--green);font-size:.78rem;text-transform:uppercase;letter-spacing:.15em;font-weight:850}.notice{padding:1rem 1.1rem;border-radius:14px;border:1px solid rgba(var(--ss-primary-rgb), .35);background:rgba(var(--ss-primary-rgb), .08);color:var(--ss-primary-soft)}.notice.purple{border-color:rgba(var(--ss-primary-rgb), .4);background:rgba(var(--ss-primary-rgb), .08)}.notice.green{border-color:rgba(var(--ss-primary-rgb), .38);background:rgba(var(--ss-primary-rgb), .07)}.grid{display:grid;gap:1rem}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.metric{padding:1.15rem;border-radius:16px;background:linear-gradient(145deg,#151821,#0e1016);border:1px solid var(--line);min-height:132px}.metric span{color:var(--muted);font-size:.85rem}.metric strong{display:block;font-size:clamp(1.55rem,4vw,2.4rem);margin:.35rem 0}.metric small{color:var(--silver)}.panel{background:linear-gradient(145deg,rgba(21,24,35,.97),rgba(13,15,21,.98));border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1rem,2.3vw,1.5rem);box-shadow:0 14px 38px rgba(0,0,0,.18)}.panel h3{margin-top:0}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.panel-header h3{margin:0}.card-list{display:grid;gap:.8rem}.learner-card,.session-card,.record-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1rem;border-radius:14px;border:1px solid var(--line);background:#0d0f15}.learner-card h3,.session-card h3,.record-card h3{margin:0 0 .25rem}.learner-card p,.session-card p,.record-card p{margin:.2rem 0;color:var(--muted)}.meta-row{display:flex;gap:.45rem;flex-wrap:wrap;margin-top:.6rem}.chip.good{border-color:rgba(var(--ss-primary-rgb), .4);color:var(--ss-primary-soft)}.chip.review{border-color:rgba(241,198,106,.45);color:var(--ss-primary-soft)}.chip.purple{border-color:rgba(var(--ss-primary-rgb), .42);color:var(--ss-primary-soft)}.chip.silver{border-color:rgba(203,209,218,.34)}.actions{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.field{display:grid;gap:.4rem}.field.full{grid-column:1/-1}.field label,.field legend{font-weight:750;color:#f1f3f7}.field small{color:var(--muted)}input,select,textarea{width:100%;min-height:46px;padding:.7rem .8rem;border-radius:11px;border:1px solid #3a404c;background:#0a0c11;color:var(--text)}textarea{min-height:112px;resize:vertical}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.check{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem;border:1px solid var(--line);border-radius:11px;background:#0d0f15}.check input{width:20px;height:20px;min-height:20px;margin-top:.12rem}.range-row{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:.65rem;align-items:center}.range-row output{text-align:center;border:1px solid var(--line);border-radius:10px;padding:.5rem;background:#0d0f15}.split-preview{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.preview-card{padding:1rem;border-radius:14px;border:1px solid var(--line);background:#0b0d12}.preview-card h4{margin:.1rem 0 .65rem}.preview-card ul{padding-left:1.2rem}.change-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.change-item{padding:.65rem;border-radius:10px;background:#0d0f15;border:1px solid var(--line);font-size:.82rem}.empty{padding:1.3rem;text-align:center;border:1px dashed #3a404c;border-radius:14px;color:var(--muted)}.timeline{position:relative;padding-left:1.4rem}.timeline::before{content:"";position:absolute;left:.38rem;top:.4rem;bottom:.4rem;width:2px;background:#303541}.timeline-item{position:relative;padding:0 0 1.1rem .7rem}.timeline-item::before{content:"";position:absolute;left:-1.13rem;top:.35rem;width:10px;height:10px;border-radius:50%;background:var(--purple);box-shadow:0 0 0 4px #101218}.timeline-item strong{display:block}.timeline-item small{color:var(--muted)}.board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem}.board-slot{min-height:120px;padding:.8rem;border-radius:14px;background:#0b0d12;border:1px solid var(--line)}.board-slot strong{display:block;color:var(--green);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.board-slot input{min-height:44px}.permission-table{width:100%;border-collapse:collapse}.permission-table th,.permission-table td{text-align:left;padding:.75rem;border-bottom:1px solid var(--line)}.permission-table th{color:var(--silver)}.quick-support{position:fixed;inset:0;z-index:220;display:grid;align-items:end;background:rgba(0,0,0,.68);padding:1rem}.quick-support[hidden]{display:none}.quick-sheet{max-height:90vh;overflow:auto;border:1px solid rgba(var(--ss-primary-rgb), .42);background:#0d1015;border-radius:24px 24px 12px 12px;padding:1rem;box-shadow:var(--shadow)}.quick-head{display:flex;justify-content:space-between;gap:1rem;align-items:center}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin-top:1rem}.quick-actions .app-button{min-height:58px}.modal{border:1px solid var(--line);border-radius:20px;background:#10131a;color:var(--text);padding:0;width:min(920px,calc(100% - 2rem));max-height:90vh;box-shadow:var(--shadow)}.modal::backdrop{background:rgba(0,0,0,.72)}.modal-inner{padding:1.2rem;overflow:auto;max-height:88vh}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.modal-head h2{margin:.15rem 0}.profile-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.profile-block{padding:1rem;border:1px solid var(--line);border-radius:14px;background:#0d0f15}.profile-block h3{margin-top:0}.profile-block ul{padding-left:1.15rem}.icon-button{width:44px;padding:0;font-size:1.4rem}.guide{position:fixed;inset:0;z-index:300;pointer-events:none}.guide[hidden]{display:none}.guide-card{position:absolute;left:50%;bottom:1rem;transform:translateX(-50%);width:min(640px,calc(100% - 2rem));padding:1rem;border:1px solid rgba(var(--ss-primary-rgb), .55);border-radius:18px;background:#0c0e14;box-shadow:var(--shadow);pointer-events:auto}.guide-card h2{margin:.1rem 0 .4rem;font-size:1.25rem}.guide-card p{color:var(--muted)}.guide-actions{display:flex;justify-content:space-between;gap:.6rem;flex-wrap:wrap}.guide-highlight{position:relative;z-index:290!important;box-shadow:0 0 0 4px var(--purple),0 0 0 9999px rgba(0,0,0,.55)!important;border-radius:14px}.guide-arrow{position:absolute;z-index:295;width:0;height:0;border-left:14px solid transparent;border-right:14px solid transparent;border-bottom:22px solid var(--purple);filter:drop-shadow(0 4px 8px rgba(0,0,0,.5));pointer-events:none}.live-region{position:fixed;left:1rem;bottom:1rem;z-index:400;max-width:420px;padding:.8rem 1rem;border-radius:12px;background:#151921;border:1px solid rgba(var(--ss-primary-rgb), .45);transform:translateY(160%);transition:transform .2s ease}.live-region.show{transform:none}.footer-note{margin-top:2rem;padding:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.86rem}.future-card{border-style:dashed}.planned-badges{display:flex;gap:.45rem;flex-wrap:wrap}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media (max-width:1100px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.change-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:880px){.menu-toggle{display:inline-flex}.app-shell{grid-template-columns:1fr}.side-nav{position:fixed;inset:0 auto 0 0;top:0;width:min(330px,88vw);height:100vh;z-index:180;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow);padding-top:1rem}.side-nav.open{transform:none}.side-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:170}.side-backdrop[hidden]{display:none}.header-actions .hide-mobile{display:none}.app-main{padding:1rem}.profile-sections,.split-preview{grid-template-columns:1fr}.board{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){body{font-size:15px}.demo-status{justify-content:flex-start}.app-header{align-items:flex-start}.brand strong{font-size:.9rem}.brand small{font-size:.72rem}.header-actions{gap:.35rem}.header-actions .status-chip{display:none}.app-button{width:100%}.header-actions .app-button,.header-actions .icon-button,.menu-toggle{width:44px;padding:0;font-size:0}.header-actions .app-button::before{font-size:1rem}.header-actions [data-action="quick"]::before{content:"⚡"}.header-actions [data-action="guide"]::before{content:"?"}.header-actions [data-action="install"]::before{content:"↓"}.menu-toggle::before{content:"☰";font-size:1.2rem}.section-head{display:grid}.grid.two,.grid.three,.grid.four,.form-grid,.check-grid,.change-list{grid-template-columns:1fr}.learner-card,.session-card,.record-card{grid-template-columns:1fr}.actions{display:grid}.board{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.profile-sections{grid-template-columns:1fr}.permission-table{font-size:.82rem}.permission-table th,.permission-table td{padding:.55rem}.panel{padding:1rem}.app-main{padding:.8rem}.guide-card{bottom:.5rem}.guide-actions{display:grid;grid-template-columns:1fr 1fr}.guide-actions .app-button{width:auto}.guide-actions .app-button:last-child{grid-column:1/-1}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media (forced-colors:active){.chip,.panel,.metric,.app-button,.nav-button,input,select,textarea{border:1px solid CanvasText}.guide-highlight{outline:4px solid Highlight!important;box-shadow:none!important}}
/* v26 role-shell visibility and small component completion */
.app-section{display:none}
.app-section.active{display:block}
.side-brand{display:grid;gap:.2rem;padding:.25rem .75rem 1rem;border-bottom:1px solid var(--line);margin-bottom:.8rem}
.side-brand strong{font-size:1rem}.side-brand small{color:var(--muted);font-size:.8rem}
.side-footer{display:grid;gap:.5rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--line)}
.app-button.purple{background:rgba(var(--ss-primary-rgb), .12);border-color:rgba(var(--ss-primary-rgb), .48)}
.status-chip.good{border-color:rgba(var(--ss-primary-rgb), .4);color:var(--ss-primary-soft)}.status-chip.review{border-color:rgba(241,198,106,.45);color:var(--ss-primary-soft)}.status-chip.review::before{background:var(--amber)}
.form-status{min-height:1.5rem;color:var(--silver)}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:14px;margin-top:1rem}
.plain-list{padding-left:1.2rem}.plain-list li{margin:.45rem 0}
@media(max-width:880px){body.nav-open{overflow:hidden}.side-nav{top:0}.app-section{scroll-margin-top:90px}}


/* v28 workflow-focused Today dashboard */
.today-heading{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start}.today-date{min-width:190px;padding:1rem 0;border-top:1px solid var(--line);text-align:right}.today-date span,.today-date strong{display:block}.today-date span{color:var(--purple);font-weight:800}.today-date strong{font-size:1.1rem;margin-top:.25rem}
.quick-action-panel{margin:1.2rem 0 1.5rem;padding:1.2rem;border:1px solid rgba(var(--ss-primary-rgb), .24);border-radius:var(--radius);background:linear-gradient(145deg,rgba(var(--ss-primary-rgb), .06),rgba(13,15,21,.98))}.quick-action-panel h2{margin:.15rem 0}
.daily-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.daily-action{min-height:112px;padding:.9rem;text-align:left;border:1px solid var(--line);border-radius:14px;background:#0d0f15;color:var(--text);cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.daily-action:hover{transform:translateY(-2px);border-color:rgba(var(--ss-primary-rgb), .5);background:#12151d}.daily-action:active{transform:translateY(1px)}.daily-action span{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:rgba(var(--ss-primary-rgb), .1);color:var(--purple);font-weight:900;margin-bottom:.65rem}.daily-action strong,.daily-action small{display:block}.daily-action small{color:var(--muted);margin-top:.25rem;line-height:1.35}
.today-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1rem 0}.today-primary{grid-column:1/-1}.profile-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin-top:1rem}.profile-summary p{margin:0;padding:.8rem;border:1px solid var(--line);border-radius:12px;background:#0d0f15}.handoff-card{align-items:start}
.app-section.active{animation:section-enter .18s ease-out}@keyframes section-enter{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
body.save-confirmed .app-header{box-shadow:inset 0 -2px 0 rgba(var(--ss-primary-rgb), .75)}
@media(max-width:1100px){.daily-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.today-heading{display:grid}.today-date{text-align:left;min-width:0}.today-layout{grid-template-columns:1fr}.today-primary{grid-column:auto}.profile-summary{grid-template-columns:1fr}}
@media(max-width:520px){.daily-actions{grid-template-columns:1fr}.daily-action{min-height:86px;display:grid;grid-template-columns:40px 1fr;column-gap:.65rem;align-items:center}.daily-action span{grid-row:1/3;margin:0}.daily-action small{grid-column:2}}
@media(prefers-reduced-motion:reduce){.app-section.active{animation:none}.daily-action{transition:none}}

.session-outcome-panel{margin-top:1rem}.session-outcome-panel .panel-header{align-items:flex-start}

/* SEND App mobile off-canvas overflow containment */
@media (max-width: 880px) {
  html, body { overflow-x: hidden; }
  .app-shell { overflow-x: clip; max-width: 100%; }
}
