.admin-root{min-height:100vh}.admin-login-gate,.app-loading{min-height:100vh;display:grid;place-items:center;padding:24px}.admin-login-gate form{width:min(420px,100%);display:grid;gap:12px;padding:24px;border:1px solid #d8e3df;border-radius:12px;background:#fff}.admin-login-gate label{display:grid;gap:6px}.admin-login-gate input{padding:10px 12px;border:1px solid #c9d7d2;border-radius:8px}.admin-login-gate button{padding:10px 14px;border:0;border-radius:8px;background:#0f9f7a;color:#fff;cursor:pointer}.admin-root .topbar h1{max-width:min(760px,58vw)}.admin-client-search{min-width:min(300px,38vw)}.admin-client-table-wrap table{min-width:1180px}.admin-users-table-wrap table{min-width:920px}.admin-modules-table-wrap table{min-width:760px}.admin-modules-table-wrap input[type=text]{max-width:180px}.admin-modules-table-wrap select{min-width:140px}.admin-module-row td{cursor:pointer}.admin-module-row input,.admin-module-row select{cursor:text}.admin-module-row select{cursor:pointer}.admin-module-detail-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(180px,240px) minmax(150px,200px);align-items:end;gap:14px}.admin-module-tabs{margin-top:0}.admin-module-overview{display:grid;gap:16px}.admin-module-detail-grid label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.admin-module-detail-summary{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;min-height:72px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.admin-module-detail-summary .admin-module-icon{width:44px;height:44px}.admin-module-detail-summary h3,.admin-module-detail-summary p{margin:0}.admin-module-detail-summary h3{color:var(--text);font-size:1rem}.admin-module-detail-summary p{margin-top:4px;color:var(--muted);font-size:.84rem;font-weight:800}.admin-module-clients-table-wrap table{min-width:820px}.admin-users-table-wrap.delete-mode tbody tr:hover{background:var(--red-soft)}.row-action-cell{position:relative;text-align:center}.row-action-cell .icon-button{margin-inline:auto}.table-action-menu{position:absolute;z-index:35;top:calc(100% - 4px);right:10px;display:grid;min-width:210px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:8px}.table-action-menu button{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:38px;border:0;border-radius:7px;background:transparent;color:var(--text);font-weight:900;padding:0 10px;text-align:left}.table-action-menu button:hover{background:var(--accent-soft);color:var(--accent-dark)}.admin-user-detail-page .panel{min-height:320px}.admin-client-table-wrap td:first-child strong,.admin-client-table-wrap td:first-child span{display:block}.admin-payment-badge{gap:6px}.admin-detail-page{display:grid;gap:16px}.admin-detail-page .panel{min-height:405px}.admin-inline-edit{grid-column:1 / -1}.admin-detail-page .admin-inline-edit,.admin-detail-page .admin-detail-actions{display:none}.admin-detail-page input:disabled,.admin-detail-page select:disabled{border-color:transparent;background:transparent;box-shadow:none;color:var(--text);cursor:default;opacity:1;padding-left:0}.admin-detail-page input[type=checkbox]:disabled{accent-color:var(--accent);opacity:.75}.admin-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-module-toggle{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;min-height:64px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.admin-module-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark)}.admin-module-toggle span:not(.admin-module-icon){min-width:0}.admin-module-toggle strong,.admin-module-toggle small{display:block}.admin-module-toggle strong{color:var(--text);font-size:.9rem}.admin-module-toggle small{color:var(--muted);font-size:.76rem;font-weight:800;margin-top:3px}.admin-module-toggle input[type=checkbox]{width:18px;min-height:18px;accent-color:var(--accent)}.admin-module-name{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px}.admin-module-link{width:100%;min-height:40px;border:0;background:transparent;color:var(--text);padding:0;text-align:left}.admin-module-link:focus-visible{color:var(--accent-dark);box-shadow:none}.admin-module-link:hover{color:var(--text);background:transparent;box-shadow:none}.admin-modules-table-wrap .admin-module-link:hover{color:inherit;background:transparent;box-shadow:none}.admin-modules-table-wrap .admin-module-link:hover .admin-module-icon{background:var(--accent-soft);color:var(--accent-dark)}.admin-hidden-file-input{display:none}.admin-library-catalog-table-wrap table{min-width:940px}.admin-library-import-table-wrap table{min-width:920px}.library-catalog-create-card{max-width:none}.library-catalog-create-form{height:100%}.library-catalog-upload-card{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);padding:16px}.library-catalog-upload-card>svg{color:var(--accent-dark)}.library-catalog-upload-card strong,.library-catalog-upload-card span{display:block;min-width:0;overflow-wrap:anywhere}.library-catalog-upload-card strong{color:var(--text)}.library-catalog-upload-card span{margin-top:4px;color:var(--muted);font-size:.82rem;font-weight:800}.library-catalog-upload-button{display:inline-flex;align-items:center;justify-content:center;justify-self:end;width:128px;min-height:36px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--text);font-size:.82rem;font-weight:900;line-height:1;padding:0 12px;text-align:center;white-space:nowrap;cursor:pointer}.library-catalog-upload-button:hover,.library-catalog-upload-button:focus-within{border-color:var(--accent);background:var(--surface);color:var(--accent-dark)}.library-catalog-upload-card input{display:none}.library-catalog-review-sections{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-form-note{margin:-4px 0 2px;color:var(--muted);font-size:.82rem;font-weight:800}.admin-finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}.admin-finance-summary>div{min-height:82px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.admin-finance-summary dt,.admin-whitelabel-details dt{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.admin-finance-summary dd,.admin-whitelabel-details dd{display:flex;align-items:center;gap:8px;margin:8px 0 0;color:var(--text);font-weight:900}.admin-history-title{margin-top:18px}.admin-payment-history table{min-width:760px}.admin-whitelabel-preview{display:grid;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.admin-whitelabel-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:14px}.admin-whitelabel-card,.admin-whitelabel-details{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.admin-whitelabel-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.admin-whitelabel-details>div{min-width:0;border-bottom:1px solid var(--line);padding:14px}.admin-whitelabel-details>div:nth-child(odd){border-right:1px solid var(--line)}.admin-color-swatch{width:34px;height:18px;border-radius:999px;box-shadow:inset 0 0 0 1px #0f172a1f}.admin-preview-top{display:flex;align-items:center;gap:12px;min-height:58px;border-left:5px solid var(--accent);border-bottom:1px solid var(--line);padding:10px 12px}.admin-preview-top>span{display:grid;place-items:center;overflow:hidden;width:38px;height:38px;border-radius:var(--radius);color:#fff;font-weight:900}.admin-preview-top img{width:100%;height:100%;object-fit:cover}.admin-preview-top strong{color:var(--text)}.admin-preview-body{display:grid;grid-template-columns:90px minmax(0,1fr);align-items:center;gap:12px;padding:12px}.admin-preview-body i{display:block;height:54px;border-radius:var(--radius)}.admin-preview-icon-file{width:90px;height:54px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);object-fit:contain;padding:8px}.admin-preview-body p{margin:0;color:var(--muted);font-weight:800}.admin-asset-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-asset-upload-card{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:10px;min-height:64px;overflow:hidden;border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:10px;cursor:pointer}.admin-asset-upload-card svg{grid-row:span 2}.admin-asset-upload-card span,.admin-asset-upload-card small{display:block;min-width:0}.admin-asset-upload-card span{color:var(--text);font-weight:900}.admin-asset-upload-card small{color:var(--muted);font-size:.76rem;font-weight:800}.admin-asset-upload-card input{position:absolute;inset:0;opacity:0;cursor:pointer}.admin-detail-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-top:14px}.admin-upload-button{min-height:38px;border-radius:var(--radius)}.admin-domain-line{display:flex;align-items:center;gap:8px;margin-top:12px;color:var(--muted);font-size:.82rem;font-weight:800}.admin-preview-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px;background:#0f172a6b}.admin-preview-modal-card{width:min(980px,100%);overflow:hidden;border-radius:var(--radius);background:#fff;box-shadow:0 24px 80px #0f172a47}.admin-preview-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:14px 16px}.admin-preview-modal-head strong,.admin-preview-modal-head span{display:block}.admin-preview-modal-head span{margin-top:3px;color:var(--muted);font-size:.8rem;font-weight:800}.admin-dashboard-preview{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:430px;background:#f3f8f6}.admin-dashboard-preview aside{display:grid;align-content:start;gap:8px;background:var(--preview-primary);color:#fff;padding:20px}.admin-dashboard-preview aside>span{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--radius);background:#ffffff2e;font-weight:900}.admin-dashboard-preview aside small{color:#ffffffb8;font-weight:800}.admin-dashboard-preview main{min-width:0;padding:22px}.admin-dashboard-preview header{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-dashboard-preview h2,.admin-dashboard-preview p{margin:0}.admin-dashboard-preview p{color:var(--muted);font-weight:900}.admin-dashboard-preview header button{min-height:38px;border:0;border-radius:var(--radius);background:var(--preview-secondary);color:#fff;font-weight:900;padding:0 14px}.admin-dashboard-preview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-dashboard-preview-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px}.admin-dashboard-preview-grid strong,.admin-dashboard-preview-grid span{display:block}.admin-dashboard-preview-grid strong{font-size:1.4rem}.admin-dashboard-preview-grid span{margin-top:4px;color:var(--muted);font-size:.78rem;font-weight:900}.admin-dashboard-preview main>section{display:grid;gap:10px;margin-top:18px}.admin-dashboard-preview main>section span{height:52px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.admin-create-card{min-height:0}.admin-user-create-card{max-width:860px}.admin-user-create-page .admin-user-create-card{max-width:none}.admin-user-form{height:auto}.admin-user-create-page .admin-user-form{height:100%}.admin-user-review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.admin-user-review-grid div{display:grid;gap:6px;min-height:78px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.admin-user-review-grid span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.admin-user-review-grid strong{min-width:0;overflow-wrap:anywhere;color:var(--text)}.admin-permissions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.admin-permission-card{display:grid;align-content:start;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:14px}.admin-permission-card h3{margin:0;font-size:.94rem}.admin-permission-card div{display:grid;gap:8px}.admin-permission-card label{display:flex;align-items:center;gap:8px;color:var(--text);font-size:.84rem;font-weight:850}.admin-permission-card input{width:16px;min-width:16px;height:16px;min-height:16px;accent-color:var(--accent)}.admin-client-form .student-edit-section{display:grid;align-content:start;gap:14px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.admin-client-form input[type=color]{min-height:40px;padding:4px}.admin-client-form input:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}@media(max-width:980px){.admin-module-grid,.admin-asset-upload-grid,.admin-finance-summary,.admin-whitelabel-layout,.admin-dashboard-preview{grid-template-columns:1fr}.admin-client-search{min-width:100%}}@media(max-width:760px){.admin-root .topbar{align-items:stretch;flex-direction:column}.admin-root .topbar h1{max-width:100%}.admin-detail-actions{align-items:stretch;flex-direction:column}.admin-detail-actions>*{width:100%}.admin-whitelabel-details,.admin-user-review-grid,.admin-permissions-grid,.admin-dashboard-preview-grid{grid-template-columns:1fr}.admin-whitelabel-details>div:nth-child(odd){border-right:0}.admin-preview-modal{padding:12px}}:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;--bg: #f4f7f6;--surface: #ffffff;--surface-muted: #f8faf9;--text: #17211f;--muted: #65716e;--line: #dfe8e4;--accent: #0f9f82;--accent-dark: #08705d;--accent-soft: #e3f6f1;--amber: #c98613;--amber-soft: #fff4d8;--red: #c8463a;--red-soft: #ffe8e5;--blue: #367fba;--blue-soft: #e7f2fb;--shadow: 0 18px 50px rgba(26, 43, 38, .08);--radius: 8px}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{border:0;border-radius:var(--radius);background:var(--accent);color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0 14px;font-size:.88rem;font-weight:700;transition:background .16s ease,transform .16s ease,border-color .16s ease}button:hover{background:var(--accent-dark)}button:active{transform:translateY(1px)}input,select,textarea{min-height:38px;width:100%;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:0 11px;font-size:.9rem;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}textarea{min-height:112px;padding:11px;resize:vertical;line-height:1.45}table{width:100%;border-collapse:collapse;font-size:.9rem}th{color:#5c6865;font-size:.74rem;font-weight:800;letter-spacing:0;padding:10px 12px;text-align:left;text-transform:uppercase;white-space:nowrap}td{border-top:1px solid var(--line);color:#25312f;padding:13px 12px;vertical-align:middle}tr{transition:background .14s ease}tbody tr:hover{background:#f7fbfa}.app-shell{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;border-right:1px solid var(--line);background:#0f1f1c;color:#dfece9;padding:22px 16px;z-index:20}.brand,.login-brand,.mini-profile,.student-card,.class-card-head,.class-meta,.date-chip,.search-box{display:flex;align-items:center}.brand{gap:12px;padding:0 8px 22px}.brand strong{display:block;color:#fff;font-size:1rem}.brand span{display:block;color:#9fb4af;font-size:.78rem;margin-top:2px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:#fff;border:1px solid rgba(255,255,255,.18);overflow:hidden;flex:0 0 auto}.brand-mark.large{width:56px;height:56px}.brand-mark img{width:100%;height:100%;object-fit:cover}.brand-logo{display:block;width:min(148px,44vw);aspect-ratio:1 / 1;object-fit:contain;margin:0 auto}.sidebar-brand-logo{display:block;width:62px;height:48px;object-fit:contain;border-radius:6px;background:#fff;padding:3px;flex:0 0 auto}.teacher-brand-logo{display:block;width:86px;height:76px;object-fit:contain;flex:0 0 auto}.nav-list{display:grid;gap:5px}.nav-section{display:grid;gap:5px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:6px;padding-bottom:8px}.nav-section-label{color:#7fa39c;font-size:.68rem;font-weight:900;letter-spacing:0;padding:0 12px 2px;text-transform:uppercase}.nav-item{justify-content:flex-start;width:100%;min-height:43px;background:transparent;color:#bed0cc;font-weight:700;padding:0 12px}.nav-item:hover,.nav-item.active{background:#ffffff17;color:#fff}.nav-group{display:grid;gap:4px}.nav-group-trigger{pointer-events:none;margin-bottom:0}.nav-registration-group{margin-bottom:6px}.nav-sublist{display:grid;gap:3px;padding-left:28px}.nav-subitem{justify-content:flex-start;width:100%;min-height:34px;border:0;background:transparent;color:#a9bdb8;font-size:.8rem;font-weight:800;padding:0 10px}.nav-subitem:hover,.nav-subitem.active{background:#ffffff14;color:#fff}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding-top:16px}.profile-switcher{display:grid;gap:8px}.profile-switcher>label{color:#9fb4af;font-size:.72rem;font-weight:900;text-transform:uppercase}.mini-profile{gap:10px}.mini-profile>div{min-width:0;flex:1}.mini-profile>span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#e4f6f1;color:var(--accent-dark);font-weight:900}.mini-profile strong,.mini-profile small{display:block}.mini-profile small{color:#9fb4af;font-size:.76rem;margin-top:2px}.mini-profile select{min-height:31px;border-color:#ffffff29;background:#ffffff14;color:#fff;font-size:.88rem;font-weight:900;padding:0 9px}.mini-profile select option{color:var(--text)}.sidebar-logout{justify-content:flex-start;width:100%;min-height:38px;margin-top:10px;border:1px solid rgba(255,255,255,.14);background:#ffffff0f;color:#dfece9;padding:0 11px}.sidebar-logout:hover{border-color:#ffffff42;background:#ffffff1f;color:#fff}.workspace{min-width:0;padding:24px}.workspace:has(.course-module-layout){height:100vh;overflow:hidden}.workspace:has(.student-module-layout){height:100vh;overflow:hidden}.workspace:has(.student-create-page){height:100vh;overflow:hidden}.workspace:has(.class-schedule-edit-page){display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;row-gap:14px;height:100vh;overflow:hidden}.workspace:has(.class-schedule-edit-page) .topbar{margin-bottom:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.topbar p,.topbar h1{margin:0}.topbar p{color:var(--muted);font-size:.82rem;font-weight:800}.topbar h1{color:var(--text);font-size:clamp(1.45rem,2vw,2.05rem);line-height:1.12;max-width:min(1120px,74vw);overflow-wrap:anywhere;white-space:normal}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:6px;color:var(--muted);font-size:.78rem;font-weight:850;margin-top:6px}.breadcrumb span{display:inline-flex;align-items:center;gap:6px;min-width:0}.breadcrumb span:last-child{color:var(--accent-dark)}.breadcrumb small{color:#9aa8a4;font-size:.78rem;font-weight:900}.topbar-actions{position:relative;display:flex;align-items:center;gap:10px;overflow:visible}.date-chip{min-height:38px;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 12px;font-size:.85rem;font-weight:700}.top-course-selector{position:relative;display:flex;align-items:center;gap:9px}.teacher-topbar-selector{display:flex;align-items:center;gap:9px}.teacher-topbar-selector label{display:grid;gap:4px}.teacher-topbar-selector span{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.teacher-topbar-selector select{min-width:210px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:0 10px;font-weight:800}.top-course-dropdown{position:relative}.course-trigger{min-width:260px;justify-content:space-between;border:1px solid var(--line);background:#fff;color:var(--text);padding:0 12px}.course-trigger:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.course-trigger:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px)}.course-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:40;width:min(330px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 24px 70px #11201d33;padding:12px}.course-popover-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.course-popover-head strong{font-size:.88rem}.course-popover-head button{min-height:30px;padding:0 9px;font-size:.76rem}.course-popover-search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);padding:0 9px;margin-bottom:8px}.course-popover-search input{min-height:36px;border:0;box-shadow:none;padding:0}.course-popover-list{display:grid;max-height:340px;overflow-y:auto}.course-popover-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-height:62px;border-top:1px solid var(--line);border-radius:0;background:#fff;color:var(--text);padding:10px 2px;text-align:left}.course-popover-list button:hover,.course-popover-list button.active{background:var(--accent-soft)}.course-popover-list button.active{box-shadow:inset 3px 0 0 var(--accent);padding-left:9px}.course-popover-list span{display:grid;gap:3px;min-width:0}.course-popover-list strong,.course-popover-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-popover-list small{color:var(--muted);font-size:.76rem;font-weight:800}.course-popover-list b{color:var(--accent-dark);font-size:.78rem;text-align:right}.ghost-button,.panel-header button.compact-button,.compact-button{border:1px solid var(--line);background:#fff;color:var(--text)}.ghost-button:hover,.compact-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.today-button{border-color:var(--accent);background:var(--accent);color:#fff}.today-button:hover{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.floating-today-button{position:fixed;right:28px;bottom:28px;z-index:20;min-height:48px;border-color:var(--accent);background:var(--accent);color:#fff;box-shadow:0 18px 36px #0f9f8247}.floating-today-button:hover{border-color:var(--accent-dark);background:var(--accent-dark);color:#fff}.icon-button{width:40px;padding:0}.danger-button{border:1px solid var(--red-soft);background:#fff;color:var(--red)}.danger-button:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}.mobile-only{display:none}.page-grid{display:grid;gap:18px}.stat-grid,.finance-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.dashboard-chart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:18px}.dashboard-chart{width:100%;height:270px}.dashboard-chart text{fill:var(--muted);font-size:.78rem;font-weight:800}.dashboard-chart .recharts-label-list text{fill:var(--accent-dark);font-weight:900}.payment-meter{display:grid;gap:14px;min-height:270px;align-content:center}.payment-meter-chart{position:relative;height:172px}.payment-meter-value{position:absolute;right:0;bottom:8px;left:0;display:grid;justify-items:center;pointer-events:none}.payment-meter-value strong{color:var(--text);font-size:2.25rem;line-height:1}.payment-meter-value span{color:var(--muted);font-size:.82rem;font-weight:900;margin-top:4px}.payment-meter-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.payment-meter-legend div{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);font-size:.82rem;font-weight:800;padding:10px}.payment-meter-legend strong{color:var(--text)}.legend-dot{width:9px;height:9px;border-radius:50%;flex:0 0 auto}.legend-dot.paid{background:var(--accent)}.legend-dot.overdue{background:var(--red)}.stat-card,.panel,.login-panel,.login-aside{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.stat-card{display:flex;align-items:center;gap:14px;padding:17px}.stat-card>span{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius)}.stat-card.green>span{background:var(--accent-soft);color:var(--accent-dark)}.stat-card.amber>span{background:var(--amber-soft);color:var(--amber)}.stat-card.blue>span{background:var(--blue-soft);color:var(--blue)}.stat-card.gray>span{background:#eef2f1;color:#53605d}.stat-card strong{display:block;font-size:1.75rem;line-height:1}.stat-card p{margin:5px 0 0;color:var(--muted);font-size:.82rem;font-weight:800}.content-split,.students-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.85fr);gap:18px}.content-split.compact{grid-template-columns:minmax(0,1fr) minmax(280px,.55fr)}.panel{min-width:0;padding:18px}.catalog-page-panel{display:grid;align-content:start;gap:14px;min-height:calc(100vh - 186px)}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.catalog-page-panel-header{align-items:flex-start;gap:16px;margin-bottom:0}.catalog-page-panel-header h2,.catalog-page-panel-header p{margin:0}.catalog-page-panel-header h2{margin-top:4px;font-size:1.15rem}.catalog-page-panel-header p{margin-top:5px;color:var(--muted);font-size:.9rem}.catalog-page-panel-tools{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:min(360px,100%)}.catalog-search-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:min(360px,100%);min-height:40px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 12px}.catalog-search-field input{width:100%;min-height:36px;border:0;background:transparent;padding:0;color:var(--text);font:inherit;outline:0}.catalog-search-field input:focus{box-shadow:none}.catalog-search-field input::placeholder{color:var(--muted)}.panel-header h2{margin:0;font-size:1rem;line-height:1.2}.panel-header>span,.count-pill{border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);padding:7px 10px;font-size:.78rem;font-weight:900}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius)}.selected-row{background:var(--accent-soft)}.status-chip,.doc-summary{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:999px;padding:0 9px;font-size:.75rem;font-weight:900;white-space:nowrap}.status-chip.success,.doc-summary.complete{background:var(--accent-soft);color:var(--accent-dark)}.status-chip.warning,.doc-summary{background:var(--amber-soft);color:var(--amber)}.status-chip.danger{background:var(--red-soft);color:var(--red)}.teacher-preview{display:grid;gap:16px}.eyeless-label{color:var(--muted);display:block;font-size:.78rem;font-weight:900;margin-bottom:5px}.teacher-preview h3,.teacher-preview p{margin:0}.teacher-preview p{color:var(--muted);margin-top:5px}.attendance-stack{display:grid;gap:9px}.attendance-mini{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:10px}.attendance-mini input{width:18px;min-height:18px}.attendance-mini span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attendance-mini small{color:var(--muted);font-weight:800}.teacher-page .panel{min-height:0}.teacher-class-list,.teacher-subject-list{display:grid;gap:10px}.teacher-class-list article,.teacher-subject-list article{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.teacher-class-list article.active,.teacher-subject-list article.active{border-color:var(--accent);background:var(--accent-soft)}.teacher-class-list strong,.teacher-subject-list strong{display:block;color:var(--text)}.teacher-class-list span,.teacher-subject-list span{display:block;color:var(--muted);font-size:.82rem;font-weight:700;margin-top:3px}.teacher-context-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.teacher-context-strip div{display:grid;gap:5px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.teacher-context-strip span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.teacher-context-strip strong{color:var(--text);font-size:1rem}.week-calendar-shell{display:grid;gap:10px;margin-bottom:14px}.week-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.week-calendar-toolbar>strong{color:var(--muted);font-size:.86rem;font-weight:900;text-align:center}.next-week-icon{transform:rotate(180deg)}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.week-calendar button{display:grid;justify-items:center;gap:5px;min-height:64px;border:0;border-right:1px solid var(--line);border-radius:0;background:#fff;color:var(--text)}.week-calendar button:last-child{border-right:0}.week-calendar button.active{background:var(--accent-soft);color:var(--accent-dark);box-shadow:inset 0 -3px 0 var(--accent)}.week-calendar span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.week-calendar strong{font-size:1rem}.teacher-check-row{display:inline-flex;align-items:center;gap:9px;font-weight:900}.teacher-check-row input{width:18px;min-height:18px;accent-color:var(--accent)}.teacher-evaluation-select{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:.78rem;font-weight:900}.teacher-evaluation-select select{min-height:36px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:0 10px;font-weight:800}.teacher-table-wrap table{min-width:760px}.readonly-table-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:var(--surface-muted);color:var(--text);padding:0 10px;font-size:.78rem;font-weight:900}.readonly-table-text{color:var(--muted);font-size:.86rem;font-weight:800}.teacher-student-table-wrap table{min-width:900px}.teacher-dashboard-grid{align-items:start}.teacher-agenda-table table{min-width:760px}.teacher-upcoming-list,.teacher-student-card-list,.teacher-student-directory{display:grid;gap:10px}.teacher-upcoming-list button,.teacher-class-button-list button,.teacher-subject-button-list button,.teacher-student-directory article,.teacher-student-card-list article{display:grid;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--text);padding:12px;text-align:left}.teacher-upcoming-list button{grid-template-columns:96px minmax(0,1fr) auto}.teacher-class-button-list button,.teacher-subject-button-list button{grid-template-columns:minmax(0,1fr) auto}.teacher-class-button-list button.active,.teacher-subject-button-list button.active{border-color:var(--accent);background:var(--accent-soft)}.teacher-upcoming-list time,.teacher-upcoming-list b{color:var(--accent-dark);font-size:.82rem;font-weight:900}.teacher-upcoming-list strong,.teacher-upcoming-list small,.teacher-class-button-list strong,.teacher-class-button-list small,.teacher-subject-button-list strong,.teacher-subject-button-list small,.teacher-student-directory strong,.teacher-student-directory span,.teacher-student-directory small,.teacher-student-card-list strong,.teacher-student-card-list span{display:block;min-width:0;overflow-wrap:anywhere}.teacher-upcoming-list small,.teacher-class-button-list small,.teacher-subject-button-list small,.teacher-student-directory span,.teacher-student-directory small,.teacher-student-card-list span{color:var(--muted);font-size:.8rem;font-weight:800}.teacher-student-card-list article{grid-template-columns:minmax(0,1fr) auto auto auto}.teacher-step-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px;box-shadow:var(--shadow)}.teacher-step-header .ghost-button{min-height:38px}.teacher-step-header.detail{align-items:center;gap:8px;padding:8px 12px}.teacher-step-header.detail .ghost-button{min-height:34px;padding:0 10px}.teacher-step-header.student-detail{padding:10px 12px}.teacher-step-header.student-detail .ghost-button{min-height:34px;padding:0 10px}.teacher-step-header.detail .teacher-step-breadcrumb button,.teacher-step-header.detail .teacher-step-breadcrumb span,.teacher-step-header.detail .teacher-step-breadcrumb strong{font-size:.72rem;line-height:1.1}.teacher-step-header span,.teacher-step-header strong{display:block;min-width:0;overflow-wrap:anywhere}.teacher-step-header span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.teacher-step-header strong{margin-top:3px;color:var(--text);font-size:1rem;font-weight:600}.teacher-step-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;min-width:0}.teacher-step-breadcrumb button,.teacher-step-breadcrumb span,.teacher-step-breadcrumb strong{margin:0;min-width:0;color:var(--muted);font-size:.75rem;font-weight:600;line-height:1.2;text-transform:none}.teacher-step-breadcrumb button{border:0;background:transparent;padding:0;color:var(--accent-dark);cursor:pointer}.teacher-step-breadcrumb strong{color:var(--text);overflow-wrap:anywhere}.teacher-subject-workspace{display:grid;gap:14px}.teacher-subject-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:6px;box-shadow:var(--shadow)}.teacher-subject-tabs button{min-height:40px;background:transparent;color:var(--muted);font-size:.875rem;font-weight:700}.teacher-subject-tabs button.active{background:var(--accent-soft);color:var(--accent-dark)}.teacher-attendance-compact-panel .panel-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:start}.teacher-attendance-compact-panel .panel-header .compact-button{grid-column:1;grid-row:1}.teacher-attendance-compact-panel .panel-header h2{grid-column:2;grid-row:1;align-self:center}.teacher-attendance-compact-table{overflow:visible}.teacher-attendance-compact-table table{min-width:0;width:100%;table-layout:fixed}.teacher-attendance-compact-table th,.teacher-attendance-compact-table td{padding:9px 6px;font-size:.75rem;font-weight:700;white-space:normal}.teacher-attendance-compact-table td,.teacher-attendance-compact-table td strong{font-size:.75rem;font-weight:600}.teacher-attendance-compact-table th:last-child,.teacher-attendance-compact-table td:last-child{text-align:center}.teacher-attendance-compact-table th:first-child,.teacher-attendance-compact-table td:first-child{width:65%}.teacher-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,.4fr));gap:10px;margin-bottom:14px}.teacher-filter-bar select{min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:0 10px;font-weight:800}.teacher-student-directory article{grid-template-columns:minmax(0,1fr) auto auto}.teacher-class-subjects-table table,.teacher-evaluations-table table,.teacher-lessons-table table,.teacher-notes-table table,.teacher-student-evaluations-table table,.teacher-student-lessons-table table,.teacher-students-results-table table,.teacher-subject-students-table table{min-width:620px}.teacher-class-subjects-table th,.teacher-evaluations-table th,.teacher-lessons-table th,.teacher-notes-table th,.teacher-student-evaluations-table th,.teacher-student-lessons-table th,.teacher-students-results-table th,.teacher-subject-students-table th{font-size:.75rem;font-weight:700}.teacher-class-subjects-table td,.teacher-class-subjects-table td strong,.teacher-evaluations-table td,.teacher-evaluations-table td strong,.teacher-lessons-table td,.teacher-lessons-table td strong,.teacher-notes-table td,.teacher-notes-table td strong,.teacher-student-evaluations-table td,.teacher-student-evaluations-table td strong,.teacher-student-lessons-table td,.teacher-student-lessons-table td strong,.teacher-students-results-table td,.teacher-students-results-table td strong,.teacher-subject-students-table td,.teacher-subject-students-table td strong{font-size:.75rem;font-weight:600}.teacher-lessons-table .table-subtext{font-size:.625rem;font-weight:600}.teacher-notes-table th:last-child,.teacher-notes-table td:last-child{text-align:center}.teacher-notes-table .grade-input{width:min(82px,100%)}.teacher-notes-detail-panel .panel-header{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-content:start}.teacher-notes-detail-panel .panel-header h2{grid-column:2;grid-row:1}.teacher-notes-detail-panel .panel-header .compact-button{grid-column:1;grid-row:1}.teacher-student-filter-list select{width:100%;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:0 10px;font-weight:800}.teacher-students-page{align-content:start;align-items:start;min-height:auto}.teacher-students-filter-card,.teacher-students-results-card{align-self:start}.teacher-student-context-selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-student-context-selectors label{display:grid;gap:6px;min-width:0}.teacher-student-context-selectors label>span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.teacher-student-context-selectors .censo-search-select{min-width:0}.teacher-student-context-selectors .search-select-trigger{min-height:40px}.teacher-student-context-selectors .censo-search-menu{z-index:80}.teacher-student-row{grid-template-columns:minmax(0,1fr) auto}.teacher-student-row>div:first-child,.teacher-student-meta{min-width:0}.teacher-student-meta{align-self:stretch;justify-content:space-between}.teacher-student-row strong{overflow:visible;text-overflow:clip;white-space:normal}.clickable-table-row:hover{background:var(--accent-soft)}.grade-pill{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:24px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.78rem;font-weight:900}.empty-teacher-state{display:grid;place-items:center;gap:8px;min-height:280px;color:var(--muted);text-align:center}.empty-teacher-state.compact{min-height:160px}.empty-teacher-state svg{color:var(--accent)}.empty-teacher-state h3,.empty-teacher-state p{margin:0}.course-strip,.quick-actions,.doc-list,.grade-summary,.stacked-form,.login-options{display:grid;gap:10px}.course-module-layout{display:grid;height:calc(100vh - 126px);min-height:0}.course-workspace{display:grid;grid-template-rows:auto minmax(0,1fr);gap:18px;align-content:stretch;height:100%;min-height:0;min-width:0}.course-module-layout .panel{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.course-module-layout .panel>:not(.panel-header){min-height:0;overflow:auto}.course-module-layout .panel:has(.teaching-plan-view){height:calc(100vh - 186px);overflow:hidden}.empty-course-state{align-items:center;justify-content:center;gap:18px;text-align:center}.empty-course-icon{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark)}.empty-course-state span{color:var(--accent-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.empty-course-state h2{margin:8px 0;font-size:1.35rem}.empty-course-state p{max-width:520px;color:var(--muted);line-height:1.55;margin:0 auto}.course-list-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:16px 18px}.course-list-head span{color:var(--accent-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.course-list-head h2,.course-list-head p{margin:0}.course-list-head h2{margin-top:4px;font-size:1.25rem}.course-list-head p{margin-top:5px;color:var(--muted);font-size:.9rem}.course-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));align-items:start;align-content:start;gap:12px}.course-module-layout .course-list-panel{display:grid;align-content:start;min-height:calc(100vh - 186px)}.course-list-panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.course-list-panel-header h2,.course-list-panel-header p{margin:0}.course-list-panel-header h2{margin-top:4px;font-size:1.15rem}.course-list-panel-header p{margin-top:5px;color:var(--muted);font-size:.9rem}.course-search-field{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;width:min(360px,100%);min-height:40px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 12px}.course-search-field input{width:100%;min-height:36px;border:0;background:transparent;padding:0;color:var(--text);font:inherit;outline:0}.course-search-field input:focus{box-shadow:none}.course-search-field input::placeholder{color:var(--muted)}.course-empty-state{grid-column:1 / -1}.course-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-list-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:112px;height:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--text);padding:14px;text-align:left}.course-catalog-card{grid-template-columns:auto minmax(0,1fr);align-items:start;min-height:142px;padding:18px}.course-list-card:hover{border-color:var(--accent);background:#fbfefd}.course-catalog-grid.delete-mode .course-list-card{border-color:#c8463a9e;box-shadow:0 16px 38px #c8463a1a}.course-catalog-grid.delete-mode .course-list-card:hover,.course-catalog-grid.delete-mode .course-list-card:focus-visible{border-color:var(--red);background:var(--red-soft);box-shadow:0 18px 44px #c8463a2e}.course-catalog-grid.delete-mode .course-list-card-icon{background:var(--red-soft);color:var(--red)}.course-list-card-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark)}.course-list-card-body,.course-list-card-title,.course-list-matrices,.course-list-card-meta{display:grid}.course-list-card-body{gap:7px}.course-list-card-title{grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.course-list-card-title strong{min-width:0;font-size:1rem}.course-list-card small{color:var(--muted);font-size:.8rem;font-weight:800}.course-list-matrices{grid-template-columns:repeat(2,max-content);gap:7px;margin-top:5px}.course-list-card-divider{display:block;width:100%;height:1px;background:var(--line);margin:3px 0 2px}.course-list-card-stats{display:flex;align-items:center;gap:14px;color:var(--muted);font-size:.82rem;font-weight:900}.course-list-matrices em{border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.72rem;font-style:normal;font-weight:900;padding:4px 8px}.course-list-card-meta{grid-template-columns:auto;justify-items:end;gap:2px;color:var(--muted)}.course-list-card-meta strong{color:var(--text);font-size:1rem;line-height:1}.course-detail-bar{display:flex;gap:14px;align-items:center}.course-detail-bar.compact{align-items:center}.course-detail-bar h2{margin:2px 0 0;font-size:1.18rem}.section-kicker{color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.matrix-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;align-content:start;gap:14px}.matrix-list-panel{display:grid;align-content:start;gap:16px}.matrix-list-panel-header{align-items:flex-start}.matrix-list-panel-header h2,.matrix-list-panel-header p{margin:0}.matrix-list-panel-header h2{margin-top:4px;font-size:1.15rem}.matrix-list-panel-header p{margin-top:5px;color:var(--muted);font-size:.9rem}.matrix-list-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;min-height:118px;height:auto;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);color:var(--text);padding:16px;text-align:left}.matrix-list-card:hover{border-color:var(--accent);background:#fbfefd}.matrix-card-grid.delete-mode .matrix-list-card{border-color:#c8463a9e;box-shadow:0 16px 38px #c8463a1a}.matrix-card-grid.delete-mode .matrix-list-card:hover,.matrix-card-grid.delete-mode .matrix-list-card:focus-visible{border-color:var(--red);background:var(--red-soft);box-shadow:0 18px 44px #c8463a2e}.matrix-card-grid.delete-mode .course-list-card-icon{background:var(--red-soft);color:var(--red)}.matrix-list-card>span:nth-child(2){display:grid;gap:5px}.matrix-list-card strong{font-size:1rem}.matrix-empty-state{display:grid;grid-column:1 / -1;place-items:center;gap:8px;min-height:220px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);padding:24px;text-align:center}.matrix-empty-state.inline{min-height:130px}.matrix-empty-state strong{color:var(--text);font-size:1rem}.matrix-empty-state button{min-height:38px;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:900;padding:0 14px}.matrix-list-card small,.matrix-list-card em{color:var(--muted);font-size:.8rem;font-style:normal;font-weight:800}.selected-matrix-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:10px 13px}.selected-matrix-banner div{display:grid;gap:2px}.selected-matrix-banner span{font-size:.7rem;font-weight:900;text-transform:uppercase}.selected-matrix-banner small{color:var(--muted);font-weight:800}.matrix-version-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.matrix-version-tabs button{display:grid;gap:3px;justify-items:start;min-height:54px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:9px 12px;text-align:left}.matrix-version-tabs button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.matrix-version-tabs span{color:var(--muted);font-size:.75rem;font-weight:800}.course-module-layout .panel>.course-overview-detail,.course-module-layout .panel>.curriculum-board,.course-module-layout .panel>.module-grid,.course-module-layout .panel>.course-display-split,.course-module-layout .panel>.plan-editor,.course-module-layout .panel>.teaching-plan-view,.course-module-layout .panel>.compliance-grid,.course-module-layout .panel>.student-detail-page{flex:1}.course-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);margin:-2px 0 18px;padding-bottom:16px}.course-toolbar-title{display:grid;gap:4px}.course-toolbar-title span{color:var(--accent-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.course-toolbar-title strong{color:var(--text)}.course-toolbar-actions{display:grid;grid-template-columns:minmax(220px,300px) minmax(190px,240px) auto;gap:9px;align-items:center}.course-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.course-hero h2,.course-hero p{margin:0}.course-hero h2{font-size:clamp(1.45rem,2vw,2.05rem);line-height:1.12;margin-top:9px}.course-hero p{color:var(--muted);line-height:1.5;margin-top:8px;max-width:760px}.course-hero-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}.course-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.course-metrics .stat-card{box-shadow:none}.course-tabs{display:flex;gap:0;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;margin-top:-4px;padding:0}.course-tabs button{flex:0 0 auto;min-height:44px;border:0;border-radius:0;background:transparent;color:var(--text);font-size:.82rem;position:relative;padding:0 20px}.course-tabs button:hover,.course-tabs button.active{background:transparent;color:var(--accent-dark)}.course-tabs button:after{content:"";position:absolute;right:14px;bottom:0;left:14px;height:3px;border-radius:999px 999px 0 0;background:transparent}.course-tabs button.active:after{background:var(--accent)}.course-overview-detail{display:grid;align-content:start;gap:20px}.course-overview-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,1fr);gap:22px;align-items:stretch}.course-identity{position:relative;display:grid;grid-template-columns:84px minmax(0,1fr);gap:16px;min-width:0}.course-value-badge{position:absolute;top:0;right:0;display:inline-flex;width:max-content;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.82rem;font-weight:900;padding:7px 10px}.course-visual{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;background:linear-gradient(135deg,#14a1872e,#3f8be01f),var(--accent-soft);color:var(--accent-dark)}.course-title-line{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-right:135px;margin-bottom:6px}.course-title-line h3{margin:0;font-size:clamp(1.15rem,1.7vw,1.55rem);line-height:1.15}.course-identity span{display:block;color:var(--muted);font-size:.82rem;font-weight:800;line-height:1.4}.course-identity p{color:var(--muted);line-height:1.55;margin:12px 0 0;max-width:620px}.course-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.course-info-grid>div{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-areas:"icon label" "icon value";column-gap:10px;align-items:center;min-width:0;min-height:58px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.course-info-grid svg{grid-area:icon;width:34px;height:34px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:8px}.course-info-grid span{grid-area:label;color:var(--muted);font-size:.73rem;font-weight:900}.course-info-grid strong{grid-area:value;color:var(--text);font-size:.95rem;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.course-section-block{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:16px}.course-section-block h3{margin:0;font-size:1rem}.course-class-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:11px 12px}.class-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.course-class-row strong,.course-class-row span{display:block}.course-class-row span:not(.class-dot){color:var(--muted);font-size:.82rem;margin-top:2px}.course-action-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.course-action-row button{justify-content:flex-start;min-height:42px}.floating-actions{position:fixed;right:28px;bottom:28px;z-index:50;display:grid;justify-items:end;gap:10px}.floating-action-button{display:inline-flex;flex-direction:row;align-items:center;justify-content:flex-start;width:126px;min-height:48px;border-radius:999px;box-shadow:0 18px 42px #08705d42;gap:8px;padding:0 16px 0 7px}.floating-action-button svg{display:grid;flex:0 0 auto;width:34px;height:34px;border-radius:999px;padding:8px;transition:transform .16s ease}.floating-action-button span{display:inline-block;min-width:48px;text-align:left;white-space:nowrap}.floating-action-button.open svg{transform:rotate(45deg)}.floating-action-menu{display:grid;gap:8px;width:min(270px,calc(100vw - 32px));border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 24px 70px #11201d2e;padding:10px}.floating-action-item{justify-content:flex-start;min-height:40px;border:1px solid var(--line);background:var(--surface-muted);color:var(--text)}.floating-action-item:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.floating-action-item.danger{color:var(--red)}.floating-action-item.danger:hover{border-color:var(--red);background:var(--red-soft);color:var(--red)}.delete-confirm-modal{width:min(560px,calc(100vw - 32px))}.delete-confirm-body{display:grid;grid-template-columns:46px minmax(0,1fr);gap:12px;align-items:center;border:1px solid var(--red-soft);border-radius:var(--radius);background:snow;padding:14px}.delete-confirm-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:var(--radius);background:var(--red-soft);color:var(--red)}.delete-confirm-body strong,.delete-confirm-body p{display:block;margin:0}.delete-confirm-body p{margin-top:4px;color:var(--muted);font-size:.85rem;font-weight:800}.modal-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;background:#0918156b;padding:24px}.course-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 48px);overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 28px 90px #0714113d;padding:18px}.course-modal:has(.discipline-association-menu){overflow:visible}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--line);margin-bottom:16px;padding-bottom:12px}.modal-header h2{margin:0;font-size:1.12rem}.modal-form,.modal-checklist{display:grid;gap:12px}.modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.modal-form label,.modal-field,.modal-form .field-block{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.modal-form label.wide-field,.modal-form .field-block.wide-field{grid-column:1 / -1}.student-edit-form .modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-edit-form label.wide-field{grid-column:auto}.student-edit-section-list{display:grid;gap:16px}.student-edit-section{display:grid;gap:10px;padding-top:2px}.student-edit-section+.student-edit-section{border-top:1px solid var(--line);padding-top:14px}.student-edit-section h3{margin:0;color:var(--accent-dark);font-size:.88rem;font-weight:800}.student-edit-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-edit-section-grid .wide-field{grid-column:1 / -1}.student-edit-section-grid label:has(.field-label-text){font-size:0}.field-label-text{color:var(--muted);font-size:.82rem;font-weight:900}.cep-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.cep-lookup-row .ghost-button{min-height:38px;white-space:nowrap}.cep-lookup-status{grid-column:1 / -1;margin:-2px 0 0;color:var(--muted);font-size:.78rem;font-weight:700}.student-edit-form input,.student-edit-form select,.student-edit-form textarea{font-size:.875rem;font-weight:600}.student-edit-form input[readonly],.student-wizard-form input[readonly]{background:var(--surface-muted);color:var(--muted);cursor:not-allowed}.student-create-page{display:grid;gap:16px;height:calc(100vh - 126px);min-height:0;grid-template-rows:minmax(0,1fr)}.student-edit-page{height:calc(100vh - 126px)}.student-create-stagebar{display:flex;flex-direction:column;gap:10px;min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);padding:12px}.student-create-stagebar>strong{color:var(--text);font-size:.86rem;line-height:1.2}.student-create-shell{display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,3fr);gap:18px;flex:1;min-height:0}.student-create-card{display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden;padding-bottom:18px}.student-create-card .student-create-shell{flex:1;overflow:hidden}.student-create-tabs{display:grid;gap:6px;overflow-y:auto;padding:0}.student-create-tabs button{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;gap:10px;width:100%;min-height:40px;border:0;border-radius:7px;background:transparent;color:var(--ink);font-size:.8rem;font-weight:800;line-height:1.2;padding:0 10px;text-align:left}.student-create-tabs button:hover,.student-create-tabs button.active{background:var(--accent-soft);color:var(--accent-dark)}.student-create-tabs button.locked{cursor:not-allowed;opacity:.46}.student-create-tabs button.locked:hover{background:transparent;color:var(--ink)}.student-create-tabs button span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#eef4f2;color:var(--muted);font-size:.75rem;font-weight:900}.student-create-tabs button.active span{background:var(--accent);color:#fff}.student-create-progress{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:center;justify-items:end;flex:1;min-width:240px}.student-create-progress>div:not(.student-create-progress-track){display:inline-flex;align-items:baseline;gap:4px;color:var(--muted);font-size:.78rem;font-weight:800;white-space:nowrap}.student-create-progress strong{color:var(--muted);font-size:.78rem;font-weight:900;white-space:nowrap}.student-create-progress-track{width:min(360px,100%);height:7px;overflow:hidden;border-radius:999px;background:var(--surface-muted)}.student-create-progress-track span{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .18s ease}.student-create-form{display:flex;flex-direction:column;flex:1;gap:18px;width:100%;height:100%;min-height:0}.student-create-form .censo-section-list{display:grid;align-content:start;gap:18px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.censo-field-section{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:14px}.censo-field-section:first-child{border-top:0;padding-top:0}.censo-field-section h4{margin:0;color:var(--accent-dark);font-size:.9rem;font-weight:900}.section-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-create-document-section .ghost-button{min-height:34px}.student-create-document-list{display:grid;gap:8px}.student-create-document-row{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(180px,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);background:#fff;padding:8px}.student-create-document-row input[disabled]{border-color:transparent;background:transparent;color:var(--text);opacity:1;font-weight:850;padding-left:0}.student-create-document-row span{color:var(--muted);font-size:.82rem;font-weight:800}.file-upload-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:34px;border:1px solid transparent;background:var(--accent-soft);color:var(--accent-dark);cursor:pointer;font-size:.82rem;font-weight:900;padding:0 12px}.file-upload-button input{display:none}.student-create-form>.censo-field-grid{align-content:start;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.profile-photo-upload-section{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border-bottom:1px solid var(--line);padding-bottom:14px}.profile-photo-upload-preview{display:grid;place-items:center;width:74px;height:74px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:1.45rem;font-weight:900}.profile-photo-upload-section h3,.profile-photo-upload-section p{margin:0}.profile-photo-upload-section p{color:var(--muted);font-size:.82rem;margin-top:3px;overflow-wrap:anywhere}.student-create-step-stack{display:grid;align-content:start;gap:14px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.student-create-form .modal-actions{align-items:center;flex:0 0 auto;margin-top:auto;padding-bottom:8px}.student-create-form .modal-actions button{align-self:center;min-height:38px}.discipline-create-form>.student-edit-section,.course-create-form>.student-edit-section,.user-create-form>.student-edit-section{display:grid;align-content:start;grid-auto-rows:max-content;gap:14px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.discipline-create-card:has(.searchable-chip-multi-menu),.discipline-create-card:has(.searchable-chip-multi-menu) .discipline-create-form,.discipline-create-form>.student-edit-section:has(.searchable-chip-multi-menu){overflow:visible}.discipline-create-form .student-edit-section-grid,.course-create-form .student-edit-section-grid{align-content:start}.course-create-form textarea{min-height:118px}.readonly-summary-card{display:grid;align-content:center;gap:4px;min-height:84px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.readonly-summary-card span,.readonly-summary-card small{color:var(--muted);font-size:.8rem;font-weight:800}.readonly-summary-card strong{color:var(--text);font-size:1rem}.readonly-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.student-create-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px}.student-create-head h3{flex:0 0 auto;margin:0;font-size:1.05rem}.student-create-head strong{color:var(--muted);font-size:.86rem}.censo-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.censo-field-grid label{display:grid;gap:7px}.censo-field-grid .wide-field{grid-column:1 / -1}.censo-search-select{position:relative}.censo-search-select input{width:100%}.search-select-trigger{display:grid;grid-template-columns:minmax(0,1fr) 28px;align-items:center;gap:8px;width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:0 6px 0 11px;font-size:.9rem;font-weight:600}.search-select-trigger:hover,.search-select-trigger:focus-visible{border-color:var(--accent);background:var(--surface-muted);color:var(--accent-dark)}.search-select-trigger span:first-child{min-width:0;color:#17211f;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.search-select-arrow{position:relative;width:28px;height:28px;border-radius:50%;color:var(--accent)}.search-select-arrow:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-62%) rotate(45deg)}.search-select-trigger:hover .search-select-arrow,.search-select-trigger:focus-visible .search-select-arrow{background:var(--accent-soft);color:var(--accent-dark)}.search-select-trigger:disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed;opacity:.72}.censo-search-menu{position:absolute;z-index:20;right:0;left:0;top:calc(100% + 4px);display:grid;max-height:220px;overflow-y:auto;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);padding:5px}.censo-search-menu button{justify-content:flex-start;min-height:34px;border:0;background:transparent;color:var(--ink);font-size:.84rem;font-weight:800;padding:7px 9px;text-align:left}.censo-search-menu button:hover,.censo-search-menu button.active{background:var(--accent-soft);color:var(--accent-dark)}.censo-search-menu span{color:var(--muted);font-size:.82rem;font-weight:800;padding:8px}.censo-segmented-control{display:grid;width:min(100%,680px);min-height:38px;overflow:hidden;border:1px solid var(--accent);border-radius:8px;background:var(--surface)}.censo-segmented-control button{min-height:38px;border:0;border-radius:0;background:transparent;color:var(--accent-dark);font-size:.86rem;font-weight:800;line-height:1.2;padding:0 10px}.censo-segmented-control button+button{border-left:1px solid var(--accent)}.censo-segmented-control button.active{background:var(--accent);color:#fff}.censo-field-grid .censo-segmented-field{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:12px}.censo-segmented-field .censo-label-row{justify-content:flex-start}.censo-segmented-field .censo-segmented-control{width:100%}.censo-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:.82rem;font-weight:900}.censo-required-pill{flex:0 0 auto;border-radius:999px;background:var(--surface-muted);color:var(--muted);font-size:.68rem;font-style:normal;font-weight:900;padding:3px 7px}.censo-required-pill.obrigatório{background:var(--accent-soft);color:var(--accent-dark)}.censo-required-pill.condicional{background:#fff4d5;color:#956400}.material-upload-panel{display:grid;gap:14px}.course-materials-page{display:grid;align-content:start;gap:16px}.materials-table-wrap,.materials-subtable-wrap,.materials-hierarchy-table,.discipline-subtable-wrap{overflow:visible}.materials-hierarchy-table table{min-width:820px}.module-material-row td{vertical-align:middle}.module-material-row td:last-child,.discipline-subtable-wrap td:last-child{width:86px;text-align:right}.module-stage-pill{display:inline-flex;align-items:center;min-height:28px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);padding:0 10px;font-size:.78rem;font-weight:900}.discipline-subtable-row>td{border-top:0;padding:0}.discipline-subtable-wrap{width:100%;border:1px solid var(--line);border-radius:0;background:var(--surface-muted)}.discipline-subtable-wrap table{min-width:620px}.discipline-subtable-wrap th{background:#fbfefd}.course-materials-page td>strong+span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;font-weight:800}.material-view-toolbar{display:inline-flex;width:max-content;max-width:100%;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.material-view-toolbar button{min-height:38px;border:0;border-radius:0;background:transparent;color:var(--text);padding:0 14px}.material-view-toolbar button+button{border-left:1px solid var(--line)}.material-view-toolbar button.active{background:var(--accent);color:#fff}.material-summary{display:grid;justify-items:start;gap:5px}.material-summary small{max-width:260px;color:var(--muted);font-size:.76rem;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-context{display:grid;gap:3px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px 12px}.material-context span{color:var(--accent-dark);font-size:.72rem;font-weight:900;text-transform:uppercase}.compact-button{min-height:34px;white-space:nowrap}.material-upload-drop{position:relative;display:grid;justify-items:center;gap:7px;border:1px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:22px;text-align:center;cursor:pointer}.material-upload-drop span{font-size:.95rem;font-weight:900}.material-upload-drop small{color:var(--muted);font-weight:800}.material-upload-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}.material-file-list{display:grid;gap:8px}.material-file-list p{margin:0;color:var(--muted);font-size:.86rem;font-weight:800}.material-file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:10px;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:9px 10px}.material-file-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-view-list .material-file-row{grid-template-columns:auto minmax(0,1fr) auto}.material-file-row .material-file-meta{display:grid;gap:2px;overflow:visible;text-overflow:clip;white-space:normal}.material-file-meta strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-file-meta small{color:var(--muted);font-size:.76rem;font-weight:800}.material-download-button{display:inline-flex;align-items:center;gap:6px;justify-content:center;min-width:92px;min-height:34px;border-radius:var(--radius);padding:0 12px;font-size:.86rem;font-weight:800;line-height:1;text-decoration:none;white-space:nowrap}.material-file-row>button{min-width:92px;white-space:nowrap}.form-alert{margin:0;border:1px solid #f4c7c7;border-radius:8px;background:#fff4f4;color:brown;font-size:.86rem;font-weight:800;padding:10px 12px}.form-helper{margin:0;color:var(--muted);font-size:.86rem;font-weight:800}.evaluations-editor.wide-field{grid-column:1 / -1}.course-modal:has(.subject-edit-form){width:min(1040px,calc(100vw - 32px))}.subject-edit-form{min-height:540px}.subject-edit-layout{display:grid;grid-template-columns:minmax(220px,.36fr) minmax(0,1fr);gap:16px;min-height:460px}.subject-edit-tabs{display:grid;align-content:start;gap:7px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px}.subject-edit-tabs button{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;justify-items:start;gap:10px;width:100%;min-height:40px;border:0;border-radius:7px;background:transparent;color:var(--text);font-size:.82rem;font-weight:900;line-height:1.2;padding:0 10px;text-align:left}.subject-edit-tabs button:hover,.subject-edit-tabs button.active{background:var(--accent-soft);color:var(--accent-dark)}.subject-edit-tabs button span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#eef4f2;color:var(--muted);font-size:.75rem;font-weight:900}.subject-edit-tabs button.active span{background:var(--accent);color:#fff}.subject-edit-tab-panel{min-width:0;max-height:58vh;overflow-y:auto;padding-right:4px}.subject-edit-section-list{display:grid;gap:16px}.subject-edit-section{display:grid;gap:12px}.subject-edit-section+.subject-edit-section{border-top:1px solid var(--line);padding-top:14px}.subject-edit-section h3{margin:0;color:var(--accent-dark);font-size:.88rem;font-weight:900}.subject-edit-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.subject-edit-section-grid .wide-field{grid-column:1 / -1}.subject-edit-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow:auto}.subject-edit-table{width:100%;min-width:760px;border-collapse:collapse}.subject-edit-table th,.subject-edit-table td{border-bottom:1px solid var(--line);padding:10px;text-align:left;vertical-align:top}.subject-edit-table th{background:#fbfefd;color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.subject-edit-table tr:last-child td{border-bottom:0}.subject-edit-table input,.subject-edit-table textarea{width:100%}.subject-edit-table textarea{min-height:72px;resize:vertical}.subject-edit-table input[type=number]{min-width:90px}.subject-edit-row-actions{width:52px;text-align:center}.subject-edit-row-actions .icon-button{width:34px;min-height:34px;border:1px solid var(--red);background:var(--red-soft);color:var(--red)}.subject-edit-row-actions .icon-button:hover,.subject-edit-row-actions .icon-button:focus-visible{border-color:var(--red);background:#fff5f3;color:var(--red);box-shadow:0 0 0 2px #c8463a1f}.subject-edit-row-actions .icon-button:disabled{cursor:not-allowed;opacity:.42}.subject-add-row-button{justify-content:center;width:100%;margin-top:10px}.subject-edit-materials{gap:14px}.subjects-table-wrap{overflow:visible}.row-action-menu{position:relative;display:inline-flex;justify-content:flex-end}.row-action-trigger{border:1px solid var(--line);background:#fff;color:var(--text)}.row-action-trigger:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.row-action-popover{position:absolute;top:calc(100% + 6px);right:0;z-index:45;display:grid;min-width:190px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 42px #0d1f1b29;padding:6px}.row-action-popover button{display:flex;align-items:center;justify-content:flex-start;gap:8px;width:100%;min-height:36px;border:0;background:transparent;color:var(--text);font-size:.82rem;font-weight:900;padding:0 9px}.row-action-popover button:hover{background:var(--accent-soft);color:var(--accent-dark)}.row-action-popover button.danger-menu-item{color:var(--red)}.row-action-popover button.danger-menu-item:hover{background:var(--red-soft);color:var(--red)}.link-teacher-assignment{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.link-teacher-assignment>div{display:grid;gap:3px}.link-teacher-assignment>div span{color:var(--muted);font-size:.84rem;font-weight:800}.link-teacher-assignment label{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,240px);align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px}.link-teacher-assignment label>span{display:grid;gap:3px}.link-teacher-assignment small{color:var(--muted);font-weight:800}.evaluations-editor{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.evaluations-head,.evaluation-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,160px);gap:10px;align-items:center}.evaluations-head span,.evaluations-head strong{color:var(--text);font-size:.86rem;font-weight:900}.evaluations-head strong{justify-self:end}.evaluation-weight-total{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:42px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--text);padding:0 14px;font-weight:900}.evaluation-weight-total span{color:var(--muted);font-size:.82rem}.evaluation-weight-total strong{font-size:1rem}.evaluation-weight-total.complete{border-color:#149e7152;background:var(--accent-soft);color:var(--accent-dark)}.evaluation-weight-total.exceeded{border-color:#c8463a52;background:var(--red-soft);color:var(--red)}.teacher-multi-select,.searchable-chip-multi-select{position:relative;min-width:190px}.teacher-multi-trigger{justify-content:space-between;width:100%;min-height:38px;border:1px solid var(--line);background:#fff;color:var(--text);padding:0 11px;font-size:.9rem;font-weight:700}.searchable-chip-multi-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:40px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);overflow:hidden;padding:0 6px 0 11px;font-size:.9rem;font-weight:700}.teacher-multi-trigger:hover,.searchable-chip-multi-trigger:hover{border-color:var(--accent);background:var(--surface-muted);color:var(--accent-dark)}.teacher-multi-trigger span,.searchable-chip-multi-trigger span{min-width:0;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.teacher-multi-trigger:after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(45deg)}.searchable-chip-multi-trigger>svg{align-self:center;color:var(--muted)}.searchable-chip-multi-trigger:after{display:none}.searchable-chip-arrow-button{align-self:center;width:28px;min-height:28px;border:0;background:transparent;color:var(--accent);padding:0;position:relative;border-radius:50%;flex:0 0 28px}.searchable-chip-arrow-button:after{content:"";position:absolute;top:50%;left:50%;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translate(-50%,-62%) rotate(45deg)}.searchable-chip-arrow-button:hover{background:var(--accent-soft);color:var(--accent-dark)}.searchable-chip-selected-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.searchable-chip-selected-row.in-trigger{display:flex;align-items:center;gap:5px;margin-top:0;min-width:0;width:100%;overflow:hidden}.searchable-chip-list{display:flex;flex-wrap:nowrap;align-items:center;gap:6px;min-width:0;width:100%;overflow:hidden}.searchable-chip-placeholder{min-width:0;overflow:hidden;color:var(--muted);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.searchable-selected-chip{display:inline-flex;align-items:center;gap:6px;max-width:min(270px,45%);min-height:28px;border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:.78rem;font-weight:900;padding:4px 5px 4px 10px;white-space:nowrap}.searchable-selected-chip:not(.more){overflow:hidden;text-overflow:ellipsis}.searchable-selected-chip.more{flex:0 0 auto;max-width:none;padding-right:10px;white-space:nowrap}.searchable-selected-chip>:not(button){min-width:0;overflow:hidden;text-overflow:ellipsis}.searchable-selected-chip button{display:grid;flex:0 0 20px;place-items:center;width:20px;height:20px;min-height:20px;border:0;border-radius:50%;background:#097e671f;color:var(--accent-dark);font-size:.7rem;font-weight:900;padding:0}.searchable-selected-chip button:hover{background:#097e6733}.module-hours-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;grid-column:1 / -1;width:100%}.module-hours-summary div{display:grid;gap:4px;min-height:58px;align-content:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px 12px}.module-hours-summary span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.module-hours-summary strong{color:var(--text);font-size:1rem}.teacher-multi-menu,.searchable-chip-multi-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:90;display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 42px #0d1f1b29;max-height:min(360px,calc(100vh - 240px));overflow:auto;padding:8px}.searchable-chip-menu-search{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);cursor:text;font-size:.84rem;font-weight:800;padding:0 9px}.searchable-chip-menu-search input{width:100%;min-height:34px;border:0;background:transparent;color:var(--text);font:inherit;outline:0;padding:0}.searchable-chip-menu-search input:focus{box-shadow:none}.searchable-chip-menu-section{display:grid;gap:4px}.searchable-chip-menu-section+.searchable-chip-menu-section{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.searchable-chip-menu-section-title{display:block;color:var(--accent-dark);font-size:.72rem;font-weight:900;padding:3px 6px 2px;text-transform:uppercase}.searchable-chip-menu-section.selected label{background:var(--accent-soft);color:var(--accent-dark)}.teacher-multi-menu label,.searchable-chip-multi-menu label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border-radius:6px;color:var(--text);cursor:pointer;font-size:.84rem;font-weight:800;padding:8px}.teacher-multi-menu label:hover,.searchable-chip-multi-menu label:hover{background:var(--accent-soft)}.teacher-multi-menu label.disabled,.searchable-chip-multi-menu label.disabled{background:var(--surface-muted);color:var(--muted);cursor:not-allowed;opacity:.62}.teacher-multi-menu label.disabled:hover,.searchable-chip-multi-menu label.disabled:hover{background:var(--surface-muted)}.teacher-multi-menu label.disabled input,.searchable-chip-multi-menu label.disabled input{cursor:not-allowed}.teacher-multi-menu label input,.searchable-chip-multi-menu label input{width:16px;min-height:16px;accent-color:var(--accent)}.teacher-multi-search{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-height:36px;border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);padding:0 9px}.teacher-multi-search input{width:100%;min-height:28px;border:0;border-radius:calc(var(--radius) - 2px);outline:0;color:var(--text);font:inherit}.table-wrap.delete-mode tbody tr:hover{background:var(--red-soft)}.teacher-multi-empty,.searchable-chip-empty{display:block;color:var(--muted);font-size:.82rem;font-weight:800;padding:8px}.discipline-search-select{position:relative;width:100%}.discipline-search-input{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--muted);padding:0 11px}.discipline-search-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #14a48b1f}.discipline-search-input input{border:0;min-height:40px;padding:0}.discipline-search-input input:focus{box-shadow:none}.discipline-search-menu{position:absolute;top:calc(100% + 6px);right:0;left:0;z-index:45;display:grid;gap:4px;max-height:240px;overflow:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 42px #0d1f1b29;padding:8px}.discipline-search-menu button{justify-content:flex-start;min-height:34px;border:0;background:transparent;color:var(--text);padding:8px;text-align:left}.discipline-search-menu button:hover,.discipline-search-menu button.active{background:var(--accent-soft);color:var(--accent-dark)}.discipline-search-menu span{color:var(--muted);font-size:.82rem;font-weight:800;padding:8px}.modal-actions{display:flex;justify-content:flex-end;gap:9px;border-top:1px solid var(--line);margin-top:4px;padding-top:14px}.schedule-time-modal-actions .danger-button{margin-right:auto}.student-wizard-form{gap:16px}.student-wizard-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.student-wizard-steps button{justify-content:flex-start;min-height:44px;border:1px solid var(--line);background:#fff;color:var(--muted);font-size:.84rem;font-weight:900;padding:8px 10px}.student-wizard-steps button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.student-wizard-steps span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface-muted);color:var(--muted);font-size:.76rem}.student-wizard-steps button.active span{background:var(--accent);color:#fff}.student-document-step{display:grid;gap:10px}.student-document-field{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr) minmax(130px,.35fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.student-document-field span{color:var(--text);font-weight:900}.student-document-field small{color:var(--muted);font-size:.78rem;font-weight:850;text-align:right}.student-academic-step{display:grid;gap:12px}.student-academic-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.student-academic-summary div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-academic-summary span,.student-academic-summary strong{display:block}.student-academic-summary span{color:var(--muted);font-size:.76rem;font-weight:900}.student-academic-summary strong{margin-top:4px}.matrix-subject-selection-step{gap:14px}.matrix-create-card .student-create-form>.matrix-subject-selection-step{grid-template-rows:auto auto minmax(0,1fr) auto;flex:1;min-height:0}.matrix-selected-subjects-table{max-height:none;min-height:0;overflow:auto}.matrix-selected-subjects-table td span{display:block;margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:800}.modal-student-picker{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.modal-student-picker>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.modal-student-picker span{color:var(--muted);font-size:.82rem;font-weight:900}.modal-student-picker small{color:var(--muted);font-size:.78rem;font-weight:800}.class-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:250px;overflow:auto;padding-right:2px}.class-student-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.class-student-option input{width:18px;min-height:18px}.class-student-option strong,.class-student-option small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-student-option strong{color:var(--text);font-size:.88rem}.class-student-option small{margin-top:2px}.curriculum-board{display:flex;flex-direction:column;gap:16px}.module-timeline{display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;background:#fff;margin-bottom:10px;overflow:visible}.module-step{position:relative;display:grid;grid-template-columns:auto auto;justify-content:center;min-width:0;gap:8px;min-height:56px;border-radius:0;border-right:1px solid var(--line);background:#fff;color:var(--muted);padding:9px 14px 19px}.module-step:last-child{border-right:0}.module-step:hover,.module-step.active{background:#fff;color:var(--text)}.module-step:not(.active):hover:before{background:#93b9ae}.module-step:before{content:"";position:absolute;right:0;bottom:0;left:0;height:3px;background:#cfd9d5}.module-step.active:before{background:var(--accent)}.module-step span,.module-step strong{font-size:.82rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.module-step small{position:absolute;bottom:-11px;left:50%;display:grid;place-items:center;width:22px;height:22px;border:1px solid #cfd9d5;border-radius:50%;background:#fff;color:var(--muted);transform:translate(-50%);z-index:1}.module-step.active small{border-color:var(--accent);background:var(--accent);color:#fff}.matrix-table{border-radius:0 0 var(--radius) var(--radius)}.matrix-table table{background:#fff}.matrix-table td:first-child,.matrix-table th:first-child{width:34px;color:var(--muted);text-align:center}.matrix-table td strong,.matrix-table td span{display:block}.matrix-table td>span:not(.type-pill,.approval-pill,.teacher-cell,.drag-handle){color:var(--muted);font-size:.78rem;margin-top:3px}.drag-handle{color:#9aa8a4;font-weight:900;letter-spacing:-1px}.type-pill,.approval-pill{display:inline-flex;align-items:center;justify-content:center;width:max-content;border-radius:999px;padding:5px 9px;font-size:.76rem;font-weight:900}.type-pill.technical{background:var(--accent-soft);color:var(--accent-dark)}.type-pill.general{background:var(--blue-soft);color:var(--blue)}.teacher-cell{display:inline-flex;align-items:center;gap:8px;font-weight:800}.teacher-cell span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#f0e8dc;color:#7b4c1c;font-size:.72rem}.teacher-cell.empty{color:var(--muted);font-weight:800}.approval-pill.high{background:var(--accent-soft);color:var(--accent-dark)}.approval-pill.medium{background:var(--amber-soft);color:var(--amber)}.approval-pill.low{background:var(--red-soft);color:var(--red)}.approval-pill.neutral{background:var(--surface-muted);color:var(--muted)}.matrix-full-button{align-self:flex-start}.teaching-plan-view{display:grid;align-content:start;gap:16px;min-height:0;max-height:100%;overflow-y:auto;padding-right:4px}.plan-info-card,.plan-text-card,.plan-class-table-section{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px}.plan-title-strip{display:grid;gap:4px}.plan-title-strip span,.plan-info-card span,.plan-text-card span,.people-panel>div>span{color:var(--accent-dark);font-size:.76rem;font-weight:900;text-transform:uppercase}.plan-title-strip h3,.plan-text-card p,.plan-class-table-section h3{margin:0}.plan-title-strip h3{font-size:1.15rem}.plan-info-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.plan-info-card{align-content:start;gap:8px}.plan-info-card strong{color:var(--text);font-size:.92rem;font-weight:700;line-height:1.35;overflow-wrap:anywhere}.plan-class-table table{min-width:720px}.plan-text-stack{display:grid;gap:12px}.plan-text-card{grid-template-columns:1fr}.plan-text-card p{color:var(--text);font-size:.95rem;font-weight:600;line-height:1.6}.plan-class-table-section h3{font-size:1rem}.plan-class-table th{white-space:normal}.plan-class-table td{color:var(--text);font-weight:600;line-height:1.45;vertical-align:top}.links-dashboard,.compliance-dashboard{display:grid;align-content:start;gap:18px}.link-stat-row,.compliance-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.link-stat-row>div,.compliance-status-grid>div{display:grid;grid-template-columns:38px minmax(0,1fr);grid-template-areas:"icon label" "icon value";align-items:center;gap:2px 10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:13px}.link-stat-row svg,.compliance-status-grid svg{grid-area:icon;width:38px;height:38px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:9px}.link-stat-row span,.compliance-status-grid span{grid-area:label;color:var(--muted);font-size:.76rem;font-weight:900}.link-stat-row strong,.compliance-status-grid strong{grid-area:value;font-size:1.05rem}.links-content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:18px}.linked-class-list{display:grid;gap:10px}.linked-class-card{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px}.linked-class-card strong,.linked-class-card span{display:block}.linked-class-card span{color:var(--muted);font-size:.84rem;margin-top:4px}.people-panel{display:grid;align-content:start;gap:18px;border-left:1px solid var(--line);padding-left:18px}.compliance-summary{display:grid;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:18px}.compliance-summary span,.compliance-summary p{color:var(--muted)}.compliance-summary span{display:block;font-size:.76rem;font-weight:900;text-transform:uppercase}.compliance-summary strong{display:block;font-size:2rem;line-height:1;margin-top:8px}.compliance-summary p{margin:6px 0 0;font-weight:800}.compliance-list{display:grid;gap:10px}.compliance-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:13px}.compliance-row.done{background:var(--accent-soft)}.compliance-row input{width:18px;min-height:18px}.compliance-row strong,.compliance-row small{display:block}.compliance-row small{color:var(--muted);margin-top:3px}.course-tab-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.8fr) minmax(240px,.55fr);gap:18px}.course-display-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.78fr) minmax(240px,.55fr);gap:18px;align-items:start}.course-display-main,.course-display-side,.course-display-actions,.course-display-split>div{min-width:0}.course-display-side,.course-display-actions{border-left:1px solid var(--line);padding-left:18px}.course-display-grid h3,.course-display-split h3{margin:0 0 12px;font-size:1rem}.course-summary-line{display:grid;gap:9px;margin-bottom:14px}.course-summary-line p{color:var(--muted);line-height:1.5;margin:0}.course-display-split{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.7fr);gap:18px;align-items:start}.course-display-split.single-pane{grid-template-columns:1fr}.course-display-split>div+div{border-left:1px solid var(--line);padding-left:18px}.course-display-split.single-pane>div+div{border-left:0;padding-left:0}.course-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.course-facts div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.course-facts span,.course-facts strong{display:block}.course-facts span{color:var(--muted);font-size:.76rem;font-weight:900;margin-bottom:5px;text-transform:uppercase}.module-grid,.compliance-grid,.linked-list,.plan-editor{display:grid;gap:12px}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card,.linked-row,.compliance-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted)}.module-card{display:grid;gap:12px;padding:14px}.module-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.module-head span,.module-head h3,.module-head p{margin:0}.module-head span{color:var(--accent-dark);font-size:.76rem;font-weight:900}.module-head h3{font-size:1rem;margin-top:4px}.module-head p{color:var(--muted);font-size:.84rem;line-height:1.45;margin-top:5px}.module-head>strong{color:var(--accent-dark);white-space:nowrap}.progress-bar{height:8px;overflow:hidden;border-radius:999px;background:#dbe8e4}.progress-bar span{display:block;height:100%;border-radius:inherit;background:var(--accent)}.module-subjects{display:grid;gap:8px}.module-subjects div{border-top:1px solid var(--line);padding-top:8px}.module-subjects strong,.module-subjects span{display:block}.module-subjects span,.empty-note{color:var(--muted);font-size:.84rem}.linked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.linked-row strong,.linked-row span{display:block}.linked-row span{color:var(--muted);font-size:.84rem;margin-top:4px}.teacher-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.teacher-list span{border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);padding:7px 10px;font-size:.8rem;font-weight:900}.plan-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-editor label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.compliance-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px}.compliance-item input{width:18px;min-height:18px}.compliance-item strong,.compliance-item small{display:block}.compliance-item small{color:var(--muted);margin-top:3px}.course-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.course-row strong,.course-row span{display:block}.course-row span{color:var(--muted);font-size:.82rem;margin-top:3px}.course-row b{color:var(--accent-dark)}.quick-actions button{justify-content:flex-start;min-height:44px}.search-box{width:min(290px,45vw);gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:0 10px}.search-box input{border:0;box-shadow:none;min-height:36px;padding:0}.inline-form{display:grid;grid-template-columns:1.2fr .8fr 1fr .8fr auto;gap:9px;margin-bottom:14px}.inline-form.single{grid-template-columns:minmax(220px,420px)}.user-toolbar{display:grid;grid-template-columns:minmax(260px,1fr);gap:9px;margin-bottom:14px}.user-search{min-height:38px;margin:0}.student-card{gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:14px}.avatar{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);font-size:1.3rem;font-weight:900}.student-card h3,.student-card p{margin:0}.student-card p{color:var(--muted);font-size:.86rem;margin:3px 0 8px}.doc-item{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.doc-item strong,.doc-item span{display:block}.doc-item span{color:var(--muted);font-size:.82rem;margin-top:3px;word-break:break-word}.doc-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex:0 0 auto}.open-document-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;border-radius:var(--radius);border:1px solid var(--line);background:#fff;color:var(--accent-dark);font-size:.78rem;font-weight:900;padding:0 10px;text-decoration:none;white-space:nowrap}.open-document-button:hover{border-color:var(--accent);background:var(--accent-soft)}.upload-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:35px;border-radius:var(--radius);background:var(--amber-soft);color:var(--amber);cursor:pointer;font-size:.78rem;font-weight:900;padding:0 10px;white-space:nowrap}.upload-button.success{background:var(--accent-soft);color:var(--accent-dark)}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.document-grid,.class-grid,.report-grid{display:grid;gap:12px}.document-task,.class-card,.report-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:14px}.document-task{display:flex;align-items:center;justify-content:space-between;gap:14px}.document-task strong,.document-task span,.document-task small{display:block}.document-task strong{color:var(--red)}.document-task small{color:var(--muted);margin-top:3px}.task-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.table-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}.muted-dash{color:var(--muted);font-weight:900}.clickable-table-row{cursor:pointer}.clickable-table-row:hover,.clickable-table-row:focus-visible{background:var(--accent-soft);outline:none}.teacher-detail-modal{width:min(820px,calc(100vw - 32px))}.teacher-detail{display:grid;gap:16px}.teacher-detail-head{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:14px}.teacher-detail-head>div:nth-child(2){min-width:0;flex:1}.teacher-detail-head h3,.teacher-detail-head p{margin:0}.teacher-detail-head p{color:var(--muted);margin:3px 0 8px}.teacher-detail-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.teacher-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.teacher-detail-grid article{border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:13px}.teacher-detail-grid span,.teacher-detail-grid strong{display:block}.teacher-detail-grid span{color:var(--muted);font-size:.78rem;font-weight:900}.teacher-detail-grid strong{font-size:1.45rem;margin-top:4px}.teacher-detail-section{display:grid;gap:10px}.teacher-detail-section h3{margin:0;font-size:1rem}.user-detail-page{display:grid;gap:14px}.user-detail{display:grid;gap:16px;align-content:start}.user-module-layout .panel-header{align-items:center}.user-module-layout .panel{min-height:calc(100vh - 190px)}.user-detail-scroll-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 190px);min-height:0;overflow:hidden}.user-detail-scroll-panel>.user-detail{min-height:0;overflow-y:auto;padding-right:4px}.user-detail-head{margin-bottom:0;border-bottom:1px solid var(--line);padding-bottom:16px}.user-profile-area{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;min-width:0}.user-profile-photo{display:grid;place-items:center;width:92px;height:92px;border-radius:999px;background:var(--accent-soft)}.user-profile-photo .avatar{width:72px;height:72px;border-radius:999px;font-size:1.8rem}.user-profile-area h3,.user-profile-area p{margin:0}.user-profile-area p{color:var(--muted);margin:3px 0 8px}.user-detail-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.user-detail-form,.user-link-view{display:grid;gap:14px}.user-info-edit-sections,.user-info-view-sections{align-items:start}.user-info-edit-sections .student-info-section{display:grid;align-content:start;gap:10px}.user-info-edit-sections .student-edit-section-grid{gap:12px}.user-info-edit-sections .user-address-section,.user-info-view-sections .user-address-section{grid-column:1 / -1}.user-detail-actions{align-items:center}.user-detail-actions .danger-button{margin-right:auto}.user-empty-links{display:grid;place-items:center;align-content:center;justify-items:center;gap:10px;min-height:220px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);text-align:center;padding:24px}.user-empty-links svg{color:var(--accent-dark)}.user-empty-links strong{color:var(--text);font-size:1rem}.user-empty-links span{max-width:520px;line-height:1.45}.library-page{display:grid;grid-template-columns:minmax(280px,.36fr) minmax(0,1fr);gap:18px;min-height:calc(100vh - 116px)}.library-filter-card,.library-results-card{align-content:start}.library-filter-card h2{margin:0;font-size:1rem}.library-filter-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.library-clear-filters-button:disabled{opacity:.45;cursor:not-allowed}.library-search{width:100%;min-height:40px;margin-bottom:18px}.library-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-bottom:18px}.library-search-row .library-search{margin-bottom:0}.library-search input{min-width:0}.library-mobile-filter-button{display:none}.library-filter-list{display:grid;gap:18px}.library-filter-list>div{display:grid;gap:8px}.library-filter-list>div>span{color:var(--text);font-size:.9rem;font-weight:900}.library-filter-multi-select{width:100%;min-width:0}.library-filter-multi-trigger{min-height:38px}.library-filter-multi-trigger .searchable-selected-chip{max-width:min(220px,100%)}.library-filter-multi-menu{z-index:120}.library-filter-sheet-layer{display:none}.library-book-list{display:grid;gap:10px}.library-book-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:14px;cursor:pointer}.library-book-row:hover,.library-book-row:focus-visible{border-color:var(--accent);background:var(--accent-soft);outline:0}.library-book-cover{width:48px;height:48px;border-radius:var(--radius);object-fit:cover;box-shadow:inset 0 0 0 1px #0d1f1b14}.library-book-row strong,.library-book-row p,.library-book-row small{display:block}.library-book-row p{margin:3px 0;color:var(--muted)}.library-book-row small{color:var(--muted);font-size:.82rem;font-weight:800}.library-book-meta{display:grid;justify-items:end;gap:5px;min-width:128px}.library-book-meta>span{color:var(--text);font-weight:900}.library-book-detail-card{display:grid;gap:18px}.library-detail-page{grid-template-columns:minmax(0,1fr);align-content:start}.library-book-detail-back{justify-self:start}.library-book-detail-cover{width:min(260px,100%);aspect-ratio:1;border-radius:var(--radius);object-fit:cover;justify-self:center}.library-book-detail-heading{display:grid;gap:5px}.library-book-detail-heading span{color:var(--accent-dark);font-size:.78rem;font-weight:900;text-transform:uppercase}.library-book-detail-heading h2,.library-book-detail-heading p,.library-book-detail-info h3{margin:0}.library-book-detail-heading h2{color:var(--text);font-size:1.35rem;line-height:1.12}.library-book-detail-heading p{color:var(--muted);font-weight:800}.library-book-material-button{justify-self:start;margin-top:8px}.library-book-detail-info{display:grid;gap:12px}.library-book-detail-info h3{color:var(--text);font-size:1rem}.library-book-detail-info div{display:grid;grid-template-columns:28px minmax(0,.45fr) minmax(0,1fr);align-items:center;gap:8px}.library-book-detail-info svg{color:var(--accent-dark)}.library-book-detail-info span{color:var(--text);font-weight:900}.library-book-detail-info strong{min-width:0;color:var(--text);font-weight:700;overflow-wrap:anywhere}.course-selector{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.course-selector button{border:1px solid var(--line);background:#fff;color:var(--text)}.course-selector button.active,.course-selector button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.matrix-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--radius);padding:13px;margin-bottom:14px}.matrix-header h3,.matrix-header p{margin:0}.matrix-header p{color:var(--muted);margin-top:4px}.stacked-form label,.login-form label{display:grid;gap:6px;color:var(--muted);font-size:.82rem;font-weight:900}.class-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.class-card{background:#fff}.class-create-card{min-height:calc(100vh - 186px)}.class-teacher-table td strong,.class-teacher-table td small{display:block}.class-teacher-table td small{margin-top:3px;color:var(--muted);font-size:.75rem;font-weight:800}.class-teacher-table select{width:100%}.class-module-layout .panel{min-height:calc(100vh - 190px)}.class-curriculum-table table{min-width:920px}.class-curriculum-subtable table{min-width:860px}.class-curriculum-subtable th:nth-child(2),.class-curriculum-subtable th:nth-child(3),.class-curriculum-subtable td:nth-child(2),.class-curriculum-subtable td:nth-child(3){width:150px;white-space:nowrap}.class-curriculum-subtable th:nth-child(4),.class-curriculum-subtable td:nth-child(4){width:240px}.class-curriculum-subtable th:nth-child(5),.class-curriculum-subtable td:nth-child(5){width:150px;text-align:right;white-space:nowrap}.class-stage-pill{background:var(--accent-soft);color:var(--accent-dark)}.class-stage-name{display:grid;gap:4px}.class-stage-name strong,.class-stage-name span{display:block}.class-stage-name span{color:var(--muted);font-size:.82rem;font-weight:800}.student-discipline-enrollment-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}.student-discipline-enrollment-summary>div{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:14px 16px}.student-discipline-enrollment-summary span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.student-discipline-enrollment-summary strong{color:var(--text)}.discipline-enrollment-progress{display:grid;gap:6px;min-width:150px}.discipline-enrollment-progress>span{display:block;height:8px;overflow:hidden;border-radius:999px;background:var(--line)}.discipline-enrollment-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent)}.discipline-enrollment-progress strong{font-size:.78rem}.student-discipline-subtable table{min-width:980px}.student-discipline-subtable th:first-child,.student-discipline-subtable td:first-child{width:34px;min-width:34px;max-width:34px;padding-right:8px;padding-left:8px;text-align:center}.student-discipline-checkbox{all:unset;appearance:none;box-sizing:border-box;display:inline-grid!important;flex:0 0 16px;place-content:center;width:16px!important;max-width:16px;height:16px;min-height:16px;max-height:16px;border:1px solid var(--line);border-radius:4px;background:#fff;cursor:pointer;margin:0;vertical-align:middle}.student-discipline-checkbox:hover{border-color:var(--accent)}.student-discipline-checkbox:checked{border-color:var(--accent);background:var(--accent)}.student-discipline-checkbox:focus-visible{box-shadow:0 0 0 3px var(--accent-soft)}.student-discipline-checkbox:checked:after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}.student-discipline-subtable th:nth-child(2),.student-discipline-subtable td:nth-child(2){width:auto;text-align:left}.student-discipline-subtable th:nth-child(3),.student-discipline-subtable th:nth-child(4),.student-discipline-subtable th:nth-child(5),.student-discipline-subtable th:nth-child(6),.student-discipline-subtable td:nth-child(3),.student-discipline-subtable td:nth-child(4),.student-discipline-subtable td:nth-child(5),.student-discipline-subtable td:nth-child(6){width:135px;text-align:right;white-space:nowrap}.student-discipline-subtable th:nth-child(7),.student-discipline-subtable td:nth-child(7){width:170px;text-align:right;white-space:nowrap}.enrollment-notice-list{display:grid;gap:8px;padding:16px 0 4px}.enrollment-notice-list p{margin:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px 12px;color:var(--muted);font-weight:800}.enrollment-notice-list.compact{padding:4px 0 0}.enrollment-notice-list.compact p{padding:8px 10px;font-size:.82rem}.next-stage-enrollment-modal{width:min(720px,calc(100vw - 32px))}.next-stage-subject-list{display:grid;gap:10px;margin-top:14px}.next-stage-subject-row{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px;cursor:pointer}.next-stage-subject-row input{width:18px;min-height:18px;accent-color:var(--accent)}.next-stage-subject-row span,.next-stage-subject-row strong,.next-stage-subject-row small{display:block}.next-stage-subject-row strong{color:var(--text);font-size:.92rem;line-height:1.35}.next-stage-subject-row small{color:var(--muted);font-size:.78rem;font-weight:800;margin-top:3px}.equivalence-modal{width:min(920px,calc(100vw - 32px))}.equivalence-table table{min-width:780px}.equivalence-table input[type=number]{max-width:110px}.equivalence-table th:nth-child(3),.equivalence-table th:nth-child(4),.equivalence-table td:nth-child(3),.equivalence-table td:nth-child(4){width:140px}.class-student-select{display:grid;gap:7px}.class-student-multi-select{width:100%}.class-student-multi-trigger{min-height:42px}.class-student-multi-trigger .searchable-selected-chip{max-width:min(360px,100%)}.class-selected-students{display:grid;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:14px}.class-selected-students>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.class-selected-students strong,.class-selected-students span{min-width:0}.class-selected-students>div:first-child span{color:var(--muted);font-size:.8rem;font-weight:800}.class-selected-student-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.class-selected-student-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:8px 10px}.class-selected-student-list li.empty{color:var(--muted);font-weight:800}.class-selected-student-list strong,.class-selected-student-list span{display:block}.class-selected-student-list span{margin-top:2px;color:var(--muted);font-size:.78rem;font-weight:800}.class-selected-student-list button{display:inline-grid;place-items:center;width:24px;height:24px;border:0;border-radius:50%;background:var(--accent);color:#fff;cursor:pointer;font-size:.7rem;font-weight:900;line-height:1;padding:0}.class-grid.delete-mode .class-card{border-color:#c8463a9e;box-shadow:0 16px 38px #c8463a1a}.class-grid.delete-mode .class-card:hover,.class-grid.delete-mode .class-card:focus-visible{border-color:var(--red);background:var(--red-soft);box-shadow:0 18px 44px #c8463a2e}.class-card h3,.class-card p{margin:0}.class-card p{color:var(--muted);font-size:.84rem;margin-top:4px}.clickable-card{cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.clickable-card:hover,.clickable-card:focus-visible{border-color:var(--accent);box-shadow:0 14px 34px #0f9f821f;outline:none;transform:translateY(-1px)}.class-detail-page{display:grid;gap:18px}.class-detail-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);gap:18px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:18px}.class-detail-hero h2,.class-detail-hero p{margin:0}.class-detail-hero h2{margin-top:10px;font-size:1.7rem;line-height:1.1}.class-detail-hero p{color:var(--muted);margin-top:6px}.class-detail-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.class-detail-metrics div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.class-detail-metrics svg{grid-row:span 2;color:var(--accent-dark)}.class-detail-metrics span{color:var(--muted);font-size:.76rem;font-weight:900}.class-detail-metrics strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.class-detail-section{display:grid;gap:12px}.class-detail-section h3{margin:0;font-size:1rem}.class-schedule-layout{display:grid;grid-template-columns:minmax(260px,.34fr) minmax(0,1fr);gap:14px;height:calc(100vh - 276px);min-height:calc(100vh - 276px);align-items:stretch}.class-schedule-edit-page .course-workspace{grid-template-rows:minmax(0,1fr);align-content:stretch;gap:12px;height:100%;min-height:0;overflow:hidden}.class-schedule-edit-page .class-detail-page{grid-template-rows:minmax(0,1fr) auto;gap:12px;min-height:0;overflow:hidden}.class-schedule-edit-page .class-schedule-layout{height:100%;min-height:0}.class-schedule-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding-top:16px}.class-schedule-edit-actions>button,.class-schedule-edit-actions>.class-schedule-footer-action-group>button{min-height:40px;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;padding:0 16px;font-weight:900}.class-schedule-edit-actions>.ghost-button,.class-schedule-edit-actions>.class-schedule-footer-action-group>.ghost-button{border:1px solid var(--line);background:#fff;color:var(--text)}.class-schedule-edit-page .floating-actions{display:none}.class-schedule-footer-action-group{position:relative;display:inline-flex}.class-schedule-footer-action-button{display:inline-flex;align-items:center;gap:8px}.class-schedule-footer-action-menu{position:absolute;right:0;bottom:calc(100% + 8px);z-index:20;display:grid;gap:8px;width:250px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;box-shadow:0 18px 42px #06151224;padding:8px}.class-schedule-layout-view{grid-template-columns:minmax(0,1fr)}.class-schedule-layout-view .class-schedule-sidebar{display:none}.class-detail-page:has(.class-schedule-layout){flex:1;min-height:0}.class-schedule-sidebar,.class-schedule-calendar-card,.schedule-term-card{min-width:0}.class-schedule-sidebar{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:12px;min-height:0}.schedule-term-card,.class-schedule-calendar-card{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.schedule-term-card{display:grid;gap:12px;padding:14px}.schedule-pending-card{align-content:start;grid-auto-rows:max-content;min-height:0;max-height:100%;overflow:auto;scrollbar-width:none}.schedule-pending-card::-webkit-scrollbar{display:none}.schedule-card-heading{display:grid;gap:4px}.schedule-card-heading span,.schedule-toolbar span,.schedule-day-head span,.schedule-week-column-head small{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.schedule-card-heading strong{color:var(--text);font-size:1rem;font-weight:600}.schedule-term-card label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.schedule-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.date-picker{position:relative;display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.date-picker input{min-width:0;width:100%;font-weight:600}.date-picker-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#17211f;padding:0 6px 0 10px;box-shadow:none}.date-picker-trigger:hover{border-color:var(--accent);background:var(--surface-muted);color:var(--accent-dark)}.date-picker-trigger:focus-within{border-color:var(--accent);background:var(--surface-muted);color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-soft)}.date-picker-trigger input{min-width:0;width:100%;min-height:38px;border:0;border-radius:0;background:transparent;color:#17211f;padding:0;box-shadow:none;overflow:hidden;font-size:.9rem;font-weight:600;text-align:left;text-overflow:ellipsis;white-space:nowrap}.date-picker-trigger input:focus{outline:0;border-color:transparent;box-shadow:none}.date-picker-icon-button{display:grid;place-items:center;width:28px;min-height:28px;border:0;border-radius:50%;background:transparent;color:var(--accent);padding:0;box-shadow:none}.date-picker-icon-button:hover,.date-picker-icon-button:focus-visible{background:var(--accent-soft);color:var(--accent)}.date-picker-popover{position:absolute;z-index:35;top:calc(100% + 6px);left:0;display:grid;gap:8px;width:250px;border:1px solid rgba(20,158,113,.26);border-radius:10px;background:#fff;box-shadow:0 18px 42px #05161329;padding:10px}.date-picker-popover-floating{position:fixed;z-index:3000;max-height:min(318px,calc(100vh - 24px));overflow:auto}.schedule-date-grid .date-picker:nth-child(2) .date-picker-popover{right:0;left:auto}.date-picker-popover-head{display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:8px}.date-picker-popover-head strong{color:var(--text);font-size:.88rem;font-weight:800;text-align:center;text-transform:capitalize}.date-picker-popover-head .icon-button{min-height:30px;width:30px;border-radius:50%;padding:0}.date-picker-popover-head .next-month-button svg{transform:rotate(180deg)}.date-picker-weekdays,.date-picker-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.date-picker-weekdays span{color:var(--muted);font-size:.68rem;font-weight:900;text-align:center;text-transform:uppercase}.date-picker-days button{min-height:30px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);padding:0;font-size:.8rem;font-weight:700}.date-picker-days button:hover{border-color:#149e713d;background:var(--accent-soft);color:var(--accent-dark)}.date-picker-days button.muted{color:#a3afac}.date-picker-days button:disabled{color:#c6cfcc;cursor:not-allowed;opacity:.58}.date-picker-days button:disabled:hover{border-color:transparent;background:transparent;color:#c6cfcc}.date-picker-days button.today{border-color:#149e7157}.date-picker-days button.selected{border-color:var(--accent);background:var(--accent);color:#fff}.time-picker{position:relative;display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.time-picker-trigger{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#17211f;padding:0 6px 0 10px;box-shadow:none}.time-picker-trigger:hover{border-color:var(--accent);background:var(--surface-muted);color:var(--accent-dark)}.time-picker-trigger:focus-within{border-color:var(--accent);background:var(--surface-muted);color:var(--accent-dark);box-shadow:0 0 0 3px var(--accent-soft)}.time-picker-trigger input{min-width:0;width:100%;min-height:38px;border:0;border-radius:0;background:transparent;color:#17211f;padding:0;box-shadow:none;font-size:.9rem;font-weight:600;text-align:left}.time-picker-trigger input:focus{outline:0;border-color:transparent;box-shadow:none}.time-picker-icon-button{display:grid;place-items:center;width:28px;min-height:28px;border:0;border-radius:50%;background:transparent;color:var(--accent);padding:0;box-shadow:none}.time-picker-icon-button:hover,.time-picker-icon-button:focus-visible{background:var(--accent-soft);color:var(--accent)}.time-picker-popover{position:absolute;z-index:35;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:210px;border:1px solid rgba(20,158,113,.26);border-radius:10px;background:#fff;box-shadow:0 18px 42px #05161329;padding:10px}.time-picker-column{display:grid;gap:6px;min-width:0}.time-picker-column>span{color:var(--muted);font-size:.68rem;font-weight:900;text-align:center;text-transform:uppercase}.time-picker-column>div{display:grid;gap:4px;max-height:190px;overflow:auto;scrollbar-width:none}.time-picker-column>div::-webkit-scrollbar{display:none}.time-picker-column button{min-height:30px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text);padding:0;font-size:.82rem;font-weight:700}.time-picker-column button:hover,.time-picker-column button:focus-visible{border-color:#149e713d;background:var(--accent-soft);color:var(--accent-dark)}.time-picker-column button.selected{border-color:var(--accent);background:var(--accent);color:#fff}.schedule-subject-list{display:grid;gap:8px}.schedule-subject-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;height:72px;min-height:72px;max-height:72px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:inherit;cursor:pointer;padding:10px;text-align:left}.schedule-subject-list button:hover,.schedule-subject-list button.active{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.schedule-subject-list strong,.schedule-subject-list span{display:block;min-width:0}.schedule-subject-list strong{overflow:hidden;color:var(--text);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.schedule-subject-list span{margin-top:3px;color:var(--muted);font-size:.76rem;font-weight:800}.schedule-subject-list .schedule-subject-teacher{color:var(--accent-dark);font-size:.74rem}.schedule-subject-list small{display:grid;place-items:center;min-width:32px;height:28px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);font-weight:900}.schedule-subject-lessons,.schedule-subject-evaluations{display:grid;gap:8px;border-top:1px solid var(--line);padding-top:10px}.schedule-subject-lessons>strong,.schedule-subject-evaluations>strong{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.schedule-subject-lessons>div,.schedule-subject-evaluations>div{display:grid;gap:6px}.schedule-subject-lessons button,.schedule-subject-evaluations button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;height:38px;min-height:36px;max-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:7px 8px;text-align:left}.schedule-subject-evaluations button{grid-template-columns:auto minmax(0,1fr) auto auto}.schedule-subject-lessons button,.schedule-subject-evaluations button{cursor:grab}.schedule-subject-lessons button:active,.schedule-subject-evaluations button:active{cursor:grabbing}.schedule-subject-lessons button:hover,.schedule-subject-lessons button.active,.schedule-subject-evaluations button:hover,.schedule-subject-evaluations button.active{border-color:#0f9f8273;background:#fff;box-shadow:0 0 0 2px #0f9f8214}.schedule-subject-lessons span,.schedule-subject-lessons small,.schedule-subject-evaluations span,.schedule-subject-evaluations small{color:var(--muted);font-size:.72rem;font-weight:900;white-space:nowrap}.schedule-subject-evaluations .schedule-evaluation-weight{color:var(--accent-dark);font-weight:900}.schedule-subject-lessons strong,.schedule-subject-evaluations strong{min-width:0;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.schedule-subject-lessons .schedule-lesson-status,.schedule-subject-evaluations .schedule-lesson-status{display:inline-grid;place-items:center;min-height:24px;border-radius:999px;padding:0 8px}.schedule-subject-lessons button.pending .schedule-lesson-status,.schedule-subject-evaluations button.pending .schedule-lesson-status{background:#eef2f4;color:#63717b}.schedule-subject-lessons button.scheduled .schedule-lesson-status,.schedule-subject-evaluations button.scheduled .schedule-lesson-status{background:#dff5ef;color:var(--accent-dark)}.class-schedule-calendar-card{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:12px;padding:14px}.schedule-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px}.schedule-toolbar h3{margin:2px 0 0;color:var(--text);font-size:1.08rem}.schedule-toolbar-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.schedule-toolbar-actions>button:not(.ghost-button){min-height:36px;border:0;border-radius:var(--radius);background:var(--accent);color:#fff;font-weight:900;padding:0 12px}.schedule-view-toggle{display:inline-flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted)}.schedule-view-toggle button{min-height:34px;border:0;border-radius:0;background:transparent;color:var(--muted);font-size:.78rem;font-weight:900;padding:0 12px}.schedule-view-toggle button.active{background:#fff;color:var(--accent-dark);box-shadow:inset 0 -2px 0 var(--accent)}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:34px repeat(6,minmax(116px,1fr));min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);gap:1px}.schedule-weekday{display:grid;place-items:center;min-height:34px;background:var(--surface-muted);color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.schedule-month-grid article{display:grid;grid-template-rows:auto minmax(0,1fr);gap:8px;min-width:0;min-height:0;background:#fff;padding:9px;overflow:hidden;cursor:pointer}.schedule-month-grid article:hover{background:var(--surface-muted)}.schedule-month-grid article.today,.schedule-week-grid article.today{position:relative;box-shadow:inset 0 0 0 2px var(--accent);z-index:1}.schedule-month-grid article.today .schedule-day-head strong{border:1px solid var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.schedule-month-grid article.muted{background:#f8faf9;color:var(--muted)}.schedule-month-grid article.outside-term{background:#f3f6f5;color:#9aa7a4}.schedule-month-grid article.outside-term .schedule-day-head strong{background:#e9efed;color:#8c9a97}.schedule-month-grid article.outside-term .schedule-day-lessons{opacity:.62}.schedule-month-grid article.holiday,.schedule-week-grid article.holiday{background:var(--red-soft)}.schedule-month-grid article.outside-term.holiday{background:#f3f6f5}.schedule-month-grid article.drop-hover,.schedule-week-grid article.drop-hover{position:relative;background:#0f9f8214}.schedule-month-grid article.drop-hover:after,.schedule-week-grid article.drop-hover:after{position:absolute;inset:6px;border:2px dashed rgba(15,159,130,.65);border-radius:var(--radius);background:#0f9f820a;content:"";pointer-events:none}.schedule-month-grid article.drop-hover>*,.schedule-week-grid article.drop-hover>*{position:relative;z-index:1}.schedule-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;min-width:0}.schedule-day-head strong{flex:0 0 auto;display:grid;place-items:center;width:26px;height:26px;border-radius:var(--radius);background:var(--surface-muted);color:var(--text);font-size:.82rem}.schedule-day-tags{flex:1 1 auto;display:flex;justify-content:flex-end;align-items:stretch;flex-wrap:wrap;gap:4px;min-width:0;overflow:hidden}.schedule-day-tags>span{max-width:100%;text-align:right;white-space:normal;overflow-wrap:anywhere;line-height:1.15}.schedule-term-boundary-chip{flex:1 1 100%;display:grid;justify-items:center;gap:1px;width:100%;border:1px solid rgba(101,113,110,.2);border-radius:999px;background:#eef2f1;color:#65716e;padding:4px 7px;font-size:.66rem;font-weight:850;line-height:1.05;text-align:center;text-transform:uppercase;white-space:nowrap}.schedule-day-tags>.schedule-term-boundary-chip{text-align:center}.schedule-term-boundary-chip span{display:block}.schedule-day-lessons,.schedule-week-lessons{display:grid;align-content:start;gap:6px;min-width:0;overflow:hidden}.schedule-month-grid .schedule-day-lessons{align-content:start;overflow:auto;scrollbar-width:none}.schedule-month-grid .schedule-day-lessons::-webkit-scrollbar{display:none}.schedule-month-lesson-name{min-width:0;overflow:hidden;border:1px solid rgba(15,159,130,.24);border-radius:7px;background:var(--accent-soft);color:var(--accent-dark);padding:4px 6px;font-size:.72rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.schedule-month-lesson-name.evaluation{border-color:#e57e2294;background:#fff2df;color:#a24f13}.schedule-lesson-chip{display:grid;align-content:start;align-items:start;grid-auto-rows:min-content;gap:3px;width:100%;max-width:100%;min-width:0;min-height:62px;border:1px solid rgba(15,159,130,.28);border-radius:var(--radius);background:var(--accent-soft);color:var(--text);cursor:grab;padding:6px 8px;text-align:left}.schedule-lesson-chip.focused{border-color:#0f9f828c;background:#e9f7f3;box-shadow:0 0 0 2px #0f9f821a}.schedule-lesson-chip.has-evaluation{border-color:#e57e2294;background:#fff2df}.schedule-lesson-chip.has-evaluation span,.schedule-lesson-chip.has-evaluation em{color:#a24f13}.schedule-lesson-chip.has-evaluation.focused{border-color:#e57e22;background:#ffebcf;box-shadow:0 0 0 2px #e57e2224}.schedule-lesson-chip:hover,.schedule-lesson-chip:focus-visible{border-color:#0f9f8280;background:#edf9f6;box-shadow:0 8px 18px #0f9f822e,0 0 0 2px #0f9f8214;outline:none}.schedule-lesson-chip.has-evaluation:hover,.schedule-lesson-chip.has-evaluation:focus-visible{border-color:#e57e22;background:#fff0d8;box-shadow:0 8px 18px #e57e2229,0 0 0 2px #e57e221a}.schedule-lesson-chip:active{cursor:grabbing}.schedule-lesson-chip.readonly,.schedule-lesson-chip.readonly:active{cursor:default}.schedule-lesson-chip.readonly:hover,.schedule-lesson-chip.readonly:focus-visible{border-color:#0f9f8247;background:var(--accent-soft);box-shadow:none}.schedule-lesson-chip.readonly.has-evaluation:hover,.schedule-lesson-chip.readonly.has-evaluation:focus-visible{border-color:#e57e2294;background:#fff2df;box-shadow:none}.schedule-lesson-chip span{color:var(--accent-dark);font-size:.72rem;font-weight:900;white-space:nowrap}.schedule-lesson-chip strong,.schedule-lesson-chip em,.schedule-lesson-chip small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-lesson-chip strong{font-size:.78rem}.schedule-lesson-chip em{color:var(--accent-dark);font-size:.72rem;font-style:normal;font-weight:850}.schedule-lesson-chip small{display:block}.schedule-lesson-chip small,.schedule-more-lessons,.schedule-empty-day{color:var(--muted);font-size:.72rem;font-weight:850}.schedule-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));min-height:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--line);gap:1px}.schedule-week-time-grid{grid-template-columns:64px repeat(7,minmax(0,1fr))}.schedule-week-axis{display:grid;grid-template-rows:auto minmax(calc(var(--week-slot-count) * 54px),1fr);min-width:0;background:#fff}.schedule-week-axis-head{min-height:58px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.72rem;font-weight:900;padding:10px 8px;text-transform:uppercase}.schedule-week-axis-body{display:grid;grid-template-rows:repeat(var(--week-slot-count),minmax(54px,1fr));min-height:calc(var(--week-slot-count) * 54px)}.schedule-week-axis-body span{border-top:1px solid var(--line);color:var(--muted);font-size:.7rem;font-weight:850;padding:4px 8px 0}.schedule-week-grid article{display:grid;grid-template-rows:auto minmax(calc(var(--week-slot-count) * 54px),1fr);min-width:0;min-height:100%;background:#fff}.schedule-week-column-head{display:grid;gap:2px;min-height:58px;border-bottom:1px solid var(--line);padding:10px}.schedule-week-column-head span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.schedule-week-column-head strong{color:var(--text);font-size:.95rem}.schedule-empty-day{display:grid;align-content:center;justify-items:center;gap:0;min-height:72px;border:1px dashed var(--line);border-radius:var(--radius);background:var(--surface-muted)}.schedule-empty-day.holiday-empty{gap:40px}.schedule-empty-day strong{color:var(--red);font-size:.72rem;font-weight:950;text-align:center;text-transform:uppercase}.schedule-empty-day span{color:var(--muted)}.schedule-week-timed-lessons{position:relative;min-height:calc(var(--week-slot-count) * 54px);overflow:hidden}.schedule-week-hour-lines{position:absolute;inset:0;z-index:0;display:grid;grid-template-rows:repeat(var(--week-slot-count),minmax(54px,1fr));pointer-events:none}.schedule-week-hour-lines span{border-top:1px solid var(--line)}.schedule-week-lesson-position{position:absolute;right:6px;left:6px;z-index:2;min-height:58px}.schedule-week-lesson-position .schedule-lesson-chip{height:100%;min-height:58px}.schedule-week-timed-lessons .schedule-empty-day{position:absolute;inset:8px;z-index:1;min-height:0}.schedule-distribution-modal{width:min(920px,calc(100vw - 32px))}.schedule-time-modal{width:min(560px,calc(100vw - 32px))}.schedule-time-input{min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#17211f;padding:0 10px;font-size:.9rem;font-weight:600}.schedule-time-input:hover{border-color:var(--accent);background:var(--surface-muted)}.schedule-time-input:focus{border-color:var(--accent);background:var(--surface-muted);box-shadow:0 0 0 3px var(--accent-soft);outline:0}.schedule-time-input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.72}.schedule-time-summary{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.schedule-time-summary span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.schedule-time-summary strong{color:var(--text);font-size:1rem}.modal-header p{margin:4px 0 0;color:var(--muted);font-size:.84rem;font-weight:800}.schedule-day-config-list{display:grid;gap:10px}.schedule-day-config{display:grid;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.schedule-day-config-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.schedule-day-config-head .ghost-button{flex:0 0 auto;min-height:30px}.schedule-day-check{display:inline-flex!important;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;color:var(--text)!important;font-size:.88rem!important}.schedule-day-check input{width:17px;min-height:17px;accent-color:var(--accent)}.schedule-day-config-rows{display:grid;gap:8px}.schedule-day-config-row{display:grid;grid-template-columns:minmax(0,1fr) 86px 34px;align-items:center;gap:8px}.schedule-day-config-row input[type=number]{min-width:0}.class-subject-list{display:grid;gap:9px}.class-subject-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.class-subject-list strong,.class-subject-list span{display:block}.class-subject-list span{color:var(--muted);font-size:.82rem;margin-top:3px}.class-subject-list article>.status-chip{align-self:center;display:inline-flex;flex-shrink:0;margin-top:0}.class-meta{align-items:flex-start;flex-direction:column;gap:7px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.class-meta span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:.84rem;font-weight:800}.student-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.student-tags span{border-radius:999px;background:#eef3f1;color:#4f5e5a;padding:6px 8px;font-size:.76rem;font-weight:800}.switch-row{display:inline-flex;align-items:center;gap:8px;font-weight:800}.switch-row input{width:18px;min-height:18px}.grade-input{max-width:82px}.money-input{max-width:130px}.table-subtext{display:block;color:var(--muted);font-size:.78rem;font-weight:800;margin-top:3px}.student-finance-detail{display:grid;gap:18px}.student-module-layout .course-tabs{margin-top:-4px}.student-module-layout .panel{min-height:calc(100vh - 190px)}.student-module-layout .student-detail-scroll-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:calc(100vh - 190px);min-height:0;overflow:hidden}.student-module-layout .student-detail-scroll-panel>.student-detail-page{min-height:0;overflow-y:auto;padding-right:4px}.student-detail-page,.student-tab-content{display:grid;gap:16px}.student-module-layout .student-detail-page{align-content:start;gap:18px}.student-detail-head{display:grid;grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:14px;align-items:stretch}.student-module-layout .student-detail-head{grid-template-columns:minmax(320px,.95fr) minmax(420px,1.05fr);border-bottom:1px solid var(--line);padding-bottom:16px}.student-detail-panel-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.student-course-selector{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;min-width:300px;min-height:38px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--accent-dark);font-size:.74rem;font-weight:900;padding:0 8px 0 12px;text-transform:uppercase}.student-course-selector:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.student-course-selector select{min-width:0;min-height:32px;border:0;border-radius:0;background:transparent;color:var(--text);font-size:.86rem;font-weight:800;padding:0 24px 0 0;text-transform:none}.student-course-selector select:focus{box-shadow:none}.student-detail-head .student-card{margin-bottom:0}.performance-overview-head{grid-template-columns:minmax(0,4fr) minmax(180px,1fr)}.performance-module-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.performance-module-card{position:relative;display:grid;align-content:center;min-height:88px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);text-align:left;padding:12px 42px 12px 12px;cursor:pointer}.performance-module-card:hover,.performance-module-card.active{border-color:var(--accent);background:var(--accent-soft)}.performance-module-card span,.performance-module-card small{display:block}.performance-module-card span{color:var(--muted);font-size:.78rem;font-weight:900}.performance-module-card strong{display:block;margin-top:5px;font-size:1.45rem;line-height:1}.performance-module-card small{margin-top:7px;color:var(--muted);font-size:.78rem;font-weight:850}.performance-module-card em{position:absolute;top:12px;right:12px;display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:50%;background:var(--surface-muted);color:var(--muted);font-size:.78rem;font-style:normal;font-weight:900}.performance-module-card.active em{border-color:var(--accent);background:var(--accent);color:#fff}.performance-final-summary{display:grid;gap:10px}.performance-final-summary div{display:grid;align-content:center;min-height:88px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.performance-final-summary span{color:var(--muted);font-size:.78rem;font-weight:900}.performance-final-summary strong{margin-top:6px;font-size:1.55rem;line-height:1}.student-module-layout .student-card{align-items:center;border:0;background:transparent;padding:0}.student-module-layout .avatar{width:72px;height:72px;border-radius:50%;font-size:1.55rem}.student-module-layout .student-card h3{font-size:1.35rem;line-height:1.15}.student-quick-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-content:center;gap:10px}.student-quick-facts div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 9px;align-content:center;min-height:72px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px 14px}.student-quick-facts div+div{border-left:1px solid var(--line)}.student-quick-facts svg{grid-row:span 2;align-self:center;width:17px;height:17px;color:var(--accent-dark)}.student-quick-facts span,.student-quick-facts strong{display:block}.student-quick-facts span{color:var(--muted);font-size:.75rem;font-weight:900}.student-quick-facts strong{min-width:0;font-size:.9rem;line-height:1.25}.student-info-sections{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px}.matrix-review-sections{grid-template-columns:minmax(0,1fr);gap:24px}.student-info-section h3{margin:0 0 10px;border-left:4px solid var(--accent);color:var(--accent-dark);font-size:.95rem;padding-left:8px}.student-info-list{display:grid;margin:0}.student-info-list div{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:18px;align-items:baseline;padding:10px 0}.student-info-list dt{color:var(--muted);font-size:.76rem;font-weight:900}.student-info-list dd{min-width:0;margin:0;color:var(--text);font-size:.875rem;font-weight:700;overflow-wrap:anywhere}.student-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-info-grid div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-censo-detail-list{display:grid;gap:20px}.censo-detail-section{border:0;border-radius:0;background:transparent;padding:0}.student-info-grid span,.student-info-grid strong{display:block}.student-info-grid span{color:var(--muted);font-size:.76rem;font-weight:900}.student-info-grid strong{margin-top:4px}.payment-history-grid{display:grid;gap:9px}.payment-history-grid article{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.payment-history-grid strong,.payment-history-grid span{display:block}.payment-history-grid span{color:var(--muted);font-size:.82rem;margin-top:3px}.payment-history-grid article>div:last-child{display:flex;align-items:center;gap:10px;white-space:nowrap}.payment-history-table table{min-width:980px}.course-documents-table-wrap table,.discounts-table-wrap table{min-width:860px}.discounts-table-wrap.delete-mode tbody tr:hover{background:var(--red-soft)}.matrix-create-page{min-height:calc(100vh - 160px)}.matrix-create-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px;border-top:1px solid var(--line)}.matrix-create-summary div{display:grid;gap:5px;min-height:64px;border-bottom:1px solid var(--line);background:transparent;padding:12px 0}.matrix-create-summary .wide-summary{grid-column:1 / -1}.matrix-create-summary span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.matrix-create-summary strong{min-width:0;overflow-wrap:anywhere}.payment-history-table td:last-child,.payment-history-table th:last-child{text-align:center}.payment-history-table .icon-button{margin-inline:auto}.payment-modal-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.payment-modal-summary div{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.payment-modal-summary span,.payment-modal-summary strong{display:block}.payment-modal-summary span{color:var(--muted);font-size:.76rem;font-weight:900}.payment-modal-summary strong{margin-top:4px}.performance-table tbody tr{cursor:pointer}.performance-detail-modal{width:min(900px,calc(100vw - 32px))}.subject-performance-detail{display:grid;gap:14px}.subject-performance-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(130px,auto) minmax(150px,auto);align-items:stretch;gap:10px}.subject-performance-hero>div{display:grid;align-content:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.subject-performance-hero span,.subject-performance-hero p{color:var(--muted);font-size:.8rem;font-weight:850;margin:0}.subject-performance-hero h3{margin:4px 0;font-size:1.15rem}.subject-performance-hero strong{font-size:1.15rem}.performance-edit-actions{display:flex;justify-content:flex-end;gap:8px}.performance-edit-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.performance-edit-panel label{color:var(--muted);font-size:.78rem;font-weight:900}.performance-edit-panel input,.performance-edit-panel select{margin-top:6px}.performance-edit-panel-actions{display:flex;justify-content:flex-end;gap:8px}.evaluation-detail-table td strong,.evaluation-detail-table td span:not(.status-chip,.approval-pill){display:block}.evaluation-detail-table td span:not(.status-chip,.approval-pill){color:var(--muted);font-size:.78rem;margin-top:3px}.grade-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:12px}.grade-card span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grade-card strong{font-size:1.25rem}.report-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.report-card{display:grid;align-content:start;gap:14px}.report-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark)}.report-card h3,.report-card p{margin:0}.report-card p{color:var(--muted);margin-top:5px}.login-screen{position:relative;isolation:isolate;display:grid;place-items:center;min-height:100vh;padding:24px;background:linear-gradient(180deg,#081f1b33,#081f1b80),url(/assets/login-education-bg.png) center / cover no-repeat}.login-screen:before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.28),transparent 34%),linear-gradient(90deg,#061a172e,#061a1775);-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.login-panel{width:min(100%,460px);padding:28px;background:#fffffff0;box-shadow:0 28px 80px #05161347;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-brand{justify-content:center;text-align:center;flex-direction:column;gap:14px;margin-bottom:22px}.login-brand .brand-logo{margin:0 auto}.login-brand h1,.login-brand p{margin:0}.login-brand h1{font-size:2.05rem;line-height:1.08}.login-brand p{color:var(--muted);line-height:1.5;margin-top:5px}.login-form{display:grid;gap:12px;margin-bottom:14px}.profile-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:2px 0 14px}.profile-choice button{min-height:38px;border:1px solid var(--line);background:var(--surface-muted);color:var(--text);padding:0 8px;font-size:.8rem}.profile-choice button:hover,.profile-choice button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.primary-login-button{width:100%;min-height:44px;margin-bottom:13px}.auth-links{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.auth-links button,.link-button{min-height:0;border:0;background:transparent;color:var(--accent-dark);padding:5px 6px;font-size:.84rem;font-weight:900}.auth-links button:hover,.link-button:hover{background:var(--accent-soft)}.admin-login-button{width:100%;min-height:40px;margin-top:12px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);box-shadow:none}.admin-login-button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.auth-flow{margin-bottom:0}.auth-flow button:not(.link-button){width:100%;min-height:42px}.auth-feedback{border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);font-size:.84rem;font-weight:800;line-height:1.35;margin:12px 0 0;padding:10px 12px;text-align:center}.login-support{display:grid;gap:3px;border-top:1px solid var(--line);margin-top:18px;padding-top:14px;text-align:center}.login-support span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.login-support strong{color:var(--text);font-size:.86rem;font-weight:800}.teacher-setup-screen{align-items:center}.teacher-setup-panel{width:min(100%,720px);padding:28px;background:#fffffff5;box-shadow:0 28px 80px #05161347;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.teacher-setup-header{display:flex;align-items:center;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}.teacher-setup-header h1,.teacher-setup-header p,.teacher-setup-header span{margin:0}.teacher-setup-header p{color:var(--muted);font-size:.86rem;font-weight:900}.teacher-setup-header h1{font-size:1.75rem;line-height:1.1}.teacher-setup-header span{display:inline-block;margin-top:5px;color:var(--accent-dark);font-weight:900}.teacher-setup-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.teacher-setup-form label{display:grid;gap:7px;color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.teacher-setup-form select{width:100%;min-height:44px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:0 12px;font:inherit;font-weight:800}.student-class-choice-list{display:grid;grid-column:1 / -1;gap:10px}.student-class-choice-list button{display:grid;justify-items:start;gap:4px;min-height:76px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;color:var(--text);padding:12px;text-align:left}.student-class-choice-list button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.student-class-choice-list strong{font-size:1rem}.student-class-choice-list span,.student-class-choice-list small{color:var(--muted);font-weight:800}.student-setup-screen .teacher-setup-form{grid-template-columns:1fr}.student-setup-screen .teacher-setup-form>label{display:none}.teacher-setup-preview{display:grid;grid-template-columns:1.3fr 1.3fr .8fr;gap:10px;margin-top:16px;padding:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted)}.teacher-setup-preview div{display:grid;gap:4px;min-height:82px;align-content:center;padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.teacher-setup-preview small{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.teacher-setup-preview strong{font-size:1rem}.teacher-setup-preview span{color:var(--muted);font-size:.86rem;font-weight:800}.teacher-setup-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.scrim{display:none}@media(max-width:1120px){.stat-grid,.dashboard-chart-grid,.finance-summary,.teacher-context-strip,.class-grid,.report-grid,.course-metrics,.module-grid,.plan-card-grid,.link-stat-row,.compliance-status-grid,.links-content-grid,.course-tab-grid,.course-display-grid,.course-display-split,.course-overview-top,.course-action-row,.plan-info-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-split,.content-split.compact,.students-layout,.class-schedule-layout,.library-page,.course-card-grid,.matrix-card-grid,.course-catalog-grid{grid-template-columns:1fr}.inline-form,.user-toolbar,.course-toolbar-actions,.course-detail-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.course-toolbar,.course-list-panel-header{flex-direction:column}.course-search-field{width:100%}.schedule-toolbar{align-items:stretch;flex-direction:column}.schedule-toolbar-actions{justify-content:flex-start}.catalog-page-panel-header,.catalog-page-panel-tools{align-items:stretch;flex-direction:column}.catalog-page-panel-tools,.catalog-search-field{width:100%}}@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;inset:0 auto 0 0;width:min(82vw,290px);transform:translate(-102%);transition:transform .18s ease}.sidebar.is-open{transform:translate(0)}.scrim{position:fixed;inset:0;display:block;border-radius:0;background:#07141170;z-index:15}.workspace{padding:16px}.mobile-only{display:inline-flex}.topbar{align-items:flex-start}.topbar-actions{display:flex;align-items:stretch;flex-direction:column;width:100%}.topbar h1{max-width:calc(100vw - 96px)}.top-course-selector,.teacher-topbar-selector{align-items:stretch;flex-direction:column;width:100%}.teacher-topbar-selector select,.course-trigger{min-width:0;width:100%}.course-popover{right:auto;left:0}.date-chip{width:max-content}.module-timeline{grid-auto-columns:minmax(180px,1fr);overflow-x:auto}.stat-grid,.dashboard-chart-grid,.finance-summary,.teacher-context-strip,.class-grid,.report-grid,.inline-form,.user-toolbar,.login-screen,.course-metrics,.module-grid,.plan-card-grid,.link-stat-row,.compliance-status-grid,.links-content-grid,.course-tab-grid,.course-display-grid,.course-display-split,.course-overview-top,.course-info-grid,.course-action-row,.course-card-grid,.course-detail-bar,.matrix-version-tabs,.course-facts,.class-detail-hero,.class-detail-metrics,.student-detail-head,.performance-overview-head,.performance-module-cards,.student-quick-facts,.student-info-sections,.student-edit-section-grid,.student-create-shell,.library-page,.library-book-row,.censo-field-grid,.performance-edit-panel,.student-info-grid,.student-wizard-steps,.student-document-field,.student-academic-summary,.payment-modal-summary,.schedule-date-grid,.schedule-day-config-head,.schedule-day-config-row,.matrix-create-summary,.subject-performance-hero,.teacher-detail-grid,.teacher-setup-form,.teacher-setup-preview,.link-teacher-assignment label,.modal-grid,.subject-edit-layout,.subject-edit-section-grid,.plan-editor,.plan-info-card-grid,.course-identity,.censo-field-grid .censo-segmented-field{grid-template-columns:1fr}.student-info-list div{grid-template-columns:1fr;gap:3px}.student-detail-panel-actions{align-items:stretch;flex-direction:column;width:100%}.student-course-selector{min-width:0;width:100%}.student-create-tabs{position:static;border:0;padding:0}.student-quick-facts div+div{border-left:1px solid var(--line);border-top:1px solid var(--line)}.doc-item,.doc-actions{align-items:stretch;flex-direction:column}.course-value-badge{position:static;margin-bottom:8px}.course-title-line{padding-right:0}.floating-actions,.floating-today-button{right:16px;bottom:16px}.modal-backdrop{padding:12px}.course-modal{width:100%;max-height:calc(100vh - 24px);padding:14px}.modal-actions{flex-direction:column-reverse}.student-document-field small{text-align:left}.week-calendar{grid-template-columns:repeat(7,minmax(78px,1fr));overflow-x:auto}.week-calendar-toolbar{align-items:stretch;flex-direction:column}.payment-meter-legend,.class-student-list{grid-template-columns:1fr}.course-display-side,.course-display-actions,.course-display-split>div+div,.people-panel{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:16px}.course-hero,.linked-row,.linked-class-card,.plan-feature,.teacher-detail-head,.teacher-detail-actions,.teacher-setup-header,.teacher-setup-actions,.course-toolbar{align-items:stretch;flex-direction:column}.course-toolbar-actions{grid-template-columns:1fr}.course-hero-actions{justify-content:flex-start}.panel-header{align-items:flex-start;flex-direction:column}.search-box{width:100%}.document-task,.doc-item,.matrix-header{align-items:stretch;flex-direction:column}.task-actions{justify-content:flex-start}.login-screen{padding:16px}.login-aside{display:none}}.student-login-select{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:900}.student-login-select span{text-transform:uppercase}.student-setup-alert{margin:0;border:1px solid var(--amber);border-radius:var(--radius);background:var(--amber-soft);color:#7a4c07;padding:12px;font-size:.86rem;font-weight:800}.student-portal-page{align-content:start}.student-portal-hero,.student-subject-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:18px;box-shadow:var(--shadow)}.student-subject-header{grid-template-columns:minmax(0,1fr) auto}.student-subject-backbar{display:flex;justify-content:flex-start}.student-subject-mobile-metrics{display:none}.student-portal-hero span,.student-subject-header span,.student-subject-header-metrics span,.student-portal-hero-metrics span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.student-portal-hero h2,.student-portal-hero p,.student-subject-header h2,.student-subject-header p{margin:0}.student-portal-hero h2,.student-subject-header h2{margin-top:4px;color:var(--text);font-size:1.45rem;line-height:1.15}.student-portal-hero p,.student-subject-header p{margin-top:5px;color:var(--muted);font-weight:700}.student-portal-hero>div>p:not(.student-portal-course-line){display:none}.student-portal-hero-metrics,.student-subject-header-metrics{display:grid;grid-template-columns:repeat(2,minmax(130px,1fr));gap:10px}.student-portal-hero-metrics div,.student-subject-header-metrics div{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:9px;min-height:58px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.student-portal-hero-metrics svg{grid-row:span 2;color:var(--accent-dark)}.student-portal-hero-metrics strong,.student-subject-header-metrics strong{color:var(--text);font-size:1.1rem}.student-portal-main-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.34fr);gap:18px}.student-portal-stat-stack{display:grid;align-content:start;gap:12px}.student-home-subjects-panel,.student-home-stats-panel{display:none}.student-today-list{display:grid;gap:10px}.student-today-panel .student-today-list{display:none}.student-day-selector{display:grid;gap:12px;margin-bottom:14px}.student-day-selector-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-day-selector-header strong{color:var(--muted);font-size:.82rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}.student-day-selector-header button{min-height:30px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);padding:0 10px;font-size:.78rem}.student-day-strip{display:grid;grid-auto-columns:minmax(72px,1fr);grid-auto-flow:column;gap:8px;overflow-x:auto;padding-bottom:2px}.student-day-strip button{display:grid;justify-items:center;gap:5px;min-height:86px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);padding:10px 8px}.student-day-strip button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.student-day-strip button>span{color:var(--text);font-size:1.2rem;font-weight:900}.student-day-strip small{font-size:.72rem;font-weight:900;text-transform:uppercase}.student-day-strip i{display:flex;min-height:6px;gap:3px;font-style:normal}.student-day-strip b{width:6px;height:6px;border-radius:999px;background:var(--accent)}.student-day-strip b.evaluation{background:var(--amber)}.student-semester-selector{display:grid;gap:12px;margin-bottom:14px}.student-semester-strip{display:grid;grid-auto-columns:minmax(72px,1fr);grid-auto-flow:column;gap:8px;overflow-x:auto;padding-bottom:2px}.student-semester-strip button{display:grid;justify-items:center;gap:5px;min-height:82px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);color:var(--muted);padding:10px 8px}.student-semester-strip button.active{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.student-semester-strip button>span{color:var(--text);font-size:1.2rem;font-weight:900}.student-semester-strip small{font-size:.72rem;font-weight:900;text-transform:uppercase}.student-today-table table{min-width:680px}.student-today-table .student-today-chip-label{display:inline-grid;place-items:center;min-height:30px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:0 9px;font-size:.78rem;font-weight:900;white-space:nowrap}.student-today-table tr.has-evaluation .student-today-chip-label{background:var(--amber-soft);color:var(--amber)}.student-today-table strong{display:block;min-width:0;overflow-wrap:anywhere}.student-today-list article{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(140px,.28fr);align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-today-list article>span{display:inline-grid;place-items:center;min-height:34px;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);font-size:.8rem;font-weight:900}.student-today-list article>span:not(.student-today-chip-label){display:none}.student-today-list article.has-evaluation>.student-today-chip-label{background:var(--amber-soft);color:var(--amber)}.student-today-list strong,.student-today-list small,.student-today-list em{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-today-list small,.student-today-list em{color:var(--muted);font-size:.8rem;font-style:normal;font-weight:800}.student-subject-table .clickable-table-row{cursor:pointer}.student-subject-table .clickable-table-row:hover,.student-subject-table .clickable-table-row:focus-visible{background:var(--accent-soft);outline:0}.student-material-list{display:grid;gap:10px}.student-material-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-material-list article>div{display:flex;align-items:center;min-width:0;gap:10px}.student-material-list svg{color:var(--accent-dark);flex:0 0 auto}.student-material-list span,.student-material-list strong,.student-material-list small{display:block;min-width:0}.student-material-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.student-material-list small{margin-top:3px;color:var(--muted);font-size:.78rem;font-weight:800}.student-mobile-header-logo,.student-mobile-greeting,.student-mobile-profile,.student-mobile-drawer-layer,.student-bottom-nav{display:none}.student-info-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-info-summary div{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-info-summary span{color:var(--muted);font-size:.76rem;font-weight:900;text-transform:uppercase}.student-info-summary strong{min-width:0;overflow-wrap:anywhere}.student-profile-page{gap:14px}.student-profile-hero{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px}.student-profile-avatar{display:grid;place-items:center;width:68px;height:68px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);font-size:1.5rem;font-weight:900}.student-profile-hero span,.student-profile-action-list span{color:var(--muted);font-size:.74rem;font-weight:900;text-transform:uppercase}.student-profile-hero h2,.student-profile-hero p{margin:0}.student-profile-hero h2{margin-top:4px;color:var(--text);font-size:1.25rem;line-height:1.15}.student-profile-hero p{margin-top:4px;color:var(--muted);font-weight:800}.student-profile-action-list{display:grid;gap:10px}.student-profile-action-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-profile-action-list strong,.student-profile-action-list small{display:block;min-width:0}.student-profile-action-list strong{margin-top:4px;color:var(--text);overflow-wrap:anywhere}.student-profile-action-list small{margin-top:4px;color:var(--muted);font-weight:700}.student-calendar-tabs{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:6px;box-shadow:var(--shadow)}.student-calendar-page>.panel:last-child{display:none}.student-calendar-panel .panel-header{align-items:center;flex-direction:row;justify-content:space-between}.student-calendar-view-toggle{min-height:34px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);padding:0 12px;font-size:.8rem;font-weight:900}.student-calendar-view-toggle.inline{justify-self:end;margin-bottom:10px}.student-calendar-tabs button{min-height:40px;background:transparent;color:var(--muted);font-weight:900}.student-calendar-tabs button.active{background:var(--accent-soft);color:var(--accent-dark)}.student-month-toolbar{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;margin-bottom:12px}.student-month-toolbar strong{color:var(--text);font-size:.95rem;font-weight:900;text-align:center;text-transform:capitalize}.student-month-toolbar button{min-height:38px;border:1px solid var(--line);background:#fff;color:var(--accent-dark);padding:0}.student-month-toolbar button:last-child svg{transform:rotate(180deg)}.student-month-weekdays,.student-month-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.student-month-weekdays{gap:4px;margin-bottom:5px}.student-month-weekdays span{color:var(--muted);font-size:.7rem;font-weight:900;text-align:center}.student-month-grid{gap:5px}.student-month-grid button{display:grid;align-content:start;justify-items:start;gap:4px;min-height:74px;border:1px solid var(--line);background:var(--surface-muted);color:var(--text);padding:7px}.student-month-grid button.muted{opacity:.42}.student-month-grid button.active{border-color:var(--accent);background:var(--accent-soft)}.student-month-grid button.has-items{background:#fff}.student-month-grid strong{font-size:.85rem}.student-month-grid span{display:flex;min-height:6px;gap:3px}.student-month-grid i{width:6px;height:6px;border-radius:999px;background:var(--accent)}.student-month-grid i.evaluation{background:var(--amber)}.student-month-grid small{display:none;overflow:hidden;color:var(--muted);font-size:.62rem;font-weight:800;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-selected-day-list{display:grid;gap:8px;margin-top:14px;border-top:1px solid var(--line);padding-top:12px}.student-selected-day-list h3{margin:0;color:var(--accent-dark);font-size:1rem}.student-selected-day-list article{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:10px}.student-selected-day-list span{justify-self:start;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:5px 9px;font-size:.78rem;font-weight:900}.student-selected-day-list .has-evaluation span{background:var(--amber-soft);color:var(--amber)}.student-selected-day-list strong,.student-selected-day-list small{min-width:0;overflow-wrap:anywhere}.student-selected-day-list small{color:var(--muted);font-weight:800}.student-calendar-list{display:grid;gap:12px}.student-calendar-list article{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-calendar-list time{color:var(--accent-dark);font-weight:900}.student-calendar-list article>div{display:grid;gap:8px}.student-calendar-list article>div>div{display:grid;gap:3px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:10px}.student-calendar-list span{justify-self:start;border-radius:var(--radius);background:var(--accent-soft);color:var(--accent-dark);padding:5px 9px;font-size:.78rem;font-weight:900}.student-calendar-list .has-evaluation span{background:var(--amber-soft);color:var(--amber)}.student-calendar-list strong,.student-calendar-list small{min-width:0;overflow-wrap:anywhere}.student-calendar-list small{color:var(--muted);font-weight:800}@media(max-width:760px){html:has(.student-app-shell),body:has(.student-app-shell),.student-app-shell,.student-app-shell *{scrollbar-width:none}html:has(.student-app-shell)::-webkit-scrollbar,body:has(.student-app-shell)::-webkit-scrollbar,.student-app-shell::-webkit-scrollbar,.student-app-shell *::-webkit-scrollbar{display:none;width:0;height:0}.student-app-shell{display:block}.student-app-shell .sidebar,.student-app-shell .scrim{display:none}.student-app-shell .workspace{min-width:0;overflow-x:hidden;padding:0 16px 88px}.student-app-shell .topbar{display:flex;position:relative;align-items:center;justify-content:space-between;min-height:68px;margin:0 -16px;border-bottom:0;background:var(--accent);padding:12px 16px}.student-app-shell .topbar>.mobile-only,.student-app-shell .topbar>div:not(.topbar-actions):not(.student-mobile-profile),.student-app-shell .topbar .topbar-actions{display:none}.student-app-shell .student-mobile-header-logo{display:block;width:auto;height:42px;border-radius:var(--radius);background:#fff;object-fit:contain;padding:4px}.student-mobile-profile{position:relative;display:block}.student-mobile-avatar{display:grid;place-items:center;width:42px;height:42px;min-height:42px;border:2px solid rgba(255,255,255,.72);border-radius:50%;background:#fff;color:var(--accent-dark);padding:0;font-size:1rem;font-weight:900}.student-mobile-avatar:hover{background:#fff}.student-mobile-drawer-layer{position:fixed;inset:0;z-index:100;display:block;pointer-events:none}.student-mobile-drawer-scrim{position:absolute;inset:0;min-height:0;border-radius:0;background:#09141161;padding:0;pointer-events:auto}.student-mobile-drawer{position:absolute;top:0;right:0;bottom:0;display:grid;align-content:start;gap:20px;width:min(330px,calc(100vw - 34px));border-left:1px solid var(--line);background:#fff;color:var(--text);padding:26px 22px;pointer-events:auto;box-shadow:-18px 0 40px #06151229}.student-mobile-drawer:after{position:absolute;top:0;right:0;bottom:0;width:4px;background:var(--accent);content:""}.student-mobile-drawer-header{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.student-mobile-drawer-header>span{display:grid;place-items:center;width:52px;height:52px;border:1px solid var(--accent-soft);border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);font-size:1.2rem;font-weight:900}.student-mobile-drawer-header strong,.student-mobile-drawer-header small{display:block;min-width:0}.student-mobile-drawer-header strong{color:var(--text);font-size:1rem;font-weight:800;line-height:1.2}.student-mobile-drawer-header small{margin-top:4px;color:var(--muted);font-weight:700}.student-mobile-course-select{display:grid;gap:8px}.student-mobile-course-select span{color:var(--muted);font-size:.76rem;font-weight:800;text-transform:uppercase}.student-mobile-course-select select{border-color:var(--line);background:var(--surface-muted);color:var(--text)}.student-mobile-drawer-menu{display:grid;gap:8px}.student-mobile-drawer-menu button{justify-content:flex-start;min-height:46px;border:1px solid transparent;border-radius:var(--radius);background:transparent;color:var(--text);padding:0 10px;font-size:.92rem;font-weight:700;text-transform:none}.student-mobile-drawer-menu button:hover{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.student-mobile-greeting{display:grid;gap:4px;padding:18px 0 12px}.student-mobile-greeting strong{color:var(--text);font-size:1.25rem;line-height:1.15}.student-mobile-greeting span{color:var(--muted);font-size:.9rem;font-weight:800}.student-app-shell .student-portal-hero{display:none}.student-app-shell .student-portal-page,.student-app-shell .panel,.student-app-shell .student-portal-main-grid,.student-app-shell .student-today-panel,.student-app-shell .student-subject-table{min-width:0}.student-app-shell .student-portal-page{gap:16px}.student-app-shell .student-calendar-page,.student-app-shell .student-subject-detail-page,.student-app-shell .library-page,.student-app-shell .student-profile-page{padding-top:12px}.student-app-shell .student-profile-hero{grid-template-columns:auto minmax(0,1fr)}.student-app-shell .student-profile-hero>button{grid-column:1 / -1;width:100%}.student-app-shell .student-profile-action-list article{grid-template-columns:minmax(0,1fr)}.student-app-shell .student-profile-action-list article>button{width:100%}.student-app-shell .student-subject-detail-page .student-subject-header{display:none}.student-app-shell .student-subject-backbar .ghost-button{justify-content:center;width:100%;min-height:38px;border:1px solid var(--line);background:#fff}.student-app-shell .student-subject-mobile-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-app-shell .student-subject-mobile-metrics article{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:12px}.student-app-shell .student-subject-mobile-metrics span{color:var(--muted);font-size:.72rem;font-weight:900;text-transform:uppercase}.student-app-shell .student-subject-mobile-metrics strong{color:var(--text);font-size:1.25rem;line-height:1}.student-app-shell .student-portal-main-grid{grid-template-columns:minmax(0,1fr)}.student-app-shell .student-portal-stat-stack{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-app-shell .student-subjects-page>.student-portal-stat-stack{padding-top:12px}.student-app-shell .student-portal-stat-stack .stat-card{min-width:0;padding:12px}.student-app-shell .student-portal-stat-stack .stat-card strong{font-size:1.25rem}.student-app-shell .student-portal-stat-stack .stat-card p{font-size:.72rem}.student-app-shell .student-today-list article{grid-template-columns:minmax(0,1fr);width:100%;min-width:0;overflow:hidden}.student-app-shell .student-today-list article>span{width:100%}.student-app-shell .student-today-list strong,.student-app-shell .student-today-list small,.student-app-shell .student-today-list em{overflow:visible;text-overflow:clip;white-space:normal}.student-app-shell .student-subject-table{overflow:visible;border:0}.student-app-shell .student-subject-table table,.student-app-shell .student-subject-table tbody,.student-app-shell .student-subject-table tr,.student-app-shell .student-subject-table td{display:block;width:100%}.student-app-shell .student-subject-table table{min-width:0;border-collapse:separate;border-spacing:0}.student-app-shell .student-subject-table thead{display:none}.student-app-shell .student-subject-table tbody{display:grid;gap:10px}.student-app-shell .student-subject-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-app-shell .student-subject-table td{display:grid;gap:4px;border:0;padding:0;color:var(--text);white-space:normal}.student-app-shell .student-subject-table td:first-child,.student-app-shell .student-subject-table td[colspan]{grid-column:1 / -1}.student-app-shell .student-subject-table td:before{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.student-app-shell .student-subject-table td:nth-child(2):before{content:"Professor"}.student-app-shell .student-subject-table td:nth-child(3):before{content:"Nota"}.student-app-shell .student-subject-table td:nth-child(4):before{content:"Faltas"}.student-app-shell .student-subject-table td:nth-child(5):before{content:"% faltas"}.student-app-shell .student-subject-table td:nth-child(6):before{content:"Status"}.student-app-shell .student-subject-table td:first-child:before,.student-app-shell .student-subject-table td[colspan]:before{content:none}.student-app-shell .student-subject-table td strong,.student-app-shell .student-subject-table .table-subtext{min-width:0;overflow-wrap:anywhere}.student-app-shell .student-evaluation-table{overflow:visible;border:0}.student-app-shell .student-evaluation-table table,.student-app-shell .student-evaluation-table tbody,.student-app-shell .student-evaluation-table tr,.student-app-shell .student-evaluation-table td{display:block;width:100%}.student-app-shell .student-evaluation-table table{min-width:0;border-collapse:separate;border-spacing:0}.student-app-shell .student-evaluation-table thead{display:none}.student-app-shell .student-evaluation-table tbody{display:grid;gap:10px}.student-app-shell .student-evaluation-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-muted);padding:12px}.student-app-shell .student-evaluation-table td{display:grid;gap:4px;border:0;padding:0;white-space:normal}.student-app-shell .student-evaluation-table td:before{color:var(--muted);font-size:.68rem;font-weight:900;text-transform:uppercase}.student-app-shell .student-evaluation-table td:first-child{grid-column:1 / -1}.student-app-shell .student-evaluation-table td:nth-child(2):before{content:"Peso"}.student-app-shell .student-evaluation-table td:nth-child(3):before{content:"Nota"}.student-app-shell .student-attendance-table td[colspan],.student-app-shell .student-evaluation-table td[colspan]{grid-column:1 / -1}.student-app-shell .student-attendance-table{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius)}.student-app-shell .student-attendance-table table{min-width:0;width:100%;border-collapse:collapse;table-layout:fixed;font-size:.74rem}.student-app-shell .student-attendance-table th,.student-app-shell .student-attendance-table td{padding:9px 6px;white-space:normal}.student-app-shell .student-attendance-table th:first-child,.student-app-shell .student-attendance-table td:first-child{display:none}.student-app-shell .student-attendance-table th:nth-child(2),.student-app-shell .student-attendance-table td:nth-child(2){width:34%}.student-app-shell .student-attendance-table th:nth-child(3),.student-app-shell .student-attendance-table td:nth-child(3){width:42%}.student-app-shell .student-attendance-table th:nth-child(4),.student-app-shell .student-attendance-table td:nth-child(4){width:24%}.student-app-shell .student-attendance-table th:nth-child(2),.student-app-shell .student-attendance-table th:nth-child(3),.student-app-shell .student-attendance-table th:nth-child(4){font-size:0}.student-app-shell .student-attendance-table th:nth-child(2):after,.student-app-shell .student-attendance-table th:nth-child(3):after,.student-app-shell .student-attendance-table th:nth-child(4):after{color:var(--muted);font-size:.68rem;font-weight:900}.student-app-shell .student-attendance-table th:nth-child(2):after{content:"DATA E HORA"}.student-app-shell .student-attendance-table th:nth-child(3):after{content:"AULA"}.student-app-shell .student-attendance-table th:nth-child(4):after{content:"SITUACAO"}.student-app-shell .student-attendance-table td:nth-child(2) strong,.student-app-shell .student-attendance-table td:nth-child(2) .table-subtext,.student-app-shell .student-attendance-table td:nth-child(3) strong{display:block;min-width:0;overflow-wrap:anywhere}.student-app-shell .student-attendance-table td:nth-child(2) strong{color:var(--text);font-weight:700}.student-app-shell .student-attendance-table td:nth-child(2) .table-subtext{margin-top:2px;color:var(--muted);font-size:.72rem;font-weight:800}.student-app-shell .student-attendance-table td:nth-child(3) strong{color:var(--text);font-size:.76rem;line-height:1.15}.student-app-shell .student-attendance-table td:nth-child(4) .status-chip,.student-app-shell .student-attendance-table td:nth-child(4) .approval-pill{width:fit-content;max-width:100%;padding:4px 6px;white-space:normal}.student-app-shell .student-today-table table{min-width:0;table-layout:fixed;font-size:.74rem}.student-app-shell .student-today-table th,.student-app-shell .student-today-table td{padding:9px 6px;white-space:normal}.student-app-shell .student-today-table th:nth-child(1),.student-app-shell .student-today-table td:nth-child(1){width:33%}.student-app-shell .student-today-table th:nth-child(2),.student-app-shell .student-today-table td:nth-child(2){width:42%}.student-app-shell .student-today-table th:nth-child(3),.student-app-shell .student-today-table td:nth-child(3){width:25%}.student-app-shell .student-today-table th:nth-child(4),.student-app-shell .student-today-table td:nth-child(4){display:none}.student-app-shell .student-today-table .student-today-chip-label{min-height:26px;padding:4px 6px;white-space:normal}.student-app-shell .student-month-grid button{min-height:54px;padding:6px}.student-app-shell .library-filter-card{position:sticky;top:10px;z-index:45;display:grid;gap:12px;margin:12px 0 2px;border:1px solid var(--line);border-radius:var(--radius);background:#fff;padding:14px;box-shadow:0 10px 24px #06151214}.student-app-shell .library-filter-card-header,.student-app-shell .library-filter-card h2,.student-app-shell .library-search,.student-app-shell .library-search-row{margin:0}.student-app-shell .library-filter-card-header{display:flex;align-items:center;justify-content:space-between}.student-app-shell .library-clear-filters-button{min-height:32px;padding:0 10px;font-size:.76rem}.student-app-shell .library-search-row{grid-template-columns:minmax(0,1fr) 46px;gap:8px}.student-app-shell .library-mobile-filter-button{display:grid;place-items:center;width:46px;height:42px;min-height:42px;border:1px solid var(--line);background:var(--surface-muted);color:var(--accent-dark);padding:0}.student-app-shell .library-mobile-filter-button.active{border-color:var(--accent);background:var(--accent-soft)}.student-app-shell .library-filter-list{display:none}.student-app-shell .library-filter-sheet-layer{position:fixed;inset:0;z-index:120;display:block;overscroll-behavior:contain}.student-app-shell .library-filter-sheet-scrim{position:absolute;inset:0;min-height:0;border:0;border-radius:0;background:#09141161;padding:0}.student-app-shell .library-filter-sheet{position:absolute;right:0;bottom:calc(66px + env(safe-area-inset-bottom));left:0;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px;max-height:min(410px,54vh);border-radius:18px 18px 0 0;background:#fff;padding:14px 16px 12px;box-shadow:0 -18px 40px #0615122e;overflow:hidden;touch-action:pan-y}.student-app-shell .library-filter-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-app-shell .library-filter-sheet-header>div{display:flex;gap:8px}.student-app-shell .library-filter-sheet-header strong{min-width:0;color:var(--text);font-size:.95rem;font-weight:700}.student-app-shell .library-filter-choice-list,.student-app-shell .library-filter-option-list{display:grid;gap:8px;min-height:0;overflow-y:auto;padding-right:2px;overscroll-behavior:contain;touch-action:pan-y}.student-app-shell .library-filter-choice-list button,.student-app-shell .library-filter-option-list button{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;justify-items:start;gap:5px;min-height:44px;border:1px solid var(--line);background:var(--surface-muted);color:var(--text);padding:8px 10px;text-align:left}.student-app-shell .library-filter-choice-list button.active,.student-app-shell .library-filter-option-list button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}.student-app-shell .library-filter-choice-list span,.student-app-shell .library-filter-option-list span{min-width:0;overflow-wrap:anywhere;font-size:.86rem;font-weight:700}.student-app-shell .library-filter-choice-list small{grid-column:1 / -1;color:var(--muted);font-size:.72rem;font-weight:800}.student-app-shell .library-filter-sheet-search{margin:0}.student-app-shell .library-filter-sheet:has(.library-filter-sheet-search){grid-template-rows:auto auto minmax(0,1fr)}.student-app-shell .library-results-card .panel-header{align-items:center;flex-direction:row}.student-app-shell .library-results-card .count-pill{white-space:nowrap}.student-app-shell .library-book-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.student-app-shell .library-book-row{align-content:start;grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;padding:8px}.student-app-shell .library-book-cover{width:100%;height:auto;aspect-ratio:1;border-radius:var(--radius)}.student-app-shell .library-book-row strong{display:-webkit-box;min-height:2.45em;overflow:hidden;color:var(--text);font-size:.86rem;line-height:1.18;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-app-shell .library-book-row p{display:-webkit-box;min-height:2.2em;overflow:hidden;margin:4px 0 0;font-size:.78rem;line-height:1.15;-webkit-box-orient:vertical;-webkit-line-clamp:2}.student-app-shell .library-book-row>div:not(.library-book-meta) small,.student-app-shell .library-book-meta small,.student-app-shell .library-book-meta .status-chip{display:none}.student-app-shell .library-book-meta{justify-items:start;min-width:0}.student-app-shell .library-book-meta>span{color:var(--accent-dark);font-size:.82rem}.student-app-shell .library-detail-page{display:grid;gap:10px;padding-top:12px}.student-app-shell .library-book-detail-back{justify-self:start}.student-app-shell .library-book-detail-card{gap:14px}.student-app-shell .library-book-detail-cover{width:min(260px,82vw)}.student-app-shell .library-book-detail-heading h2{font-size:1.25rem}.student-app-shell .library-book-material-button{width:100%;min-height:42px}.student-app-shell .library-book-detail-info div{grid-template-columns:24px minmax(0,1fr);gap:4px 8px;border-bottom:1px solid var(--line);padding-bottom:9px}.student-app-shell .library-book-detail-info span,.student-app-shell .library-book-detail-info strong{grid-column:2}.student-app-shell .library-book-detail-info span{font-size:.82rem}.student-calendar-list article{grid-template-columns:minmax(0,1fr)}.student-bottom-nav{position:fixed;right:0;bottom:0;left:0;z-index:60;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);background:#fff;box-shadow:0 -12px 30px #0615121a;padding:7px 8px calc(7px + env(safe-area-inset-bottom))}.student-bottom-nav button{display:grid;justify-items:center;gap:3px;min-height:52px;border:0;background:transparent;color:var(--muted);padding:4px 2px;font-size:.68rem;font-weight:900}.student-bottom-nav button.active{background:var(--accent-soft);color:var(--accent-dark)}}@media(max-width:980px){.student-portal-hero,.student-subject-header,.student-portal-main-grid{grid-template-columns:1fr}.student-subject-header{align-items:stretch}.student-today-list article{grid-template-columns:1fr}}@media(max-width:760px){.student-app-shell select,.student-app-shell .search-select-trigger,.student-app-shell .search-select-trigger span:first-child,.student-app-shell .censo-search-menu button,.student-app-shell .censo-search-menu span{font-size:.75rem}.student-app-shell .censo-search-menu button{font-weight:600}.teacher-app-shell .teacher-mobile-page,.teacher-app-shell .teacher-classes-page,.teacher-app-shell .teacher-students-page,.teacher-app-shell .teacher-calendar-page{padding-top:12px}.teacher-app-shell .teacher-dashboard-grid,.teacher-app-shell .teacher-filter-bar{grid-template-columns:minmax(0,1fr)}.teacher-app-shell .teacher-upcoming-list button,.teacher-app-shell .teacher-class-button-list button,.teacher-app-shell .teacher-subject-button-list button,.teacher-app-shell .teacher-student-directory article{grid-template-columns:minmax(0,1fr)}.teacher-app-shell .teacher-student-card-list article{grid-template-columns:minmax(0,1fr) auto auto}.teacher-app-shell .teacher-student-card-list article .status-chip{grid-column:1 / -1;justify-self:start}.teacher-app-shell .teacher-subject-tabs{position:sticky;top:10px;z-index:30}.teacher-app-shell .teacher-agenda-table table{min-width:0;table-layout:fixed;font-size:.7rem}.teacher-app-shell .teacher-agenda-table th,.teacher-app-shell .teacher-agenda-table td{display:table-cell;padding:8px 5px;white-space:normal}.teacher-app-shell .teacher-agenda-table th:nth-child(1),.teacher-app-shell .teacher-agenda-table td:nth-child(1){width:28%}.teacher-app-shell .teacher-agenda-table th:nth-child(2),.teacher-app-shell .teacher-agenda-table td:nth-child(2){width:30%}.teacher-app-shell .teacher-agenda-table th:nth-child(3),.teacher-app-shell .teacher-agenda-table td:nth-child(3){width:22%}.teacher-app-shell .teacher-agenda-table th:nth-child(4),.teacher-app-shell .teacher-agenda-table td:nth-child(4){display:table-cell;width:20%}.teacher-app-shell .teacher-class-subjects-table,.teacher-app-shell .teacher-evaluations-table,.teacher-app-shell .teacher-lessons-table,.teacher-app-shell .teacher-notes-table,.teacher-app-shell .teacher-student-evaluations-table,.teacher-app-shell .teacher-student-lessons-table,.teacher-app-shell .teacher-students-results-table,.teacher-app-shell .teacher-subject-students-table{overflow:auto}.teacher-app-shell .teacher-class-subjects-table table,.teacher-app-shell .teacher-evaluations-table table,.teacher-app-shell .teacher-lessons-table table,.teacher-app-shell .teacher-notes-table table,.teacher-app-shell .teacher-student-evaluations-table table,.teacher-app-shell .teacher-student-lessons-table table,.teacher-app-shell .teacher-students-results-table table,.teacher-app-shell .teacher-subject-students-table table{min-width:0;table-layout:fixed;width:100%}.teacher-app-shell .teacher-class-subjects-table th,.teacher-app-shell .teacher-class-subjects-table td,.teacher-app-shell .teacher-evaluations-table th,.teacher-app-shell .teacher-evaluations-table td,.teacher-app-shell .teacher-lessons-table th,.teacher-app-shell .teacher-lessons-table td,.teacher-app-shell .teacher-notes-table th,.teacher-app-shell .teacher-notes-table td,.teacher-app-shell .teacher-student-evaluations-table th,.teacher-app-shell .teacher-student-evaluations-table td,.teacher-app-shell .teacher-student-lessons-table th,.teacher-app-shell .teacher-student-lessons-table td,.teacher-app-shell .teacher-students-results-table th,.teacher-app-shell .teacher-students-results-table td,.teacher-app-shell .teacher-subject-students-table th,.teacher-app-shell .teacher-subject-students-table td{padding:9px 6px;white-space:normal}.teacher-app-shell .teacher-class-subjects-table th:first-child,.teacher-app-shell .teacher-class-subjects-table td:first-child,.teacher-app-shell .teacher-evaluations-table th:first-child,.teacher-app-shell .teacher-evaluations-table td:first-child,.teacher-app-shell .teacher-lessons-table th:first-child,.teacher-app-shell .teacher-lessons-table td:first-child,.teacher-app-shell .teacher-notes-table th:first-child,.teacher-app-shell .teacher-notes-table td:first-child,.teacher-app-shell .teacher-student-evaluations-table th:first-child,.teacher-app-shell .teacher-student-evaluations-table td:first-child,.teacher-app-shell .teacher-student-lessons-table th:first-child,.teacher-app-shell .teacher-student-lessons-table td:first-child,.teacher-app-shell .teacher-students-results-table th:first-child,.teacher-app-shell .teacher-students-results-table td:first-child,.teacher-app-shell .teacher-subject-students-table th:first-child,.teacher-app-shell .teacher-subject-students-table td:first-child{width:46%}.teacher-app-shell .teacher-notes-table th:first-child,.teacher-app-shell .teacher-notes-table td:first-child{width:62%}.teacher-app-shell .teacher-students-page{gap:14px}.teacher-app-shell .teacher-students-results-card .panel-header{align-items:center;flex-direction:row}.teacher-app-shell .teacher-student-row{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;padding:10px}.teacher-app-shell .teacher-student-row strong{display:block;min-height:0;color:var(--text);font-size:.86rem;line-height:1.18;overflow:visible;text-overflow:clip;white-space:normal}.teacher-app-shell .teacher-student-row p{margin:4px 0 0;font-size:.78rem;line-height:1.15}.teacher-app-shell .teacher-student-row small{display:none}.teacher-app-shell .teacher-student-meta{display:grid;grid-template-columns:minmax(0,1fr);justify-items:stretch;gap:8px;min-width:0}.teacher-app-shell .teacher-student-meta .status-chip{justify-self:start}.teacher-app-shell .teacher-student-context-selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(max-width:560px){.student-portal-hero-metrics,.student-subject-header-metrics{grid-template-columns:1fr}.student-material-list article{align-items:stretch;flex-direction:column}.student-material-list article>button{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
