:root{color:#1c2740;background:#f4f6fa;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--navy: #17233d;--navy-2: #223152;--ink: #1c2740;--muted: #68728a;--border: #e1e5ed;--surface: #ffffff;--soft: #f5f7fa;--accent: #efb62f;--accent-soft: #fff7df;--green: #168060;--green-soft: #e7f6f0;--red: #b54b4f;--red-soft: #fbecee;--shadow: 0 12px 36px rgba(26, 37, 62, .07)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:grid;grid-template-columns:282px minmax(0,1fr)}.sidebar{position:fixed;inset:0 auto 0 0;width:282px;padding:24px 18px 18px;display:flex;flex-direction:column;color:#fff;background:radial-gradient(circle at 20% 0%,rgba(239,182,47,.12),transparent 24%),linear-gradient(180deg,#18243e,#121c31);z-index:30}.sidebar-brand{min-height:64px;padding:0 8px 20px;display:flex;gap:12px;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-brand>div:nth-child(2){display:grid;gap:2px}.sidebar-brand strong{font-size:19px}.sidebar-brand span{color:#aeb7c9;font-size:12px}.brand-mark{width:39px;height:39px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;color:#17233d;background:var(--accent);font-family:Georgia,serif;font-size:24px;font-weight:800;box-shadow:inset 0 0 0 1px #ffffff4d}.brand-mark.large{width:58px;height:58px;border-radius:17px;font-size:34px}.brand-mark-image{width:38px;height:38px;object-fit:contain;flex:0 0 auto}.brand-mark-image.large{width:78px;height:78px}.sidebar nav{margin-top:26px}.nav-label{margin:0 12px 10px;color:#8591a8;font-size:10px;font-weight:800;letter-spacing:.13em}.nav-item{width:100%;min-height:70px;margin:4px 0;padding:12px;display:grid;grid-template-columns:24px 1fr 18px;gap:11px;align-items:center;text-align:left;border:0;border-radius:13px;color:#b9c1d0;background:transparent;cursor:pointer}.nav-item:hover{color:#fff;background:#ffffff0f}.nav-item.active{color:#fff;background:linear-gradient(90deg,#efb62f33,#efb62f12);box-shadow:inset 3px 0 var(--accent)}.nav-item>span{display:grid;gap:4px}.nav-item strong{font-size:14px}.nav-item small{color:#8f9ab0;font-size:11px}.sidebar-bottom{margin-top:auto}.sidebar-help{margin:0 4px 14px;padding:13px;display:flex;gap:10px;color:#b9c1d0;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff08}.sidebar-help div{display:grid;gap:3px}.sidebar-help strong{color:#e5e9f0;font-size:12px}.sidebar-help span{font-size:10px;line-height:1.4}.logout-button{width:100%;padding:12px 14px;display:flex;gap:9px;align-items:center;border:0;color:#aeb7c8;background:transparent;cursor:pointer}.logout-button:hover{color:#fff}.main-content{grid-column:2;min-width:0}.topbar{height:82px;padding:0 38px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--border);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.topbar-title{display:grid;gap:4px}.topbar-kicker{color:#9299a9;font-size:10px;font-weight:800;letter-spacing:.11em}.topbar-title strong{font-size:15px}.topbar-actions{display:flex;gap:11px;align-items:center}.last-sync-time{color:#69758a;font-size:11px;font-weight:650;white-space:nowrap}.refresh-button .is-spinning,.secondary-button .is-spinning{animation:sync-spin .9s linear infinite}.sync-request-error{max-width:260px;color:#b42318;font-size:.75rem;line-height:1.25}@keyframes sync-spin{to{transform:rotate(360deg)}}.data-view-selector{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;color:#536074;background:#f7f8fb}.data-view-selector.testing{color:#6842a7;border-color:#d9c8f2;background:#f6f0ff}.data-view-selector select{max-width:174px;border:0;outline:0;color:inherit;background:transparent;font:inherit;font-size:12px;font-weight:750;cursor:pointer}.test-mode-banner{width:min(1220px,calc(100% - 70px));margin:18px auto -18px;padding:13px 17px;display:flex;align-items:center;gap:12px;color:#55318f;border:1px solid #d9c8f2;border-radius:12px;background:#f7f1ff}.test-mode-banner div{display:grid;gap:2px}.test-mode-banner strong{font-size:13px}.test-mode-banner span{font-size:12px;color:#725b96}.campaign-pill,.sync-ok,.readiness-pill{display:inline-flex;gap:7px;align-items:center;border-radius:999px;font-size:12px;font-weight:700}.campaign-pill{padding:9px 12px;color:#6f5630;background:#fff7e3;border:1px solid #f2dfad}.campaign-pill.active{color:#19694f;background:var(--green-soft);border-color:#c8e7db}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.campaign-pill.active .status-dot{background:#28a37c;box-shadow:0 0 0 3px #28a37c21}.page{width:min(1220px,calc(100% - 70px));margin:0 auto;padding:42px 0 70px}.page-intro{max-width:780px;margin-bottom:28px}.eyebrow{margin:0 0 8px;color:#a17209;font-size:11px;font-weight:850;letter-spacing:.12em}.eyebrow.light{color:#f2ca65}.page-intro h1{margin:0 0 10px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4vw,43px);line-height:1.08;letter-spacing:-.02em}.page-intro>p:last-child{max-width:720px;margin:0;color:var(--muted);font-size:15px;line-height:1.65}.metric-grid{margin:24px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric-card{min-height:126px;padding:20px;display:flex;gap:15px;align-items:flex-start;border:1px solid var(--border);border-radius:15px;background:var(--surface);box-shadow:0 4px 14px #1b284308}.metric-card.selected{border-color:#efd795;box-shadow:0 10px 28px #ad801614}.metric-icon,.source-icon,.preparation-icon{display:grid;place-items:center;flex:0 0 auto;border-radius:11px}.metric-icon{width:41px;height:41px}.metric-icon.navy{color:#2d4d82;background:#e9eef8}.metric-icon.green{color:var(--green);background:var(--green-soft)}.metric-icon.amber{color:#9d720d;background:var(--accent-soft)}.metric-icon.red{color:var(--red);background:var(--red-soft)}.metric-card>div{display:grid;grid-template-columns:auto}.metric-card span{color:#646e83;font-size:12px;font-weight:700}.metric-card strong{margin-top:2px;color:var(--ink);font-family:Georgia,serif;font-size:34px;line-height:1}.metric-value{display:flex;align-items:baseline;gap:8px}.metric-value b{color:#667188;font-size:13px;font-weight:700;white-space:nowrap}.metric-card small{margin-top:8px;color:#8d95a5;font-size:10px}.content-card{border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:var(--shadow)}.student-list-card{overflow:hidden}.list-toolbar{min-height:75px;padding:15px 20px;display:flex;gap:20px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.filter-tabs{display:flex;gap:4px;overflow-x:auto}.filter-tabs button{padding:9px 11px;display:flex;gap:7px;align-items:center;white-space:nowrap;border:0;border-radius:9px;color:#6f788c;background:transparent;font-size:12px;font-weight:700;cursor:pointer}.filter-tabs button:hover,.filter-tabs button.active{color:var(--ink);background:#f1f3f7}.filter-tabs button.active{box-shadow:inset 0 -2px var(--accent)}.filter-tabs button span{min-width:20px;padding:2px 6px;border-radius:999px;color:#70798c;background:#e7eaf0;font-size:10px}.search-box{width:min(290px,100%);height:41px;padding:0 12px;display:flex;gap:8px;align-items:center;border:1px solid #dcdfe7;border-radius:10px;color:#8d95a4;background:#fafbfc}.search-box input{width:100%;border:0;outline:0;color:var(--ink);background:transparent;font-size:12px}.student-toolbar-actions{min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:9px}.student-toolbar-actions .primary-button{white-space:nowrap}.guided-whatsapp-layer{display:grid;place-items:center;padding:20px}.guided-whatsapp-dialog{width:min(620px,100%);max-height:calc(100vh - 40px);padding:25px;position:relative;overflow-y:auto;border-radius:17px;background:#fff;box-shadow:0 24px 70px #0d152547}.guided-whatsapp-dialog>header{padding-bottom:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-bottom:1px solid var(--border)}.guided-whatsapp-dialog h2{margin:3px 0 0;font-family:Georgia,serif;font-size:25px}.guided-whatsapp-summary,.guided-whatsapp-current{margin-top:20px;padding:15px;display:flex;align-items:center;gap:12px;color:#285f4b;border:1px solid #cce5da;border-radius:11px;background:#eff8f4}.guided-whatsapp-summary div,.guided-whatsapp-current div{display:grid;gap:4px}.guided-whatsapp-summary span,.guided-whatsapp-current small{color:var(--muted);font-size:11px;line-height:1.45}.guided-whatsapp-message{margin-top:18px;display:grid;gap:7px;color:var(--ink);font-size:11px;font-weight:800}.guided-whatsapp-message textarea{width:100%;padding:12px;resize:vertical;color:var(--ink);border:1px solid #d7dce5;border-radius:10px;background:#fbfcfd;font:inherit;font-weight:500;line-height:1.55}.guided-whatsapp-message small{color:var(--muted);font-weight:500}.guided-whatsapp-warning,.guided-whatsapp-instruction{margin:14px 0 0;padding:11px 12px;display:flex;align-items:center;gap:8px;border-radius:9px;font-size:11px;line-height:1.5}.guided-whatsapp-warning{color:#7c5134;background:#fff5e9}.guided-whatsapp-instruction{color:#536078;background:#f3f6fa}.guided-whatsapp-actions{margin-top:20px;display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.guided-whatsapp-running-actions .primary-button{min-width:205px}.guided-whatsapp-progress{margin-top:20px;display:grid;gap:7px;color:var(--muted);font-size:10px;font-weight:800}.guided-whatsapp-progress>div{height:7px;overflow:hidden;border-radius:999px;background:#e8ebf0}.guided-whatsapp-progress i{height:100%;display:block;border-radius:inherit;background:#2c8a68}.guided-whatsapp-current{color:var(--ink);border-color:var(--border);background:#fff}.guided-whatsapp-complete{min-height:280px;display:grid;place-items:center;align-content:center;gap:9px;text-align:center}.guided-whatsapp-complete>span{width:58px;height:58px;display:grid;place-items:center;color:#fff;border-radius:50%;background:#2c8a68}.guided-whatsapp-complete h3,.guided-whatsapp-complete p{margin:0}.guided-whatsapp-complete p{color:var(--muted);font-size:12px}.student-table-head,.student-row{display:grid;grid-template-columns:1.2fr 2fr .75fr .9fr;gap:16px;align-items:center}.student-table-head{padding:12px 20px;color:#8991a2;background:#f8f9fb;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.student-row{width:100%;min-height:77px;padding:13px 20px;text-align:left;border:0;border-top:1px solid #edf0f4;background:#fff;cursor:pointer}.student-row:hover{background:#fcfcfd;box-shadow:inset 3px 0 var(--accent)}.student-identity{display:flex;gap:11px;align-items:center;min-width:0}.avatar{width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;color:#294168;background:#e8edf5;font-size:12px;font-weight:800}.student-identity>span:last-child{min-width:0;display:grid;gap:4px}.student-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.student-identity small{color:#8b93a4;font-size:9px}.subject-chips{display:flex;gap:5px;flex-wrap:wrap}.subject-request-chip{padding:6px 8px;display:inline-flex;gap:6px;align-items:center;border:1px solid transparent;border-radius:7px;color:#536078;background:#f1f3f6;font-size:9px;font-weight:800}.subject-request-chip.confirmado{color:#236c56;border-color:#b8ddca;background:#eaf7f0}.subject-request-chip.pendiente{color:#795a0b;border-color:#ead49a;background:#fff5d9}.subject-request-chip b{padding-left:6px;border-left:1px solid currentColor;opacity:.85}.subject-chip,.more-chip{padding:5px 7px;display:inline-flex;gap:5px;align-items:center;border-radius:7px;color:#536078;background:#f1f3f6;font-size:9px;font-weight:750}.subject-chip b{padding-left:5px;color:#96700d;border-left:1px solid #d6dae2}.more-chip{border-radius:999px}.status-badge,.schedule-badge{width:max-content;display:inline-flex;gap:5px;align-items:center;font-size:10px;font-weight:750}.status-badge{padding:5px 8px;border-radius:999px;color:#68552b;background:#fff6dc}.status-badge.compact{padding:3px 6px;font-size:8px}.status-badge.confirmado{color:#236c56;background:var(--green-soft)}.status-badge.no{color:#777f90;background:#eff1f4}.schedule-badge.pending{color:#8a690e}.schedule-badge.received,.schedule-badge.exempt{color:var(--green)}.schedule-badge.incomplete{color:var(--red)}.row-action{display:inline-flex;gap:6px;align-items:center;justify-self:end;color:#42516d;font-size:10px;font-weight:800}.period-banner{margin:18px 0 22px;padding:14px 17px;display:flex;gap:12px;align-items:center;color:#6e592c;border:1px solid #efdda7;border-radius:13px;background:#fff8e5}.period-banner>div{display:grid;gap:3px}.period-banner strong{font-size:12px}.period-banner span{font-size:11px}.source-grid,.data-section-grid,.workflow-grid{display:grid;gap:16px}.source-grid{grid-template-columns:repeat(2,1fr);margin-bottom:22px}.source-card{padding:22px}.source-card-head{display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center}.source-icon{width:44px;height:44px;color:#2e4c7d;background:#e9eef7}.source-card h3,.preparation-card h3{margin:0;font-family:Georgia,serif;font-size:19px}.source-card p,.preparation-card p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.sync-ok{padding:6px 9px;color:var(--green);background:var(--green-soft);font-size:9px}.source-values{margin:21px 0 18px;display:flex;gap:10px}.source-values>div{min-width:110px;padding:13px;display:grid;gap:4px;border-radius:11px;background:#f6f7f9}.source-values span{color:#7b8496;font-size:9px}.source-values strong{font-family:Georgia,serif;font-size:24px}.source-card footer{padding-top:13px;color:#8a92a2;border-top:1px solid var(--border);font-size:9px}.data-section-grid{grid-template-columns:repeat(2,1fr)}.preparation-card{min-height:135px;padding:21px;display:grid;grid-template-columns:43px 1fr 20px;gap:14px;align-items:start}.preparation-icon{width:43px;height:43px;color:#8a650e;background:var(--accent-soft)}.preparation-card>div{display:grid}.preparation-card strong{margin-top:14px;color:#33415e;font-size:11px}.preparation-card>svg{margin-top:10px;color:#a6adba}.create-hero{min-height:290px;padding:36px;display:grid;grid-template-columns:260px 1fr;gap:38px;align-items:center;overflow:hidden}.create-illustration{height:205px;display:grid;place-items:center;position:relative;color:#e3b13b;border-radius:28px;background:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),var(--navy);background-size:28px 28px}.create-illustration svg{width:68px;height:68px;filter:drop-shadow(0 8px 20px rgba(239,182,47,.22))}.spark{width:11px;height:11px;position:absolute;border-radius:3px;background:var(--accent);transform:rotate(45deg)}.spark.one{top:44px;right:54px}.spark.two{bottom:43px;left:49px;opacity:.45}.readiness-pill{padding:7px 10px;color:#7e651f;background:var(--accent-soft)}.readiness-pill.ready{color:var(--green);background:var(--green-soft)}.create-hero h2{max-width:570px;margin:17px 0 10px;font-family:Georgia,serif;font-size:30px;line-height:1.18}.create-hero p{max-width:650px;margin:0 0 23px;color:var(--muted);font-size:13px;line-height:1.7}.workflow-grid{grid-template-columns:repeat(4,1fr);margin-top:18px}.workflow-card{min-height:150px;padding:20px;border:1px solid var(--border);border-radius:14px;background:#fff}.workflow-card>span{color:#c79620;font-family:Georgia,serif;font-size:14px;font-weight:700}.workflow-card strong{margin:14px 0 7px;display:block;font-family:Georgia,serif;font-size:18px}.workflow-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.55}.primary-button,.secondary-button{min-height:41px;padding:0 15px;display:inline-flex;gap:8px;align-items:center;justify-content:center;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer}.primary-button{border:1px solid var(--navy);color:#fff;background:var(--navy);box-shadow:0 7px 18px #17233d2e}.primary-button:hover:not(:disabled){background:var(--navy-2)}.primary-button:disabled{color:#9ca4b3;border-color:#e0e3e9;background:#eef0f3;box-shadow:none;cursor:not-allowed}.secondary-button{border:1px solid var(--border);color:#4d5870;background:#fff}.full{width:100%}.icon-button{width:38px;height:38px;display:grid;place-items:center;border:0;border-radius:10px;background:transparent;cursor:pointer}.icon-button:hover{background:#f1f3f6}.mobile-menu,.sidebar-close,.mobile-brand{display:none}.empty-state,.error-state{min-height:310px;padding:45px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.empty-state>span{width:61px;height:61px;display:grid;place-items:center;color:#63708a;border-radius:18px;background:#eef1f6}.empty-state h3,.error-state h2{margin:18px 0 7px;font-family:Georgia,serif;font-size:21px}.empty-state p,.error-state p{max-width:470px;margin:0;color:var(--muted);font-size:12px;line-height:1.6}.error-state .primary-button{margin-top:18px}.drawer-layer{position:fixed;inset:0;z-index:60}.drawer-scrim,.sidebar-scrim{position:absolute;inset:0;border:0;background:#0d15256b;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.student-drawer{width:min(480px,100%);height:100%;padding:27px;position:absolute;right:0;top:0;overflow-y:auto;background:#fff;box-shadow:-20px 0 60px #16203533}.drawer-header{padding-bottom:22px;display:flex;justify-content:space-between;border-bottom:1px solid var(--border)}.drawer-header h2{margin:0 0 5px;font-family:Georgia,serif;font-size:27px}.drawer-header>div>span{color:var(--muted);font-size:11px}.drawer-status-row{padding:18px 0;display:flex;gap:9px}.drawer-section{padding:20px 0;border-top:1px solid var(--border)}.section-heading{display:flex;gap:9px;align-items:center;color:#34415b;font-size:12px}.drawer-subjects{margin-top:13px;display:grid;gap:8px}.drawer-subjects>div{padding:11px 12px;display:flex;align-items:center;justify-content:space-between;border-radius:10px;background:#f6f7f9}.drawer-subjects>.subject-state-card.confirmado{border-color:#b8ddca;background:#eaf7f0}.drawer-subjects>.subject-state-card.pendiente{border-color:#ead49a;background:#fff5d9}.drawer-subjects span{display:grid;gap:3px}.drawer-subjects strong{font-size:11px}.drawer-subjects small{color:#8991a2;font-size:9px}.drawer-subjects b{color:#8c690e;font-size:9px}.link-placeholder p{margin:13px 0 17px;color:var(--muted);font-size:11px;line-height:1.6}.schedule-link-value{display:block;overflow-wrap:anywhere;color:#244f92;font-size:12px;line-height:1.5}.schedule-link-actions{margin-top:14px;display:flex;flex-wrap:wrap;gap:9px}.schedule-link-actions button{display:inline-flex;align-items:center;gap:7px}.edit-student-schedule{margin-top:15px;display:inline-flex;align-items:center;gap:7px}.admin-schedule-editor-layer{position:fixed;inset:0;z-index:90}.admin-schedule-editor{width:min(1120px,calc(100% - 36px));max-height:calc(100vh - 36px);padding:28px;position:absolute;left:50%;top:50%;overflow:auto;transform:translate(-50%,-50%);border-radius:18px;background:#fff;box-shadow:0 25px 80px #0e182b47}.admin-schedule-editor>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.admin-schedule-editor h2{margin:0 0 5px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:27px}.admin-schedule-editor header span{color:var(--muted);font-size:12px}.admin-editor-actions{display:flex;justify-content:flex-end;gap:10px}.editor-loading{padding:60px 20px;color:var(--muted);text-align:center}.public-schedule-shell{min-height:100vh;padding:34px 18px;display:grid;place-items:center;background:#f1f4f9}.public-schedule-card{width:min(1050px,100%);padding:32px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 18px 55px #1526431a}.public-schedule-card>img{width:210px;height:auto;margin-bottom:28px}.public-schedule-card h1{margin:0 0 10px;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,4vw,40px)}.public-schedule-card>p:not(.eyebrow):not(.form-error):not(.form-success){color:var(--muted);line-height:1.6}.verify-card{max-width:480px}.verify-card label,.schedule-notes{margin:22px 0 16px;display:grid;gap:8px;color:#334057;font-size:13px;font-weight:750}.verify-card input,.schedule-notes textarea{padding:12px 13px;border:1px solid #cfd7e4;border-radius:10px;font:inherit}.schedule-notes textarea{min-height:82px;resize:vertical}.availability-scroll{margin-top:24px;max-height:min(64vh,780px);overflow:auto;border:1px solid #cfd7e4;border-radius:13px}.availability-grid{min-width:720px;display:grid;grid-template-columns:92px repeat(5,minmax(118px,1fr));background:#d5ddea;gap:1px}.availability-grid>*{min-height:48px;display:grid;place-items:center;border:0;background:#fff}.availability-grid>strong,.availability-corner{position:sticky;z-index:2;top:0;min-height:50px;color:#17243e;background:#eef2f7}.availability-time{color:#334057;font-size:12px;font-weight:750}.availability-time small{display:block;color:#7b8799;font-size:9px}.availability-grid button{cursor:pointer}.availability-grid button:hover:not(:disabled){background:#f6fbf9}.availability-grid button.busy{color:#17684f;background:#dff3eb}.availability-grid .break{min-height:16px;color:#7d8796;background:#e4e7ec}.form-error{color:#b42318;font-size:13px}.form-success{display:flex;align-items:center;gap:7px;color:#187057;font-size:13px;font-weight:750}.login-layout{min-height:100vh;display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(480px,.95fr)}.login-brand{padding:clamp(55px,8vw,110px);display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(circle at 80% 20%,rgba(239,182,47,.18),transparent 22%),linear-gradient(145deg,#1b2a49,#10192c)}.login-brand h1{max-width:620px;margin:13px 0 22px;font-family:Georgia,serif;font-size:clamp(42px,5vw,66px);font-weight:500;line-height:1.03;letter-spacing:-.03em}.login-intro{max-width:540px;color:#b8c1d2;font-size:16px;line-height:1.75}.login-feature{max-width:460px;padding-top:20px;display:flex;gap:11px;color:#d7dce6;border-top:1px solid rgba(255,255,255,.12);font-size:12px}.login-feature svg{color:var(--accent)}.login-panel{padding:40px;display:grid;place-items:center;background:#f5f6f8}.login-card{width:min(420px,100%);padding:38px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 22px 70px #1c27401a}.login-card h2{margin:5px 0 8px;font-family:Georgia,serif;font-size:30px}.muted{color:var(--muted)}.login-card>.muted{margin:0 0 25px;font-size:12px;line-height:1.5}.login-card label{margin:15px 0;display:grid;gap:7px;color:#4b566c;font-size:11px;font-weight:750}.login-card input{height:46px;padding:0 13px;border:1px solid #d7dce5;border-radius:10px;outline:none;background:#fbfcfd}.login-card input:focus{border-color:#9ca9bd;box-shadow:0 0 0 3px #465d8414}.form-error{margin-bottom:12px;padding:10px 12px;color:#9c363d;border-radius:9px;background:var(--red-soft);font-size:11px}.security-note{margin:17px 0 0;display:flex;gap:7px;align-items:flex-start;color:#8a92a3;font-size:9px;line-height:1.45}.loading-screen{min-height:100vh;display:flex;flex-direction:column;gap:16px;align-items:center;justify-content:center;color:#69748a;background:#f5f6f8}.loading-line{width:130px;height:3px;overflow:hidden;position:relative;border-radius:99px;background:#dfe3e9}.loading-line:after{content:"";width:45px;height:100%;position:absolute;border-radius:inherit;background:var(--accent);animation:loading 1.2s infinite ease-in-out}.skeleton{border-radius:12px;background:linear-gradient(90deg,#eceef2 25%,#f5f6f8,#eceef2 75%);background-size:200% 100%;animation:shimmer 1.4s infinite}.intro-skeleton{width:460px;height:100px}.metric-skeleton{height:126px}.table-skeleton{height:380px}@keyframes loading{0%{left:-45px}to{left:130px}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:1100px){.app-shell{grid-template-columns:230px minmax(0,1fr)}.sidebar{width:230px}.main-content{grid-column:2}.page,.test-mode-banner{width:min(100% - 40px,1120px)}.metric-grid{grid-template-columns:repeat(2,1fr)}.student-table-head{display:none}.student-row{grid-template-columns:1.2fr 1.5fr .8fr .8fr}.workflow-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:780px){.app-shell{display:block}.sidebar{width:min(300px,88vw);transform:translate(-102%);transition:transform .18s ease}.sidebar.open{transform:translate(0)}.sidebar-scrim{position:fixed;z-index:29}.sidebar-close,.mobile-menu{display:grid}.sidebar-close{margin-left:auto;color:#fff}.main-content{min-height:100vh}.topbar{height:70px;padding:0 16px;gap:10px}.topbar-title{margin-right:auto}.topbar-title strong{font-size:12px}.topbar-kicker,.refresh-button,.last-sync-time{display:none}.campaign-pill{padding:7px 9px;font-size:9px}.data-view-selector{padding:7px 8px}.data-view-selector select{width:112px;font-size:10px}.test-mode-banner{width:calc(100% - 28px);margin-top:12px;margin-bottom:-12px}.page{width:calc(100% - 28px);padding:28px 0 50px}.page-intro h1{font-size:32px}.metric-grid,.source-grid,.data-section-grid,.workflow-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,1fr);gap:9px}.metric-card{min-height:110px;padding:14px}.metric-icon{width:34px;height:34px}.metric-card strong{font-size:27px}.list-toolbar{align-items:stretch;flex-direction:column}.search-box{width:100%}.student-row{padding:14px;grid-template-columns:1fr auto;gap:12px}.student-row>span:nth-child(2),.student-row>span:nth-child(3){display:none}.row-action{font-size:0}.row-action svg{width:19px;height:19px}.source-card-head{grid-template-columns:44px 1fr}.sync-ok{grid-column:1 / -1;justify-self:start}.create-hero{padding:22px;grid-template-columns:1fr}.create-illustration{height:150px}.login-layout{display:block}.login-brand{display:none}.login-panel{min-height:100vh;padding:20px}.login-card{padding:28px 23px}.mobile-brand{margin-bottom:35px;display:flex;gap:10px;align-items:center;font-family:Georgia,serif;font-size:21px;font-weight:700}}@media(max-width:430px){.campaign-pill{max-width:120px}.metric-grid{grid-template-columns:1fr}.metric-card{min-height:92px}.source-values{flex-direction:column}}.student-form-layout{min-height:100vh;padding:36px 18px;display:grid;place-items:center;background:radial-gradient(circle at 10% 10%,rgba(230,169,30,.13),transparent 30%),#f4f6fa}.student-form-card{width:min(960px,100%);padding:34px;border:1px solid var(--border);border-radius:20px;background:#fff;box-shadow:0 20px 55px #1727431f}.student-form-card h1{max-width:680px;margin:12px 0 8px;font-family:var(--display-font);font-size:clamp(28px,4vw,44px)}.student-form-card.submitted{max-width:600px;text-align:center}.success-orb{width:64px;height:64px;margin:0 auto 20px;display:grid;place-items:center;color:#fff;border-radius:50%;background:#279875}.availability-form-grid{margin:30px 0 18px;display:grid;grid-template-columns:100px repeat(5,minmax(95px,1fr));gap:6px;overflow-x:auto}.availability-form-grid>strong{padding:9px;color:#536074;text-align:center;font-size:12px}.availability-form-row{display:contents}.availability-form-row>span{padding:10px 7px;display:grid;align-content:center;font-weight:800;font-size:12px}.availability-form-row>span small{color:var(--muted);font-weight:500}.availability-form-row button{min-height:52px;color:#567064;border:1px solid #d6e5dd;border-radius:9px;background:#eff8f3;font-size:11px;font-weight:750;cursor:pointer}.availability-form-row button.busy{color:#854535;border-color:#efc8bc;background:#fff0eb}.form-legend{margin-bottom:20px;display:flex;gap:20px;color:var(--muted);font-size:12px}.form-legend span{display:inline-flex;align-items:center;gap:7px}.form-legend i{width:12px;height:12px;border-radius:3px;background:#dff1e7}.form-legend i.busy{background:#f7cfc3}.student-week{display:grid;gap:7px}.student-week>div{padding:9px 10px;display:grid;grid-template-columns:85px 1fr;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px}.student-week>div>strong{font-size:12px}.student-week>div>span{padding:7px 9px;display:flex;justify-content:space-between;color:#6f493c;border-radius:7px;background:#fff1eb;font-size:12px;font-weight:750}.student-week small{font-weight:500}.personal-link-box{padding:8px 8px 8px 12px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;background:#f7f8fb}.personal-link-box>span{min-width:0;flex:1;overflow:hidden;color:#5d6675;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.personal-link-box button,.inline-actions button{padding:7px 9px;display:inline-flex;align-items:center;gap:5px;color:var(--navy);border:1px solid var(--border);border-radius:7px;background:#fff;font-size:11px;font-weight:750;cursor:pointer}.link-button{margin:9px 0;text-decoration:none}.whatsapp-preview{margin-top:10px;padding:12px;border:1px solid #cce6d8;border-radius:10px;background:#f0faf4}.whatsapp-preview p{margin:0 0 10px;color:#436253;font-size:12px;line-height:1.55}.whatsapp-preview>div{display:flex;gap:7px;flex-wrap:wrap}.whatsapp-button{padding:9px 12px;color:#fff;border-radius:8px;background:#218b5b;font-size:11px;font-weight:800;text-decoration:none}.preparation-card{width:100%;color:inherit;text-align:left;cursor:pointer}.preparation-card.active{border-color:#d5ad53;box-shadow:0 0 0 2px #d5ad5329}.data-detail{margin-top:18px;padding:26px}.detail-heading,.schedule-workspace-head,.proposal-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.detail-heading h2,.proposal-toolbar h2,.schedule-workspace-head h2{margin:0 0 6px;font-family:var(--display-font);font-size:27px}.detail-heading p,.schedule-workspace-head p{margin:0;color:var(--muted)}.detail-heading>span{padding:8px 10px;display:inline-flex;align-items:center;gap:6px;color:#72550d;border-radius:8px;background:#fff7dd;font-size:11px;font-weight:800}.subject-plan-table{margin-top:22px;display:grid}.subject-plan-head,.subject-plan-row{display:grid;grid-template-columns:1.3fr .4fr .9fr minmax(130px,.55fr);align-items:center;gap:12px}.subject-plan-head{padding:0 14px 10px;color:#8d95a3;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.subject-plan-row{min-height:68px;padding:10px 14px;border:0;border-top:1px solid var(--border);background:transparent;color:inherit;text-align:left;font:inherit;font-size:12px;cursor:pointer}.subject-plan-row:hover,.subject-plan-row.selected{background:#f3f6fa}.subject-plan-row.selected{box-shadow:inset 3px 0 var(--gold)}.subject-plan-row>span:first-child{display:grid;gap:3px}.subject-plan-row small{color:var(--muted)}.subject-plan-row>select{min-height:36px;padding:0 9px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-weight:750}.group-teacher{display:flex;align-items:center;gap:7px;min-width:0}.group-teacher .teacher-color-dot{flex:0 0 auto}.group-pills,.inline-actions{display:flex;gap:5px}.group-pills button{min-width:28px;height:28px;padding:0 6px;display:flex;align-items:center;justify-content:center;gap:3px;color:#806315;border:1px solid transparent;border-radius:7px;background:#fff3c7;font-weight:850;cursor:pointer}.group-pills button.selected{border-color:#c69a35}.group-pills button.fixed{color:#285b49;background:#e7f5ed}.fixed-group-editor{margin-top:18px;padding:18px;display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;border:1px solid var(--border);border-radius:13px;background:#f8f9fb}.fixed-group-editor h3{margin:0 0 4px}.fixed-group-editor>div>span{color:var(--muted);font-size:11px;line-height:1.5}.fixed-session-row{grid-column:1/-1;padding:12px;display:grid;grid-template-columns:110px repeat(4,1fr);align-items:end;gap:10px;border-radius:9px;background:#fff}.fixed-session-row.disabled{opacity:.58}.fixed-session-title{align-self:center;display:grid;gap:4px}.fixed-session-title small{color:var(--muted);font-size:9px}.fixed-session-row label{display:grid;gap:5px;color:var(--muted);font-size:10px;font-weight:750}.fixed-session-row select,.fixed-session-row input[type=time]{height:38px;min-width:0;padding:0 9px;border:1px solid var(--border);border-radius:7px;background:#fff;color:var(--navy)}.fixed-session-row select:disabled,.fixed-session-row input:disabled{color:#8b929c;background:#f1f2f4}.session-enabled-toggle{display:flex!important;grid-auto-flow:column;justify-content:start;align-items:center;gap:6px!important;color:#3a715c!important;cursor:pointer}.session-enabled-toggle input{accent-color:#2a7b5f}.fixed-session-locks{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.manual-warning{grid-column:1/-1;padding:10px 12px;display:flex;align-items:center;gap:8px;color:#8a493a;border-radius:8px;background:#fff0eb;font-size:11px;font-weight:700}.inline-actions button:disabled{opacity:.35;cursor:not-allowed}.teacher-picker{max-width:440px;margin:22px 0 18px;display:grid;gap:7px;color:#4e596a;font-size:11px;font-weight:800}.teacher-picker>span{display:flex;align-items:center;gap:9px}.teacher-picker select{width:100%;padding:10px;border:1px solid var(--border);border-radius:9px;background:#fff;color:var(--navy);font-weight:750}.teacher-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.teacher-detail-grid>div{padding:18px;border:1px solid var(--border);border-radius:12px}.teacher-detail-grid h3{margin:0 0 12px;font-size:14px}.teacher-detail-grid h3:not(:first-child){margin-top:22px}.teacher-detail-grid ul{margin:0;padding-left:18px;color:#657080;font-size:12px;line-height:1.7}.unavailable-row{padding:10px 0;display:grid;grid-template-columns:20px .8fr 1.2fr auto auto;align-items:center;gap:8px;color:#755247;border-bottom:1px solid var(--border);font-size:12px}.unavailable-row span{display:grid;gap:2px}.unavailable-row small{color:var(--muted);font-size:9px}.unavailable-row button{padding:6px 8px;color:#566174;border:1px solid var(--border);border-radius:7px;background:#fff;font-size:9px;font-weight:750;cursor:pointer}.room-grid{margin-top:22px;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.room-grid button{padding:16px 12px;display:grid;gap:5px;color:inherit;border:1px solid var(--border);border-radius:12px;background:#fff;text-align:center;cursor:pointer}.room-grid button.active{border-color:#c69a35;box-shadow:0 0 0 2px #c69a3524}.room-grid svg{margin:0 auto 5px;color:#8a6a17}.room-grid strong{font-family:var(--display-font);font-size:30px}.room-grid small{color:var(--muted);font-size:10px}.room-grid b{margin-top:6px;color:#278260;font-size:10px}.room-example{margin-top:16px;padding:12px 14px;display:flex;align-items:center;gap:9px;color:#675626;border-radius:10px;background:#fff8e7;font-size:12px}.room-availability-editor{margin-top:18px;padding:18px;border:1px solid var(--border);border-radius:13px;background:#f8f9fb}.room-availability-editor h3{margin:0 0 3px}.room-availability-editor>div>span{color:var(--muted);font-size:11px}.room-availability-grid{margin:18px 0 12px;display:grid;grid-template-columns:90px repeat(5,minmax(100px,1fr));gap:5px;overflow-x:auto}.room-availability-grid>strong{padding:8px;color:#626d7b;text-align:center;font-size:11px}.room-availability-row{display:contents}.room-availability-row>span{padding:8px 5px;display:grid;align-content:center;font-size:11px;font-weight:800}.room-availability-row>span small{color:var(--muted);font-weight:500}.room-availability-row button{min-height:42px;color:#426b5b;border:1px solid #d4e6dc;border-radius:7px;background:#edf8f2;font-size:9px;font-weight:800;cursor:pointer}.room-availability-row button.unavailable{color:#894739;border-color:#efc7bc;background:#fff0eb}.schedule-cell{display:grid;justify-items:start;gap:5px}.schedule-cell small{max-width:180px;color:#9a4e3f;font-size:9px;line-height:1.3}.student-issue-detail{margin:0 22px 16px;padding:13px;display:flex;align-items:flex-start;gap:10px;color:#7c4438;border:1px solid #f0c9bf;border-radius:10px;background:#fff1ed}.student-issue-detail strong{display:block}.student-issue-detail p{margin:3px 0;color:#715c57;font-size:11px;line-height:1.5}.student-issue-detail small{font-weight:750}.calculation-warning{margin:14px 0;padding:12px;display:flex;align-items:flex-start;gap:9px;color:#785a18;border:1px solid #ead9a2;border-radius:9px;background:#fff9e8}.calculation-warning strong,.calculation-warning span{display:block}.calculation-warning span{margin-top:3px;font-size:11px;line-height:1.45}.rules-save-bar{margin-top:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:#f8fafc;color:var(--muted);font-size:12px}.rules-save-bar .secondary-button{flex:0 0 auto}.rules-list{margin-top:12px}.rule-row{padding:15px 6px;display:grid;grid-template-columns:42px 1fr 180px;align-items:center;gap:12px;border-top:1px solid var(--border)}.rule-toggle{width:36px;height:21px;padding:3px;border:0;border-radius:999px;background:#d4d8df;cursor:pointer}.rule-toggle span{width:15px;height:15px;display:block;border-radius:50%;background:#fff;transition:transform .15s ease}.rule-toggle:disabled{cursor:not-allowed;opacity:.7}.rule-toggle.enabled{background:#2b9372}.rule-toggle.enabled span{transform:translate(15px)}.rule-row>div{display:grid;grid-template-columns:max-content 1fr;gap:3px 8px}.rule-row strong{font-size:13px}.rule-row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}.rule-kind{color:#705d2b;font-size:9px;font-weight:850;text-transform:uppercase}.rule-kind.hard{color:#8a433c}.weight-control{display:grid;grid-template-columns:1fr auto;gap:5px;color:var(--muted);font-size:10px;font-weight:750}.weight-control input{grid-column:1/-1;width:100%;accent-color:#a47713}.mandatory-lock{display:inline-flex;align-items:center;justify-content:flex-end;gap:5px;color:#8a433c;font-size:11px;font-weight:750}.create-blocker{margin-top:10px;display:block;color:#9a5f48}.proposal-toolbar{margin-bottom:16px}.proposal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.proposal-card{padding:17px;display:grid;grid-template-columns:20px 1fr;gap:9px;color:inherit;border:1px solid var(--border);border-radius:13px;background:#fff;text-align:left;cursor:pointer}.proposal-card.active{border-color:#c69a35;box-shadow:0 0 0 2px #c69a3524}.proposal-radio{width:17px;height:17px;padding:3px;border:1px solid #bdc4cf;border-radius:50%}.proposal-card.active .proposal-radio{border-color:#b38114}.proposal-card.active .proposal-radio i{width:9px;height:9px;display:block;border-radius:50%;background:#c4911c}.proposal-card p{min-height:38px;margin:5px 0 12px;color:var(--muted);font-size:11px;line-height:1.5}.proposal-metrics{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px}.workspace-summary{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:750}.workspace-toolbar-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.workspace-toolbar-actions button:disabled{opacity:.45;cursor:not-allowed}.stale-calculation{margin-top:12px}.proposal-metrics span{padding:7px;display:grid;border-radius:7px;background:#f5f6f8;color:var(--muted);font-size:9px}.proposal-metrics b{color:var(--navy);font-size:15px}.proposal-metrics span.outside{background:#fff1ed;color:#8c4e42}.proposal-metrics span.outside b{color:#a34839}.schedule-workspace{margin-top:18px;padding:24px}.primary-button.confirmed{background:#287c61}.schedule-workspace-actions{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap}.schedule-expand-button{display:inline-flex;align-items:center;gap:7px}.schedule-board{margin-top:20px;display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:9px;overflow-x:auto}.schedule-day{min-height:340px;padding:10px;border:1px solid var(--border);border-radius:11px;background:#f7f8fa}.schedule-day>strong{margin-bottom:9px;display:block;color:#626d7b;font-size:12px;text-align:center}.session-card{width:100%;margin-bottom:7px;padding:10px;display:grid;gap:3px;position:relative;color:#24344f;border:1px solid #dbe1e9;border-left:3px solid #d2a12d;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.session-card.active{border-color:#b6881f;background:#fffaf0}.session-card>span{color:#8b6b20;font-size:10px;font-weight:850}.session-card>strong{font-size:12px}.session-card small,.session-card i{color:var(--muted);font-size:9px;font-style:normal}.session-card svg{position:absolute;top:8px;right:8px;color:#8b6b20}.session-editor-placeholder{margin-top:14px;padding:13px;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);border:1px dashed #ccd2dc;border-radius:9px;font-size:12px}.session-editor{margin-top:14px;padding:14px;display:grid;grid-template-columns:1.4fr repeat(3,.7fr) auto 34px;align-items:end;gap:10px;border:1px solid #dec989;border-radius:11px;background:#fffaf0}.session-editor>.fixed-session-locks{grid-column:auto}.session-editor h3{margin:0 0 3px;font-size:14px}.session-editor>div>span{color:var(--muted);font-size:10px}.session-editor label{display:grid;gap:5px;color:#6c7481;font-size:10px;font-weight:800}.session-editor select{min-width:0;padding:8px;border:1px solid var(--border);border-radius:7px;background:#fff;font-size:11px}.session-editor-save{display:grid;gap:4px;align-self:end}.session-editor-save small{color:var(--muted);font-size:9px}.session-editor-save .primary-button:disabled{opacity:.55;cursor:not-allowed}.lock-button{min-height:34px;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;color:#675626;border:1px solid #dec989;border-radius:7px;background:#fff;font-size:10px;font-weight:800;cursor:pointer}.lock-button.locked{color:#fff;background:#9a741a}.real-mode-placeholder{padding:28px;display:flex;align-items:center;gap:14px;color:#657080;border:1px dashed #ccd2dc;border-radius:12px;background:#f8f9fb}.real-mode-placeholder strong{color:var(--navy)}.real-mode-placeholder p{margin:5px 0 0;font-size:12px}@media(max-width:1100px){.room-grid{grid-template-columns:repeat(3,1fr)}.proposal-grid{grid-template-columns:1fr}.session-editor{grid-template-columns:1fr 1fr 1fr}.session-editor>div{grid-column:1/-1}}@media(max-width:780px){.teacher-detail-grid{grid-template-columns:1fr}.subject-plan-head{display:none}.subject-plan-row{grid-template-columns:1fr auto}.subject-plan-row>*:nth-child(n+3){grid-column:1/-1}.rule-row{grid-template-columns:38px 1fr}.weight-control,.mandatory-lock{grid-column:2}.schedule-workspace-head,.detail-heading,.proposal-toolbar{display:grid}.session-editor{grid-template-columns:1fr}.session-editor>div{grid-column:auto}.fixed-group-editor,.fixed-session-row{grid-template-columns:1fr}.fixed-session-row>*{grid-column:1}}.group-policy-editor{grid-column:1/-1;margin-top:6px;padding:18px;border:1px solid #d9dfeb;border-radius:12px;background:#fff;display:grid;gap:16px}.group-policy-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.group-policy-heading h3{margin:2px 0 5px}.group-policy-heading span{display:block;max-width:720px;color:var(--muted);font-size:12px;line-height:1.55}.policy-level-control{display:grid;grid-template-columns:190px minmax(180px,300px);gap:5px 14px;align-items:center;font-weight:800;color:var(--navy)}.policy-level-control select,.time-preference-title select,.simulation-history-bar select{height:38px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--navy)}.policy-level-control small{grid-column:2;color:var(--muted);font-weight:500;line-height:1.45}.time-preference-editor{padding:14px;border:1px solid var(--border);border-radius:10px;background:#f8fafc;display:grid;gap:9px}.time-preference-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.time-preference-title label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:750}.policy-chip-row{display:grid;grid-template-columns:125px repeat(6,minmax(52px,1fr));gap:6px;align-items:center}.policy-chip-row>span{font-size:10px;font-weight:800;color:var(--muted)}.policy-chip-row button{min-height:32px;padding:5px 7px;border:1px solid #ccd5e3;border-radius:7px;background:#fff;color:#526079;font-size:10px;font-weight:750}.policy-chip-row button.active{border-color:#a87909;background:#fff1c7;color:#6f4e00}.session-override-toggle{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:800;color:var(--navy)}.session-override-toggle input{accent-color:#2a7b5f}.session-policy-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.simulation-history-bar{margin-bottom:18px;padding:14px 16px;display:flex;align-items:center;gap:18px}.simulation-history-bar>div{display:grid;gap:3px;flex:1}.simulation-history-bar>div span{color:var(--muted);font-size:11px}.simulation-history-bar label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px;font-weight:750}.simulation-history-bar select{min-width:300px}.historical-pill{padding:8px 10px;border-radius:999px;background:#eef1f6;color:#59657a;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.05em}@media(max-width:1000px){.group-policy-heading,.simulation-history-bar{align-items:stretch;display:grid}.session-policy-grid{grid-template-columns:1fr}.policy-chip-row{grid-template-columns:110px repeat(3,1fr)}.simulation-history-bar select{min-width:0;width:100%}}@media(max-width:620px){.policy-level-control{grid-template-columns:1fr}.policy-level-control small{grid-column:auto}.policy-chip-row{grid-template-columns:1fr repeat(2,1fr)}}@media(max-width:430px){.room-grid{grid-template-columns:repeat(2,1fr)}.student-form-card{padding:22px 16px}}.policy-level-explanation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem .8rem;padding:.8rem 1rem;border:1px solid #e4e9f1;border-radius:12px;background:#f8fafc;color:var(--muted);font-size:.78rem;line-height:1.4}.policy-level-explanation b{color:var(--ink)}@media(max-width:760px){.policy-level-explanation{grid-template-columns:1fr}}.availability-form-grid{grid-template-columns:105px repeat(5,minmax(112px,1fr));gap:4px}.availability-form-row>span{min-height:34px;padding:5px 7px}.availability-form-row button{min-height:34px}.availability-form-row.break>span{min-height:16px;padding:1px 7px;color:#687180;background:#e5e7eb;font-size:9px}.availability-form-row.break>span small{display:none}.availability-break{min-height:16px!important;height:16px!important;display:grid!important;place-items:center!important;color:#707784!important;border:0;border-radius:4px;background:#e5e7eb;font-size:0!important;font-weight:800!important}.form-legend i.break{background:#d9dde3;border:1px solid #c8cdd5}.student-availability-matrix{display:grid;grid-template-columns:74px repeat(5,minmax(54px,1fr));gap:3px;overflow-x:auto}.student-availability-matrix>strong{padding:6px 2px;text-align:center;font-size:10px}.student-availability-row{display:contents}.student-availability-row>span{padding:5px;display:grid;font-size:9px;font-weight:800}.student-availability-row>span small{color:var(--muted);font-weight:500}.student-availability-row i{min-height:26px;display:grid;place-items:center;border-radius:5px;font-size:8px;font-style:normal}.student-availability-row i.free{background:#eff8f3}.student-availability-row i.busy{color:#854535;background:#fff0eb;font-weight:800}.student-availability-row.break>span{min-height:14px;padding:1px 5px;color:#687180;background:#e5e7eb}.student-availability-row.break>span small{display:none}.student-availability-row i.break{min-height:14px;height:14px;color:#707784;background:#e5e7eb;font-size:0}.teacher-color-dot{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 2px #ffffffa6}.schedule-occupation-card{width:100%;height:100%;min-height:110px;padding:4px 2px;display:flex;align-items:center;justify-content:center;color:var(--teacher-text-color,#101828);border:1px solid color-mix(in srgb,var(--teacher-color,#64748b) 76%,#101828);border-radius:0;background:var(--teacher-color,#64748b);text-align:left}.schedule-occupation-card strong{display:block;overflow:visible;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;font-size:10px;font-weight:500;line-height:1}.schedule-occupation-card.long-label strong{font-size:8.5px;letter-spacing:-.12px}.schedule-occupation-card.extra-long-label strong{font-size:7px;letter-spacing:-.18px}.teacher-room-preference{margin-top:20px;display:grid;gap:7px;color:#354156;font-size:12px;font-weight:800}.teacher-room-preference select{padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}.teacher-room-preference small{color:var(--muted);font-weight:500;line-height:1.45}.teacher-unavailable-editor{margin-top:16px;padding:14px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;border:1px solid var(--border);border-radius:10px;background:#f8f9fb}.teacher-unavailable-editor label{display:grid;gap:5px;color:#4e596a;font-size:10px;font-weight:800}.teacher-unavailable-editor input,.teacher-unavailable-editor select{min-width:0;padding:8px;border:1px solid var(--border);border-radius:7px;background:#fff}.teacher-unavailable-label{grid-column:1/-1}.teacher-unavailable-editor>.form-error,.teacher-unavailable-editor>.inline-actions{grid-column:1/-1}.fixed-group-selector{margin-top:14px;display:grid;gap:6px;color:#4e596a;font-size:10px;font-weight:800}.fixed-group-selector select{max-width:320px;padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}.room-occupation-editor{margin-top:18px;display:grid;grid-template-columns:1fr 1.15fr;gap:16px}.room-occupation-list,.room-occupation-form{padding:18px;border:1px solid var(--border);border-radius:13px;background:#f8f9fb}.room-occupation-list h3,.room-occupation-form h3{margin:0 0 12px}.room-occupation-list article{padding:11px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid var(--border)}.room-occupation-list article>div:first-child{display:grid;gap:3px}.room-occupation-list article span,.room-occupation-list article small{color:var(--muted);font-size:11px}.day-selector{display:flex;gap:5px;flex-wrap:wrap}.day-selector button{padding:7px 9px;border:1px solid var(--border);border-radius:8px;background:#fff;cursor:pointer}.day-selector button.active{color:#fff;border-color:var(--navy);background:var(--navy)}.occupation-fields{margin:14px 0;display:grid;grid-template-columns:1fr 1fr;gap:10px}.occupation-fields label{display:grid;gap:5px;color:#4e596a;font-size:11px;font-weight:800}.occupation-fields input{padding:9px;border:1px solid var(--border);border-radius:8px;background:#fff}.teacher-color-legend{margin:18px 0 10px;display:flex;gap:12px;flex-wrap:wrap}.teacher-color-legend span{display:flex;align-items:center;gap:6px;color:#586477;font-size:10px;font-weight:750}.teacher-color-legend i{width:11px;height:11px;border-radius:3px}.schedule-board-scroll{max-height:min(76vh,790px);overflow:auto;border:1px solid #cfd6e1;border-radius:12px;scrollbar-color:#929aa7 #eef1f5}.schedule-board{width:100%;min-width:1082px;display:grid;grid-template-columns:62px repeat(30,34px);grid-template-rows:44px 35px repeat(51,13.75px);column-gap:1px;row-gap:0;overflow:visible;background:#cfd6e1}.schedule-corner,.schedule-room-corner,.schedule-time-cell{grid-column:span 1;background:#f7f8fa}.schedule-day-heading{grid-column:span 6;padding:13px 10px;position:sticky;top:0;z-index:6;text-align:center;font-size:14px;font-weight:900;border-bottom:1px solid #cbd3df}.schedule-day-heading.day-tone-0,.schedule-room-heading.day-tone-0{background:#f8f9fb}.schedule-day-heading.day-tone-1,.schedule-room-heading.day-tone-1{background:#e9eef5}.schedule-room-heading{padding:9px 2px;display:grid;position:sticky;top:44px;z-index:5;text-align:center;font-size:11px;font-weight:900}.schedule-corner{padding:12px 4px;position:sticky;top:0;left:0;z-index:8;text-align:center;font-size:10px;font-weight:850}.schedule-room-corner{min-height:35px;position:sticky;top:44px;left:0;z-index:7}.schedule-time-cell{padding:10px 4px;display:grid;align-content:start;text-align:center;position:sticky;left:0;z-index:4;box-shadow:2px 0 #cfd6e1;border-top:1px solid #cfd6e1}.schedule-time-cell strong{font-size:10px}.schedule-time-cell small{color:var(--muted);font-size:8px}.schedule-matrix-cell{min-height:0;padding:0;background:#fff}.schedule-matrix-cell.day-tone-1{background:#f3f6fa}.schedule-room-heading.day-start,.schedule-matrix-cell.day-start{border-left:3px solid #9ea9ba}.schedule-matrix-cell.major-row{border-top:1px solid #cfd6e1}.schedule-positioned-card{z-index:2;min-height:0!important}.schedule-board .session-card{width:100%;height:100%;min-height:0;margin:0;padding:4px 2px;display:flex;align-items:center;justify-content:center;gap:1px;position:relative;color:var(--teacher-text-color,#101828);border:1px solid color-mix(in srgb,var(--teacher-color,#64748b) 76%,#101828);border-radius:0;background:var(--teacher-color,#64748b);text-align:left;box-shadow:none}.schedule-board .session-card:hover{filter:brightness(.92);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--teacher-text-color,#101828) 38%,transparent)}.schedule-board .session-card.active{border-color:#fff;box-shadow:inset 0 0 0 2px #252b86,0 0 0 1px #252b86}.schedule-board .session-card strong{display:block;overflow:visible;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;font-size:10px;font-weight:500;line-height:1}.schedule-board .session-card.long-label strong{font-size:8.5px;letter-spacing:-.12px}.schedule-board .session-card.extra-long-label strong{font-size:7px;letter-spacing:-.18px}.schedule-board .session-card .session-card-meta{display:block;overflow:visible;white-space:nowrap;writing-mode:vertical-rl;text-orientation:mixed;color:inherit;opacity:.84;font-size:8px;font-weight:750;line-height:1}.schedule-board .session-card svg{top:7px;right:6px;color:inherit}.proposal-report{margin-top:18px;padding-top:18px;border-top:1px solid #d9dee7}.proposal-report-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.proposal-report-head h3{margin:2px 0 5px;font-family:var(--display-font);font-size:21px}.proposal-report-head p:not(.eyebrow){max-width:720px;margin:0;color:var(--muted);font-size:11px;line-height:1.5}.proposal-report-search{min-width:270px;padding:9px 11px;display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:9px;background:#fff;color:#7a8493}.proposal-report-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;font-size:11px}.proposal-report-tabs{margin:14px 0 10px;display:flex;gap:7px;flex-wrap:wrap}.proposal-report-tabs button{padding:8px 11px;display:inline-flex;align-items:center;gap:7px;border:1px solid var(--border);border-radius:8px;background:#fff;color:#5e6878;font-size:10px;font-weight:800;cursor:pointer}.proposal-report-tabs button b{min-width:21px;padding:2px 5px;border-radius:999px;background:#eef1f5;color:#344054;text-align:center}.proposal-report-tabs button.active{color:#fff;border-color:var(--navy);background:var(--navy)}.proposal-report-tabs button.active b{background:#ffffff2e;color:#fff}.proposal-report-tabs button.active.danger{border-color:#a34839;background:#a34839}.proposal-report-tabs button.active.mixed{border-color:#7b61a8;background:#7b61a8}.proposal-report-tabs button.active.groups{border-color:#267a72;background:#267a72}.proposal-group-list{max-height:520px;overflow:auto;display:grid;gap:8px}.proposal-group{border:1px solid #d6dce6;border-radius:10px;background:#fff;overflow:hidden}.proposal-group summary{padding:11px 13px;display:grid;grid-template-columns:1fr auto 20px;align-items:center;gap:12px;cursor:pointer;list-style:none}.proposal-group summary::-webkit-details-marker{display:none}.proposal-group summary>span{display:flex;align-items:baseline;gap:8px}.proposal-group summary strong{color:#172642}.proposal-group summary small{color:#758092;font-size:10px}.proposal-group summary>b{padding:4px 8px;border-radius:999px;background:#e9f4f1;color:#267a72;font-size:9px}.proposal-group summary svg{color:#7c8797;transition:transform .15s ease}.proposal-group[open] summary svg{transform:rotate(90deg)}.proposal-group-students{padding:0 12px 12px;display:grid;gap:5px;border-top:1px solid #edf0f4;background:#fafbfc}.proposal-group-students article{padding:8px 4px;display:grid;grid-template-columns:minmax(210px,1fr) minmax(220px,1fr) minmax(220px,1fr);gap:12px;border-bottom:1px solid #e8ecf1;color:#4d5868;font-size:10px}.proposal-group-students article:last-child{border-bottom:0}.proposal-group-students article span,.proposal-group-students article strong,.proposal-group-students article small{display:block}.proposal-group-students article strong{color:#172642}.proposal-group-students article small{margin-bottom:2px;color:#8a93a1;font-size:9px}.proposal-report-table-wrap{max-height:430px;overflow:auto;border:1px solid #d6dce6;border-radius:10px;background:#fff}.proposal-report-table{width:100%;min-width:1050px;border-collapse:collapse;font-size:10px}.proposal-report-table th{padding:9px 10px;position:sticky;top:0;z-index:2;background:#eef1f5;color:#596476;text-align:left;font-size:9px;text-transform:uppercase;letter-spacing:.03em}.proposal-report-table th button{padding:0;display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:inherit;font:inherit;font-weight:850;text-transform:inherit;letter-spacing:inherit;cursor:pointer}.proposal-report-table th button span{color:#8a5e18;font-size:11px}.proposal-report-table td{padding:9px 10px;border-top:1px solid #edf0f4;color:#4d5868;vertical-align:top;line-height:1.35}.proposal-report-table td:first-child,.proposal-report-table td:nth-child(2){min-width:155px}.proposal-report-table td:nth-child(4),.proposal-report-table td:nth-child(5){min-width:170px}.proposal-report-table td:last-child{min-width:270px}.proposal-report-table td strong,.proposal-report-table td small{display:block}.proposal-report-table td strong{color:#172642}.proposal-report-table td small{margin-top:2px;color:#8a93a1}.report-status{padding:4px 7px;display:inline-block;border-radius:999px;background:#e7f5ef;color:#287c61;font-size:9px;font-weight:850}.report-status.mixed{background:#f0eafa;color:#73549f}.report-status.outside{background:#fff0ec;color:#a34839}.proposal-report-empty{padding:25px;color:var(--muted);text-align:center;font-size:11px}.workspace-save-message{margin:0 0 14px;padding:10px 13px;border:1px solid #b9ddcf;border-radius:9px;background:#eef9f4;color:#21765c;font-size:11px;font-weight:800}.workspace-save-message.saving{border-color:#d8dce4;background:#f5f7fa;color:#596476}.workspace-save-message.error{border-color:#efc4bb;background:#fff0ec;color:#a34839}.criteria-audit{margin-top:18px;padding-top:18px;border-top:1px solid #d9dee7}.criteria-audit-list{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.criteria-audit-item{padding:11px 12px;display:grid;grid-template-columns:82px 1fr;gap:11px;border:1px solid #d8dee7;border-radius:9px;background:#fff}.criteria-audit-state{align-self:start;padding:5px 7px;border-radius:999px;background:#eef1f5;color:#596476;text-align:center;font-size:9px;font-weight:850}.criteria-audit-item.met .criteria-audit-state{background:#e3f5ed;color:#21765c}.criteria-audit-item.partial .criteria-audit-state{background:#fff3d7;color:#8b6200}.criteria-audit-item.failed .criteria-audit-state{background:#ffebe7;color:#a34839}.criteria-audit-item strong,.criteria-audit-item small{display:block}.criteria-audit-item strong{color:var(--navy);font-size:11px}.criteria-audit-item small{margin-top:2px;color:#8a93a1;font-size:9px}.criteria-audit-item p{margin:6px 0 0;color:#556173;font-size:10px;line-height:1.45}.group-audit-details{margin-top:14px;display:grid;gap:8px}.group-audit-body{padding:10px 14px 12px;border-top:1px solid #edf0f4;background:#fafbfc}.group-audit-body p{margin:4px 0;color:#4f5c6d;font-size:10px;line-height:1.45}.proposal-group.has-exception{border-color:#e9c877}.proposal-group.has-exception summary>b{background:#fff3d7;color:#8b6200}.comparator-page{width:min(1480px,calc(100% - 48px))}.comparator-page-heading{margin-bottom:22px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.comparator-page-heading h1{margin:0;color:var(--ink);font-family:Georgia,Times New Roman,serif;font-size:clamp(32px,4vw,43px);line-height:1.08;letter-spacing:-.02em}.comparator-page-heading>div>p:last-child{margin:8px 0 0;color:var(--muted)}.comparator-refresh{flex:0 0 auto}.comparator-selector{padding:14px 16px;position:relative;z-index:9}.comparator-selector-toolbar,.comparator-selection-summary{display:flex;align-items:center;gap:14px}.comparator-selector-toolbar{justify-content:space-between}.comparator-selector-toolbar>span{color:var(--muted);font-size:10px}.comparator-selector-toolbar .primary-button svg{transition:transform .15s ease}.comparator-selector-toolbar .primary-button svg.is-open{transform:rotate(180deg)}.comparator-selector-panel{width:min(520px,calc(100% - 32px));max-height:520px;padding:13px;display:grid;gap:10px;position:absolute;top:61px;left:16px;z-index:12;overflow:auto;border:1px solid #cfd7e3;border-radius:11px;background:#fff;box-shadow:0 18px 45px #14223e33}.comparator-search{width:100%}.comparator-subject-options{display:grid}.comparator-subject-option{padding:9px 3px;border-bottom:1px solid #e8ecf2}.comparator-subject-option:last-child{border-bottom:0}.comparator-subject-option label{display:flex;align-items:center;gap:8px;color:var(--navy);font-size:11px;cursor:pointer}.comparator-subject-option label>span{margin-left:auto;color:var(--muted);font-size:9px}.comparator-subject-option>div{margin-top:7px;padding-left:26px;display:grid;gap:6px}.comparator-subject-option>div label{font-weight:650}.comparator-subject-option label.is-disabled{opacity:.5;cursor:not-allowed}.comparator-subject-option input{accent-color:#263c70}.comparator-selection-summary{margin-top:12px;padding-top:11px;border-top:1px solid #e6eaf0}.comparator-selection-chips{min-width:0;display:flex;flex:1;flex-wrap:wrap;gap:6px}.comparator-selection-chip{padding:5px 7px;display:inline-flex;align-items:center;gap:5px;color:#705306;border:1px solid #e5cc87;border-radius:999px;background:#fff6d8;font-size:9px;font-weight:800}.comparator-selection-chip button{padding:0;display:grid;border:0;background:transparent;cursor:pointer}.comparator-no-selection{color:var(--muted);font-size:10px}.comparator-selection-summary>strong{flex:0 0 auto;color:var(--navy);font-size:11px}.comparator-clear{padding:6px 4px;flex:0 0 auto;color:#815b08;border:0;background:transparent;font-size:10px;font-weight:800;cursor:pointer}.comparator-clear:disabled{color:#aab1bd;cursor:not-allowed}.comparator-error{margin:12px 0;padding:10px 12px;display:flex;gap:7px;color:#87493d;border:1px solid #efc9bf;border-radius:9px;background:#fff1ed;font-size:11px}.comparator-workspace{margin-top:14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,34%);gap:14px;align-items:start}.comparator-grid-card{min-width:0;overflow:hidden;border-radius:13px}.comparator-grid-heading{padding:11px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.comparator-grid-heading strong{color:var(--navy);font-size:12px}.comparator-grid-heading span{color:var(--muted);font-size:9px}.comparator-grid{width:100%;display:grid;grid-template-columns:68px repeat(5,minmax(0,1fr));gap:1px;background:#d4dbe6}.comparator-grid>*{min-width:0;border:0;background:#fff}.comparator-grid-corner,.comparator-day{min-height:39px;display:grid;place-items:center;color:#455168;background:#eef2f7!important;font-size:10px;font-weight:850}.comparator-time{padding:4px 2px;display:grid;place-items:center;color:#4c596e;background:#f7f8fa!important;text-align:center;font-size:9px;font-weight:800}.comparator-time small{display:block;color:#87909f;font-size:8px;font-weight:500}.comparator-cell{min-height:43px;padding:4px 2px;display:grid;grid-template-columns:repeat(3,auto);align-content:center;justify-content:center;gap:4px;color:#3f4a5d;cursor:pointer;font-size:8.5px;font-weight:800}.comparator-cell:hover{background:#f5f7fa}.comparator-cell.good{background:#e6f4ed}.comparator-cell.medium{background:#fff4d8}.comparator-cell.bad{background:#ffede8}.comparator-cell.selected{position:relative;z-index:1;box-shadow:inset 0 0 0 2px #293f76}.comparator-time.break,.comparator-break{min-height:15px;color:#7b8491;background:#e5e8ed!important;font-size:7px}.comparator-break{display:block}.comparator-detail{max-height:calc(100vh - 112px);position:sticky;top:96px;overflow:hidden;border-radius:13px}.comparator-detail>header{padding:16px;border-bottom:1px solid var(--border);background:#fbfcfd}.comparator-detail>header h2{margin:0;color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:21px}.comparator-detail>header>span,.comparator-detail>header>small{margin-top:5px;display:block;color:var(--muted);font-size:9px;line-height:1.5}.comparator-detail-scroll{max-height:calc(100vh - 250px);overflow-y:auto}.comparator-detail-empty{min-height:360px;padding:30px;display:grid;place-items:center;align-content:center;gap:8px;color:var(--muted);text-align:center}.comparator-detail-empty strong{color:var(--navy)}.comparator-detail-empty span{font-size:10px;line-height:1.5}.comparator-student-section{padding:13px 14px}.comparator-student-section+.comparator-student-section{border-top:1px solid var(--border)}.comparator-student-section h3{margin:0 0 7px;display:flex;align-items:center;gap:6px;color:var(--navy);font-size:11px}.comparator-student-section h3 i{width:8px;height:8px;border-radius:50%;background:#718096}.comparator-student-section.yes h3 i{background:#2e8b68}.comparator-student-section.no h3 i{background:#bb5b4c}.comparator-student-section.pending h3 i{background:#a27a20}.comparator-student{width:100%;padding:8px 0;display:block;border:0;border-bottom:1px solid #ebeff4;background:transparent;text-align:left;cursor:pointer}.comparator-student:last-child{border-bottom:0}.comparator-student:hover strong{text-decoration:underline}.comparator-student>strong{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--navy);font-size:10px}.comparator-student>small{margin-top:3px;display:block;color:#9a5041;font-size:8px}.comparator-student-subjects{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px}.comparator-student-subjects b{padding:3px 5px;border-radius:5px;font-size:8px}.comparator-student-subjects b.confirmed{color:#1c674e;background:#e2f3eb}.comparator-student-subjects b.pending{color:#79580a;background:#fff1cb}.confirmed-schedule-legend{margin-top:12px;padding:9px 10px;display:flex;align-items:center;gap:7px;color:#354e7c;border:1px solid #bdcce6;border-radius:8px;background:#edf3ff;font-size:10px;font-weight:700}.availability-grid button.zilargi-occupied{color:#fff;background:#5473aa;cursor:not-allowed;opacity:1}.availability-grid button.zilargi-occupied.busy{background:linear-gradient(135deg,#5473aa 0 50%,#2b8b6b 50% 100%)}@media(max-width:1050px){.comparator-page{width:calc(100% - 30px)}.comparator-workspace{grid-template-columns:minmax(0,1fr) 300px}.comparator-cell{grid-template-columns:1fr;gap:1px}.comparator-grid{grid-template-columns:58px repeat(5,minmax(0,1fr))}}@media(max-width:780px){.comparator-page-heading,.comparator-selector-toolbar,.comparator-selection-summary{align-items:stretch;display:grid}.comparator-workspace{grid-template-columns:1fr}.comparator-detail{max-height:none;position:static}.comparator-detail-scroll{max-height:none}.comparator-grid{grid-template-columns:50px repeat(5,minmax(0,1fr))}.comparator-cell{min-height:52px;font-size:7.5px}.comparator-day{font-size:8px}.comparator-selector-panel{width:calc(100% - 24px);top:61px;left:12px}}@media(max-width:780px){.criteria-audit-list{grid-template-columns:1fr}}.schedule-workspace.is-expanded{margin:0;padding:16px 18px;display:block;position:fixed;inset:0;z-index:1000;overflow:auto;border:0;border-radius:0;background:#f7f8fb;box-shadow:none}.schedule-workspace.is-expanded .schedule-workspace-head{align-items:center}.schedule-workspace.is-expanded .teacher-color-legend{margin:8px 0}.schedule-workspace.is-expanded .schedule-board-scroll{max-height:calc(100vh - 225px);min-height:620px}.schedule-workspace.is-expanded .schedule-board{min-width:1048px;height:100%;min-height:620px;grid-template-columns:58px repeat(30,minmax(31px,1fr));margin-top:0}.schedule-workspace.is-expanded .schedule-matrix-cell{min-height:0}.schedule-workspace.is-expanded .session-editor-placeholder{margin-top:9px;padding:9px}.schedule-workspace.is-expanded .session-editor{margin-top:9px;padding:10px}@media(max-width:900px){.room-occupation-editor,.occupation-fields,.teacher-unavailable-editor{grid-template-columns:1fr}.teacher-unavailable-label,.teacher-unavailable-editor>.form-error,.teacher-unavailable-editor>.inline-actions{grid-column:auto}.proposal-report-head{display:grid}.proposal-report-search{min-width:0}.proposal-group-students article{grid-template-columns:1fr}}.comparator-degree-filter{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:9px;font-weight:800}.comparator-degree-filter select{min-width:92px;padding:6px 24px 6px 8px;color:var(--navy);border:1px solid #d8dee8;border-radius:7px;background:#fff;font:inherit}.comparator-proposal{margin-top:14px;padding:16px;border-radius:13px}.comparator-proposal-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.comparator-proposal-heading h2{margin:0;color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:22px}.comparator-proposal-heading>div>span{margin-top:4px;display:block;color:var(--muted);font-size:9px}.comparator-class-list{margin-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:10px}.comparator-class-card{padding:11px;display:grid;gap:9px;border:1px solid #dde3eb;border-radius:10px;background:#fafbfd;transition:opacity .15s ease}.comparator-class-card.disabled{opacity:.55;background:#f1f3f6}.comparator-class-card header{display:flex;align-items:center;justify-content:space-between;color:var(--navy);font-size:11px}.comparator-class-card header>div{display:flex;align-items:center;gap:7px}.comparator-class-card header button{padding:3px;display:grid;color:#955044;border:0;background:transparent;cursor:pointer}.comparator-class-card label{display:grid;gap:4px;color:var(--muted);font-size:8px;font-weight:800}.comparator-class-card .comparator-class-toggle{display:flex;align-items:center;gap:4px;color:#38517e;cursor:pointer}.comparator-class-toggle input{accent-color:#2a7b5f}.comparator-class-card select{width:100%;padding:7px;color:var(--navy);border:1px solid #d5dce7;border-radius:7px;background:#fff;font-size:10px}.comparator-class-periods{display:flex;gap:5px}.comparator-class-periods span{padding:4px 6px;color:#314978;border:1px solid #cad6eb;border-radius:6px;background:#edf3ff;font-size:8px;font-weight:800}.comparator-class-card>b{color:#2e436d;font-size:9px}.comparator-comparison-summary{margin-top:15px;display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px}.comparator-comparison-summary article{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border-radius:9px}.comparator-comparison-summary article span{font-size:9px;font-weight:800}.comparator-comparison-summary article strong{font-size:20px}.comparator-comparison-summary .all{color:#236b51;background:#e4f3ec}.comparator-comparison-summary .some{color:#76570c;background:#fff2d0}.comparator-comparison-summary .none{color:#914d41;background:#ffebe6}.comparator-comparison-summary .pending{color:#586273;background:#eef1f5}.comparator-patterns{margin-top:9px;display:flex;align-items:center;flex-wrap:wrap;gap:6px;color:var(--muted);font-size:8px}.comparator-patterns span{padding:4px 7px;border-radius:999px;background:#f0f3f7}.comparator-comparison-table-wrap{margin-top:12px;max-height:430px;overflow:auto;border:1px solid #e0e5ec;border-radius:10px}.comparator-comparison-table{width:100%;border-collapse:collapse;font-size:9px}.comparator-comparison-table th{position:sticky;top:0;z-index:1;color:#556176;background:#eef2f7;text-align:left}.comparator-comparison-table th,.comparator-comparison-table td{padding:8px 10px;border-bottom:1px solid #e7ebf0;vertical-align:top}.comparator-comparison-table th small{margin-top:2px;display:block;font-size:7px;font-weight:500}.comparator-comparison-table td button{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.comparator-comparison-table td button strong{display:block;color:var(--navy);font-size:9px}.comparator-comparison-table td button small,.comparator-comparison-table td>small{margin-top:3px;display:block;color:var(--muted);font-size:7px;line-height:1.35}.comparison-state{padding:3px 6px;display:inline-block;border-radius:999px;font-weight:900}.comparison-state.yes{color:#226a50;background:#e1f2ea}.comparison-state.no{color:#934d40;background:#ffebe6}.comparison-state.pending{color:#76611f;background:#fff2ca}.comparator-proposal-empty{margin-top:14px;padding:22px;color:var(--muted);border:1px dashed #d7dde6;border-radius:9px;background:#fafbfd;text-align:center;font-size:10px}.comparator-proposal-actions{display:flex;align-items:center;gap:8px}.comparator-proposal-actions button svg{transition:transform .15s ease}.comparator-proposal-actions button svg.is-open{transform:rotate(180deg)}.comparator-proposal-collapsed{margin-top:10px;padding-top:10px;display:flex;align-items:center;gap:10px;color:var(--muted);border-top:1px solid #e4e8ee;font-size:9px}.comparator-proposal-collapsed span{padding:4px 7px;border-radius:999px;background:#eef2f7;font-weight:800}.comparator-proposal-collapsed strong{color:var(--navy);font-size:9px}.comparator-degree-filter{position:relative}.comparator-degree-filter>button{min-width:118px;padding:6px 8px;display:flex;align-items:center;justify-content:space-between;gap:7px;color:var(--navy);border:1px solid #d8dee8;border-radius:7px;background:#fff;font:inherit;cursor:pointer}.comparator-degree-filter>button:disabled{opacity:.55;cursor:not-allowed}.comparator-degree-filter>button svg{transition:transform .15s ease}.comparator-degree-filter>button svg.is-open{transform:rotate(180deg)}.comparator-degree-panel{width:220px;max-height:280px;padding:7px;display:grid;gap:2px;position:absolute;top:calc(100% + 7px);right:0;z-index:14;overflow:auto;border:1px solid #cfd7e3;border-radius:9px;background:#fff;box-shadow:0 14px 36px #14223e2e}.comparator-degree-panel label,.comparator-degree-all{width:100%;padding:7px;display:flex;align-items:center;gap:7px;color:var(--navy);border:0;border-radius:6px;background:transparent;font-size:9px;text-align:left;cursor:pointer}.comparator-degree-panel label:hover,.comparator-degree-all:hover{background:#f2f5f9}.comparator-degree-panel input{accent-color:#263c70}.comparator-degree-panel label>span,.comparator-degree-all>span{margin-left:auto;color:var(--muted);font-size:8px}.comparator-degree-all{border-bottom:1px solid #e8ecf2;border-radius:0;font-weight:800}.comparator-alternatives{margin-top:12px;padding:12px;border:1px solid #cdd9ea;border-radius:10px;background:#f4f7fc}.comparator-alternatives>header{display:flex;align-items:center;justify-content:space-between;gap:14px}.comparator-alternatives>header>div{display:grid;gap:3px}.comparator-alternatives>header strong{color:var(--navy);font-size:10px}.comparator-alternatives>header span{color:var(--muted);font-size:8px}.comparator-alternatives>header>b{padding:5px 7px;color:#28634f;border-radius:7px;background:#dff0e8;font-size:8px}.comparator-alternative-list{margin-top:10px;display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:7px}.comparator-alternative-list button{padding:9px;display:grid;grid-template-columns:1fr auto;gap:3px 8px;color:var(--navy);border:1px solid #d6dfec;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.comparator-alternative-list button:hover{border-color:#96aac8;background:#f9fbff}.comparator-alternative-list button:disabled{opacity:.5;cursor:not-allowed}.comparator-alternative-list button span{font-size:9px;font-weight:800}.comparator-alternative-list button strong{color:#267054;font-size:9px}.comparator-alternative-list button small{grid-column:1/-1;color:var(--muted);font-size:7px}.comparator-alternative-filter{display:flex!important;align-items:flex-end;gap:8px!important}.comparator-alternative-filter label{display:grid;gap:3px;color:var(--muted);font-size:7px;font-weight:800}.comparator-alternative-filter select{padding:5px 22px 5px 7px;color:var(--navy);border:1px solid #cad5e5;border-radius:6px;background:#fff;font-size:8px}.comparator-alternative-filter b{padding:5px 7px;color:#28634f;border-radius:7px;background:#dff0e8;font-size:8px;white-space:nowrap}.comparator-alternative-groups{margin-top:10px;display:grid;gap:11px}.comparator-alternative-groups>section{display:grid;grid-template-columns:82px 1fr;align-items:start;gap:8px}.comparator-alternative-groups h3{margin:10px 0 0;color:var(--navy);font-size:11px}.comparator-alternative-groups h3 small{margin-top:2px;display:block;color:var(--muted);font-size:7px;font-weight:500}.comparator-alternative-groups .comparator-alternative-list{margin-top:0}.comparator-alternatives-empty{margin:10px 0 0;color:var(--muted);font-size:9px}.comparator-distribution{margin-top:14px;padding:16px;border-radius:13px}.comparator-distribution-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.comparator-distribution-heading h2{margin:0;color:var(--navy);font-family:Georgia,Times New Roman,serif;font-size:22px}.comparator-distribution-heading>div>span{margin-top:4px;display:block;color:var(--muted);font-size:9px}.comparator-distribution-heading button svg{transition:transform .15s ease}.comparator-distribution-heading button svg.is-open{transform:rotate(180deg)}.distribution-toolbar{margin-top:14px;padding:10px 12px;display:flex;align-items:end;justify-content:space-between;gap:12px;border-radius:9px;background:#f3f6fa}.distribution-toolbar label{display:grid;gap:4px;color:var(--muted);font-size:8px;font-weight:800}.distribution-toolbar select{padding:7px 26px 7px 8px;color:var(--navy);border:1px solid #d5dce7;border-radius:7px;background:#fff;font-size:9px}.distribution-toolbar>span{color:var(--muted);font-size:9px;font-weight:750}.distribution-plan-grid{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.distribution-plan-grid>article{padding:11px;display:grid;gap:9px;border:1px solid #dbe2ec;border-radius:10px;background:#fafbfd}.distribution-plan-grid>article>header{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--navy);font-size:11px}.distribution-plan-grid>article>header label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:8px}.distribution-plan-grid>article>header input{width:48px;padding:5px;color:var(--navy);border:1px solid #d5dce7;border-radius:6px;background:#fff}.distribution-session-editor{padding:8px;display:grid;grid-template-columns:1fr 1fr;gap:7px;border:1px solid #e3e8ef;border-radius:8px;background:#fff}.distribution-session-editor>strong,.distribution-session-editor>span{grid-column:1/-1}.distribution-session-editor>strong{color:#344a75;font-size:9px}.distribution-session-editor label{display:grid;gap:3px;color:var(--muted);font-size:7px;font-weight:800}.distribution-session-editor select{min-width:0;width:100%;padding:6px;color:var(--navy);border:1px solid #d9dfe8;border-radius:6px;background:#fff;font-size:8px}.distribution-session-editor>span{color:#4e6080;font-size:8px;font-weight:800}.distribution-plan-error{color:#9a4d40;font-size:8px}.distribution-solutions{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.distribution-solutions>article{padding:12px;border:1px solid #dbe2eb;border-radius:10px;background:#fff}.distribution-solutions>article>header{display:flex;align-items:center;justify-content:space-between;color:var(--navy);font-size:11px}.distribution-solutions>article>header b{font-size:17px}.distribution-solutions>article>div{margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.distribution-solutions>article>div span{padding:7px;display:flex;align-items:center;justify-content:space-between;color:#5d6879;border-radius:7px;background:#f4f6f9;font-size:8px}.distribution-solutions>article>footer{margin-top:9px;display:flex;flex-wrap:wrap;gap:5px}.distribution-solutions>article>footer span{padding:4px 6px;color:#53627a;border-radius:6px;background:#eef2f7;font-size:8px}.distribution-table-wrap{margin-top:10px;max-height:390px;overflow:auto;border:1px solid #e0e5ec;border-radius:10px}.distribution-table{width:100%;border-collapse:collapse;font-size:9px}.distribution-table th{position:sticky;top:0;z-index:1;color:#556176;background:#eef2f7;text-align:left}.distribution-table th,.distribution-table td{padding:8px 10px;border-bottom:1px solid #e7ebf0}.distribution-table td button{padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.distribution-table td button strong,.distribution-table td button small{display:block}.distribution-table td button strong{color:var(--navy);font-size:9px}.distribution-table td button small{margin-top:2px;color:var(--muted);font-size:7px}.distribution-route{padding:4px 7px;display:inline-block;border-radius:999px;font-weight:900}.distribution-route.stable{color:#236a50;background:#e1f2ea}.distribution-route.mixed{color:#76580e;background:#fff1cb}.distribution-solutions>article>header b{font-size:10px}.distribution-route-counts{margin-top:10px;display:grid;gap:5px}.distribution-route-counts>strong,.distribution-solutions>article>footer>strong{color:#566176;font-size:8px}.distribution-route-counts>div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.distribution-route-counts span{padding:7px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#536078;border-radius:7px;background:#eef3f8;font-size:8px}.distribution-route-counts span strong{color:var(--navy)}.distribution-solutions>article>footer{display:grid;gap:5px}.distribution-solutions>article>footer>div{display:grid;grid-template-columns:1fr 1fr;gap:5px}.distribution-solutions>article>footer>div span{display:grid;grid-template-columns:76px 1fr;gap:4px}.distribution-solutions>article>footer>div span b{color:var(--navy)}@media(max-width:780px){.comparator-proposal-heading,.comparator-alternatives>header,.comparator-distribution-heading,.distribution-toolbar{align-items:stretch;display:grid}.comparator-comparison-summary{grid-template-columns:1fr 1fr}.comparator-degree-filter{justify-content:space-between}.comparator-alternative-filter{align-items:stretch;display:grid!important}.comparator-alternative-groups>section,.distribution-plan-grid,.distribution-solutions{grid-template-columns:1fr}.comparator-alternative-groups h3{margin:0}.comparator-comparison-table-wrap,.distribution-table-wrap{max-height:none}.comparator-comparison-table,.distribution-table{min-width:680px}}
