.school-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px}.school-stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}.school-stats .surface{padding:24px;display:flex;flex-direction:column;gap:12px}.school-stats small{font-size:.68rem;letter-spacing:.08em;color:#637788;font-weight:700}.school-stats strong{font-size:1.7rem;color:#183946}.school-stats .stat-link strong{font-size:1.1rem}.stat-link{text-decoration:none}.school-filters{display:flex;gap:16px;flex-wrap:wrap;align-items:end;padding:20px}.school-filters>div{flex:1;min-width:150px}.school-filters label{font-size:.82rem;font-weight:600;margin-bottom:6px}.school-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.school-panel{padding:28px;min-width:0}.school-panel h2{font-size:1.35rem;color:#173d48}.school-panel h3{font-size:1.05rem}.school-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.school-actions .form-select{width:auto;max-width:100%}.school-list-item{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #e7eef0;padding:16px 0;color:#214552;text-decoration:none}.school-list-item span{font-size:.85rem;color:#657781}.school-ledger{display:grid;gap:12px}.ledger-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px}.ledger-row h3{font-size:1.05rem}.ledger-row p{font-size:.86rem;color:#677d85;margin:6px 0}.payment-state{font-size:.8rem;color:#177665}.payment-state.overdue{color:#a84125}.info-inset{background:#f2f7f7;border-radius:12px;padding:18px;margin:20px 0}.plan-price{font-size:1.5rem;color:#087f83}.plan-price small{font-size:.85rem}.count-pill{background:#e6f4f1;color:#1f7264;border-radius:20px;padding:4px 10px;font-size:.9rem}.roster-card{text-decoration:none;color:inherit;transition:box-shadow .2s}.roster-card:hover{box-shadow:0 8px 24px #183d4814}.school-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}.errorlist{color:#ac2f2f;padding-left:20px;font-size:.9rem}.profile-layout{display:grid;grid-template-columns:300px minmax(0,1fr);gap:24px;align-items:start}.profile-photo,.profile-monogram{width:100px;height:100px;border-radius:30px;object-fit:cover;margin-bottom:20px}.profile-monogram{display:grid;place-items:center;background:#dff1ec;color:#13745f;font-size:2.5rem;font-weight:700}.profile-identity h2{margin-top:16px}.profile-identity p{overflow-wrap:anywhere;font-size:.9rem;color:#6d8088}.profile-identity form{margin-top:18px}.profile-calendar .fc-toolbar-title{font-size:1rem}.profile-calendar .fc-toolbar{flex-wrap:wrap;gap:12px}.print-choice{display:flex;align-items:center;gap:16px;padding:16px 4px;border-bottom:1px solid #e5eeed;cursor:pointer}.print-choice input{width:19px;height:19px;flex-shrink:0;accent-color:#087f83}.print-choice span{display:flex;flex-direction:column;gap:4px}.print-choice small{color:#647d86}.print-sheet{display:none}.stage{text-align:center;padding:14px;background:#e8eff0;border-radius:60% 60% 8px 8px;letter-spacing:.24em;font-size:.8rem;color:#59737e;margin:28px auto;max-width:600px}.seat-scroll{max-width:100%;overflow-x:auto;padding:10px 0 24px;overscroll-behavior-x:contain}.seat-row{display:flex;gap:6px;align-items:center;margin:8px 0;min-width:max-content}.seat-row>strong{width:95px;font-size:.85rem;overflow-wrap:anywhere;flex-shrink:0}.seat,.seat-gap{display:inline-flex;width:44px;height:42px;flex-shrink:0;align-items:center;justify-content:center;border:1px solid #9ecdc1;border-radius:9px 9px 5px 5px;font-size:.75rem;background:#eef8f4;color:#285c50;padding:1px;overflow:hidden}.seat-gap{border:0;background:transparent}.seat.gap{border:1px dashed #c7d3d8;background:transparent;color:#9baeb5}.seat.accessible{background:#e9f2ff;border-color:#89ade1}.seat.blocked{background:repeating-linear-gradient(45deg,#eee,#eee 5px,#ddd 5px,#ddd 8px);color:#737373;border-color:#ccc}.seat.reserved{background:#ffedc8;color:#895a10;border-color:#efce8b}.seat.paid{background:#1e7164;color:#fff;border-color:#1e7164}.seat.selected{outline:3px solid #086db4;outline-offset:2px}.seat:disabled{cursor:not-allowed;opacity:1}.seat-legend{display:flex;flex-wrap:wrap;gap:16px;font-size:.85rem;color:#637b81}.seat-legend .reserved{color:#a27221}.seat-legend .paid{color:#1e7164}.editor-row{margin:20px 0;padding-bottom:14px;border-bottom:1px solid #dfe9e8;min-width:max-content}.editor-row .form-control{width:150px}.editor-row .btn{font-size:.78rem}.spaced{margin-top:28px}.app-nav{overflow-x:auto}.production-form #id_classes,.production-form #id_teachers{max-height:360px;overflow:auto;padding:12px;border:1px solid #dce7e5;border-radius:10px}.production-form #id_classes label{font-size:.85rem;display:flex;gap:10px;padding:8px}.production-form [hidden]{display:none!important}
@media(max-width:900px){.profile-layout{grid-template-columns:1fr}.profile-identity{display:block}.school-stats{grid-template-columns:1fr 1fr}.school-stats.four{grid-template-columns:1fr 1fr}.school-columns{grid-template-columns:1fr}}
@media(max-width:600px){.school-stats{gap:10px}.school-stats .surface{padding:16px}.school-stats strong{font-size:1.3rem}.school-stats .stat-link{grid-column:1/-1}.school-panel{padding:18px}.school-form-grid{grid-template-columns:1fr}.school-filters{padding:16px;gap:12px}.school-filters>div{min-width:120px}.ledger-row{align-items:start;flex-direction:column;padding:18px}.school-list-item{flex-direction:column;gap:4px}.seat-row>strong{width:70px}.school-actions .btn{white-space:normal}.school-stats small{font-size:.6rem}.section-heading{flex-wrap:wrap;gap:12px}.profile-calendar .fc .fc-toolbar{flex-direction:column;align-items:stretch}.profile-calendar .fc-toolbar-chunk{display:flex;justify-content:space-between}}
@media print{@page{size:A4 landscape;margin:12mm}body{background:white!important;color:#111}.app-header,.app-nav,.app-footer,.demo-label,.alert,.agenda-screen{display:none!important}.content-container{max-width:none!important;width:100%!important;padding:0!important;margin:0!important}.print-sheet{display:block!important}.print-sheet h1{font-size:20px}.print-sheet p{font-size:12px}.print-sheet table{width:100%;border-collapse:collapse;font-size:11px}.print-sheet th,.print-sheet td{padding:9px;border:1px solid #ccc;text-align:left}.print-sheet thead{display:table-header-group}.print-sheet tr{break-inside:avoid}}

.seat-map{width:max-content;margin:0 auto}

.map-gestures{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.map-gestures span{background:#f1f7f6;padding:12px 16px;border-radius:12px;font-size:.85rem}.map-gestures strong{display:block;color:#176e62}.seat.obese{background:#f3eaff;border-color:#b89bdb;color:#63358a}.seat-kind-options{display:grid;gap:10px;margin-top:20px}.seat-kind-options legend{font-size:1rem;font-weight:600}.seat-kind-options label{border:1px solid #dce8e5;border-radius:10px;padding:12px;display:flex;gap:12px;align-items:center;cursor:pointer}.seat-kind-options label:has(:checked){background:#e9f6f1;border-color:#258170}.seat-custom-label{display:flex;gap:10px;margin-top:12px;font-size:.85rem}.editor-row .seat{touch-action:manipulation;user-select:none;-webkit-touch-callout:none}.seat.gap:empty::after{content:'·';color:#9eafb5}

.obese-legend{color:#8956b0}

.selection-summary{padding:20px;background:#edf7f2;border:1px solid #c4dfd3;border-radius:14px;margin:20px 0;overflow-wrap:anywhere}.selection-summary p{margin:8px 0 0;font-size:1.1rem;font-weight:600}.trial-priority{background:#fff4d9;border:1px solid #e9cb80;padding:20px;border-radius:14px;margin:20px 0}.seat.issued{background:#77569f;border-color:#77569f;color:white}[data-new-student][hidden],[data-guardian][hidden]{display:none!important}
.seat.selected{background:#086db4;color:#fff;border-color:#086db4;outline:2px solid #086db4;outline-offset:2px}
