:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--accent-heading);background:color-mix(in srgb,var(--accent) 5%,var(--surface));font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;font-size:10.5pt}*{box-sizing:border-box}body{margin:0;min-width:320px}.shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:250px;background:#fff;border-right:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));display:flex;flex-direction:column;padding:27px 16px 18px;z-index:2}.brand{display:flex;align-items:center;gap:11px;padding:0 9px 34px}.brand-mark{height:40px;width:40px;border-radius:12px;background:var(--accent-heading);color:#fff;display:grid;place-items:center}.brand strong{font-size:12pt;letter-spacing:-.5px;display:block}.brand strong span{color:var(--accent-text)}.brand small{font-size:6.75pt;letter-spacing:1.15px;color:#8b97a8;display:block;margin-top:5px}.nav-caption,.eyebrow{font-size:7.5pt;letter-spacing:1.25px;font-weight:750;color:#929eae}.nav-caption{padding:0 11px 11px}.sidebar nav{display:grid;gap:5px}.nav-item{border:0;background:transparent;color:#647287;display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:8px;text-align:left;font:inherit;cursor:pointer}.nav-item:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.nav-item.selected{background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent-text);font-weight:650}.nav-count{margin-left:auto;background:#fff;padding:2px 7px;border-radius:5px;font-size:8.25pt}.sidebar-bottom{margin-top:auto}.local-status{border:1px solid #e6ebf0;border-radius:9px;padding:12px;display:flex;align-items:flex-start;gap:9px}.local-status strong,.local-status small{display:block}.local-status strong{font-size:9pt}.local-status small{font-size:7.5pt;color:#8994a3;margin-top:5px;line-height:1.4}.status-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:#35a775;display:inline-block}.local-status .status-dot{margin-top:4px}.version{display:block;color:#a0aab7;font-size:6.75pt;letter-spacing:.7px;display:flex;justify-content:center}.main{margin-left:250px;min-height:100vh}.topbar{height:65px;background:#fff;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));display:flex;align-items:center;justify-content:space-between;padding:0 36px}.breadcrumbs{font-size:9pt;color:#8490a0}.breadcrumbs span{padding:0 9px;color:#c2cbd5}.breadcrumbs strong{color:#354358;font-weight:650}.top-actions{display:flex;align-items:center;gap:14px}.offline-pill{border:1px solid #e2e9e7;border-radius:20px;padding:6px 10px;font-size:8.25pt;color:#477460;display:flex;align-items:center;gap:7px}.offline-pill .status-dot{width:6px;height:6px;flex-basis:6px}.icon-btn{border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));background:#fff;border-radius:8px;height:34px;width:36px;display:grid;place-items:center;color:#69788c;cursor:pointer}.content{max-width:1250px;padding:34px 36px 20px;margin:0 auto}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px;gap:20px}.eyebrow{margin-bottom:9px;color:#6f8aa6}.page-heading h1{font-size:21.75pt;letter-spacing:-1px;margin:0;font-weight:700;color:var(--accent-heading)}.page-heading p,.section-title p{color:#8290a1;margin:8px 0 0;font-size:9pt}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;background:var(--accent-text);color:#fff;font:inherit;font-weight:600;padding:10px 14px;cursor:pointer;white-space:nowrap}.primary-btn:hover{background:var(--accent-heading)}.welcome-panel{border-radius:12px;background:var(--accent-heading);color:#fff;min-height:185px;padding:26px 29px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;position:relative}.welcome-panel:after{content:"";position:absolute;width:260px;height:260px;border:1px solid #ffffff16;border-radius:50%;right:7%;top:-43%;box-shadow:0 0 0 30px #ffffff08,0 0 0 60px #ffffff05}.welcome-label{display:flex;align-items:center;gap:7px;font-size:6.75pt;font-weight:700;letter-spacing:1.2px;color:color-mix(in srgb,var(--accent) 24%,var(--surface))}.welcome-label svg{color:#78d5b2}.welcome-panel h2{font-size:16.5pt;letter-spacing:-.5px;margin:13px 0 7px}.welcome-panel p{max-width:430px;color:color-mix(in srgb,var(--accent) 21%,var(--surface));font-size:9pt;line-height:1.6;margin:0}.welcome-foot{margin-top:17px;font-size:7.5pt;color:color-mix(in srgb,var(--accent) 26%,var(--surface));display:flex;align-items:center;gap:7px}.welcome-foot .status-dot{background:#7be0b4}.welcome-art{width:145px;height:135px;display:grid;place-items:center;position:relative;color:color-mix(in srgb,var(--accent) 29%,var(--surface));margin-right:30px;z-index:1}.art-check{position:absolute;right:3px;top:15px;background:#d9f6e8;color:#2c936d;width:35px;height:35px;border-radius:11px;display:grid;place-items:center;box-shadow:0 5px 15px color-mix(in srgb,var(--accent) 33%,transparent)}.section-title{display:flex;align-items:center;justify-content:space-between;margin:29px 0 14px}.section-title h2,.table-toolbar h2{font-size:11.25pt;margin:0;font-weight:680;letter-spacing:-.2px}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{background:#fff;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px;padding:17px 17px 15px;min-height:120px}.metric-top{display:flex;align-items:center;justify-content:space-between;color:#78879a;font-size:8.25pt}.metric-top svg{color:var(--accent-text)}.metric-card>strong{font-size:21pt;display:block;letter-spacing:-1px;margin:12px 0 4px}.metric-card>small{color:#9aa4b1;font-size:7.5pt}.feature-list,.table-card{background:#fff;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px;overflow:hidden}.feature-list>div{display:flex;align-items:center;gap:13px;padding:14px 17px;border-bottom:1px solid #edf0f4}.feature-list>div:last-child{border-bottom:0}.feature-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent-text);flex-shrink:0}.feature-list>div>div{display:grid;gap:4px;min-width:0}.feature-list strong{font-size:9pt}.feature-list small{font-size:7.5pt;color:#8995a4}.feature-state,.planned-state{font-size:7.5pt;padding:5px 8px;border-radius:5px;margin-left:auto;white-space:nowrap}.feature-state{color:#32835f;background:#e9f7f0}.planned-state{color:#7f8b9b;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.text-btn{background:none;border:0;color:var(--accent-text);font:inherit;font-size:8.25pt;cursor:pointer;padding:6px 0 6px 8px;white-space:nowrap}.content footer{font-size:7.5pt;color:#a1abb8;padding:25px 0 5px;text-align:center}.content footer span{padding:0 7px;color:#ccd2da}.error-banner{display:flex;align-items:center;gap:9px;padding:12px 14px;margin:-8px 0 18px;border:1px solid #f2c9c5;background:#fff1f0;color:#9b3d36;border-radius:8px;font-size:9pt}.error-banner span{flex:1}.error-banner button{border:0;background:none;color:inherit;cursor:pointer}.table-card{margin-top:8px}.table-toolbar{display:flex;align-items:center;justify-content:space-between;padding:19px 20px;border-bottom:1px solid #edf0f4;gap:15px}.table-toolbar p{margin:5px 0 0;color:#8a96a5;font-size:8.25pt}.search-box{display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:7px;padding:8px 10px;color:#8a97a8;min-width:240px}.search-box input{border:0;outline:0;min-width:0;width:100%;font:inherit;font-size:8.25pt;color:#334155}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th{background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:#909baa;font-size:6.75pt;letter-spacing:.8px;font-weight:700;padding:12px 20px}td{padding:14px 20px;border-top:1px solid #eff2f5;font-size:9pt}td strong{font-weight:600}.code-chip{display:inline-block;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:#4f647c;border-radius:5px;padding:4px 7px;font-size:7.5pt;font-weight:700}.active-state{display:flex;align-items:center;gap:7px;color:#4c8069;font-size:8.25pt}.active-state .status-dot{width:6px;height:6px;flex-basis:6px}.empty-state{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px;padding:46px 15px;color:#a1adbb}.empty-state strong{color:#4b5a6d;font-size:9.75pt}.empty-state span{font-size:8.25pt}.teacher-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap;padding:17px 20px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.teacher-form label{display:grid;gap:6px;font-size:7.5pt;font-weight:650;color:#617084}.teacher-form input{width:145px;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:6px;padding:9px 10px;font:inherit;font-size:9pt;outline-color:var(--accent-text)}.secondary-btn{background:#fff;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:7px;padding:9px 12px;color:#68778b;font:inherit;font-size:9pt;cursor:pointer}.placeholder-panel{border:1px dashed color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:12px;background:#fff;padding:55px 25px;text-align:center;max-width:650px;margin:25px auto}.placeholder-icon{width:48px;height:48px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent-text);border-radius:12px;margin:0 auto 16px}.placeholder-panel h2{font-size:13.5pt;margin:0 0 10px}.placeholder-panel p{max-width:430px;margin:auto;color:#8592a2;line-height:1.7;font-size:9pt}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 1000px){.sidebar{width:210px}.main{margin-left:210px}.content{padding:28px 22px}.topbar{padding:0 22px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.welcome-art{margin-right:0}}@media (max-width: 680px){.sidebar{position:static;width:auto;height:auto;padding:12px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface))}.brand{padding:0 5px 12px}.brand small,.nav-caption,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto}.nav-item{white-space:nowrap;padding:9px}.nav-count{display:none}.main{margin-left:0}.topbar{height:52px;padding:0 15px}.content{padding:23px 14px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:18.75pt}.welcome-panel{padding:22px;min-height:175px}.welcome-art{display:none}.metrics{gap:9px}.metric-card{padding:13px;min-height:105px}.metric-card>strong{font-size:18.75pt}.feature-list>div{gap:9px;padding:12px}.feature-list small{line-height:1.4}.table-toolbar{align-items:flex-start;flex-direction:column}.search-box{width:100%;min-width:0}.teacher-form label{flex:1}.teacher-form input{width:100%}}.success-banner{display:flex;align-items:center;gap:9px;padding:12px 14px;margin:-8px 0 18px;border:1px solid #b8e5d0;background:#effaf4;color:#286c4c;border-radius:8px;font-size:9pt}.success-banner span{flex:1}.success-banner button{border:0;background:none;color:inherit;cursor:pointer}.entity-form{padding:18px 20px;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.form-heading strong{font-size:9.75pt}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.form-grid label{display:grid;gap:6px;font-size:8.25pt;font-weight:650;color:#617084}.form-grid input:not([type=checkbox]),.form-grid select{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:6px;padding:9px 10px;background:#fff;font:inherit;font-size:9pt;color:#334155;outline-color:var(--accent-text)}.form-grid .checkbox-field{display:flex;align-items:center;gap:8px;padding-top:24px}.form-grid input[type=checkbox]{width:16px;height:16px}.form-actions{display:flex;gap:9px;margin-top:16px}.form-note{display:flex;align-items:center;gap:6px;color:#64748b;font-size:8.25pt;margin:13px 0 0}.row-actions{display:flex;gap:4px}.danger-btn:hover{color:#b42318;background:#fff1f0}.icon-btn{display:inline-grid;place-items:center}.table-wrap td:last-child{white-space:nowrap}@media (max-width: 900px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 580px){.form-grid{grid-template-columns:1fr}.form-grid .checkbox-field{padding-top:5px}}.schedule-preview{margin-top:26px}.schedule-grid{display:grid;grid-template-columns:92px repeat(5,minmax(125px,1fr));grid-auto-rows:minmax(72px,auto);border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:9px;overflow:auto;background:#fff}.schedule-corner,.schedule-day{padding:13px 10px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-right:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));font-size:7.5pt;font-weight:750;color:#66768a}.schedule-day{text-align:center}.schedule-slot{padding:12px 9px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-right:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface));color:#8190a1;font-size:7.5pt}.schedule-cell{padding:5px;border-right:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface));min-width:0}.schedule-lesson{width:100%;display:grid;gap:4px;text-align:left;padding:7px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--surface));border-left:3px solid var(--accent-text);border-radius:5px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent-heading);cursor:pointer;font:inherit;overflow-wrap:anywhere}.schedule-lesson strong{font-size:7.5pt}.schedule-lesson span,.schedule-lesson small{font-size:6.75pt;color:#647d96}.schedule-lesson:hover{background:color-mix(in srgb,var(--accent) 12%,var(--surface))}@media (max-width: 760px){.schedule-grid{grid-template-columns:75px repeat(5,minmax(115px,1fr))}}.module-card{background:#fff;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:12px;overflow:hidden;margin-top:8px}.module-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.module-toolbar h2{font-size:15pt;margin:0;color:var(--accent-heading)}.module-toolbar p{font-size:10pt;color:#718096;margin:6px 0 0;line-height:1.5}.module-actions{display:flex;gap:8px;align-items:center}.module-actions select,.board-filter select{border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:7px;background:#fff;padding:9px 11px;font:inherit;color:var(--accent-heading);max-width:100%}.module-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:18px 20px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));align-items:end}.module-form>label{display:grid;gap:6px;font-size:10pt;font-weight:600;color:#58687d;min-width:0}.module-form input:not([type=checkbox]),.module-form select{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:6px;padding:10px;background:#fff;color:var(--accent-heading);font:inherit;font-size:11pt}.module-form>.primary-btn{justify-self:start;min-height:38px}.wide-field{grid-column:span 2}.day-checks{display:flex;gap:9px;flex-wrap:wrap}.day-checks label{display:flex;align-items:center;gap:4px;font-weight:500}.day-checks input,.checkbox-label input{width:16px;height:16px}.checkbox-label{display:flex!important;align-items:center;gap:8px;min-height:40px}.board-filter{padding:14px 20px;display:flex;align-items:end;gap:16px;flex-wrap:wrap}.board-filter>label{display:grid;gap:6px;font-size:10pt;color:#58687d;font-weight:600}.hint{font-size:9.5pt;color:#7a8798;margin:0;padding:12px 20px;line-height:1.5}.hint-box{margin:18px 20px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-radius:8px;color:#52657b;font-size:10pt;line-height:1.6}.summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 20px}.summary-cards>div{border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:8px;padding:13px 15px;display:flex;flex-direction:column;gap:6px}.summary-cards span{font-size:10pt;color:#738196}.summary-cards strong{font-size:20pt;color:var(--accent-heading)}.digital-board{grid-template-columns:94px repeat(5,minmax(140px,1fr));border:0;border-top:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:0;grid-auto-rows:minmax(82px,auto)}.digital-board .schedule-lesson{padding:8px;gap:5px;min-width:0}.digital-board .lesson-title{font-size:10pt;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:normal;display:block}.digital-board .lesson-meta{font-size:8.5pt;line-height:1.3;white-space:normal;overflow-wrap:anywhere;color:#566f89}.digital-board .schedule-slot small{font-size:8.5pt;line-height:1.4}.schedule-grid .schedule-lesson strong{font-size:10pt;line-height:1.25;overflow-wrap:anywhere}.schedule-grid .schedule-lesson span,.schedule-grid .schedule-lesson small{font-size:8.5pt;line-height:1.35;overflow-wrap:anywhere;white-space:normal}.schedule-grid .schedule-cell{min-width:0}.schedule-grid .schedule-day,.schedule-grid .schedule-corner{font-size:9.5pt}.schedule-grid .schedule-slot{font-size:9pt;line-height:1.45}@media (max-width: 850px){.module-form{grid-template-columns:repeat(2,minmax(0,1fr))}.module-toolbar{align-items:flex-start;flex-direction:column}.module-actions{flex-wrap:wrap}.wide-field{grid-column:span 2}}@media (max-width: 580px){.module-form{grid-template-columns:1fr;padding:14px}.wide-field{grid-column:span 1}.summary-cards{grid-template-columns:1fr}.module-toolbar{padding:15px}.board-filter{padding:12px 15px}.digital-board{grid-template-columns:75px repeat(5,minmax(125px,1fr))}}@media print{.sidebar,.topbar,.page-heading,.module-form,.module-toolbar .secondary-btn,.error-banner,.success-banner,.content footer{display:none!important}.main{margin:0!important}.content{padding:0!important;max-width:none!important}.module-card{border:0}.table-wrap{overflow:visible}.module-card table{font-size:9pt}.module-card th,.module-card td{padding:5pt 7pt;border:1px solid #bbb;color:#111}.hint{color:#333}}.schedule-lesson{border-left-width:5px}.schedule-lesson[draggable=true]{cursor:grab}.schedule-lesson[draggable=true]:active{cursor:grabbing}.schedule-conflict{border-color:#dc2626!important;border-left-color:#dc2626!important;background:#fee2e2!important;color:#7f1d1d!important;box-shadow:0 0 0 1px #dc2626 inset}.schedule-cell:has(.schedule-lesson){min-height:84px}.module-card.inner-module{margin-top:16px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));box-shadow:none}.module-card.inner-module h3{margin:0 0 6px;font-size:13pt}select[multiple]{min-height:92px;padding:6px}input[type=color]{min-height:36px;padding:3px;width:100%}.schedule-lesson-continuation{opacity:.78;border-top-style:dashed}.tab-strip{display:flex;gap:6px;margin:0 0 14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));padding:0 4px}.tab-strip button{border:0;border-bottom:3px solid transparent;background:transparent;padding:11px 15px;color:#64748b;font:inherit;font-size:10.5pt;cursor:pointer}.tab-strip button.active{border-bottom-color:var(--accent-text);color:var(--accent-text);font-weight:700}.teacher-color-chip{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:6px 9px;border-radius:6px;color:#fff;font-size:9.5pt;font-weight:750;letter-spacing:.3px;box-shadow:inset 0 0 0 1px #00000012}.editing-row>td{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.inline-editor-row>td{padding:0;border-top:0;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.inline-entity-form{margin:0;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:0 0 8px 8px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.abatement-editor{display:grid;gap:8px;min-width:0}.abatement-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 36px;gap:6px;align-items:center}.abatement-editor small{font-size:9pt;color:#4b647d}.form-grid textarea{width:100%;resize:vertical;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:6px;padding:9px 10px;background:#fff;font:inherit;font-size:10pt;color:#334155}.course-card{margin-top:10px}.course-card .entity-form{border-top:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface))}.course-card .inline-editor-row .entity-form{margin:0}.inline-form-hint{font-size:9.5pt;color:#60748a}@media (max-width: 580px){.abatement-row{grid-template-columns:minmax(0,1fr) 72px 34px}.tab-strip button{padding:10px 9px}}.entity-form{padding:22px 24px;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),color-mix(in srgb,var(--accent) 4%,var(--surface)))}.form-heading{padding-bottom:13px;border-bottom:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));margin-bottom:18px}.form-heading strong{font-size:10.5pt;color:var(--accent-heading);letter-spacing:-.15px}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px 18px;align-items:start}.form-grid>label{min-width:0;gap:8px;color:#42566d;font-size:8.5pt;font-weight:680}.form-grid input:not([type=checkbox]):not([type=color]),.form-grid select,.form-grid textarea{box-sizing:border-box;min-height:39px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--surface));border-radius:8px;padding:10px 11px;background:#fff;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 3%,transparent);transition:border-color .15s,box-shadow .15s}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,var(--surface));outline:none}.form-grid input[readonly]{background:color-mix(in srgb,var(--accent) 7%,var(--surface))!important;color:var(--accent-heading);font-weight:750;border-color:color-mix(in srgb,var(--accent) 17%,var(--surface))!important}.input-with-color{display:flex;align-items:center;gap:10px;min-width:0}.form-grid input[type=color]{width:58px;height:43px;padding:4px;border:1px solid color-mix(in srgb,var(--accent) 23%,var(--surface));border-radius:10px;background:#fff;cursor:pointer;box-shadow:0 2px 6px color-mix(in srgb,var(--accent) 7%,transparent)}.color-value{display:inline-flex;align-items:center;min-height:32px;padding:0 10px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:7px;background:#fff;color:#52677e;font:700 8pt ui-monospace,monospace;letter-spacing:.3px}.form-grid .checkbox-field{align-self:stretch;min-height:42px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:9px;background:#fff;gap:10px;color:var(--accent-heading)}.form-grid .checkbox-field input{accent-color:var(--accent-text);width:17px;height:17px}.form-actions{padding-top:15px;border-top:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));gap:10px}.form-actions .primary-btn,.form-actions .secondary-btn{min-height:39px;border-radius:8px;padding:9px 15px}.multi-select-wrap{min-width:0;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:9px;background:#fff;overflow:hidden}.multi-select-summary{padding:8px 10px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));color:#526c86;font-size:7.75pt;font-weight:750}.multi-select-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px;max-height:190px;overflow:auto}.multi-option{display:flex!important;align-items:center;gap:7px!important;min-width:0;padding:8px 9px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:7px;background:#fff;color:#4c6075!important;font-size:8pt!important;font-weight:550!important;cursor:pointer;transition:background .15s,border-color .15s}.multi-option input{width:15px;height:15px;flex-shrink:0;accent-color:var(--accent-text)}.multi-option.selected{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,var(--surface));color:var(--accent-heading)!important}.multi-option:hover{border-color:var(--accent-text)}.availability-editor{display:grid;gap:8px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:10px;background:#fff}.availability-editor>small{color:#72859a;font-size:7.5pt;line-height:1.45;padding-top:4px}.availability-day{border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.availability-day-name{display:flex!important;align-items:center;gap:9px!important;padding:9px 11px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent-heading)!important;cursor:pointer}.availability-day-name input,.availability-all-day input{width:15px;height:15px;accent-color:var(--accent-text)}.availability-options{padding:10px 11px;display:grid;gap:10px}.availability-all-day{display:flex!important;align-items:center;gap:8px!important;font-size:8pt!important;font-weight:600!important;color:#50677d!important}.slot-chips{display:flex;flex-wrap:wrap;gap:6px}.slot-chip{display:inline-flex!important;align-items:center;gap:5px!important;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:7px;background:#fff;color:#586c80!important;font-size:7.5pt!important;font-weight:600!important;cursor:pointer}.slot-chip input{width:13px;height:13px;accent-color:var(--accent-text)}.slot-chip.selected{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-heading)!important}.abatement-editor{padding:10px;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:9px;background:#fff;gap:9px}.abatement-row input[type=number]{min-width:0;width:100%;box-sizing:border-box}.teacher-color-chip{min-width:50px;border-radius:7px;padding:6px 10px;box-shadow:inset 0 0 0 1px #0000001a,0 1px 2px color-mix(in srgb,var(--accent) 8%,transparent);text-shadow:0 1px 2px #00000030}.inline-entity-form{border-radius:0 0 10px 10px}@media (max-width: 900px){.form-grid,.multi-select-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 580px){.entity-form{padding:15px}.form-grid,.multi-select-options{grid-template-columns:1fr}.input-with-color{align-items:center}}.form-section-title{grid-column:1/-1;padding:7px 0 0;margin-top:2px;border-top:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));color:var(--accent-text);font-size:7.5pt;font-weight:800;letter-spacing:.7px;text-transform:uppercase}.form-section-title:first-child{border-top:0;padding-top:0;margin-top:0}.form-grid>.entity-field{display:grid;min-width:0;gap:8px;color:#42566d;font-size:8.5pt;font-weight:680}.field-label{display:block;color:#42566d;font-size:8.5pt;font-weight:680}.form-grid .checkbox-control{display:flex!important;align-items:center;gap:10px!important;padding:0!important;border:0!important;background:transparent!important;color:var(--accent-heading)!important;font-size:8.5pt!important;font-weight:700!important;cursor:pointer}.form-grid .checkbox-control input{width:17px;height:17px;accent-color:var(--accent-text)}.subject-code-chip,.teacher-code-chip{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;margin:2px 4px 2px 0;padding:4px 7px;border-radius:7px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text);font-size:12px;font-weight:750;letter-spacing:.02em;cursor:default}.teacher-code-chip{background:#e6f7ef;color:#176344}.compact-filter{display:flex;flex-direction:column;gap:5px;min-width:150px;font-size:12px;font-weight:700;color:#52627a}.compact-filter input{min-height:38px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:9px;padding:7px 10px;background:#fff;color:var(--accent-heading);font:inherit}.cover-filter-panel{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 16px;margin:14px 0;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:12px}.cover-filter-panel strong{width:100%;font-size:13px;color:var(--accent-heading)}.cover-filter-panel label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.cover-filter-panel small{width:100%;color:#68788e;font-size:11px}.duty-location-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 9px;border-radius:7px;color:var(--accent-heading);font-size:12px;font-weight:700}.duty-location-chip button{border:0;background:transparent;font-size:16px;cursor:pointer;color:inherit}.location-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.duty-board-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.duty-board-card{display:flex;flex-direction:column;gap:5px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-left:5px solid #94a3b8;border-radius:10px;background:#fff}.duty-board-card strong,.duty-board-card span{font-size:13px}.duty-board-card small{font-size:11px;color:#64748b}.balance-filters{grid-template-columns:repeat(3,minmax(150px,1fr));align-items:end}.inner-module{padding:18px;margin:16px 0;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:14px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.inner-module h3{margin:0 0 8px;font-size:16px;color:var(--accent-heading)}@media (max-width: 800px){.balance-filters{grid-template-columns:1fr}.cover-filter-panel{align-items:flex-start;flex-direction:column}.compact-filter{width:100%}}.balance-positive{display:inline-block;padding:4px 8px;border-radius:7px;background:#dcfce7;color:#166534;font-weight:800;font-variant-numeric:tabular-nums}.balance-negative{display:inline-block;padding:4px 8px;border-radius:7px;background:#fee2e2;color:#991b1b;font-weight:800;font-variant-numeric:tabular-nums}.balance-neutral{display:inline-block;padding:4px 8px;border-radius:7px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:#475569;font-weight:700;font-variant-numeric:tabular-nums}@media print{.print-hidden,.module-toolbar .compact-filter{display:none!important}}.balance-total-row{background:color-mix(in srgb,var(--accent) 7%,var(--surface));font-weight:800;border-top:2px solid color-mix(in srgb,var(--accent) 25%,var(--surface))}.print-only{display:none}@media print{.print-only{display:block!important;font-size:10pt;margin:6pt 0 12pt}.module-card.inner-module{display:none!important}}.school-calendar{margin:18px 0;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:16px;background:#fff}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.calendar-toolbar strong{font-size:17px;color:var(--accent-heading)}.calendar-toolbar p{margin:4px 0 0;color:#68788e;font-size:12px}.calendar-toolbar label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:700}.calendar-toolbar input{border:1px solid color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:8px;padding:8px 10px}.school-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-weekday{text-align:center;padding:7px 0;font-size:11px;font-weight:800;color:#64748b}.calendar-day{min-height:84px;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:8px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:9px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));text-align:left;color:var(--accent-heading);cursor:pointer}.calendar-day strong{font-size:14px}.calendar-day span,.calendar-day small{font-size:10px;color:#66758a}.calendar-day em{font-size:9px;font-style:normal;font-weight:800;color:#9a3412}.calendar-day.out-month{opacity:.42}.calendar-day.holiday-day{background:#fff1e8;border-color:#fed7aa}.calendar-day.blocked-day{background:#fee2e2;border-color:#fca5a5}.calendar-day.blocked-day em{color:#991b1b}.calendar-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-size:11px;color:#64748b}.calendar-legend span{display:flex;align-items:center;gap:6px}.calendar-legend i{width:11px;height:11px;border-radius:3px;background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.calendar-legend .legend-holiday{background:#fed7aa}.calendar-legend .legend-blocked{background:#fca5a5}.calendar-legend .legend-week{background:color-mix(in srgb,var(--accent) 20%,var(--surface))}@media (max-width: 700px){.calendar-day{min-height:64px;padding:5px}.calendar-day small{display:none}.calendar-toolbar{align-items:flex-start;flex-direction:column}}@font-face{font-family:FontAwesome;src:url(/fonts/fontawesome-webfont.woff2) format("woff2");font-weight:400;font-style:normal;font-display:block}.fa-solid{display:inline-block;font-family:FontAwesome!important;font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased}.fa-link:before{content:""}.fa-mug-hot:before{content:""}.fa-utensils:before{content:""}.fa-tree:before{content:""}.fa-futbol:before{content:""}.fa-basketball:before{content:""}.fa-music:before{content:""}.fa-book-open:before{content:""}.fa-palette:before{content:""}.fa-person-walking:before{content:""}.fa-droplet:before{content:""}.fa-apple-whole:before{content:""}.fa-puzzle-piece:before{content:""}.fa-sun:before{content:""}.fa-leaf:before{content:""}.fa-brain:before{content:""}.fa-comments:before{content:""}.fa-gamepad:before{content:""}.fa-heart:before{content:""}.fa-person-running:before{content:""}.fa-pause:before{content:""}.time-grid-page .time-grid-section,.time-grid-page .school-calendar-section{padding:20px 22px;border-top:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.time-grid-section-heading,.school-calendar-heading,.duty-locations-heading,.balance-table-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px}.time-grid-section-heading h3,.school-calendar-heading h3,.duty-locations-heading h3,.balance-table-heading h3{margin:0;color:var(--accent-heading);font-size:16px}.time-grid-section-heading p,.school-calendar-heading p,.duty-locations-heading p,.balance-table-heading p{margin:5px 0 0;color:#748397;font-size:12px;line-height:1.5}.period-count-field,.school-calendar-heading>label{display:flex;flex-direction:column;gap:6px;color:#52657b;font-size:12px;font-weight:700;min-width:145px}.period-count-field input,.school-calendar-heading select{min-height:38px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--surface));border-radius:8px;padding:8px 10px;background:#fff;color:var(--accent-heading);font:inherit}.time-grid-table-wrap{overflow-x:auto;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px}.time-grid-table{width:100%;border-collapse:separate;border-spacing:0;min-width:760px}.time-grid-table th{background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:#65758a;font-size:11px;font-weight:750;text-align:left;padding:11px 12px;border-bottom:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));white-space:nowrap}.time-grid-table td{padding:8px 12px;border-bottom:1px solid color-mix(in srgb,var(--accent) 8%,var(--surface));background:#fff;vertical-align:middle}.time-grid-table tr:last-child td{border-bottom:0}.time-grid-table tr.no-pause-after td,.time-grid-table tr.no-pause-before td{background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.time-grid-table tr.no-pause-after td:first-child,.time-grid-table tr.no-pause-before td:first-child{box-shadow:inset 3px 0 var(--accent-text)}.period-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:8px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent-text);font-weight:800;font-size:12px}.time-grid-input{width:100%;min-width:72px;min-height:36px;padding:7px 9px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:7px;background:#fff;color:var(--accent-heading);font:inherit;font-size:12px;box-shadow:0 1px 2px color-mix(in srgb,var(--accent) 3%,transparent)}.time-grid-input:focus{outline:0;border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,var(--surface))}.time-grid-input:disabled{background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:#9aa6b5}.minutes-input{max-width:100px}.pause-name-input{min-width:125px}.pause-icon-picker{display:flex;align-items:center;gap:8px;min-width:150px}.pause-icon-picker>i{width:19px;text-align:center;color:var(--accent-text);font-size:15px}.pause-icon-select{min-width:125px}.no-pause-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:34px}.no-pause-toggle input,.toggle-setting input{width:17px;height:17px;accent-color:var(--accent-text);cursor:pointer}.chain-marker{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent-text);border:1px solid color-mix(in srgb,var(--accent) 27%,var(--surface))}.chain-marker i{font-size:13px}.time-grid-table td.period-first-cell{position:relative;overflow:visible}.chain-between-rows{position:absolute;z-index:2;left:5px;top:-15px;width:24px;height:24px;box-shadow:0 0 0 3px #fff}.time-grid-table tr.no-pause-before td{border-top-color:transparent}.time-grid-table tr.no-pause-after td{border-bottom-color:transparent}.time-grid-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px}.toggle-setting{display:inline-flex;align-items:center;gap:9px;color:#4f6278;font-size:12px;font-weight:650;cursor:pointer}.school-calendar-section{padding-bottom:24px!important}.school-calendar-heading{align-items:flex-end}.holiday-picker{padding:15px 0 18px;margin-bottom:14px;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.holiday-picker-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:12px}.holiday-picker-heading strong,.holiday-picker-heading small{display:block}.holiday-picker-heading strong{font-size:13px;color:var(--accent-heading)}.holiday-picker-heading small{margin-top:4px;font-size:11px;color:#8290a1}.holiday-options{display:flex;flex-wrap:wrap;gap:8px}.holiday-option{display:flex;align-items:center;gap:9px;min-width:205px;padding:10px 11px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:9px;background:#fff;cursor:pointer}.holiday-option.active{background:#fff8f2;border-color:#f3c9a8}.holiday-option input{accent-color:#c16a2e;width:15px;height:15px}.holiday-option span{flex:1;min-width:0}.holiday-option strong,.holiday-option small{display:block}.holiday-option strong{font-size:12px;color:var(--accent-heading)}.holiday-option small{margin-top:3px;font-size:10px;color:#8793a3}.holiday-delete{border:0;background:transparent;color:#9aa5b3;font-size:18px;cursor:pointer;padding:2px 4px}.holiday-delete:hover{color:#b42318}.empty-holidays{font-size:12px;color:#8996a7;padding:7px 0}.holiday-add-form{display:grid;grid-template-columns:minmax(150px,1.4fr) minmax(130px,1fr) minmax(130px,1fr) auto;gap:10px;align-items:end;margin-top:13px}.holiday-add-form label{display:grid;gap:6px;color:#52657b;font-size:11px;font-weight:700}.holiday-add-form input{min-height:37px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:7px;padding:7px 9px;background:#fff;font:inherit;font-size:12px}.clean-calendar{padding:0;margin:0;border:0;border-radius:0;background:transparent}.clean-calendar .calendar-toolbar{justify-content:flex-start;gap:14px;padding:4px 0 13px;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.calendar-nav-btn{display:grid;place-items:center;width:36px;height:36px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:9px;background:#fff;color:var(--accent-text);cursor:pointer}.calendar-nav-btn:hover{background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-color:color-mix(in srgb,var(--accent) 30%,var(--surface))}.calendar-month-title{flex:1}.calendar-month-title strong,.calendar-month-title span{display:block}.calendar-month-title strong{font-size:18px;color:var(--accent-heading);text-transform:capitalize}.calendar-month-title span{margin-top:4px;font-size:11px;color:#7b899b}.week-calendar-grid{grid-template-columns:80px repeat(7,minmax(0,1fr));gap:4px;margin-top:10px}.week-calendar-grid .calendar-weekday{padding:8px 0}.week-calendar-grid .kw-heading{font-size:10px;text-align:left;padding-left:8px}.calendar-week-control{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:8px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));padding:6px 3px}.calendar-week-control>strong{font-size:11px;color:#4e6278}.week-toggle{display:flex;padding:2px;border-radius:7px;background:color-mix(in srgb,var(--accent) 11%,var(--surface));gap:2px}.week-toggle button{border:0;border-radius:5px;background:transparent;color:#65768a;padding:4px 7px;font-size:10px;font-weight:800;cursor:pointer}.week-toggle button.selected{background:var(--accent-text);color:#fff;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 13%,transparent)}.week-calendar-grid .calendar-day{min-height:78px;padding:7px;gap:5px;border-radius:8px}.week-calendar-grid .calendar-day strong{font-size:13px}.week-calendar-grid .calendar-day small{margin-top:auto;font-size:9px}.week-calendar-grid .calendar-day em{padding:2px 4px;border-radius:4px;background:#ffdfc7;color:#8c4318;font-size:8px}.week-calendar-grid .calendar-day.blocked-day em{background:#fecaca;color:#991b1b}.week-calendar-grid .calendar-day.out-month{opacity:.36}.week-calendar-grid .calendar-day:hover{border-color:var(--accent-text)}.week-calendar-grid .calendar-day.holiday-day{background:#fff8f2}.week-calendar-grid .calendar-day.blocked-day{background:#fff0f0}.clean-calendar .calendar-legend{padding-top:10px;border-top:1px solid color-mix(in srgb,var(--accent) 10%,var(--surface))}.duty-planner .duty-filters{padding:14px 20px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));align-items:end}.duty-filters>label{min-width:160px;flex:1}.duty-filters select{min-height:38px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;padding:7px 10px;background:#fff;color:var(--accent-heading);font:inherit;font-size:12px}.duty-create-form{padding:18px 20px;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:12px}.duty-create-form label{font-size:11px}.duty-create-form input,.duty-create-form select{min-height:37px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;padding:7px 9px;background:#fff;font:inherit;font-size:12px}.duty-timetable-wrap{overflow-x:auto}.duty-timetable{display:grid;grid-template-columns:145px repeat(5,minmax(150px,1fr));gap:5px;min-width:920px}.duty-timetable-corner,.duty-timetable-day{display:flex;align-items:center;justify-content:center;min-height:38px;padding:8px;border-radius:8px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:#586a7f;font-size:11px;font-weight:800}.duty-timetable-day{background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent-text)}.duty-timetable-pause{display:flex;flex-direction:column;justify-content:center;gap:5px;min-height:104px;padding:10px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:9px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.duty-timetable-pause strong{font-size:12px;color:var(--accent-heading)}.duty-timetable-pause small{font-size:10px;color:#8390a1}.fa-icon-label{display:flex;align-items:center;gap:7px;color:var(--accent-text);font-size:13px}.duty-timetable-cell{display:flex;flex-direction:column;gap:7px;min-height:104px;padding:6px;border:1px dashed color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:9px;background:#fff;transition:background .15s,border-color .15s}.duty-timetable-cell:has(.duty-timetable-card){border-style:solid}.duty-timetable-cell:hover{background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-color:var(--accent-text)}.duty-timetable-card{display:flex;flex-direction:column;gap:6px;padding:9px;border:1px solid #0000000d;border-left:4px solid #9ca3af;border-radius:8px;color:var(--accent-heading);cursor:grab;box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 5%,transparent)}.duty-timetable-card:active{cursor:grabbing;opacity:.75}.duty-card-top{display:flex;align-items:center;gap:5px}.duty-card-top .teacher-code-chip{font-size:10px;padding:4px 6px;min-width:0;margin:0}.duty-week-pill{margin-left:auto;padding:3px 5px;border-radius:5px;background:#ffffffb8;color:#52647a;font-size:9px;font-weight:800}.duty-remove{border:0;background:transparent;color:#6d7d8f;font-size:17px;line-height:1;cursor:pointer}.duty-timetable-card>strong{font-size:11px}.duty-timetable-card>small{font-size:10px;color:#52667b}.duty-timetable-card select{width:100%;min-width:0;border:1px solid #ffffffc9;border-radius:6px;padding:5px;background:#ffffffbd;color:#43566c;font:inherit;font-size:10px}.duty-drop-hint{display:grid;place-items:center;flex:1;min-height:70px;color:#b2bdc9;font-size:10px}.duty-locations-section{margin:0 20px 16px;padding:16px 0;border-top:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.duty-locations-heading{margin-bottom:12px}.duty-location-form{padding:0;grid-template-columns:minmax(220px,1fr) minmax(200px,.8fr) auto;align-items:end;gap:12px}.duty-location-form label{font-size:11px}.duty-location-form input:not([type=color]){min-height:38px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;padding:8px 10px;background:#fff;font:inherit;font-size:12px}.location-color-picker{display:flex;align-items:center;gap:9px;min-height:38px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;background:#fff}.location-color-picker input[type=color]{width:36px;height:28px;padding:2px;border:0;border-radius:6px;background:transparent;cursor:pointer}.location-color-picker>span{width:21px;height:21px;border:1px solid #00000018;border-radius:6px}.location-color-picker code{font-size:11px;color:#596b7f;font-weight:750}.duty-locations-section .location-chips{margin-top:12px}.balance-page .module-toolbar{align-items:center}.balance-download-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 20px}.balance-download-card{position:relative;display:flex;align-items:center;gap:12px;min-height:116px;padding:17px 15px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:12px;background:#fff;text-align:left;color:var(--accent-heading);cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s}.balance-download-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--accent) 32%,var(--surface));box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 5%,transparent)}.balance-card-icon{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border-radius:11px;background:#e5f6ed;color:#23734f}.balance-card-icon.cancelled{background:#fee9e7;color:#ad3833}.balance-card-icon.covered{background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent-text)}.balance-card-icon.total-icon{background:#ede9fe;color:#6547a5}.balance-card-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.balance-card-copy small{font-size:10px;color:#8491a1}.balance-card-copy strong{font-size:12px;color:var(--accent-heading)}.balance-card-copy b{font-size:24px;line-height:1.15;color:var(--accent-heading)}.balance-card-download{position:absolute;right:12px;top:12px;color:#91a0b1}.teacher-balance-section{padding:4px 20px 22px}.balance-table-heading{padding-bottom:13px;margin-bottom:0}.balance-table-heading .secondary-btn{flex-shrink:0}.teacher-balance-section .table-wrap{border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px}.teacher-balance-section table{width:100%;border-collapse:collapse}.teacher-balance-section th{padding:11px 12px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:#61738a;font-size:11px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface))}.teacher-balance-section td{padding:11px 12px;border-bottom:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface));font-size:12px;color:#40536a}.teacher-balance-section tbody tr:last-child td{border-bottom:0}.balance-teacher-name{display:block;margin-top:3px;font-size:10px;color:#8a97a7}.balance-page .summary-cards{display:none}@media (max-width: 1000px){.balance-download-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.duty-create-form{grid-template-columns:repeat(3,minmax(120px,1fr))}.holiday-add-form{grid-template-columns:repeat(2,minmax(130px,1fr))}.week-calendar-grid{grid-template-columns:65px repeat(7,minmax(0,1fr))}.week-calendar-grid .calendar-day{min-height:66px;padding:5px}}@media (max-width: 650px){.time-grid-section,.time-grid-page .school-calendar-section{padding:15px 12px}.time-grid-section-heading,.school-calendar-heading,.holiday-picker-heading,.balance-table-heading,.time-grid-actions{align-items:flex-start;flex-direction:column}.week-calendar-grid{grid-template-columns:47px repeat(7,minmax(45px,1fr));overflow-x:auto}.week-calendar-grid .calendar-day{min-height:55px;padding:4px}.week-calendar-grid .calendar-day em{font-size:7px}.calendar-week-control{padding:3px 1px}.week-toggle button{padding:4px}.holiday-add-form{grid-template-columns:1fr}.balance-download-cards{grid-template-columns:1fr;padding:14px 12px}.balance-download-card{min-height:90px}.balance-table-heading .secondary-btn{width:100%}.duty-create-form{grid-template-columns:1fr 1fr}.duty-location-form{grid-template-columns:1fr}.duty-locations-section{margin:0 12px 14px}.duty-planner .duty-filters{align-items:stretch}.duty-filters>label{min-width:100%}}.duty-timetable-card .duty-location-select{width:100%;min-width:0;border:1px solid #ffffffbd;border-radius:6px;padding:5px;background:#ffffffa8;color:var(--accent-heading);font:inherit;font-size:10px;font-weight:750}.balance-summary-strip{padding:0 20px 4px}.balance-summary-card{display:flex;align-items:center;gap:13px;padding:15px 17px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));max-width:100%}.balance-summary-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent-text);flex:0 0 40px}.balance-summary-card>div{display:flex;flex-direction:column;gap:3px}.balance-summary-card small{font-size:10px;color:#73849a}.balance-summary-card strong{font-size:24px;line-height:1.15;color:var(--accent-heading)}.balance-summary-card span:not(.balance-summary-icon){font-size:10px;color:#8795a5}.substitution-page{border:0;background:transparent;overflow:visible}.substitution-page>.module-toolbar{background:#fff;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:12px;padding:17px 20px;flex-wrap:wrap}.substitution-page>.inner-module{border:0;border-top:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:0;background:transparent;box-shadow:none;margin:16px 0 0;padding:17px 0 0}.substitution-page>.inner-module h3{font-size:13pt;color:var(--accent-heading)}.substitution-page>.inner-module>p:not(.hint){margin:6px 0 14px;color:#7a8798;font-size:9.5pt}.substitution-page .module-form{background:#fff;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px;padding:15px;margin:12px 0}.substitution-page .cover-filter-panel{margin:12px 0;padding:13px 15px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:9px;background:#fff}.substitution-page .table-wrap{margin:12px 0 0;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:10px;background:#fff}.substitution-page .table-wrap table{min-width:760px}.substitution-page .table-wrap th{padding:11px 12px}.substitution-page .table-wrap td{padding:10px 12px}.substitution-room-select,.substitution-page .table-wrap td select{width:100%;min-width:135px;max-width:210px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:7px;padding:8px 9px;background:#fff;color:var(--accent-heading);font:inherit;font-size:9.5pt;box-shadow:none;outline-color:var(--accent-text)}.substitution-page .hint{padding:12px 0}.substitution-page .module-card.inner-module{box-shadow:none}@media (max-width: 700px){.balance-summary-strip{padding:0 12px 4px}.substitution-page>.module-toolbar{align-items:flex-start}.substitution-page .table-wrap td select{min-width:130px}}.substitution-audience-tabs{display:flex;gap:6px;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));padding-bottom:10px;margin:8px 0 14px}.substitution-audience-tabs button{border:1px solid transparent;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-radius:8px;padding:9px 14px;color:#475569;cursor:pointer}.substitution-audience-tabs button.selected{background:color-mix(in srgb,var(--accent) 7%,var(--surface));border-color:color-mix(in srgb,var(--accent) 20%,var(--surface));color:var(--accent-text);font-weight:650}.substitution-notes-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:12px 0 20px}.substitution-notes-grid label{display:grid;gap:6px;font-size:13px;font-weight:600;color:#475569}.substitution-notes-grid textarea{width:100%;resize:vertical;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--surface));border-radius:8px;padding:10px;font:inherit;font-weight:400;color:var(--accent-heading)}.date-stepper{display:flex;align-items:end;gap:6px}.date-stepper .compact-filter{min-width:170px}.preview-inline-input{width:100%;min-width:65px;border:1px solid transparent;border-radius:4px;padding:4px;background:transparent;color:inherit;font:inherit}.preview-inline-input:focus{border-color:color-mix(in srgb,var(--accent) 35%,var(--surface));background:#fff;outline:none}@media (max-width: 800px){.substitution-notes-grid{grid-template-columns:1fr}}@media print{body *{visibility:hidden}.substitution-page,.substitution-page *{visibility:visible}.substitution-page{position:absolute;left:0;top:0;width:100%;padding:0!important;margin:0!important;box-shadow:none!important}.substitution-page .substitution-notes-grid,.substitution-page .module-toolbar,.substitution-page .inner-module,.substitution-page .substitution-audience-tabs,.substitution-page .hint,.substitution-page button{display:none!important}.substitution-page .print-only{display:block!important}.substitution-page table{width:100%;border-collapse:collapse}.substitution-page th,.substitution-page td{border:1px solid #555;padding:5px 7px;font-size:10pt}.substitution-page .preview-inline-input{border:0;padding:0}.substitution-page .table-wrap{overflow:visible;border:0}}.board-lock{display:inline-flex;align-items:center;gap:7px}.board-lock.locked{background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:#334155;border-color:color-mix(in srgb,var(--accent) 26%,var(--surface))}.board-lock.unlocked{background:#dcfce7;color:#166534;border-color:#86efac}.digital-board.board-is-locked .schedule-lesson{cursor:not-allowed}.digital-board.board-is-unlocked .schedule-lesson{cursor:grab}.digital-board.board-is-unlocked .schedule-lesson:active{cursor:grabbing}.requirement-workspace{padding-bottom:22px}.requirement-class-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:9px;padding:16px 20px}.requirement-class{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-height:74px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:10px;background:#fff;color:var(--accent-heading);text-align:left;cursor:pointer}.requirement-class strong{font-size:13px}.requirement-class small,.requirement-count{font-size:11px;color:#718198}.requirement-class.selected{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 10%,transparent)}.requirement-count{font-weight:700}.requirement-table-wrap{padding:0 20px 16px}.requirement-selected-heading{padding:10px 0}.requirement-selected-heading h3{margin:0 0 4px}.requirement-selected-heading p{margin:0;color:#7b8999;font-size:12px}.requirement-table{width:100%;border-collapse:collapse}.requirement-table th,.requirement-table td{padding:10px;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));text-align:left}.requirement-table th{font-size:10px;color:#748398;text-transform:uppercase;letter-spacing:.04em}.requirement-table select,.requirement-table input[type=number]{width:100%;min-width:90px;min-height:36px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:7px;padding:7px 9px;background:#fff;color:var(--accent-heading);font:inherit;font-size:12px}.requirement-table input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-text)}.requirement-table .compact{min-height:34px;padding:7px 10px;font-size:11px}.requirement-group-label{display:block;margin-top:5px;color:#718198;font-size:10px}.requirement-groups{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px}.requirement-groups strong{font-size:11px;color:#596a7f}.requirement-groups span{padding:5px 8px;border-radius:6px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:#52647a;font-size:11px}.schedule-lesson{position:relative}.lesson-error-badge{position:absolute;top:4px;right:4px;display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#dc2626;color:#fff;font-size:12px;font-weight:900;box-shadow:0 1px 3px #0002;cursor:pointer;z-index:2}.schedule-conflict{outline:2px solid #dc2626!important;outline-offset:-2px}.board-count-control{display:flex;align-items:center;gap:6px;font-size:11px;color:#66788d}.board-count-control select{min-width:54px}.digital-board-multi{display:grid;gap:14px}.digital-board-multi.count-2,.digital-board-multi.count-3,.digital-board-multi.count-4{grid-template-columns:repeat(2,minmax(0,1fr))}.digital-board-multi .schedule-grid{min-width:0;grid-template-columns:70px repeat(5,minmax(90px,1fr));gap:3px}.digital-board-multi .schedule-lesson{padding:6px 5px;font-size:10px}.digital-board-multi .lesson-meta{font-size:9px}.embedded-duty{padding:8px 0}.embedded-duty .duty-planner{margin-top:12px}.duty-week-select{border:0;cursor:pointer;font:inherit}.duty-timetable-card>select[aria-label="Aufsicht vertreten durch"]{margin-top:0}.sidebar .nav-item{white-space:nowrap}@media (max-width: 1000px){.digital-board-multi.count-2,.digital-board-multi.count-3,.digital-board-multi.count-4{grid-template-columns:1fr}.digital-board-multi .schedule-grid{grid-template-columns:55px repeat(5,minmax(75px,1fr))}.requirement-table-wrap{overflow-x:auto}.requirement-table{min-width:680px}}.board-panel{min-width:0;display:flex;flex-direction:column;gap:7px}.board-panel-mode{display:flex;align-items:center;gap:8px;padding:5px 2px;color:#61748a;font-size:10px;font-weight:800}.board-panel-mode select{min-height:30px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:6px;background:#fff;color:var(--accent-heading);padding:4px 7px;font:inherit}.digital-board-multi .board-panel .schedule-grid{width:100%}@media print{body *{visibility:hidden}.digital-board-multi,.digital-board-multi *{visibility:visible}.digital-board-multi{position:absolute;left:0;top:0;width:100%;display:block!important}.board-panel{break-after:page}.board-panel-mode{display:none!important}.digital-board-multi .schedule-grid{min-width:0!important;grid-template-columns:55px repeat(5,minmax(0,1fr))!important}.digital-board-multi .schedule-lesson{break-inside:avoid}.lesson-error-badge{display:none!important}}.course-linked-pill{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border-radius:999px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text);font-size:11px;font-weight:750;vertical-align:middle}.block-all-head{display:inline-flex;align-items:center;justify-content:center;margin-left:8px;vertical-align:middle;cursor:pointer}.block-all-head input{width:17px;height:17px;margin:0;accent-color:var(--accent-text);cursor:pointer}.requirement-add-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:14px 0}.requirement-add-row select{min-width:240px;min-height:38px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;background:#fff;color:var(--accent-heading);font:inherit}.requirement-table td select{max-width:100%;min-width:100px}.requirement-table td input[type=number]{width:100px;max-width:100%;min-height:34px;padding:6px 8px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:7px;font:inherit}.requirement-table td input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-text)}.board-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.board-actions>button,.board-actions>.board-count-control{min-height:40px;box-sizing:border-box}.board-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}.board-count-control{display:flex;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:8px;background:#fff;padding:0 10px;min-height:40px;color:var(--accent-heading)}.board-count-control select{border:0!important;padding:6px 2px!important;min-height:30px!important;box-shadow:none!important}.board-view-toolbar{display:grid;gap:12px;margin:14px 0 18px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:12px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.board-view-tabs{display:flex;flex-wrap:wrap;gap:6px}.board-view-tabs button{min-height:38px;padding:8px 15px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;background:#fff;color:var(--accent-heading);font:inherit;font-weight:600;cursor:pointer}.board-view-tabs button.selected{background:var(--accent-text);border-color:var(--accent-text);color:#fff}.board-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;align-items:end;gap:10px}.board-filter-grid label{display:grid;gap:5px;font-size:12px;font-weight:650;color:#52647a}.board-filter-grid input{width:100%;min-width:0;box-sizing:border-box;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:8px;background:#fff;padding:9px 10px;font:inherit;color:var(--accent-heading)}.board-filter-grid .secondary-btn{min-height:39px;white-space:nowrap}.board-panel-heading{padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-bottom:0;border-radius:10px 10px 0 0;background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:#334155}.board-panel .digital-board{border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:0 0 10px 10px;grid-template-columns:94px repeat(5,minmax(140px,1fr));grid-auto-flow:row}.schedule-pause-slot{display:flex;align-items:center;justify-content:center;gap:5px;min-height:30px;padding:4px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));border-top:1px dashed color-mix(in srgb,var(--accent) 26%,var(--surface));color:#64748b;font-size:11px;font-weight:700;text-align:center}.schedule-pause-cell{display:flex;align-items:center;justify-content:center;min-width:0;min-height:30px;padding:4px 6px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));border-top:1px dashed color-mix(in srgb,var(--accent) 26%,var(--surface));color:#64748b;font-size:10px;text-align:center}.schedule-pause-cell span{overflow-wrap:anywhere}.board-export-dialog{width:min(760px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:22px;border-radius:14px;background:#fff;box-shadow:0 20px 60px color-mix(in srgb,var(--accent) 25%,transparent);color:var(--accent-heading)}.board-export-dialog>p{color:#64748b;line-height:1.5}.board-export-lists{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0}.board-export-lists fieldset{min-width:0;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:10px;padding:10px}.board-export-lists legend{font-weight:700;padding:0 5px}.board-export-options{max-height:220px;overflow:auto;display:grid;gap:7px;margin-top:8px}.board-export-options .checkbox-control{display:flex;gap:8px;align-items:center;overflow-wrap:anywhere}@media (max-width: 1000px){.board-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.board-filter-grid .secondary-btn{justify-self:start}.board-export-lists{grid-template-columns:1fr}}@media print{body *{visibility:hidden!important}.digital-board-multi,.digital-board-multi *{visibility:visible!important}.digital-board-multi{position:absolute;left:0;top:0;width:100%;display:block!important}.board-panel{break-after:page;margin:0 0 18px}.board-panel:last-child{break-after:auto}.board-panel-heading{border:0;background:#fff}.digital-board{grid-template-columns:65px repeat(5,minmax(0,1fr))!important}.schedule-lesson{break-inside:avoid}.board-view-toolbar,.board-toolbar,.board-export-dialog,.modal-backdrop{display:none!important}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:color-mix(in srgb,var(--accent) 50%,transparent)}.content:has(.digital-board-multi){max-width:none;width:100%}.content:has(.digital-board-multi) .module-card{width:100%;max-width:none;margin:0;padding:0;border-radius:10px}.board-toolbar{align-items:center;margin-bottom:12px;gap:12px}.board-tabs.board-button-group{display:flex;align-items:center;gap:0;margin:0 0 12px;padding:0;border:0;background:transparent}.board-button-group button,.board-view-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--surface));border-radius:0;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:650;cursor:pointer}.board-button-group button:first-child,.board-view-tabs button:first-child{border-radius:7px 0 0 7px}.board-button-group button:last-child,.board-view-tabs button:last-child{border-radius:0 7px 7px 0}.board-button-group button+button,.board-view-tabs button+button{margin-left:-1px}.board-button-group button.selected,.board-view-tabs button.selected{position:relative;z-index:1;background:var(--accent-text);border-color:var(--accent-text);color:#fff}.board-view-toolbar{display:grid;gap:10px;margin:0 0 12px;padding:0;border:0;border-radius:0;background:transparent}.board-view-tabs{display:flex;flex-wrap:wrap;gap:0;margin:0}.board-view-tabs button i{font-size:12px}.board-filter-grid{gap:9px}.board-filter-grid label{gap:4px}.board-edit-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface))}.board-edit-toolbar button{min-height:36px;display:inline-flex;align-items:center;gap:7px}.board-edit-toolbar button:disabled{opacity:.45;cursor:not-allowed}.digital-board-multi{display:block;width:100%;min-width:0}.board-panel{width:100%;min-width:0;gap:0}.board-panel-heading{padding:6px 0;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:0;background:transparent;margin-bottom:5px}.board-panel .digital-board{width:100%;grid-template-columns:86px repeat(5,minmax(0,1fr));grid-auto-rows:minmax(60px,auto);gap:0;border:0;border-radius:0;overflow:visible}.board-panel .digital-board .schedule-cell{padding:3px;min-height:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 8%,var(--surface))}.board-panel .digital-board .schedule-slot{padding:7px 5px;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 8%,var(--surface))}.board-panel .digital-board .schedule-day,.board-panel .digital-board .schedule-corner{padding:8px 5px;border:0;border-bottom:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-right:0}.board-panel .digital-board .schedule-lesson{padding:6px;gap:3px;border-radius:5px}.board-panel .digital-board .schedule-cell:has(.schedule-lesson){min-height:0}.board-panel .digital-board .schedule-cell>*+*{margin-top:3px}.board-panel .digital-board .schedule-pause-slot,.board-panel .digital-board .schedule-pause-cell{min-height:25px;padding:3px 5px;border:0;border-bottom:1px dashed color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:0}.board-panel .digital-board .schedule-pause-slot{grid-column:1}.board-panel .digital-board .schedule-pause-cell{display:flex;flex-direction:column;gap:2px}.teacher-duty-in-pause{display:block;font-size:9px;color:#166534;font-weight:650;line-height:1.2}.board-panel .digital-board.compact-total{grid-template-columns:54px repeat(5,minmax(0,1fr));grid-auto-rows:minmax(18px,auto)}.board-panel .digital-board.compact-total .schedule-day,.board-panel .digital-board.compact-total .schedule-corner{padding:4px 2px;font-size:9px}.board-panel .digital-board.compact-total .schedule-slot{padding:3px 2px;font-size:8px;line-height:1.15}.board-panel .digital-board.compact-total .schedule-slot small{font-size:7px}.board-panel .digital-board.compact-total .schedule-cell{padding:1px}.board-panel .digital-board.compact-total .schedule-lesson{padding:1px 2px;gap:0;border-left-width:2px;border-radius:2px}.board-panel .digital-board.compact-total .schedule-lesson .lesson-title{font-size:6.5px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-panel .digital-board.compact-total .schedule-lesson .lesson-meta{font-size:5.5px;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.board-panel .digital-board.compact-total .schedule-pause-slot,.board-panel .digital-board.compact-total .schedule-pause-cell{min-height:14px;padding:1px;font-size:7px;line-height:1.05}.board-panel .digital-board.compact-total .schedule-pause-cell span{font-size:6px}@media (max-width: 900px){.board-panel .digital-board{grid-template-columns:62px repeat(5,minmax(0,1fr))}.board-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.board-panel .digital-board.compact-total{grid-template-columns:44px repeat(5,minmax(0,1fr));grid-auto-rows:minmax(0,auto);gap:2px;overflow:visible}.board-panel .digital-board.compact-total .schedule-day,.board-panel .digital-board.compact-total .schedule-corner{padding:3px 2px;font-size:8px;text-align:center}.board-panel .digital-board.compact-total .schedule-slot{padding:3px 2px;font-size:7px;line-height:1.1}.board-panel .digital-board.compact-total .schedule-slot small{font-size:6px;line-height:1.1}.board-panel .digital-board.compact-total .schedule-cell{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:2px;padding:2px;min-height:0}.board-panel .digital-board.compact-total .schedule-lesson{width:auto;max-width:50px;min-width:0;flex:0 1 50px;min-height:0;padding:2px;gap:1px;border:0;border-radius:2px;color:var(--accent-heading)}.board-panel .digital-board.compact-total .schedule-lesson .lesson-title{font-size:6px;line-height:1.05;white-space:normal;overflow-wrap:anywhere}.board-panel .digital-board.compact-total .schedule-lesson .lesson-meta{font-size:5px;line-height:1.05;color:var(--accent-heading);white-space:normal;overflow-wrap:anywhere}.board-panel .digital-board .schedule-cell{row-gap:4px;padding-top:4px;padding-bottom:4px}.lesson-error-badge{color:#fff!important}.schedule-pause-slot{overflow-wrap:anywhere;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0}.schedule-pause-cell{min-width:0;overflow-wrap:anywhere}@media (max-width: 760px){.board-panel .digital-board.compact-total{grid-template-columns:38px repeat(5,minmax(0,1fr))}}.dashboard-page{display:grid;gap:24px}.panel-card,.database-section{background:var(--surface, #fff);border:1px solid var(--border, #e5eaf0);border-radius:18px;box-shadow:0 8px 24px #182d4b0b}.dashboard-identity{padding:26px;background:linear-gradient(125deg,#fff,color-mix(in srgb,var(--accent) 4%,var(--surface)))}.dashboard-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.dashboard-section-heading h2{margin:5px 0 7px;font-size:22px;letter-spacing:-.035em;color:var(--accent-heading)}.dashboard-section-heading p{margin:0;max-width:680px;color:#6b7890;font-size:13px;line-height:1.6}.dashboard-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--accent-text)}.school-avatar{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;border-radius:16px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text);overflow:hidden}.school-avatar img{width:100%;height:100%;object-fit:contain;padding:8px}.identity-form{display:grid;grid-template-columns:minmax(220px,1.1fr) minmax(220px,1fr) auto;align-items:end;gap:15px;margin-top:24px}.identity-form label,.database-create-form label{display:grid;gap:7px;color:var(--accent-heading);font-size:12px;font-weight:700}.identity-form input:not([type=file]),.database-create-form input{width:100%;min-width:0;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:10px;background:#fff;color:var(--accent-heading);padding:11px 12px;outline:none;font:inherit;font-weight:500}.identity-form input:focus,.database-create-form input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px #4476cb1f}.favicon-field input[type=file]{max-width:100%;font-size:11px;color:#687991}.favicon-field small{font-size:10px;font-weight:500;color:#8491a4}.database-section{padding:25px}.database-section>.dashboard-section-heading{align-items:center;margin-bottom:20px}.database-create-form{display:grid;grid-template-columns:1fr 1fr auto;align-items:end;gap:14px;margin:0 0 20px;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:13px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.database-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.database-card{min-width:0;padding:18px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:15px;background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.database-card:hover{border-color:color-mix(in srgb,var(--accent) 29%,var(--surface));box-shadow:0 8px 22px #1b396212;transform:translateY(-1px)}.database-card.database-active{border-color:var(--accent-text);background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 4%,var(--surface)),#fff 65%);box-shadow:inset 0 0 0 1px #5384ca1f}.database-card-top,.database-card-title,.database-year,.database-card-meta,.database-card-actions{display:flex;align-items:center}.database-card-top,.database-card-title,.database-card-meta{justify-content:space-between}.database-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text);font-size:16px}.database-active .database-icon{background:color-mix(in srgb,var(--accent) 9%,var(--surface));color:var(--accent-text)}.database-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 9px;color:#7b8797;background:#f1f3f6;font-size:10px;font-weight:750}.database-status span{width:6px;height:6px;border-radius:50%;background:#9aa5b4}.database-status.is-active{color:#216748;background:#e5f6ec}.database-status.is-active span{background:#26a269}.database-card-title{gap:8px;margin-top:15px}.database-card-title h3{overflow-wrap:anywhere;margin:0;color:var(--accent-heading);font-size:17px;letter-spacing:-.025em}.active-check{display:inline-flex;color:#26885b}.database-year{gap:7px;margin:10px 0 17px;color:#748199;font-size:12px}.database-year strong{color:var(--accent-heading);font-weight:750}.database-card-meta{gap:8px;border-top:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface));padding-top:12px;color:#8490a2;font-size:10px}.database-card-meta span:last-child{white-space:nowrap;font-weight:750;letter-spacing:.04em}.database-card-actions{gap:7px;margin-top:15px}.database-card-actions .primary-btn,.database-card-actions .secondary-btn{flex:1;justify-content:center;min-width:0;padding:9px 10px;font-size:11px}.database-card-actions .icon-btn{flex:0 0 34px;width:34px;height:34px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:9px;background:#fff}.database-card-actions button:disabled{cursor:default;opacity:.78}.database-footnote{display:flex;align-items:center;gap:8px;margin:17px 0 0;color:#7b8798;font-size:11px;line-height:1.5}.database-empty{grid-column:1/-1;display:grid;justify-items:center;gap:9px;padding:35px;border:1px dashed color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:13px;color:#7c8aa0;text-align:center}.database-empty strong{color:var(--accent-heading)}.dashboard-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card{display:flex;align-items:center;gap:13px;padding:17px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:14px;background:#fff}.metric-icon{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:12px;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.metric-card div{display:grid;gap:3px}.metric-card div span{color:#738198;font-size:11px}.metric-card div strong{color:var(--accent-heading);font-size:23px;line-height:1.1}.breadcrumbs{display:flex;align-items:center;gap:9px}.breadcrumbs>i{color:var(--accent-text);font-size:13px}.nav-item.selected{box-shadow:inset 3px 0 0 var(--accent-text)}@media (max-width: 1100px){.database-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.identity-form{grid-template-columns:1fr 1fr}.identity-form .primary-btn{grid-column:1/-1;justify-self:start}}@media (max-width: 720px){.dashboard-identity,.database-section{padding:18px;border-radius:14px}.dashboard-section-heading{gap:12px}.dashboard-section-heading h2{font-size:19px}.dashboard-section-heading p{font-size:12px}.school-avatar{width:44px;height:44px;flex-basis:44px}.identity-form,.database-create-form{grid-template-columns:1fr}.identity-form .primary-btn{grid-column:auto;justify-self:stretch}.database-grid,.dashboard-metrics{grid-template-columns:1fr}.database-section>.dashboard-section-heading{align-items:flex-start;flex-direction:column}.database-section>.dashboard-section-heading .primary-btn{width:100%;justify-content:center}.database-card-actions{flex-wrap:wrap}.database-card-actions .primary-btn,.database-card-actions .secondary-btn{min-width:115px}}.digital-board.schedule-grid,.digital-board .schedule-grid{grid-auto-rows:minmax(54px,auto)}.digital-board .schedule-cell{padding:3px}.digital-board .schedule-lesson{padding:4px 5px;gap:2px;border-left-width:3px;border-radius:4px;box-shadow:none}.digital-board .schedule-lesson .lesson-title{font-size:9pt;line-height:1.12}.digital-board .schedule-lesson .lesson-meta{font-size:7.5pt;line-height:1.12}.digital-board .schedule-slot{padding:7px 6px}.digital-board .schedule-slot small{font-size:7.5pt}.board-edit-toolbar .danger-btn{border-color:#efb4b4;color:#a51d2d;background:#fff7f7}.board-edit-toolbar .danger-btn:hover{background:#fee2e2}@media (max-width: 900px){.digital-board{grid-template-columns:66px repeat(5,minmax(92px,1fr));grid-auto-rows:minmax(48px,auto)}.digital-board .schedule-lesson .lesson-title{font-size:8pt}.digital-board .schedule-lesson .lesson-meta{font-size:7pt}}.board-panel:not(.total-schedule-view) .schedule-lesson,.digital-board:not(.compact-total) .schedule-lesson{background:transparent!important;color:inherit!important;border-left-color:transparent!important;border-top-color:color-mix(in srgb,var(--accent) 19%,var(--surface));border-right-color:color-mix(in srgb,var(--accent) 19%,var(--surface));border-bottom-color:color-mix(in srgb,var(--accent) 19%,var(--surface));box-shadow:none}.board-panel:not(.total-schedule-view) .schedule-lesson .lesson-meta,.digital-board:not(.compact-total) .schedule-lesson .lesson-meta{color:#64748b}.total-schedule-view{width:100%;min-width:0}.total-schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:8px 0 12px;color:var(--muted);font-size:12px}.total-schedule-toolbar label{display:flex;align-items:center;gap:8px;color:var(--ink);font-weight:650}.total-schedule-toolbar select{min-height:34px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:7px;background:var(--surface);padding:5px 9px;color:var(--ink);font:inherit}.total-schedule-scroll{width:100%;overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:8px;background:#fff}.total-schedule-grid{display:grid;width:max-content;min-width:100%;align-items:stretch}.total-head,.total-subhead{display:flex;align-items:center;justify-content:center;min-width:0;padding:7px 3px;border-right:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:#52657a;font-size:10px;font-weight:750;text-align:center}.total-entity-head{grid-row:span 1}.total-day-head{white-space:nowrap}.total-subhead{position:sticky;top:0;padding:4px 2px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));font-size:9px}.total-row-label{display:flex;align-items:center;min-width:0;padding:6px 8px;border-right:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));color:var(--accent-heading);font-size:11px;font-weight:700;overflow-wrap:anywhere}.total-slot{display:flex;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:2px;min-width:0;min-height:38px;padding:2px;border-right:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface));border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.total-schedule-lesson{display:flex!important;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:1px!important;width:100%;max-width:50px!important;min-width:0!important;min-height:0!important;flex:0 1 50px;padding:2px!important;border:0!important;border-radius:3px!important;overflow:hidden;text-align:left}.total-schedule-lesson .lesson-title{display:block;max-width:100%;font-size:8px!important;line-height:1.1!important;white-space:normal;overflow-wrap:anywhere}.total-schedule-lesson .lesson-meta{display:block;max-width:100%;color:inherit!important;opacity:.9;font-size:7px!important;line-height:1.1!important;white-space:normal;overflow-wrap:anywhere}.total-schedule-lesson:hover{filter:brightness(.96)}@media (max-width: 760px){.total-schedule-toolbar{align-items:flex-start}.total-schedule-grid{min-width:max-content}.total-row-label{position:sticky;left:0;z-index:1;background:#fff}}.app-shell,.main,.main-content,.digital-board-section,.digital-board-workspace{max-width:none}.digital-board-section,.digital-board-workspace,.board-panel,.total-schedule-view{width:100%}.total-row-selector{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.total-row-selector>strong{color:#334155;font-size:12px}.total-group-buttons{display:inline-flex;gap:3px;padding:3px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,var(--surface))}.total-group-buttons button{border:0;border-radius:5px;padding:7px 11px;background:transparent;color:#516276;font:inherit;font-size:12px;cursor:pointer}.total-group-buttons button.selected{background:#fff;color:var(--accent-heading);box-shadow:0 1px 3px color-mix(in srgb,var(--accent) 11%,transparent);font-weight:750}.total-schedule-grid{width:max-content;min-width:100%}.total-slot{border-right:0;padding:2px 1px;justify-content:center}.total-slot.day-start{border-left:2px solid color-mix(in srgb,var(--accent) 26%,var(--surface))}.total-day-head{border-right:0}.total-day-head:not(:first-child),.total-subhead.day-start{border-left:2px solid color-mix(in srgb,var(--accent) 26%,var(--surface))}.total-schedule-lesson{width:50px!important;max-width:50px!important;min-width:50px!important;flex:0 0 50px!important;min-height:34px!important;cursor:grab}.total-schedule-lesson:active{cursor:grabbing}.total-schedule-lesson .lesson-title{font-size:10px!important;line-height:1.1!important}.total-schedule-lesson .lesson-meta{font-size:9px!important;line-height:1.05!important}.digital-board .schedule-lesson{border-left-width:4px!important;border-left-color:var(--lesson-accent, #64748b)!important}.lesson-detail-dialog{width:min(540px,calc(100vw - 28px));max-height:85vh;overflow:auto;padding:20px;border-radius:12px;background:#fff;color:var(--accent-heading);box-shadow:0 20px 60px color-mix(in srgb,var(--accent) 25%,transparent)}.lesson-detail-dialog h3{margin:16px 0;font-size:20px}.lesson-detail-dialog h3 small{color:#718198;font-size:13px}.lesson-detail-list{display:grid;grid-template-columns:minmax(125px,1fr) 2fr;gap:0;margin:0}.lesson-detail-list dt,.lesson-detail-list dd{margin:0;padding:9px 0;border-bottom:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));font-size:13px}.lesson-detail-list dt{color:#718198}.lesson-detail-list dd{font-weight:600}@page{size:landscape;margin:6mm}@media print{html,body{width:100%!important;margin:0!important;padding:0!important;background:#fff!important}body *{visibility:hidden!important;box-shadow:none!important;text-shadow:none!important}.digital-board-multi,.digital-board-multi *{visibility:visible!important}.digital-board-multi{position:absolute!important;left:0!important;top:0!important;width:100%!important;display:block!important}.board-panel{display:block!important;width:100%!important;margin:0!important;padding:0!important;border:0!important;break-after:page!important;page-break-after:always!important}.board-panel:last-child{break-after:auto!important;page-break-after:auto!important}.board-panel-heading{display:block!important;padding:0 0 3mm!important;margin:0!important;border:0!important;background:#fff!important;color:#000!important;font-size:12pt!important}.board-panel-heading strong{font-weight:700!important}.digital-board{display:grid!important;width:100%!important;min-width:0!important;grid-template-columns:12mm repeat(5,minmax(0,1fr))!important;grid-auto-rows:minmax(0,auto)!important;gap:0!important;border:0!important;background:#fff!important}.digital-board .schedule-day,.digital-board .schedule-slot{padding:1mm!important;border:.2mm solid #aaa!important;border-radius:0!important;background:#fff!important;color:#000!important;font-size:7pt!important}.digital-board .schedule-cell,.digital-board .schedule-cell:has(.schedule-lesson){min-height:0!important;padding:.5mm!important;border:.2mm solid #bbb!important;border-radius:0!important;background:#fff!important}.digital-board .schedule-lesson{display:block!important;width:100%!important;min-height:0!important;padding:.5mm!important;border:0!important;border-radius:0!important;background:#fff!important;color:#000!important;text-align:left!important;font-size:7pt!important}.digital-board .schedule-lesson .lesson-title{display:block!important;font-size:7pt!important;font-weight:700!important;line-height:1.05!important}.digital-board .schedule-lesson .lesson-meta{display:block!important;font-size:6pt!important;line-height:1.05!important;color:#222!important}.schedule-pause-slot,.schedule-pause-cell{border:0!important;background:#fff!important;color:#000!important;font-size:6pt!important}.board-view-toolbar,.board-toolbar,.board-edit-toolbar,.board-export-dialog,.modal-backdrop,.lesson-detail-dialog,.sidebar,.topbar,footer,.success-banner,.error-banner{display:none!important}}.content-wide-board{max-width:none!important;width:100%;padding-left:22px!important;padding-right:22px!important}.content-wide-board .page-heading{width:100%}.content-wide-board .table-card,.content-wide-board .module-card,.content-wide-board .digital-board-multi{width:100%;max-width:none}@media (max-width: 680px){.content-wide-board{padding-left:10px!important;padding-right:10px!important}}.board-panel:not(.total-schedule-view) .digital-board .schedule-lesson,.digital-board:not(.compact-total) .schedule-lesson{border-left-color:var(--lesson-accent, #64748b)!important}.total-subhead{border-right:0!important}.content-wide-board .total-schedule-view{margin:0;padding:0}.content-wide-board .total-schedule-scroll{margin:0}.total-schedule-grid{column-gap:0;row-gap:0}.total-schedule-grid>*{margin:0}.total-schedule-lesson{margin:2px!important;width:calc(100% - 4px)!important;min-width:0!important;max-width:none!important;flex:1 1 auto!important}.duty-timetable{gap:3px}.duty-timetable-pause{min-height:72px;padding:7px;gap:3px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:5px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.duty-timetable-cell{min-height:72px;padding:3px;gap:4px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:5px}.duty-timetable-card{gap:3px;padding:4px;border:0;border-left:3px solid #94a3b8;border-radius:3px;box-shadow:none;background:color-mix(in srgb,var(--accent) 4%,var(--surface))!important}.duty-card-top{min-height:22px}.duty-card-top .teacher-code-chip{padding:3px 5px;font-size:10px}.duty-timetable-card .duty-week-pill{padding:2px 4px}.duty-timetable-card select{min-height:25px;padding:3px 5px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:3px;background:#fff;font-size:10px}.duty-timetable-card .duty-location-select{font-weight:500}@media print{.digital-board-multi .schedule-grid{gap:0!important}.digital-board-multi .schedule-lesson{margin:1px!important;padding:2px!important;border:1px solid #777!important;border-left:3px solid var(--lesson-accent, #777)!important;border-radius:0!important}.digital-board-multi .schedule-cell,.digital-board-multi .schedule-slot{border:1px solid #999!important}.digital-board-multi .board-panel{margin:0 0 8px!important;padding:0!important;break-after:page}}.content:has(.digital-board-multi) .module-card{border:0!important}.content:has(.digital-board-multi) .board-filter{padding:0!important}.board-button-group button.selected,.board-view-tabs button.selected{background:var(--accent-text)!important;border-color:var(--accent-text)!important}.board-button-group button,.board-view-tabs button,.board-edit-toolbar button,.total-schedule-toolbar button,.board-actions button{font-size:12px!important;font-weight:600!important}.board-edit-toolbar{margin-top:12px}.total-schedule-toolbar{margin:0 0 12px;padding:8px 12px!important;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;background:var(--surface)}.total-schedule-toolbar .total-group-buttons{display:flex;gap:0}.total-schedule-toolbar .total-group-buttons button{min-height:36px;padding:7px 13px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--surface));border-radius:0;background:#fff;color:#334155;font:inherit;font-size:12px;font-weight:600;cursor:pointer}.total-schedule-toolbar .total-group-buttons button:first-child{border-radius:7px 0 0 7px}.total-schedule-toolbar .total-group-buttons button:last-child{border-radius:0 7px 7px 0}.total-schedule-toolbar .total-group-buttons button+button{margin-left:-1px}.total-schedule-toolbar .total-group-buttons button.selected{position:relative;z-index:1;background:var(--accent-text);border-color:var(--accent-text);color:#fff}.total-schedule-grid .total-entity-head,.total-schedule-grid .total-row-label{border-right:0!important}.total-schedule-grid .total-slot,.total-schedule-grid .total-subhead,.total-schedule-grid .total-day-head{border-left-width:1px!important}.total-schedule-grid .total-row-label,.total-schedule-grid .total-slot{padding-top:7px!important;padding-bottom:7px!important}.success-banner,.error-banner{position:fixed!important;top:16px!important;right:16px!important;z-index:9999!important;width:300px!important;max-width:calc(100vw - 32px)!important;margin:0!important;padding:12px 14px 16px!important;box-shadow:0 8px 28px color-mix(in srgb,var(--accent) 19%,transparent)!important;overflow:hidden!important;animation:banner-progress 10s linear forwards}.success-banner:after,.error-banner:after{content:"";position:absolute;bottom:0;left:0;height:4px;width:100%;background:currentColor;transform-origin:left;animation:banner-progress-bar 10s linear forwards;opacity:.55}@keyframes banner-progress-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes banner-progress{0%,99%{visibility:visible;opacity:1}to{visibility:hidden;opacity:0}}.content:has(.digital-board-multi)>.module-card,.content:has(.total-schedule-view)>.module-card,.content .duty-planner{border:0!important}.total-schedule-view .total-group-buttons{border:0!important}.total-row-selector-icon{display:inline-flex;align-items:center;justify-content:center;color:#52647a;margin-right:7px;vertical-align:middle}.total-row-selector{display:flex;align-items:center;gap:6px}.board-edit-toolbar .board-count-control{display:inline-flex;align-items:center;gap:7px;padding:0 5px}.board-edit-toolbar .board-count-control select{min-height:36px;border:1px solid color-mix(in srgb,var(--accent) 26%,var(--surface));border-radius:7px;padding:6px 9px;background:#fff;color:#334155;font:inherit}.board-edit-toolbar button:has(svg.lucide-sparkles){background:var(--accent-text)!important;border-color:var(--accent-text)!important;color:#fff!important;font-weight:750!important;box-shadow:0 2px 5px color-mix(in srgb,var(--accent) 20%,transparent)}.duty-planner .duty-timetable-card{padding:8px;gap:6px;border:1px solid color-mix(in srgb,var(--accent) 17%,var(--surface));border-left:4px solid var(--duty-accent, #64748b);border-radius:8px;background:#fff!important;box-shadow:0 2px 5px color-mix(in srgb,var(--accent) 4%,transparent)}.duty-planner .duty-timetable-card select{min-height:32px;border-radius:6px;padding:5px 7px;font-size:12px}.duty-planner .duty-timetable-card .duty-week-pill{border-radius:5px;padding:3px 6px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text);font-weight:700}.lesson-conflict-details ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.lesson-conflict-details li{display:grid;gap:3px;padding:9px 11px;border:1px solid #fecaca;border-radius:7px;background:#fff7f7;color:#991b1b}.lesson-conflict-details li strong{font-size:11px;text-transform:capitalize}.lesson-conflict-details li span{font-size:12px;line-height:1.45}.time-grid-page .field-help{margin:8px 0 0;color:var(--muted, #64748b);font-size:.88rem;line-height:1.45}.time-grid-page .form-error{margin:12px 0;padding:10px 12px;border:1px solid #dc2626;border-radius:8px;color:#b91c1c;background:#fef2f2}.time-grid-page .form-field textarea{width:100%;min-height:110px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.time-grid-page .entity-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}.time-grid-page .time-grid-section+.time-grid-section{margin-top:24px;padding-top:20px;border-top:1px solid var(--border, #e2e8f0)}.planning-slider-field{gap:8px}.planning-slider-label{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.planning-slider-label output{color:var(--accent, #2563eb);font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}.planning-slider-field input[type=range]{width:100%;accent-color:var(--accent, #2563eb);cursor:pointer;padding:0}.planning-slider-field .field-help{line-height:1.45}.planning-slider-field select[multiple]{min-height:160px}.planning-settings-page{overflow:hidden;padding:0;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.planning-intro-panel{display:flex;align-items:flex-start;gap:16px;padding:25px 28px;background:#fff;border-bottom:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface))}.planning-intro-icon{display:grid;place-items:center;flex:0 0 46px;width:46px;height:46px;border-radius:12px;color:var(--accent-text);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.planning-kicker{display:block;margin-bottom:6px;color:#66819e;font-size:10px;font-weight:800;letter-spacing:.11em}.planning-intro-panel h2{margin:0;color:var(--accent-heading);font-size:19px;letter-spacing:-.025em}.planning-intro-panel p{max-width:790px;margin:8px 0 0;color:#718096;font-size:13px;line-height:1.6}.planning-settings-section{padding:25px 28px 27px;border-bottom:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface))}.planning-settings-section:last-of-type{border-bottom:0}.planning-section-heading{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.planning-step{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:9px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text);font-size:13px;font-weight:800}.planning-section-heading h3{margin:1px 0 0;color:var(--accent-heading);font-size:16px;line-height:1.35}.planning-section-heading p{max-width:850px;margin:6px 0 0;color:#748397;font-size:12px;line-height:1.6}.planning-goals-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.planning-goal-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:17px 18px 15px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:10px;background:#fff;transition:border-color .15s,box-shadow .15s}.planning-goal-card:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)}.planning-goal-top{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.planning-goal-top strong{color:var(--accent-heading);font-size:13px;font-weight:700;line-height:1.45}.planning-goal-top output{flex:0 0 auto;color:var(--accent-text);font-size:20px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.planning-goal-top output small,.planning-time-budget-control output small{color:#8492a4;font-size:11px;font-weight:600}.planning-goal-card input[type=range],.planning-time-budget-control input[type=range]{display:block;width:100%;height:20px;margin:0;padding:0;accent-color:var(--accent-text);cursor:pointer;background:transparent}.planning-goal-card input[type=range]:focus-visible,.planning-time-budget-control input[type=range]:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:4px}.planning-range-labels{display:flex;justify-content:space-between;gap:8px;margin-top:-8px;color:#8a97a7;font-size:10px}.planning-goal-help{min-height:34px;color:#738196;font-size:11.5px;line-height:1.5}.planning-time-budget-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);align-items:center;gap:25px;margin-top:14px;padding:19px 20px;border:1px solid color-mix(in srgb,var(--accent) 16%,var(--surface));border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.planning-time-budget-card>div:first-child strong{color:var(--accent-heading);font-size:13px}.planning-time-budget-card p{margin:6px 0 0;color:#718096;font-size:11.5px;line-height:1.5}.planning-time-budget-control{display:grid;gap:9px}.planning-time-budget-control output{color:var(--accent-text);font-size:22px;font-weight:800;text-align:right;font-variant-numeric:tabular-nums}.planning-info-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:17px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;background:color-mix(in srgb,var(--accent) 5%,var(--surface));color:var(--accent-text);font-size:11.5px;line-height:1.55}.planning-info-note svg{flex:0 0 auto;margin-top:1px;color:var(--accent-text)}.planning-info-note strong{color:var(--accent-heading)}.planning-link-builder{padding:17px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:11px;background:#fff}.planning-link-builder-heading,.planning-subsection-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.planning-link-builder-heading h4,.planning-subsection-heading h4{margin:0;color:var(--accent-heading);font-size:13px}.planning-link-builder-heading p{margin:4px 0 0;color:#8190a2;font-size:11px}.planning-search-field{display:flex;align-items:center;gap:9px;margin:15px 0 12px;padding:0 12px;min-height:40px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:8px;background:#fff;color:#8795a7}.planning-search-field:focus-within{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)}.planning-search-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--accent-heading);font:inherit;font-size:12px}.planning-requirement-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;max-height:360px;overflow:auto;padding:2px 3px 3px 2px}.planning-requirement-option{position:relative;display:flex;align-items:flex-start;gap:10px;min-width:0;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:9px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s}.planning-requirement-option:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--surface));background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.planning-requirement-option.selected{border-color:var(--accent-text);background:color-mix(in srgb,var(--accent) 6%,var(--surface))}.planning-requirement-option input{position:absolute;width:1px;height:1px;opacity:0}.planning-requirement-option:focus-within{outline:2px solid var(--accent-text);outline-offset:2px}.planning-requirement-check{display:grid;place-items:center;flex:0 0 19px;width:19px;height:19px;border:1px solid color-mix(in srgb,var(--accent) 27%,var(--surface));border-radius:5px;background:#fff;color:#fff;font-size:12px;font-weight:800}.planning-requirement-option.selected .planning-requirement-check{border-color:var(--accent-text);background:var(--accent-text)}.planning-requirement-copy{display:grid;gap:4px;min-width:0}.planning-requirement-copy strong{overflow-wrap:anywhere;color:var(--accent-heading);font-size:11.5px;line-height:1.4}.planning-requirement-copy span,.planning-requirement-copy small{color:#718096;font-size:10.5px;line-height:1.4}.planning-selected-label{margin-left:auto;flex:0 0 auto;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--accent-text);font-size:9px;font-weight:750}.planning-link-builder-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface))}.planning-link-builder-footer>span{color:#718096;font-size:11px;line-height:1.4}.planning-link-builder-footer .primary-btn:disabled{opacity:.45;cursor:not-allowed}.planning-existing-groups{margin-top:22px}.planning-subsection-heading{margin-bottom:11px}.planning-subsection-heading>span{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:7px;background:color-mix(in srgb,var(--accent) 8%,var(--surface));color:var(--accent-text);font-size:11px;font-weight:800}.planning-course-group-card{margin-top:10px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:10px;background:#fff}.planning-course-group-title{display:flex;align-items:center;gap:10px}.planning-group-icon,.planning-rule-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:8px;background:color-mix(in srgb,var(--accent) 7%,var(--surface));color:var(--accent-text)}.planning-course-group-title>div{display:grid;gap:3px;flex:1;min-width:0}.planning-course-group-title>div strong{color:var(--accent-heading);font-size:12px}.planning-course-group-title>div small{color:#8190a2;font-size:10px}.planning-course-members{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:13px 0 0 44px}.planning-course-member{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:9px 10px;border:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface));border-radius:7px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.planning-course-member>span{display:grid;gap:4px;min-width:0}.planning-course-member strong{overflow-wrap:anywhere;color:var(--accent-heading);font-size:10.5px}.planning-course-member small{color:#8190a2;font-size:10px}.planning-course-member button{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:6px;background:#fff;color:#75859a;font-size:18px;cursor:pointer}.planning-course-member button:hover{border-color:#e6b9b6;background:#fff4f3;color:#b43f37}.planning-empty-state{display:flex;flex-direction:column;align-items:center;gap:7px;padding:25px 15px;border:1px dashed color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:9px;background:#fff;color:#8b99aa;text-align:center}.planning-empty-state strong{color:#52657b;font-size:12px}.planning-empty-state p,.planning-empty-message{max-width:460px;margin:0;color:#8391a2;font-size:11px;line-height:1.55}.planning-rule-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:13px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:10px;background:#fff}.planning-lock-form{grid-template-columns:repeat(3,minmax(0,1fr))}.planning-rule-form .form-field{display:flex;flex-direction:column;gap:7px;min-width:0;color:#52657b;font-size:11px;font-weight:650}.planning-rule-form .form-field select,.planning-rule-form .form-field input{width:100%;min-width:0;min-height:39px;padding:8px 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--surface));border-radius:7px;outline-color:var(--accent-text);background:#fff;color:var(--accent-heading);font:inherit;font-size:12px;font-weight:450}.planning-rule-form .form-field select:focus,.planning-rule-form .form-field input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 7%,transparent)}.planning-form-action{display:flex;align-items:end;min-height:39px}.planning-form-action .secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:39px;width:100%;border-color:color-mix(in srgb,var(--accent) 22%,var(--surface));color:var(--accent-text);font-weight:650}.planning-form-action .secondary-btn:hover{background:color-mix(in srgb,var(--accent) 5%,var(--surface));border-color:color-mix(in srgb,var(--accent) 35%,var(--surface))}.planning-rule-list{display:grid;gap:8px;margin-top:12px}.planning-rule-row{display:flex;align-items:center;gap:11px;padding:11px 12px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:8px;background:#fff}.planning-rule-row>div{display:grid;gap:4px;flex:1;min-width:0}.planning-rule-row>div strong{overflow-wrap:anywhere;color:var(--accent-heading);font-size:11.5px}.planning-rule-row>div small{color:#7b899b;font-size:10.5px;line-height:1.4}.planning-list-empty{margin:0;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 17%,var(--surface));border-radius:8px;color:#8795a6;font-size:11px;text-align:center}.planning-save-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0;padding:20px 28px;border-top:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));background:#fff}.planning-save-bar>div{display:grid;gap:4px}.planning-save-bar>div strong{color:var(--accent-heading);font-size:12px}.planning-save-bar>div span{color:#7a899a;font-size:11px}.planning-save-bar .primary-btn{min-height:40px}@media (max-width: 900px){.planning-settings-section{padding:21px 18px}.planning-goals-grid{grid-template-columns:1fr}.planning-rule-form,.planning-lock-form{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-requirement-picker,.planning-course-members{grid-template-columns:1fr}}@media (max-width: 600px){.planning-intro-panel{padding:19px 15px;gap:11px}.planning-intro-icon{flex-basis:38px;width:38px;height:38px}.planning-intro-panel h2{font-size:16px}.planning-settings-section{padding:19px 13px}.planning-section-heading{gap:9px}.planning-time-budget-card{grid-template-columns:1fr;gap:14px;padding:15px}.planning-time-budget-control output{text-align:left}.planning-rule-form,.planning-lock-form{grid-template-columns:1fr;padding:12px}.planning-link-builder{padding:12px}.planning-link-builder-footer,.planning-save-bar{align-items:stretch;flex-direction:column}.planning-link-builder-footer .primary-btn,.planning-save-bar .primary-btn{width:100%}.planning-course-members{margin-left:0}.planning-save-bar{padding:17px 13px}.planning-selected-label{display:none}}.planning-progress-panel{margin:10px 0 16px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--surface));border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--surface));color:var(--accent-heading)}.planning-progress-top{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:13px}.planning-progress-top strong{display:flex;align-items:center;gap:8px}.planning-progress-track{height:8px;background:color-mix(in srgb,var(--accent) 15%,var(--surface));border-radius:99px;overflow:hidden;margin:10px 0}.planning-progress-track>div{height:100%;background:var(--accent-text);border-radius:99px;transition:width .25s ease}.planning-progress-panel p{font-size:12px;margin:0 0 8px;color:#475569}.planning-progress-panel ol{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0;padding-left:18px;font-size:11px;color:#64748b}.planning-progress-panel li.done{color:#176b45;font-weight:650}.unplaced-lesson-tray{margin-top:16px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:10px;background:color-mix(in srgb,var(--accent) 4%,var(--surface))}.unplaced-tray-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.unplaced-tray-heading strong{font-size:14px;color:var(--accent-heading)}.unplaced-tray-heading p{font-size:12px;color:#64748b;margin:4px 0 0}.unplaced-tray-heading>span{white-space:nowrap;padding:5px 9px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:#334155;font-size:11px;font-weight:700}.unplaced-tray-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.unplaced-tray-group{min-width:0;padding:10px;background:#fff;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:8px}.unplaced-tray-group h4{margin:0 0 8px;font-size:12px;color:#334155}.unplaced-tray-tiles{display:flex;flex-wrap:wrap;gap:7px}.unplaced-lesson-tile{display:flex;flex-direction:column;gap:3px;max-width:100%;padding:7px 9px;border:0;border-left:4px solid;border-radius:5px;text-align:left;cursor:grab;font:inherit}.unplaced-lesson-tile strong{font-size:11px}.unplaced-lesson-tile span{font-size:10px;opacity:.9}.unplaced-lesson-tile:active{cursor:grabbing}@media (max-width: 760px){.planning-progress-panel ol{display:block}.planning-progress-panel li{margin:4px 0}.unplaced-tray-heading{flex-direction:column}}.unplaced-lesson-tray{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#fff}.unplaced-tray-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:36px;padding:0 2px;border:0;background:transparent;color:#334155;text-align:left;cursor:pointer}.unplaced-tray-toggle>span{display:flex;align-items:center;gap:12px}.unplaced-tray-toggle strong{font-size:12px;font-weight:700}.unplaced-tray-toggle small{padding:4px 8px;border-radius:99px;background:color-mix(in srgb,var(--accent) 14%,var(--surface));color:#334155;font-size:10px;font-weight:700}.unplaced-tray-toggle svg{transform:rotate(90deg);color:#64748b}.unplaced-tray-toggle[aria-expanded=true] svg{transform:rotate(-90deg)}.unplaced-tray-groups{padding-top:8px;border-top:1px solid color-mix(in srgb,var(--accent) 11%,var(--surface))}.unplaced-lesson-tile{width:50px!important;min-width:50px!important;max-width:50px!important;min-height:34px!important;flex:0 0 50px!important;margin:2px!important;padding:2px!important;border-left-width:3px!important;border-radius:3px!important}.unplaced-lesson-tile .lesson-title{font-size:10px!important;line-height:1.1!important}.unplaced-lesson-tile .lesson-meta{font-size:9px!important;line-height:1.05!important}.block-week-warning{margin:8px 0 0!important;padding:9px 11px;border:1px solid color-mix(in srgb,#5b4bd2 45%,white);border-radius:7px;background:color-mix(in srgb,#5b4bd2 12%,white);color:#5b4bd2!important;font-size:12px!important;font-weight:650}@media (min-width: 1100px){.planning-goals-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}.planning-goal-card{padding:12px 14px;gap:8px}.planning-minimum-control{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}.planning-minimum-control input{width:72px;min-height:40px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.board-controls-panel{margin:10px 0 14px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 19%,var(--surface));border-radius:10px;background:#fff}.board-controls-panel .board-filter{padding:0!important}.board-controls-panel .hint{padding:8px 0 10px}.board-controls-panel .board-edit-toolbar{margin:0;padding:8px 0 0;border:0;border-top:1px solid color-mix(in srgb,var(--accent) 9%,var(--surface))}.board-edit-toolbar .board-lock,.board-edit-toolbar button[aria-label=Rückgängig],.board-edit-toolbar button[aria-label=Wiederholen],.board-edit-toolbar button[aria-label=Speichern]{width:38px;min-width:38px;padding:0;justify-content:center}.total-group-buttons{background-color:transparent!important}.content-wide-board>.module-card{background:transparent!important;border-radius:0!important}.content-wide-board .board-edit-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;border:0!important;border-top:0!important;border-bottom:0!important}.content-wide-board .board-edit-toolbar>*{order:0}.content-wide-board .board-edit-toolbar>button:nth-child(1){order:6}.content-wide-board .board-edit-toolbar>button:nth-child(2){order:1}.content-wide-board .board-edit-toolbar>button:nth-child(3){order:8}.content-wide-board .board-edit-toolbar>button:nth-child(4){order:2}.content-wide-board .board-edit-toolbar>button:nth-child(5){order:3}.content-wide-board .board-edit-toolbar>button:nth-child(6){order:4}.content-wide-board .board-edit-toolbar>button:nth-child(7){order:7}.content-wide-board .board-edit-toolbar>button:nth-child(8){order:5}.content-wide-board .board-edit-toolbar .board-lock,.content-wide-board .board-edit-toolbar button[aria-label=Rückgängig],.content-wide-board .board-edit-toolbar button[aria-label=Wiederholen],.content-wide-board .board-edit-toolbar button[aria-label=Speichern]{width:38px;min-width:38px;padding:0;justify-content:center;font-size:0}.content-wide-board .board-controls-panel .board-edit-toolbar{margin:0;padding:8px 0 0;border:0!important}.content-wide-board .board-view-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.content-wide-board .board-week-control,.total-week-control{display:inline-flex;align-items:center;gap:8px;color:#52657b;font-size:12px;font-weight:650;white-space:nowrap}.content-wide-board .board-week-control select,.total-week-control select{min-height:34px;padding:6px 10px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--surface));border-radius:7px;background:#fff;color:var(--accent-heading);font:inherit}.content-wide-board .page-heading{align-items:center}.content-wide-board .board-settings-btn{flex:0 0 auto;box-shadow:0 3px 10px color-mix(in srgb,var(--accent) 15%,transparent);font-weight:700}.total-schedule-toolbar{display:flex;align-items:center;gap:14px}.total-schedule-toolbar .total-week-control{margin-right:auto}.total-group-buttons{background:transparent!important}@media (max-width: 700px){.content-wide-board .board-view-toolbar{align-items:stretch;flex-direction:column}.content-wide-board .page-heading{align-items:flex-start}.content-wide-board .board-settings-btn{margin-top:8px}}.content-wide-board .board-edit-toolbar [data-board-action=pdf]{order:6}.content-wide-board .board-edit-toolbar [data-board-action=clear]{order:7}.content-wide-board .board-edit-toolbar [data-board-action=plan]{order:8}.content-wide-board .board-heading-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto}.content-wide-board .board-edit-toolbar [data-board-action=lock]{order:1}.content-wide-board .board-edit-toolbar [data-board-action=undo]{order:2}.content-wide-board .board-edit-toolbar [data-board-action=redo]{order:3}.content-wide-board .board-edit-toolbar [data-board-action=save]{order:4}.content-wide-board .board-edit-toolbar [data-board-action=reset]{order:5}.content-wide-board .board-edit-toolbar [data-board-action=clear]{order:6}.content-wide-board .board-edit-toolbar [data-board-action=plan]{order:7}.content-wide-board .board-edit-toolbar [data-board-action=week]{order:8}.planning-progress-message{margin:10px 0 0!important;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--accent) 15%,var(--surface));color:#475569!important;font-size:12px;line-height:1.45}.schedule-cell.resource-locked-slot,.total-slot.resource-locked-slot{background:repeating-linear-gradient(135deg,#fff7ed,#fff7ed 6px,color-mix(in srgb,#5b4bd2 12%,white) 6px,color-mix(in srgb,#5b4bd2 12%,white) 12px)}.schedule-resource-lock-badge{display:flex;align-items:center;gap:4px;width:100%;padding:3px 5px;border:1px solid #fdba74;border-radius:5px;background:#fff7ed;color:#9a3412;font-size:9px;font-weight:750;line-height:1.2}.schedule-resource-lock-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.total-resource-lock{display:grid;place-items:center;width:16px;height:16px;margin:0 auto 2px;border:1px solid #fdba74;border-radius:4px;background:#fff7ed;color:#9a3412;pointer-events:none}.board-planning-active .digital-board,.board-planning-active .total-schedule-scroll{pointer-events:none;opacity:.9}.balance-month-nav{display:flex;align-items:flex-end;gap:8px}.public-holiday-day{background:#e8f1ff!important;border-color:#9bbcf0!important}.public-holiday-day em{color:#245aa5!important}.calendar-day em{line-height:1.15}.teacher-open-row{font-style:italic}.teacher-open-row span{font-weight:800}.page-heading-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.database-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;flex-wrap:wrap}.database-heading-actions .secondary-btn,.database-heading-actions .primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px}.visually-hidden-file{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.database-create-form{grid-template-columns:minmax(220px,1fr) minmax(320px,1.25fr) auto}.database-create-year{display:grid;gap:7px;min-width:0}.database-create-year>.field-label,.school-year-editor>.field-label{color:var(--accent-heading);font-size:12px;font-weight:700}.school-year-range{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:end;gap:10px}.school-year-range.compact{gap:8px}.school-year-range label{display:grid;gap:6px;min-width:0;color:#738198;font-size:10px;font-weight:750;letter-spacing:.02em}.school-year-separator{display:grid;place-items:center;min-height:40px;padding-bottom:1px;color:#9aa6b5;font-weight:800}.school-year-range select,.database-dialog select,.identity-form select{width:100%;min-width:0;min-height:40px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:9px;background:var(--surface, #fff);color:var(--accent-heading);padding:8px 34px 8px 11px;outline:none;font:inherit;font-weight:600;box-shadow:0 1px 2px #182d4b06;transition:border-color .16s ease,box-shadow .16s ease}.school-year-range select:hover,.database-dialog select:hover,.identity-form select:hover{border-color:color-mix(in srgb,var(--accent) 32%,var(--surface))}.school-year-range select:focus,.database-dialog select:focus,.identity-form select:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.database-dates{display:grid;grid-template-columns:1fr 1fr;gap:9px 10px;margin:0 0 15px}.database-dates label{display:grid;gap:5px;color:#738198;font-size:10px;font-weight:700}.database-dates input{width:100%;min-width:0;min-height:35px;border:1px solid color-mix(in srgb,var(--accent) 14%,var(--surface));border-radius:8px;background:var(--surface, #fff);color:var(--accent-heading);padding:6px 8px;font:inherit;font-size:11px;outline:none}.database-dates input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 8%,transparent)}.database-dates small{grid-column:1/-1;color:#8b97a7;font-size:9px;line-height:1.45}.database-dates small a{color:var(--accent-text);text-decoration:none}.database-card-actions{flex-wrap:wrap;align-items:center}.database-card-actions>.primary-btn,.database-card-actions>.secondary-btn{flex:1 1 150px}.database-card-tools{display:flex;align-items:center;gap:6px;flex:1 0 100%;padding-top:2px}.database-card-tools .icon-btn{flex:1 1 34px;width:auto;min-width:34px;max-width:44px}.database-card-tools .danger-btn{margin-left:auto}.database-dialog{width:min(560px,calc(100vw - 32px));padding:24px}.database-dialog .form-heading>div{display:grid;gap:4px}.database-dialog .form-heading small{color:#8190a3;font-size:11px;font-weight:500}.school-year-editor{display:grid;gap:10px;margin:20px 0 4px;padding:16px;border:1px solid color-mix(in srgb,var(--accent) 12%,var(--surface));border-radius:12px;background:color-mix(in srgb,var(--accent) 3%,var(--surface))}.school-year-editor>small{color:#8491a3;font-size:10px;line-height:1.45}.database-dialog-field{display:grid;gap:7px;margin:18px 0;color:var(--accent-heading);font-size:12px;font-weight:700}.database-dialog-field input{width:100%;min-height:40px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--surface));border-radius:9px;background:var(--surface, #fff);color:var(--accent-heading);padding:9px 11px;outline:none;font:inherit}.database-dialog-field input:focus{border-color:var(--accent-text);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 10%,transparent)}.database-rollover-option{display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 13%,var(--surface));border-radius:11px;background:color-mix(in srgb,var(--accent) 2%,var(--surface));cursor:pointer}.database-rollover-option input{width:17px;height:17px;margin-top:2px;accent-color:var(--accent-text)}.database-rollover-option>span{display:grid;gap:4px}.database-rollover-option strong{color:var(--accent-heading);font-size:12px}.database-rollover-option small{color:#7d8999;font-size:10px;line-height:1.45;font-weight:500}.database-rollover-note{display:flex;align-items:flex-start;gap:11px;margin-top:12px;padding:13px 14px;border-radius:10px;background:color-mix(in srgb,var(--accent) 6%,var(--surface));color:var(--accent-text)}.database-rollover-note>div{display:grid;gap:4px}.database-rollover-note strong{font-size:11px}.database-rollover-note span{color:#66758a;font-size:10px;line-height:1.45}.database-dialog .form-actions{margin-top:20px}@media (max-width: 720px){.database-heading-actions{width:100%;justify-content:stretch}.database-heading-actions button{flex:1}.database-create-form{grid-template-columns:1fr}.school-year-range{grid-template-columns:1fr auto 1fr}.database-dates{grid-template-columns:1fr}.database-dates small{grid-column:auto}.database-card-tools{justify-content:stretch}.database-card-tools .icon-btn{max-width:none}.database-dialog{padding:18px}}.balance-summary-card .secondary-btn{margin-left:auto;flex-shrink:0}.balance-view-tabs{margin:12px 20px}.balance-class-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;padding:4px 20px 14px}.balance-class-filters>label:not(.checkbox-control){display:flex;flex-direction:column;gap:5px;font-size:12px;min-width:170px}.balance-class-filters select{padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:inherit}.balance-explanation{margin:8px 20px 16px;font-size:12px;line-height:1.6;color:var(--muted)}.balance-page tfoot th{border-top:2px solid var(--line);font-weight:700}@media (max-width: 650px){.balance-summary-card{flex-wrap:wrap}.balance-summary-card .secondary-btn{margin-left:0;width:100%}.balance-class-filters{padding:4px 12px 14px}.balance-class-filters>label:not(.checkbox-control){width:100%}.balance-view-tabs{margin:12px}.balance-explanation{margin:8px 12px 16px}}:root{--accent: #5b4bd2;--accent-ink: #fff;--app-bg: #f4f6f9;--surface: #fff;--raised: #f6f8fb;--ink: #202a38;--muted: #66758a;--line: #dce3eb;--button-radius: 8px;--button-font: 13px}:root{--accent-text: color-mix(in srgb, var(--accent) 70%, var(--ink));--accent-heading: color-mix(in srgb, var(--accent) 30%, var(--ink));--accent-soft: color-mix(in srgb, var(--accent) 12%, var(--surface));--accent-line: color-mix(in srgb, var(--accent) 45%, var(--line))}html[data-theme=dark]{color-scheme:dark;--app-bg: #0b1017;--surface: #182331;--raised: #29394b;--ink: #f4f7fc;--muted: #c0ccdc;--line: #596d85}html[data-theme=dark]{--accent-text: color-mix(in srgb, var(--accent) 45%, var(--ink))}body{background:var(--app-bg);color:var(--ink)}.brand{gap:11px}.brand-mark{width:45px!important;height:45px!important;background:none!important;box-shadow:none!important;flex:0 0 45px!important;border-radius:0!important;transform:none!important}.brand-mark img{display:block;width:45px;height:45px;object-fit:contain}.brand strong{font-size:17px;white-space:nowrap}.brand small{letter-spacing:.04em;font-size:11px;text-transform:none}.sidebar nav>.nav-caption{margin-top:25px}.nav-item.selected{border-left:0!important;box-shadow:none!important;background:color-mix(in srgb,var(--accent) 15%,transparent)!important;color:var(--ink)!important}.nav-item.selected:before,.nav-item.selected:after{display:none!important}.nav-item.selected svg{color:var(--accent)!important}.primary-btn,.secondary-btn,.icon-btn,.text-btn,.board-edit-toolbar button,.board-heading-actions button,.form-actions button,.module-toolbar button{border-radius:var(--button-radius)!important;font-size:var(--button-font)!important;font-weight:600;line-height:1.3}.primary-btn,.board-edit-toolbar button[data-board-action=plan],.planning-settings-actions .primary-btn{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important;box-shadow:none!important}.primary-btn:hover,.board-edit-toolbar button[data-board-action=plan]:hover{filter:brightness(.94)}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 65%,transparent);outline-offset:3px}input[type=checkbox],input[type=range],input[type=radio]{accent-color:var(--accent)!important}.board-view-tabs button.selected,.board-tabs button.selected,.total-group-buttons button.selected,.week-toggle button.selected,.board-button-group button.selected,.tab-strip button.active{background:color-mix(in srgb,var(--accent) 18%,var(--surface))!important;border-color:var(--accent)!important;color:var(--ink)!important}.text-btn,.imprint-page a,.planning-slider-label output{color:var(--accent)}.brand strong span,.dashboard-kicker{color:var(--accent)!important}.sidebar .imprint-link{background:transparent;color:var(--muted);border:0;box-shadow:none}.duty-planner .duty-timetable-card .duty-week-pill{background:var(--raised);color:var(--muted)}input[type=color]{height:40px!important;min-width:64px;padding:4px!important;background:var(--raised)!important;border:1px solid var(--line)!important;border-radius:8px}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:0;border-radius:4px}.board-tabs button{background:var(--raised);color:var(--ink)}html[data-theme=dark] :is(.local-status,.database-section){border-color:var(--line)!important}html[data-theme=dark] :is(.abatement-editor,.multi-select-wrap){background:var(--surface);border-color:var(--line)}html[data-theme=dark] .multi-select-summary{background:var(--raised);color:var(--muted);border-color:var(--line)}html[data-theme=dark] .entity-form .form-heading{border-color:var(--line)}.subjects-field{grid-column:span 2;min-width:0}.subjects-field .multi-select-wrap{width:100%;max-width:none}.subjects-field .multi-select-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:280px}.subjects-field .multi-option{width:auto;min-width:0}.subjects-field .multi-option span{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}.imprint-page{max-width:760px;padding:30px;line-height:1.7}.imprint-page h2{margin-top:0}.imprint-page h3{margin-top:24px}.imprint-page address{font-style:normal}.imprint-link{padding:9px 0!important}.embedded-duty{padding:16px 0}.duty-planner{padding:0!important;margin:0!important;border:0!important;background:transparent!important}.duty-planner>.module-toolbar{padding:0 0 18px;border:0;gap:12px}.duty-planner>.module-toolbar>div{flex:1}.duty-planner>.module-toolbar p{display:none}.duty-planner .duty-create-form{margin:0;padding:16px;border:0;border-radius:12px 12px 0 0;background:var(--raised);gap:12px}.duty-planner .duty-filters{margin:0 0 20px;padding:0 16px 16px;border:0;border-radius:0 0 12px 12px;background:var(--raised);gap:12px}.duty-planner .duty-timetable-wrap{border:0;border-radius:0;background:transparent;box-shadow:none}.duty-planner .duty-timetable{gap:8px;background:transparent;padding:0}.duty-planner .duty-timetable-day,.duty-planner .duty-timetable-corner{padding:10px;background:transparent;border:0;color:var(--muted);font-size:13px}.duty-planner .duty-timetable-pause{border:0;background:transparent;padding:14px 6px}.duty-planner .duty-timetable-cell{background:var(--raised);border:0;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:9px;min-height:150px}.duty-planner .duty-timetable-card{border:0!important;border-left:4px solid var(--duty-color)!important;background:var(--surface)!important;border-radius:8px;box-shadow:none!important;padding:9px!important}.duty-planner .duty-timetable-card select{border:0;background:transparent!important;color:var(--ink);padding:3px 0;min-height:25px;font-size:12px}.duty-planner .duty-week-pill{font-size:10px;background:var(--raised);color:var(--muted)}.duty-drop-hint{font-size:11px;color:var(--muted);opacity:.65}.duty-planner .duty-locations-section{margin:26px 0 0;padding:20px 0 0;border:0;border-top:1px solid var(--line);background:transparent}.duty-locations-heading p,.duty-planner>.hint{display:none}.duty-location-chip{color:#fff!important;border:0!important;box-shadow:none!important}.duty-location-chip button{color:inherit!important}html[data-theme=dark] :is(.sidebar,.topbar,.table-card,.panel-card,.module-card,.feature-list,.metric-card,.board-controls-panel,.board-export-dialog,.lesson-detail-dialog,.entity-form,.placeholder-panel,.dashboard-identity,.database-card,.planning-goal-card,.calendar-week-control,.unplaced-tray-group){background:var(--surface)!important;color:var(--ink)!important;border-color:var(--line)!important;box-shadow:none!important}html[data-theme=dark] :is(.shell,.main,.content){background:var(--app-bg)!important}html[data-theme=dark] :is(h1,h2,h3,h4,.breadcrumbs strong,.table-toolbar strong,.field-label,.form-heading strong,.database-card strong,.balance-card-copy strong,.balance-card-copy b,.school-calendar-heading strong){color:var(--ink)!important}html[data-theme=dark] :is(p,small,label,.breadcrumbs,.nav-caption,.nav-item,.field-label,.hint,.metric-top,.section-title p){color:var(--muted)}html[data-theme=dark] :is(input:not([type=color],[type=checkbox],[type=range]),select,textarea,.secondary-btn,.icon-btn,.search-box){background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}html[data-theme=dark] :is(th,.schedule-day,.schedule-slot,.schedule-corner,.schedule-pause-slot,.schedule-pause-cell,.total-head,.total-subhead,.total-row-label,.board-panel-heading,.board-view-toolbar,.calendar-day,.balance-download-card,.form-section-title,.teacher-form,.requirement-class,.planning-settings-intro,.planning-progress-panel,.availability-day,.multi-option,.planning-summary-card,.substitution-notes-grid,.cover-filter-panel){background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}html[data-theme=dark] :is(td,.schedule-cell,.total-slot,.form-grid,.table-toolbar,.feature-list>div,.location-chips,.duty-location-form){border-color:var(--line)!important}html[data-theme=dark] :is(.schedule-cell,.total-slot,.digital-board,.total-schedule-grid,.unplaced-lesson-tray){background:var(--surface)!important;color:var(--ink)!important}html[data-theme=dark] .editing-row>td{background:var(--raised)!important}html[data-theme=dark] .sidebar-bottom{border-color:var(--line)}html[data-theme=dark] .brand strong{color:var(--ink)}html[data-theme=dark] :is(.calendar-day.holiday-day,.calendar-day.blocked-day,.resource-locked-slot){background:color-mix(in srgb,var(--accent) 14%,var(--surface))!important}html[data-theme=dark] .primary-btn,html[data-theme=dark] .board-edit-toolbar button[data-board-action=plan]{color:var(--accent-ink)!important;background:var(--accent)!important}@media (max-width: 700px){.subjects-field{grid-column:1/-1}.subjects-field .multi-select-options{grid-template-columns:1fr}.duty-planner .duty-timetable{min-width:850px}.brand strong{font-size:16px}}@media print{html[data-theme=dark] body{background:#fff;color:#000}}html[data-theme=dark] .calendar-day.holiday-day em,html[data-theme=dark] .calendar-day.public-holiday-day em,html[data-theme=dark] .calendar-day.holiday-day small{color:var(--ink)!important}.sidebar .nav-item:hover{background:var(--accent-soft);color:var(--ink)}.sidebar .nav-item.selected svg,.dashboard-kicker,.brand strong span{color:var(--accent-text)!important}.board-view-tabs,.board-tabs.board-button-group,.total-schedule-toolbar,.total-row-selector{color:var(--ink);border-color:var(--line)}.board-view-tabs button,.board-tabs.board-button-group button,.total-row-selector button,.total-schedule-toolbar .total-group-buttons button{background:var(--surface);color:var(--ink);border-color:var(--line)}.board-view-tabs button:hover,.board-tabs.board-button-group button:hover,.total-row-selector button:hover{background:var(--accent-soft)}.board-tabs.board-button-group{border-color:var(--line)!important}.feature-state,.requirement-groups span{background:var(--accent-soft);color:var(--accent-text)}.feature-state{border:1px solid var(--accent-line)}.checkbox-field{background:var(--raised);border-color:var(--line);color:var(--ink)}.balance-summary-strip{padding:20px 20px 0;display:flex;align-items:flex-start}.balance-summary-card{width:min(100%,440px);min-height:112px;gap:18px;padding:20px 22px;background:var(--raised);border-color:var(--line);border-radius:12px}.balance-summary-card>div{gap:5px;min-width:0}.balance-summary-card strong{font-size:30px;line-height:1.15;color:var(--ink);font-variant-numeric:tabular-nums}.balance-summary-card small,.balance-summary-card span:not(.balance-summary-icon){font-size:12px;color:var(--muted);line-height:1.4}.balance-summary-icon{width:46px;height:46px;flex-basis:46px;background:var(--accent-soft);color:var(--accent-text)}html[data-theme=dark] :is(.planning-settings-page,.planning-settings-section,.planning-intro-panel,.planning-link-builder,.planning-requirement-option,.planning-course-group-card,.planning-rule-form,.planning-rule-row,.planning-empty-state,.planning-list-empty,.planning-search-field,.planning-course-member button){background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink)}html[data-theme=dark] :is(.planning-time-budget-card,.planning-course-member,.planning-info-note,.planning-requirement-check,.checkbox-field,.requirement-groups span){background:var(--raised)!important;border-color:var(--line)!important;color:var(--ink)}html[data-theme=dark] .planning-save-bar{background:var(--raised);border-color:var(--line)}html[data-theme=dark] :is(.unplaced-tray-toggle,.unplaced-tray-toggle small){color:var(--ink)}html[data-theme=dark] :is(.planning-info-note strong,.planning-goal-top strong,.planning-requirement-copy strong,.planning-course-group-title strong,.planning-course-member strong,.planning-rule-row strong,.planning-time-budget-card strong,.planning-empty-state strong){color:var(--ink)!important}html[data-theme=dark] :is(.planning-step,.planning-intro-icon,.planning-group-icon,.planning-rule-icon,.planning-selected-label,.planning-subsection-heading>span){background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-text)}.planning-requirement-option.selected{background:var(--accent-soft)!important;border-color:var(--accent-line)!important}.planning-requirement-option.selected .planning-requirement-check{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important}html[data-theme=dark] :is(.substitution-page>.module-toolbar,.substitution-page .module-form,.substitution-page .table-wrap,.substitution-page>.inner-module,.substitution-page .cover-filter-panel){background:var(--surface)!important;border-color:var(--line)!important;color:var(--ink)}html[data-theme=dark] .substitution-audience-tabs button{background:var(--raised);color:var(--ink);border-color:var(--line)}.substitution-audience-tabs button.selected{background:var(--accent-soft)!important;border-color:var(--accent-line)!important;color:var(--accent-text)!important}html[data-theme=dark] :is(.time-grid-table td,.time-grid-table-wrap,.holiday-option,.location-color-picker){background:var(--surface);border-color:var(--line);color:var(--ink)}html[data-theme=dark] :is(.time-grid-table th,.time-grid-section,.school-calendar-section,.holiday-picker,.clean-calendar .calendar-toolbar,.clean-calendar .calendar-legend,.time-grid-page .entity-form-grid,.time-grid-page .time-grid-section-heading){border-color:var(--line);color:var(--ink)}html[data-theme=dark] :is(.period-number,.chain-marker,.week-toggle,.calendar-nav-btn){background:var(--raised);border-color:var(--line);color:var(--accent-text)}html[data-theme=dark] .chain-between-rows{box-shadow:0 0 0 3px var(--surface)}html[data-theme=dark] .time-grid-table :is(.no-pause-after,.no-pause-before) td{background:var(--accent-soft)}html[data-theme=dark] :is(.holiday-option strong,.calendar-month-title strong,.calendar-week-control>strong,.cover-filter-panel strong,.duty-timetable-pause strong){color:var(--ink)}html[data-theme=dark] :is(.table-wrap td,.balance-page td,.time-grid-table td){color:var(--ink)}html[data-theme=dark] :is(.holiday-option.active,.calendar-day.holiday-day){background:var(--accent-soft)!important;border-color:var(--accent-line)}html[data-theme=dark] .time-grid-page .form-error{background:color-mix(in srgb,#dc2626 15%,var(--surface));color:#fca5a5}.breadcrumbs span{color:var(--muted)}.topbar-leading{display:flex;align-items:center;gap:16px;min-width:0}.sidebar-toggle{flex:0 0 36px}.sidebar nav{overflow-y:auto;min-height:0}.sidebar nav .nav-item{width:100%}.sidebar-collapsed .sidebar{width:78px;padding-left:12px;padding-right:12px}.sidebar-collapsed .main{margin-left:78px}.sidebar-collapsed .brand{padding:0 0 25px;justify-content:center}.sidebar-collapsed .brand>div:last-child,.sidebar-collapsed .nav-item>span,.sidebar-collapsed .version{display:none}.sidebar-collapsed .nav-caption{height:22px;padding:0;font-size:0;margin:0}.sidebar-collapsed .nav-item{justify-content:center;gap:0;padding:12px;min-height:42px}.sidebar-collapsed .imprint-link{width:100%;padding:12px!important}@media (max-width: 700px){.balance-summary-strip{padding:16px 12px 0}.balance-summary-card{width:100%;padding:17px;gap:14px}}@media (max-width: 680px){.topbar-leading{gap:9px}.topbar .breadcrumbs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar .top-actions{gap:7px}.topbar .offline-pill{display:none}.sidebar-collapsed .sidebar{position:static;width:auto;padding:12px}.sidebar-collapsed .main{margin-left:0}.sidebar-collapsed .brand{justify-content:flex-start;padding-bottom:12px}.sidebar-collapsed .sidebar nav{display:flex;overflow-x:auto;overflow-y:hidden}.sidebar nav .nav-item{width:auto;flex-shrink:0}.sidebar-collapsed .nav-caption{display:none}}.balance-page .balance-metric-cards{display:flex;flex-wrap:nowrap;gap:8px;padding:0 20px 14px;overflow-x:auto}.balance-page .balance-metric-cards .balance-download-card{flex:0 1 180px;width:180px;min-width:140px;min-height:72px;height:72px;padding:10px;gap:8px;border-radius:9px;background:var(--surface);color:var(--ink)}.balance-page .balance-metric-cards .balance-card-icon{width:28px;height:28px;flex-basis:28px;border-radius:7px}.balance-page .balance-metric-cards .balance-card-copy{gap:4px}.balance-page .balance-metric-cards .balance-card-copy strong{font-size:11px;line-height:1.2;color:var(--ink)}.balance-page .balance-metric-cards .balance-card-copy b{font-size:21px;line-height:1;color:var(--ink)}.balance-page .balance-metric-cards .balance-card-download{position:static;flex-shrink:0;margin-left:auto;width:16px;height:18px;align-self:flex-start}@media (max-width: 700px){.balance-page .balance-metric-cards{padding:0 12px 12px}.balance-page .balance-metric-cards .balance-download-card{flex:0 0 150px;min-width:150px}}.balance-page .balance-metric-cards .balance-download-card,.balance-page .balance-metric-cards .balance-download-card:hover{transform:none;transition:none;box-shadow:none}.content>.module-card{border:1px solid var(--line);border-radius:12px!important;background:var(--surface);box-shadow:none}.module-card.substitution-page{overflow:hidden}.substitution-page>.module-toolbar{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:24px;gap:16px;justify-content:flex-start}.substitution-page>.module-toolbar>div:first-child{display:flex;align-items:center;flex-basis:100%;gap:8px}.substitution-page>.module-toolbar .date-stepper{margin-right:auto}.substitution-page>.inner-module>h3{display:inline;vertical-align:middle;margin-right:8px}.substitution-page>.inner-module{margin:0;padding:24px;border:0;border-bottom:1px solid var(--line);border-radius:0}.substitution-page .module-form{background:var(--raised)!important;border:0;border-radius:10px;margin:14px 0 0;padding:16px}.substitution-page>.substitution-audience-tabs{margin:0;padding:12px 24px;border-bottom:1px solid var(--line)}.substitution-page>.substitution-notes-grid{margin:0;padding:20px 24px}.substitution-page>.table-wrap{margin:20px 24px;border-color:var(--line)}.substitution-page>.help-tip{margin:0 24px 20px}.content>.duties-workspace,.duties-workspace .module-card,.duties-workspace .duty-planner{border:0!important;box-shadow:none!important}.page-title-row{display:flex;align-items:center;gap:10px}.module-toolbar h2,.dashboard-section-heading h2,.planning-section-heading h3,.planning-intro-panel h2,.time-grid-section-heading h3,.school-calendar-heading h3,.balance-table-heading h3{display:inline;vertical-align:middle;margin-right:8px}.help-tip{display:inline-flex;vertical-align:middle;flex:0 0 auto;line-height:1}.help-trigger,.help-close{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--muted);cursor:pointer;border-radius:6px;padding:4px;min-width:25px;min-height:25px}.help-trigger:hover,.help-trigger[aria-expanded=true],.help-close:hover{background:var(--accent-soft);color:var(--accent-text)}.help-popover{position:fixed;z-index:1000;width:min(340px,calc(100vw - 32px));max-height:min(360px,calc(100dvh - 32px));overflow:auto;padding:15px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);box-shadow:0 12px 40px #0003;font-size:13px;line-height:1.65;animation:dialog-enter .15s ease-out}.help-popover-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:6px}.help-popover-heading strong{font-size:12px;color:var(--ink)}.help-copy{color:var(--muted)}.planning-goal-card>.help-tip{align-self:flex-end;margin-top:-6px}.planning-settings-section>.help-tip{margin:-10px 0 12px}.planning-requirement-picker{grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),260px));justify-content:start}.planning-requirement-option{width:100%;max-width:260px}.file-export-icon{flex:0 0 auto;vertical-align:middle}.export-pdf{color:#b42332}.export-xls,.export-csv{color:#137344}html[data-theme=dark] .export-pdf{color:#fda4af}html[data-theme=dark] :is(.export-xls,.export-csv){color:#86efac}.primary-btn .file-export-icon{color:inherit}.board-tabs svg,.board-view-tabs svg{flex:0 0 auto}html[data-theme=dark] .digital-board .lesson-meta{color:var(--muted)!important}.secondary-btn.board-lock.unlocked{background:#e7f7ed!important;color:#166534!important;border-color:#86cda0!important}.secondary-btn.danger-btn{background:#fff0f0!important;color:#a51d2d!important;border-color:#efb4b4!important}html[data-theme=dark] .content button.secondary-btn.board-lock.unlocked{background:#153b2b!important;color:#9ce5b6!important;border-color:#397953!important}html[data-theme=dark] .content button.secondary-btn.danger-btn{background:#44232b!important;color:#ffb2bd!important;border-color:#97505c!important}.board-edit-toolbar .intelligent-plan-btn,html[data-theme=dark] .board-edit-toolbar .intelligent-plan-btn,.duty-planner .intelligent-plan-btn{background:var(--accent)!important;border-color:var(--accent)!important;color:var(--accent-ink)!important;box-shadow:0 3px 12px color-mix(in srgb,var(--accent) 18%,transparent)!important}.identity-form{grid-template-columns:minmax(200px,1fr) 140px minmax(200px,auto) auto;gap:16px;align-items:end}.dashboard-kicker{display:block;margin-bottom:8px}.identity-form>label,.identity-form>.favicon-field{min-width:0}.identity-form>.primary-btn{grid-column:auto;justify-self:start;margin-top:0;min-height:42px}.accent-control{display:flex;align-items:center;gap:10px;min-height:42px;color:var(--muted);font-size:11px;font-weight:500}.identity-form .accent-field input[type=color]{width:44px!important;min-width:44px!important;height:36px!important;padding:3px!important;flex:0 0 44px}.favicon-field{display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px 8px}.favicon-field>.field-label{grid-column:1/-1}.identity-form .favicon-upload{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--raised);color:var(--ink);font-size:13px;font-weight:600;cursor:pointer;overflow:hidden}.favicon-upload:hover,.favicon-upload:focus-within{border-color:var(--accent-line);background:var(--accent-soft)}.favicon-upload input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.database-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr));gap:18px}.database-card{min-width:min(100%,370px)}.database-card-actions{flex-wrap:wrap;gap:8px}.database-card-actions .icon-btn{flex-basis:34px}.database-card-actions>.primary-btn,.database-card-actions>.secondary-btn{flex:1 0 100px}.sidebar{transition:width .2s cubic-bezier(.2,.7,.2,1)}.main{transition:margin-left .2s cubic-bezier(.2,.7,.2,1)}.content{animation:workspace-enter .18s ease-out}.modal-backdrop{animation:backdrop-enter .14s ease-out}.board-export-dialog,.lesson-detail-dialog{animation:dialog-enter .18s cubic-bezier(.2,.7,.2,1)}.schedule-lesson,.total-schedule-lesson{animation:lesson-enter .18s ease-out}.tray-collapse{display:grid;grid-template-rows:0fr;opacity:0;visibility:hidden;transition:grid-template-rows .22s ease,opacity .16s ease,visibility 0s .22s}.tray-collapse.expanded{grid-template-rows:1fr;opacity:1;visibility:visible;transition-delay:0s}.tray-collapse-inner{min-height:0;overflow:hidden}@keyframes workspace-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@keyframes backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes dialog-enter{0%{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}@keyframes lesson-enter{0%{opacity:0;scale:.97}to{opacity:1;scale:1}}@media (max-width: 1100px){.identity-form{grid-template-columns:minmax(180px,1fr) minmax(180px,.7fr)}.identity-form>.favicon-field{grid-column:auto;max-width:340px}.identity-form>.primary-btn{grid-column:auto}}@media (max-width: 600px){.identity-form{grid-template-columns:1fr}.identity-form>.favicon-field{width:100%;max-width:none}.identity-form>.primary-btn{justify-self:stretch}.substitution-page>.module-toolbar,.substitution-page>.inner-module{padding:18px 14px}.substitution-page>.substitution-notes-grid{padding:18px 14px}.substitution-page>.substitution-audience-tabs{padding:10px 14px}.substitution-page>.table-wrap{margin:16px 14px}.planning-requirement-picker{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),260px))}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.help-tip,.help-popover{display:none!important}.content{animation:none}.content>.module-card{border:0!important;border-radius:0!important;box-shadow:none!important}.module-card.substitution-page{overflow:visible}}.pdf-format-settings{display:flex;align-items:end;flex-wrap:wrap;gap:16px;margin:16px 0 20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.pdf-format-settings label{display:grid;gap:7px;font-size:12px;font-weight:600;color:var(--ink)}.pdf-format-settings select{min-width:190px;min-height:40px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--raised);color:var(--ink);font:inherit}.pdf-format-settings>span{font-size:12px;color:var(--muted);padding-bottom:10px}.content>.module-card.board-workspace,.duty-planner,.substitution-notes-grid,html[data-theme=dark] .content>.module-card.board-workspace,html[data-theme=dark] .content .duty-planner,html[data-theme=dark] .content .substitution-notes-grid{background:transparent!important}.duty-row-divider{grid-column:1/-1;height:1px;margin:8px 0 16px;background:var(--line)}.duty-timetable>.duty-row-divider:last-child{display:none}.duty-planner .duty-locations-section{padding:24px 0 0;margin:12px 0 0;border-top:1px solid var(--line);background:transparent}.duty-locations-heading>div{display:flex;align-items:center;gap:8px}.duty-locations-heading h3{display:inline-flex;align-items:center;gap:9px;margin:0;font-size:16px}.duty-locations-heading h3 svg{color:var(--accent-text)}.location-count{font-size:12px;color:var(--muted)}.duty-locations-section .duty-location-form{display:grid;grid-template-columns:minmax(200px,1fr) 150px auto;align-items:end;gap:16px;padding:18px;border:0;border-radius:12px;background:var(--raised);margin:16px 0 20px}.duty-location-form label{display:grid;gap:7px;min-width:0;font-size:12px;font-weight:600;color:var(--muted)}.duty-location-form input:not([type=color]){width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);padding:9px 11px;font:inherit}.duty-location-color{display:flex;align-items:center;gap:9px;min-height:40px}.duty-location-color input[type=color]{width:44px!important;min-width:44px!important;height:36px!important;padding:3px!important}.duty-location-color code{font-size:11px;font-weight:500;color:var(--muted)}.duty-location-form .primary-btn{min-height:40px}.duty-location-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:10px;margin:0 0 20px;padding:0;list-style:none}.duty-location-row{display:grid;grid-template-columns:18px minmax(0,1fr) auto 34px;gap:10px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px;background:transparent}.location-swatch{width:18px;height:18px;border-radius:5px;background:var(--location-color)}.duty-location-row strong{font-size:13px;font-weight:600;overflow-wrap:anywhere;color:var(--ink)}.duty-location-row code{font-size:10px;color:var(--muted)}.duty-location-row .icon-btn{width:34px;height:34px}@media (max-width: 650px){.duty-locations-section .duty-location-form{grid-template-columns:1fr}.duty-location-row code{display:none}.duty-location-row{grid-template-columns:18px minmax(0,1fr) 34px}}html[data-theme=dark] .content .board-tabs.board-button-group,html[data-theme=dark] .content .board-view-toolbar{background:transparent!important}.content>.module-card.board-workspace{border-radius:0!important}.lesson-week-layer:not([data-week]){display:contents}.schedule-cell.week-cell-split-vertical{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:0}.week-cell-split-vertical>.lesson-week-layer{display:flex;flex-direction:column;gap:4px;min-width:0;padding:4px}.week-cell-split-vertical>.lesson-week-layer+.lesson-week-layer{border-left:1px solid var(--muted)}.week-layer-label{display:block;color:var(--muted);font-size:9px;font-weight:750;line-height:1.3}.total-slot.week-cell-split-horizontal{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0}.week-cell-split-horizontal>.lesson-week-layer{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;padding:3px 0}.week-cell-split-horizontal>.lesson-week-layer+.lesson-week-layer{border-top:1px solid var(--muted)}.week-cell-split-horizontal .week-layer-label{font-size:8px;padding-left:2px}.database-dates{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.database-dates label{display:grid;gap:5px;min-width:0}.database-dates input{width:100%;min-width:0}.database-dates small{grid-column:1/-1;color:var(--muted)}.cover-planner{display:grid;gap:24px}.cover-planner section{padding:0;background:transparent}.cover-planner h2{font-size:17px;margin:0 0 12px}.cover-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.cover-form-grid label,.cover-preview>label{display:grid;gap:6px}.cover-task{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 0;border-bottom:1px solid var(--border)}.cover-task>div{flex:1;min-width:220px}.cover-task p{margin:5px 0;color:var(--muted)}.cover-task select{flex:2;min-width:180px;max-width:100%}.cover-balance-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px}.cover-preview textarea{width:100%;margin-top:5px}.cover-preview>label{margin-top:14px}.cover-registered summary{cursor:pointer;font-weight:600}.duty-timetable{border:1px solid var(--border);border-radius:0;background:var(--surface);gap:0}.duty-timetable-cell,.duty-timetable-pause{border-right:1px solid var(--border);border-bottom:1px solid var(--border);padding:8px;min-height:100px}.duty-timetable-card{border-radius:0!important;box-shadow:none!important}.duty-timetable-head{background:var(--surface-alt);padding:12px 8px;border-bottom:1px solid var(--border);font-weight:700}@media (max-width: 800px){.cover-balance-grid,.database-dates{grid-template-columns:1fr}}.duty-timetable-corner,.duty-timetable-day{background:var(--surface-alt);border-bottom:1px solid var(--border);padding:12px 8px;font-weight:700}.duty-timetable-cell{display:flex;flex-direction:column;gap:5px}.duty-timetable-card{background:var(--duty-color)!important;color:#fff;padding:6px!important;border:0!important}.duty-timetable-card select{background:transparent!important;color:inherit!important;border:0!important;padding:3px!important;font-size:11px!important;min-height:24px!important}.duty-timetable-card select option{color:#111;background:#fff}.duty-timetable-card .duty-remove{color:inherit}.duty-timetable-pause{background:var(--surface-alt);font-size:12px}:is(.dashboard-page,.cover-planner,.balance-dialog) :is(input:not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea){box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--surface);color:var(--ink);font:inherit;font-size:13px;line-height:1.4;box-shadow:none}:is(.dashboard-page,.cover-planner,.balance-dialog) :is(input,select,textarea):focus{border-color:var(--accent);outline:2px solid var(--accent-soft);outline-offset:1px}:is(.dashboard-page,.cover-planner,.balance-dialog) label:not(.checkbox-control):not(.favicon-upload){font-size:12px;font-weight:600;color:var(--muted);gap:7px}:is(.dashboard-page,.cover-planner,.balance-dialog) input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;margin:0;vertical-align:middle}.database-icon{display:grid;place-items:center;color:var(--accent)}.database-icon svg{display:block;flex-shrink:0;stroke:currentColor}.dashboard-page .identity-form{display:grid;grid-template-columns:minmax(170px,.8fr) minmax(200px,1.2fr) 130px minmax(190px,1fr) auto;gap:18px;align-items:end}.dashboard-page .identity-form>label{display:grid}.database-dates{gap:14px;margin:18px 0}.database-dates label{display:grid}.database-dates input{min-height:40px}.database-dates small{font-size:11px;line-height:1.5}.cover-planner{padding:24px!important;gap:24px}.cover-planner>.module-toolbar{display:flex;flex-wrap:wrap;gap:12px;margin:0;padding:0 0 20px;border-bottom:1px solid var(--line)}.cover-planner .date-stepper{display:flex;align-items:center;gap:10px;margin-right:auto}.cover-planner .date-stepper label{display:grid;gap:6px}.cover-planner .date-stepper>.icon-btn{align-self:end;margin-bottom:3px}.cover-planner .date-stepper input{width:170px}.cover-planner .date-stepper .feature-state{align-self:end;margin-bottom:9px}.cover-preview-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:0 0 16px}.cover-preview-heading h2{margin:0!important}.cover-export-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cover-planner .cover-preview>p{margin:8px 0;color:var(--muted);font-size:13px}.cover-planner .cover-preview>.table-wrap{margin:16px 0}.cover-planner .cover-preview>label{display:grid;margin-top:18px}.cover-preview textarea{min-height:76px;resize:vertical}.cover-planner .cover-absence{padding-top:22px;border-top:1px solid var(--line)}.cover-planner .cover-absence h2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cover-form-grid{gap:18px 20px;margin:18px 0}.cover-form-grid .checkbox-control{display:flex;align-items:center;align-self:end;min-height:40px;gap:8px}.cover-planner .form-actions{display:flex;gap:12px;margin:20px 0 0;flex-wrap:wrap}.cover-task{align-items:start;gap:18px;border-color:var(--line);padding:18px 0}.cover-task-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;flex:2!important;min-width:min(100%,340px)!important}.cover-task-controls>label{display:grid;flex:1 1 300px}.cover-task-controls>button{flex:0 0 auto}.cover-resource-grid{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:14px;width:100%;flex-basis:100%}.cover-resource-grid>label{display:grid;min-width:0}.cover-planner details>summary{cursor:pointer;font-weight:600;color:var(--ink);padding:8px 0}.cover-planner .cover-task strong{font-size:13px}.cover-task-controls p{margin:0}.week-layer-label{display:none!important}.lesson-week-layer[data-week]{background:transparent!important;isolation:auto;overflow:visible}.lesson-week-layer[data-week]:before{content:none!important;background:none!important}.week-cell-split-vertical>.lesson-week-layer{min-height:50px}.week-cell-split-horizontal>.lesson-week-layer{min-height:30px}.week-column-labels{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-top:8px;border-top:1px solid var(--line)}.week-column-labels b{padding:5px 0;font-size:11px;font-weight:700;color:var(--muted);text-align:center}.week-column-labels b+b{border-left:1px solid var(--line)}.schedule-day:has(.week-column-labels){padding:10px 0 0;display:flex;flex-direction:column;align-items:center;justify-content:center}.total-row-label:has(.week-row-labels){display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:stretch;gap:7px;padding-right:0}.total-row-label>span:first-child{align-self:center}.week-row-labels{display:grid;grid-template-rows:1fr 1fr;border-left:1px solid var(--line)}.week-row-labels b{display:grid;place-items:center;font-size:10px;color:var(--muted);font-weight:700}.week-row-labels b+b{border-top:1px solid var(--line)}.board-tabs.board-button-group{background:transparent!important}.edit-heading-actions{display:flex;align-items:center;gap:6px;margin-left:auto}.edit-heading-actions .collapse-editor{margin-left:36px}.form-heading:has(.edit-heading-actions){display:flex;align-items:center;gap:12px}.form-heading .icon-btn{flex:0 0 32px;width:32px;height:32px;min-width:32px;padding:6px}.requirement-add-row{display:flex;align-items:center;margin:0 0 12px}.requirement-groups{margin:0 0 16px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}:is(h2,h3,h4)>.help-tip{display:inline-flex;margin:0 0 0 5px;vertical-align:middle}.module-toolbar>div:has(h2+.help-tip){display:flex;align-items:center;gap:8px;flex-wrap:wrap}.planning-settings-section>h3:has(+.help-tip){display:inline-flex;margin-right:6px}.planning-settings-section>.help-tip{display:inline-flex;margin:0;vertical-align:middle}.balance-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1200;display:grid;place-items:center;background:#0008;padding:24px}.balance-dialog{box-sizing:border-box;width:min(100%,960px);max-height:90vh;display:flex;flex-direction:column;gap:20px;padding:24px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 70px #0005;animation:dialog-enter .15s ease-out;overflow:hidden}.balance-dialog .dialog-heading{display:flex;align-items:start;justify-content:space-between;gap:14px}.balance-dialog h2{display:flex;align-items:center;gap:9px;margin:0;font-size:18px}.balance-dialog p{margin:7px 0 0;color:var(--muted);font-size:12px}.balance-summary-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.balance-summary-strip>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid currentColor;border-radius:9px}.balance-summary-strip strong{font-size:24px}.balance-summary-strip span{font-size:12px;font-weight:600}.balance-dialog-tools{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.balance-dialog-tools .board-view-tabs{margin-right:auto}.balance-search{display:grid;flex:0 1 180px}.balance-dialog-tools .checkbox-control{display:flex;gap:8px;align-items:center;min-height:40px;font-size:12px}.balance-dialog-table{overflow:auto;min-height:100px}.balance-dialog-table table{width:100%}.balance-pill{display:inline-block;padding:4px 10px;min-width:42px;text-align:center;border-radius:6px;font-weight:700}.balance-positive{color:#166534!important;background:#dcfce7!important}.balance-negative{color:#991b1b!important;background:#fee2e2!important}.balance-even{color:var(--muted)!important;background:var(--raised)!important}html[data-theme=dark] .balance-positive{color:#86efac!important;background:#163929!important}html[data-theme=dark] .balance-negative{color:#fca5a5!important;background:#451f27!important}.balance-footnote{line-height:1.5}@media (max-width: 1200px){.dashboard-page .identity-form{grid-template-columns:repeat(2,minmax(0,1fr))}.cover-resource-grid{grid-template-columns:1fr}}@media (max-width: 650px){.cover-planner{padding:16px!important}.dashboard-page .identity-form{grid-template-columns:1fr}.cover-planner .date-stepper{flex-wrap:wrap}.balance-dialog-backdrop{padding:10px}.balance-dialog{padding:16px}.balance-summary-strip{gap:6px}.balance-summary-strip>div{padding:9px;flex-direction:column;align-items:start}.balance-summary-strip strong{font-size:20px}}.board-filter-actions{display:flex;align-items:center;gap:8px;align-self:end}.planning-goal-title{display:inline-flex;align-items:center;gap:6px}.planning-goal-title .help-tip{margin:0}.form-heading>.help-tip{margin-left:8px;margin-right:auto}.cover-date-control{display:flex;align-items:center;min-width:0;border:1px solid var(--line);border-radius:var(--button-radius);background:var(--surface);color:var(--ink)}.cover-date-weekday{padding-left:11px;font-size:12px;font-weight:600;color:var(--muted);flex:0 0 auto}.cover-date-control input{border:0!important;background:transparent!important;flex:1;min-width:0;width:100%;box-shadow:none;outline:0!important;padding-left:7px}.cover-date-control:focus-within{border-color:var(--accent);outline:2px solid var(--accent-soft)}.cover-planner .date-stepper .cover-date-control{width:205px}.cover-result-notice{padding:12px 14px;border:1px solid var(--accent-line);border-radius:var(--button-radius);background:var(--accent-soft);color:var(--ink);font-size:13px;line-height:1.5}.cover-tasks{scroll-margin-top:24px}.schedule-grid.digital-board:has(.ab-column-lines){position:relative}.ab-column-lines{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-columns:inherit;column-gap:inherit;pointer-events:none;z-index:4}.ab-column-lines>span{position:relative;min-width:0}.ab-column-line:after{content:"";position:absolute;top:var(--ab-line-top, 35px);bottom:0;left:50%;border-left:1px solid var(--line)}.schedule-grid:has(.ab-column-lines) .week-column-labels b+b,.schedule-grid:has(.ab-column-lines) .week-cell-split-vertical>.lesson-week-layer+.lesson-week-layer{border-left:0}.schedule-grid:has(.ab-column-lines) .schedule-cell.week-cell-split-vertical{padding:0!important}.total-slot.week-cell-split-horizontal{position:relative;display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(min-content,1fr));justify-content:stretch;gap:0}.total-slot.week-cell-split-horizontal>.lesson-week-layer{min-height:0;flex:none;border-top:0!important}.total-slot.week-cell-split-horizontal:after{content:"";position:absolute;top:50%;left:-5px;right:-5px;border-top:1px solid var(--line);pointer-events:none;z-index:3}.total-row-label:has(.week-row-labels){position:relative}.total-row-label:has(.week-row-labels):after{content:"";position:absolute;top:50%;left:calc(100% - 18px);right:-5px;border-top:1px solid var(--line);pointer-events:none;z-index:3}.week-row-labels b+b{border-top:0}.balance-end-date{display:grid;gap:7px;min-width:175px}.balance-end-date input{font:inherit}.duty-timetable{background:var(--surface)!important;border-color:var(--line)!important}.duty-timetable-corner,.duty-timetable-day,.duty-timetable-pause{background:var(--raised)!important;color:var(--ink)!important;border-color:var(--line)!important}.duty-timetable-cell{background:transparent!important;border-color:var(--line)!important}.duty-timetable-card{background:transparent!important;color:var(--ink)!important;border-left:4px solid var(--duty-color)!important;border-radius:0!important;padding:7px!important;box-shadow:none!important}.duty-timetable-card select{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line)!important;border-radius:var(--button-radius)!important;min-height:30px!important;font-size:12px!important;padding:4px 7px!important}.duty-timetable-card .duty-remove{color:var(--muted)!important}.duty-drop-hint{color:var(--muted)!important;opacity:1!important}.balance-dialog .cover-date-control input{border:0!important;background:transparent!important;flex:1;min-width:0;width:100%;outline:0!important;padding-left:7px}.cover-date-control{isolation:isolate}.cover-date-control .cover-date-weekday{align-self:stretch;display:flex;align-items:center;background:inherit;border-radius:var(--button-radius) 0 0 var(--button-radius)}.cover-date-control input[type=date]{border:0!important;background:transparent!important;flex:1;min-width:0;width:100%;border-radius:0 var(--button-radius) var(--button-radius) 0;box-shadow:none;outline:0!important;padding-left:7px}html[data-theme=dark] .cover-date-control{background:var(--raised);border-color:var(--line);color:var(--ink)}html[data-theme=dark] .cover-date-control .cover-date-weekday{color:var(--ink)}html[data-theme=dark] .cover-date-control input[type=date]{background:transparent!important;border:0!important}html[data-theme=dark] :is(input,textarea)::placeholder{color:#afbed0;opacity:1}html[data-theme=dark] :is(.balance-teacher-name,.teacher-code,.balance-card-copy small,.calendar-day small,.calendar-day em){color:var(--muted)}html[data-theme=dark] :is(.secondary-btn,.icon-btn,.calendar-nav-btn):hover:not(:disabled){background:color-mix(in srgb,var(--raised) 80%,white)!important;border-color:var(--muted)!important}html[data-theme=dark] :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--accent-text);outline-offset:3px}html[data-theme=dark] .cover-date-control:focus-within{border-color:var(--accent-text);outline:2px solid var(--accent-text);outline-offset:2px}html[data-theme=dark] :is(.board-view-tabs,.board-tabs,.total-group-buttons,.week-toggle,.board-button-group) button.selected{border-color:var(--accent-text)!important}html[data-theme=dark] .nav-item.selected svg{color:var(--accent-text)!important}.total-slot.week-cell-split-horizontal>.lesson-week-layer>.total-schedule-lesson{flex:0 0 auto!important}.classes-workspace{min-width:0;overflow-x:clip}.classes-workspace>.balance-view-tabs{margin:0 0 16px}.classes-workspace .board-view-tabs button{display:inline-flex;align-items:center;gap:7px}.table-search-actions{display:flex;align-items:center;gap:12px;min-width:0}.table-search-actions .search-box{flex:1;min-width:200px}.table-search-actions>.primary-btn{flex-shrink:0;white-space:nowrap}.swipe-panel{min-width:0}@media (max-width: 650px){.table-search-actions{width:100%;flex-wrap:wrap}.table-search-actions .search-box{min-width:140px}.classes-workspace .table-toolbar{align-items:flex-start;flex-wrap:wrap}}.auth-page{min-height:100dvh;display:grid;place-items:center;padding:32px 20px;background:var(--app-bg)}.auth-card{width:min(100%,440px);padding:36px;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 18px 60px #1823310a}.auth-brand{display:flex;align-items:center;gap:12px;margin-bottom:40px;letter-spacing:.08em;color:var(--accent-heading)}.auth-brand svg{color:var(--accent)}.auth-card h1{margin:10px 0;font-size:26px}.auth-card p,.user-management>p{color:var(--muted);line-height:1.6}.auth-form{display:grid;gap:18px;margin:24px 0}.auth-form label,.account-create label{display:grid;gap:7px;font-weight:600}.auth-form input,.account-create input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.auth-form button{min-height:44px;justify-content:center}.auth-footnote{font-size:12px;text-align:center}.auth-error{color:#b42318!important}.user-management{padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.user-management h2{display:flex;align-items:center;gap:9px}.account-list{list-style:none;padding:0;margin:20px 0}.account-list li{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line)}.account-list li div{display:grid;gap:5px;overflow-wrap:anywhere}.account-list span,.account-list small{color:var(--muted)}.account-create{display:flex;align-items:end;flex-wrap:wrap;gap:14px}.account-create label{flex:1;min-width:180px}.temporary-password{padding:20px;margin:16px 0;border:1px solid var(--accent-line);border-radius:10px;background:var(--accent-soft)}.temporary-password code{display:block;font-size:20px;padding:16px 0;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}@media (max-width: 560px){.auth-card{padding:24px}.account-list li{flex-direction:column;gap:7px}}.account-list .account-actions,.account-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px}.auth-page{position:relative;isolation:isolate;overflow:hidden}.auth-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;color:var(--accent);opacity:.15}.auth-scene>svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.5}.auth-card{position:relative;box-shadow:0 20px 75px color-mix(in srgb,var(--accent) 7%,transparent)}.auth-floating-board{animation:auth-board-drift 14s ease-in-out infinite alternate}.auth-floating-board-1{animation-delay:-14s;animation-name:auth-board-sway;animation-duration:19s}.auth-floating-board-2{animation-delay:-23s;animation-duration:17s}.auth-floating-board-3{animation-delay:-9s;animation-name:auth-board-sway;animation-duration:22s}.auth-scene .auth-board-outline{fill:color-mix(in srgb,var(--accent) 9%,transparent)}.auth-scene .auth-board-lesson{fill:currentColor;opacity:.45;stroke:none}.auth-connection{opacity:.45;stroke-dasharray:5 12;animation:auth-connection-drift 18s linear infinite}.auth-card .primary-btn{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.auth-footnote a{color:var(--accent-text)}@keyframes auth-board-drift{0%{transform:translate(-12px,-18px) rotate(-2deg)}45%{transform:translate(18px,8px) rotate(2deg)}to{transform:translate(-5px,24px) rotate(-1deg)}}@keyframes auth-board-sway{0%{transform:translate(16px,12px) rotate(2deg)}65%{transform:translate(-20px,-16px) rotate(-3deg)}to{transform:translate(8px,-24px) rotate(1deg)}}@keyframes auth-connection-drift{to{stroke-dashoffset:-170}}@media (prefers-reduced-motion: reduce){.auth-floating-board,.auth-connection,.auth-motif{animation:none}}.auth-gradient{position:absolute;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-2;pointer-events:none;overflow:hidden}.auth-gradient span{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 22% 32%,color-mix(in srgb,var(--accent) 15%,transparent),transparent 48%);will-change:transform}.auth-gradient span:nth-child(2){background:radial-gradient(ellipse at 75% 70%,color-mix(in srgb,var(--accent) 11%,transparent),transparent 46%)}.auth-gradient span:nth-child(3){background:radial-gradient(ellipse at 70% 15%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 38%)}.auth-motif{animation:auth-board-sway 11s ease-in-out infinite alternate}.auth-motif svg{width:92px;height:92px;fill:none;stroke:currentColor;stroke-width:1}.auth-motif-1{animation-duration:14s;animation-delay:-4s}.auth-motif-2{animation-name:auth-board-drift;animation-duration:9s;animation-delay:-6s}.auth-motif-3{animation-duration:16s;animation-delay:-9s}.auth-motif-4{animation-name:auth-board-drift;animation-duration:12s;animation-delay:-3s}@media (prefers-reduced-motion: reduce){.auth-motif{animation:none}}.auth-waves{position:absolute;top:-12%;right:-20%;bottom:-12%;left:-20%;overflow:hidden;z-index:-1;pointer-events:none;color:var(--accent)}.auth-wave{position:absolute;inset:0 auto 0 -50%;width:200%;height:100%;fill:currentColor;opacity:.035;animation:auth-wave-cascade 28s ease-in-out infinite alternate}.auth-wave-1{top:4%;opacity:.045;animation-duration:34s;animation-delay:-14s;animation-direction:alternate-reverse}.auth-wave-2{top:9%;opacity:.055;animation-duration:23s;animation-delay:-8s}.auth-wave-3{top:15%;opacity:.04;animation-duration:31s;animation-delay:-22s;animation-direction:alternate-reverse}@keyframes auth-wave-cascade{0%{transform:translate(-7%,-3%) rotate(-7deg)}50%{transform:translate(1%,2%) rotate(-3deg)}to{transform:translate(7%,-1%) rotate(-6deg)}}@media (prefers-reduced-motion: reduce){.auth-wave{animation:none}}.topbar .secondary-btn{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;box-sizing:border-box;min-inline-size:38px;min-block-size:38px;flex:0 0 auto;gap:0;padding:9px 10px;white-space:nowrap;text-decoration:none}.topbar .secondary-btn>svg{display:block;flex:0 0 auto;align-self:center}.topbar .secondary-btn>.button-label{display:inline-block;min-inline-size:0;max-inline-size:0;overflow:hidden;opacity:0;margin-inline-start:0;white-space:nowrap;transform:translate(-4px);transition:max-inline-size .24s ease,opacity .16s ease,margin-inline-start .24s ease,transform .24s ease}.topbar .secondary-btn:is(:hover,:focus-visible)>.button-label{max-inline-size:32rem;opacity:1;margin-inline-start:8px;transform:translate(0)}@media (hover: none){.topbar .secondary-btn>.button-label{max-inline-size:32rem;opacity:1;margin-inline-start:8px;transform:none}}@media (prefers-reduced-motion: reduce){.topbar .secondary-btn>.button-label{transition:none}}.plan-versions{padding:24px}.version-controls{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:14px 0}.version-controls label{display:grid;gap:6px;min-width:180px}.version-controls input,.version-controls select{max-width:100%;padding:10px;border:1px solid var(--border-color, #cbd5e1);border-radius:8px;background:var(--surface, #fff);color:inherit}.version-check{border:1px solid #cbd5e1;border-radius:10px;padding:16px;margin:16px 0}.version-comparison details{padding:10px 0;border-bottom:1px solid #cbd5e1}.comparison-values{display:grid;grid-template-columns:1fr 1fr;gap:12px}.comparison-values pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.reader-page{padding:28px;max-width:1600px;margin:auto}.reader-header{display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.reader-header h1{font-size:28px;margin:8px 0}.reader-status{font-weight:600}.reader-plan{padding:20px}.reader-table-wrap{overflow-x:auto}.reader-table{width:100%;min-width:620px;table-layout:fixed;border-collapse:collapse}.reader-table th,.reader-table td{border:1px solid #cbd5e1;padding:9px;vertical-align:top}.reader-table th:first-child{width:80px}.reader-table small,.reader-table article span{display:block;font-size:12px;margin-top:4px}.reader-table article{padding:6px;background:#eff6ff;color:#172554;border-radius:5px;margin-bottom:4px}.reader-display .reader-table{font-size:20px}.reader-display .reader-table article span{font-size:16px}@media (max-width: 650px){.reader-page{padding:12px}.comparison-values{grid-template-columns:1fr}.version-controls label{min-width:0;width:100%}}.reader-table article.reader-lesson-ausgefallen{background:#fee2e2;color:#7f1d1d}.reader-table article.reader-lesson-vertreten{background:#dcfce7;color:#14532d}.reader-table article.reader-lesson-offen{background:color-mix(in srgb,#5b4bd2 12%,white);color:#5b4bd2}.dashboard-tabs{margin-bottom:20px;width:fit-content;max-width:100%;flex-wrap:wrap}.dashboard-page [role=tabpanel]{display:grid;gap:22px;min-width:0}.dashboard-page [role=tabpanel][hidden]{display:none}.version-table-wrap{overflow-x:auto;margin-top:20px}.version-table{width:100%;border-collapse:collapse;min-width:1080px;font-size:13px}.version-table th,.version-table td{text-align:left;vertical-align:top;padding:14px 10px;border-bottom:1px solid var(--line, #dce3eb)}.version-table th{background:var(--accent-soft, #faf3df)}.version-table td:nth-child(2){min-width:245px}.version-table input:not([type=checkbox]){width:100%;padding:8px;border:1px solid var(--line, #dce3eb);border-radius:7px;background:var(--surface, #fff);color:inherit}.version-table small{display:block;margin-top:8px;color:var(--muted, #66758a)}.version-table .version-check{min-width:240px;max-width:380px;font-size:12px}.version-active-row{background:color-mix(in srgb,var(--accent, #5b4bd2) 5%,transparent)}.version-row-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}.version-status{display:inline-block;border-radius:20px;padding:5px 10px;background:#edf1f5;color:#334155;font-weight:650}.version-status.published{background:#dcfce7;color:#166534}.version-header-picker{position:relative;flex-shrink:1;min-width:0}.version-pill{border:1px solid var(--accent, #5b4bd2);border-radius:30px;background:var(--accent-soft, color-mix(in srgb, #5b4bd2 12%, white));padding:9px 14px;font-weight:700;color:var(--accent-heading, #5b4bd2);cursor:pointer;max-width:340px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-header-menu{position:absolute;top:calc(100% + 8px);left:0;width:340px;max-width:85vw;max-height:65vh;overflow:auto;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--surface, #fff);box-shadow:0 8px 30px #0002;z-index:70;display:grid;gap:10px}.database-header-select{display:flex;align-items:center;gap:8px;font-size:12px}.database-header-select select{max-width:235px;border:1px solid var(--line);border-radius:8px;background:var(--surface, #fff);color:inherit;padding:7px}.database-other-list{padding:18px}.database-other-list>div{display:flex;align-items:center;gap:12px;margin:14px 0;flex-wrap:wrap}@media (max-width: 1000px){.topbar-leading{flex-wrap:wrap}.version-pill{max-width:240px}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-context-control{display:flex;align-items:center;gap:8px;min-width:0;color:var(--accent-heading, #5b4bd2)}.header-context-control>svg{flex:none}.version-pill.database-selector{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;font:inherit;font-weight:700;padding:9px 14px;max-width:260px;min-width:0}.database-year select{padding:7px 10px;border:1px solid var(--line, #dce3eb);border-radius:8px;background:var(--surface, #fff);color:inherit;font-weight:600}.database-status.is-internal{background:color-mix(in srgb,#5b4bd2 12%,white);color:#5b4bd2}.database-status.is-internal>span{background:#5b4bd2}.database-status.is-inactive{background:#edf0f4;color:#64748b}.database-status.is-inactive>span{background:#94a3b8}.version-activation{cursor:pointer;border:0;font:inherit;font-size:12px;white-space:nowrap}.version-activation:disabled{cursor:default;opacity:1}.publication-dialog{width:min(720px,calc(100vw - 32px));max-height:85dvh;overflow:auto;border:1px solid var(--line, #dce3eb);border-radius:16px;padding:26px;background:var(--surface, #fff);color:var(--ink, #202a38)}.publication-dialog::backdrop{background:#0f172a80}.publication-dialog h2{margin-top:0}.publication-dialog li{margin:8px 0}.publication-dialog .version-row-actions{justify-content:flex-end;margin-top:24px}.reader-page{color:var(--ink)}.reader-actions,.reader-week-nav,.reader-selects,.reader-plan-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reader-status{display:flex;gap:8px 24px;flex-wrap:wrap;color:var(--muted);font-size:12px;margin:12px 0 20px;font-weight:400}.reader-toolbar{display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px}.reader-week-nav>span{font-weight:650}.reader-selects label{display:grid;gap:5px;color:var(--muted);font-size:12px}.reader-selects select{padding:9px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);max-width:100%}.reader-plan{padding:0;overflow:hidden}.reader-plan-heading{justify-content:space-between;padding:16px 20px}.reader-plan-heading h2{margin:0}.reader-plan-heading>span{color:var(--muted);font-size:12px}.reader-table{min-width:740px}.reader-table th,.reader-table td{border-color:var(--line)}.reader-table thead th{background:var(--surface-alt, var(--surface));padding:14px 9px}.reader-table th:first-child{width:86px;position:sticky;left:0;background:var(--surface);z-index:1;font-size:12px}.reader-table article{background:color-mix(in srgb,var(--accent) 12%,var(--surface));color:var(--ink);border-left:3px solid var(--accent);padding:9px}.reader-table article[class*=reader-lesson-]{border-left-color:#16864b}.reader-table article.reader-lesson-ausgefallen{border-left-color:#c73a3a}.reader-table article.reader-lesson-offen{border-left-color:#5b4bd2}.reader-pause{background:color-mix(in srgb,var(--muted) 7%,var(--surface))}.reader-pause th,.reader-pause td{padding-top:5px;padding-bottom:5px}.reader-table article.reader-duty{background:color-mix(in srgb,var(--accent) 20%,var(--surface));border-left-style:dotted}.reader-no-school{background:color-mix(in srgb,var(--muted) 9%,var(--surface));color:var(--muted)}.reader-remarks{border-left:4px solid var(--accent);background:var(--surface);padding:16px 20px;margin-bottom:18px}.reader-remarks p{white-space:pre-wrap;margin-bottom:0}.reader-metadata{margin-top:22px;padding:18px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}.reader-metadata h2{font-size:16px;margin-top:0}.reader-metadata p{margin:5px 0;font-size:13px}.reader-metadata>div:not(:empty){margin-top:14px}.reader-visibility-settings{padding:15px;border:1px solid var(--line);border-radius:10px;margin:15px 0}.reader-visibility-settings summary{cursor:pointer;font-weight:650}[data-theme=dark] .reader-table article.reader-lesson-vertreten{background:#16452e;color:#d6fce3}[data-theme=dark] .reader-table article.reader-lesson-ausgefallen{background:#532728;color:#ffe0e0}[data-theme=dark] .reader-table article.reader-lesson-offen{background:color-mix(in srgb,#5b4bd2 35%,#182331);color:color-mix(in srgb,#5b4bd2 20%,white)}@media (max-width: 650px){.reader-page{padding:12px 8px}.reader-header h1{font-size:22px}.reader-header{gap:8px}.reader-status{display:grid;gap:4px;margin:10px 0 16px}.reader-toolbar,.reader-selects{width:100%}.reader-selects{display:grid;grid-template-columns:1fr 1fr;align-items:end}.reader-selects label{min-width:0}.reader-selects label:only-child{grid-column:1 / -1}.reader-week-nav{gap:6px;width:100%;justify-content:space-between}.reader-week-nav>span{font-size:12px}.reader-plan-heading{padding:12px}.reader-table{min-width:660px}.reader-table th:first-child{width:68px}.reader-table td{padding:4px}.reader-table article{padding:6px}}.reader-table article.reader-lesson-geplant,.reader-table article.reader-lesson-gehalten{background:#dcfce7;color:#14532d}html[data-theme=dark] .reader-table article.reader-lesson-geplant,html[data-theme=dark] .reader-table article.reader-lesson-gehalten{background:#16452e;color:#d6fce3}.reader-change summary{cursor:pointer;list-style-position:inside}.reader-change summary::marker{color:var(--accent-text)}.reader-change summary .reader-lesson-content{display:inline}.reader-change p{font-size:12px;white-space:pre-wrap;line-height:1.5;border-top:1px solid currentColor;padding-top:8px;margin:8px 0 0}.reader-lesson-ausgefallen .reader-lesson-content{text-decoration:line-through}.reader-change-label{font-weight:650}.reader-refreshing{animation:reader-refresh-spin .85s linear infinite}@keyframes reader-refresh-spin{to{transform:rotate(360deg)}}.reader-mobile .reader-table{min-width:0;width:100%}.reader-mobile .reader-table th:first-child{width:40px;text-align:center;padding:8px 3px}.reader-mobile .reader-table td{padding:8px}.reader-mobile .reader-table-wrap{touch-action:pan-y;overflow-x:hidden}.reader-mobile .reader-table thead th{font-size:14px}.reader-mobile .reader-table article{padding:12px}.reader-mobile .reader-table article span,.reader-mobile .reader-table small{font-size:13px}.reader-mobile .reader-table abbr{text-decoration:none}.reader-mobile .reader-pause td{min-height:25px;background:color-mix(in srgb,var(--muted) 7%,var(--surface))}.reader-metadata .reader-remarks{margin:0 0 16px;padding:10px 14px}@media (prefers-reduced-motion: reduce){.reader-refreshing{animation-duration:2s}}.reader-week-nav.button-group{display:inline-flex;flex-wrap:nowrap;gap:0;width:fit-content;max-width:100%;border:1px solid var(--line);border-radius:var(--button-radius);overflow:hidden;background:var(--surface)}.reader-week-nav.button-group>*{border:0;border-radius:0;min-height:38px;background:transparent;color:var(--ink);flex-shrink:0;margin:0 0 0 1em}.reader-week-nav.button-group>*+*{margin-right:1em}.reader-week-nav.button-group>span{display:flex;align-items:center;justify-content:center;padding:8px 12px;font-size:12px;flex-shrink:1;text-align:center}.reader-week-nav.button-group>button:hover{background:var(--accent-soft)}.reader-week-nav.button-group>button:focus-visible{outline-offset:-3px}.reader-table thead th.reader-today,html[data-theme=dark] .reader-table thead th.reader-today{background:color-mix(in srgb,var(--accent) 5%,var(--surface))!important;color:var(--ink)!important;box-shadow:inset 0 -2px 0 var(--accent-line)}.reader-today small:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--accent);margin:0 5px 2px 0}.reader-week-pill{display:inline-block;border:1px solid var(--accent-line);border-radius:20px;background:var(--accent-soft);color:var(--accent-text);font-size:10px;font-weight:650;padding:5px 7px;white-space:nowrap;letter-spacing:0}.reader-mobile .reader-table th:first-child{width:72px}@media (max-width: 650px){.reader-week-nav.button-group{width:100%}.reader-week-nav.button-group>span{flex:1}}.header-picker-trigger{display:inline-flex;align-items:center;gap:7px;vertical-align:middle}.picker-trigger-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.picker-current-dot{flex:none;width:7px;height:7px;border-radius:50%;background:#209354}.header-picker-trigger>svg{flex:none}.version-header-menu .header-choice{display:flex;align-items:center;gap:10px;justify-content:space-between;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);padding:10px;text-align:left;font:inherit;cursor:pointer;min-width:0;width:100%}.header-choice-label{min-width:0;overflow-wrap:anywhere}.header-choice-label strong{font-size:12px}.header-choice-label small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.version-header-menu .header-choice:hover{border-color:var(--accent-line);background:var(--accent-soft)}.version-header-menu .header-choice.is-current{border-color:#3c9c6a66;background:color-mix(in srgb,#2a9960 7%,var(--surface))}.picker-selected-badge{display:inline-flex;align-items:center;gap:4px;padding:4px 7px;border-radius:20px;color:#167240;background:#e0f4e8;white-space:nowrap;font-size:10px;font-weight:650;flex:none}html[data-theme=dark] .picker-selected-badge{background:#173e2b;color:#a6e8be}.mobile-drawer-heading,.mobile-drawer-backdrop,.mobile-section-title,#mobile-project-controls{display:none}@media (max-width: 760px){.shell .sidebar,.shell.sidebar-collapsed .sidebar{position:fixed;inset:0 auto 0 0;width:min(340px,88vw);height:100dvh;padding:12px;z-index:220;background:var(--surface);border:0;display:flex;flex-direction:column;gap:10px;transform:translate(-105%);transition:transform .22s ease;box-shadow:10px 0 45px #0003}.shell .sidebar.mobile-open{transform:translate(0)}.shell .sidebar .brand,.shell .sidebar .version,.shell .sidebar .nav-caption{display:none}.mobile-drawer-heading{display:flex;align-items:center;justify-content:space-between;flex:none;padding:0 2px 6px}.mobile-drawer-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:210;border:0;padding:0;background:#0b101766;border-radius:0}#mobile-project-controls{display:grid;gap:12px;flex:none}.mobile-project-context{display:grid;gap:9px}#mobile-project-controls .header-context-control{display:flex;width:100%}#mobile-project-controls .version-header-picker{flex:1}#mobile-project-controls .version-pill{width:100%;max-width:100%;text-align:left;font-size:12px}#mobile-project-controls .version-header-menu{width:100%;max-width:100%}#mobile-project-controls .top-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}#mobile-project-controls .top-actions>*{min-height:44px;justify-content:center;padding:8px;width:100%;font-size:11px}#mobile-project-controls .button-label{display:none}.shell .sidebar nav,.shell.sidebar-collapsed .sidebar nav{display:grid;grid-template-columns:1fr;align-content:start;gap:3px;flex:1;overflow-x:hidden;overflow-y:auto;min-height:0}.shell .sidebar nav .nav-item,.shell .sidebar-bottom .nav-item{width:100%;display:flex;justify-content:flex-start;gap:10px;min-height:40px;padding:9px 11px!important}.shell .sidebar .nav-item>span{display:inline}.shell .sidebar .sidebar-bottom{display:grid;flex:none;padding-top:6px;border-top:1px solid var(--line)}.shell .main,.shell.sidebar-collapsed .main{margin-left:0;width:100%;min-width:0}.shell .topbar{position:sticky;top:0;z-index:100;height:46px;min-height:46px;padding:4px 8px;gap:8px;flex-wrap:nowrap;background:var(--surface);border-bottom:1px solid var(--line)}.shell .topbar-leading{flex-wrap:nowrap;gap:9px;width:100%}.mobile-section-title{display:block;margin:0;font-size:15px;font-weight:650;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shell .topbar .sidebar-toggle{display:inline-flex;width:36px;height:36px;flex:0 0 36px}.shell .content{padding:10px 0 24px!important;width:100%;min-width:0;overflow-wrap:break-word}.shell .content>.page-heading .page-title-row{display:none}.shell .content>.page-heading{padding:0;margin:0;min-height:0;gap:0}.shell .content>.page-heading:has(.board-heading-actions){margin-bottom:8px}.dashboard-page{width:100%;min-width:0;gap:10px}.dashboard-page .dashboard-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0 0 10px}.dashboard-tabs button{min-width:0;padding:9px 5px;font-size:11px}.dashboard-page [role=tabpanel]{gap:12px}.dashboard-page .panel-card{max-width:100%;border-radius:0}.dashboard-page :is(.database-section,.dashboard-identity,.user-management,.plan-versions,.database-other-list){padding:14px 12px;min-width:0}.dashboard-page :is(.database-grid,.identity-form){grid-template-columns:minmax(0,1fr)}.dashboard-section-heading{flex-wrap:wrap;gap:10px}.dashboard-section-heading h2{font-size:18px}.dashboard-page :is(input,select){max-width:100%;min-width:0}.database-card{min-width:0}.database-card-main,.database-card-heading{flex-wrap:wrap}.dashboard-page .version-table-wrap{width:100%;max-width:100%;overflow-x:auto}.dashboard-page .account-list li{flex-direction:column}.dashboard-page .account-actions{justify-content:flex-start}.shell .cover-planner{padding:14px 10px!important;border-radius:0!important;gap:14px;min-width:0}.cover-planner>.module-toolbar{gap:8px;padding-bottom:12px}.cover-planner .date-stepper{width:100%;gap:7px;margin:0}.cover-planner .date-stepper label{flex:1;min-width:0;font-size:12px}.cover-planner .date-stepper input{width:100%;min-width:0}.cover-planner .date-stepper .feature-state{font-size:10px;padding:5px}.cover-planner .module-toolbar>.secondary-btn{flex:1;justify-content:center}.cover-preview-heading{gap:9px;margin-bottom:12px}.cover-preview-heading h2{font-size:17px}.cover-export-actions{width:100%;display:flex;gap:6px}.cover-export-actions>button{flex:1;justify-content:center;padding:8px 6px;font-size:12px}.cover-planner :is(.cover-form-grid,.cover-resource-grid,.cover-task-controls){display:grid;grid-template-columns:minmax(0,1fr)}.cover-planner :is(.cover-task,.cover-absence,.cover-preview,.reader-visibility-settings){min-width:0;max-width:100%}.cover-planner .table-wrap{max-width:100%;overflow-x:auto}.cover-planner .table-wrap table{min-width:650px}.cover-planner .version-controls label{min-width:0}}@media (prefers-reduced-motion: reduce){.shell .sidebar{transition:none}}@media (max-width: 760px){.dashboard-page .database-year{white-space:nowrap}.dashboard-page .database-year select{width:0;flex:1;min-width:0}.cover-planner>.module-toolbar{display:grid;grid-template-columns:36px minmax(0,1fr);align-items:end}.cover-planner>.module-toolbar>.date-stepper{grid-column:1 / -1}.cover-planner>.module-toolbar>.icon-btn{grid-column:1}.cover-planner>.module-toolbar>.secondary-btn{grid-column:2;width:auto;min-width:0;padding:9px 5px;font-size:12px}}.sidebar .sidebar-bottom .sidebar-legal-links{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;align-items:center;justify-content:center;gap:12px;flex:none!important;overflow:visible!important;margin:0;padding:10px 0}.sidebar-legal-links button{display:inline-block;min-height:24px;padding:0!important;margin:0;border:0;border-radius:0;background:transparent;color:var(--muted);font:inherit;font-size:9px;font-weight:500;line-height:1.4;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.sidebar-legal-links button:hover,.sidebar-legal-links button[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:3px}.sidebar .sidebar-legal-links button>span{display:inline}.sidebar .sidebar-legal-links button .legal-short-label{display:none}.sidebar-collapsed .sidebar .sidebar-legal-links{gap:6px}.sidebar-collapsed .sidebar .sidebar-legal-links .legal-full-label{display:none}.sidebar-collapsed .sidebar .sidebar-legal-links .legal-short-label{display:inline}@media (max-width: 760px){.sidebar-collapsed .sidebar .sidebar-legal-links .legal-full-label{display:inline}.sidebar-collapsed .sidebar .sidebar-legal-links .legal-short-label{display:none}.sidebar-collapsed .sidebar .sidebar-legal-links{gap:12px}#mobile-project-controls .version-header-picker{min-width:0;flex:1}#mobile-project-controls .version-pill{display:flex}}.legal-links{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:24px;font-size:12px;flex-wrap:wrap}.legal-links a{color:var(--muted);text-underline-offset:3px}.public-legal-card{width:min(100%,900px);padding:32px;background:var(--surface);position:relative}.public-legal-card>a{color:var(--accent-text)}.legal-document{color:var(--ink);line-height:1.7;overflow-wrap:anywhere}.legal-document h1{font-size:28px;margin-top:18px}.legal-document h2{font-size:19px;margin-top:26px}.legal-document address{white-space:pre-line;font-style:normal;margin:12px 0}.legal-document a{color:var(--accent-text);text-underline-offset:3px}.legal-document code{overflow-wrap:anywhere}.legal-updated{color:var(--muted);font-size:12px;margin-top:30px}.legal-settings{padding:24px}.legal-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.legal-settings label{display:grid;gap:6px;font-weight:600;font-size:12px}.legal-settings input,.legal-settings textarea{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:var(--surface);font:inherit}.legal-settings textarea{min-height:100px;resize:vertical}.legal-settings details{margin-bottom:16px}@media (max-width: 760px){.public-legal-card{padding:20px 14px}.legal-settings-grid{grid-template-columns:minmax(0,1fr)}.legal-settings{padding:14px 12px}.legal-document h1{font-size:24px}}.public-legal-card .legal-close{position:sticky;top:16px;float:right;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;z-index:2;background:var(--surface);color:var(--muted)}.public-legal-card .legal-document h1{padding-right:48px}.import-wizard{padding:24px}.import-wizard p{color:var(--muted);line-height:1.6}.import-controls,.import-mapping{border:0;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}.import-wizard label{display:grid;align-content:start;gap:7px;font-size:13px}.import-wizard input,.import-wizard select{min-width:0;width:100%;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit}.import-file-label{grid-column:1 / -1}.import-file-label span{display:flex;align-items:center;gap:8px}.import-profile-row{display:flex;flex-wrap:wrap;align-items:end;gap:14px}.import-profile-row label{flex:1 1 180px}.import-table-scroll{overflow-x:auto;max-width:100%;margin-block:14px}.import-wizard table{width:100%;border-collapse:collapse;font-size:12px}.import-wizard th,.import-wizard td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.import-wizard td{min-width:100px;max-width:600px}.import-source-preview,.import-history{margin-block:20px}.import-wizard summary{cursor:pointer;color:var(--accent-text)}.import-success{display:flex;align-items:center;gap:8px;padding:12px;background:var(--accent-soft);border-radius:8px}.import-guidance{padding-left:12px;border-left:2px solid var(--accent)}.import-report{border-top:1px solid var(--line);margin-top:24px;padding-top:10px}@media (max-width: 760px){.import-wizard{padding:16px 12px}.import-controls,.import-mapping{grid-template-columns:1fr}.import-profile-row{align-items:stretch}}.import-file-label input[type=file]::file-selector-button{font:inherit;padding:9px 14px;margin-right:12px;cursor:pointer;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-text)}.import-file-label input[type=file]::file-selector-button:hover{border-color:var(--accent);background:var(--accent-soft)}.import-format-guide{margin-block:20px;padding:16px;border:1px solid var(--line);border-radius:10px;background:var(--raised);min-width:0}.import-format-guide summary{cursor:pointer;font-weight:600;color:var(--ink)}.import-format-guide table{width:100%;border-collapse:collapse;font-size:13px}.import-format-guide th,.import-format-guide td{text-align:left;vertical-align:top;padding:9px;border-bottom:1px solid var(--line)}.import-format-guide code{white-space:nowrap;color:var(--accent-text)}.upper-school-page{min-width:0}.upper-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin-block:16px}.upper-school-page label{display:grid;gap:7px;font-size:13px}.upper-school-page input,.upper-school-page select{min-width:0;width:100%;min-height:40px;padding:8px 10px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;font:inherit}.upper-form{margin-block:20px;padding:20px}.upper-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;border:0;padding:0;margin:18px 0;min-width:0}.upper-table{max-width:100%;overflow-x:auto;margin-block:20px}.upper-table table{width:100%;border-collapse:collapse;background:var(--surface);font-size:13px}.upper-table td,.upper-table th{border-bottom:1px solid var(--line);padding:10px;text-align:left}.upper-table td small{display:block;color:var(--muted);margin-top:4px}.upper-legal-note{padding:14px;border-left:3px solid var(--accent);background:var(--accent-soft);line-height:1.6;color:var(--muted)}.upper-notice{color:var(--accent-text)}.upper-school-page .upper-checkbox,.upper-course-choices label{display:flex;align-items:center;gap:10px}.upper-school-page input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}.upper-course-choices{border:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-block:20px}@media (max-width: 760px){.upper-grid,.upper-course-choices{grid-template-columns:1fr}.upper-form{padding:16px 12px}.upper-school-page>.board-tabs{display:flex;flex-wrap:wrap}}.upper-school-page>.board-tabs{display:flex;gap:4px;padding:5px;margin-block:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.upper-school-page>.board-tabs button{flex:1;min-height:40px;border:1px solid transparent;border-radius:8px;padding:8px 16px;background:transparent;color:var(--muted);font:inherit;cursor:pointer}.upper-school-page>.board-tabs button.selected{background:var(--accent-soft);color:var(--accent-text);border-color:color-mix(in srgb,var(--accent) 25%,transparent)}.upper-school-page>.board-tabs button:hover{color:var(--accent-text)}.upper-access-panel{padding:20px;margin-block:16px}.upper-access-panel form,.upper-access-password{display:grid;gap:12px}.upper-access-password{margin-block:15px;padding:15px;background:var(--accent-soft);border-radius:10px}.upper-legal-results{margin-block:16px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.upper-legal-results summary{cursor:pointer;font-weight:600}.upper-legal-results li{margin-block:8px;line-height:1.5}.upper-legal-results li[data-check=failed] strong{color:var(--danger, #c45b4e)}.upper-legal-results li[data-check=passed] strong{color:var(--secondary, #099078)}.upper-school-page>.board-view-tabs{margin-block:16px;flex-wrap:wrap}.upper-save-state{color:var(--muted);font-size:12px}.upper-rails{padding-bottom:20px}.upper-rails>p,.upper-rails>fieldset,.upper-rails>details,.upper-rail-status{margin-inline:20px}.upper-rails-controls{border:0;padding:0;min-width:0}.upper-rail-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.upper-rail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-block:20px}.upper-rail-card{border:1px solid var(--line);border-radius:10px;padding:0 14px 14px;background:var(--raised)}.upper-rail-card ul{padding-left:18px}.upper-fixed-couplings{margin-block:20px}.upper-fixed-couplings summary{cursor:pointer;font-weight:600}.upper-fixed-couplings li{display:flex;align-items:center;gap:12px;margin-block:8px}.upper-delete-confirm{position:sticky;bottom:16px;z-index:4;padding:20px;border:1px solid var(--line);background:var(--surface);box-shadow:0 8px 24px #0002;border-radius:10px}.upper-resource-fieldset{margin:0;padding:0;min-width:0;border:0}.upper-school-page>.board-view-tabs{margin-left:0!important}.upper-school-page .search-box{display:flex;align-items:center}.upper-school-page .search-box input{border:0;background:transparent;min-height:0;padding:0}.upper-course-tiles{display:flex;flex-wrap:wrap;gap:8px;min-height:48px}.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px}.secondary-btn>svg{flex-shrink:0;vertical-align:middle}.upper-rails .upper-course-tile{width:128px;min-width:128px;max-width:128px;flex:0 0 128px;min-height:54px;padding:7px 8px;border:1px solid transparent;border-radius:7px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;cursor:grab;text-align:left;position:relative}.upper-course-tile strong{max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.upper-course-tile small{font-size:10px;opacity:.85}.upper-rails .upper-course-tile:hover{filter:brightness(1.07);transform:translateY(-1px)}.upper-rails .upper-course-tile.is-selected,.upper-rails .upper-course-tile:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.upper-rail-card.is-drop-target{outline:2px dashed var(--accent);background:var(--accent-soft)}.upper-tutor-toggle.is-selected{color:var(--accent-text);background:var(--accent-soft);border-color:var(--accent)}.upper-enrollment-matrix{max-height:65vh;overflow:auto}.upper-enrollment-matrix table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}.upper-enrollment-matrix thead{position:sticky;top:0;z-index:2}.upper-enrollment-matrix thead th{background:var(--surface);text-align:center;min-width:115px}.upper-enrollment-matrix th:first-child{position:sticky;left:0;z-index:1;background:var(--surface);min-width:190px}.upper-enrollment-matrix td{text-align:center}.upper-enrollment-matrix small{display:block;margin-top:5px;color:var(--muted);font-size:11px;font-weight:400}.upper-enrollment-matrix input[type=checkbox]{width:18px;min-height:18px;cursor:pointer}.upper-matrix-course{display:inline-block;border-radius:5px;padding:4px 6px}.upper-student-link{border:0;background:none;color:var(--ink);padding:0;font:inherit;cursor:pointer;text-align:left}.upper-student-link:hover{color:var(--accent-text);text-decoration:underline}.upper-personal-access{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.upper-personal-access h3{display:flex;align-items:center;gap:8px}.upper-password-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin-block:12px}.upper-password-actions label{flex:1;min-width:180px}.upper-personal-access>label{max-width:420px}.upper-personal-access p,.upper-personal-access small{color:var(--muted)}.upper-lk-badge{display:inline-flex;align-items:center;gap:5px;font-weight:700;white-space:nowrap}.upper-course-tile strong{display:flex;align-items:center;gap:4px}.upper-course-tile strong svg{flex:0 0 auto}.upper-matrix-course{display:inline-flex;align-items:center;gap:5px}.upper-school-page .table-toolbar{gap:16px;align-items:center}.upper-school-page .table-search-actions{display:flex;align-items:center;gap:10px;margin-left:auto;flex-wrap:wrap}.upper-school-page .table-search-actions>button{min-height:38px;white-space:nowrap}.upper-school-page .table-search-actions .search-box{margin:0;min-height:38px}.upper-school-page .table-toolbar h2{margin:0}.upper-school-page .table-toolbar p{margin:5px 0 0}.upper-rail-card>.upper-toolbar{margin:0 0 12px;gap:8px;justify-content:flex-start}.upper-rail-card>.upper-toolbar>strong{margin-right:auto}.upper-tutor-help{margin-block:10px 16px;color:var(--muted);font-size:12px;line-height:1.5}@media (max-width: 650px){.upper-school-page .table-search-actions{width:100%;margin-left:0;gap:8px}.upper-school-page .table-search-actions .search-box{min-width:130px;flex:1 1 130px}.upper-school-page .table-search-actions>button{font-size:12px}.upper-school-page .table-toolbar{padding:14px}}.lesson-title>svg{display:inline-block;vertical-align:-1px;margin-right:3px;flex-shrink:0}.reader-lesson-content>strong>svg{display:inline-block;vertical-align:-1px;margin-right:4px}.upper-rails>.upper-rail-grid{margin:20px}.upper-rails>.upper-rail-card{margin:20px}.upper-rails .upper-rail-card{padding-top:14px}.upper-rails>.form-actions{margin:16px 20px 0}.upper-student-name{display:flex;align-items:center;gap:8px}.upper-legal-icon{font-size:18px;font-weight:400;flex:0 0 28px;width:28px;height:28px}.upper-legal-icon.has-errors{color:var(--danger, #c33232);font-weight:800;border-color:currentColor}.upper-school-page .table-search-actions>button{height:38px;min-height:38px;box-sizing:border-box}.upper-school-page .table-search-actions>button .file-export-icon{width:18px;height:18px}.upper-legal-results[role=dialog]{max-height:85vh;overflow:auto}.upper-school-page .modal-backdrop .form-actions,.upper-school-page [role=dialog] .form-actions{margin-top:20px}.upper-rails .upper-course-tile small{color:inherit;opacity:1}.upper-access-panel>.primary-btn{margin-top:20px}.upper-delete-confirm>.form-actions{margin-top:20px}.message-center-button{position:relative;flex:none}.message-count{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 4px;display:grid;place-items:center;border-radius:10px;background:#bd2525;color:#fff;font-size:10px;font-weight:700;line-height:1}.message-dialog{width:min(560px,calc(100vw - 32px));max-height:min(75vh,720px);border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface, #fff);color:var(--ink);box-shadow:0 20px 70px #0004}.message-dialog::backdrop{background:#0008}.message-dialog-header,.message-item>div{display:flex;justify-content:space-between;align-items:center;gap:12px}.message-dialog-header h2{margin:0}.message-dialog-actions{margin:16px 0}.message-list{list-style:none;display:grid;gap:10px;padding:0;margin:0}.message-item{border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:8px;padding:12px}.message-item.is-error{border-left-color:#c83232}.message-item.is-success{border-left-color:#21845c}.message-item.is-read{opacity:.7}.message-item time{font-size:.8rem}.message-item p{margin:6px 0 0;overflow-wrap:anywhere}.feedback-banner{position:absolute!important;top:8px!important;left:auto;transform:none;width:min(440px,calc(100vw - 32px))!important;padding-right:36px!important}.feedback-anchor{position:relative;z-index:50}.feedback-banner>svg{flex:none}.feedback-banner>span{overflow-wrap:anywhere}.feedback-banner>button{position:absolute;top:4px;right:4px;display:grid;place-items:center;padding:4px}.feedback-banner.is-info{color:var(--ink);background:var(--surface);border-color:var(--accent-line)}.topbar>.message-center-button{margin-left:auto;margin-right:14px}@media (max-width: 700px){.shell .topbar-leading{width:auto;flex:1 1 auto}.topbar>.message-center-button{margin-left:auto;margin-right:0}}.sort-header{display:inline-flex;align-items:center;gap:5px;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.sort-header svg{flex:none;opacity:.65}.sort-header:hover,.sort-header:focus-visible{color:var(--accent)}.documentation-link{text-decoration:none;white-space:nowrap}.cockpit-page{--accent: #5b4bd2;--accent-text: #5145a5;--accent-heading: #5145a5;max-width:1440px;margin:auto;padding:24px;color:var(--ink)}html[data-theme=dark] .cockpit-page{--accent-text: #b3a9f5;--accent-heading: #b3a9f5}.cockpit-header,.cockpit-header>div,.cockpit-actions,.cockpit-toolbar{display:flex;align-items:center;gap:12px}.cockpit-header{justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:24px}.cockpit-header strong{font-size:13px;letter-spacing:.08em}.cockpit-header small,.cockpit-page td small{display:block;color:var(--muted);margin-top:5px}.cockpit-actions{flex-wrap:wrap}.cockpit-page input,.cockpit-page select{width:100%;min-width:0;min-height:42px;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:9px 12px;font:inherit}.cockpit-page label{display:grid;gap:6px;font-size:13px}.cockpit-page .primary-btn{background:#5145a5;color:#fff;border-color:#5145a5}.cockpit-login{max-width:430px;padding:30px;margin:60px auto}.cockpit-login form{display:grid;gap:18px;margin-top:22px}.cockpit-page p{line-height:1.6}.cockpit-toolbar{flex-wrap:wrap;margin-block:20px}.cockpit-toolbar h1{display:flex;align-items:center;gap:10px;margin:0 auto 0 0;font-size:24px}.cockpit-toolbar>input{width:240px}.cockpit-editor,.cockpit-connection{padding:22px;margin-bottom:24px}.cockpit-connection input{margin-block:10px}.cockpit-grid{border:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:20px}.cockpit-grid .cockpit-checkbox{display:flex;align-items:center;gap:10px}.cockpit-checkbox input{width:18px;min-height:18px;accent-color:#5145a5}.cockpit-table-scroll{overflow-x:auto}.cockpit-page table{width:100%;border-collapse:collapse;background:var(--surface);font-size:13px}.cockpit-page td,.cockpit-page th{text-align:left;border-bottom:1px solid var(--line);padding:13px}.cockpit-history{padding:20px;margin-top:24px}.cockpit-history summary{cursor:pointer}.cockpit-footer{display:flex;justify-content:center;gap:18px;padding:36px 0;font-size:11px;text-transform:uppercase}.cockpit-footer a{color:var(--muted)}.cockpit-notice{background:var(--accent-soft);padding:12px;border-radius:8px}@media (max-width: 760px){.cockpit-page{padding:16px 12px}.cockpit-header{flex-wrap:wrap}.cockpit-header .cockpit-actions>span{display:none}.cockpit-grid{grid-template-columns:1fr}.cockpit-toolbar>input{width:100%}.cockpit-login{padding:22px}}.school-modules{padding:24px}.school-modules label{display:grid;gap:8px;max-width:620px}.school-modules input{width:100%;min-width:0;padding:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink)}.school-modules p,.module-status small{color:var(--muted);line-height:1.6}.module-actions{display:flex;flex-wrap:wrap;gap:10px;margin-block:14px}.module-actions a{text-decoration:none}.module-status{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:18px 0;border-block:1px solid var(--line);margin-block:22px}.module-status small{display:block}@media (max-width: 760px){.school-modules{padding:16px 12px}}html[data-theme] .cockpit-page .primary-btn,html[data-theme] .cockpit-page .primary-btn:hover{color:#fff!important;background:var(--accent)!important}
