:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#17181b;background:#f3f4f6;font-synthesis:none;text-rendering:optimizeLegibility;--dark: #111318;--accent: #ffcc00;--border: #d9dce2;--muted: #68707c;--danger: #b42318}*{box-sizing:border-box}html{min-height:100%;overflow:visible;touch-action:auto}body{margin:0;min-width:320px;min-height:100%;overflow:visible;padding-bottom:calc(120px + env(safe-area-inset-bottom))}button,input,select,textarea{font:inherit}button,.button{border:1px solid var(--border);border-radius:10px;background:#fff;padding:9px 13px;cursor:pointer;color:inherit;text-decoration:none}button:hover,.button:hover{filter:brightness(.97)}button:disabled{opacity:.55;cursor:default}button.primary{background:var(--dark);color:#fff;border-color:var(--dark)}button.danger{color:var(--danger);border-color:#f0b7b2}.link-button{border:0;padding:4px;color:#315b9c;background:transparent}.center-page{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(460px,100%);background:#fff;padding:28px;border-radius:22px;box-shadow:0 20px 60px #191b211f}.style-logo{display:block;object-fit:contain;background:transparent}.brand-logo-large{width:min(320px,85vw);max-height:140px;margin-bottom:10px}.top-logo{width:86px;height:38px;object-fit:contain}h1{margin:18px 0 8px;font-size:clamp(25px,4vw,38px)}h2{margin:0 0 8px;font-size:20px}p{line-height:1.5}.muted{color:var(--muted)}.notice{padding:12px 14px;border-radius:10px;background:#fff3cd;border:1px solid #f3d67a}.notice.success{background:#e9f8ef;border-color:#a9dfbd}.spinner{width:38px;height:38px;border:4px solid #d7dbe1;border-top-color:var(--dark);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-shell{min-height:100vh}.topbar{position:static;background:var(--dark);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:calc(14px + env(safe-area-inset-top)) 18px 14px}.topbar>div{display:flex;align-items:center;gap:12px}.logo{background:var(--accent);color:var(--dark);padding:6px 9px;border-radius:7px}.user-area button{background:transparent;color:#fff;border-color:#535762}.tabs{position:static;display:flex;gap:6px;padding:10px 14px;overflow-x:auto;background:#fff;border-bottom:1px solid var(--border)}.tabs button{white-space:nowrap;border-color:transparent}.tabs button.active{background:var(--dark);color:#fff}.badge{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:7px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--dark)}.content{width:min(1280px,100%);margin:0 auto;padding:20px 16px 160px;overflow:visible}.card,.stat{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:0 5px 18px #14171e0a}.cards-list{display:grid;gap:12px;margin-top:16px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}.stat span{display:block;color:var(--muted);margin-bottom:8px}.stat strong{font-size:clamp(23px,4vw,34px)}.section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.button-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:14px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.form-grid.one-column{grid-template-columns:1fr}.form-grid .wide{grid-column:1 / -1}label{display:grid;gap:6px;font-weight:600;color:#353942}input,select,textarea{width:100%;min-height:42px;border:1px solid #cdd1d8;border-radius:9px;padding:9px 10px;background:#fff;color:#17181b}textarea{min-height:90px;resize:vertical}.checkbox{display:flex;grid-template-columns:auto 1fr;align-items:flex-start;font-weight:500}.checkbox input{width:20px;min-height:20px;margin-top:2px}.inline-form{display:flex;align-items:end;flex-wrap:wrap;gap:12px}.inline-form label{min-width:210px;flex:1}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}.status.pending,.status.review{background:#fff1c2}.status.revision,.status.replace{background:#ffe0dd;color:#9a241a}.status.active,.status.accepted{background:#daf4e4;color:#176b38}.info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:14px 0}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}.slot-card{display:grid;grid-template-columns:1.3fr 1fr auto;gap:20px;align-items:center}.booking-names{margin:0;padding-left:22px}.booking-names li{padding:3px 0}.booking-names .empty{color:var(--muted);font-style:italic}.admin-booking{display:grid;grid-template-columns:minmax(180px,1.3fr) 180px 150px 110px auto;gap:8px;align-items:center;padding:10px 0;border-top:1px solid #eceef2}.table-wrap{overflow-x:auto;margin-top:16px;background:#fff;border:1px solid var(--border);border-radius:14px}table{width:100%;border-collapse:collapse;min-width:720px}th,td{padding:12px;border-bottom:1px solid #eceef2;text-align:left;vertical-align:top}th{background:#f7f8fa}.payment-editor{display:grid;grid-template-columns:90px 90px auto;gap:6px}code{background:#eef0f3;padding:2px 5px;border-radius:5px}@media(max-width:900px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-columns,.slot-card{grid-template-columns:1fr}.admin-booking{grid-template-columns:1fr 1fr}}@media(max-width:620px){.topbar{align-items:flex-start}.topbar>div:first-child span,.user-area span{display:none}.content{padding-inline:10px}.stats-grid,.form-grid,.info-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.section-head{flex-direction:column}.section-head>label,.section-head>input{width:100%}.admin-booking,.payment-editor{grid-template-columns:1fr}.auth-card{padding:21px}}.document-review-list{display:grid;gap:8px;margin:14px 0}.admin-document-row{display:grid;grid-template-columns:minmax(220px,1fr) auto auto minmax(150px,.8fr) auto auto;gap:8px;align-items:center;padding:10px;border:1px solid #e4e6ea;border-radius:10px}@media(max-width:900px){.admin-document-row{grid-template-columns:1fr 1fr}}@media(max-width:620px){.admin-document-row{grid-template-columns:1fr}}@media(max-width:640px){.top-logo{width:70px;height:32px}.brand-logo-large{width:min(260px,90vw)}}.modal-backdrop{position:fixed;inset:0;z-index:50;background:#1113187a;display:grid;place-items:start center;padding:24px 14px 140px;overflow:auto}.modal-card{width:min(920px,100%);background:#fff;border-radius:18px;border:1px solid var(--border);padding:18px;box-shadow:0 20px 70px #00000038}.payment-editor-labeled{display:grid;grid-template-columns:minmax(95px,130px) minmax(95px,130px) minmax(110px,1fr);align-items:end;gap:8px}.payment-editor-labeled label{font-size:13px;color:var(--muted)}.payment-editor-labeled input{margin-top:4px}@media(max-width:760px){.payment-editor-labeled{grid-template-columns:1fr}}.attendance-controls{display:flex;gap:12px;flex-wrap:wrap}.attendance-controls label{min-width:190px}.attendance-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.attendance-row.present{border-color:#9bd4ad;background:#f1fbf5}.attendance-row.absent{border-color:#f0b7b2;background:#fff7f6}.attendance-buttons{margin-top:0}.attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:760px){.attendance-row{display:grid}.attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.date-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:12px 0}.date-chips button.active{border-color:var(--accent);font-weight:700}.bulk-attendance-buttons{margin:12px 0 18px}.monthly-attendance{margin-top:22px}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-row{display:flex!important;align-items:center;gap:8px;font-weight:500}.check-row input{width:auto;margin:0}.slot-create-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.admin-booking label{min-width:110px}@media(max-width:760px){.checkbox-grid,.slot-create-grid{grid-template-columns:1fr}.admin-booking{align-items:stretch}}.install-app-button{white-space:nowrap}.auth-card .install-app-button{border-color:#c8ccd3}.individuals-schedule table{min-width:1040px}.schedule-names{display:grid;gap:4px}.schedule-names span{display:block}.own-payment{margin-top:8px;font-weight:700;color:#176b38}.table-actions{display:flex;flex-wrap:wrap;gap:6px;min-width:260px}.table-actions button{padding:7px 9px}.details-heading{margin-top:28px}@media(max-width:620px){.user-area .install-app-button{padding:7px 9px;font-size:13px}}.schedule-payment{display:block;margin-top:2px;font-size:12px;color:var(--muted)}.debt-notices{border:1px solid #f0b74f;background:#fff9ec}.debt-notice-list{display:grid;gap:10px}.debt-notice{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:11px 13px;border-radius:10px;background:#fff2cf;color:#7a4b00}.debt-notice span{font-weight:700}.clean-head p.muted{display:none}.month-toolbar,.schedule-header{display:flex;align-items:center;gap:10px}.month-toolbar h2,.schedule-header h1{margin:0;flex:1;text-transform:capitalize}.zoom-controls{display:inline-flex;gap:6px;align-items:center}.zoom-controls button{min-width:42px}.individual-month{overflow:hidden}.trainer-sheets{display:flex;align-items:flex-start;gap:24px;padding:8px 0 24px}.trainer-sheet{flex:0 0 auto}.trainer-sheet table{border-collapse:collapse;background:#fff;min-width:560px;font-size:13px}.trainer-sheet th,.trainer-sheet td{border:1px solid #707070;padding:5px 7px;vertical-align:middle;text-align:center}.trainer-sheet thead th{background:#f4f4f4;font-weight:700}.booking-cell{min-width:110px;height:34px;position:relative}.booking-cell.free{color:#777}.booking-cell.disabled{background:#f3f3f3}.booking-cell.own-booking{background:#dff7e7;box-shadow:inset 0 0 0 2px #1aa64a}.booking-cell small,.schedule-payment{display:block;font-size:11px;color:var(--muted)}.booking-name-button{border:0;background:transparent;padding:0;font:inherit;text-decoration:underline;cursor:pointer}.free-slot-button{min-width:32px;min-height:28px;border-radius:8px}.cell-cancel{position:absolute;right:2px;top:2px;width:20px;height:20px;padding:0;border-radius:50%}.focused-day-row td{background-color:#fffbe6}.modal-backdrop{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:1000;padding:20px}.modal-card{background:#fff;color:#111;border-radius:18px;padding:22px;max-width:440px;width:min(440px,100%);box-shadow:0 24px 80px #00000040}.payment-modal label{display:grid;gap:6px;margin:10px 0}.payment-modal-actions{display:grid;gap:10px}.schedule-page{display:grid;gap:20px}.schedule-phone{background:#050505;color:#fff;border-radius:0 0 18px 18px;overflow:hidden;max-width:920px;width:100%;margin:0 auto}.schedule-header{padding:18px 20px;border-bottom:1px solid #222}.schedule-header button{background:#111;color:#fff;border-color:#333;font-size:26px}.schedule-header span{font-size:18px;color:#d8d8d8}.schedule-month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:22px 34px}.schedule-month-grid strong{text-align:center;font-size:20px}.schedule-month-grid button{background:transparent;border:0;color:#fff;min-height:56px;display:grid;place-items:center;gap:3px;font-size:22px}.schedule-month-grid button.selected span{background:#fff;color:#111;border-radius:50%;min-width:34px;height:34px;display:grid;place-items:center}.schedule-month-grid em{display:flex;gap:3px;min-height:8px}.dot{display:block;width:8px;height:8px;border-radius:50%}.group-dot{background:#f31919}.own-dot{background:#fff}.free-dot{background:#27c36a}.schedule-scale-row{display:flex;justify-content:center;padding:0 0 14px}.schedule-scale-row button{background:#171717;color:#fff;border-color:#333}.day-timeline-wrap{background:#fff;color:#111;min-height:560px}.day-timeline{display:grid;grid-template-columns:96px 1fr;position:relative;min-height:560px}.time-line{grid-column:1 / 3;display:grid;grid-template-columns:96px 1fr;min-height:110px}.time-line span{background:#050505;color:#fff;padding:14px 12px 0 0;text-align:right;font-size:18px}.time-line:after{content:"";border-top:2px dashed #ff2b2b;margin-top:24px}.timeline-events{position:absolute;left:116px;right:24px;top:34px;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:16px}.timeline-card{border:0;border-radius:20px;background:#050505;color:#fff;padding:16px 18px;min-height:92px;text-align:left;display:grid;gap:4px}.timeline-card strong{font-size:20px}.timeline-card span,.timeline-card small{color:#eee}.free-individual-event{background:#0b6b38;cursor:pointer}.own-individual-event{box-shadow:0 0 0 3px #27c36a inset}.timeline-empty{color:#777;padding:20px}.schedule-editor{max-width:920px;margin:0 auto}.attendance-toggle-list{display:grid;gap:0;padding:0;overflow:hidden}.attendance-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid #e7e7e7}.attendance-toggle-row:last-child{border-bottom:0}.attendance-toggle-row div{display:grid;gap:4px}.attendance-toggle-row span{color:var(--muted);font-size:13px}.ios-toggle{width:62px;height:36px;border-radius:999px;border:0;background:#d6d9df;padding:3px;transition:.18s;flex:0 0 auto}.ios-toggle i{display:block;width:30px;height:30px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0003;transition:.18s}.ios-toggle.on{background:#34c759}.ios-toggle.on i{transform:translate(26px)}.home-simple .welcome-card h2{margin:0}.schedule-summary-card p{margin:6px 0}@media(max-width:760px){.trainer-sheets{gap:14px}.trainer-sheet table{min-width:480px;font-size:12px}.booking-cell{min-width:90px}.schedule-month-grid{padding:18px 16px;gap:4px}.schedule-month-grid strong{font-size:16px}.schedule-month-grid button{font-size:18px;min-height:48px}.day-timeline,.time-line{grid-template-columns:76px 1fr}.timeline-events{left:88px;right:12px;grid-template-columns:1fr}}.slot-action-cell{min-width:150px}.slot-action-buttons{display:grid;gap:5px}.slot-action-buttons button{padding:5px 7px;font-size:12px;line-height:1.1}.section-head .button-row label{min-width:220px}.booking-cell .cell-cancel{opacity:.92}.booking-cell:hover .cell-cancel{opacity:1}.pwa-update-notice{position:sticky;top:0;z-index:50;display:flex;justify-content:center;align-items:center;gap:12px;padding:10px 14px;background:#fff4cf;color:#1a1a1a;border-bottom:1px solid #f1d27a}.pwa-update-notice button{background:#111;color:#fff;border-color:#111}.cell-student-select{width:100%;min-width:95px;padding:5px 6px;border-radius:8px;border:1px solid #d0d0d0;background:#fff;text-align:center}.slot-time-button{width:100%;border:0;background:transparent;padding:0;font:inherit;cursor:pointer;text-decoration:underline}.slot-menu-modal .slot-menu-actions{display:grid;gap:8px;margin:14px 0}.slot-menu-modal .slot-menu-actions button{justify-content:flex-start}.groups-admin-grid{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:18px;align-items:start}.groups-list{display:grid;gap:8px}.group-list-item{width:100%;text-align:left;display:grid;gap:3px;border:1px solid #e2e2e2;background:#fff}.group-list-item.active{border-color:#111;box-shadow:0 0 0 2px #111 inset}.group-list-item span{color:var(--muted);font-size:13px}.group-detail-card{display:grid;gap:16px}.inline-schedule-form{display:grid;grid-template-columns:repeat(6,minmax(90px,1fr));gap:8px;align-items:end}.inline-schedule-form input,.inline-schedule-form select{min-width:0}.mini-list{display:grid;gap:7px}.mini-list>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 10px;background:#f6f6f6;border-radius:10px}.mini-list button,.mini-danger{min-width:auto;padding:4px 8px}.cancel-dot{background:#888}.cancelled-event{background:#777;text-decoration:line-through}.one-time-event{background:#1b1b1b;box-shadow:0 0 0 3px #d71919 inset}.schedule-admin-forms{display:grid;gap:16px}@media(max-width:900px){.groups-admin-grid{grid-template-columns:1fr}.inline-schedule-form{grid-template-columns:1fr 1fr}}:root{--surface: #ffffff;--surface-soft: #f6f7f9;--surface-muted: #eef0f3;--ink: #15171b;--ink-soft: #5f6672;--line: #e2e5e9;--brand-red: #e11d2e;--success: #178447;--warning: #a26300;--radius-sm: 10px;--radius: 14px;--radius-lg: 20px}body{color:var(--ink);background:#f5f6f8}.content{width:min(1180px,100%);padding:24px 18px 160px}.page-stack{display:grid;gap:18px}.page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:2px 0 4px}.page-title h1{margin:0 0 5px;font-size:clamp(27px,3.5vw,38px);letter-spacing:-.035em}.page-title p{margin:0;color:var(--ink-soft)}.card,.stat{border-color:var(--line);border-radius:var(--radius);box-shadow:0 2px 10px #171a2009}.compact-cards{margin-top:0}.compact-cards .card{padding:16px}.clean-form{margin-top:0}.clean-form input,.clean-form select,.clean-form textarea,.directory-toolbar input,.directory-toolbar select,.family-link-bar input{border-color:#cfd4da;background:#fff;border-radius:11px}input:focus,select:focus,textarea:focus{outline:0;border-color:#24272d;box-shadow:0 0 0 3px #14161a14}button{border-radius:11px;transition:transform .12s ease,background .12s ease,border-color .12s ease}button:active{transform:scale(.985)}button.primary{background:#15171b;border-color:#15171b}.danger-text{color:var(--danger)}.empty-state{padding:28px 18px;border:1px dashed #cfd4da;border-radius:var(--radius);color:var(--ink-soft);text-align:center;background:#fff9}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.chip-row button{background:#fff;border-color:var(--line)}.chip-row button.active{background:#15171b;color:#fff;border-color:#15171b}.meta-chip{display:inline-flex;align-items:center;padding:6px 9px;border-radius:999px;background:var(--surface-muted);color:var(--ink-soft);font-size:13px}.topbar{background:#08090b;padding-inline:max(16px,env(safe-area-inset-left)) max(16px,env(safe-area-inset-right))}.tabs{gap:4px;padding:9px max(12px,calc((100vw - 1180px)/2));scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{padding:8px 11px;border-radius:999px;background:transparent}.tabs button.active{background:#17191d}.attention-panel{overflow:hidden;border:1px solid #f2c8cc;border-radius:var(--radius);background:#fff}.attention-panel>div{display:flex;justify-content:space-between;padding:13px 15px;background:#fff1f2;color:#8d1621}.attention-panel>div span{min-width:24px;text-align:center;border-radius:999px;background:#fff}.attention-panel>button{width:100%;display:flex;justify-content:space-between;text-align:left;border:0;border-top:1px solid #f3e1e3;border-radius:0;padding:12px 15px}.schedule-line{display:flex;justify-content:space-between;gap:12px;padding-top:11px;border-top:1px solid var(--line)}.schedule-line span{color:var(--ink-soft);text-align:right}.family-link-bar,.directory-toolbar{display:flex;gap:10px;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.family-link-bar input,.directory-toolbar input{flex:1}.invite-code{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:12px;border-radius:12px;background:#111318;color:#fff}.invite-code strong{font-size:22px;letter-spacing:.12em}.field-error input,.field-error textarea,.field-error select{border-color:#d92d20;box-shadow:0 0 0 3px #d92d2014}.field-error small{color:#b42318}.application-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0}.application-steps>div{display:flex;gap:9px;padding:11px;border-radius:12px;background:var(--surface-soft)}.application-steps b{display:grid;place-items:center;flex:0 0 25px;height:25px;border-radius:50%;background:#17191d;color:#fff}.application-steps span{display:grid;gap:2px;color:var(--ink-soft);font-size:13px}.application-steps strong{color:var(--ink)}.row-menu{position:relative}.row-menu summary{cursor:pointer;list-style:none}.row-menu>div{position:absolute;right:0;z-index:10;display:grid;gap:5px;width:150px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 15px 35px #00000024}.clean-table{border-radius:var(--radius);box-shadow:none}.clean-table table{min-width:700px}.clean-table th{background:#f2f3f5;color:#505762;font-size:13px}.clean-table td strong,.clean-table td small{display:block}.clean-table td small{margin-top:3px;color:var(--ink-soft)}.template-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.template-card{display:grid;gap:4px;text-align:left;padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.template-card span{color:var(--ink-soft);font-size:13px}.admin-document-row{border:0;background:var(--surface-soft)}.merge-card summary,details>summary{cursor:pointer;font-weight:700}.content.content-full{width:100%;max-width:none;margin:0;padding:0 0 160px;background:#050505}.dark-workspace{color:#fff}.workspace-page{width:100%;margin:0}.schedule-page{gap:0;background:#050505}.schedule-calendar{width:100%;background:#050505;color:#fff;border-bottom:1px solid #222}.schedule-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px auto;align-items:center;gap:8px;padding:12px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));border-bottom:1px solid #1f1f1f}.schedule-header h1{min-width:0;margin:0;text-align:center;font-size:clamp(18px,4vw,25px);font-weight:650;text-transform:capitalize}.schedule-header button{height:42px;padding:0 10px;border-color:#2b2b2b;background:#121212;color:#fff}.schedule-header>button:not(.calendar-toggle){font-size:26px}.schedule-header .calendar-toggle{white-space:nowrap;font-size:13px}.schedule-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;padding:10px max(8px,env(safe-area-inset-right)) 12px max(8px,env(safe-area-inset-left))}.schedule-month-grid strong{padding:4px 0;color:#aeb2ba;font-size:12px;font-weight:650}.schedule-month-grid button{min-height:48px;padding:4px 2px;border-radius:10px;font-size:17px}.schedule-month-grid.week-only button{min-height:54px}.schedule-month-grid button.today:not(.selected) span{color:#ff3445}.schedule-month-grid button.selected{background:#171717}.schedule-month-grid button.selected span{width:31px;min-width:31px;height:31px;font-size:16px}.schedule-month-grid em{justify-content:center}.schedule-month-grid .dot{width:6px;height:6px}.selected-day-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px max(14px,env(safe-area-inset-right)) 12px max(14px,env(safe-area-inset-left));background:#111;border-bottom:1px solid #242424;color:#fff;text-transform:capitalize}.selected-day-title span{color:#a7abb2;font-size:13px}.day-timeline-wrap{width:100%;min-height:420px;overflow:hidden;background:#fff}.day-timeline{position:relative;display:block;width:100%;min-height:420px;background:linear-gradient(90deg,#050505 0 82px,#fff 82px 100%)}.time-line{position:absolute;left:0;right:0;display:grid;grid-template-columns:82px 1fr;min-height:0;height:1px;pointer-events:none}.time-line span{position:relative;top:-11px;padding:0 10px 0 0;background:#050505;color:#fff;font-size:15px;font-variant-numeric:tabular-nums}.time-line:after{margin:0;border-top:1px dashed rgba(231,31,48,.82)}.timeline-events{position:absolute;inset:0 0 0 82px;display:block}.timeline-card{position:absolute;z-index:2;overflow:hidden;min-height:0;padding:10px 12px;border:1px solid #292929;border-radius:16px;background:#070707;color:#fff;display:flex;flex-direction:column;gap:3px;box-shadow:0 8px 20px #00000026}button.timeline-card{appearance:none}.timeline-card .event-top{display:flex;justify-content:space-between;gap:8px;min-width:0}.timeline-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(15px,2.5vw,19px);line-height:1.15}.timeline-card .event-top span{flex:0 0 auto;font-size:10px;color:#c8cbd0}.timeline-card>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b8bbc1;font-size:12px}.timeline-card small{margin-top:auto;color:#f2f2f2;font-size:12px;font-variant-numeric:tabular-nums}.timeline-card em{color:#b8bbc1;font-size:11px}.timeline-card.individual-event{box-shadow:inset 0 0 0 2px #fff,0 8px 20px #00000026}.timeline-card.free-event{background:#102f20;border-color:#1b6b42}.timeline-card.cancelled-event{opacity:.62;background:#3a3a3a;text-decoration:none}.timeline-card.oneoff-event{box-shadow:inset 3px 0 0 var(--brand-red),0 8px 20px #00000026}.timeline-empty{position:absolute;top:30px;left:14px;color:#747982}.individuals-admin-page{background:#050505}.workspace-admin-panel{display:grid;gap:10px;padding:16px max(14px,env(safe-area-inset-right)) 14px max(14px,env(safe-area-inset-left));background:#0b0b0b;border-bottom:1px solid #242424}.dark-title h1{margin:0;color:#fff}.dark-title p{margin:3px 0 0;color:#9da1aa}.dark-tools{border:1px solid #292929;border-radius:13px;background:#111;color:#fff}.dark-tools>summary{padding:12px 14px}.dark-tools[open]>summary{border-bottom:1px solid #292929}.dark-tools form,.dark-tools .tariff-history,.dark-tools>button{margin:12px}.dark-tools label{color:#d4d6da}.dark-tools input,.dark-tools select{background:#1a1a1a;color:#fff;border-color:#343434}.schedule-form-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr)) auto;gap:9px;align-items:end}.tariff-history{display:flex;flex-wrap:wrap;gap:7px}.tariff-history span{padding:7px 9px;border-radius:999px;background:#202020;color:#c5c8ce;font-size:12px}.technical-tools{opacity:.78}.individual-month{width:100%;margin:0;overflow:visible;background:#050505;color:#fff}.month-toolbar.dark-toolbar{position:relative;z-index:8;padding:10px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:#050505;border-bottom:1px solid #242424}.dark-toolbar h2{text-align:center;color:#fff;font-size:20px}.dark-toolbar button{min-width:42px;background:#151515;color:#fff;border-color:#303030}.individual-table-scroll{width:100%;max-width:100vw;max-height:calc(100dvh - 205px);overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#050505;scrollbar-color:#555 #151515}.individual-unified-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;color:#fff;font-size:13px}.individual-unified-table th,.individual-unified-table td{height:48px;padding:7px 8px;border-right:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a;text-align:center;vertical-align:middle;background:#0d0d0d}.individual-unified-table thead th{position:sticky;z-index:6;background:#171717;color:#e8e8e8;font-weight:650}.individual-unified-table thead tr:first-child th{top:0;height:46px}.individual-unified-table thead tr:nth-child(2) th{top:46px;height:40px;background:#111;color:#aeb2b9;font-size:11px}.individual-unified-table .trainer-heading{min-width:430px;font-size:15px;border-left:2px solid #414141}.individual-unified-table .sticky-date,.individual-unified-table .sticky-day{position:sticky;z-index:7;background:#080808;font-variant-numeric:tabular-nums}.individual-unified-table .sticky-date{left:0;width:68px;min-width:68px}.individual-unified-table .sticky-day{left:68px;width:54px;min-width:54px;box-shadow:6px 0 12px #00000047}.individual-unified-table thead .sticky-date,.individual-unified-table thead .sticky-day{z-index:10}.individual-unified-table .slot-time{min-width:82px;background:#121212;color:#fff;font-weight:700;font-variant-numeric:tabular-nums}.individual-unified-table .booking-cell{width:126px;min-width:126px;height:48px;padding:4px 22px 4px 6px;background:#0d0d0d}.individual-unified-table .booking-cell.occupied{background:#191919}.individual-unified-table .booking-cell.own-booking{background:#143322;box-shadow:inset 0 0 0 1px #2eb768}.individual-unified-table .booking-cell.disabled{background:#090909}.individual-unified-table .booking-cell select{min-height:34px;padding:4px;border-color:#343434;background:#141414;color:#fff;text-align:center}.individual-unified-table .booking-cell-name,.individual-unified-table .booking-name-button{color:#fff;font-size:12px;line-height:1.15;text-decoration:none}.individual-unified-table .booking-cell small{margin-top:3px;color:#9da1aa}.individual-unified-table .cell-cancel{top:50%;right:4px;transform:translateY(-50%);border-color:#4a4a4a;background:#222;color:#fff}.individual-unified-table .focused-day-row td{background-color:#17120b}.individual-unified-table .focused-day-row .sticky-date,.individual-unified-table .focused-day-row .sticky-day{background:#261c0d}.dark-empty{padding:30px;color:#999}.slot-menu-modal .slot-menu-actions button{min-height:42px}.attendance-workspace{display:grid;gap:14px}.attendance-title h1{margin:0}.attendance-controls{padding:12px;border:1px solid var(--line);border-radius:var(--radius);background:#fff}.attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr));margin:0}.attendance-summary .stat{padding:13px}.attendance-toggle-list{border:1px solid var(--line);border-radius:var(--radius);background:#fff}.attendance-toggle-row{padding:13px 15px}.attendance-month-table{margin-top:0}.money-cell-input{min-width:86px;text-align:right;font-variant-numeric:tabular-nums}.summary-strip{display:flex;gap:8px;flex-wrap:wrap}.summary-strip span{padding:7px 10px;border-radius:999px;background:var(--surface-muted);color:var(--ink-soft);font-size:13px}.groups-sidebar{position:sticky;top:10px;padding:12px}.groups-sidebar h2{padding:5px 4px 10px}.group-list-item{border:0;border-radius:11px;background:transparent;padding:10px}.group-list-item:hover{background:var(--surface-soft)}.group-list-item.active{background:#17191d;color:#fff;box-shadow:none}.group-list-item.active span{color:#c5c8ce}.group-detail-card{box-shadow:none}.group-editor{display:grid;grid-template-columns:minmax(180px,1fr) 150px auto;gap:9px;align-items:end}.group-section{padding-top:14px;border-top:1px solid var(--line)}.member-list{display:grid;gap:7px}.member-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 11px;border-radius:11px;background:var(--surface-soft)}@media(max-width:800px){.content{padding:18px 12px 150px}.page-title{align-items:stretch;flex-direction:column}.page-title>button{align-self:flex-start}.application-steps{grid-template-columns:1fr}.family-link-bar,.directory-toolbar{align-items:stretch;flex-direction:column}.schedule-header{grid-template-columns:40px 1fr 40px}.schedule-header .calendar-toggle{grid-column:1 / -1;width:100%}.schedule-form-grid{grid-template-columns:1fr 1fr}.attendance-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.group-editor{grid-template-columns:1fr 1fr}.group-editor button{grid-column:1 / -1}}@media(max-width:520px){body{padding-bottom:calc(100px + env(safe-area-inset-bottom))}.content.content-full{padding-bottom:125px}.schedule-month-grid{padding-inline:3px}.schedule-month-grid button{min-height:44px;font-size:16px}.selected-day-title{padding-inline:10px}.day-timeline{background:linear-gradient(90deg,#050505 0 70px,#fff 70px 100%)}.time-line{grid-template-columns:70px 1fr}.time-line span{padding-right:7px;font-size:13px}.timeline-events{left:70px}.timeline-card{padding:8px 9px;border-radius:13px}.timeline-card strong{font-size:14px}.timeline-card>span,.timeline-card small{font-size:10px}.workspace-admin-panel{padding:12px 10px}.schedule-form-grid{grid-template-columns:1fr}.individual-table-scroll{max-height:calc(100dvh - 180px)}.individual-unified-table .booking-cell{width:112px;min-width:112px}.attendance-summary{grid-template-columns:1fr 1fr 1fr;gap:6px}.attendance-summary .stat{padding:10px 8px}.attendance-summary .stat strong{font-size:20px}.attendance-toggle-row{padding:12px}}.individual-discount-notice{margin:12px max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left));padding:11px 13px;border:1px solid #2e6e4b;border-radius:12px;background:#102f20;color:#dff9e9}.attendance-summary{display:grid;gap:8px}.attendance-summary>span{display:grid;gap:2px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink-soft)}.attendance-summary b{color:var(--ink);font-size:24px}.member-fee-row{display:grid!important;grid-template-columns:minmax(150px,1fr) minmax(130px,180px) minmax(100px,130px) auto auto;align-items:end!important;gap:9px!important}.member-fee-row label{font-size:12px;color:var(--ink-soft)}.member-fee-row input{min-height:36px;padding-block:6px}.membership-total{align-self:center;white-space:nowrap;font-size:13px;color:var(--ink-soft)}@media(max-width:760px){.member-fee-row{grid-template-columns:1fr 1fr!important}.member-fee-row>strong,.member-fee-row .membership-total{grid-column:1 / -1}}.linked-access{display:grid;gap:7px;padding-top:14px;border-top:1px solid var(--line)}.linked-access h3{margin:0 0 3px}.linked-access>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:11px;background:var(--surface-soft)}.individuals-user-page,.individuals-admin-page{min-height:100%;background:#050505;color:#fff}.individuals-page-heading{padding:14px max(12px,env(safe-area-inset-right)) 10px max(12px,env(safe-area-inset-left));background:#050505;border-bottom:1px solid #222}.individuals-page-heading h1{margin:0;color:#fff;font-size:24px}.trainer-tabs{position:relative;z-index:7;display:flex;width:100%;gap:6px;padding:8px max(8px,env(safe-area-inset-right)) 9px max(8px,env(safe-area-inset-left));overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;background:#050505;border-bottom:1px solid #242424;-webkit-overflow-scrolling:touch}.trainer-tabs::-webkit-scrollbar{display:none}.trainer-tabs button{flex:1 0 min(240px,72vw);min-height:46px;padding:9px 14px;border:1px solid #343434;border-radius:12px;background:#151515;color:#d5d7dc;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650}.trainer-tabs button.active{border-color:#f4f4f4;background:#f4f4f4;color:#090909}.trainer-tabs>span{padding:10px 6px;color:#8f949c}.individual-single-trainer-table{width:max-content;min-width:100%}.individual-single-trainer-table thead th{top:0!important;height:45px!important;background:#0b0b0b!important;color:#d6d8dc!important;font-size:12px!important}.individual-single-trainer-table th,.individual-single-trainer-table td{border-right-color:#242424;border-bottom-color:#242424}.individual-single-trainer-table .sticky-date{width:66px;min-width:66px;left:0}.individual-single-trainer-table .sticky-day{width:50px;min-width:50px;left:66px}.individual-single-trainer-table .slot-time-heading,.individual-single-trainer-table .slot-time{width:84px;min-width:84px}.individual-single-trainer-table .booking-cell,.individual-single-trainer-table thead th:not(.sticky-date):not(.sticky-day):not(.slot-time-heading){width:132px;min-width:132px}.individual-single-trainer-table tbody td{height:56px;background:#0d0d0d}.individual-single-trainer-table .sticky-date,.individual-single-trainer-table .sticky-day{background:#080808}.individual-single-trainer-table .slot-time{padding:0;background:#101010}.individual-single-trainer-table .slot-time>button,.individual-single-trainer-table .slot-time>span{display:grid;width:100%;height:100%;place-content:center;gap:1px;padding:5px;border:0;border-radius:0;background:transparent;color:#fff;font-variant-numeric:tabular-nums}.individual-single-trainer-table .slot-time strong{font-size:13px}.individual-single-trainer-table .slot-time small{color:#9ea3ab;font-size:11px}.individual-single-trainer-table .booking-cell{position:relative;padding:0;background:#0d0d0d}.individual-single-trainer-table .booking-cell.occupied{background:#151515}.individual-single-trainer-table .booking-cell.own-booking{background:#11291d;box-shadow:inset 3px 0 #2eb768}.booking-cell-main,.individual-single-trainer-table .booking-cell-name{display:grid;width:100%;height:100%;min-height:55px;place-items:center;padding:5px 8px;border:0;border-radius:0;background:transparent;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:650}.booking-cell-main:active{background:#222}.seat-add-button{display:grid;width:100%;height:100%;min-height:55px;place-items:center;padding:0;border:0;border-radius:0;background:transparent;color:var(--brand-red);font-size:30px;font-weight:300;line-height:1}.seat-add-button:active{background:#1b1b1b}.seat-add-button:disabled{opacity:.35}.seat-unavailable{color:#4b4f56}.booking-choice-modal,.booking-seat-modal{border:1px solid #303030;background:#111;color:#fff}.booking-choice-modal>p{color:#aeb2b9}.booking-choice-list{display:grid;max-height:min(52dvh,430px);gap:7px;margin:14px 0;overflow-y:auto}.booking-choice-list button{min-height:46px;justify-content:flex-start;border-color:#343434;background:#1a1a1a;color:#fff;text-align:left}.booking-choice-list button:active{background:#282828}.booking-seat-modal .slot-menu-actions{margin-top:14px}.booking-seat-modal .link-button,.booking-choice-modal .link-button{color:#d7d9dd}@media(max-width:520px){.individuals-page-heading{padding:10px 10px 8px}.individuals-page-heading h1{font-size:21px}.trainer-tabs{padding-inline:6px}.trainer-tabs button{flex-basis:min(220px,72vw);min-height:43px;font-size:14px}.individual-table-scroll{max-height:calc(100dvh - 235px)}.individual-single-trainer-table .sticky-date{width:62px;min-width:62px}.individual-single-trainer-table .sticky-day{width:46px;min-width:46px;left:62px}.individual-single-trainer-table .slot-time-heading,.individual-single-trainer-table .slot-time{width:72px;min-width:72px}.individual-single-trainer-table .booking-cell,.individual-single-trainer-table thead th:not(.sticky-date):not(.sticky-day):not(.slot-time-heading){width:112px;min-width:112px}.booking-cell-main,.individual-single-trainer-table .booking-cell-name{font-size:14px}}.free-dot{display:none!important}.schedule-month-grid em{min-height:8px;gap:3px}.schedule-month-grid .own-dot{background:#fff;box-shadow:0 0 0 1px #ffffff73}.schedule-month-grid .group-dot{background:var(--brand-red)}.timeline-card{padding:10px 11px}.timeline-card .event-top{display:block}.timeline-card>span{font-size:13px;font-weight:600}.timeline-card.group-event,.timeline-card.oneoff-event{border-color:#e11d2ee6;box-shadow:inset 3px 0 0 var(--brand-red),0 8px 20px #00000026}.timeline-card.individual-event,.timeline-card.free-event{border-color:#ffffffe6;box-shadow:inset 0 0 0 2px #fff,0 8px 20px #00000026;background:#070707}.individual-table-scroll{height:auto;max-height:calc(100dvh - 170px);overflow-x:auto;overflow-y:auto;overscroll-behavior:auto;touch-action:pan-x pan-y}.individual-single-trainer-table{min-width:920px;width:100%;table-layout:fixed}.individual-single-trainer-table .sticky-date{width:72px;min-width:72px}.individual-single-trainer-table .sticky-day{width:54px;min-width:54px;left:72px}.individual-single-trainer-table .slot-time-heading,.individual-single-trainer-table .slot-time{width:94px;min-width:94px}.individual-single-trainer-table .slot-hall-heading,.individual-single-trainer-table .slot-hall{width:76px;min-width:76px;background:#101010;color:#d9dce1;font-weight:700}.individual-single-trainer-table .booking-cell,.individual-single-trainer-table thead th:not(.sticky-date):not(.sticky-day):not(.slot-time-heading):not(.slot-hall-heading){width:170px;min-width:170px}.individual-single-trainer-table tbody td{height:62px}.booking-cell-main,.individual-single-trainer-table .booking-cell-name,.seat-add-button{min-height:61px}.booking-cell-main,.individual-single-trainer-table .booking-cell-name{font-size:16px}.seat-add-button{font-size:34px}.technical-tools{display:none!important}@media(max-width:760px){.individual-table-scroll{max-height:calc(100dvh - 190px);overflow-x:hidden}.individual-single-trainer-table{width:100%;min-width:100%;table-layout:fixed;font-size:12px}.individual-single-trainer-table .sticky-day,.individual-single-trainer-table thead .sticky-day{display:none}.individual-single-trainer-table .sticky-date{position:sticky;left:0;width:50px;min-width:50px;padding-inline:3px;font-size:11px}.individual-single-trainer-table .slot-time-heading,.individual-single-trainer-table .slot-time{width:58px;min-width:58px}.individual-single-trainer-table .slot-hall-heading,.individual-single-trainer-table .slot-hall{width:44px;min-width:44px;padding-inline:2px;font-size:11px}.individual-single-trainer-table .booking-cell,.individual-single-trainer-table thead th:not(.sticky-date):not(.sticky-day):not(.slot-time-heading):not(.slot-hall-heading){width:calc((100vw - 152px) / 3);min-width:calc((100vw - 152px) / 3);max-width:calc((100vw - 152px) / 3)}.individual-single-trainer-table thead th{padding-inline:2px;font-size:10px!important}.individual-single-trainer-table tbody td{height:52px}.individual-single-trainer-table .slot-time strong{font-size:12px}.individual-single-trainer-table .slot-time small{font-size:9px}.booking-cell-main,.individual-single-trainer-table .booking-cell-name,.seat-add-button{min-height:51px}.booking-cell-main,.individual-single-trainer-table .booking-cell-name{padding-inline:2px;font-size:12px}.seat-add-button{font-size:27px}}.schedule-month-grid em{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:3px;max-width:40px;margin-inline:auto}.schedule-month-grid .dot{flex:0 0 5px;width:5px;height:5px}.schedule-month-grid .group-dot{background:var(--brand-red);box-shadow:none}.schedule-month-grid .own-dot{background:#fff;box-shadow:0 0 0 1px #ffffff80}.day-timeline-wrap{overflow-x:hidden;overflow-y:visible}.timeline-card{box-sizing:border-box;justify-content:center;gap:2px;padding:8px 10px;border-radius:15px;line-height:1.08}.timeline-card .event-top{min-height:0}.timeline-card strong{font-size:clamp(15px,1.65vw,18px);line-height:1.05}.timeline-card>span{display:block;min-height:13px;color:#d5d7dc;font-size:12px;line-height:1.1;font-weight:550}.timeline-card small{margin-top:1px;color:#fff;font-size:11px;line-height:1.05}.timeline-card.individual-event,.timeline-card.free-event{border-color:#ffffffb3;box-shadow:inset 0 0 0 1px #ffffffb8,0 8px 18px #00000024}.timeline-card.group-event,.timeline-card.oneoff-event{border-color:#e11d2ee6;box-shadow:inset 0 0 0 1px #e11d2ef2,0 8px 18px #00000024}.individual-table-scroll{max-height:none!important;height:auto!important;overflow-x:auto!important;overflow-y:visible!important;overscroll-behavior:auto!important;scrollbar-gutter:stable}.individual-single-trainer-table{min-width:min(100%,940px)}.individual-single-trainer-table .sticky-date{width:74px;min-width:74px}.individual-single-trainer-table .sticky-day{width:54px;min-width:54px;left:74px}.individual-single-trainer-table .slot-time-heading,.individual-single-trainer-table .slot-time{width:92px;min-width:92px}.individual-single-trainer-table .slot-hall-heading,.individual-single-trainer-table .slot-hall{width:70px;min-width:70px}.individual-single-trainer-table .booking-cell,.individual-single-trainer-table .seat-heading{width:160px;min-width:160px}.seat-label-short{display:none}@media(max-width:760px){.timeline-card{padding:7px 8px;border-radius:13px;gap:1px}.timeline-card strong{font-size:14px}.timeline-card>span{font-size:10.5px;min-height:11px}.timeline-card small{font-size:9.5px}.individual-table-scroll{width:100vw;max-width:100vw;overflow-x:hidden!important;margin:0}.individual-single-trainer-table{width:100vw!important;min-width:100vw!important;max-width:100vw!important;table-layout:fixed!important;border-spacing:0}.individual-single-trainer-table .sticky-day,.individual-single-trainer-table thead .sticky-day{display:none!important}.individual-single-trainer-table .sticky-date{position:static!important;left:auto!important;width:48px!important;min-width:48px!important;max-width:48px!important;padding-inline:2px!important;font-size:10.5px}.individual-single-trainer-table .slot-time-heading,.individual-single-trainer-table .slot-time{width:54px!important;min-width:54px!important;max-width:54px!important;padding-inline:2px!important}.individual-single-trainer-table .slot-hall-heading,.individual-single-trainer-table .slot-hall{width:34px!important;min-width:34px!important;max-width:34px!important;padding-inline:1px!important}.individual-single-trainer-table .booking-cell,.individual-single-trainer-table .seat-heading{width:calc((100vw - 136px) / 3)!important;min-width:calc((100vw - 136px) / 3)!important;max-width:calc((100vw - 136px) / 3)!important;padding-inline:1px!important}.seat-label-full{display:none}.seat-label-short{display:inline}.individual-single-trainer-table thead th{font-size:10px!important}.individual-single-trainer-table tbody td{height:50px!important}.individual-single-trainer-table .slot-time strong{font-size:11px}.individual-single-trainer-table .slot-time small{font-size:8.5px}.booking-cell-main,.individual-single-trainer-table .booking-cell-name,.seat-add-button{min-height:49px!important;font-size:11.5px;padding-inline:1px}.seat-add-button{font-size:25px}}:root{color-scheme:dark;background:#050505!important;color:#f5f5f6!important;--surface: #101012;--surface-soft: #16171a;--surface-muted: #202126;--ink: #f5f5f6;--ink-soft: #a8adb6;--line: #272930;--border: #272930;--muted: #a8adb6;--dark: #050505;--accent: #e11d2e;--danger: #ff6b5f}html,body,#root,.app-shell{min-height:100%;background:#050505!important;color:#f5f5f6!important}html{background-color:#050505!important}body{background-color:#050505!important;color:#f5f5f6!important;overscroll-behavior-y:none}body:before{content:"";position:fixed;inset:0;z-index:-1;background:#050505}.app-shell{min-height:100dvh;background:#050505!important}.content,.content.content-full,.workspace-page,.page-stack,.home-simple,section{background:#050505!important;color:#f5f5f6!important}.content{min-height:calc(100dvh - 110px)}.center-page{background:#050505!important}.auth-card,.card,.stat,.table-wrap,.modal-card,.notice,.template-card,.group-list-item,.group-detail-card,.dark-tools,.workspace-admin-panel,.attendance-summary>span,.mini-list>div,.member-list>div,.linked-access>div,.debt-notices,.debt-notice,.pwa-update-notice{background:#101012!important;color:#f5f5f6!important;border-color:#272930!important;box-shadow:none!important}.notice,.notice.success,.debt-notice,.debt-notices,.pwa-update-notice{background:#18120a!important;border-color:#4a3514!important;color:#ffe0a6!important}.notice.success{background:#0f2318!important;border-color:#24583a!important;color:#c9f6d9!important}.topbar,.tabs,.trainer-tabs,.individuals-page-heading,.schedule-calendar,.schedule-header,.schedule-phone,.month-toolbar.dark-toolbar{background:#050505!important;color:#f5f5f6!important;border-color:#22242a!important}.tabs{border-bottom-color:#22242a!important}.tabs button,button,.button,.group-list-item,.template-card,.booking-choice-list button{background:#15161a!important;color:#f5f5f6!important;border-color:#2c2f36!important}.tabs button.active,button.primary,.button.primary{background:var(--brand-red)!important;border-color:var(--brand-red)!important;color:#fff!important}button.danger,.danger{color:#ff8f86!important;border-color:#67312d!important;background:#21100f!important}.link-button{background:transparent!important;color:#f4f4f5!important;border-color:transparent!important}label,.muted,.meta-chip,.schedule-line span,.payment-editor-labeled label,.member-fee-row label,.template-card span,.group-list-item span,.booking-cell small,.schedule-payment,.tariff-history span{color:#a8adb6!important}h1,h2,h3,strong,b,.stat strong,.attendance-summary b,.page-title h1,.dark-title h1{color:#fff!important}input,select,textarea,.cell-student-select{background:#15161a!important;color:#f5f5f6!important;border-color:#32353d!important}input::placeholder,textarea::placeholder{color:#787f8c!important}input[type=file]::file-selector-button{background:#252831;color:#fff;border:1px solid #3a3e48;border-radius:8px;padding:8px 10px}.table-wrap{overflow-x:auto;background:#0f1012!important}table,th,td{color:#f5f5f6!important;border-color:#272930!important}th,tr,td{background-color:#0f1012!important}th{background-color:#15161a!important}tr:nth-child(2n) td{background-color:#111216!important}code{background:#1f2229!important;color:#fff!important}.status.pending,.status.review{background:#35250d!important;color:#ffd68a!important}.status.revision,.status.replace{background:#341313!important;color:#ffb0aa!important}.status.active,.status.accepted{background:#0e301e!important;color:#a9efc1!important}.modal-backdrop{background:#000000b8!important}.modal-card{background:#111214!important;color:#f5f5f6!important}.modal-card.form-grid{background:#111214!important}.day-timeline-wrap,.day-timeline,.time-line span,.timeline-empty{background:#050505!important;color:#f5f5f6!important}.time-line:after{border-top-color:#ffffff29!important}.timeline-card{background:#090909!important;color:#fff!important}.timeline-card.group-event,.timeline-card.oneoff-event{background:#110607!important}.timeline-card.cancelled-event{background:#1c1c1c!important;color:#9ca0a8!important}.individual-month,.individual-table-scroll,.individual-unified-table,.individual-single-trainer-table,.individual-single-trainer-table tbody td,.individual-single-trainer-table .sticky-date,.individual-single-trainer-table .sticky-day,.individual-single-trainer-table .slot-time,.individual-single-trainer-table .slot-hall,.individual-single-trainer-table .booking-cell{background:#050505!important;color:#f5f5f6!important}.individual-single-trainer-table thead th{background:#0b0b0d!important}.individual-single-trainer-table .booking-cell.occupied{background:#151515!important}.individual-single-trainer-table .booking-cell.own-booking{background:#11291d!important}.individual-single-trainer-table .booking-cell.disabled{background:#080808!important}.trainer-tabs button.active{background:#fff!important;color:#050505!important;border-color:#fff!important}.attendance-toggle-row,.attendance-row,.attendance-row.present,.attendance-row.absent{background:#101012!important;color:#f5f5f6!important;border-color:#272930!important}.ios-toggle{background:#3b3f48!important}.ios-toggle.on{background:var(--brand-red)!important}@supports (-webkit-touch-callout: none){html,body,#root,.app-shell{background-color:#050505!important}}.integrated-attendance-list{display:grid;gap:10px;margin-top:14px}.attendance-payment-row{display:grid;grid-template-columns:minmax(180px,1.2fr) auto minmax(360px,1.4fr);align-items:center;gap:12px;padding:12px;border:1px solid #2c2c2c;border-radius:14px;background:#111}.attendance-student-main{display:grid;gap:3px}.attendance-student-main strong{color:#fff}.attendance-student-main span{color:#aeb2b9;font-size:13px}.attendance-payment-inline{display:grid;grid-template-columns:minmax(95px,1fr) minmax(95px,1fr) minmax(80px,auto);align-items:end;gap:8px}.attendance-payment-inline label{color:#cfd2d8;font-size:12px;gap:4px}.attendance-payment-inline input{min-height:34px;padding:6px 8px;text-align:right}.attendance-payment-inline.inactive{display:block;color:#8e949e;font-size:13px}.booking-cell-main{width:100%;min-height:38px;display:grid;gap:2px;align-content:center;text-align:left;border:0;border-radius:8px;background:transparent;color:#fff;padding:4px}.booking-cell-main small{font-size:10px;line-height:1.15;color:#aeb2b9}.compact-hint{margin:10px 0 0;background:#171717;border-color:#333;color:#e9eaee}.revision-modal .wide{display:grid;gap:8px;margin-top:12px}.revision-field-grid{margin:14px 0}.notice.error{background:#331613;border-color:#71302a;color:#ffd9d4}.field-error input,.field-error textarea,.field-error select{border-color:#e05245!important;box-shadow:0 0 0 1px #e0524559}.field-error small{color:#ffb2aa}.template-card{color:inherit;cursor:pointer}@media(max-width:760px){.attendance-payment-row{grid-template-columns:1fr auto}.attendance-payment-inline{grid-column:1 / -1;grid-template-columns:1fr 1fr auto}}@media(max-width:430px){.attendance-payment-inline{grid-template-columns:1fr}}.notification-panel{overflow:hidden;border:1px solid #3b1d22;border-radius:var(--radius);background:#101012!important}.notification-panel>div{display:flex;justify-content:space-between;padding:13px 15px;background:#1d1114!important;color:#fff!important}.notification-panel>div span{min-width:24px;text-align:center;border-radius:999px;background:var(--brand-red);color:#fff}.notification-panel>button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:12px;text-align:left;border:0;border-top:1px solid #2b2d33;border-radius:0;padding:12px 15px;background:#101012!important}.notification-panel>button span{display:grid;gap:3px}.notification-panel>button small{color:#a8adb6}.warning-button{background:#221406!important;color:#ffce8a!important;border-color:#5b3a10!important}.template-card>button:first-child{width:100%;justify-content:flex-start;text-align:left;display:grid;gap:4px;padding:0;border:0!important;background:transparent!important}.template-card .danger-text{justify-self:flex-start;margin-top:8px}.application-card-open{border-color:#ffffff29!important}.application-open-row{margin-top:12px}.application-full-review{display:grid;gap:14px;margin-top:14px;padding:14px;border:1px solid #2b2d33;border-radius:18px;background:#0b0b0d}.section-head.compact{align-items:flex-start;margin-bottom:0}.section-head.compact h3{margin:0 0 3px}.questionnaire-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.questionnaire-review-field{display:flex;gap:10px;align-items:flex-start;margin:0;padding:11px 12px;border:1px solid #2b2d33;border-radius:14px;background:#121317}.questionnaire-review-field input[type=checkbox]{width:20px;height:20px;margin-top:2px;accent-color:var(--brand-red)}.questionnaire-review-field span{min-width:0;display:grid;gap:4px}.questionnaire-review-field b{color:#fff;font-size:13px}.questionnaire-review-field em{color:#c4c9d2;font-style:normal;overflow-wrap:anywhere;line-height:1.35}.questionnaire-review-field.missing{border-color:#5b3a10;background:#181208}.questionnaire-review-field.selected{border-color:#e05245;background:#241113;box-shadow:0 0 0 1px #e052453d}.revision-inline-panel{display:grid;gap:12px;padding:13px;border:1px solid #5b3a10;border-radius:16px;background:#171006}.revision-inline-panel label{margin:0}.revision-inline-panel textarea{min-height:96px}@media(max-width:760px){.questionnaire-review-grid{grid-template-columns:1fr}.application-full-review{padding:11px;margin-left:-2px;margin-right:-2px}}.row-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap}.compact-actions{justify-content:flex-end;align-items:center}.directory-review-card{border:1px solid rgba(239,68,68,.22);scroll-margin-top:90px}.directory-review-card.revision-active{border-color:#ef4444b8;box-shadow:0 0 0 1px #ef44442e,0 20px 60px #00000047}.questionnaire-review-field small{color:#fecaca;font-style:normal;margin-top:6px}@media(max-width:760px){.row-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}.compact-actions{justify-content:flex-start}}.questionnaire-review-grid.marking .questionnaire-review-field{cursor:pointer}.questionnaire-review-grid.marking .questionnaire-review-field:hover{border-color:#ef44448c}.revision-selected-list{display:grid;gap:10px}.revision-selected-list strong{color:#fff}.revision-selected-list label{display:grid;gap:6px;color:#f8fafc;font-weight:700}.revision-selected-list textarea{width:100%;min-height:74px;resize:vertical}.push-controls{position:relative;display:inline-flex;align-items:center;gap:6px}.push-button,.push-test-button{min-height:38px;border:1px solid rgba(255,255,255,.22);background:#181818;color:#fff;border-radius:10px;padding:8px 11px;font:inherit;cursor:pointer}.push-button.enabled{border-color:#42c871a6}.push-button.denied{border-color:#ff5757a6}.push-button:disabled,.push-test-button:disabled{opacity:.55;cursor:default}.push-test-button{padding-inline:10px}.push-toast{position:fixed;z-index:10000;right:18px;top:74px;width:min(360px,calc(100vw - 28px));display:grid;gap:5px;padding:14px 16px;border:1px solid rgba(255,255,255,.18);border-left:4px solid #e2262b;border-radius:12px;background:#111;color:#fff;box-shadow:0 14px 45px #00000073}.push-toast span{color:#d7d7d7;font-size:.92rem;line-height:1.35}@media(max-width:760px){.push-button span{display:none}.push-button{width:40px;padding:8px}.push-test-button{display:none}.push-toast{top:66px;right:10px}}
