:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{color:#26362f;background:#f7f4ef;margin:0;font-family:Arial,Helvetica,sans-serif}.page{place-items:center;min-height:100vh;padding:28px;display:grid}.panel{background:#fff;border-radius:24px;width:100%;max-width:660px;padding:clamp(30px,6vw,62px);box-shadow:0 18px 60px #213d2d14}.eyebrow{color:#748978;letter-spacing:.18em;font-size:11px;font-weight:700}h1{letter-spacing:-.06em;margin:16px 0 14px;font-size:clamp(42px,7vw,68px)}p{color:#53615a;font-size:17px;line-height:1.6}.status{color:#366744;background:#eaf3e8;border-radius:999px;align-items:center;gap:9px;margin:22px 0 30px;padding:10px 14px;font-size:13px;font-weight:700;display:inline-flex}.dot{background:#56a969;border-radius:50%;width:8px;height:8px}.modules{flex-wrap:wrap;gap:9px;display:flex}.modules span{color:#45574b;border:1px solid #dce5dc;border-radius:9px;padding:9px 13px;font-size:13px}.note{color:#839087;margin:32px 0 0;font-size:13px}.workspace{background:#f7f4ef;min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e5e9e3;justify-content:space-between;align-items:center;gap:16px;padding:20px max(24px,50vw - 580px);font-size:14px;display:flex}.topbar a,.modules a{color:#275d3d;font-weight:700;text-decoration:none}.topbar span{color:#748978}.content{max-width:1208px;margin:auto;padding:36px 24px 70px}.heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px;display:flex}.heading h1{margin:7px 0 0;font-size:clamp(40px,6vw,56px)}.heading p{margin:8px 0 0}.count{color:#748978;white-space:nowrap;font-size:13px}.columns{grid-template-columns:minmax(300px,380px) minmax(0,1fr);align-items:start;gap:22px;display:grid}.card{background:#fff;border:1px solid #e5e9e3;border-radius:18px;padding:26px;box-shadow:0 10px 36px #26362f0a}.card h2{margin:0 0 18px;font-size:23px}.hint{margin:-8px 0 16px;font-size:13px}.form{gap:16px;display:grid}.form label{color:#45574b;gap:7px;font-size:13px;font-weight:700;display:grid}input,select,textarea{color:#26362f;width:100%;font:inherit;background:#fff;border:1px solid #cdd8cf;border-radius:9px;padding:12px 13px}textarea{resize:vertical}button{color:#fff;font:inherit;cursor:pointer;background:#275d3d;border:0;border-radius:9px;padding:13px 18px;font-weight:700}button:disabled{opacity:.45;cursor:not-allowed}button.secondary{color:#275d3d;background:#eaf3e8}.panel form{margin-top:20px}.narrow{max-width:490px}.modules a{background:#eaf3e8;border:1px solid #9bc5a3;border-radius:9px;padding:9px 13px;font-size:13px}.search{gap:9px;margin-bottom:18px;display:flex}.rows{display:grid}.contact{border-top:1px solid #e5e9e3;padding:15px 0}.contact:first-child{border-top:0}.contact div{align-items:center;gap:10px;display:flex}.contact p{margin:5px 0;font-size:14px}.contact small{color:#687b6e;white-space:pre-wrap;display:block}.badge{color:#366744;background:#eaf3e8;border-radius:100px;padding:4px 9px;font-size:11px}.error,.success{border-radius:9px;padding:11px 14px;font-size:14px}.error{color:#a93627;background:#fff0ed}.success{color:#275d3d;background:#eaf3e8}.empty{font-size:14px}@media (max-width:760px){.columns{grid-template-columns:1fr}.heading{flex-direction:column;align-items:start}.topbar span{display:none}.search{flex-direction:column}}.contact-actions{margin-top:14px}.contact-actions a{color:#275d3d;font-size:13px;font-weight:700}button.danger{color:#a93627;background:#fff0ed;padding:8px 12px;font-size:13px}.filters{margin-bottom:22px}.billing-filter{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.billing-filter label{flex:1;gap:7px;min-width:150px;font-size:13px;font-weight:700;display:grid}.billing-filter a{color:#275d3d;padding:12px}details{margin:14px 0}summary{cursor:pointer;color:#275d3d;font-size:14px;font-weight:700}.payment-form{padding-top:16px}.contact .payment-history{padding:8px 0;display:block}.payment-history button{color:#a93627;background:#fff0ed;padding:6px 10px;font-size:12px}.contact-actions{flex-wrap:wrap}.schedule-content{max-width:1600px}.schedule-toolbar,.move-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.day-tabs{flex-wrap:wrap;gap:6px;display:flex}.day-tabs button{padding:10px 13px}.week-board{grid-template-columns:repeat(5,minmax(210px,1fr));gap:16px;padding-bottom:16px;display:grid;overflow-x:auto}.day-column h2{margin:8px 0 16px;font-size:18px}.class-card{background:#fff;border:1px solid #e1e6df;border-radius:16px;margin-bottom:16px;padding:16px}.class-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.class-header>strong{font-size:24px}.class-card h3{margin:10px 0 5px;font-size:16px}.class-card small{color:#6b7c6e}.occupancy{color:#275d3d;background:#eaf3e8;border-radius:20px;padding:5px 9px;font-size:13px;font-weight:700}.occupancy.full{color:#8b4928;background:#fce8dc}.seats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.seat{text-align:left;overflow-wrap:anywhere;flex-direction:column;align-items:flex-start;gap:7px;min-height:92px;padding:10px;font-size:12px;display:flex}.seat.free{color:#66836b;background:#fafcf8;border:1px dashed #a3bea6}.seat.occupied{color:#264d33;background:#e7efe5;border:1px solid #cbdcc8}.seat.chosen{outline:3px solid #c28b4a}.seat-number{opacity:.7;font-size:10px}.move-banner{background:#fff4da;border:1px solid #e8cc92;border-radius:12px;padding:14px}.new-class{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:20px;display:flex}.new-class label{flex:1;gap:7px;min-width:140px;font-size:13px;display:grid}.picker-backdrop{z-index:10;background:#18342466;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.picker{width:100%;max-width:520px;max-height:85vh;overflow:auto}.picker h2{margin:0;font-size:21px}.picker input{margin:20px 0 12px}.picker-list{gap:8px;max-height:50vh;display:grid;overflow:auto}.picker-list button{text-align:left;justify-content:space-between;gap:8px;display:flex}.picker-list small{color:#6b7c6e;font-weight:400}@media (max-width:760px){.week-board{grid-template-columns:repeat(5,240px)}.week-board:has(.day-column:only-child){grid-template-columns:1fr}.schedule-content{padding:24px 16px}.move-banner span{width:100%}}.supplements{gap:12px;padding-top:14px;display:grid}.supplements label{align-items:start;display:flex;gap:9px!important;font-weight:400!important}.supplements input{width:auto;margin-top:2px}.form label.checkbox-label{align-items:center;gap:10px;display:flex}.checkbox-label input{width:auto}.seat.occupied.color-verde,.color-chip.color-verde{color:#264d33;background:#e7efe5;border-color:#a8c3a0}.seat.occupied.color-azul,.color-chip.color-azul{color:#214d7c;background:#dcecfb;border-color:#94b8df}.seat.occupied.color-amarillo,.color-chip.color-amarillo{color:#755413;background:#fff0bc;border-color:#d6b75a}.seat.occupied.color-rosa,.color-chip.color-rosa{color:#82314d;background:#fbe0e7;border-color:#dca0b3}.seat.occupied.color-violeta,.color-chip.color-violeta{color:#623b85;background:#eee1fa;border-color:#bda0db}.color-palette{flex-wrap:wrap;align-items:center;gap:10px;margin:8px 0 16px;display:flex}.color-chip{border:1px solid;border-radius:50%;width:36px;height:36px;padding:0;font-size:20px}.color-chip.active{outline-offset:3px;outline:2px solid #26362f}.move-banner .color-palette{margin:0}.move-banner label{gap:6px;font-size:13px;display:grid}.picker-tabs{margin:20px 0}.picker .form{margin-top:18px}.seat small{color:inherit!important;font-size:10px!important}.calendar-scroll{background:#f0f2ec;border:1px solid #dde5dc;border-radius:16px;overflow:auto}.week-calendar{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1200px}.week-calendar th{text-align:left;background:#e8ede3;padding:16px 10px;font-size:14px}.week-calendar thead th{z-index:2;position:sticky;top:0}.week-calendar th:first-child{z-index:3;width:68px;position:sticky;left:0}.week-calendar td{vertical-align:top;border-top:1px solid #d9e1d6;border-left:1px solid #d9e1d6;padding:8px}.week-calendar tbody th{vertical-align:top;border-top:1px solid #d9e1d6;padding-top:22px}.week-calendar .class-card{margin-bottom:8px}.week-calendar .class-card:last-child{margin-bottom:0}.week-calendar:has(thead th:nth-child(2):last-child){min-width:360px;max-width:600px}.class-controls{border-top:1px solid #e1e6df;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;display:flex}.class-controls button{padding:7px 8px;font-size:11px}.cancelled-class{background:#f8f8f6;border:2px dashed #b4b7b1}.cancelled-class .seats{opacity:.6}.cancelled-label{color:#92572d;margin:8px 0;font-size:12px;font-weight:700}.monthly-preview{margin-top:24px}.monthly-table-scroll{margin:20px 0;overflow:auto}.monthly-table{border-collapse:collapse;width:100%;font-size:14px}.monthly-table th,.monthly-table td{text-align:left;border-bottom:1px solid #e1e6df;padding:12px 10px}.monthly-table th{background:#f0f4ed}.monthly-table input{width:auto}.monthly-table a{color:#275d3d}.membership-lines{white-space:pre-line;min-width:200px}.contact-schedule{border-top:1px solid #dce5dc;gap:12px;margin-top:28px;padding-top:24px;display:grid}.contact-schedule h2{margin-bottom:8px}.contact-schedule label{gap:8px;font-size:13px;font-weight:700;display:grid}.schedule-assignment{background:#edf3e9;border-radius:10px;justify-content:space-between;align-items:center;gap:8px;padding:12px;font-size:13px;display:flex}.contact-schedule details button{margin-top:10px}.schedule-tabs{flex-wrap:wrap;gap:8px;margin-bottom:18px;display:flex}.schedule-legend{font-size:13px}.seat-cell{flex-direction:column;gap:5px;min-width:0;display:flex}.seat-cell>.seat{flex:1;width:100%}.payment-badge{color:#314839;overflow-wrap:anywhere;background:#f4f6f1;border-radius:6px;align-items:center;gap:5px;padding:5px 6px;font-size:10px;line-height:1.4;text-decoration:none;display:flex}.payment-badge.pending{color:#923326;background:#fff0ed}.payment-badge.partial{color:#795516;background:#fff2d8}.payment-badge.paid{color:#275d3d;background:#edf6e7}.payment-badge.unknown{color:#555;background:#eee}.availability-tools{margin-bottom:20px;font-size:13px}.availability-tools p{font-size:13px}.availability-tools label{align-items:center;gap:8px;display:flex}.availability-tools input{width:auto}.availability-card{background:#f5faf1;border:1px solid #c3d9c0;border-radius:14px;gap:10px;margin-bottom:10px;padding:16px;display:grid}.availability-card h3{margin:0;font-size:15px}.availability-card small{color:#687b6e;font-size:11px}.availability-card .free-count{color:#276333;font-size:24px}.availability-card.full,.availability-card.closed{background:#f1f2ef;border-color:#d4d8d1}.availability-card.full .free-count,.availability-card.closed .free-count{color:#666}.reserved-count{color:#755413;background:#fff0bc;border-radius:6px;padding:5px 7px;font-size:12px}.fixed-count{color:#5b695f;font-size:11px}.availability-card button{padding:10px;font-size:12px}.availability-dots{gap:5px;display:flex}.availability-dots span{border:1px solid #bbb;border-radius:4px;flex:1;height:12px}.availability-dots .free{background:#d3eec5;border-color:#81ad71}.availability-dots .reserved{background:#ffe5a3;border-color:#cba448}.availability-dots .fixed,.availability-dots .closed{background:#bfc8c0}.pilot-banner{color:#745317;background:#fff0bd;border:1px solid #d9be65;border-radius:10px;padding:12px 16px;font-size:13px;font-weight:700}.portal-tabs{flex-wrap:wrap;gap:8px;margin:22px 0;display:flex}.portal-tabs a{color:#275d3d;background:#e9eee3;border-radius:12px;padding:14px 20px;font-weight:700;text-decoration:none}.portal-tabs a[aria-current=page]{color:#fff;background:#275d3d}.portal-cards{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin:24px 0;display:grid}.portal-cards h2{font-size:22px}.portal-cards form{margin-top:18px}.portal-cards .hint{margin:12px 0;font-size:13px}.client-portal .content{max-width:1040px}.client-portal button{min-height:46px}.credit-total{color:#275d3d;font-size:56px}.pilot-sessions{margin-top:26px}
