:root{--navy:#102a43;--blue:#1f5f99;--teal:#1b817c;--amber:#c88724;--bg:#f3f6fa;--surface:#fff;--border:#dce4ed;--muted:#66788a;--text:#172b3d;--radius:16px;--shadow:0 10px 30px #102a4312}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}.app-shell{grid-template-columns:270px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{background:var(--navy);color:#fff;z-index:30;height:100vh;padding:24px 18px;position:sticky;top:0;overflow-y:auto}.brand{align-items:center;gap:12px;margin-bottom:28px;padding:0 8px;display:flex}.brand>span,.profile>span{width:42px;height:42px;color:var(--navy);background:#fff;border-radius:12px;place-items:center;font-weight:800;display:grid}.brand strong,.brand small,.profile strong,.profile small{display:block}.brand small,.profile small{color:#aebfd0;margin-top:2px}.nav-label{color:#849bb1;letter-spacing:.11em;text-transform:uppercase;margin:24px 12px 8px;font-size:11px;font-weight:700}.nav-link{color:#d8e3ed;border-radius:10px;margin:3px 0;padding:10px 12px;font-size:14px;text-decoration:none;display:block}.nav-link:hover,.nav-link.active{color:#fff;background:#1e466a}.profile{border-top:1px solid #345574;align-items:center;gap:10px;margin-top:28px;padding:14px 10px;display:flex}.profile>span{width:36px;height:36px;color:var(--teal);background:#d8f0ed}.main{min-width:0}.topbar{border-bottom:1px solid var(--border);z-index:20;background:#fffffff0;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 32px;display:flex;position:sticky;top:0}.search{background:var(--bg);border:1px solid var(--border);border-radius:11px;align-items:center;gap:9px;width:min(430px,50vw);height:42px;padding:0 13px;display:flex}.search input{background:0 0;border:0;outline:0;width:100%}.top-actions{align-items:center;gap:10px;display:flex}.term{border:1px solid var(--border);background:#fff;border-radius:10px;padding:9px 12px;font-size:13px}.icon{border:1px solid var(--border);background:#fff;border-radius:10px;width:40px;height:40px}.menu{display:none}.content{max-width:1600px;margin:auto;padding:32px}.heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.heading h1{color:var(--navy);margin:5px 0 8px;font:700 clamp(28px,3vw,40px)/1.1 Inter}.heading p{color:var(--muted);margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700;color:var(--teal)!important}.button{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:#fff;border-radius:10px;padding:10px 14px}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px;display:grid}.stat,.panel{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff}.stat{padding:20px}.stat small,.stat span{color:var(--muted);display:block}.stat strong{color:var(--navy);margin:8px 0;font:700 32px Inter;display:block}.dashboard{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.wide{grid-column:span 2}.panel{min-width:0;padding:22px}.panel-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.panel h2{color:var(--navy);margin:0 0 5px;font:700 19px Inter}.panel p,.panel-head p{color:var(--muted);margin:0;font-size:14px}.panel-head a{color:var(--blue);font-size:13px;text-decoration:none}.list{border-bottom:1px solid #edf1f5;align-items:center;gap:14px;padding:14px 0;display:flex}.list:last-child{border-bottom:0}.list>b{width:54px;color:var(--blue);font-size:12px}.list i{background:var(--teal);border-radius:50%;flex:none;width:9px;height:9px}.list div{flex:1;min-width:0}.list strong,.list small{display:block}.list small{color:var(--muted);margin-top:3px}.donut{background:conic-gradient(var(--teal) 76%,#e5ebf1 0);border-radius:50%;place-items:center;width:138px;height:138px;margin:20px auto;display:grid;position:relative}.donut:after{content:"";background:#fff;border-radius:50%;position:absolute;inset:17px}.donut span{z-index:1;font:700 26px Inter}.legend{gap:8px;font-size:13px;display:grid}.tasks{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.task{border:1px solid var(--border);border-radius:12px;padding:15px}.task strong,.task small{margin-top:8px;display:block}.task small{color:var(--muted)}.badge{color:var(--teal);background:#e8f5f2;border-radius:999px;padding:4px 9px;font-size:11px;font-weight:700;display:inline-flex}.badge.warn{color:#9b651c;background:#fff2dc}.tabs{background:#e8edf3;border-radius:12px;gap:5px;width:max-content;max-width:100%;margin-bottom:20px;padding:5px;display:flex;overflow-x:auto}.tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:9px;padding:9px 15px}.tabs button.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #102a4314}.columns{grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);gap:20px;display:grid}.calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar b,.calendar span{border-radius:9px;place-items:center;min-height:48px;display:grid}.calendar b{min-height:30px;color:var(--muted);font-size:12px}.calendar span{border:1px solid #edf1f5}.calendar .marked{color:var(--teal);background:#dff1ef;font-weight:700}.form{align-content:start;gap:16px;display:grid}.form label{gap:7px;font-size:13px;font-weight:600;display:grid}.form [hidden]{display:none!important}.form input,.form select,.form textarea,.filters input,.filters select{border:1px solid var(--border);background:#fff;border-radius:10px;outline:none;width:100%;padding:11px 12px}.mission{border-bottom:1px solid var(--border);gap:18px;padding:15px 0;display:flex}.mission b{color:var(--teal)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.form-grid .full{grid-column:1/-1}.step{border-left:3px solid var(--teal);background:#f4f8fa;border-radius:0 10px 10px 0;margin-top:10px;padding:14px}.filters{gap:9px;max-width:420px;display:flex}.table-wrap{-webkit-overflow-scrolling:touch;border:1px solid var(--border);border-radius:12px;width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:820px}th,td{text-align:left;border-bottom:1px solid var(--border);padding:13px 14px;font-size:13px}th{color:var(--muted);text-transform:uppercase;background:#f5f8fb;font-size:11px}td strong,td small{display:block}td small{color:var(--muted);margin-top:3px}.link{color:var(--blue);background:0 0;border:0}.backdrop{display:none}@media (width<=1100px){.stats{grid-template-columns:repeat(2,1fr)}.dashboard{grid-template-columns:repeat(2,minmax(0,1fr))}.columns,.tasks{grid-template-columns:1fr}.sidebar{transition:left .2s;position:fixed;left:-290px}.sidebar.open{left:0}.app-shell{grid-template-columns:1fr}.menu{display:block}.backdrop.show{z-index:25;background:#09182673;display:block;position:fixed;inset:0}}@media (width<=700px){.content{padding:22px 16px}.topbar{padding:0 16px}.search{flex:1;width:auto}.term{display:none}.heading{flex-direction:column;align-items:flex-start}.stats,.dashboard{grid-template-columns:1fr}.wide{grid-column:auto}.panel{padding:17px}.panel-head{flex-direction:column}.filters{flex-direction:column;width:100%}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.calendar span{min-height:39px}}.flash{color:var(--teal);background:#e8f5f2;border-radius:11px;margin-bottom:18px;padding:13px 16px;font-weight:600}.row-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.row-actions form{margin:0}.danger,.field-error{color:#b23b2d}.empty{text-align:center;color:var(--muted);padding:30px}.pagination{margin-top:18px}.pagination nav>div:first-child{display:none}.pagination nav>div:last-child{justify-content:space-between;align-items:center;gap:15px;display:flex}.pagination svg{width:18px}.pagination a,.pagination span{font-size:13px}.form-card{max-width:960px}.form-actions{justify-content:flex-end;gap:10px;padding-top:10px;display:flex}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid}.detail-grid>div{border-bottom:1px solid var(--border);padding:18px}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{color:var(--muted);margin-bottom:6px}@media (width<=700px){.detail-grid{grid-template-columns:1fr}.row-actions{gap:7px}}.auth-body{background:#eaf0f6;place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);background:#fff;border-radius:22px;padding:34px}.auth-card h1{color:var(--navy);margin:8px 0;font-size:28px}.auth-brand{background:var(--navy);color:#fff;border-radius:14px;place-items:center;width:50px;height:50px;font-weight:800;display:grid}.auth-copy{color:var(--muted);margin-bottom:24px}.check{justify-content:start;align-items:center;grid-template-columns:auto 1fr!important;display:flex!important}.check input{width:auto}.error{color:#a33b2b;background:#fff0ed;border-radius:9px;padding:10px;font-size:13px}.demo-login{background:var(--bg);border-radius:10px;margin-top:20px;padding:13px}.demo-login strong,.demo-login small{display:block}.demo-login small{color:var(--muted);margin-top:4px}.top-actions select{border:1px solid var(--border);background:#fff;border-radius:9px;max-width:170px;padding:8px}.task{color:var(--text);text-decoration:none}.role-chip{color:var(--teal);background:#e8f5f2;border-radius:999px;padding:8px 11px;font-size:12px;font-weight:700}.semester-gate{border:1px solid var(--border);background:#fff;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;padding:18px 20px;display:flex}.semester-gate>div{align-items:center;gap:13px;display:flex}.semester-gate strong,.semester-gate small{display:block}.semester-gate small{color:var(--muted);margin-top:3px}.semester-gate select{border:1px solid var(--border);background:#fff;border-radius:10px;min-width:260px;padding:11px}.step-number{background:var(--navy);color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.calendar-empty{text-align:center;background:#fff;border:1px dashed #becbd7;border-radius:18px;place-content:center;justify-items:center;min-height:420px;display:grid}.calendar-empty h2{margin:16px 0 5px}.calendar-empty p{color:var(--muted)}.calendar-illustration{width:82px;height:82px;color:var(--blue);border:8px solid #dce7f1;border-radius:20px;place-items:center;font-size:30px;font-weight:800;display:grid}.calendar-shell{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:22px 24px;display:flex}.calendar-toolbar h2{color:var(--navy);margin:3px 0 0;font-size:25px}.month-nav{align-items:center;gap:7px;display:flex}.month-nav a{border:1px solid var(--border);min-width:40px;height:40px;color:var(--navy);background:#fff;border-radius:10px;place-items:center;padding:0 12px;font-weight:700;text-decoration:none;display:grid}.month-nav .today-link{font-size:13px}.calendar-weekdays,.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekdays span{border-bottom:1px solid var(--border);color:var(--muted);text-transform:uppercase;padding:11px 12px;font-size:11px;font-weight:700}.day-cell{border:0;border-right:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left;cursor:pointer;background:#fff;min-height:142px;padding:10px;position:relative;overflow:hidden}.day-cell:nth-child(7n){border-right:0}.day-cell:hover{background:#f6fafc}.day-cell.outside{color:#9cabb8;background:#f7f9fb}.day-cell.today{box-shadow:inset 0 0 0 2px var(--teal)}.day-number{border-radius:50%;place-items:center;width:27px;height:27px;font-size:13px;font-weight:700;display:grid}.today .day-number{background:var(--teal);color:#fff}.add-hint{width:25px;height:25px;color:var(--blue);opacity:0;border-radius:8px;place-items:center;display:grid;position:absolute;top:9px;right:9px}.day-cell:hover .add-hint{opacity:1;background:#e6f0f8}.day-events{gap:4px;margin-top:7px;display:grid}.event-chip{max-width:100%;color:var(--blue);white-space:nowrap;text-overflow:ellipsis;background:#eaf1f8;border-radius:6px;padding:4px 7px;font-size:11px;font-weight:600;display:block;overflow:hidden}.type-holiday{color:#a84b37;background:#fff0eb}.type-exam{color:#8a5a10;background:#fff4dc}.type-meeting{color:#6551a4;background:#eeeafd}.type-activity{color:var(--teal);background:#e8f5f2}.more-events{color:var(--muted);font-size:10px}.calendar-side-panel{z-index:60;pointer-events:none;visibility:hidden;position:fixed;inset:0}.calendar-side-panel.open{pointer-events:auto;visibility:visible}.panel-overlay{opacity:0;background:#0a1a296b;transition:all .2s;position:absolute;inset:0}.calendar-side-panel.open .panel-overlay{opacity:1}.calendar-side-panel aside{background:#fff;width:min(480px,100%);height:100%;padding:26px;transition:all .25s;position:absolute;top:0;right:0;overflow-y:auto;transform:translate(100%)}.calendar-side-panel.open aside{transform:none}.calendar-side-panel aside>header{justify-content:space-between;gap:20px;margin-bottom:24px;display:flex}.calendar-side-panel h2{color:var(--navy);margin:4px 0}.panel-close{border:1px solid var(--border);background:#fff;border-radius:10px;width:38px;height:38px;font-size:23px}.selected-events{border-top:1px solid var(--border);margin-top:28px;padding-top:20px}.selected-events h3{font-size:15px}.selected-event{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.selected-event>div{min-width:0}.selected-event small{color:var(--muted);margin-top:4px;display:block}.selected-event .link{flex:none;text-decoration:none}.muted{color:var(--muted)}@media (width<=900px){.semester-gate{flex-direction:column;align-items:stretch}.semester-gate select{width:100%;min-width:0}.day-cell{min-height:110px}.calendar-toolbar{align-items:flex-start;gap:14px}.calendar-weekdays span{text-align:center;padding:9px 5px}.event-chip{padding:3px;font-size:9px}}@media (width<=600px){.calendar-toolbar{flex-direction:column}.day-cell{min-height:72px;padding:5px}.day-number{width:22px;height:22px;font-size:11px}.day-events{margin-top:3px}.event-chip{border-radius:3px;height:5px;padding:0;font-size:0}.more-events,.add-hint{display:none}.month-nav{width:100%}.month-nav .today-link{flex:1}.calendar-side-panel aside{padding:20px}}.calendar-legend{border-bottom:1px solid var(--border);color:var(--muted);align-items:center;gap:18px;padding:10px 24px;font-size:11px;display:flex}.calendar-legend span:before{content:"";vertical-align:-1px;border-radius:3px;width:9px;height:9px;margin-right:6px;display:inline-block}.calendar-legend .source-calendar:before{background:#7f96aa}.calendar-legend .source-semester-program:before{background:#1f5f99}.calendar-legend .source-program-activity:before{background:#c88724}.event-chip.source-calendar{border-left:3px solid #7f96aa}.event-chip.source-semester-program{border-left:3px solid #1f5f99}.event-chip.source-program-activity{color:#8a5a10;background:#fff4dc;border-left:3px solid #c88724}.schedule-section+.schedule-section{margin-top:20px}.date-list{gap:10px;display:grid}.date-list-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.date-list-row .button{padding:8px 13px;font-size:20px;line-height:1}.date-list>small{color:var(--muted);font-weight:400}.schedule-date{color:#8a5a10;white-space:nowrap;background:#fff4dc;border-radius:7px;margin:2px 4px 2px 0;padding:4px 7px;font-size:11px;display:inline-flex}.schedule-calendar{border:1px solid var(--border);background:#f8fafc;border-radius:14px;gap:12px;padding:18px;display:grid}.schedule-calendar-toolbar{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;display:grid}.schedule-calendar-toolbar strong{text-align:center;color:var(--navy);text-transform:capitalize;font-size:16px}.schedule-calendar-toolbar button{border:1px solid var(--border);height:38px;color:var(--navy);cursor:pointer;background:#fff;border-radius:9px}.schedule-calendar-weekdays,.schedule-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.schedule-calendar-weekdays span{text-align:center;color:var(--muted);text-transform:uppercase;font-size:10px;font-weight:700}.schedule-calendar-grid button{aspect-ratio:1;color:var(--text);cursor:pointer;background:#fff;border:1px solid #0000;border-radius:9px;font-size:12px;position:relative}.schedule-calendar-grid button:hover:not(:disabled){border-color:var(--teal);background:#e8f5f2}.schedule-calendar-grid button.outside{color:#9baab8;background:0 0}.schedule-calendar-grid button.in-period{box-shadow:inset 0 0 0 1px #dcebe8}.schedule-calendar-grid button.today span{border:1px solid var(--teal);border-radius:50%;place-items:center;width:24px;height:24px;margin:auto;display:grid}.schedule-calendar-grid button.selected{border-color:var(--amber);background:var(--amber);color:#fff;box-shadow:0 4px 10px #c887243d}.schedule-calendar-grid button:disabled{cursor:not-allowed;opacity:.34;background:#edf1f5}.schedule-selection{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:grid}.schedule-selection>strong{color:var(--navy);font-size:12px}.schedule-date-chips{flex-wrap:wrap;gap:7px;display:flex}.schedule-date-chips button{color:#8a5a10;cursor:pointer;background:#fff4dc;border:1px solid #efd8ae;border-radius:999px;align-items:center;gap:7px;padding:6px 9px;font-size:11px;display:inline-flex}.schedule-date-chips button span{font-size:15px;line-height:1}.schedule-calendar>small{color:var(--muted);font-weight:400}.schedule-time-list{gap:9px;display:grid}.schedule-time-row{border:1px solid var(--border);background:#fff;border-radius:11px;grid-template-columns:minmax(150px,1fr) minmax(120px,.7fr) minmax(120px,.7fr);align-items:end;gap:10px;padding:11px;display:grid}.schedule-time-date{justify-content:space-between;align-self:center;align-items:center;gap:8px;display:flex}.schedule-time-date strong{color:var(--navy);font-size:12px}.schedule-time-date button{color:#a33b2b;cursor:pointer;background:0 0;border:0;font-size:20px}.schedule-time-row label{font-size:11px}.schedule-time-row input[type=time]{padding:8px 9px}@media (width<=700px){.schedule-time-row{grid-template-columns:1fr 1fr}.schedule-time-date{grid-column:1/-1}}.lesson-calendar{border:1px solid var(--border);box-shadow:var(--shadow);background:#fff;border-radius:18px;overflow:hidden}.lesson-calendar>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-end;gap:20px;padding:22px 24px;display:flex}.lesson-calendar>header h2{color:var(--navy);margin:4px 0 0}.lesson-calendar>header small{color:var(--muted)}.lesson-week-grid{grid-template-columns:repeat(6,minmax(170px,1fr));min-height:480px;display:grid;overflow-x:auto}.lesson-day{border-right:1px solid var(--border);cursor:pointer;background:#fff;min-width:170px}.lesson-day:last-child{border-right:0}.lesson-day:hover{background:#f8fbfd}.lesson-day-head{z-index:1;border-bottom:1px solid var(--border);color:var(--navy);background:#f5f8fb;justify-content:space-between;align-items:center;padding:14px;display:flex;position:sticky;top:0}.lesson-day-head button{width:28px;height:28px;color:var(--blue);cursor:pointer;background:#fff;border:1px solid #cbdbea;border-radius:8px;place-items:center;font-size:18px;display:grid}.lesson-day-events{align-content:start;gap:9px;padding:10px;display:grid}.lesson-event{border-left:4px solid var(--teal);color:var(--text);background:#e8f5f2;border-radius:9px;gap:4px;padding:11px;text-decoration:none;display:grid;box-shadow:0 2px 7px #102a430f}.lesson-event:hover{background:#dcefeb}.lesson-event time{color:var(--teal);font-size:11px;font-weight:800}.lesson-event strong{color:var(--navy);font-size:13px}.lesson-event span,.lesson-event small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-event span{font-size:12px}.lesson-event small{color:var(--muted)}.lesson-day-empty{border:1px dashed var(--border);min-height:100px;color:var(--muted);text-align:center;border-radius:10px;place-items:center;padding:12px;font-size:11px;display:grid}.button.danger{color:#a33b2b;background:#fff0ed;border-color:#ecc8c2}@media (width<=900px){.lesson-week-grid{grid-template-columns:repeat(6,minmax(210px,1fr))}}@media (width<=600px){.lesson-calendar>header{flex-direction:column;align-items:flex-start}.lesson-week-grid{min-height:390px}.lesson-day{min-width:220px}}.progress-status-list{gap:12px;margin-top:20px;display:grid}.progress-status-list>div{border:1px solid var(--border);background:#f8fafc;border-radius:11px;justify-content:space-between;align-items:center;padding:14px;display:flex}.progress-status-list strong{color:var(--navy);font-size:24px}.dashboard-period{color:var(--blue);margin-left:7px;font-weight:600;display:inline-block}.task-empty{grid-column:1/-1;width:100%}.flash.danger{color:#a33b2b;background:#fff0ed}.meeting-plan-list{gap:10px;display:grid}.meeting-plan-row{border:1px solid var(--border);background:#fff;border-radius:12px;grid-template-columns:minmax(140px,.45fr) minmax(140px,.45fr);gap:11px;padding:13px;display:grid}.meeting-plan-date{border-bottom:1px solid var(--border);grid-column:1/-1;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8px;display:flex}.meeting-plan-date strong{color:var(--navy);text-transform:capitalize;font-size:13px}.meeting-plan-date button{color:#a33b2b;cursor:pointer;background:0 0;border:0;font-size:21px}.meeting-plan-row label{font-size:11px}.meeting-plan-row input,.meeting-plan-row select,.meeting-plan-row textarea{padding:9px 10px}.meeting-target,.meeting-notes{grid-column:1/-1}@media (width<=700px){.meeting-plan-row{grid-template-columns:1fr}.meeting-plan-date,.meeting-target,.meeting-notes{grid-column:auto}}.calendar-legend .source-class-schedule:before{background:#6551a4}.calendar-legend .source-lesson-plan:before{background:#1b817c}.event-chip.source-class-schedule{color:#6551a4;background:#eeeafd;border-left:3px solid #6551a4}.event-chip.source-lesson-plan{color:#1b817c;background:#e8f5f2;border-left:3px solid #1b817c}.teacher-calendar-events{border-top:0;margin-top:0;padding-top:0}.event-chip.meeting-status-done{color:#176b4b;background:#dff1e7;border-left-color:#1b817c;text-decoration:none}.selected-event-actions{flex:none;justify-items:end;gap:7px;display:grid}.meeting-status-form{align-items:center;gap:6px;display:flex}.meeting-status-form select,.meeting-status-form button{border:1px solid var(--border);background:#fff;border-radius:8px;padding:6px 8px;font-size:11px}.meeting-status-form button{background:var(--teal);border-color:var(--teal);color:#fff;cursor:pointer}@media (width<=600px){.selected-event{flex-direction:column;align-items:stretch}.selected-event-actions{justify-items:stretch}.meeting-status-form{grid-template-columns:1fr auto;display:grid}}.student-report-list{gap:16px;display:grid}.student-report-card{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.student-report-card>header{border-bottom:1px solid var(--border);background:#f8fafc;justify-content:space-between;align-items:flex-start;gap:20px;padding:17px 18px;display:flex}.student-report-card h2{margin:0 0 4px;font-size:18px}.student-report-card header p,.student-report-card header time{color:var(--muted);margin:0;font-size:12px}.student-report-assessment{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.student-report-assessment>div{border-right:1px solid var(--border);padding:15px 18px}.student-report-assessment>div:last-child{border-right:0}.student-report-assessment small,.student-report-assessment strong,.student-report-copy small{display:block}.student-report-assessment small,.student-report-copy small{color:var(--muted);margin-bottom:5px}.student-report-copy{padding:16px 18px}.student-report-copy-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.student-report-copy-head small{margin:0}.student-report-copy p{margin:0;line-height:1.55}@media (width<=700px){.student-report-card>header{flex-direction:column}.student-report-assessment{grid-template-columns:1fr}.student-report-assessment>div{border-right:0;border-bottom:1px solid var(--border)}.student-report-assessment>div:last-child{border-bottom:0}}.daily-report-filters{max-width:620px}.daily-report-subject-hint{color:var(--muted);font-weight:400}.delivery-status-notice{background:#fff8e9;border:1px solid #efd8ae;border-radius:11px;gap:4px;padding:13px 15px;display:grid}.delivery-status-notice strong{color:#8a5a10;font-size:13px}.delivery-status-notice span{color:var(--muted);font-size:12px;line-height:1.5}.student-report-filter-panel .panel-head{align-items:center;margin-bottom:0}.student-report-filters{flex-wrap:wrap;align-items:center;width:100%;max-width:none}.student-report-filters select{field-sizing:content;width:auto;min-width:150px;max-width:min(360px,100%)}.student-report-filters input[type=month]{field-sizing:content;width:auto;min-width:185px}@media (width<=700px){.student-report-filter-panel .panel-head{align-items:stretch}.student-report-filters select,.student-report-filters input[type=month],.student-report-filters .button{width:100%;max-width:none}}.calendar-legend .source-attendance-complete:before{background:#1b817c}.attendance-table table{min-width:720px}.attendance-table select,.attendance-table input[type=text]{border:1px solid var(--border);background:#fff;border-radius:9px;width:100%;padding:9px 10px}.attendance-table td:first-child{min-width:220px}.attendance-table td:nth-child(2){width:190px}.flash.warn{color:#8a5a10;background:#fff8e9;border:1px solid #efd8ae}
