html[data-nav=collapsed]{--rail-w:62px}:root{--rail-w:214px;--gutter:clamp(18px,1.7vw,30px);--bg:#f1f2ec;--panel:#fffefa;--border:#dce1d9;--text:#19211c;--muted:#69736c;--accent:#315e49;--accent-soft:#e2ebe5;--danger:#a13d36}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 0,rgba(192,207,185,.46),transparent 27rem),linear-gradient(180deg,#f7f7f2 0,var(--bg) 28rem);background-attachment:fixed;color:var(--text);font:14px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}main{margin-left:var(--rail-w);padding:22px var(--gutter) 72px;transition:margin-left .16s ease}h1{font-family:Georgia,Times New Roman,serif;font-size:clamp(25px,2.1vw,31px);font-weight:400;letter-spacing:-.03em;line-height:1.12;margin:0 0 6px}h2{font-size:15px;letter-spacing:-.005em;margin:26px 0 10px}h3{font-size:13px;margin:20px 0 8px}p.lede{color:var(--muted);margin:0 0 28px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:24px;margin-bottom:18px;box-shadow:0 8px 30px rgba(33,48,39,.045)}label{display:block;font-weight:600;margin-bottom:6px}.hint,label{font-size:13px}.hint{color:var(--muted);margin:6px 0 0}input[type=email],input[type=text],input[type=url]{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit}button{margin-top:14px;padding:9px 16px;border:0;border-radius:9px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer}button:disabled{opacity:.55;cursor:default}button.link{background:none;color:var(--muted);padding:0;margin:0;font-weight:400;text-decoration:underline}.error{color:var(--danger);font-size:14px;margin:12px 0 0}.warn{color:var(--muted);font-size:13px;margin:4px 0 0}.row{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:14px}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--border);vertical-align:top}th{color:var(--muted);font-weight:600}.scroll{overflow-x:auto}code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}a{color:var(--accent)}.rail{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:var(--rail-w);padding:14px 10px 12px;flex-direction:column;overflow:hidden;border-right:1px solid var(--border);background:#fbfcf8;transition:width .16s ease}.rail-brand{display:flex;margin:0 4px 16px;min-height:30px;align-items:center;color:inherit;text-decoration:none}.rail-brand img{display:block;width:122px;height:auto}.rail-brand>span{display:none}.rail-brand:before{content:"R";display:none;width:30px;height:30px;place-items:center;color:#fff;font-family:Georgia,Times New Roman,serif;font-size:15px;border-radius:9px;background:var(--accent)}.rail-nav{display:flex;gap:2px;flex-direction:column}.nav-item,.rail-action,.rail-toggle{display:flex;height:33px;padding:0 9px;align-items:center;gap:10px;color:#5c665f;font:inherit;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;border:0;border-radius:8px;background:none;box-shadow:none;cursor:pointer;transition:color .14s,background .14s}.nav-item:hover,.rail-action:hover,.rail-toggle:hover{color:var(--text);background:#eceff0;background:#edf0ea}.nav-item.active{color:#fff;background:var(--accent)}.nav-item.active:hover{color:#fff}.nav-icon{flex:0 0 18px;display:grid;width:18px;height:18px;place-items:center}.nav-icon svg{width:18px;height:18px}.nav-label{overflow:hidden;text-overflow:ellipsis}.nav-spinner{flex:0 0 auto;width:11px;height:11px;margin-left:auto;border:2px solid;border-right:2px solid transparent;border-radius:50%;animation:nav-spin .6s linear infinite}@keyframes nav-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.nav-spinner{animation-duration:2.4s}}.rail-foot{display:flex;margin-top:auto;padding-top:10px;flex-direction:column;gap:3px;border-top:1px solid var(--border)}.rail-user{display:flex;padding:7px 8px;align-items:center;gap:9px;color:inherit;text-decoration:none;border-radius:9px}a.rail-user:hover{background:#edf0ea}.rail-avatar{flex:0 0 27px;display:grid;width:27px;height:27px;place-items:center;color:var(--accent);font-size:12px;font-weight:800;border-radius:8px;background:var(--accent-soft)}.rail-open .rail-avatar{color:#8a651b;background:#faf3dd}.rail-who{display:flex;min-width:0;flex-direction:column}.rail-who strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.rail-who>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.rail-action{font-size:12px;font-weight:600}.rail-toggle{color:#8a948d;font-size:12px}html[data-nav=collapsed] .nav-label,html[data-nav=collapsed] .rail-who{display:none}html[data-nav=collapsed] .nav-item,html[data-nav=collapsed] .rail-action,html[data-nav=collapsed] .rail-toggle,html[data-nav=collapsed] .rail-user{justify-content:center;padding:0}html[data-nav=collapsed] .rail-user{height:33px}html[data-nav=collapsed] .rail-action{overflow:hidden}html[data-nav=collapsed] .rail-brand{justify-content:center;margin-right:0;margin-left:0}html[data-nav=collapsed] .rail-brand img{display:none}html[data-nav=collapsed] .rail-brand:before{display:grid}html[data-nav=collapsed] .nav-spinner{position:absolute;margin:0;transform:translate(13px,-11px)}html[data-nav=collapsed] .nav-item{position:relative}.login-page{--login-ink:#161b18;--login-muted:#667069;--login-green:#315e49;position:fixed;inset:0;z-index:10;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.88fr);min-height:100dvh;overflow:auto;color:var(--login-ink);background:#eef0e9;isolation:isolate}.login-page:before{content:"";position:absolute;inset:0;z-index:-2;opacity:.55;background-image:linear-gradient(rgba(30,48,38,.055) 1px,transparent 0),linear-gradient(90deg,rgba(30,48,38,.055) 1px,transparent 0);background-size:46px 46px;-webkit-mask-image:linear-gradient(90deg,#000,transparent 73%);mask-image:linear-gradient(90deg,#000,transparent 73%)}.login-glow{position:absolute;z-index:-1;border-radius:50%;filter:blur(3px);pointer-events:none}.login-glow-one{width:44vw;height:44vw;left:-18vw;bottom:-24vw;background:rgba(187,201,167,.68)}.login-glow-two{width:27vw;height:27vw;left:39vw;top:-18vw;background:rgba(255,255,255,.86)}.login-story{display:flex;min-height:100dvh;flex-direction:column;justify-content:space-between;padding:clamp(36px,5.5vw,76px)}.login-logo{display:block;width:clamp(190px,19vw,270px);height:auto;margin:0}.login-story-copy{max-width:670px;margin:auto 0;padding:72px 0}.login-eyebrow{display:flex;align-items:center;gap:10px;color:var(--login-green);font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.login-eyebrow i{width:27px;height:2px;background:currentColor}.login-story-copy h1{margin:24px 0;color:var(--login-ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(54px,6.1vw,94px);font-weight:400;letter-spacing:-.055em;line-height:.94}.login-story-copy p{max-width:550px;margin:0;color:#57625b;font-size:clamp(16px,1.5vw,20px);line-height:1.65}.login-trust-row{display:flex;gap:clamp(18px,4vw,52px);color:#58635c;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-trust-row span{display:flex;gap:9px;align-items:center}.login-trust-row b{color:#9aa49d;font-size:10px}.login-access{display:flex;min-height:100dvh;flex-direction:column;align-items:center;justify-content:center;padding:clamp(28px,5vw,72px);background:rgba(251,251,247,.76);border-left:1px solid rgba(49,94,73,.1);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.login-card{width:100%;max-width:470px;padding:clamp(32px,4.2vw,52px);border:1px solid rgba(49,94,73,.14);border-radius:28px;background:rgba(255,255,252,.92);box-shadow:0 35px 80px rgba(34,48,40,.12),0 3px 10px rgba(34,48,40,.05)}.login-lock{display:grid;width:46px;height:46px;margin-bottom:25px;place-items:center;color:#fff;border-radius:14px;background:var(--login-green);box-shadow:0 9px 22px rgba(49,94,73,.25)}.login-lock svg{width:23px;height:23px}.login-card-heading>p{margin:0 0 5px;color:var(--login-green);font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.login-card-heading h2{margin:0 0 8px;color:var(--login-ink);font-size:30px;letter-spacing:-.035em;line-height:1.2}.login-card-heading>span:last-child{color:var(--login-muted);font-size:14px}.login-form{display:grid;grid-gap:20px;gap:20px;margin-top:34px}.login-field label{margin-bottom:8px;color:#39433d;font-size:12px;font-weight:800;letter-spacing:.025em}.login-input{position:relative}.login-input>svg{position:absolute;top:50%;left:15px;width:20px;height:20px;color:#87928b;transform:translateY(-50%);pointer-events:none}.login-input input,.login-input input[type=email],.login-input input[type=password]{width:100%;height:53px;padding:0 16px 0 46px;color:var(--login-ink);font:inherit;font-size:14px;outline:none;border:1px solid #d7ddd7;border-radius:12px;background:#fafbf8;transition:border-color .18s,box-shadow .18s,background .18s}.login-input input::placeholder{color:#9da59f}.login-input input:focus{border-color:#6f927f;background:#fff;box-shadow:0 0 0 4px rgba(49,94,73,.1)}.login-hint{margin:-10px 0 0;color:var(--login-muted);font-size:12px}button.login-submit{display:flex;width:100%;height:54px;margin:2px 0 0;padding:0 19px;align-items:center;justify-content:center;gap:10px;border-radius:12px;background:var(--login-ink);box-shadow:0 12px 24px rgba(22,27,24,.18);transition:transform .18s,box-shadow .18s,background .18s}button.login-submit:hover:not(:disabled){background:var(--login-green);box-shadow:0 15px 28px rgba(49,94,73,.25);transform:translateY(-1px)}button.login-submit:active:not(:disabled){transform:translateY(0)}.login-submit svg{width:19px;height:19px}.login-error{margin:-8px 0 0;padding:11px 13px;color:#a13932;font-size:13px;border:1px solid #efd3d0;border-radius:9px;background:#fff5f4}.login-secure{display:flex;margin-top:28px;padding-top:21px;align-items:center;justify-content:center;gap:7px;color:#8a938d;font-size:11px;border-top:1px solid #e6e9e4}.login-secure svg{width:15px;height:15px;color:#648372}.login-footer{margin:24px 0 0;color:#7c867f;font-size:11px;font-weight:700;letter-spacing:.1em;text-align:center;text-transform:uppercase}@media (max-width:850px){.login-page{position:fixed;display:block;background:#eef0e9}.login-story{min-height:auto;padding:32px 24px 42px}.login-story-copy{padding:74px 0 64px}.login-story-copy h1{font-size:clamp(48px,13vw,72px)}.login-story-copy p{max-width:580px}.login-trust-row{gap:17px;flex-wrap:wrap}.login-access{min-height:auto;padding:48px 20px;border-top:1px solid rgba(49,94,73,.1);border-left:0}}@media (max-width:480px){.login-story{padding-top:27px}.login-story-copy{padding:60px 0 48px}.login-story-copy h1{margin:19px 0}.login-trust-row{display:none}.login-access{padding:30px 14px}.login-card{padding:28px 22px;border-radius:21px}.login-card-heading h2{font-size:27px}.login-footer{max-width:280px;line-height:1.6}}.grid{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.stat{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.stat .label{color:var(--muted);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.stat .value{font-size:26px;font-weight:700;margin-top:4px;line-height:1.1}.stat .sub{color:var(--muted);font-size:12px;margin-top:3px}.bar{height:7px;border-radius:4px;background:var(--border);overflow:hidden;margin-top:8px}.bar>span{display:block;height:100%;background:var(--accent)}.pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:700;white-space:nowrap;border:1px solid var(--border);color:var(--muted)}.pill.good{color:#0a7c42;border-color:#0a7c4255;background:#0a7c4212}.pill.top{color:#6a3fc0;border-color:#6a3fc055;background:#6a3fc012}.pill.warn{color:#9a6a00;border-color:#9a6a0055;background:#9a6a0012}.pill.bad{color:var(--danger);border-color:#b3261e55;background:#b3261e12}@media (prefers-color-scheme:dark){.pill.good{color:#5ddc9a}.pill.top{color:#c3a7ff}.pill.warn{color:#e8c06a}}.funnel{display:flex;flex-direction:column;gap:6px;margin-top:10px}.funnel .step{display:flex;align-items:center;gap:10px;font-size:13px}.funnel .step .name{width:165px;color:var(--muted);flex-shrink:0}.funnel .step .track{flex:1 1;height:20px;background:var(--border);border-radius:4px;overflow:hidden}.funnel .step .track>span{display:block;height:100%;background:var(--accent)}.funnel .step .n{width:76px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.data{width:100%;border-collapse:collapse}table.data th{position:-webkit-sticky;position:sticky;background:var(--panel);z-index:1}table.data td,table.data th{padding:7px 9px;border-bottom:1px solid var(--border);text-align:left}table.data td.num,table.data th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.table-sort{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;background:transparent;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap}.table-sort:focus-visible,.table-sort:hover{color:var(--ink)}table.data th.num .table-sort{width:100%;text-align:right}table.data tbody tr:hover{background:var(--bg)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.toolbar input[type=search],.toolbar select{padding:7px 10px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:14px}.toolbar .count{color:var(--muted);font-size:13px;margin-left:auto}.chapters{display:flex;gap:3px;flex-wrap:wrap}.chapters .ch{width:26px;height:26px;border-radius:5px;font-size:11px;font-weight:700;display:grid;place-items:center;border:1px solid var(--border);color:var(--muted)}.chapters .ch.pass{background:#0a7c4218;color:#0a7c42;border-color:#0a7c4240}.chapters .ch.fail{background:#b3261e18;color:var(--danger);border-color:#b3261e40}@media (prefers-color-scheme:dark){.chapters .ch.pass{color:#5ddc9a}}.note{color:var(--muted);font-size:13px}.callout{border-left:3px solid var(--accent);background:var(--panel);border-radius:0 8px 8px 0;margin-bottom:16px;font-size:14px}.callout.warn{border-left-color:#9a6a00}details.warnings summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600}details.warnings ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:12px}details.warnings li{margin-bottom:3px}form.inline{display:inline}button.small{margin-top:0;padding:5px 11px;font-size:12px}button.ghost{background:none;color:var(--accent);border:1px solid var(--border)}p.lede{max-width:790px;margin-bottom:25px;color:#707a73;font-size:14px;line-height:1.65}.row>h1+*{flex-shrink:0}.stat{position:relative;overflow:hidden;padding:20px 21px;border-color:rgba(49,94,73,.12);border-radius:15px;background:rgba(255,254,250,.9);box-shadow:0 7px 24px rgba(33,48,39,.045);transition:transform .18s ease,box-shadow .18s ease}.stat:after{content:"";position:absolute;top:0;right:0;width:54px;height:54px;border-radius:0 0 0 54px;background:rgba(49,94,73,.045)}.stat:hover{transform:translateY(-2px);box-shadow:0 13px 30px rgba(33,48,39,.08)}.stat .label{color:#77827a;font-size:11px;letter-spacing:.09em}.stat .value{margin-top:8px;color:#203127;font-family:Georgia,Times New Roman,serif;font-size:34px;font-weight:400;letter-spacing:-.035em}.stat .sub{margin-top:7px;color:#7a847d}.bar{height:5px;margin-top:14px;background:#e5e9e3}.bar>span{border-radius:inherit;background:linear-gradient(90deg,#315e49,#79a088)}.callout{padding:16px 18px;border:1px solid #cbdcd1;border-radius:12px;background:#edf4ef;box-shadow:0 5px 18px rgba(49,94,73,.04)}.callout.warn{border-left:0;border-color:#e5d8b7;background:#f8f3e6}.callout a{font-weight:700}table.data{font-size:13px}table.data th{top:0;padding:12px 13px;color:#6d776f;font-size:10px;letter-spacing:.07em;text-transform:uppercase;background:#f4f5f0}table.data td{padding:11px 13px}table.data tbody tr{transition:background .14s}table.data tbody tr:hover{background:#f2f6f2}.panel.scroll{overflow-x:auto;overflow-y:hidden}.pill{padding:3px 9px;border-radius:7px;font-size:10px;letter-spacing:.02em}.pill.good{color:#276647;border-color:#b8dac7;background:#e9f5ed}.pill.top{color:#5c468d;border-color:#d4cae8;background:#f2eef9}.pill.warn{color:#8a651b;border-color:#e2d19e;background:#faf3dd}.pill.bad{border-color:#e6c3bf;background:#faeceb}.funnel{gap:9px}.funnel .step .track{height:12px;border-radius:7px;background:#e7eae5}.funnel .step .track>span{border-radius:inherit;background:linear-gradient(90deg,#315e49,#83a690)}.toolbar{padding:10px;border:1px solid var(--border);border-radius:13px;background:rgba(255,254,250,.72)}.toolbar input[type=search],.toolbar select,input[type=email],input[type=number],input[type=text],input[type=url],textarea{border-color:#d5dbd4!important;border-radius:9px!important;background:#fafbf8!important;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}.toolbar input[type=search]:focus,.toolbar select:focus,input[type=email]:focus,input[type=number]:focus,input[type=text]:focus,input[type=url]:focus,textarea:focus{border-color:#799888!important;background:#fff!important;box-shadow:0 0 0 3px rgba(49,94,73,.1)}input[type=number]{padding:9px 11px;color:var(--text);font:inherit;border:1px solid var(--border)}button:not(.link){box-shadow:0 6px 14px rgba(49,94,73,.16);transition:transform .16s,box-shadow .16s,background .16s}button:not(.link):hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 19px rgba(49,94,73,.22)}button.ghost{background:#fff;box-shadow:none}code{padding:2px 5px;color:#40594b;border-radius:5px;background:#e8ece7}.chapters .ch{border-radius:7px}.section-kicker{display:block;margin-bottom:5px;color:var(--accent);font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.course-performance{padding:0;overflow:hidden}.course-performance-head{display:flex;padding:25px 26px 22px;align-items:flex-end;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(226,235,229,.68),rgba(255,254,250,.35))}.course-performance-head h2{margin:0;color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:27px;font-weight:400;letter-spacing:-.025em}.course-performance-head p{margin:6px 0 0;color:var(--muted);font-size:12px}.course-picker{min-width:min(260px,100%);margin:0}.course-picker>span{display:block;margin-bottom:6px;color:#6d776f;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.course-picker select{width:100%;padding:9px 34px 9px 11px;color:var(--text);font:inherit;font-size:13px;font-weight:700;border:1px solid #cfd8d1;border-radius:9px;outline:none;background:#fff}.course-metrics{grid-template-columns:repeat(2,minmax(0,1fr));padding:24px 25px 20px}.course-performance>.funnel{padding:5px 26px 25px}.funnel-note{margin:-8px 26px 25px}.pagination{display:flex;margin:14px 2px 34px;align-items:center;justify-content:space-between;gap:20px}.pagination p{margin:0;color:var(--muted);font-size:12px}.pagination>div{display:flex;align-items:center;gap:7px}.pagination button{margin:0;min-width:34px}.pagination span{min-width:92px;color:var(--muted);font-size:12px;text-align:center}.session-history-heading{display:flex;margin-bottom:23px;align-items:flex-end;justify-content:space-between;gap:18px}.session-history-heading h2{margin:0;font-family:Georgia,Times New Roman,serif;font-size:25px;font-weight:400}.session-group{padding:21px 0 6px;border-top:1px solid var(--border)}.session-group+.session-group{margin-top:15px}.session-group-title{display:flex;margin-bottom:13px;align-items:baseline;gap:10px}.session-group-title strong{color:#2c3b32;font-size:14px}.session-group-title span{color:var(--muted);font-size:12px}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));grid-gap:8px;gap:8px}.session-card{display:flex;min-height:57px;padding:9px 11px;align-items:center;gap:9px;border:1px solid #e0e4df;border-radius:10px;background:#fafbf8}.session-card>span:last-child{display:flex;min-width:0;flex-direction:column}.session-card time{color:#737d76;font-size:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.session-card strong{color:#3c4740;font-size:11px}.session-dot{flex:0 0 auto;display:block;width:11px;height:11px;border:2px solid #f8f9f5;border-radius:50%;background:#9ca59f;box-shadow:0 0 0 1px #cbd2cc}.session-dot.attended{background:#3f795b;box-shadow:0 0 0 1px #88aa96}.session-dot.makeup{background:#fff;box-shadow:0 0 0 2px #3f795b}.session-dot.absent{background:#b6534c;box-shadow:0 0 0 1px #d59a95}.session-dot.canceled{background:#c59b43;box-shadow:0 0 0 1px #dac38e}@media (max-width:760px){.row{align-items:flex-start}.grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.panel{padding:19px;border-radius:14px}.funnel .step .name{width:120px}.course-performance-head{align-items:stretch;flex-direction:column}.course-picker{width:100%}.pagination{align-items:flex-start;flex-direction:column}.pagination>div{width:100%;justify-content:space-between}.pagination span{min-width:0}}@media (max-width:480px){.grid{grid-template-columns:1fr}.funnel .step{align-items:flex-start;flex-wrap:wrap}.funnel .step .name{width:calc(100% - 86px)}.funnel .step .track{order:3;width:100%;flex-basis:100%}.course-metrics,.course-performance-head{padding-right:18px;padding-left:18px}.course-metrics{grid-template-columns:1fr}.course-performance>.funnel{padding-right:18px;padding-left:18px}.pagination button:first-child,.pagination button:last-child{display:none}.session-history-heading{align-items:flex-start;flex-direction:column}.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.tabs{display:flex;gap:4px;margin:0 0 16px;padding:4px;border:1px solid var(--border);border-radius:12px;background:rgba(255,254,250,.72);width:-moz-fit-content;width:fit-content;max-width:100%}.tabs a,.tabs button{display:inline-block;margin:0;padding:8px 18px;color:var(--muted);font:inherit;font-size:13px;font-weight:700;text-decoration:none;border:0;border-radius:9px;background:none;box-shadow:none;cursor:pointer}.tabs a:hover,.tabs button:hover:not(:disabled){transform:none;box-shadow:none;color:var(--text)}.tabs a.active,.tabs button.active{color:#fff;background:var(--accent);box-shadow:0 5px 13px rgba(49,94,73,.2)}.scope{display:flex;gap:4px;margin:0 0 12px;flex-wrap:wrap}.scope button{margin:0;padding:7px 15px;color:var(--muted);font:inherit;font-size:12px;font-weight:700;border:1px solid var(--border);border-radius:999px;background:rgba(255,254,250,.8);box-shadow:none;cursor:pointer}.scope button:hover:not(:disabled){transform:none;box-shadow:none;color:var(--text);border-color:#b9c8bd}.scope button.active{color:var(--accent);border-color:#9dbcab;background:var(--accent-soft)}.board{display:grid;grid-gap:14px;gap:14px;grid-template-columns:minmax(0,290px) minmax(0,1fr);align-items:start}.board-rail{position:-webkit-sticky;position:sticky;top:14px;display:flex;max-height:calc(100vh - 34px);flex-direction:column;padding:0;overflow:hidden}.rail-search{padding:10px;border-bottom:1px solid var(--border)}.rail-search input{width:100%;padding:8px 11px;color:var(--text);font:inherit;font-size:13px;border:1px solid var(--border)}.rail-list{flex:1 1;margin:0;padding:6px;list-style:none;overflow-y:auto}.rail-item{display:flex;width:100%;margin:0;padding:9px 11px;align-items:center;gap:9px;color:inherit;font:inherit;text-align:left;border:0;border-radius:9px;background:none;box-shadow:none;cursor:pointer}.rail-item:hover:not(:disabled){transform:none;box-shadow:none;background:#f2f6f2}.rail-item.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.rail-name{display:flex;min-width:0;flex:1 1;flex-direction:column;gap:2px}.rail-name strong{color:#263429;font-size:13px;font-weight:700}.rail-name .note,.rail-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-name .note{font-size:11px}.rail-meta{display:flex;flex:0 0 auto;align-items:center;gap:7px}.rail-meta .note{font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rail-flag{display:grid;min-width:21px;height:21px;padding:0 5px;place-items:center;color:#8d332b;font-size:11px;font-weight:800;border-radius:7px;background:#faeceb}.board-detail{padding:0;overflow:hidden}.detail-head{display:flex;padding:21px 23px 18px;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,rgba(226,235,229,.6),rgba(255,254,250,.3))}.detail-head h2{margin:0;color:var(--text);font-family:Georgia,Times New Roman,serif;font-size:24px;font-weight:400;letter-spacing:-.025em}.detail-head p{margin:5px 0 0;font-size:12px}.detail-badges{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:5px}.detail-stats{display:flex;padding:16px 23px;flex-wrap:wrap;gap:12px 30px;border-bottom:1px solid var(--border);color:var(--muted);font-size:12px}.detail-stats>span{display:flex;flex-direction:column}.detail-stats b{color:#2c3b32;font-size:19px;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.detail-stats i{font-style:normal}.board-detail .scroll{overflow-x:auto}.board-detail table.data tbody tr:last-child td{border-bottom:0}.board-detail td .note{margin-left:4px;font-size:11px}.board-detail td .pill{display:inline-block;margin:1px 3px 1px 0;white-space:nowrap}.board-detail table.data td{padding:8px 13px;vertical-align:middle}.board-detail table.data td:first-child{font-weight:600}.detail-foot{margin:0;padding:12px 23px;border-top:1px solid var(--border)}@media (max-width:900px){.board{grid-template-columns:minmax(0,1fr)}.board-rail{position:static;max-height:274px}.detail-head{align-items:flex-start;flex-direction:column;gap:12px}}table.gradebook td.num,table.gradebook th.num{padding-right:7px;padding-left:7px}table.gradebook td:first-child{min-width:165px;font-weight:600;white-space:nowrap}table.gradebook td:first-child .pill{margin-left:6px}table.gradebook .ch{display:inline-grid;width:30px;height:25px;place-items:center;color:var(--muted);font-size:11px;font-weight:700;border:1px solid var(--border);border-radius:7px}table.gradebook .ch.pass{color:#0a7c42;border-color:#0a7c4240;background:#0a7c4218}table.gradebook .ch.fail{color:var(--danger);border-color:#b3261e40;background:#b3261e18}ul.chase{display:flex;margin:0;padding:0;flex-wrap:wrap;gap:7px;list-style:none}ul.chase li{display:flex;padding:6px 10px;align-items:center;gap:6px;font-size:13px;background:#fafbf8}.button-like,ul.chase li{border:1px solid var(--border);border-radius:9px}.button-like{display:inline-block;padding:6px 13px;color:var(--accent);font-size:12px;font-weight:700;text-decoration:none;background:#fff}.button-like[aria-disabled=true]{color:var(--muted);pointer-events:none;opacity:.55}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.45}}.skeleton{border-radius:8px;background:linear-gradient(90deg,#e4e8e1,#eef1ea,#e4e8e1);animation:skeleton-pulse 1.25s ease-in-out infinite}.skeleton-title{height:34px;max-width:340px;margin-bottom:12px;border-radius:10px}.skeleton-lede{height:13px;max-width:560px;margin-bottom:26px}.skeleton-line{height:12px;margin-bottom:10px}.skeleton-row{height:15px;margin:0 0 14px}.skeleton-stat{height:96px;border-radius:16px}.skeleton-block{height:210px;border-radius:16px;margin-bottom:18px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.readiness{margin-top:26px}.readiness-heading{display:flex;margin-bottom:4px;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 18px}.readiness-heading h3{margin:0}.readiness .key{display:inline-block;width:9px;height:9px;margin:0 3px 0 10px;border-radius:3px;vertical-align:0}.readiness .key:first-child{margin-left:0}.readiness .key.green{background:#3f795b}.readiness .key.yellow{background:#c9922f}.readiness .key.red{background:#a13d36}.readiness-weeks{display:flex;margin:14px 0 12px;padding:0;flex-direction:column;gap:7px;list-style:none}.readiness-weeks li{display:grid;grid-template-columns:118px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px}.readiness-week{color:var(--muted);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.readiness-bar{display:flex;height:16px;overflow:hidden;border-radius:5px;background:#e7eae4}.readiness-bar>span{display:block;height:100%;transition:width .2s}.readiness-bar .green{background:#3f795b}.readiness-bar .yellow{background:#c9922f}.readiness-bar .red{background:#a13d36}.readiness-counts{display:flex;gap:9px;font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.readiness-counts .green{color:#3f795b}.readiness-counts .yellow{color:#a3761f}.readiness-counts .red{color:var(--danger)}.readiness-counts>span{min-width:26px;text-align:right}@media (max-width:640px){.readiness-weeks li{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"week bar" "counts counts";row-gap:4px}.readiness-week{grid-area:week}.readiness-bar{grid-area:bar}.readiness-counts{grid-area:counts;justify-content:flex-end}}p.lede{max-width:74ch;margin-bottom:18px;font-size:13px;line-height:1.6}.panel{padding:18px;border-radius:12px;margin-bottom:14px}.grid{gap:11px;grid-template-columns:repeat(auto-fit,minmax(178px,1fr))}.stat{padding:14px 15px;border-radius:12px}.stat:after{width:40px;height:40px;border-radius:0 0 0 40px}.stat:hover{transform:none;box-shadow:0 7px 24px rgba(33,48,39,.045)}.stat .label{font-size:10px;letter-spacing:.08em}.stat .value{margin-top:5px;font-size:27px}.stat .sub{margin-top:4px;font-size:11px}.bar{height:4px;margin-top:10px}table.data th{font-size:9px}table.data td,table.data th{padding:8px 11px}table{font-size:13px}td,th{padding:7px 9px}.callout{padding:12px 14px;margin-bottom:13px;font-size:13px}.callout,.toolbar{border-radius:10px}.toolbar{padding:8px;gap:8px;margin-bottom:11px}.toolbar input[type=search],.toolbar select{padding:6px 9px;font-size:13px}.pagination{margin:11px 2px 26px}.course-performance-head{padding:19px 20px 17px}.course-performance-head h2{font-size:21px}.course-metrics{padding:18px 19px 15px}.course-performance>.funnel{padding:4px 20px 19px}.funnel-note{margin:-6px 20px 19px}.section-kicker{font-size:9px}.session-history-heading{margin-bottom:17px}.session-history-heading h2{font-size:20px}@media (max-width:900px){:root,html[data-nav=collapsed]{--rail-w:0px}main{margin-left:0;padding:16px 15px 64px}.rail{position:-webkit-sticky;position:sticky;inset:0 auto auto 0;width:100%;height:50px;padding:0 12px;flex-direction:row;align-items:center;gap:12px;border-right:0;border-bottom:1px solid var(--border)}.rail-brand{margin:0}.rail-brand img,html[data-nav=collapsed] .rail-brand img{display:block;width:96px}.rail-brand:before,html[data-nav=collapsed] .rail-brand:before{display:none}.rail-nav{flex-direction:row;overflow-x:auto;scrollbar-width:none}.rail-nav::-webkit-scrollbar{display:none}.rail-foot{margin:0 0 0 auto;padding-top:0;flex-direction:row;align-items:center;border-top:0}.rail-toggle,.rail-user{display:none}html[data-nav=collapsed] .nav-label{display:inline}html[data-nav=collapsed] .nav-item{position:static;justify-content:flex-start;padding:0 9px}html[data-nav=collapsed] .nav-spinner{position:static;margin-left:auto;transform:none}html[data-nav=collapsed] .rail-action{justify-content:center;padding:0 9px}}@media (max-width:560px){.rail-nav .nav-label{display:none}.rail-nav .nav-item{justify-content:center;padding:0 10px}}:root{--bg:#f3f5f1;--panel:#fff;--border:#e0e6df;--text:#1c3029;--muted:#63736b;--accent:#245e49}body{background:radial-gradient(ellipse at 90% 0,#e2ece0 0,transparent 45%),#f5f6f2}main{padding-top:32px}h1{font-size:clamp(30px,3vw,44px);letter-spacing:-.045em}.overview-heading{margin:0 0 18px;padding:12px 0 18px;align-items:center}.overview-heading .section-kicker{margin-bottom:10px;display:block}.overview-heading .hint{font-size:15px;margin-top:10px}.panel{box-shadow:0 4px 24px #203f2b05;border-radius:18px}.panel table a{text-decoration:none}.panel table a:hover{text-decoration:underline}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2,.section-heading h3{margin:5px 0 0;font-size:22px;font-weight:500;letter-spacing:-.025em}.section-kicker{letter-spacing:.16em}a,button,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #b08032;outline-offset:3px}button{transition:background .15s,box-shadow .15s}button:hover:not(:disabled){box-shadow:0 3px 10px #204a3520}.explorer-controls{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:18px}.explorer-controls label{flex:1 1;min-width:180px;color:var(--muted)}.explorer-controls select{display:block;width:100%;margin-top:7px;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:white;color:var(--text);font:inherit}.metric-switch,.record-tabs{display:flex;flex-wrap:wrap;gap:5px;padding:5px;border-radius:12px;background:#edf1eb;margin-bottom:24px}.metric-switch button,.record-tabs button{margin:0;padding:10px 15px;color:#64746c;background:transparent;font-size:12px;box-shadow:none}.metric-switch button[aria-pressed=true],.record-tabs button[aria-selected=true]{background:#fff;color:#245e49;box-shadow:0 2px 7px #1b382b12}.weekly-chart{padding:20px 0}.weekly-bars{padding:0;margin:22px 0;list-style:none}.weekly-bars li{display:grid;grid-template-columns:115px minmax(60px,1fr) 50px;align-items:center;grid-gap:18px;gap:18px;padding:10px 0;color:var(--muted);font-size:12px}.weekly-bars strong{color:var(--text);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.weekly-track{height:23px;background:repeating-linear-gradient(90deg,#edf1eb,#edf1eb calc(25% - 1px),#dce4da calc(25% - 1px),#dce4da 25%);border-radius:5px;overflow:hidden}.weekly-track>span{display:block;height:100%;border-radius:5px;transition:width .25s ease}.empty-state{padding:52px 24px;text-align:center;color:var(--muted);background:#f7f9f5;border:1px dashed #d8e1d6;border-radius:14px}.empty-state strong{display:block;color:var(--text);font-size:19px;font-weight:550}.empty-state p{max-width:450px;margin:10px auto 0}.empty-icon{font-size:35px;display:block;color:#6e8e77;margin-bottom:12px}.class-records{padding:24px}.record-legend{display:flex;flex-wrap:wrap;gap:16px;margin:18px 0;color:var(--muted);font-size:12px}.record-legend>span{gap:7px}.attendance-cell,.record-legend>span{display:inline-flex;align-items:center}.attendance-cell{width:28px;height:28px;border-radius:8px;justify-content:center;font-size:15px;background:#f0f2ee;color:#849087;font-weight:600}.attendance-cell.leader,.attendance-cell.makeup,.attendance-cell.member{background:#e3f0e6;color:#276143}.attendance-cell.makeup{box-shadow:inset 0 0 0 1px #6f9c80;font-weight:700}.attendance-cell.absent{background:#fbebe5;color:#aa563d}.attendance-cell.visitor{background:#e7eef8;color:#426aa0}.attendance-cell.conflict{background:#fff2cf;color:#8c6315}.attendance-matrix{white-space:nowrap}.attendance-matrix td,.attendance-matrix th{padding:14px 12px;vertical-align:middle}.attendance-matrix td:not(:first-child),.attendance-matrix th:not(:first-child){text-align:center}.attendance-matrix th:first-child{position:-webkit-sticky;position:sticky;left:0;background:white;z-index:1;min-width:180px;box-shadow:1px 0 #e0e6df}.attendance-matrix thead th{background:#f7f9f5;font-size:11px}.record-footnote{padding:12px 0}.save-feedback{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}.save-success{color:#245e49;font-size:13px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:700px){main{padding-top:20px}.overview-heading{align-items:flex-start}.overview-heading h1{font-size:34px}.overview-heading .section-kicker{font-size:9px}.overview-heading button{font-size:11px;padding:9px;white-space:nowrap}.class-records,.panel{padding:17px}.metric-switch button,.record-tabs button{flex:1 0 auto;padding:9px 10px}.weekly-bars li{grid-template-columns:82px minmax(40px,1fr) 37px;gap:9px;font-size:11px}.section-heading{align-items:flex-start;flex-direction:column}.record-legend{gap:10px}.attendance-matrix th:first-child{min-width:135px;max-width:160px;white-space:normal}}@media (prefers-reduced-motion:reduce){*,:after,:before{transition:none!important;animation:none!important;scroll-behavior:auto!important}}.teacher-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,340px);align-items:center}.teacher-heading>*{min-width:0}.teacher-heading select{width:100%;max-width:100%;padding:12px;border-radius:10px;border:1px solid var(--border);color:var(--text);background:white;font:inherit}.teacher-heading h1{overflow-wrap:anywhere;font-size:clamp(26px,2.6vw,38px)}.follow-up-panel summary{cursor:pointer}.follow-up-panel summary strong{display:inline;margin:0 12px;font-weight:600}.follow-up-panel .chase{margin-top:20px}@media (max-width:700px){.teacher-heading{grid-template-columns:minmax(0,1fr)}.teacher-heading select{margin-top:12px}.follow-up-panel summary strong{display:block;margin:8px 0}}.exemption-form{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);grid-gap:16px;gap:16px;margin-top:24px;max-width:800px}.exemption-form label:nth-child(3){grid-column:1/-1}.exemption-form input,.exemption-form select{width:100%;margin-top:7px;padding:10px;border:1px solid var(--border);border-radius:8px;font:inherit;background:white;color:var(--text)}.exemption-form button{justify-self:start;margin-top:0}.exemption-record{display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;padding:18px 0;border-top:1px solid var(--border)}.exemption-record p{margin:5px 0}@media (max-width:700px){.exemption-form{grid-template-columns:minmax(0,1fr)}}.attendance-matrix tbody th{text-transform:none;letter-spacing:normal;font-size:13px;font-weight:500}@media (max-width:700px){main{margin-left:0}}.data-review-notice{display:flex;gap:12px;align-items:center;padding:14px 18px;margin:0 0 24px;border-radius:12px;background:#fbf5e7;border:1px solid #ecdfc4;color:#795e2d;font-size:12px}.data-review-notice>span{font-size:25px}.data-review-notice strong{font-weight:600}.data-review-notice p{margin:2px 0 0}.topic-settings{border-top:1px solid var(--border);padding:18px 0}.topic-settings>summary{cursor:pointer;padding:4px 0}.topic-settings>summary .hint{display:block;margin:6px 0 0 18px}.teacher-waiver{margin:22px 0 8px;padding:20px;border:1px solid #c7dfd4;border-radius:14px;background:linear-gradient(135deg,#f3faf6,#fbfcf9)}.teacher-waiver h3{margin:4px 0 7px;font-size:20px}.teacher-waiver p{margin:0;color:var(--muted)}.teacher-waiver p+p{margin-top:7px}.teacher-waiver form{margin-top:16px}.teacher-waiver-scope{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:18px}.teacher-waiver-scope label>span{display:block}.teacher-waiver .teacher-waiver-all{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:14px;border-radius:10px;background:#e4f1e9}.teacher-waiver-all button{font-size:14px;padding:12px 18px}.teacher-waiver-divider{display:flex;align-items:center;gap:12px;margin:18px 0 -2px;color:var(--muted);font-size:12px}.teacher-waiver-divider:after,.teacher-waiver-divider:before{content:"";height:1px;flex:1 1;background:var(--border)}.teacher-waiver fieldset{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(240px,1fr) auto;grid-gap:12px;gap:12px;align-items:end;margin:0;padding:0;border:0}.teacher-waiver label{margin:0}.teacher-waiver input,.teacher-waiver select{width:100%;margin-top:7px;padding:10px;border:1px solid var(--border);border-radius:8px;background:white;color:var(--text);font:inherit}.teacher-waiver button{white-space:nowrap}.teacher-waiver>.error,.teacher-waiver>.note,.teacher-waiver>.save-success{margin-top:12px}.advanced-exemptions,.one-teacher-exemption{margin-top:18px}.advanced-exemptions>summary,.one-teacher-exemption>summary{cursor:pointer;color:var(--accent)}.topic-choices{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;border:1px solid var(--border);border-radius:10px;padding:12px}.topic-choices label,.topic-roster label{display:flex;gap:8px;align-items:center;margin:0}.topic-choices input,.topic-roster input{width:auto}.topic-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));grid-gap:12px;gap:12px;max-height:280px;overflow-y:auto;border:1px solid var(--border);border-radius:10px;padding:14px;margin:12px 0 18px}@media (max-width:900px){.teacher-waiver fieldset,.teacher-waiver-scope{grid-template-columns:minmax(0,1fr)}.teacher-waiver button{justify-self:start}}.import-fields{display:grid;grid-gap:14px;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:14px}.import-fields select{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit}.steps{display:flex;flex-wrap:wrap;gap:6px;margin:-12px 0 18px;font-size:12px;font-weight:700;color:var(--muted)}.steps span{padding:4px 11px;border:1px solid var(--border);border-radius:999px}.steps span.active{color:#fff;background:var(--accent);border-color:var(--accent)}.sync-banner{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.sync-banner>div{flex:1 1 320px}.review-table td{vertical-align:top}.match-cell select{width:100%;min-width:220px;max-width:360px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:13px}.match-cell select.needs{border-color:#c9a64a;background:#fbf5e4}.match-search{display:flex;flex-direction:column;align-items:flex-start;gap:2px;margin-top:6px;max-width:360px}.match-search button{margin:0;text-align:left}.change-list{list-style:none;margin:0;padding:0;font-size:12.5px}.change-list li{white-space:nowrap}.change-list .change-label{color:var(--muted)}.change-list .before{color:var(--muted);text-decoration:line-through}.change-list li.lowered strong{color:var(--danger)}.check{padding:12px 0;border-top:1px solid var(--border)}.check:first-of-type{border-top:0}.check ul{margin:6px 0;padding-left:20px;font-size:13px}.check.accepted{opacity:.7}.accept-check{display:flex;gap:8px;align-items:center;font-weight:400;margin:6px 0 0}.accept-check input{width:auto;margin:0}.action-bar{position:-webkit-sticky;position:sticky;bottom:12px;z-index:5;display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 16px;margin-top:18px;border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 10px 30px rgba(33,48,39,.12)}.action-bar .action-counts{flex:1 1 260px;font-size:13px}.action-bar button{margin-top:0}.action-bar a.button-like:not(.ghost),.action-bar span.button-like{padding:9px 20px;color:#fff;font-size:13px;background:var(--accent);border-color:var(--accent)}.action-bar a.button-like.ghost{padding:9px 16px;font-size:13px}.field-grid{display:grid;grid-gap:14px 18px;gap:14px 18px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:14px}.field input,.field select{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit}.toggle-row{display:flex;gap:10px;align-items:flex-start;font-weight:400;margin:12px 0 0}.toggle-row input{width:auto;margin-top:3px}.why{margin-top:10px}.why>summary{cursor:pointer;color:var(--accent);font-size:12px;font-weight:700}.why>.hint{margin-top:6px;max-width:72ch}.row-list input,.row-list select,.tier-table input{width:100%;min-width:70px;padding:7px 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--text);font:inherit;font-size:13px}.tier-table{max-width:560px}.row-list table.data td{padding:6px 8px}.row-list .row-order{white-space:nowrap}.row-list .row-order button,.row-list td button{margin:0 2px 0 0;padding:3px 8px}.row-list>button{margin-top:8px}textarea{width:100%;padding:9px 11px;border:1px solid var(--border);border-radius:7px;background:var(--bg);color:var(--text);font:inherit}.stepper{display:flex;flex-wrap:wrap;gap:0;margin:0 0 18px;padding:0;list-style:none;font-size:12.5px;font-weight:700;color:var(--muted)}.stepper li{display:flex;align-items:center}.stepper li+li:before{content:"";width:28px;height:1px;margin:0 10px;background:var(--border)}.stepper li.active:before,.stepper li.done+li:before{background:var(--accent)}.stepper form{display:contents}.stepper-n{display:inline-grid;place-items:center;width:22px;height:22px;margin-right:7px;border:1.5px solid var(--border);border-radius:50%;font-size:11px;background:var(--panel)}.stepper li.active{color:var(--text)}.stepper li.active .stepper-n{color:#fff;border-color:var(--accent);background:var(--accent)}.stepper li.done{color:var(--accent)}.stepper li.done .stepper-n{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.stepper-link{display:inline-flex;align-items:center;margin:0;padding:0;color:inherit;font:inherit;background:none;border:0;box-shadow:none;cursor:pointer;text-decoration:none}.stepper-link:hover{text-decoration:underline;transform:none;box-shadow:none}.import-file-line{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:2px 0 18px}.import-file-line .hint{margin:0}.file-chip{max-width:100%;overflow:hidden;padding:3px 10px;font-size:12px;font-weight:600;text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);border-radius:999px}.file-chip,.map-file{background:var(--panel)}.map-file{margin-bottom:18px;padding:20px 22px;border:1px solid var(--border);border-radius:16px;box-shadow:0 8px 30px rgba(33,48,39,.045)}.map-file-head{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-start;justify-content:space-between;margin-bottom:14px}.map-file-name{font-size:15px;font-weight:700;word-break:break-word}.map-status{padding:5px 12px;font-size:12px;font-weight:700;border-radius:999px;white-space:nowrap}.map-status.ok{color:#0a7c42;background:#0a7c4214}.map-status.bad{color:#8a5d00;background:#c9a64a26}.map-settings{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:flex-end;margin-bottom:12px}.map-settings label{margin:0;font-size:12px;color:var(--muted)}.map-settings input[type=number],.map-settings input[type=text],.map-settings select{display:block;min-width:170px;margin-top:4px;padding:7px 10px;color:var(--text);font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.map-settings .needs{border-color:#c9a64a;background:#fbf5e4}.map-settings .check-inline{display:flex;gap:7px;align-items:center;padding-bottom:8px;color:var(--text);font-weight:400}.map-settings .check-inline input{width:auto;margin:0}.map-missing{margin:0 0 10px;font-size:13px;color:var(--muted)}.map-missing .pill{margin-right:4px}.sheet-wrap{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:12px}table.sheet{border-collapse:separate;border-spacing:0;font-size:12.5px}table.sheet td,table.sheet th{min-width:170px;max-width:240px;padding:6px 10px;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid #edf0ea;border-bottom:1px solid #edf0ea}table.sheet .sheet-rownum{position:-webkit-sticky;position:sticky;left:0;z-index:1;min-width:38px;width:38px;color:#9aa39c;font-size:11px;font-weight:600;text-align:center;background:#f6f7f2}table.sheet tr.sheet-map th{padding:8px;vertical-align:top;background:#f6f7f2;border-bottom:1px solid var(--border)}table.sheet tr.sheet-header th{font-weight:700;background:#fbfbf7}table.sheet td.off,table.sheet th.off{color:#b0b6b0;background:#fafaf7}table.sheet tbody td{background:#fff}.col-picker select{width:100%;padding:6px 8px;font:inherit;font-size:12.5px;font-weight:700;border-radius:8px;cursor:pointer}.col-picker.on select{color:var(--accent);border:1.5px solid #9dbcab;background:var(--accent-soft)}.col-picker.off select{color:#8d948e;border:1.5px dashed #d3d8d0;background:#fff;font-weight:500}.col-chapter{display:flex;gap:6px;align-items:center;margin:6px 0 0;font-size:11px;font-weight:600;color:var(--muted)}.col-chapter input{width:56px;padding:3px 6px;font:inherit;border:1px solid var(--border);border-radius:6px}.summary-strip{display:flex;flex-wrap:wrap;margin-bottom:18px;overflow:hidden;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.summary-strip>div{flex:1 1 140px;padding:14px 18px;border-right:1px solid var(--border)}.summary-strip>div:last-child{border-right:0}.summary-strip strong{display:block;font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:400;line-height:1.1}.summary-strip span{color:var(--muted);font-size:12px}.summary-strip .good strong{color:#0a7c42}.summary-strip .new strong{color:#3f5fc0}.summary-strip .warn{background:#fbf5e4}.summary-strip .warn strong{color:#8a5d00}.m-panel{padding:0;overflow:hidden}.m-toolbar{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.m-toolbar,.m-toolbar .tabs{flex-wrap:wrap}.m-count{margin-left:4px;padding:0 6px;font-size:11px;border-radius:999px;background:rgba(0,0,0,.06)}.tabs button.active .m-count{background:rgba(255,255,255,.25)}.m-search{min-width:200px;padding:7px 11px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:9px;background:#fff}.m-head,.m-row{display:grid;grid-template-columns:minmax(170px,1.1fr) 24px minmax(210px,1.3fr) minmax(200px,1.6fr) 80px;grid-gap:12px;gap:12px;align-items:center}.m-head{padding:9px 18px;color:#6d776f;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;background:#f4f5f0;border-bottom:1px solid var(--border)}.m-list{margin:0;padding:0;list-style:none}.m-line{padding:12px 18px;border-bottom:1px solid #edf0ea;border-left:3px solid transparent}.m-line.attention{border-left-color:#c9a64a;background:#fffdf6}.m-line.problem{border-left-color:var(--danger)}.m-name{font-weight:700}.m-meta{color:var(--muted);font-size:12px}.m-arrow{color:#aab3ac;font-size:16px;text-align:center}.m-app{flex-wrap:wrap;gap:6px 10px;justify-content:space-between}.m-app,.m-person{display:flex;align-items:center}.m-person{gap:9px}.m-person.new .m-name{color:#3f5fc0}.m-person.muted .m-name{color:var(--muted);font-weight:500}.m-avatar{display:inline-grid;flex:none;place-items:center;width:30px;height:30px;color:var(--accent);font-size:11px;font-weight:800;border-radius:50%;background:var(--accent-soft)}.m-person.new .m-avatar{color:#3f5fc0;background:#e7ecfa}.m-badge{padding:2px 9px;font-size:11px;font-weight:700;white-space:nowrap;border-radius:999px}.m-badge.good{color:#0a7c42;background:#0a7c4214}.m-badge.warn{color:#8a5d00;background:#c9a64a2e}.m-badge.bad{color:var(--danger);background:#b3261e14}.m-badge.new{color:#3f5fc0;background:#3f5fc014}.m-badge.muted{color:var(--muted);background:rgba(0,0,0,.05)}.m-changes{display:flex;flex-wrap:wrap;gap:5px}.m-chip{padding:2px 8px;font-size:12px;white-space:nowrap;border:1px solid #d7e5dc;border-radius:7px;background:#f3f8f4}.m-chip s{color:#9aa39c}.m-chip.lowered{border-color:#e8c3bf;background:#fcf1f0;color:var(--danger)}.m-nochange{color:#9aa39c;font-size:12px}.m-action{text-align:right}.m-action button{margin:0}.m-problem{margin:6px 0 0;color:var(--danger);font-size:12.5px}.m-picker{display:grid;grid-gap:6px;gap:6px;max-width:620px;margin:12px 0 2px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff}.m-picker-label{color:var(--muted);font-size:12px;font-weight:700}.m-option{display:flex;gap:10px;align-items:center;width:100%;margin:0;padding:8px 10px;color:var(--text);font:inherit;text-align:left;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:none;cursor:pointer}.m-option:hover:not(:disabled){border-color:#9dbcab;background:#f3f8f4;transform:none;box-shadow:none}.m-option.selected{border-color:var(--accent);background:var(--accent-soft)}.m-option-text{display:flex;flex:1 1;flex-direction:column;min-width:0}.m-option-text span{overflow:hidden;color:var(--muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.m-option-cta{color:var(--accent);font-size:12px;font-weight:700}.m-picker .m-search{width:100%;margin-top:4px}.m-picker-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}.m-picker-actions button{margin:0}.m-empty{padding:28px 18px;color:var(--muted);text-align:center}@media (max-width:900px){.m-head{display:none}.m-row{grid-template-columns:1fr;gap:6px}.m-arrow{display:none}.m-action{text-align:left}}.m-line.resolved{border-left-color:#0a7c42;background:#f4faf6}.m-done{margin:8px 0 0;color:#0a7c42;font-size:13px;font-weight:600}.m-intro{padding:12px 18px;color:#6b5310;font-size:13.5px;background:#fbf5e4;border-bottom:1px solid #efe3bf}.m-intro.done{color:#0a5f35;background:#eef7f1;border-bottom-color:#cfe6d7}.m-check-title{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.m-check ul{margin:8px 0;padding-left:22px;font-size:13px}.m-class-pick{max-width:460px;margin-top:8px}.m-class-pick select{width:100%;padding:8px 10px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.accept-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:6px}.accept-row button{margin:0}.m-spinner{display:inline-block;width:14px;height:14px;margin-right:6px;vertical-align:-2px;border:2px solid #cfd8d1;border-top:2px solid var(--accent);border-radius:50%;animation:m-spin .7s linear infinite}@keyframes m-spin{to{transform:rotate(1turn)}}.warn-text{color:#8a5d00}.action-bar .secondary-continue{margin:0;padding:9px 20px;color:#fff;font-size:13px;font-weight:700;background:#9fb4a8;border:0;border-radius:9px;cursor:pointer}.action-bar.ready{border-color:#9dbcab;background:#f4faf6}.back-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:-8px 0 18px}.back-row .hint,.back-row button{margin:0}.stepper-link{text-decoration:underline;-webkit-text-decoration-color:#9dbcab;text-decoration-color:#9dbcab;text-underline-offset:3px}.map-table-row{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:flex-end;margin:0 0 14px;padding:12px 14px;border:1px solid #d7e5dc;border-radius:12px;background:#f3f8f4}.map-table-row label{margin:0;font-size:12px;color:var(--muted)}.map-table-row select{display:block;min-width:220px;margin-top:4px;padding:8px 10px;color:var(--text);font:inherit;font-size:13.5px;font-weight:700;border:1.5px solid #9dbcab;border-radius:9px;background:#fff}.map-table-row .hint{flex:1 1 280px;margin:0 0 6px}.people-options{display:flex;flex-wrap:wrap;gap:12px 20px;margin:0 0 14px;padding:12px 16px;border:1px solid var(--border);border-radius:12px;background:var(--panel)}.people-options label{margin:0;font-size:12px;color:var(--muted)}.people-options select{display:block;min-width:220px;margin-top:4px;padding:7px 10px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.m-chip.instructor{border-color:#cdb9ee;background:#f4effc;color:#6a3fc0}.plain-list{margin:10px 0 0;padding-left:20px}.plain-list li{margin:3px 0}.teacher-list{margin:0;padding:0;list-style:none}.teacher-card{border-bottom:1px solid #edf0ea;border-left:3px solid transparent}.teacher-card.attention{border-left-color:#c9a64a}.teacher-head{flex-wrap:wrap;justify-content:space-between;padding:12px 18px}.teacher-head,.teacher-toggle{display:flex;gap:10px;align-items:center}.teacher-toggle{margin:0;padding:0;color:var(--text);font:inherit;text-align:left;background:none;border:0;box-shadow:none;cursor:pointer}.teacher-toggle:hover{transform:none;box-shadow:none}.teacher-id{display:flex;flex-direction:column}.teacher-status{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.teacher-status button{margin:0}.teacher-body{display:grid;grid-gap:18px;gap:18px;padding:4px 18px 18px 58px}.teacher-section-title{margin-bottom:6px;color:#6d776f;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.class-list{margin:0 0 10px;padding:0;list-style:none;border:1px solid var(--border);border-radius:10px;overflow:hidden}.class-list li{display:flex;gap:10px;align-items:center;justify-content:space-between;padding:9px 12px;border-bottom:1px solid #edf0ea;background:#fff}.class-list li:last-child{border-bottom:0}.class-list li button{margin:0}.class-list li.hidden-class{background:#fafaf7}.class-list li.hidden-class .class-label{color:#9aa39c;text-decoration:line-through}.class-label{font-weight:600;font-size:13.5px}.add-class,.login-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.add-class select,.login-row input{min-width:260px;max-width:100%;padding:7px 10px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.add-class button,.login-row button{margin:0}.credentials{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;justify-content:space-between;margin-top:10px;padding:12px 14px;border:1px solid #9dbcab;border-radius:10px;background:#f3f8f4}.credentials pre{margin:6px 0 0;font-size:13px;white-space:pre-wrap}.credentials-actions{display:flex;gap:8px}.credentials-actions button{margin:0}.add-teacher-fields{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.add-teacher-fields label{margin:0;font-size:12px;color:var(--muted)}.add-teacher-fields input,.add-teacher-fields select{display:block;width:100%;margin-top:4px;padding:8px 10px;font:inherit;font-size:13.5px;border:1px solid var(--border);border-radius:8px;background:#fff}.add-teacher .m-picker{max-width:560px}@media (max-width:700px){.teacher-body{padding-left:18px}}button.teacher-toggle,button.teacher-toggle:hover{padding:0;color:var(--text);background:transparent;border:0;box-shadow:none;transform:none}.suggestions{display:grid;grid-gap:6px;gap:6px;margin:0 0 10px;padding:10px 12px;border:1px dashed #c9a64a;border-radius:10px;background:#fffdf6}.suggestion{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:13.5px;font-weight:600}.suggestion button{margin:0}.role-checks{display:flex;flex-wrap:wrap;gap:4px 12px}.role-checks label{display:inline-flex;gap:5px;align-items:center;margin:0;font-size:12.5px;font-weight:500;white-space:nowrap;cursor:pointer}.role-checks input{width:auto;margin:0}.grid-shell{margin-bottom:24px;border:1px solid var(--border);border-radius:14px;background:var(--panel);overflow:hidden}.grid-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--border)}.grid-toolbar select{padding:7px 9px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.grid-toolbar>button{margin:0}.grid-flash{padding:3px 10px;color:#0a7c42;font-size:12px;font-weight:700;border-radius:999px;background:#0a7c4214}.grid-bulk{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px 14px;background:#f3f8f4;border-bottom:1px solid var(--border);font-size:13px}.grid-bulk button{margin:0}button.danger{color:var(--danger)}.grid-scroll{max-height:70vh;overflow:auto}table.sheet-grid{border-collapse:separate;border-spacing:0;font-size:13px;min-width:100%}table.sheet-grid th{position:-webkit-sticky;position:sticky;top:0;z-index:2;padding:8px 10px;color:#6d776f;font-size:10px;font-weight:700;letter-spacing:.06em;text-align:left;text-transform:uppercase;white-space:nowrap;background:#f4f5f0;border-bottom:1px solid var(--border);border-right:1px solid #e7ebe4}table.sheet-grid td{position:relative;height:34px;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:340px;border-bottom:1px solid #eef1eb;border-right:1px solid #f1f3ef;background:#fff}table.sheet-grid td.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}table.sheet-grid td.editable{cursor:text}table.sheet-grid td.editable:hover{background:#f6faf7;box-shadow:inset 0 0 0 1px #b9d3c3}table.sheet-grid td.invalid{box-shadow:inset 0 0 0 2px var(--danger);background:#fcf1f0}table.sheet-grid td.saving{opacity:.6}table.sheet-grid td .m-spinner{position:absolute;right:4px;top:10px}table.sheet-grid tr.selected td{background:#f1f7f3}table.sheet-grid td:first-child,table.sheet-grid th:first-child{position:-webkit-sticky;position:sticky;left:0;z-index:1}table.sheet-grid th:first-child{z-index:3}.grid-check{width:34px;min-width:34px;text-align:center}.grid-check input{width:auto;margin:0}.grid-empty{color:#c2c8c3}.cell-editor{width:100%;min-width:60px;height:30px;padding:0 6px;font:inherit;font-size:13px;border:2px solid var(--accent);border-radius:5px;background:#fff;outline:none}.grid-pages{display:flex;gap:10px;align-items:center;justify-content:flex-end;padding:10px 14px;font-size:13px}.grid-pages button{margin:0}.add-row-panel{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end;width:100%;padding:10px 12px;border:1px dashed #9dbcab;border-radius:10px;background:#f6faf7}.add-row-panel label{margin:0;font-size:11px;color:var(--muted)}.add-row-panel input{display:block;width:150px;margin-top:3px;padding:6px 8px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:7px;background:#fff}.add-row-actions{display:flex;gap:8px;align-items:center}.add-row-actions button{margin:0}.marks-cell{overflow:visible}.marks-cell button.link{margin:0;font-size:12.5px}.marks-pop{position:fixed;z-index:50;display:grid;grid-gap:4px;gap:4px;min-width:260px;max-height:320px;overflow:auto;padding:10px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(0,0,0,.12)}.marks-pop label{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:0;font-size:12.5px;font-weight:500}.marks-pop input,.marks-pop select{padding:3px 6px;font:inherit;font-size:12.5px;border:1px solid var(--border);border-radius:6px}.marks-pop button{margin:0}table.sheet-grid td:has(.marks-pop){overflow:visible;z-index:5}.history-list{margin:0;padding:0;list-style:none}.history-list li{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 18px;border-bottom:1px solid #edf0ea}.history-list li.undone .history-summary{color:#9aa39c;text-decoration:line-through}.history-list button{margin:0}.history-summary{font-weight:600;font-size:13.5px}.marks-pop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:13px}.setup-card{max-width:520px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.setup-kinds{display:grid;grid-gap:8px;gap:8px}.setup-kinds label{display:flex;gap:10px;align-items:center;margin:0;padding:11px 14px;font-size:14px;font-weight:600;border:1.5px solid #d9e0da;border-radius:12px;background:#fff;cursor:pointer}.setup-kinds label.active{border-color:var(--login-green);background:#eef5f0}.setup-kinds input{width:auto;margin:0}.setup-classes{display:grid;grid-gap:6px;gap:6px}.setup-classes>label{display:flex;gap:10px;align-items:flex-start;margin:0;padding:9px 12px;font-weight:400;border:1px solid #dfe5e0;border-radius:10px;background:#fff;cursor:pointer}.setup-classes>label input{width:auto;margin:3px 0 0}.setup-classes span{display:flex;flex-direction:column;font-size:13.5px}.setup-classes em{color:var(--login-muted);font-size:12px;font-style:normal}.setup-add{display:flex;gap:8px}.setup-add select{flex:1 1;min-width:0;padding:9px 10px;font:inherit;font-size:13px;border:1px solid #dfe5e0;border-radius:10px;background:#fff}.setup-add button{margin:0}.setup-link{text-align:center}.login-form button.link{margin:0;justify-self:center}.access-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.access-card{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--panel)}.access-card.selected{border-color:#9dbcab;background:#f6faf7}.access-check{width:auto;margin:4px 0 0}.access-body{flex:1 1;display:grid;grid-gap:8px;gap:8px;min-width:0}.access-head{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start;justify-content:space-between}.access-note{padding:6px 10px;font-size:13px;font-style:italic;border-left:3px solid var(--border);background:#fafaf7}.access-classes{display:grid;grid-gap:4px;gap:4px}.access-classes label{display:flex;gap:8px;align-items:flex-start;margin:0;font-size:13px;font-weight:500}.access-classes input{width:auto;margin:3px 0 0}.access-classes em{color:var(--muted);font-size:12px;font-style:normal}.access-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.access-actions select{padding:7px 9px;font:inherit;font-size:13px;border:1px solid var(--border);border-radius:8px;background:#fff}.access-actions button{margin:0}.access-bulk{border:1px solid var(--border);border-radius:12px;margin-bottom:12px}.nav-badge{margin-left:auto;min-width:20px;padding:1px 6px;color:#fff;font-size:11px;font-weight:800;text-align:center;border-radius:999px;background:#c0392b}.teachers-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:16px}.teachers-actions .button-like,.teachers-actions button{margin:0}.suggestion-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.suggestion-head button{margin:0}.pco-steps{margin:10px 0 16px;padding-left:20px;list-style:decimal}.pco-steps li{margin:6px 0}.pco-head{gap:12px;align-items:center;justify-content:space-between}.pco-chips,.pco-head{display:flex;flex-wrap:wrap}.pco-chips{gap:6px;list-style:none;padding:0;margin:0 0 14px}.pco-toolbar{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.pco-toolbar input[type=search]{flex:1 1 240px}.pco-groups select{width:100%;min-width:220px}.pco-groups tr.picked td{background:var(--accent-soft)}.pco-new-class{display:flex;gap:6px;margin-top:6px}.pco-new-class input,.pco-new-class select{flex:1 1;min-width:0}.pco-preview-row>td{background:var(--accent-soft)}.pco-preview{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px 24px;gap:12px 24px;padding:6px 4px}.pco-preview p{margin:4px 0}.pco-compare{grid-column:1/-1;border-top:1px solid var(--border);padding-top:8px}.pco-names summary{cursor:pointer;margin:6px 0 2px}.pco-names p{margin:2px 0 8px 14px;max-width:90ch}.good-text{color:var(--accent)}@media (max-width:720px){.pco-preview{grid-template-columns:1fr}}table.data tr.muted td{opacity:.55}input.invalid{border-color:var(--danger);background:#fcf1f0}