:root{--navy-950:#281720;--navy-900:#3c2031;--navy-800:#52263f;--navy-700:#6a3153;--green-700:#7a305e;--green-600:#934574;--green-100:#f0dce8;--green-50:#faf2f7;--coral-700:#b85443;--coral-100:#fde5df;--gold-700:#9a6b10;--gold-100:#fff0bd;--blue-100:#e1effb;--violet-100:#eee7ff;--ink:#392932;--muted:#746570;--line:#e8dde4;--line-strong:#d9c9d3;--surface:#fff;--canvas:#f7f3f5;--shadow-sm:0 1px 2px #2817200d;--shadow-md:0 12px 32px #28172014;--radius-lg:18px;--radius-md:12px;--radius-sm:8px}*{box-sizing:border-box}html{background:var(--canvas);min-width:320px;color:var(--ink);scroll-behavior:smooth}body{background:radial-gradient(circle at 92% 0%, #7a305e12, transparent 24rem), var(--canvas);min-height:100vh;color:var(--ink);font-family:var(--font-geist-sans), Arial, Helvetica, sans-serif;-webkit-font-smoothing:antialiased;margin:0}button,input,select{font:inherit}button,select,input[type=checkbox]{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #7a305e3d}button:disabled,input:disabled{cursor:not-allowed;opacity:.48}h1,h2,h3,p{margin-top:0}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.auth-shell{background:#fbf8fa;grid-template-columns:minmax(360px,.92fr) minmax(480px,1.08fr);min-height:100vh;display:grid}.auth-brand-panel{color:#fff;background:radial-gradient(circle at 14% 88%, #9f4d7f42, transparent 19rem), linear-gradient(150deg, #7a305e3d, transparent 46%), var(--navy-950);flex-direction:column;justify-content:space-between;min-height:100vh;padding:clamp(34px,5vw,68px);display:flex;position:relative;overflow:hidden}.auth-brand-panel:before,.auth-brand-panel:after{content:"";border:1px solid #d7a9c61f;border-radius:50%;position:absolute}.auth-brand-panel:before{width:42rem;height:42rem;top:-17rem;right:-19rem}.auth-brand-panel:after{width:25rem;height:25rem;bottom:-10rem;right:-7rem}.auth-brand-lockup{z-index:1;background:#fffffff5;border:1px solid #ffffff2e;border-radius:16px;width:min(100%,390px);padding:13px 16px;position:relative;box-shadow:0 14px 36px #180a132e}.official-brand-logo{object-fit:contain;width:100%;height:auto;display:block}.official-brand-city{object-fit:contain;max-width:100%;height:auto;display:block}.auth-brand-lockup,.auth-mobile-brand{grid-template-columns:minmax(0,1fr);place-items:center;display:grid}.auth-brand-lockup .official-brand-city{width:min(100%,330px)}.auth-brand-copy{z-index:1;max-width:540px;margin:auto 0;padding:70px 0;position:relative}.auth-private-chip{color:#f0cfe3;background:#7a305e38;border:1px solid #c984af42;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:10px;font-weight:750;display:inline-flex}.auth-private-chip i{background:#d693bd;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 5px #d493bc24}.auth-brand-copy h1{letter-spacing:-.055em;max-width:520px;margin:24px 0 18px;font-size:clamp(36px,4.3vw,58px);font-weight:760;line-height:1.04}.auth-brand-copy p{color:#d9c7d2;max-width:470px;margin:0;font-size:14px;line-height:1.7}.auth-security-note{z-index:1;color:#cbb6c3;align-items:flex-start;gap:10px;max-width:470px;display:flex;position:relative}.auth-security-note>span{color:#e4b0d0;background:#ba679b29;border-radius:50%;flex:0 0 22px;place-items:center;width:22px;height:22px;font-size:10px;font-weight:850;display:grid}.auth-security-note p{margin:1px 0 0;font-size:10px;line-height:1.6}.auth-form-panel{background:radial-gradient(circle at 100% 0,#7a305e17,#0000 22rem),#fbf8fa;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:clamp(30px,6vw,82px);display:flex}.auth-mobile-brand{border:1px solid var(--line);width:min(100%,500px);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:14px;padding:10px 14px;display:none}.auth-mobile-brand .official-brand-logo{width:min(100%,310px)}.auth-mobile-brand .official-brand-city{width:min(100%,270px)}.auth-card{background:#fffffffa;border:1px solid #d9c9d3eb;border-radius:22px;width:min(100%,500px);padding:clamp(28px,4vw,44px);box-shadow:0 24px 70px #2817201a}.auth-card-heading{margin-bottom:28px}.auth-card-heading h2{color:var(--navy-950);letter-spacing:-.045em;margin:0;font-size:clamp(26px,3vw,34px)}.auth-card-heading p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.65}.auth-form{gap:17px;display:grid}.auth-form-compact{gap:14px}.auth-form label>span,.password-reset-panel label>span{color:var(--navy-900);margin-bottom:7px;font-size:10px;font-weight:760;display:block}.auth-form input,.password-reset-panel input{border:1px solid var(--line-strong);width:100%;height:48px;color:var(--navy-950);background:#fff;border-radius:11px;padding:0 14px;font-size:12px;transition:border-color .16s,box-shadow .16s}.auth-form input::placeholder,.password-reset-panel input::placeholder{color:#9aabb2}.auth-form input:focus,.password-reset-panel input:focus{border-color:var(--green-600);outline:0;box-shadow:0 0 0 4px #7a305e1a}.auth-form label>small{color:#758790;margin-top:6px;font-size:9px;line-height:1.5;display:block}.auth-submit-button{width:100%;min-height:48px;margin-top:3px}.auth-error-message,.auth-success-message,.auth-info-message{border-radius:11px;align-items:flex-start;gap:10px;padding:12px 13px;display:flex}.auth-error-message{color:#8f352c;background:#fff6f4;border:1px solid #f0c7c0}.auth-success-message{color:#6b2b51;background:var(--green-50);border:1px solid #e7ccdc;margin-bottom:17px}.auth-info-message{color:var(--navy-700);background:#f2f8fb;border:1px solid #cadfe9;margin-bottom:18px}.auth-error-message>span,.auth-success-message>span,.auth-info-message>span{color:#fff;border-radius:50%;flex:0 0 20px;place-items:center;width:20px;height:20px;font-size:10px;font-weight:850;display:grid}.auth-error-message>span{background:var(--coral-700)}.auth-success-message>span{background:var(--green-600)}.auth-info-message>span{background:var(--navy-700)}.auth-error-message p,.auth-success-message p,.auth-info-message p{margin:1px 0 0;font-size:10px;line-height:1.55}.inline-session-error{margin-bottom:18px}.auth-help{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:22px 0 0;padding-top:18px;font-size:9px;line-height:1.6}.auth-switch-account{color:var(--navy-700);background:0 0;border:0;justify-self:center;font-size:10px;font-weight:750}.auth-switch-account:hover{color:var(--green-700);text-decoration:underline}.auth-loading-state{border:1px solid var(--line);background:#fcf8fa;border-radius:13px;align-items:center;gap:14px;padding:18px;display:flex}.auth-loading-state strong,.auth-loading-state span{display:block}.auth-loading-state strong{color:var(--navy-900);font-size:11px}.auth-loading-state div>span{color:var(--muted);margin-top:4px;font-size:9px}.auth-loading-spinner{border:3px solid #ebdfe6;border-top-color:var(--green-600);border-radius:50%;flex:0 0 27px;width:27px;height:27px;animation:.8s linear infinite auth-spin}.auth-footer{color:#7b8c94;text-align:center;margin-top:20px;font-size:9px}@keyframes auth-spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.sidebar{z-index:20;color:#fff;background:linear-gradient(155deg, #7a305e33, transparent 38%), var(--navy-950);flex-direction:column;width:256px;min-height:100vh;padding:26px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto;box-shadow:10px 0 36px #28172024}.brand{background:#fffffff5;border:1px solid #fff3;border-radius:14px;grid-template-columns:minmax(0,1fr);place-items:center;width:100%;padding:10px 12px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff40,0 12px 30px #180a1329}.brand:after{content:"";background:linear-gradient(90deg,#109449 0 20%,#1683c5 20% 40%,#f36b15 40% 60%,#e72f86 60% 80%,#fdbd17 80%);border-radius:999px;height:3px;position:absolute;bottom:5px;left:12px;right:12px}.prototype-chip{color:#e7bdd6;background:#7a305e2e;border:1px solid #e5b8d42b;border-radius:999px;align-items:center;gap:8px;width:fit-content;margin:24px 8px 20px;padding:7px 10px;font-size:11px;font-weight:700;display:flex}.pulse-dot{background:#d697be;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #d697be24}.side-nav{gap:6px;display:grid}.nav-item{color:#d7c5d0;text-align:left;background:0 0;border:1px solid #0000;border-radius:11px;grid-template-columns:24px 1fr auto;align-items:center;gap:9px;width:100%;min-height:46px;padding:0 12px;transition:color .16s,background .16s,transform .16s;display:grid}.nav-item:hover{color:#fff;background:#ffffff12;transform:translate(2px)}.nav-item.active{color:#fff;background:#7a305e4d;border-color:#d29ebf24}.nav-item small{color:#f0d4e4;background:#7a305e85;border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:10px;font-weight:800;display:grid}.nav-symbol{opacity:.9;border:1.5px solid;border-radius:5px;width:18px;height:18px;display:block;position:relative}.nav-symbol:after{content:"";position:absolute}.nav-overview:after{border:1px solid;border-width:1px 0;inset:4px}.nav-print:after{background:var(--navy-950);border:1.5px solid;border-radius:2px;height:7px;bottom:-4px;left:3px;right:3px}.nav-cover:after{border:1px solid;border-width:1px 0;inset:4px 3px;box-shadow:0 3px 0 -2px}.nav-schools:after{background:linear-gradient(90deg,#0000 45%,currentColor 46% 54%,#0000 55%);border:1.5px solid;border-radius:1px;height:7px;bottom:2px;left:2px;right:2px}.nav-batches:after{border:1.5px solid;border-radius:4px;inset:3px -4px -4px 3px}.nav-calendar:after{border-top:1px solid;height:6px;bottom:3px;left:2px;right:2px}.nav-users{border-radius:50%}.nav-users:after{background:var(--navy-950);border:1.5px solid;border-radius:8px 8px 4px 4px;height:6px;bottom:-2px;left:-4px;right:-4px}.nav-teachers{border-radius:50%}.nav-teachers:after{background:var(--navy-950);border:1.5px solid;border-radius:8px 8px 4px 4px;height:6px;bottom:-2px;left:-4px;right:-4px}.school-card{border-top:1px solid #ffffff1a;grid-template-columns:36px 1fr auto;align-items:center;gap:10px;margin-top:auto;padding:14px 10px 2px;display:grid}.school-avatar,.user-avatar,.large-avatar,.teacher-name>span{border-radius:10px;place-items:center;font-weight:800;display:grid}.school-avatar{color:#f0d4e4;background:#7a305e4d;width:36px;height:36px;font-size:11px}.school-card strong,.school-card span{display:block}.school-card strong{color:#f6fbfa;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.school-card span{color:#b7a2af;margin-top:3px;font-size:10px}.school-card button{color:#baa7b3;background:0 0;border:0;font-size:20px}.main-content{min-height:100vh;margin-left:256px}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffb8;border-bottom:1px solid #d9c9d3bf;justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:20px clamp(24px,4vw,52px);display:flex}.eyebrow{color:var(--green-700);letter-spacing:.11em;text-transform:uppercase;margin-bottom:5px;font-size:10px;font-weight:850;display:block}.topbar h1{color:var(--navy-950);letter-spacing:-.04em;margin:0;font-size:clamp(24px,2.5vw,34px);font-weight:760}.header-actions,.user-block{align-items:center;display:flex}.header-actions{gap:18px}.icon-button{border:1px solid var(--line);width:40px;height:40px;color:var(--green-600);background:#fff;border-radius:12px;position:relative}.icon-button:before{border:1.5px solid var(--navy-700);content:"";border-radius:8px 8px 5px 5px;width:13px;height:15px;position:absolute;top:10px;left:12px}.icon-button span{color:#e36c54;font-size:8px;position:absolute;top:6px;right:7px}.user-block{gap:10px}.user-avatar{width:40px;height:40px;color:var(--navy-800);background:#efe2ea;font-size:12px}.user-block strong,.user-block span{display:block}.user-block strong{color:var(--navy-950);font-size:12px}.user-block span{color:var(--muted);margin-top:2px;font-size:10px}.change-password-button,.logout-button{color:#8f352c;letter-spacing:.04em;text-transform:uppercase;background:#fff;border:1px solid #e3c7c3;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 14px;font-size:11px;font-weight:800;text-decoration:none;transition:border-color .16s,background .16s,transform .16s;display:inline-flex}.change-password-button{border-color:var(--line-strong);color:var(--navy-800)}.change-password-button:hover{background:var(--green-50);border-color:#b97b9f;transform:translateY(-1px)}.logout-button:hover{background:#fff5f3;border-color:#d6978e;transform:translateY(-1px)}.logout-button:focus-visible{outline-offset:2px;outline:3px solid #8f352c33}.logout-button:disabled{transform:none}.logout-icon{font-size:16px;line-height:1;transform:rotate(180deg)}.demo-banner{color:#74520f;background:#fff8dc;border-bottom:1px solid #e8d7a5;align-items:center;gap:8px;min-height:38px;padding:8px clamp(24px,4vw,52px);font-size:11px;display:flex}.content-area{width:100%;max-width:1480px;margin:0 auto;padding:30px clamp(24px,4vw,52px) 54px}.page-stack{gap:22px;display:grid}.panel,.metric-card,.welcome-panel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);background:#fffffff5;border:1px solid #d9c9d3e6}.panel{padding:24px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.panel-heading h2,.welcome-panel h2{color:var(--navy-950);letter-spacing:-.025em;margin:0;font-size:20px}.panel-description{max-width:560px;color:var(--muted);margin:7px 0 0;font-size:10px;line-height:1.5}.source-tag,.verified-tag{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:10px;font-weight:750;display:inline-flex}.source-tag{color:var(--navy-700);background:#e9f1f5}.verified-tag{color:var(--green-700);background:var(--green-100)}.primary-button,.secondary-button{border-radius:11px;justify-content:center;align-items:center;gap:16px;min-height:42px;padding:0 17px;font-size:12px;font-weight:760;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.primary-button{border:1px solid var(--green-700);color:#fff;background:var(--green-700);box-shadow:0 7px 16px #62264b33}.primary-button:not(:disabled):hover{background:#61254b;transform:translateY(-1px);box-shadow:0 9px 20px #62264b47}.secondary-button{border:1px solid var(--line-strong);color:var(--navy-800);background:#fff}.secondary-button:hover{background:#fbf7f9;transform:translateY(-1px)}.welcome-panel{background:radial-gradient(circle at 89% 40%,#b8689a40,#0000 13rem),linear-gradient(125deg,#fff 58%,#faf1f6);justify-content:space-between;align-items:center;gap:24px;min-height:156px;padding:30px;display:flex;position:relative;overflow:hidden}.welcome-panel:after{content:"";border:28px solid #7a305e14;border-radius:50%;width:210px;height:210px;position:absolute;bottom:-90px;right:-50px}.welcome-panel p{max-width:620px;color:var(--muted);margin:10px 0 0;font-size:13px;line-height:1.6}.welcome-panel .primary-button{z-index:1;flex:none;position:relative}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric-card{padding:22px;position:relative;overflow:hidden}.metric-card:before{background:var(--green-600);content:"";width:4px;position:absolute;inset:0 auto 0 0}.metric-card:nth-child(2):before{background:#d99d25}.metric-card:nth-child(3):before{background:var(--navy-700)}.metric-card:nth-child(4):before{background:#4d87b7}.metric-card>span,.metric-card>strong,.metric-card>small{display:block}.metric-label{color:var(--muted);font-size:11px;font-weight:700}.metric-card>strong{color:var(--navy-950);letter-spacing:-.05em;margin:8px 0 4px;font-size:30px}.metric-card>small{color:#71848e;font-size:10px}.two-column-layout{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:18px;display:grid}.activity-list{gap:5px;margin:0;padding:0;list-style:none;display:grid}.activity-list li{border-bottom:1px solid var(--line);grid-template-columns:10px 1fr;gap:12px;padding:12px 4px;display:grid}.activity-list li:last-child{border-bottom:0}.activity-dot{background:var(--green-600);width:8px;height:8px;box-shadow:0 0 0 4px var(--green-100);border-radius:50%;margin-top:4px}.activity-dot.blue{box-shadow:0 0 0 4px var(--blue-100);background:#4d87b7}.activity-dot.amber{box-shadow:0 0 0 4px var(--gold-100);background:#c68d23}.activity-list strong,.activity-list span{display:block}.activity-list strong{color:var(--navy-950);font-size:11px}.activity-list span{color:var(--muted);margin-top:4px;font-size:9px}.dashboard-empty-state{border:1px dashed var(--line);text-align:center;border-radius:16px;place-content:center;min-height:214px;padding:28px;display:grid}.dashboard-empty-state strong,.dashboard-empty-state span{display:block}.dashboard-empty-state strong{color:var(--navy-900);font-size:14px}.dashboard-empty-state span{max-width:300px;color:var(--muted);margin-top:6px;font-size:11px;line-height:1.6}.stepper{border:1px solid var(--line);border-radius:var(--radius-lg);background:#fff;grid-template-columns:repeat(4,1fr);align-items:center;min-height:72px;padding:12px 28px;display:grid}.step{color:#93a2a9;align-items:center;gap:10px;display:flex;position:relative}.step:not(:last-child):after{background:var(--line);content:"";width:calc(100% - 114px);height:1px;position:absolute;top:50%;right:12px}.step>span{border:1px solid var(--line-strong);background:#fff;border-radius:50%;flex:0 0 28px;place-items:center;width:28px;height:28px;font-size:10px;font-weight:800;display:grid}.step strong{font-size:11px}.step.complete,.step.current{color:var(--green-700)}.step.complete>span{border-color:var(--green-600);color:#fff;background:var(--green-600)}.step.complete:after{background:#d5a3c1}.step.current>span{border:2px solid var(--green-600);box-shadow:0 0 0 4px var(--green-100)}.period-fields{grid-template-columns:1.2fr 1fr 1.2fr .8fr;align-items:stretch;gap:14px;display:grid}.period-fields label>span{color:var(--muted);margin-bottom:7px;font-size:10px;font-weight:700;display:block}.period-fields select,.date-range,.compact-select select{border:1px solid var(--line-strong);width:100%;height:43px;color:var(--navy-900);background:#fff;border-radius:10px}.period-fields select{padding:0 34px 0 12px}.date-range{align-items:center;padding:0 12px;font-size:11px;font-weight:650;display:flex}.period-summary{color:var(--green-700);background:var(--green-50);border:1px solid #ead4e1;border-radius:11px;grid-template-columns:auto 1fr;align-content:center;column-gap:7px;padding:10px 14px;display:grid}.period-summary strong{letter-spacing:-.04em;grid-row:1/3;align-self:center;font-size:28px}.period-summary span{align-self:end;font-size:10px;font-weight:750}.period-summary small{color:#806174;font-size:8px}.period-note{color:#4d6e7f;background:#f4f9fb;border:1px solid #d6e6ee;border-radius:10px;align-items:center;gap:10px;margin-top:16px;padding:11px 14px;font-size:10px;line-height:1.5;display:flex}.period-note>span{color:#fff;background:var(--navy-700);border-radius:50%;flex:0 0 19px;place-items:center;width:19px;height:19px;font-size:10px;font-weight:800;display:grid}.selection-count{color:var(--muted);font-size:10px}.selection-count strong{color:var(--navy-950);font-size:18px}.table-toolbar{justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.search-box{border:1px solid var(--line-strong);color:#82939b;background:#fff;border-radius:10px;align-items:center;gap:9px;width:min(360px,48%);height:42px;padding:0 12px;display:flex}.search-box:focus-within{border-color:var(--green-600);box-shadow:0 0 0 3px #7a305e1a}.search-box input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.search-box input::placeholder{color:#9aa8ae}.filter-tabs{border:1px solid var(--line);background:#faf5f8;border-radius:10px;padding:3px;display:flex}.filter-tabs button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:10px;font-weight:700}.filter-tabs button.active{color:var(--navy-900);box-shadow:var(--shadow-sm);background:#fff}.table-scroll{border:1px solid var(--line);border-radius:12px;overflow-x:auto}.data-table{border-collapse:collapse;text-align:left;width:100%;min-width:800px}.data-table th,.data-table td{border-bottom:1px solid var(--line);white-space:nowrap;padding:13px 12px;font-size:10px}.data-table th{color:#71828a;letter-spacing:.035em;text-transform:uppercase;background:#f7f9f8;font-size:9px;font-weight:800}.data-table tbody tr:last-child td{border-bottom:0}.data-table tbody tr{transition:background .14s}.data-table tbody tr:hover{background:#fafcfb}.data-table .row-pending{background:snow}.checkbox-cell{text-align:center;width:38px}input[type=checkbox]{width:15px;height:15px;accent-color:var(--green-700)}.teacher-name{align-items:center;gap:9px;display:flex}.teacher-name>span{width:29px;height:29px;color:var(--navy-800);background:#e4efec;font-size:8px}.teacher-name strong{color:var(--navy-950);font-size:10px}.status-pill{border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;font-weight:800;display:inline-flex}.status-pill>span{color:#fff;border-radius:50%;place-items:center;width:12px;height:12px;font-size:7px;display:grid}.status-ready{color:var(--green-700);background:var(--green-100)}.status-ready>span{background:var(--green-600)}.status-active{color:#167247;background:#dff3e8}.status-active>span{background:#1f9d67}.status-pending{color:var(--coral-700);background:var(--coral-100)}.status-pending>span{background:#d66c57}.status-info{color:#346b96;background:var(--blue-100)}.status-info>span{background:#4d87b7}.issue-text{color:#98665c;margin-top:4px;font-size:8px;display:block}.panel-footer{justify-content:space-between;align-items:center;gap:20px;padding-top:18px;display:flex}.panel-footer p{color:var(--muted);margin:0;font-size:10px}.panel-footer p strong{color:var(--coral-700)}.conference-panel{scroll-margin-top:24px}.conference-summary-grid{grid-template-columns:1.35fr 1fr 1fr .75fr;gap:12px;margin-bottom:18px;display:grid}.conference-summary-grid article{border:1px solid var(--line);background:#fcf8fa;border-radius:12px;min-height:92px;padding:16px}.conference-summary-grid span,.conference-summary-grid strong,.conference-summary-grid small{display:block}.conference-summary-grid span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:9px;font-weight:750}.conference-summary-grid strong{color:var(--navy-900);margin-top:8px;font-size:12px;line-height:1.4}.conference-summary-grid small{color:#71848e;margin-top:4px;font-size:9px}.conference-footer{justify-content:space-between}.conference-actions{gap:10px;display:flex}.generation-notice{margin-top:18px}.pdf-success-state{color:var(--green-700);background:var(--green-50);border:1px solid #b9decf;border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;display:flex}.pdf-success-state>span{color:#fff;background:var(--green-600);border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-size:11px;font-weight:800;display:grid}.pdf-success-state strong,.pdf-success-state small{display:block}.pdf-success-state strong{font-size:11px}.pdf-success-state small{color:#806174;margin-top:3px;font-size:9px}.user-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.user-summary-grid article{border:1px solid var(--line);background:#fcf8fa;border-radius:12px;padding:17px}.user-summary-grid span,.user-summary-grid strong,.user-summary-grid small{display:block}.user-summary-grid span{color:var(--muted);text-transform:uppercase;font-size:9px;font-weight:750}.user-summary-grid strong{color:var(--navy-950);margin:7px 0 4px;font-size:25px}.user-summary-grid small{color:#71848e;font-size:9px}.user-create-form{grid-template-columns:1fr 1.15fr 1fr .65fr 1.25fr auto;align-items:end;gap:12px;display:grid}.user-create-form label>span{color:var(--muted);margin-bottom:7px;font-size:9px;font-weight:750;display:block}.user-create-form input,.user-create-form select{border:1px solid var(--line-strong);width:100%;height:43px;color:var(--navy-900);background:#fff;border-radius:10px;padding:0 12px;font-size:10px}.user-create-form .primary-button{white-space:nowrap}.managed-user strong,.managed-user small{display:block}.managed-user strong{color:var(--navy-900);font-size:10px}.managed-user small{color:var(--muted);margin-top:3px;font-size:8px}.row-user-action{color:var(--green-700);background:0 0;border:0;font-size:9px;font-weight:800}.row-user-actions{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.row-user-status-action{color:var(--navy-700)}.password-reset-panel{background:linear-gradient(115deg,#f0dce8b3,#0000 65%),#fcf8fa;border:1px solid #e4c9d9;border-radius:14px;grid-template-columns:minmax(220px,1fr) minmax(220px,.85fr) auto;align-items:end;gap:18px;margin-bottom:20px;padding:18px;display:grid}.password-reset-copy strong,.password-reset-copy small{display:block}.password-reset-copy strong{color:var(--navy-950);font-size:11px}.password-reset-copy small{max-width:440px;color:var(--muted);margin-top:5px;font-size:9px;line-height:1.5}.password-reset-actions{gap:8px;display:flex}.locked-user-label{color:var(--muted);font-size:8px;font-weight:750}.calendar-mini{width:100%}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.calendar-weekdays{margin-bottom:7px}.calendar-weekdays span{color:#86969d;text-align:center;padding:0 5px;font-size:9px;font-weight:800}.calendar-day{border:1px solid var(--line);min-width:0;min-height:49px;color:var(--navy-900);text-align:left;background:#fff;border-radius:9px;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:7px;display:flex;position:relative}.calendar-day:hover{border-color:var(--navy-700);transform:translateY(-1px)}.calendar-day.empty{pointer-events:none;background:0 0;border-color:#0000}.calendar-day>span{font-size:10px;font-weight:800}.calendar-day small{width:100%;color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:6px;font-weight:750;overflow:hidden}.calendar-day.school{background:var(--green-50);border-color:#d8b2ca}.calendar-day.start{border-color:var(--navy-800);color:#fff;background:var(--navy-800)}.calendar-day.recess,.calendar-day.holiday{color:#a44f40;background:var(--coral-100);border-color:#f0bdb2}.calendar-day.no-service{color:#9a3768;background:#fbe0ed;border-color:#edb2cf}.calendar-day.pedagogic{color:#80600c;background:var(--gold-100);border-color:#e8ce6b}.calendar-day.meeting{color:#346b96;background:var(--blue-100);border-color:#a8cce8}.calendar-day.decree{color:#654f98;background:var(--violet-100);border-color:#c9b8ed}.calendar-day.assessment{color:#53636a;background:#e5e9ea;border-color:#c8ced1}.calendar-day.council{color:#477323;background:#e0f2c8;border-color:#a6cf72}.calendar-day.festival{color:#961160;background:#f8d4eb;border-color:#e68bc4}.calendar-day.civic{color:#316824;background:#d9eecf;border-color:#84b872}.calendar-day.graduation{color:#69378f;background:#eadcf7;border-color:#b89bd3}.calendar-day.documentation{color:#805718;background:#fae8c8;border-color:#e2bd78}.calendar-day.weekend{color:#9aa6ab;background:#f1f4f3}.calendar-layout{grid-template-columns:minmax(0,1fr) 260px;gap:24px;display:grid}.calendar-summary{color:#fff;background:radial-gradient(circle at 120% 0%, #d38bb852, transparent 15rem), var(--navy-900);border-radius:15px;padding:22px}.calendar-summary>strong,.calendar-summary>span,.calendar-summary>small{display:block}.calendar-summary>.eyebrow{color:#e1b2cf}.calendar-summary>strong{letter-spacing:-.06em;margin-top:18px;font-size:48px}.calendar-summary>span:not(.eyebrow){color:#d4c1cc;margin-top:-5px;font-size:10px}.calendar-summary>small{color:#b39fac;margin-top:7px;font-size:8px}.calendar-heading-actions{align-items:center;gap:10px;display:flex}.month-navigation{border:1px solid var(--line-strong);background:#fff;border-radius:10px;height:43px;display:flex;overflow:hidden}.month-navigation button{width:42px;color:var(--navy-800);background:#f7faf9;border:0;font-size:14px;font-weight:800}.month-navigation button:first-child{border-right:1px solid var(--line)}.month-navigation button:last-child{border-left:1px solid var(--line)}.month-navigation select{min-width:174px;color:var(--navy-900);background:#fff;border:0;padding:0 30px 0 12px;font-size:10px;font-weight:700}.bimester-list{gap:0;margin-top:22px;display:grid}.bimester-list>div{color:#d4c1cc;border-top:1px solid #ffffff1c;justify-content:space-between;align-items:center;padding:9px 0;font-size:9px;display:flex}.bimester-list strong{color:#fff;font-size:9px}.calendar-legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:18px;font-size:9px;display:flex}.calendar-legend span{align-items:center;gap:5px;display:inline-flex}.calendar-legend i{border:1px solid var(--line);background:#fff;border-radius:3px;width:9px;height:9px}.calendar-legend i.school{background:var(--green-100);border-color:#ba7fa3}.calendar-legend i.weekend{background:#f1f4f3;border-color:#d5dcda}.calendar-legend i.start{border-color:var(--navy-800);background:var(--navy-800)}.calendar-legend i.recess{background:var(--coral-100);border-color:#e69888}.calendar-legend i.no-service{background:#fbe0ed;border-color:#d98db4}.calendar-legend i.pedagogic{background:var(--gold-100);border-color:#d8b64e}.calendar-legend i.meeting{background:var(--blue-100);border-color:#83b7de}.calendar-legend i.decree{background:var(--violet-100);border-color:#af98dc}.calendar-legend i.assessment{background:#e5e9ea;border-color:#abb5b9}.calendar-legend i.council{background:#e0f2c8;border-color:#89b754}.calendar-legend i.festival{background:#f8d4eb;border-color:#d568ab}.calendar-legend i.civic{background:#d9eecf;border-color:#6da55a}.calendar-legend i.graduation{background:#eadcf7;border-color:#9d7aba}.calendar-legend i.documentation{background:#fae8c8;border-color:#cca45c}.compact-select select{min-width:160px;padding:0 12px}.mode-comparison{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.mode-comparison article{border:1px solid var(--line);background:#fafcfb;border-radius:13px;padding:20px;transition:border-color .16s,transform .16s,box-shadow .16s}.mode-comparison article.selected{background:var(--green-50);border-color:#c58bae;box-shadow:0 0 0 3px #7a305e14}.mode-comparison article:hover{transform:translateY(-2px)}.mode-comparison article>span{color:var(--green-700);background:var(--green-100);border-radius:6px;padding:5px 7px;font-size:9px;font-weight:850;display:inline-flex}.mode-comparison h3{color:var(--navy-950);margin:14px 0 6px;font-size:14px}.mode-comparison article>strong{color:var(--navy-800);font-size:20px}.mode-comparison p{color:var(--muted);margin:7px 0 16px;font-size:9px}.mode-comparison button{color:var(--green-700);background:0 0;border:0;padding:0;font-size:9px;font-weight:800}.batches-table td:first-child strong{color:var(--navy-800)}.batch-status{color:var(--navy-700);background:#e7f0f4;border-radius:999px;padding:6px 9px;font-size:8px;font-weight:800;display:inline-flex}.batch-status.gerado{color:var(--green-700);background:var(--green-100)}.batch-status.arquivado{color:#6d7579;background:#edf0ef}.row-action{border:1px solid var(--line);width:30px;height:30px;color:var(--navy-700);background:#fff;border-radius:8px}.teacher-heading-actions{flex-direction:column;align-items:flex-end;gap:9px;display:flex}.live-source-tag{color:var(--green-700);background:var(--green-100)}.api-connection-panel{background:radial-gradient(circle at 0 0,#7a305e17,#0000 15rem),#fdf8fb;border:1px solid #ead4e1;border-radius:13px;grid-template-columns:minmax(210px,.7fr) minmax(320px,1.3fr) auto;align-items:end;gap:14px;margin-bottom:12px;padding:16px;display:grid}.api-connection-status{align-items:center;gap:10px;min-height:42px;display:flex}.api-status-dot{background:#9ca9ae;border-radius:50%;flex:0 0 10px;width:10px;height:10px;box-shadow:0 0 0 5px #9ca9ae1f}.api-ready .api-status-dot{background:var(--green-600);box-shadow:0 0 0 5px #7a305e21}.api-error .api-status-dot{background:#d66c57;box-shadow:0 0 0 5px #d66c571f}.api-loading .api-status-dot{background:#d49b2d;animation:1.2s ease-in-out infinite api-pulse;box-shadow:0 0 0 5px #d49b2d1f}@keyframes api-pulse{50%{opacity:.45;transform:scale(.78)}}.api-connection-status strong,.api-connection-status small{display:block}.api-connection-status strong{color:var(--navy-950);font-size:10px}.api-connection-status small{color:var(--muted);margin-top:3px;font-size:8px}.api-unit-select>span{color:var(--muted);margin-bottom:6px;font-size:8px;font-weight:760;display:block}.api-unit-select select{border:1px solid var(--line-strong);width:100%;height:42px;color:var(--navy-900);background:#fff;border-radius:10px;padding:0 34px 0 11px;font-size:9px}.api-refresh-button{min-width:128px}.api-data-notice{color:#74520f;background:#fff9e7;border:1px solid #e8d7a5;border-radius:10px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:10px 12px;display:flex}.api-data-notice>span{color:#fff;background:#b88625;border-radius:50%;flex:0 0 18px;place-items:center;width:18px;height:18px;font-size:9px;font-weight:800;display:grid}.api-data-notice p{margin:0;font-size:9px;line-height:1.5}.api-error-state,.api-loading-state{border:1px solid var(--line);background:#fafcfb;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;min-height:86px;margin:14px 0;padding:16px;display:flex}.api-error-state{background:#fff9f8;border-color:#efc9c1}.api-loading-state{justify-content:flex-start}.api-error-state strong,.api-error-state span,.api-loading-state strong,.api-loading-state span{display:block}.api-error-state strong,.api-loading-state strong{color:var(--navy-950);font-size:10px}.api-error-state span,.api-loading-state span{color:var(--muted);margin-top:4px;font-size:8px}.api-loading-spinner{border:3px solid #ecd8e4;border-top-color:var(--green-600);border-radius:50%;flex:0 0 24px;width:24px;height:24px;animation:.8s linear infinite api-spin}@keyframes api-spin{to{transform:rotate(360deg)}}.unit-selection-state{min-height:190px;color:var(--muted);text-align:center;background:#fefafc;border:1px dashed #dfc2d4;border-radius:14px;place-content:center;justify-items:center;margin-top:14px;display:grid}.unit-selection-state>span{width:50px;height:50px;color:var(--green-700);background:var(--green-100);border-radius:15px;place-items:center;margin-bottom:12px;font-size:13px;font-weight:850;display:grid}.unit-selection-state strong{color:var(--navy-950);font-size:12px}.unit-selection-state p{max-width:390px;margin:6px 0 0;font-size:9px;line-height:1.5}.view-toggle{border:1px solid var(--line);background:#faf5f8;border-radius:10px;padding:3px;display:flex}.view-toggle button{min-height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;padding:0 12px;font-size:9px;font-weight:750}.view-toggle button.active{color:var(--navy-900);box-shadow:var(--shadow-sm);background:#fff}.teacher-toolbar{margin-bottom:8px}.smart-filter-trigger{border:1px solid var(--line-strong);min-height:42px;color:var(--navy-800);background:#fff;border-radius:10px;align-items:center;gap:9px;padding:0 11px 0 13px;font-size:10px;font-weight:780;transition:border-color .15s,background .15s,box-shadow .15s;display:inline-flex}.smart-filter-trigger:hover,.smart-filter-trigger.active{color:var(--green-700);background:var(--green-50);border-color:#c58bae}.smart-filter-trigger.active{box-shadow:0 0 0 3px #7a305e12}.smart-filter-trigger>strong{color:#fff;background:var(--green-700);border-radius:999px;place-items:center;min-width:20px;height:20px;font-size:8px;display:grid}.smart-filter-icon{border-top:1.5px solid;border-bottom:1.5px solid;width:15px;height:12px;display:block;position:relative}.smart-filter-icon:before{content:"";border-top:1.5px solid;width:9px;position:absolute;top:4px;left:3px}.smart-filter-icon:after{content:"";background:#fff;border:1.5px solid;border-radius:50%;width:3px;height:3px;position:absolute;top:-3px;left:3px;box-shadow:5px 5px 0 -1px #fff,5px 5px,-1px 10px 0 -1px #fff,-1px 10px}.filter-chevron{background:#62264b17;border-radius:6px;place-items:center;width:20px;height:20px;margin-left:1px;font-size:13px;font-weight:500;display:grid}.smart-filter-panel{background:radial-gradient(circle at 100% 0,#7a305e17,#0000 18rem),#fdf8fb;border:1px solid #ead4e1;border-radius:14px;margin:12px 0 14px;padding:18px;box-shadow:inset 0 1px #fffc}.smart-filter-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.smart-filter-heading h3{color:var(--navy-950);letter-spacing:-.015em;margin:0;font-size:13px}.clear-filter-button,.clear-filter-link{color:var(--green-700);background:0 0;border:0;font-size:9px;font-weight:800}.clear-filter-button{padding:6px 0}.filter-presets{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.filter-presets button{min-height:59px;color:var(--navy-800);text-align:left;background:#ffffffd6;border:1px solid #d6e5df;border-radius:10px;align-content:center;gap:4px;padding:9px 11px;transition:border-color .15s,transform .15s,background .15s;display:grid}.filter-presets button:hover{border-color:#87c8b0;transform:translateY(-1px)}.filter-presets button.active{border-color:var(--green-600);color:var(--green-700);background:var(--green-100);box-shadow:0 0 0 2px #7a305e14}.filter-presets button span{font-size:9px;font-weight:800}.filter-presets button small{color:var(--muted);font-size:7px;line-height:1.35}.smart-filter-grid{border-top:1px solid #dce9e4;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:15px;padding-top:15px;display:grid}.smart-filter-grid label>span{color:var(--muted);margin:0 0 6px;font-size:8px;font-weight:760;display:block}.smart-filter-grid select{border:1px solid var(--line-strong);width:100%;height:38px;color:var(--navy-900);background:#fff;border-radius:9px;padding:0 28px 0 10px;font-size:9px}.active-filter-row{background:#f7faf9;border:1px solid #dce8e4;border-radius:11px;flex-wrap:wrap;align-items:center;gap:7px;margin:12px 0;padding:10px 12px;display:flex}.active-filter-row>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-right:2px;font-size:8px;font-weight:800}.active-filter-row>button:not(.clear-filter-link){min-height:29px;color:var(--green-700);background:var(--green-50);border:1px solid #b9ddcf;border-radius:999px;align-items:center;gap:5px;padding:0 7px 0 9px;font-size:8px;font-weight:750;display:inline-flex}.active-filter-row>button small{color:#668178;font-size:7px;font-weight:650}.active-filter-row>button strong{color:#fff;background:var(--green-600);border-radius:50%;place-items:center;width:15px;height:15px;font-size:10px;line-height:1;display:grid}.active-filter-row .clear-filter-link{margin-left:auto}.teacher-result-count{color:var(--muted);margin:0 0 12px;font-size:9px}.teacher-result-count strong{color:var(--navy-900);font-size:11px}.teacher-result-count small{border-left:1px solid var(--line);color:#7e8f97;margin-left:8px;padding-left:8px;font-size:8px}.teacher-list-table{min-width:1060px}.live-teacher-table{min-width:1280px}.live-teacher-table .subject-cell{white-space:normal;min-width:190px;max-width:270px;line-height:1.4}.teacher-list-table th:first-child{min-width:210px}.empty-state{border:1px dashed var(--line-strong);min-height:150px;color:var(--muted);text-align:center;border-radius:12px;place-content:center;margin-top:14px;display:grid}.empty-state strong,.empty-state span{display:block}.empty-state strong{color:var(--navy-900);font-size:12px}.empty-state span{margin-top:5px;font-size:9px}.teacher-card-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.teacher-card{border:1px solid var(--line);background:#fbfcfc;border-radius:13px;padding:18px}.teacher-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.large-avatar{width:42px;height:42px;color:var(--navy-800);background:#e2eeeb;font-size:11px}.teacher-card h3{color:var(--navy-950);margin:15px 0 5px;font-size:12px}.teacher-card p{min-height:26px;color:var(--muted);margin-bottom:15px;font-size:9px;line-height:1.45}.teacher-card dl{grid-template-columns:repeat(2,1fr);gap:8px;margin:0;display:grid}.teacher-card dl>div{background:#f0f4f3;border-radius:8px;padding:9px}.teacher-card dt{color:var(--muted);font-size:8px}.teacher-card dd{color:var(--navy-900);margin:3px 0 0;font-size:10px;font-weight:750}.modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#071b27c2;place-items:start center;padding:24px;display:grid;position:fixed;inset:0;overflow-y:auto}.preview-modal{background:#edf1f0;border-radius:18px;width:min(1120px,100%);overflow:hidden;box-shadow:0 32px 90px #04141e66}.preview-toolbar{z-index:3;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:15px 22px;display:flex;position:sticky;top:0}.preview-toolbar h2{color:var(--navy-950);margin:0;font-size:17px}.preview-toolbar>div:last-child{gap:9px;display:flex}.sheet-stage{place-items:center;padding:34px;display:grid}.point-sheet{color:#172a34;background:#fff;width:min(794px,100%);min-height:1123px;padding:42px 44px;font-family:Arial,Helvetica,sans-serif;box-shadow:0 8px 26px #28172029}.sheet-header{border-bottom:3px solid var(--navy-900);grid-template-columns:56px 1fr auto;align-items:center;gap:14px;padding-bottom:17px;display:grid}.sheet-seal{border:2px solid var(--navy-900);width:54px;height:54px;color:var(--navy-900);border-radius:50%;place-items:center;font-size:24px;font-weight:900;display:grid}.sheet-header>div:nth-child(2) span,.sheet-header>div:nth-child(2) strong,.sheet-period span,.sheet-period strong{display:block}.sheet-header>div:nth-child(2) span{text-transform:uppercase;font-size:10px}.sheet-header>div:nth-child(2) strong{margin-top:3px;font-size:17px}.sheet-period{text-align:right;border:1px solid #9daeb6;padding:8px 12px}.sheet-period span{text-transform:uppercase;font-size:8px}.sheet-period strong{margin-top:4px;font-size:11px}.point-sheet>h3{letter-spacing:.04em;text-align:center;text-transform:uppercase;margin:24px 0 17px;font-size:15px}.sheet-details{border-top:1px solid #70858e;border-left:1px solid #70858e;grid-template-columns:2fr 1fr;margin:0 0 18px;display:grid}.sheet-details>div{border-bottom:1px solid #70858e;border-right:1px solid #70858e;min-height:48px;padding:8px 10px}.sheet-details .wide{grid-column:span 1}.sheet-details dt{color:#5b6d75;letter-spacing:.05em;text-transform:uppercase;font-size:7px;font-weight:700}.sheet-details dd{margin:5px 0 0;font-size:10px;font-weight:700}.sheet-table{border-collapse:collapse;table-layout:fixed;width:100%}.sheet-table th,.sheet-table td{border:1px solid #70858e;height:34px;padding:4px 6px;font-size:8px}.sheet-table th{letter-spacing:.04em;text-align:center;text-transform:uppercase;background:#e9eeef;height:29px;font-size:7px}.sheet-table th:first-child{width:78px}.sheet-table th:nth-child(2){width:46px}.sheet-table th:nth-child(3),.sheet-table th:nth-child(4){width:60px}.sheet-table th:nth-child(6){width:70px}.sheet-table td:not(:nth-child(5)){text-align:center}.sheet-summary{border-top:1px solid #70858e;border-left:1px solid #70858e;grid-template-columns:repeat(4,1fr);margin-top:15px;display:grid}.sheet-summary>div{text-align:center;border-bottom:1px solid #70858e;border-right:1px solid #70858e;padding:8px}.sheet-summary span,.sheet-summary strong{display:block}.sheet-summary span{color:#5b6d75;text-transform:uppercase;font-size:7px}.sheet-summary strong{margin-top:4px;font-size:11px}.sheet-signatures{grid-template-columns:1fr 1fr;gap:52px;margin-top:60px;display:grid}.sheet-signatures>div{text-align:center;border-top:1px solid #384e58;padding-top:7px;font-size:8px}.sheet-disclaimer{color:#6a7b82;text-align:center;margin-top:34px;font-size:7px;display:block}@media (width<=1180px){.user-create-form{grid-template-columns:repeat(2,minmax(0,1fr))}.user-create-form .primary-button{width:fit-content}.password-reset-panel{grid-template-columns:repeat(2,minmax(0,1fr))}.password-reset-copy{grid-column:1/-1}.teacher-card-grid,.smart-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.api-connection-panel{grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr)}.api-refresh-button{grid-column:2;justify-self:end}.period-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.step:not(:last-child):after{display:none}}@media (width<=920px){.auth-shell{grid-template-columns:1fr}.auth-brand-panel{display:none}.auth-form-panel{justify-content:center;min-height:100vh;padding:34px 24px}.auth-mobile-brand{width:min(100%,500px);margin-bottom:18px;display:flex}.auth-mobile-brand .official-brand-logo{width:min(100%,290px)}.sidebar{width:100%;min-height:0;padding:16px 18px 12px;position:relative;overflow:visible}.brand{width:170px;padding:8px 10px}.prototype-chip{margin:0;position:absolute;top:17px;right:18px}.side-nav{scrollbar-width:none;gap:5px;margin-top:16px;display:flex;overflow-x:auto}.side-nav::-webkit-scrollbar{display:none}.nav-item{flex:none;width:auto;min-height:39px;padding:0 11px;display:flex}.nav-symbol,.school-card{display:none}.main-content{margin-left:0}.two-column-layout,.calendar-layout{grid-template-columns:1fr}.calendar-heading-actions{flex-direction:column;align-items:stretch}.calendar-summary{grid-template-columns:auto 1fr;align-items:end;column-gap:14px;display:grid}.calendar-summary>.eyebrow,.bimester-list{grid-column:1/-1}.calendar-summary>strong{margin-top:8px}.bimester-list{grid-template-columns:repeat(4,1fr);gap:10px}.bimester-list>div{display:grid}.teacher-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.api-connection-panel{grid-template-columns:1fr;align-items:stretch}.api-refresh-button{grid-column:auto;justify-self:stretch}.smart-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.auth-form-panel{justify-content:flex-start;padding:24px 14px}.auth-card{border-radius:18px;padding:25px 20px}.auth-card-heading{margin-bottom:23px}.auth-card-heading h2{font-size:27px}.auth-footer{margin-bottom:12px}.topbar{flex-wrap:wrap;min-height:82px;padding:16px 18px}.topbar h1{font-size:25px}.user-block>div:last-child,.icon-button{display:none}.header-actions{gap:9px}.logout-button{padding:0 11px}.change-password-button{padding:0 10px;font-size:9px}.demo-banner{flex-direction:column;align-items:flex-start;gap:2px;padding:9px 18px}.content-area{padding:20px 14px 36px}.panel{border-radius:15px;padding:18px}.panel-heading,.welcome-panel,.panel-footer,.table-toolbar,.preview-toolbar{flex-direction:column;align-items:stretch}.teacher-heading-actions{align-items:stretch}.teacher-heading-actions .source-tag{width:fit-content}.view-toggle{width:100%}.view-toggle button{flex:1}.welcome-panel{padding:24px}.welcome-panel .primary-button,.panel-footer .primary-button{width:100%}.conference-actions{flex-direction:column;width:100%}.metric-grid,.conference-summary-grid,.mode-comparison,.user-summary-grid,.user-create-form{grid-template-columns:1fr}.month-navigation{width:100%}.month-navigation select{flex:1;min-width:0}.user-create-form .primary-button{width:100%}.password-reset-panel{grid-template-columns:1fr}.password-reset-copy{grid-column:auto}.password-reset-actions{width:100%}.password-reset-actions button{flex:1}.stepper{grid-template-columns:repeat(2,1fr);gap:14px;padding:16px}.period-fields{grid-template-columns:1fr}.search-box{width:100%}.smart-filter-trigger{justify-content:center;width:100%}.smart-filter-panel{padding:15px}.smart-filter-heading{flex-direction:column;align-items:stretch;gap:5px}.clear-filter-button{width:fit-content}.filter-presets,.smart-filter-grid{grid-template-columns:1fr}.active-filter-row{align-items:flex-start}.active-filter-row .clear-filter-link{text-align:left;width:100%;margin:4px 0 0;padding:4px 0}.api-connection-panel{padding:14px}.api-error-state,.api-loading-state{flex-direction:column;align-items:stretch}.api-error-state .secondary-button{width:100%}.teacher-result-count small{border:0;margin:5px 0 0;padding:0;display:block}.filter-tabs{width:100%}.filter-tabs button{flex:1}.teacher-card-grid{grid-template-columns:1fr}.calendar-day{min-height:42px;padding:5px}.calendar-day small{display:none}.calendar-layout{gap:16px}.bimester-list{grid-template-columns:repeat(2,1fr)}.modal-backdrop{padding:0}.preview-modal{border-radius:0;min-height:100vh}.preview-toolbar>div:last-child{width:100%}.preview-toolbar button{flex:1}.sheet-stage{place-items:start;padding:14px;overflow-x:auto}.point-sheet{min-width:720px}}.management-hero{overflow:visible}.management-toolbar{grid-template-columns:minmax(260px,.8fr) minmax(320px,1.2fr);align-items:end;gap:16px;margin-top:22px;display:grid}.management-toolbar>label:not(.search-box),.management-form label,.cover-controls label,.page-number-setting label{color:var(--navy-950);gap:7px;font-size:11px;font-weight:750;display:grid}.management-toolbar select,.management-form input,.management-form select,.cover-controls select,.page-number-setting input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--navy-950);font:inherit;background:#fff;border-radius:10px;outline:0;padding:0 13px;transition:border-color .15s,box-shadow .15s}.management-toolbar select:focus,.management-form input:focus,.management-form select:focus,.cover-controls select:focus,.page-number-setting input:focus{border-color:#a64d84;box-shadow:0 0 0 3px #a64d841a}.management-search{min-height:44px}.management-form{background:linear-gradient(160deg,#fff 0%,#fcf8fa 100%);border:1px solid #ddc9d5;border-radius:16px;margin-top:22px;padding:22px;box-shadow:0 16px 44px #41203314}.management-modal-backdrop{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#28172094;place-items:center;padding:28px;animation:.16s ease-out both management-backdrop-in;display:grid;position:fixed;inset:0;overflow-y:auto}.management-form.management-modal{background:#fff;border-color:#ffffffb8;border-radius:20px;width:min(960px,100%);max-height:calc(100vh - 56px);margin:0;animation:.19s ease-out both management-modal-in;overflow-y:auto;box-shadow:0 30px 90px #28172057}.management-form.management-modal.school-modal{width:min(700px,100%)}.management-form.management-modal .management-form-heading{z-index:2;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;margin:-22px -22px 18px;padding:22px;position:sticky;top:-22px}.modal-close-button{border:1px solid var(--line);width:38px;height:38px;color:var(--navy-800);background:var(--canvas);border-radius:50%;flex:none;place-items:center;padding:0 0 3px;font-size:25px;font-weight:400;line-height:1;transition:border-color .15s,background .15s,transform .15s;display:grid}.modal-close-button:hover{border-color:var(--line-strong);background:var(--green-50);transform:scale(1.04)}.modal-form-actions{gap:10px}@keyframes management-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes management-modal-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.management-form-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.management-form-heading h3,.initial-load-card h3,.page-number-setting h3{color:var(--navy-950);letter-spacing:-.025em;margin:4px 0 0;font-size:19px}.text-button{color:#7a305e;background:0 0;border:0;padding:7px 0;font-weight:750}.required-note{color:var(--muted);margin:-7px 0 16px;font-size:10px}.form-grid{gap:16px;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .span-two{grid-column:span 2}.form-grid .span-three{grid-column:span 3}.form-actions{justify-content:flex-end;margin-top:20px;display:flex}.management-form.compact .form-actions{margin-top:16px}.management-message{border:1px solid;border-radius:10px;margin-top:16px;padding:12px 14px;font-size:11px;font-weight:650;line-height:1.5}.management-message.success{color:#176a3a;background:#effaf3;border-color:#b9dec8}.management-message.error{color:#9d2438;background:#fff4f5;border-color:#ebc2c9}.initial-load-card{background:linear-gradient(115deg,#f7fafc,#fff);border:1px solid #d8dfe8;border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:18px 20px;display:flex}.initial-load-card p{max-width:760px;color:var(--muted);margin:7px 0 5px;font-size:11px;line-height:1.55}.initial-load-card small{color:#667587;font-size:9px}.management-table{min-width:820px}.teacher-maintenance-table{min-width:1120px}.management-table td{white-space:normal;vertical-align:top;max-width:260px}.row-actions{align-items:center;gap:7px;display:flex}.row-actions button{color:#6f3157;background:#fff;border:1px solid #d8c5d1;border-radius:7px;min-height:30px;padding:0 10px;font-size:9px;font-weight:750}.row-actions button.danger{color:#a8293d;background:#fff7f8;border-color:#ecc9ce}.page-number-setting{background:linear-gradient(120deg,#fcf8fa,#fff);border:1px solid #d7c2cf;border-radius:14px;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:28px;margin-top:18px;padding:20px;display:grid}.page-number-setting p{max-width:710px;color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.page-number-setting input{text-align:center;letter-spacing:.08em;min-height:56px;font-size:24px;font-weight:850}.page-number-setting small{color:var(--muted);text-align:center;font-size:9px}.cover-print-layout{grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr);align-items:start;gap:24px;display:grid}.cover-controls,.cover-control-panel .panel-footer{margin-top:22px}.cover-sheet-preview{aspect-ratio:210/297;background:#fff;border:1px solid #d6d6d6;border-radius:12px;min-height:630px;padding:34px;position:relative;overflow:hidden;box-shadow:0 18px 50px #261e231f}.cover-brand-row{justify-content:space-between;align-items:center;gap:28px;display:flex}.cover-brand-row img{width:55%;height:auto}.cover-color-rule{border-radius:999px;grid-template-columns:repeat(5,1fr);height:4px;margin-top:14px;display:grid;overflow:hidden}.cover-color-rule i:first-child,.cover-preview-footer span:first-child{background:#109449}.cover-color-rule i:nth-child(2),.cover-preview-footer span:nth-child(2){background:#1683c5}.cover-color-rule i:nth-child(3),.cover-preview-footer span:nth-child(3){background:#f36b15}.cover-color-rule i:nth-child(4),.cover-preview-footer span:nth-child(4){background:#e72f86}.cover-color-rule i:nth-child(5),.cover-preview-footer span:nth-child(5){background:#fdbd17}.cover-preview-copy{text-align:center;margin-top:33%}.cover-preview-copy h3{color:#17191c;letter-spacing:-.045em;margin:0;font-size:clamp(26px,3.1vw,42px)}.cover-preview-copy>p{color:#63686d;text-transform:uppercase;letter-spacing:.08em;margin:7px 0 34px;font-size:11px}.cover-preview-copy dl{background:#f8f9fa;border:1px solid #dfe1e3;border-radius:10px;gap:18px;margin:0;padding:24px;display:grid}.cover-preview-copy dl div{gap:5px;display:grid}.cover-preview-copy dt{color:#6c7176;text-transform:uppercase;letter-spacing:.06em;font-size:8px;font-weight:800}.cover-preview-copy dd{color:#15171a;margin:0;font-size:13px;font-weight:800}.cover-preview-footer{align-items:flex-end;display:flex;position:absolute;bottom:-24px;right:-35px}.cover-preview-footer span{border-radius:50% 50% 0 0;width:92px;height:80px;margin-left:-36px}.cover-preview-footer span:nth-child(2){height:105px}.cover-preview-footer span:nth-child(3){height:72px}.cover-preview-footer span:nth-child(4){height:93px}.cover-preview-footer span:nth-child(5){height:116px}@media (width<=1120px){.cover-print-layout{grid-template-columns:1fr}.cover-sheet-preview{width:min(100%,520px);margin:0 auto}}@media (width<=720px){.management-toolbar,.form-grid.two-columns,.form-grid.three-columns,.page-number-setting{grid-template-columns:1fr}.form-grid .span-two,.form-grid .span-three{grid-column:span 1}.initial-load-card{flex-direction:column;align-items:stretch}.management-modal-backdrop{place-items:start center;padding:12px}.management-form.management-modal{border-radius:16px;max-height:calc(100vh - 24px);padding:18px}.management-form.management-modal .management-form-heading{margin:-18px -18px 16px;padding:18px;top:-18px}.cover-sheet-preview{min-height:560px;padding:24px}}@media (prefers-reduced-motion:reduce){.management-modal-backdrop,.management-form.management-modal{animation:none}}@media print{@page{size:A4 portrait;margin:0}html,body{background:#fff;width:210mm;min-width:210mm;height:297mm}body *{visibility:hidden}.modal-backdrop,.preview-modal,.sheet-stage,.point-sheet,.point-sheet *{visibility:visible}.modal-backdrop{background:#fff;width:210mm;height:297mm;padding:0;display:block;position:absolute;inset:0;overflow:visible}.preview-modal,.sheet-stage{width:210mm;box-shadow:none;background:#fff;border-radius:0;padding:0;display:block;overflow:visible}.preview-toolbar{display:none}.point-sheet{width:210mm;min-width:210mm;min-height:297mm;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:11mm 12mm}}
