.lc-root{color:#202a36;min-width:0}.lc-root *{box-sizing:border-box}.lc-root button,.lc-form button{cursor:pointer}.lc-root button:disabled,.lc-form button:disabled{cursor:wait;opacity:.55}:is(.lc-root button:focus-visible,.lc-root input:focus-visible,.lc-root svg:focus-visible,.lc-form input:focus-visible,.lc-form select:focus-visible){outline-offset:2px;outline:3px solid #9aaabb}.lc-root h1{margin:3px 0 8px;font-size:30px;font-weight:750;line-height:1.3}.lc-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.lc-heading p,.lc-profile p{color:#70829e;margin:4px 0;font-size:14px}.lc-eyebrow{color:#7b838d;letter-spacing:.8px;font-size:12px}.lc-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.lc-btn{color:#344e72;white-space:normal;text-align:center;background:#fff;border:1px solid #dce4ef;border-radius:9px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:9px 15px;font-size:14px;font-weight:550;display:inline-flex}.lc-btn:hover{background:#f4f5f6}.lc-btn.lc-primary{color:#fff;background:#293543;border-color:#293543}.lc-btn.lc-primary:hover{background:#1b2633}.lc-icon{padding:9px 11px}.lc-text{color:#526171;background:0 0;border:0;align-items:center;gap:6px;padding:9px 0;font-size:13px;display:inline-flex}.lc-hint{color:#70829e;margin:4px 0 12px;font-size:13px;line-height:1.7}.lc-login{background:#fff;border:1px solid #e2e9f2;border-radius:16px;max-width:440px;margin:50px auto;padding:32px;box-shadow:0 8px 32px #202a3606}.lc-login h2{margin:16px 0 8px;font-size:23px}.lc-login-mark{color:#293543;background:#f0f2f4;border-radius:15px;place-items:center;width:60px;height:60px;display:grid}.lc-login .lc-text{margin-top:12px}.lc-login-tabs{margin:20px 0}.lc-segments{background:#fafbfd;border:1px solid #e2e9f2;border-radius:8px;flex-shrink:0;gap:2px;max-width:100%;padding:3px;display:flex}.lc-segments button{color:#617696;white-space:nowrap;background:0 0;border:0;border-radius:5px;flex:1;min-height:34px;padding:7px 11px;font-size:13px}.lc-segments button[aria-pressed=true]{color:#293543;background:#edf0f3;font-weight:650}.lc-stages{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-bottom:22px;display:grid}.lc-stages>button{text-align:left;color:#233c60;background:#fff;border:1px solid #e0e7f1;border-radius:12px;padding:17px 20px}.lc-stages span{font-size:15px;font-weight:650;display:block}.lc-stages strong{color:#293543;font-variant-numeric:tabular-nums;margin-top:5px;font-size:30px;display:block}.lc-stages small{margin-left:5px;font-size:13px;font-weight:400}.lc-layout{grid-template-columns:265px minmax(0,1fr);align-items:start;gap:18px;display:grid}.lc-teacher-layout{display:block}.lc-roster,.lc-detail{background:#fff;border:1px solid #e2e9f2;border-radius:12px;min-width:0}.lc-roster{padding:18px 12px}.lc-roster h2{margin:0 6px 14px;font-size:18px}.lc-search{color:#8998ad;border:1px solid #e2e9f2;border-radius:8px;align-items:center;gap:7px;margin:0 4px 12px;padding:0 10px;display:flex}.lc-search input{color:#203b60;background:0 0;border:0;outline:none;width:100%;min-width:0;height:40px;font-size:14px}.lc-roster>.lc-segments{margin:0 4px 12px}.lc-roster-list{max-height:650px;overflow:auto}.lc-teacher-row{text-align:left;color:#1d365c;background:#fff;border:0;border-bottom:1px solid #edf0f5;border-radius:8px;align-items:center;gap:10px;width:100%;padding:15px 10px;display:flex}.lc-teacher-row>span:nth-child(2){flex:1;min-width:0}.lc-teacher-row b{overflow-wrap:anywhere;font-size:15px}.lc-teacher-row small{color:#7386a0;margin-top:5px;font-size:11px;line-height:1.4;display:block}.lc-teacher-row>svg{color:#293543;flex-shrink:0}.lc-avatar{color:#293543;background:#edf0f3;border-radius:50%;flex-shrink:0;place-items:center;width:38px;height:38px;font-size:18px;font-weight:600;display:grid}.lc-detail{padding:22px}.lc-profile{justify-content:space-between;align-items:center;gap:12px;display:flex}.lc-profile-main{align-items:center;gap:12px;min-width:0;display:flex}.lc-profile h2{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:9px;margin:0;font-size:21px;display:flex}.lc-profile p{margin-top:6px;font-size:12px}.lc-badge{color:#526e94;white-space:nowrap;background:#edf2fa;border-radius:5px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-flex}.lc-progress{gap:8px;margin:25px 0;padding:0;list-style:none;display:flex}.lc-progress li{color:#8b9bb0;flex:1;align-items:center;gap:7px;font-size:12px;display:flex;position:relative}.lc-progress li:after{content:"";background:#e0e6ee;flex:1;min-width:4px;height:1px}.lc-progress li:last-child:after{display:none}.lc-progress li>span{background:#f2f5f9;border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.lc-progress li.done{color:#596a7d}.lc-progress li.done>span{background:#eceff2}.lc-stage-action{background:#f8f9fa;border:1px solid #e7eaee;border-radius:10px;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px;padding:24px;display:flex}.lc-stage-action>div{flex:1;min-width:160px}.lc-stage-action h3{margin:0 0 8px;font-size:17px}.lc-stage-action p{color:#7c899b;margin:0;font-size:13px;line-height:1.7}.lc-filters{flex-wrap:wrap;align-items:center;gap:12px;margin:24px 0 18px;display:flex}.lc-date-range{flex-wrap:wrap;flex:1;align-items:center;gap:8px;display:flex}.lc-date-range label{color:#788aa2;align-items:center;gap:5px;font-size:12px;display:flex}.lc-date-range input{color:#3f597e;background:#fff;border:1px solid #e1e7f0;border-radius:7px;min-width:0;max-width:155px;min-height:38px;padding:5px 7px;font-size:13px}.lc-charts{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.lc-chart{background:#fff;border:1px solid #e2e9f2;border-radius:11px;min-width:0;padding:16px 12px 10px}.lc-chart-head{justify-content:space-between;align-items:start;gap:7px;padding:0 4px;display:flex}.lc-chart h3{margin:0 0 5px;font-size:16px;font-weight:650}.lc-chart-head strong{color:var(--curve-color);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:27px;font-weight:650}.lc-chart-head strong small{margin-left:5px;font-size:13px}.lc-chart-head .lc-segments button{min-height:30px;padding:5px 7px}.lc-chart-head .lc-segments{gap:0;padding:2px}.lc-chart-canvas{margin-top:16px;position:relative}.lc-chart-canvas svg{touch-action:pan-y;width:100%;display:block}.lc-chart-canvas text{fill:#8190a6;font-family:inherit;font-size:12px}.lc-tooltip{pointer-events:none;color:#263c5b;white-space:nowrap;background:#fffe;border:1px solid #e0e7ef;border-radius:8px;max-width:100%;padding:8px 12px;font-size:12px;position:absolute;top:-8px;left:50%;transform:translate(-50%);box-shadow:0 5px 15px #20395613}.lc-tooltip span,.lc-tooltip b,.lc-tooltip small{line-height:1.8;display:block}.lc-tooltip small{color:#72829a;font-size:10px}.lc-chart-note{color:#94a0b1;margin:7px 3px;font-size:11px}.lc-chart-empty{color:#a0adbd;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:180px;display:flex}.lc-chart-empty span{font-size:13px}.lc-chart-empty small{font-size:11px}.lc-data-details{color:#8796aa;margin:9px 4px 0;font-size:11px}.lc-data-details summary{cursor:pointer;min-height:24px}.lc-mini-table{max-height:220px;overflow:auto}.lc-mini-table table{border-collapse:collapse;width:100%}.lc-mini-table td,.lc-mini-table th{text-align:left;border-bottom:1px solid #edf1f7;padding:8px 4px}.lc-aggregation{margin:15px 3px;font-size:11px}.lc-off-strip{color:#617491;background:#f5f6f7;border-radius:8px;flex-wrap:wrap;align-items:center;gap:14px;padding:12px 14px;font-size:13px;display:flex}.lc-off-strip .lc-text{margin-left:auto;padding:3px}.lc-empty{text-align:center;color:#889ab0;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:35px 15px;font-size:13px;display:flex}.lc-empty p{max-width:400px;margin:0;line-height:1.8}.lc-empty h3{color:#4f6688;margin:0;font-size:17px}.lc-empty-large{min-height:300px}.lc-loading{text-align:center;color:#7d8da3;padding:60px 20px}.lc-error{color:#b5392a;overflow-wrap:anywhere;background:#fff0ec;border:1px solid #ffd6cb;border-radius:8px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.7}.lc-error button{margin-left:10px}.lc-success{color:#27784e;background:#eaf8f0;border-radius:8px;align-items:center;gap:8px;margin-bottom:15px;padding:10px 14px;font-size:13px;display:flex}.lc-success button{background:0 0;border:0;margin-left:auto;font-size:20px}.lc-form{color:#203959;flex-direction:column;gap:17px;display:flex}.lc-form label{flex-direction:column;gap:8px;min-width:0;font-size:14px;font-weight:500;display:flex}.lc-form input,.lc-form select{color:#243e61;background:#fff;border:1px solid #d8e1ed;border-radius:8px;width:100%;min-width:0;min-height:44px;padding:9px 11px;font-family:inherit;font-size:16px}.lc-form-grid{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-width:0;margin:0;padding:0;display:grid}.lc-form-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;padding-top:6px;display:flex}.lc-platform-checks{gap:15px;display:flex}.lc-platform-checks label{cursor:pointer;border:1px solid #e1e8f0;border-radius:9px;flex-direction:row;flex:1;align-items:center;gap:10px;padding:15px;display:flex}.lc-platform-checks input{accent-color:#293543;width:20px;height:20px;min-height:0}.lc-form .lc-hint{margin:0}.lc-form>p{font-size:14px;line-height:1.8}.lc-form .lc-error{margin:0}:is(.app-shell:has(.lc-root),.lc-form,.modal:has(.lc-form)){font-family:Segoe UI,Microsoft YaHei,Arial,sans-serif}.app-shell:has(.lc-root) .main-shell{background:#f6f7f8}.app-shell:has(.lc-root) .nav-item.active{color:#263442;background:#f2f4f6;border-color:#eef0f2;box-shadow:inset 2px 0 #d88a50}.app-shell:has(.lc-root) .nav-item.active svg{color:#576878}.lc-heading{margin-bottom:28px}.lc-eyebrow{letter-spacing:.6px;color:#7a838e;font-size:11px}.lc-heading h1{letter-spacing:-.5px;font-size:30px;font-weight:650}.lc-stages>button{border-color:#e5e8ec;border-radius:10px;padding-top:20px;padding-bottom:18px;position:relative}.lc-stages>button[aria-pressed=true]{background:#f0f5fa;border-color:#9eafc2;box-shadow:inset 0 2px #456989}.lc-stages>button[aria-pressed=true]:before{content:"";background:#d88a50;border-radius:50%;width:5px;height:5px;position:absolute;top:20px;right:15px}.lc-stages span{color:#647080;font-size:13px;font-weight:500}.lc-stages strong{color:#556270;margin-top:10px;font-weight:550}.lc-stages small{color:#8a939d}.lc-stages>button[aria-pressed=true] span{color:#2e4d6c;font-weight:650}.lc-stages>button[aria-pressed=true] strong{color:#244b72;font-weight:650}.lc-roster,.lc-detail,.lc-chart{border-color:#e5e9ee}.lc-profile h2,.lc-roster h2{color:#273442;font-weight:600}.lc-profile h2{font-size:20px}.lc-avatar{color:#657484;background:#f0f3f5;font-size:16px;font-weight:500}.lc-teacher-row.selected{background:#eef4fa;box-shadow:inset 3px 0 #6686a4}.lc-teacher-row b{font-weight:550}.lc-teacher-row.selected b{color:#244b72;font-weight:650}.lc-teacher-row>svg{color:#93a0ac}.lc-badge-live{color:#688575;background:#edf3f0}.lc-badge-off{color:#82768d;background:#f0eef3}.lc-chart{border-top:2px solid color-mix(in srgb,var(--curve-color) 45%,white)}.lc-chart h3{color:#455467;align-items:center;gap:7px;font-size:14px;font-weight:550;display:flex}.lc-chart h3:before{content:"";background:var(--curve-color);border-radius:2px;width:6px;height:6px}.lc-chart-head strong{color:var(--curve-color);letter-spacing:-.5px;font-size:32px;font-weight:650}.lc-chart-head strong small{color:#7e8996;font-weight:400}.lc-chart-head .lc-segments{background:#f5f6f7;border-color:#0000}.lc-chart-head .lc-segments button[aria-pressed=true]{color:#293543;background:#fff;box-shadow:0 1px 3px #1c2b3a0a}.lc-tooltip{border-color:#e1e6eb;box-shadow:0 5px 20px #2030400d}.lc-tooltip b{color:var(--curve-color)}.lc-chart-note{color:#8d98a5}.lc-chart-canvas svg:focus-visible{outline:1px solid #a3b1bd}.lc-root .lc-btn.lc-entry-button{color:#fff;background:#dc7b37;border-color:#dc7b37}.lc-root .lc-btn.lc-entry-button:hover{background:#c96d2e}.lc-stage-action{background:#f8f9fa}.lc-stage-action h3{font-size:16px;font-weight:550}.lc-off-strip{background:#fafbfc;border:1px solid #e9edf0}.lc-success{color:#657f70;background:#f0f5f2}.lc-login{box-shadow:0 10px 35px #1f2c3a04}.lc-login-mark{color:#526577;background:#f1f3f5}:is(.lc-form input:focus-visible,.lc-form select:focus-visible){outline-offset:1px;outline:2px solid #a3b1bd}.modal:has(.lc-form){color:#273442;border:1px solid #e4e8ec;border-radius:14px}.modal:has(.lc-form) h2{font-weight:550}@media (max-width:760px){.lc-stages>button[aria-pressed=true]:before{top:15px;right:10px}.lc-stages>button{padding:14px}.lc-heading h1{font-size:26px}.modal:has(.lc-form){border:1px solid #e4e8ec;border-radius:14px;width:calc(100% - 24px);max-width:520px;height:auto;max-height:calc(100dvh - 28px);margin:0 auto;inset:50% 0 auto;overflow-y:auto;transform:translateY(-50%)}.modal:has(.lc-form) .modal-body{padding:20px}.lc-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.lc-session-table{background:#fff;border:1px solid #e1e7ee;border-radius:12px;max-width:100%;margin:20px 0;overflow:hidden}.lc-session-heading{justify-content:space-between;align-items:center;gap:10px;padding:16px;display:flex}.lc-session-heading h3{margin:0;font-size:16px}.lc-session-heading small,.lc-session-heading>span{color:#7a899b;font-size:12px;font-weight:400}.lc-session-scroll{max-height:580px;overflow:auto}.lc-session-scroll table{border-collapse:separate;border-spacing:0;text-align:right;width:100%;min-width:780px;font-size:12px}.lc-session-scroll th{color:#61748a;z-index:1;background:#f4f7fa;font-weight:550;position:sticky;top:0}.lc-session-scroll th,.lc-session-scroll td{white-space:nowrap;border-bottom:1px solid #edf0f4;padding:13px 12px}.lc-session-scroll th:first-child,.lc-session-scroll td:first-child{text-align:left}.lc-session-scroll small{color:#8d9aaa;margin-top:4px;font-size:10px;font-weight:400;display:block}.lc-session-scroll tr:hover td{background:#f1f6fb}.lc-session-scroll tr.selected td,.lc-session-scroll tr:focus td{background:#e5eff9}.lc-session-scroll tr{cursor:pointer;outline:none}.lc-session-scroll tr.selected td:first-child{box-shadow:inset 3px 0 #648cae}.lc-session-scroll td.lc-record-note{white-space:normal;text-align:left;color:#8290a0;min-width:180px;max-width:260px;font-size:11px;line-height:1.7}.lc-session-scroll .lc-missing{color:#b47b2d}.lc-session-scroll>p{padding:15px}.lc-tooltip small{display:block}.lc-chart-head h3{line-height:1.4}.lc-series-summary{color:#8b96a5;margin:3px 0;font-size:11px;display:block}.lc-legend{flex-wrap:wrap;gap:7px;margin:8px 0 12px;display:flex}.lc-legend button{color:#9ca7b3;background:#f7f9fb;border:1px solid #dde5ed;border-radius:7px;align-items:center;gap:6px;min-height:34px;padding:7px 9px;font-size:12px;display:inline-flex}.lc-legend button span{background:#b6bec8;border-radius:2px;width:14px;height:3px}.lc-legend button[aria-pressed=true]{background:color-mix(in srgb,var(--line-color) 7%,white);border-color:color-mix(in srgb,var(--line-color) 35%,white);color:var(--line-color)}.lc-legend button[aria-pressed=true] span{background:var(--line-color)}.lc-legend button[aria-pressed=false]{text-decoration:line-through}.lc-legend button:hover{box-shadow:0 0 0 1px var(--line-color)}.lc-tooltip-line+.lc-tooltip-line{margin-top:5px}.lc-tooltip-line b{font-size:12px}.lc-heat-table{background:#fff;border:1px solid #e1e7ee;border-radius:12px;max-width:100%;margin:20px 0;overflow:hidden}.lc-heat-table .lc-session-scroll{max-height:400px}.lc-heat-table table{table-layout:fixed;min-width:0}.lc-heat-table th:first-child{width:34%}.lc-heat-table td,.lc-heat-table th{padding:12px 10px}.lc-heat-table td:nth-child(3){color:#b4782f;font-weight:650}.lc-heat-table .lc-session-heading>span{font-size:11px}.lc-session-table>summary{cursor:pointer;-webkit-user-select:none;user-select:none;min-height:58px;list-style:none}.lc-session-table>summary::-webkit-details-marker{display:none}.lc-session-table>summary:hover{background:#eff4f8}.lc-session-table>summary:focus-visible{outline-offset:-3px;outline:3px solid #9aaabb}.lc-session-table[open]>summary{background:#f4f7fa;border-bottom:1px solid #e1e7ee}.lc-session-toggle{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.lc-session-collapse,.lc-session-table[open] .lc-session-expand{display:none}.lc-session-table[open] .lc-session-collapse{display:inline}.lc-session-table[open] .lc-session-toggle svg{transform:rotate(180deg)}.lc-off-strip{--status-color:#28744d;--status-tint:#e5f3eb;--status-border:#d5e8dd;--status-hover:#eff8f2;border-color:var(--status-border);background:#f7fbf9;transition:background-color .15s,border-color .15s,box-shadow .15s}.lc-off-strip[data-state=off]{--status-color:#7855a5;--status-tint:#eee7f8;--status-border:#dfd4ee;--status-hover:#f5f0fb;background:#faf8fd}.lc-off-strip[data-state=trial]{--status-color:#356a9e;--status-tint:#e5effb;--status-border:#d1e1f0;--status-hover:#edf4fc;background:#f7faff}.lc-off-status{background:var(--status-tint);color:var(--status-color);white-space:nowrap;border-radius:7px;align-items:center;gap:8px;padding:8px 11px;font-weight:600;display:inline-flex}.lc-off-status:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:7px;height:7px}.lc-off-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}.lc-off-action{border:1px solid var(--action-border);background:var(--action-bg);min-height:42px;color:var(--action-color);text-align:center;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:13px;font-weight:550;line-height:1.5;display:inline-flex}.lc-off-action svg{flex-shrink:0}.lc-off-register{--action-color:#a65b21;--action-bg:#fff2e6;--action-border:#ecc49d;--action-hover:#ffe2c5;--action-strong:#a8551b}.lc-platform-action{--action-color:#2f659e;--action-bg:#eaf2fc;--action-border:#bcd2ec;--action-hover:#d6e7fa;--action-strong:#2d6099}.lc-off-strip:focus-within{background:var(--status-hover);border-color:var(--status-color)}.lc-off-strip .lc-off-action:focus-visible{outline:3px solid var(--action-border);outline-offset:3px;background:var(--action-hover)}@media (hover:hover){.lc-off-strip:hover{background:var(--status-hover);border-color:var(--status-color)}.lc-off-strip .lc-off-action:hover{background:var(--action-hover);border-color:var(--action-color);color:var(--action-color);box-shadow:0 3px 9px #20385012}}.lc-off-strip .lc-off-action:active,.lc-off-strip .lc-off-action[aria-expanded=true]{background:var(--action-strong);border-color:var(--action-strong);color:#fff;box-shadow:inset 0 0 0 1px #fff2}@media (max-width:760px){.lc-off-actions{gap:8px;width:100%;margin-left:0}.lc-off-action{flex:1;min-width:0;min-height:44px;padding:10px 9px;font-size:12px}}.lc-form .lc-stay-fields{background:#f7fafe;border:1px solid #d7e4f1;border-radius:10px;grid-column:1/-1;min-width:0;margin:0;padding:14px}.lc-stay-fields legend{color:#345d85;padding:0 6px;font-size:14px;font-weight:600}.lc-form .lc-stay-fields .lc-hint{margin-bottom:12px;font-size:12px}.lc-stay-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.lc-form .lc-stay-grid label{font-size:13px}@media (max-width:760px){.lc-stay-grid{grid-template-columns:1fr}.lc-form .lc-stay-fields{padding:12px}}.lc-heat-entry{background:#fffbf5;border:1px solid #edd5b7;border-radius:10px;grid-column:1/-1;padding:14px}.lc-form .lc-heat-entry label{color:#9a6026;font-weight:600}.lc-form .lc-heat-entry input{border-color:#e7d1b6;margin-top:2px}.lc-form .lc-heat-entry .lc-hint{margin-top:10px;font-size:12px}.lc-slot-picker{flex-wrap:wrap;align-items:center;gap:12px;max-width:100%;display:flex}.lc-slot-picker label{color:#637d9a;align-items:center;gap:7px;min-width:0;font-size:12px;display:flex}.lc-slot-picker select,.lc-slot-picker input{color:#285b8b;min-height:40px;font:inherit;background:#f3f7fc;border:1px solid #c8d9ed;border-radius:8px;min-width:0;max-width:100%;padding:7px 9px}.lc-slot-picker select{cursor:pointer;width:170px}.lc-slot-picker input{width:118px}.lc-slot-picker select:hover,.lc-slot-picker input:hover{background:#e9f1fb;border-color:#7e9ec2}.lc-slot-picker select:focus-visible{outline-offset:2px;outline:3px solid #9aaabb}.lc-slot-picker :disabled{opacity:.6;cursor:wait}.lc-slot-summary{color:#617c9a;background:#f1f6fc;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin:-4px 0 18px;padding:11px 13px;font-size:12px;line-height:1.7;display:flex}.lc-slot-summary strong{color:#2d608f;white-space:nowrap;font-size:13px}@media (max-width:760px){.lc-slot-picker{order:4;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px;width:100%;display:grid}.lc-slot-picker label{display:block}.lc-slot-picker select,.lc-slot-picker input{width:100%;min-height:44px;margin-top:5px;font-size:14px;display:block}.lc-slot-summary{gap:5px 10px;font-size:11px}.lc-slot-summary span{flex-basis:100%}}@media (min-width:761px){.lc-filters .lc-date-range{flex-wrap:nowrap}.lc-slot-picker{flex-basis:100%;order:2}}.lc-chart[data-metric=heat]{grid-column:1/-1}.lc-root button,.lc-form button,.lc-teacher-row,.lc-chart,.lc-platform-checks label{transition:background-color .15s,border-color .15s,box-shadow .15s,color .15s}.lc-chart-canvas svg{cursor:crosshair}.lc-root button:active,.lc-form button:active{box-shadow:inset 0 0 0 2px #9caec233}.lc-platform-checks label:has(input:checked){color:#284e71;background:#edf4fa;border-color:#7897b3}.lc-root .lc-segments button[aria-pressed=true]{color:#284e71;background:#e8eff6;font-weight:650}.lc-root .lc-chart-head .lc-segments button[aria-pressed=true]{color:var(--curve-color);box-shadow:0 0 0 1px color-mix(in srgb,var(--curve-color) 30%,white);background:#fff}@media (hover:hover){.lc-stages>button:hover{background:#eff4f8;border-color:#8fa5ba;box-shadow:0 3px 10px #21384c0a}.lc-stages>button[aria-pressed=true]:hover{box-shadow:inset 0 2px #456989}.lc-teacher-row:hover{background:#eaf1f8;box-shadow:inset 3px 0 #7894ae}.lc-teacher-row:hover b,.lc-teacher-row:hover>svg{color:#284e71}.lc-root .lc-segments button:hover{color:#244b72;background:#e4edf5}.lc-root .lc-btn:not(.lc-primary):hover,.lc-form .lc-btn:not(.lc-primary):hover{color:#284e71;background:#edf3f8;border-color:#879eb4}.lc-root .lc-primary:hover,.lc-form .lc-primary:hover{box-shadow:0 3px 9px #20385022}.lc-root .lc-text:hover{color:#284e71;text-decoration:underline}.lc-chart:hover,.lc-chart:focus-within{border-color:color-mix(in srgb,var(--curve-color) 45%,white);box-shadow:0 4px 16px #20385009}.lc-platform-checks label:hover{background:#f1f5f9;border-color:#8fa5ba}.app-shell:has(.lc-root) .nav-item:hover{color:#284e71;background:#edf2f6}}@media (prefers-reduced-motion:reduce){.lc-root *,.lc-form *{transition:none!important}}.lc-yellow{background:#fbfcfd;border:1px solid #e1e7ee;border-radius:11px;margin-top:22px;padding:20px}.lc-yellow-heading{justify-content:space-between;align-items:start;gap:12px;margin-bottom:17px;display:flex}.lc-yellow h3{color:#2c4056;font-size:16px;font-weight:600}.lc-yellow-heading p{color:#79899c;margin-top:6px;font-size:12px;line-height:1.7}.lc-yellow-status{white-space:nowrap;color:#667b92;background:#edf1f5;border-radius:6px;padding:5px 9px;font-size:12px}.lc-yellow-status.complete{color:#277d57;background:#e6f3eb;font-weight:650}.lc-yellow-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.lc-yellow-grid label{cursor:pointer;background:#fff;border:1px solid #dfe6ed;border-radius:9px;align-items:center;gap:9px;min-width:0;padding:15px 12px;display:flex}.lc-yellow-grid label.checked{color:#2e7653;background:#f0f7f3;border-color:#9bbda8}.lc-yellow-grid input{accent-color:#398562;flex-shrink:0;width:18px;height:18px}.lc-yellow-grid b{white-space:nowrap;font-size:14px;font-weight:550}.lc-yellow-grid small{color:#8795a4;margin-top:3px;font-size:11px;display:block}.lc-yellow-grid label.checked small{color:#609277}.lc-yellow-grid label>svg{margin-left:auto}.lc-yellow .lc-hint,.lc-yellow .lc-error{margin-top:12px;margin-bottom:0}.lc-teacher-row small.lc-yellow-roster-done{color:#32805a}.lc-root button:disabled{cursor:not-allowed}@media (hover:hover){.lc-yellow-grid label:hover{background:#eff4f8;border-color:#8fa8be}.lc-yellow-grid label.checked:hover{background:#e8f3ed;border-color:#73a38a}}.lc-yellow-actions{border-top:1px solid #e1e7ee;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:18px;padding-top:15px;display:flex}.lc-yellow-actions p{color:#75889a;margin:0 auto 0 0;font-size:12px;line-height:1.6}.lc-yellow-actions p.pending{color:#a46b27}.lc-yellow .lc-yellow-confirm{color:#fff;background:#398562;border-color:#398562}.lc-yellow .lc-yellow-confirm:hover:not(:disabled){background:#2c704f;border-color:#2c704f}.lc-yellow .lc-yellow-confirm:active:not(:disabled){background:#205a3e}@media (max-width:760px){.lc-yellow-actions>p{flex-basis:100%}.lc-yellow-actions>.lc-btn{flex:1;min-height:44px}}@media (max-width:1250px){.lc-yellow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:760px){.lc-yellow{padding:16px 12px}.lc-yellow-heading,.lc-yellow-grid{gap:8px}.lc-yellow-grid label{padding:13px 10px}.lc-yellow-grid b{font-size:13px}.lc-yellow-grid label>svg{width:14px}.lc-yellow-heading p{font-size:11px}}.lc-stages{grid-template-columns:repeat(6,minmax(0,1fr))}.lc-stages>button{padding-left:14px;padding-right:14px}.lc-source-note{color:#66788b;white-space:pre-wrap;overflow-wrap:anywhere;background:#f5f7f9;border-radius:7px;margin:14px 0;padding:10px 12px;font-size:12px;line-height:1.9}.lc-source-note b{color:#3e566c;font-weight:550}.lc-status-facts{color:#8290a0;flex-wrap:wrap;align-items:center;gap:15px;margin:20px 0 12px;font-size:12px;display:flex}.lc-status-facts b{color:#48677b;margin-left:7px;font-weight:550}.lc-form textarea{resize:vertical;width:100%;min-height:85px;font:inherit;color:#243e61;border:1px solid #d8e1ed;border-radius:8px;padding:10px}.lc-form label.lc-training-check{flex-direction:row;align-items:center;gap:10px}.lc-form .lc-training-check input{accent-color:#398562;width:19px;height:19px;min-height:19px}.lc-platform-checks{flex-wrap:wrap}.lc-platform-checks label{min-width:105px}.lc-yellow-status{white-space:normal;flex-shrink:0;max-width:165px;line-height:1.6}.lc-badge-ready{color:#597b93;background:#edf3f7}@media (max-width:760px){.lc-yellow-heading{flex-wrap:wrap}.lc-status-facts{gap:9px}.lc-platform-checks label{min-width:95px}.lc-source-note{font-size:12px}}@media (min-width:1600px){.lc-layout{grid-template-columns:300px minmax(0,1fr)}}@media (max-width:1150px){.lc-layout{grid-template-columns:225px minmax(0,1fr)}.lc-charts{grid-template-columns:1fr}.lc-teacher-layout .lc-charts{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-detail{padding:18px}.lc-stages>button{padding:14px}.lc-progress li{gap:4px;font-size:11px}}@media (max-width:760px){.lc-heading{align-items:flex-start;gap:12px}.lc-root h1{font-size:26px}.lc-heading p{font-size:12px}.lc-toolbar{justify-content:flex-end;gap:6px}.lc-toolbar .lc-btn{min-height:40px;padding:8px 10px;font-size:12px}.lc-stages{scroll-snap-type:x proximity;gap:9px;margin-bottom:14px;padding:2px 1px 8px;display:flex;overflow:auto}.lc-stages>button{scroll-snap-align:start;flex:0 0 108px;padding:13px}.lc-stages span{font-size:13px}.lc-stages strong{font-size:25px}.lc-layout{flex-direction:column;gap:14px;display:flex}.lc-roster,.lc-detail{width:100%}.lc-roster-list{max-height:235px}.lc-teacher-row{min-height:76px}.lc-detail{padding:17px 12px}.lc-profile{gap:8px}.lc-profile h2{font-size:19px}.lc-profile .lc-btn{flex-shrink:0;padding:8px;font-size:12px}.lc-profile-main{gap:8px}.lc-progress{gap:3px;margin:20px 0}.lc-progress li{gap:4px;font-size:10px}.lc-progress li:after{min-width:0}.lc-progress li>span{width:17px;height:17px}.lc-charts,.lc-teacher-layout .lc-charts{grid-template-columns:1fr}.lc-filters{gap:12px;margin-top:20px}.lc-date-range{flex-wrap:nowrap;flex-basis:100%;order:3;gap:8px}.lc-date-range label{flex:1;min-width:0;font-size:11px;display:block}.lc-date-range input{width:100%;max-width:none;min-height:42px;margin-top:5px;font-size:14px;display:block}.lc-filters>.lc-btn{margin-left:auto}.lc-chart{padding:16px 10px 11px}.lc-chart-head .lc-segments button{min-width:32px;min-height:36px}.lc-chart-head strong{font-size:28px}.lc-chart-note{font-size:10px}.lc-off-strip{gap:9px;font-size:12px}.lc-off-strip .lc-text{margin-left:0}.lc-stage-action{padding:18px}.lc-stage-action>.lc-btn{width:100%}.lc-login{margin:25px auto;padding:24px 20px}.lc-root input{font-size:16px}.lc-heading{flex-wrap:wrap}.lc-toolbar{justify-content:flex-start}.lc-aggregation{font-size:11px}.lc-form-grid{gap:12px}.lc-form-actions>.lc-btn{flex:1;min-height:44px}.lc-platform-checks label{padding:12px}.lc-tooltip{padding:6px 9px;font-size:11px}.lc-root .lc-chart-canvas text{font-size:13px}}.lc-off-overview{background:#fff;border:1px solid #dfe6ed;border-radius:12px;min-width:0;padding:22px}.lc-off-overview-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.lc-off-overview-heading h2{color:#253c50;margin:0;font-size:20px}.lc-off-overview-heading .lc-search{width:260px;margin:0}.lc-off-overview table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;font-size:14px}.lc-off-overview th,.lc-off-overview td{text-align:left;border-bottom:1px solid #e6edf2;padding:18px 14px;transition:background .15s,color .15s}.lc-off-overview thead th{color:#6a7f93;background:#f4f7fa;font-size:12px;font-weight:500}.lc-off-overview th:first-child{width:20%}.lc-off-overview th:last-child{width:23%}.lc-off-overview tbody th{color:#29465b;font-weight:600}.lc-off-overview tbody td{color:#57718a}.lc-off-overview td strong{color:#32805a;font-size:22px;font-weight:650}.lc-off-overview tbody tr{cursor:pointer;outline:none}.lc-off-overview tbody tr:hover>*{color:#2f638a;background:#f0f6fb}:is(.lc-off-overview tbody tr.selected>*,.lc-off-overview tbody tr:focus-visible>*){color:#245b83;background:#e5f0f8}.lc-off-overview tbody tr:active>*{background:#d5e7f4}.lc-off-overview tbody tr:last-child>*{border-bottom:0}@media (max-width:760px){.lc-off-overview{padding:16px 12px}.lc-off-overview-heading{flex-direction:column;align-items:stretch;gap:12px}.lc-off-overview-heading .lc-search{width:100%}.lc-off-overview th,.lc-off-overview td{padding:16px 6px;font-size:12px}.lc-off-overview td strong{font-size:21px}.lc-off-overview th:first-child{width:18%}.lc-off-overview th:last-child{width:25%}}.lc-milestones{margin:22px 0 24px}.lc-milestones-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.lc-milestones-heading>span{color:#41586c;font-size:13px;font-weight:600}.lc-milestones-heading>small{color:#7d8fa0;font-size:11px}.lc-milestones-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.lc-milestone{--milestone-color:#326fb5;background:linear-gradient(120deg,#f0f6fe,#f9fbff);border:1px solid #d9e7f6;border-top:3px solid #669bd7;border-radius:10px;min-width:0;padding:19px 20px 16px}.lc-milestone-live{--milestone-color:#248462;background:linear-gradient(120deg,#eef8f3,#f9fcfa);border-color:#65b18b #d6eade #d6eade}.lc-milestone>span{color:var(--milestone-color);font-size:13px;font-weight:550}.lc-milestone>div{color:var(--milestone-color);align-items:baseline;gap:8px;margin:7px 0 9px;display:flex}.lc-milestone strong{font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:40px;font-weight:700;line-height:1.15}.lc-milestone b{font-size:13px;font-weight:500}.lc-milestone>small{color:#687f92;overflow-wrap:anywhere;font-size:11px;line-height:1.7;display:block}@media (max-width:760px){.lc-milestones{margin:18px 0}.lc-milestones-grid{gap:9px}.lc-milestone{padding:15px 11px 13px}.lc-milestone strong{font-size:34px}.lc-milestone>small,.lc-milestones-heading>small{font-size:10px}}@media (max-width:350px){.lc-milestones-grid{grid-template-columns:1fr}}
