@font-face{font-family:Neue Montreal;src:url(/fonts/NeueMontreal-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal;src:url(/fonts/NeueMontreal-Medium.otf)format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Neue Montreal;src:url(/fonts/NeueMontreal-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}:root{--eleve-orange:#ff6f3c;--eleve-orange-light:#ffb09a;--eleve-orange-dark:#d94e1f;--eleve-teal:#1ac2c2;--eleve-teal-dark:#0f9494;--eleve-purple:#8a2be2;--eleve-gray:#848484;--eleve-dark:#2d2d2d;--eleve-light:#f8f9fa;--ink:var(--eleve-dark);--muted:#767676;--paper:var(--eleve-light);--line:#f0f0f0;--green:var(--eleve-teal);--soft:#1ac2c21f;--orange:var(--eleve-orange);--white:#fff;--radius:16px;--font-sans:"Neue Montreal", "DM Sans", Inter, -apple-system, BlinkMacSystemFont, sans-serif;--shadow-card:0 2px 16px #00000014;--shadow-btn:0 4px 14px #ff6f3d59}.theme-team{--eleve-orange:#0d7a7a;--eleve-orange-dark:#095c5c;--eleve-orange-light:#8fd3d3;--orange:var(--eleve-orange);--green:#0d7a7a;--shadow-btn:0 4px 14px #0d7a7a4d}.auth-page .brand-name span,.teacher-portal .brand-name span{color:var(--eleve-orange)}.auth-other{color:var(--muted);margin-top:18px;font-size:14px}.auth-other a{color:var(--eleve-orange-dark);font-weight:500;text-decoration:underline}*{box-sizing:border-box}body{color:var(--eleve-gray);background:var(--paper);font-family:var(--font-sans);margin:0;font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button,a,input,select,textarea,summary{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--eleve-orange)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-weight:700}h1{letter-spacing:-.02em;margin-bottom:12px;font-size:36px;line-height:1.1}h2{letter-spacing:-.01em;margin-bottom:12px;font-size:23px}h3{margin-bottom:7px;font-size:19px;font-weight:500}small{color:var(--muted);font-size:14px}hr{border:0;border-top:1px solid var(--line);margin:24px 0}label{flex-direction:column;gap:7px;margin-bottom:18px;font-size:14px;font-weight:650;display:flex}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #e2e2e2;border-radius:10px;min-height:43px;padding:11px 13px}textarea{resize:vertical;line-height:1.65}input:read-only{background:#f8f9fa}.muted{color:var(--muted)}.grow{flex:1;min-width:0}.between{justify-content:space-between;align-items:center;gap:16px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.button{border:2px solid #0000;border-radius:9999px;justify-content:center;align-items:center;gap:16px;min-height:45px;padding:12px 22px;font-weight:500;line-height:1.4;transition:transform .3s cubic-bezier(.16,1,.3,1),background .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1);display:inline-flex}.button:hover{transform:scale(1.05)}.button:disabled:hover{transform:none}.primary{background:var(--eleve-orange);color:#fff;box-shadow:var(--shadow-btn)}.primary:hover{background:var(--eleve-orange-dark)}.secondary{border-color:var(--eleve-teal);color:var(--eleve-teal);background:#fff}.secondary:hover{background:var(--eleve-teal);color:#fff}.danger{color:#a5412e;background:#fff4f0;border-color:#f1d9d0}.full{width:100%;margin-top:12px}.text-button{color:var(--green);background:0 0;border:0;padding:8px 0;font-weight:650}.icon-button{border:1px solid var(--line);background:#fff;border-radius:50%;place-items:center;width:35px;min-width:35px;height:35px;font-size:25px;display:grid}.brand{color:var(--ink);align-items:center;gap:12px;line-height:1;display:flex}.brand img{object-fit:contain;width:42px;height:42px}.brand-name{text-align:left;letter-spacing:-.03em;color:var(--ink);font-size:32px;font-weight:700}.brand-name span{letter-spacing:.08em;text-transform:uppercase;color:var(--eleve-gray);margin-top:6px;font-size:13px;font-weight:500;display:block}.eyebrow{color:var(--orange);letter-spacing:1.8px;margin-bottom:13px;font-size:13px;font-weight:750;display:block}.avatar{width:48px;height:48px;color:var(--green);background:#e8f8f8;border-radius:15px;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;display:inline-grid}.avatar.small{border-radius:50%;width:36px;height:36px;font-size:13px}.avatar.large{width:64px;height:64px;margin-bottom:15px;font-size:25px}.badge{white-space:nowrap;color:#667975;background:#eef1f0;border-radius:7px;padding:5px 9px;font-size:13px;font-weight:700;display:inline-block}.badge.scheduled{color:#0f7f7f;background:#e8f8f8}.badge.completed,.badge.approved,.badge.sent{color:#2f7a45;background:#e7f6ec}.badge.cancelled,.badge.failed{color:#a25b43;background:#f9e9e2}.badge.no_show,.badge.pending,.badge.received,.badge.review{color:#8a7136;background:#f7efdb}.subject-chip{color:#5f5f5f;background:#f3f3f3;border-radius:7px;padding:5px 10px;font-size:13px;font-weight:650;display:inline-block}.notice,.inline-notice{color:#9a4a26;background:#fff4ef;border:1px solid #ffd9c9;border-radius:12px;margin:16px 0;padding:15px 17px;font-size:15px}.inline-notice{background:var(--soft);color:var(--green);border-color:#c9eeee}.error{color:#913f34;background:#fff0eb;border-color:#efd0c7}.toast{z-index:100;border:1px solid #efd0c7;border-radius:14px;max-width:440px;padding:17px 20px;position:fixed;top:20px;right:20px;box-shadow:0 8px 40px #183d4422}.toast button{color:inherit;background:0 0;border:0;margin-left:12px;font-size:22px}.demo-notice{color:#846a39;background:#fcf2dd;border-bottom:1px solid #ede1c6;align-items:center;gap:14px;padding:10px 32px;font-size:13px;display:flex}.demo-notice strong{letter-spacing:1px;font-size:13px}.demo-notice button{color:inherit;white-space:nowrap;background:0 0;border:0;margin-left:auto;font-size:13px;text-decoration:underline}.shell{grid-template-columns:252px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;height:100vh;padding:35px 23px;display:flex;position:sticky;top:0}.sidebar .brand{margin:2px 10px 48px}.sidebar-label{color:#8a8a8a;letter-spacing:1.5px;margin:0 12px 15px;font-size:12px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-item{text-align:left;color:#5f5f5f;white-space:nowrap;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:13px 12px;font-size:14px;font-weight:550;display:flex}.nav-item.active{background:var(--soft);color:var(--eleve-teal-dark);font-weight:700}.nav-symbol{text-align:center;width:21px;font-size:20px}.nav-count{background:var(--eleve-teal);color:#fff;border-radius:5px;margin-left:auto;padding:0 6px;font-size:13px}.sidebar-foot{margin-top:auto;padding:24px 12px 0;font-size:14px;font-weight:700}.school-dot{background:var(--eleve-orange);border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block}.workspace{min-width:0}.topbar{border-bottom:1px solid var(--line);height:76px;color:var(--muted);background:#fff;justify-content:space-between;align-items:center;padding:0 38px;font-size:14px;display:flex}.topbar-right{align-items:center;gap:18px;display:flex}.role-picker{flex-direction:row;align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.role-picker select{width:170px;min-height:32px;padding:6px 10px;font-size:13px}.content{max-width:1440px;margin:0 auto;padding:35px 38px 0}.page-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:29px;display:flex}.page-heading h1{font-size:32px}.page-heading p{margin-bottom:0;font-size:15px}.date-pill{white-space:nowrap;border:1px solid var(--line);background:#fff;border-radius:9px;margin-top:17px;padding:9px 12px;font-size:13px}.section{margin:28px 0 36px}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.section-heading h2{margin:0;font-size:20px}.section-heading>span{color:var(--muted);font-size:13px}.section-heading label{margin:0}.section-heading .teacher-search-field{width:min(100%,360px)}.journey{border:1px solid var(--line);color:#8a8a8a;background:#fff;border-radius:13px;align-items:center;gap:17px;padding:18px 23px;font-size:13px;display:flex}.journey span{white-space:nowrap;gap:9px;display:flex}.journey b{font-weight:600}.journey i{background:#ececec;flex:1;height:1px}.journey .done{color:var(--green)}.student-grid{flex-wrap:wrap;gap:15px;display:flex}.student-hint{margin:14px 0 0}.student-card{border:1px solid var(--line);min-width:265px;box-shadow:var(--shadow-card);text-align:left;color:var(--ink);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:17px 20px;display:flex}.student-card strong{font-size:15px;display:block}.student-card small{margin-top:3px;font-size:13px;display:block}.student-card.selected,.teacher-card.selected,.day-button.selected{border-color:var(--eleve-teal);background:var(--soft);box-shadow:0 0 0 1px var(--eleve-teal)}.selection-dot{border:1px solid #d9d9d9;border-radius:50%;place-items:center;width:17px;height:17px;margin-left:15px;font-size:13px;display:grid}.selected .selection-dot{background:var(--eleve-teal);border-color:var(--eleve-teal);color:#fff}.teacher-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.teacher-card{border:1px solid var(--line);box-shadow:var(--shadow-card);text-align:left;color:var(--ink);background:#fff;border-radius:16px;padding:22px;transition:transform .3s cubic-bezier(.16,1,.3,1)}.teacher-card:hover{transform:translateY(-8px);box-shadow:0 8px 32px #00000024}.teacher-card h3{margin:19px 0 4px;font-size:18px}.teacher-card p{color:var(--muted);margin-bottom:20px;font-size:13px}.teacher-avatar{color:#966e43;background:#f1e9df}.teacher-card:nth-child(2) .teacher-avatar{color:#617e8e;background:#e9ecef}.teacher-card:nth-child(3) .teacher-avatar{color:#877392;background:#eeebf2}.teacher-card-foot{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;padding-top:12px;font-size:13px;display:flex}.teacher-card-foot strong{color:var(--eleve-orange);font-size:22px}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);background:#fff;padding:26px}.panel .section-heading p{margin:5px 0 0;font-size:14px}.compact-label{font-size:13px}.compact-label input{min-height:35px;padding:6px 10px;font-size:13px}.dates{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:9px;margin-bottom:22px;padding:20px 0;display:flex}.day-button{border:1px solid var(--line);min-width:47px;color:var(--ink);background:#fff;border-radius:11px;flex:1;padding:11px 5px}.day-button strong{font-size:21px;display:block}.day-button small{text-transform:uppercase;font-size:12px;display:block}.availability-key{color:var(--muted);align-items:center;gap:6px;font-size:13px;display:flex}.availability-key i{background:#1ac2c2;border-radius:50%;width:6px;height:6px;display:block}.slot-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.slot{color:var(--eleve-teal-dark);background:#fff;border:1px solid #d9f3f3;border-radius:12px;padding:12px 8px}.slot:hover{background:var(--soft);border-color:var(--green)}.slot strong,.slot small{display:block}.slot strong{font-size:17px}.slot small{margin-top:3px;font-size:12px}.footnote{color:var(--muted);margin:19px 0 0;font-size:13px}.content-footer{border-top:1px solid var(--line);color:#8a8a8a;justify-content:space-between;gap:15px;margin-top:40px;padding:25px 0;font-size:13px;display:flex}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.metric{border:1px solid var(--line);background:#fff;border-radius:15px;flex-direction:column;padding:21px;display:flex}.metric>span{color:var(--muted);font-size:13px}.metric strong{color:var(--ink);letter-spacing:-.03em;margin:8px 0;font-size:40px;line-height:1.4}.metric.accent{background:var(--eleve-orange);color:#fff;border-color:var(--eleve-orange)}.metric.accent strong{color:#fff}.metric.accent span,.metric.accent small{color:#ffe3d8}.appointment-list{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.appointment-row{text-align:left;width:100%;color:var(--ink);background:#fff;border:0;border-bottom:1px solid #f0f0f0;align-items:center;gap:20px;padding:19px 22px;display:flex}.appointment-row:last-child{border-bottom:0}.appointment-row:hover{background:#fafafa}.time-block{border-right:1px solid var(--line);min-width:64px;padding-right:18px}.time-block strong,.time-block small{display:block}.time-block strong{font-size:18px}.time-block small{margin-top:3px;font-size:12px}.appointment-person{flex:1;min-width:0}.appointment-person strong,.appointment-person small,.appointment-person span{display:block}.appointment-person strong{font-size:14px}.appointment-person small{font-size:13px}.appointment-person span{color:#0f7f7f;margin-top:4px;font-size:13px}.appointment-place{color:#5f5f5f;width:160px;font-size:13px}.appointment-place small{font-size:12px;display:block}.row-arrow{color:#8a8a8a;font-size:18px}.support-card{background:#fff4ef;border-radius:17px;justify-content:space-between;align-items:center;gap:25px;padding:28px 30px;display:flex}.support-card h2{font-size:24px}.support-card p{color:var(--muted);margin:0;font-size:14px}.support-card .eyebrow{color:#d94e1f;font-size:12px}.filters{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:18px;display:flex}.filters label{min-width:125px;margin:0;font-size:13px}.filters input,.filters select{min-height:36px;padding:8px 10px;font-size:13px}.segmented{background:#f0f0f0;border-radius:10px;padding:4px;display:flex}.segmented button{color:var(--muted);background:0 0;border:0;border-radius:7px;padding:6px 16px;font-size:13px}.segmented button.active{color:var(--green);background:#fff;box-shadow:0 1px 3px #0000000b}.week-calendar{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:repeat(7,minmax(120px,1fr));display:grid;overflow-x:auto}.calendar-day{border-right:1px solid var(--line);min-height:300px;padding:12px}.calendar-day h3{margin-bottom:20px;font-size:13px}.calendar-event{border:0;border:1px solid var(--line);color:var(--ink);text-align:left;background:#e8f8f8;border-radius:7px;width:100%;margin-bottom:10px;padding:9px;display:block}.calendar-event strong,.calendar-event span,.calendar-event small{font-size:13px;display:block}.calendar-event small{margin-top:6px;font-size:12px}.resource-grid,.integration-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;display:grid}.resource-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:23px}.resource-card.inactive{opacity:.6}.resource-card h3{margin-top:18px;font-size:18px}.resource-card p{color:var(--muted);overflow-wrap:anywhere;font-size:14px}.resource-card small{font-size:13px;display:block}.resource-time{letter-spacing:-.5px;font-size:22px}.card-actions{border-top:1px solid var(--line);gap:20px;margin-top:16px;padding-top:12px;font-size:13px;display:flex}.feedback-list{gap:13px;display:grid}.feedback-card{border:1px solid var(--line);text-align:left;color:var(--ink);background:#fff;border-radius:16px;align-items:center;gap:20px;padding:23px;display:flex}.feedback-card strong,.feedback-card small{display:block}.feedback-card strong{font-size:15px}.feedback-card small{margin:3px 0 10px;font-size:13px}.feedback-card p{color:var(--muted);margin-bottom:0;font-size:13px}.feedback-card .text-link{color:var(--green);white-space:nowrap;font-size:13px}.catalog-list{border:1px solid var(--line);background:#fff;border-radius:13px}.catalog-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:17px 21px;font-size:14px;display:flex}.catalog-row p{color:var(--muted);margin:4px 0 0;font-size:13px}.empty{min-height:140px;color:var(--muted);text-align:center;background:#fff6;border:1px dashed #d9d9d9;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;padding:28px;font-size:14px;display:flex}.empty p{margin:10px 0 0}.empty-mark{color:#a0a0a0;font-size:25px}.modal-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0e2d3f66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:23px;width:min(790px,100%);max-height:90vh;padding:29px;overflow-y:auto;box-shadow:0 24px 100px #0b233642}.modal>.between{margin-bottom:22px}.modal>.between h2,.modal>.between h3{margin:0}.modal p{font-size:15px}.modal form{margin-top:15px}.confirmation{border:1px solid var(--line);text-align:center;background:#f8f9fa;border-radius:15px;margin:22px 0;padding:26px}.confirmation h3{font-size:23px}.confirmation p{color:var(--muted);font-size:14px}.confirm-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.confirm-grid strong,.confirm-grid small{display:block}.confirm-grid strong{margin-top:6px;font-size:15px}.confirm-grid small{letter-spacing:1px;font-size:12px}.meeting-summary{border:1px solid var(--line);background:#e8f8f8;border-radius:12px;flex-direction:column;gap:8px;margin:20px 0;padding:20px;display:flex}.meeting-summary>span{font-size:14px}.meeting-summary .badge{align-self:flex-start}.form-grid{grid-template-columns:2fr 1fr 1fr;gap:13px;display:grid}.availability-toolbar{margin-bottom:18px}.availability-toolbar label{min-width:240px}.availability-toolbar p{flex:1;min-width:220px;margin:0;font-size:13px}.class-picker{border:1px solid var(--line);background:#fff;border-radius:14px;gap:12px;margin:-6px 0 18px;padding:16px 18px;display:grid}.class-picker .segmented{flex-wrap:wrap;justify-self:start}.class-chips{flex-wrap:wrap;gap:8px;display:flex}.class-chip{border:1px solid var(--line);cursor:pointer;border-radius:999px;flex-direction:row;align-items:center;gap:7px;margin:0;padding:7px 12px;font-size:13px;display:inline-flex}.class-chip input{width:16px;height:16px;min-height:0;accent-color:var(--eleve-teal-dark);margin:0}.class-chip.on{background:var(--soft);border-color:#b9ecec}.class-chip.all{font-weight:650}.class-chip:not(.all){font-weight:500}.class-chip small{color:var(--muted);font-size:11px}.class-summary{color:var(--muted);margin:0;font-size:13px}.class-summary.warn{color:var(--eleve-orange-dark)}.shift-list{gap:6px;max-height:60vh;margin:14px 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.shift-list label{border:1px solid var(--line);border-radius:10px;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:8px 10px;font-size:14px;display:flex}.shift-list select{width:auto;min-width:130px}.month-calendar{border:1px solid var(--line);background:#fff;border-radius:16px;padding:18px}.month-header{margin-bottom:14px}.month-header h3{margin:0}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}.month-weekday{color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.04em;font-size:12px}.month-day{border:1px solid var(--line);min-height:86px;color:var(--ink);text-align:left;background:#fff;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px;display:flex}.month-day:hover:not(:disabled){border-color:var(--green)}.month-day strong{font-size:15px}.month-day small{color:var(--eleve-teal-dark);font-size:12px}.month-day small.booked{color:var(--eleve-orange-dark)}.month-day.has-slots{background:var(--soft);border-color:#b9ecec}.month-day.today{box-shadow:inset 0 0 0 2px var(--eleve-orange)}.month-day:disabled{color:#a0a0a0;cursor:default;background:#f7f7f7}.month-day.has-slots:disabled{background:#eef6f6}.month-legend{color:var(--muted);flex-wrap:wrap;gap:18px;margin-top:14px;font-size:12px;display:flex}.month-legend span{align-items:center;gap:6px;display:flex}.month-legend i{border:1px solid var(--line);border-radius:4px;width:12px;height:12px;display:block}.legend-slots{background:var(--soft);border-color:#b9ecec!important}.legend-today{box-shadow:inset 0 0 0 2px var(--eleve-orange)}.legend-past{background:#f7f7f7}.day-title{color:var(--muted);margin-top:-12px}.form-grid.day-options{grid-template-columns:1fr 1fr}.slot-checks{border:0;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin:18px 0 8px;padding:0;display:grid}.slot-checks legend{margin-bottom:10px;font-size:14px;font-weight:600}.slot-check{border:1px solid var(--line);cursor:pointer;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;column-gap:7px;margin:0;padding:9px 10px;display:grid}.slot-check input{width:16px;height:16px;min-height:0;accent-color:var(--eleve-teal-dark);grid-row:span 2;margin:0}.slot-check strong{font-size:14px}.slot-check small{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.slot-check.on{background:var(--soft);border-color:#b9ecec}.slot-check.locked{cursor:not-allowed;background:#fff4ef;border-color:#ffd5c4}.slot-check.locked small{color:var(--eleve-orange-dark)}.day-error{color:var(--eleve-orange-dark);background:#fff1ec;border:1px solid #efd0c7;border-radius:12px;padding:12px 14px;font-size:14px}.day-bulk{gap:16px;margin-bottom:4px;display:flex}.review-columns{grid-template-columns:1fr 1fr;gap:22px;display:grid}.feedback-attachment{border:1px solid var(--line);border-radius:12px;margin:20px 0;padding:16px}.feedback-attachment legend{padding:0 6px;font-weight:600}.attachment-toggle{align-items:center;gap:10px;min-height:44px;display:flex}.attachment-toggle input{width:18px;height:18px;min-height:18px;margin:0}.review-columns small{margin-top:12px;font-size:13px;display:block}.original-text{white-space:pre-wrap;border:1px solid var(--line);background:#f8f9fa;border-radius:12px;min-height:190px;margin-bottom:17px;padding:19px;font-size:14px}.email-preview{border:1px solid var(--line);border-radius:12px;margin:23px 0;overflow:hidden}.email-preview summary{cursor:pointer;padding:14px 17px;font-size:14px;font-weight:600}.email-header{background:var(--eleve-dark);color:#fff;justify-content:space-between;align-items:center;padding:27px;display:flex}.email-header strong{letter-spacing:-1.3px;font-size:29px}.email-header span{font-size:13px}.email-body{padding:26px}.preserve-lines{white-space:pre-wrap;font-size:15px}.integration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-grid h3{margin:0}.auth-page{text-align:center;max-width:700px;margin:auto;padding:55px 22px}.auth-page>.brand{margin-bottom:35px;display:inline-flex}.auth-card{text-align:left;border:1px solid var(--line);box-shadow:var(--shadow-card);background:#fff;border-radius:24px;max-width:480px;margin:25px auto;padding:40px}.auth-card.wide{max-width:660px}.auth-card h1{font-size:29px}.auth-card p{font-size:15px}.auth-card form{margin-top:25px}.auth-links{justify-content:flex-end;margin-top:12px;display:flex}.auth-switch{border-top:1px solid var(--line);color:var(--ink);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin-top:24px;padding-top:22px;font-weight:500;display:flex}.auth-switch .button{min-height:42px;padding:9px 20px}.auth-footer{color:var(--muted);border-top:1px solid var(--line);margin-top:25px;padding-top:20px;font-size:13px;line-height:1.9}.auth-footer a{color:var(--green);text-decoration:underline}.auth-page>.muted{font-size:13px}.loading-page{max-width:800px;margin:auto;padding:60px}.loading-page .brand{margin-bottom:40px}.skeleton{background:#ececec;border-radius:15px;height:140px;animation:1.5s infinite pulse}@keyframes pulse{50%{opacity:.45}}.landing{max-width:1260px;margin:auto;padding:32px 50px}.landing-nav{justify-content:space-between;align-items:center;display:flex}.landing-hero{align-items:center;min-height:70vh;padding:70px 0;display:grid}.landing-hero h1{letter-spacing:-2.9px;margin:22px 0;font-size:59px;line-height:1.05}.landing-hero p{color:var(--muted);max-width:470px;font-size:18px;line-height:1.8}.landing-footer{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:28px;padding:28px 0 12px;display:flex}.landing-school{color:var(--muted);margin:0;font-size:14px}.menu-toggle,.demo-short,.week-empty{display:none}.modal-footer{z-index:1;border-top:1px solid var(--line);background:#fff;margin:18px -29px -29px;padding:14px 29px 20px;position:sticky;bottom:-29px}.modal-footer .full{margin-top:0}.modal-footer .notice{margin:0}.modal-footer .day-error{margin:0 0 12px}.day-save{justify-content:space-between;align-items:center;gap:14px;display:flex}.day-total{color:var(--muted);margin:0;font-size:14px}@media (min-width:1550px){.content{padding-left:60px;padding-right:60px}.teacher-card{padding:28px}.panel{padding:32px}}@media (max-width:1150px){.shell{grid-template-columns:224px minmax(0,1fr)}.sidebar{padding:30px 13px}.content{padding:28px 23px 0}.topbar{padding:0 23px}.teacher-grid,.resource-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.appointment-place{width:130px}.landing-hero h1{font-size:46px}.landing{padding:30px}.dates{gap:6px}}@media (max-width:760px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--line);height:auto;padding:20px 18px 0;position:static}.sidebar .brand{margin:0 0 19px}.sidebar .brand-name{font-size:26px}.sidebar .brand-name span{margin-top:7px;font-size:12px}.sidebar-label,.sidebar-foot{display:none}.sidebar nav{flex-direction:row;gap:6px;margin:0 -18px;padding:0 12px 12px;overflow-x:auto}.nav-item{padding:9px 12px;font-size:13px}.nav-symbol{display:none}.topbar{height:58px;padding:0 18px;font-size:13px}.topbar-right{gap:9px}.role-picker{font-size:0}.role-picker select{width:140px;font-size:13px}.demo-notice{align-items:flex-start;gap:8px;padding:10px 18px}.demo-notice strong{margin-top:2px;font-size:12px}.demo-notice span,.demo-notice button{font-size:12px}.content{padding:26px 18px 0}.page-heading{margin-bottom:23px}.page-heading h1{font-size:28px}.page-heading p{font-size:13px}.date-pill{display:none}.eyebrow{letter-spacing:1.4px;font-size:12px}.journey{gap:8px;padding:15px 12px;font-size:12px}.journey span{gap:5px}.journey i{min-width:4px}.section-heading{align-items:flex-start}.section-heading h2{font-size:18px}.section-heading>span{text-align:right;max-width:130px;font-size:12px}.student-grid{grid-template-columns:1fr;width:100%;display:grid}.student-card{width:100%;min-width:0;padding:15px}.student-card .selection-dot{margin-left:auto}.teacher-grid{grid-template-columns:1fr}.teacher-card{padding:21px}.teacher-card h3{margin-top:15px}.teacher-card p{margin-bottom:12px}.panel{padding:18px 13px}.day-button strong{font-size:17px}.day-button small{font-size:11px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.slot{padding:11px 5px}.slot strong{font-size:16px}.slot small{font-size:11px}.compact-label{width:150px;font-size:12px}.compact-label input{padding:6px;font-size:13px}.metric-grid{gap:11px}.metric{padding:17px}.metric>span{font-size:13px}.metric strong{font-size:32px}.appointment-row{flex-wrap:wrap;gap:11px;padding:15px 12px}.time-block{min-width:51px;padding-right:10px}.time-block strong{font-size:16px}.appointment-person strong{font-size:13px}.appointment-person small{font-size:12px}.appointment-place{display:none}.badge{padding:4px 6px;font-size:12px}.row-arrow{display:none}.support-card{padding:24px;display:block}.support-card h2{font-size:21px}.support-card .button{width:100%;margin-top:20px}.filters{gap:10px;padding:14px}.filters label{width:calc(50% - 5px);min-width:0}.filters .grow{flex:auto;width:100%}.resource-grid,.integration-grid{grid-template-columns:1fr}.resource-card{padding:21px}.section-heading .button{min-height:44px;padding:10px 13px;font-size:13px}.feedback-card{flex-wrap:wrap;gap:12px;padding:17px}.feedback-card .avatar{border-radius:12px;width:37px;height:37px;font-size:14px}.feedback-card .grow{min-width:200px}.feedback-card>div:last-child{margin-left:48px}.feedback-card p{font-size:13px}.content-footer{align-items:flex-start;font-size:12px}.modal-backdrop{padding:12px}.modal{border-radius:18px;max-height:94vh;padding:22px 18px}.modal h2{font-size:21px}.confirm-grid{gap:10px}.confirm-grid strong{font-size:13px}.confirm-grid small{font-size:12px}.review-columns{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr 1fr}.form-grid label:first-child{grid-column:1/-1}.form-grid.day-options{grid-template-columns:1fr}.month-calendar{padding:12px}.month-grid{gap:4px}.month-day{align-items:center;min-height:48px;padding:6px}.month-day small{display:none}.month-day.has-slots:after{content:"";background:var(--eleve-teal);border-radius:50%;width:6px;height:6px}.availability-toolbar label{width:100%;min-width:0}.auth-page{padding:32px 16px}.auth-card{padding:27px 22px}.auth-card h1{font-size:26px}.auth-page .demo-notice{border-radius:10px}.landing{padding:23px}.landing-nav .brand-name{font-size:28px}.landing-hero{padding:55px 0}.landing-hero h1{letter-spacing:-1.7px;font-size:43px}.landing-hero p{font-size:16px}.landing-school{font-size:13px}.toast{max-width:none;font-size:14px;top:12px;left:12px;right:12px}.catalog-row{font-size:13px}.loading-page{padding:35px 20px}.actions .button{flex:100%}.menu-toggle{border:1px solid var(--line);background:var(--soft);width:100%;min-height:48px;color:var(--eleve-teal-dark);text-align:left;border-radius:12px;align-items:center;gap:10px;margin-bottom:12px;padding:0 14px;font-size:15px;display:flex}.menu-toggle>span:first-child{color:var(--muted);letter-spacing:1px;text-transform:uppercase;font-size:12px;font-weight:650}.menu-toggle strong{flex:1}.sidebar nav.compact{flex-direction:column;gap:2px;margin:0 0 12px;padding:0;display:none;overflow:visible}.sidebar nav.compact.open{display:flex}.sidebar nav.compact .nav-item{padding:0 12px;font-size:15px}.sidebar nav.compact .nav-symbol{display:inline}.nav-item{min-height:44px}.demo-notice{align-items:center;padding:0 18px}.demo-notice strong{margin-top:0}.demo-long{display:none}.demo-short{display:inline}.week-calendar{grid-template-columns:1fr;overflow:hidden}.calendar-day{border-right:0;border-bottom:1px solid var(--line);min-height:0;margin-bottom:-1px}.calendar-day.empty{display:none}.calendar-day h3{margin-bottom:10px}.calendar-event:last-child{margin-bottom:0}.week-empty{text-align:center;color:var(--muted);margin:0;padding:24px;display:block}.dates{grid-template-columns:repeat(7,minmax(0,1fr));gap:10px 4px;display:grid;overflow:visible}.dates .icon-button{grid-row:1;width:44px;min-width:44px;height:44px;font-size:24px}.dates .icon-button:first-child{grid-column:1/span 2;justify-self:start}.dates .icon-button:last-child{grid-column:6/span 2;justify-self:end}.day-button{grid-row:2;min-width:0;padding:9px 2px}.modal-footer{margin:16px -18px -22px;padding:12px 18px 16px;bottom:-22px}.slot-checks{grid-template-columns:repeat(2,minmax(0,1fr))}.original-text{min-height:0}.catalog-heading{flex-direction:column;align-items:stretch}.catalog-heading label,.catalog-heading .button{width:100%}}@media (max-width:760px),(pointer:coarse){.text-button,.demo-notice button,.segmented button,.auth-footer a,.calendar-event{min-height:44px}.text-button,.auth-footer a{align-items:center;display:inline-flex}.demo-notice button{margin-right:-8px;padding:0 8px}.icon-button{width:44px;min-width:44px;height:44px}.email-preview summary{min-height:44px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.booking{max-width:880px}.stepper{border:1px solid var(--line);background:#fff;border-radius:13px;padding:16px 20px}.stepper-count{color:var(--ink);margin:0 0 10px;font-size:13px;font-weight:650}.stepper ol{gap:8px;margin:0;padding:0;list-style:none;display:flex}.stepper li{color:#8a8a8a;white-space:nowrap;border-top:3px solid #ececec;flex:1;align-items:center;gap:8px;min-width:0;padding-top:10px;font-size:13px;display:flex}.stepper li span{background:#f1f1f1;border-radius:50%;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;font-weight:700;display:inline-grid}.stepper li.done{border-color:var(--eleve-teal);color:var(--eleve-teal-dark)}.stepper li.done span{background:var(--eleve-teal);color:#fff}.stepper li.current{border-color:var(--eleve-orange);color:var(--ink);font-weight:650}.stepper li.current span{background:var(--eleve-orange);color:#fff}.step{margin-top:24px}.step h2{margin-bottom:4px}.step h2:focus{outline:none}.step-lead{margin-bottom:20px;font-size:15px}.back-button{min-height:44px;color:var(--eleve-teal-dark);background:0 0;border:0;align-items:center;margin:0 0 8px -4px;padding:0 4px;font-weight:650;display:inline-flex}.month-bar{color:var(--ink);justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.day-list-note{background:var(--soft);color:var(--ink);border-radius:11px;margin:0 0 14px;padding:12px 14px;font-size:14px;line-height:1.45}.day-list{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px;display:grid}.pick-day{min-height:60px;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #b9ecec;border-radius:11px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;display:flex}.pick-day-week{color:var(--muted);font-size:13px}.pick-day strong{font-size:17px}.pick-day small{color:var(--eleve-teal-dark);font-size:13px;font-weight:650}.pick-day:hover{border-color:var(--green);background:var(--soft)}.pick-day.today{box-shadow:inset 0 0 0 2px var(--eleve-orange)}.pick-day.selected{border-color:var(--eleve-teal);box-shadow:0 0 0 1px var(--eleve-teal)}.day-teachers{gap:16px;display:grid}.teacher-slots{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);background:#fff;padding:20px}.teacher-slots header{align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.teacher-slots h3{margin:0 0 6px;font-size:18px}.teacher-slots small{margin-top:6px;font-size:13px;display:block}.teacher-slots .slot{min-height:48px}.summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 24px;margin:0;display:grid}.summary dt{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.summary dd{color:var(--ink);margin:3px 0 0;font-size:17px;font-weight:500}.step-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.done-mark{background:var(--soft);width:56px;height:56px;color:var(--eleve-teal-dark);border-radius:50%;place-items:center;margin-bottom:14px;font-size:28px;font-weight:700;display:inline-grid}@media (max-width:760px){.stepper{padding:13px 12px}.stepper ol{gap:5px}.stepper li{flex-direction:column;align-items:flex-start;gap:4px;font-size:12px}.stepper li:not(.current){text-overflow:ellipsis;overflow:hidden}.step{margin-top:18px}.step-lead{margin-bottom:16px;font-size:14px}.day-panel{box-shadow:none;background:0 0;border:0;padding:14px 0 0}.day-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pick-day{padding:10px 12px}.pick-day strong{font-size:16px}.teacher-slots{padding:16px 14px}.teacher-slots .slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.summary{grid-template-columns:1fr;gap:12px}.summary dd{font-size:16px}.step-actions{z-index:5;padding:12px 18px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f8f9faf5;flex-direction:column;margin:20px -18px 0;position:sticky;bottom:0}.step-actions .button{width:100%}}.teacher-portal{max-width:1120px;margin:0 auto;padding:28px}.teacher-header,.teacher-pagination{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-header{margin-bottom:40px}.teacher-heading h1{margin-bottom:8px}.teacher-filters{flex-wrap:wrap;align-items:end;gap:16px;margin:24px 0;display:flex}.teacher-filters label{flex:170px;margin:0}.teacher-header-actions{align-items:center;gap:18px;display:flex}.teacher-password{gap:14px;display:grid}.teacher-password label,.teacher-password p{margin:0}.teacher-day{margin-top:28px}.teacher-day h2{font-size:1.15rem}.teacher-meetings{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.teacher-meetings h3{margin:16px 0}.teacher-meetings dl{margin:0}.teacher-meetings dl div{justify-content:space-between;gap:12px;padding:5px 0;display:flex}.teacher-meetings dd{text-align:right;color:var(--ink);overflow-wrap:anywhere;margin:0}.teacher-pagination{margin-top:28px}.teacher-access-row{border-bottom:1px solid var(--line);grid-template-columns:220px minmax(200px,1fr) 420px;align-items:center;gap:10px 20px;padding:14px 24px;display:grid}.teacher-access-row h3{margin:0;font-size:16px}.teacher-access-row>input{margin:0}.teacher-access-row>.notice,.teacher-temporary-password{grid-column:1/-1;margin:0}.teacher-temporary-password{color:var(--ink);gap:10px;margin:4px 0 0;display:grid}.teacher-temporary-password p{margin:0}.teacher-temporary-password label{max-width:430px}.teacher-temporary-password input{width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.teacher-access-controls{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 16px;font-size:14px;display:flex}.teacher-access-controls .button{min-height:40px;padding:8px 18px}.teacher-access-controls>.button{margin-left:auto}.teacher-access-toggle{color:var(--ink);flex-direction:row;align-items:center;gap:8px;margin:0;font-weight:500;display:flex}.teacher-access-toggle input{width:auto;margin:0}.access-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:13px;font-weight:500;display:inline-flex}.access-chip:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.access-chip.waiting{color:#b4461b;background:#fff3ec}.access-chip.ready{background:var(--soft);color:#0a6666}.access-chip.off{color:#666;background:#f1f1f1}@media (max-width:900px){.teacher-access-row{grid-template-columns:1fr}}@media (max-width:600px){.teacher-portal{padding:20px 16px}.teacher-header{margin-bottom:28px}.teacher-filters label{flex-basis:100%}.teacher-access-row{padding:16px}.teacher-meetings .between{flex-wrap:wrap;gap:8px}}.teacher-photo-image{object-fit:cover;border-radius:inherit;width:100%;height:100%}.teacher-photo-editor{align-items:flex-start;gap:16px;margin:20px 0;display:flex}.teacher-own-avatar{flex-shrink:0;width:64px;height:64px;overflow:hidden}.teacher-photo-controls{min-width:0}.teacher-photo-controls p{margin:4px 0 8px}.teacher-photo-controls .actions{flex-wrap:wrap;align-items:center}.teacher-photo-upload{cursor:pointer;margin:0;position:relative}.teacher-photo-upload:focus-within{outline:3px solid var(--eleve-orange);outline-offset:4px}.teacher-photo-upload[aria-disabled=true]{opacity:.5;cursor:not-allowed}.teacher-photo-upload input{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:600px){.teacher-photo-editor{gap:12px}}.access-links{gap:22px;min-width:0;display:grid}.access-links>.muted{overflow-wrap:anywhere;margin:0;font-size:14px}.access-block{border:1px solid var(--line);border-radius:var(--radius);background:#fff;min-width:0;padding:23px}.access-block header h2{margin:0;font-size:20px}.access-block header p{margin:6px 0 0;font-size:14px}.access-items{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px;display:grid}.access-item{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-direction:column;gap:8px;min-width:0;padding:18px;display:flex}.access-item.message{grid-column:1/-1}.access-item h3{margin:0;font-size:16px}.access-item>.muted{margin:0;font-size:13px}.access-url,.access-message{color:var(--ink);overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;background:#fff;border:1px solid #e4e4e4;border-radius:8px;padding:12px 14px;font-size:14px}.access-url{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.access-message{white-space:pre-wrap;line-height:1.55}.access-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:auto;padding-top:4px;display:flex}.access-status{min-width:0;color:var(--ink);flex:180px;margin:0;font-size:13px;font-weight:600}@media (max-width:900px){.access-items{grid-template-columns:minmax(0,1fr)}}@media (max-width:600px){.access-block{padding:18px}.access-item{padding:14px}.access-actions .button{width:100%}}.room-map-sr{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.room-map-toolbar{justify-content:space-between}.room-map-dates{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.room-map-dates .icon-button{margin-bottom:1px}.room-map-dates .button{min-height:36px;padding:6px 16px;font-size:13px}.room-map-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 20px;margin:22px 0 12px;display:flex}.room-map-heading h2{margin:0;font-size:18px}.room-map-legend{flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.room-map-legend li{align-items:center;gap:6px;display:flex}.room-map-legend small{color:var(--muted)}.room-map-hint{margin:0 0 10px;font-size:13px}.room-swatch,.room-cell{background:#fff}.room-swatch{border:1px solid #d6d6d6;border-radius:5px;width:18px;height:18px;display:block}.room-swatch.reservada,.room-cell.reservada{background:repeating-linear-gradient(135deg,#dff5f5 0 5px,#8fd3d3 5px 8px)}.room-swatch.ocupada,.room-cell.ocupada{background:radial-gradient(circle,#fff 0 3px,#0000 3.5px),#c2461b}.room-swatch.reservada{border-color:#8fd3d3}.room-swatch.ocupada{border-color:#c2461b}.room-map-scroll{border:1px solid var(--line);background:#fff;border-radius:14px;max-width:100%;position:relative;overflow-x:auto}.room-map-scroll:focus-visible{outline:3px solid var(--eleve-orange);outline-offset:2px}.room-map-grid{border-collapse:collapse;font-size:13px}.room-map-grid th,.room-map-grid td{border:1px solid #ececec;padding:0}.room-map-grid thead th{border-top:0}.room-map-corner,.room-map-room{z-index:1;text-align:left;background:#fff;min-width:180px;max-width:220px;position:sticky;left:0;box-shadow:1px 0 #e2e2e2}.room-map-corner{color:var(--muted);font-size:12px;padding:8px 12px!important}.room-map-room{font-weight:400;padding:8px 12px!important}.room-map-room strong,.room-map-room small{overflow-wrap:anywhere;display:block}.room-map-room small{color:var(--muted);font-size:12px}.room-map-tags{flex-wrap:wrap;gap:4px;margin-top:4px;display:flex}.room-size-tag{color:#555;white-space:nowrap;background:#f0f0f0;border-radius:6px;padding:2px 7px;font-size:11px;font-weight:650;display:inline-block}.room-size-tag.pequena{color:#0b6b6b;background:#e8f8f8}.room-size-tag.media{color:#3c4a8f;background:#eef0fb}.room-size-tag.grande{color:#9a3a16;background:#fdeee6}.room-size-tag.inactive{color:#7a6230;background:#f7efdb}.room-map-time{width:44px;min-height:40px;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:0;font-size:11px;font-weight:650;display:block}.room-map-time:hover{background:var(--soft)}.room-map-time:focus-visible,.room-cell button:focus-visible{outline-offset:-3px}.room-map-time,.room-cell button{scroll-margin:130px 0 0 230px}.room-cell{width:44px;height:44px;position:relative}.room-cell button{cursor:pointer;background:0 0;border:0;width:100%;height:44px;padding:0;display:block}.room-cell button:hover{box-shadow:inset 0 0 0 2px var(--ink)}.room-detail-title{margin:-4px 0 12px}.room-detail{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 18px;margin:0 0 14px;display:grid}.room-detail dt{color:var(--muted);font-size:12px}.room-detail dd{color:var(--ink);overflow-wrap:anywhere;margin:2px 0 0;font-weight:650}.room-free-list{margin:0;padding:0;list-style:none}.room-free-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.room-free-list small{color:var(--muted);font-size:12px;display:block}@media (max-width:760px){.room-map-dates{width:100%}.room-map-dates label{flex:1;width:auto}.room-map-toolbar>label{width:100%}.room-map-dates .button{min-height:44px}.room-map-corner,.room-map-room{min-width:124px;max-width:140px}.room-map-time,.room-cell button{scroll-margin-left:150px}.room-detail{grid-template-columns:1fr}}.booking-control{max-width:760px}.booking-control .actions{flex-wrap:wrap;margin-top:24px}.booking-block-check{flex-direction:row;align-items:center;gap:10px;margin-top:24px;font-weight:600;display:flex}.booking-block-check input{width:18px;height:18px}.booking-period-notice{border-left:4px solid var(--accent,#368b7c);background:var(--surface,#fff);border-radius:8px;padding:28px}.booking-period-notice h2{margin-top:0}.class-agenda-list{border:1px solid var(--line,#e1e4e0);background:var(--surface,#fff);border-radius:12px;overflow:hidden}.class-agenda-row{border-bottom:1px solid var(--line,#e1e4e0);grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:24px;padding:22px;display:grid}.class-agenda-row:last-child{border-bottom:0}.class-agenda-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.class-agenda-row .appointment-person{overflow-wrap:anywhere}@media (max-width:720px){.class-agenda-row{grid-template-columns:1fr;gap:14px;padding:18px}.class-agenda-actions{justify-content:flex-start}.booking-control .form-grid{grid-template-columns:1fr}}.booking-control .form-grid{grid-template-columns:1fr 1fr}@media (max-width:720px){.booking-control .form-grid{grid-template-columns:1fr}}.duplicate-banner,.duplicate-review{background:#fff6df;border:1px solid #e5c681;border-left:4px solid #a66a14;border-radius:12px;margin-bottom:24px;padding:20px}.duplicate-banner{justify-content:space-between;align-items:center;gap:20px;display:flex}.duplicate-banner p,.duplicate-review p{margin:8px 0}.duplicate-review h2{margin-top:0}.duplicate-review summary{cursor:pointer;padding:14px 0;font-weight:600}.duplicate-cards{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px;display:grid}.calendar-toolbar,.calendar-navigation{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-toolbar{margin:20px 0}.calendar-toolbar p{margin:6px 0 0}.calendar-scroll{border:1px solid var(--line);background:#fff;border-radius:12px;max-width:100%;overflow:auto}.class-calendar{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.class-calendar th,.class-calendar td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);vertical-align:top;padding:8px}.class-calendar thead th{background:#f0f4f1;padding:15px 8px}.class-calendar thead th span,.class-calendar thead th strong{display:block}.class-calendar th:first-child{z-index:1;background:#f0f4f1;width:76px;position:sticky;left:0}.class-calendar th:not(:first-child),.class-calendar td{width:205px;min-width:205px}.class-calendar tbody th{height:68px;font-size:13px}.class-calendar .calendar-today{background:#d9ebe1}.class-agenda-row.calendar-event{background:#eef5f0;border:1px solid #c8dbce;border-left:3px solid #397457;border-radius:8px;flex-direction:column;align-items:stretch;gap:8px;margin:0 0 8px;padding:12px;font-size:13px;display:flex}.calendar-event .appointment-person{flex-direction:column;gap:4px;display:flex}.calendar-event .badge{align-self:flex-start}.calendar-event .class-agenda-actions{justify-content:flex-start;gap:8px}.calendar-event .button{padding:7px 9px;font-size:12px}.calendar-event .text-button{font-size:12px}.calendar-event:has(.cancelled){background:#f5f5f3;border-color:#d4d6d2}.calendar-event.duplicate-event{background:#fff}.duplicate-label{color:#865411;font-weight:700}.calendar-scroll-hint{color:var(--muted);font-size:12px}@media (max-width:720px){.duplicate-banner{flex-direction:column;align-items:flex-start}.calendar-toolbar{flex-wrap:wrap}.duplicate-cards{grid-template-columns:1fr}}.class-calendar .sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (max-width:720px){.calendar-event .button,.calendar-event .text-button,.duplicate-review summary{min-height:44px}}.reception-sections{gap:1.5rem;display:grid}.reception-sections .panel{background:#fff;border:1px solid #dce5e3;border-radius:16px;padding:1.5rem}.desk-fields{border:0;min-width:0;margin:0;padding:0}.desk-fields .filters{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;display:grid}.desk-fields label{width:100%;min-width:0}.desk-fields select{max-width:100%}.desk-fields .slot-list{flex-wrap:wrap;gap:.5rem;display:flex}.desk-confirm{border:1px solid #b8cfca;border-radius:12px;margin-top:1rem;padding:1rem}@media (max-width:700px){.reception-sections .panel{padding:1rem}.desk-fields .filters{grid-template-columns:minmax(0,1fr);display:grid}}.desk-calendar{margin-top:20px}.desk-calendar .month-header h3{text-transform:capitalize;text-align:center}.desk-calendar .month-day.selected{background:var(--eleve-teal-dark);color:#fff;border-color:var(--eleve-teal-dark)}.desk-calendar .month-day.selected small{color:#fff}.desk-calendar .month-day:focus-visible{outline:3px solid var(--eleve-orange);outline-offset:2px}@media (max-width:700px){.desk-calendar{border:0;padding:10px 0}.desk-calendar .month-day small{display:block}.desk-calendar .month-day small span,.desk-calendar .month-day.has-slots:after{display:none}.desk-calendar .month-header h3{font-size:17px}}.appointment-row.staff-booking,.calendar-event.staff-booking:not(.duplicate-event){background:#f4efff;border-left:4px solid #7952b3}.appointment-row.staff-booking:hover{background:#ece2fc}.appointment-person .booking-origin,.calendar-event .booking-origin{color:#583283;font-size:12px;font-weight:700;line-height:1.5}.desk-teacher{gap:.5rem;max-width:420px;margin-top:1.5rem;display:grid}.desk-layout{grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);align-items:start;gap:2rem;display:grid}.desk-day{background:var(--soft);border-radius:16px;min-width:0;margin-top:20px;padding:1.25rem}.desk-times,.desk-booking-form{gap:1rem;display:grid}.desk-time{border-bottom:1px solid #dce5e3;justify-content:space-between;align-items:center;gap:.75rem;padding:.8rem 0;display:flex}.desk-time small{margin-top:.35rem;display:block}.desk-booking-form label{gap:.4rem;display:grid}.desk-booking-form select{width:100%}@media (max-width:1000px){.desk-layout{grid-template-columns:1fr;gap:1rem}}@media (max-width:420px){.desk-time{flex-direction:column;align-items:start}}
