*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.block{display:block}.inline-flex{display:inline-flex}.hidden{display:none}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{--pink:#ea4f8b;--pink-dark:#cb326f;--pink-soft:#fff0f6;--ink:#171417;--muted:#746b71;--paper:#f7f6f7;--line:#e7e2e5;--dark:#111214;--dark-card:#202124;--success:#1a9b5c;--danger:#c93446}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--paper)}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}html.ios-device{width:100%;min-height:100%;overflow-x:hidden;background:#0e1012;-webkit-text-size-adjust:100%}html.ios-device body{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;background:#0e1012}html.ios-device #login-screen,html.ios-device #app-screen{min-height:100vh;min-height:100dvh}html.ios-device #login-screen{background:#0e1012}html.ios-device #app-screen{background:#fafafa;color:var(--ink);color-scheme:light}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.55}input:not([type=checkbox]):not([type=radio]),select,textarea{background:#fff!important;color:#171417!important;-webkit-text-fill-color:#171417!important;caret-color:#171417!important;color-scheme:light}html.ios-device input:not([type=checkbox]):not([type=radio]),html.ios-device select,html.ios-device textarea{font-size:16px}input::-moz-placeholder,textarea::-moz-placeholder{color:#8a8186!important;-webkit-text-fill-color:#8a8186!important;opacity:1}input::placeholder,textarea::placeholder{color:#8a8186!important;-webkit-text-fill-color:#8a8186!important;opacity:1}input:-webkit-autofill{-webkit-text-fill-color:#171417!important;box-shadow:0 0 0 1000px #fff inset}select option{background:#fff;color:#171417}.eyebrow{color:var(--pink);font-size:10px;font-weight:850;letter-spacing:1.8px;text-transform:uppercase}.login-screen{min-height:100vh;display:grid;place-items:center;padding:28px;background:radial-gradient(circle at 15% 10%,#ffe4ee 0,transparent 27rem),#f7f1f4}.login-card{position:relative;width:min(100%,430px);overflow:hidden;border:1px solid #29272a;border-radius:38px;background:#0e1012;color:#fff;box-shadow:0 32px 90px #2c18223d}.cover-panel{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:500px;padding:26px 26px 30px;background-image:linear-gradient(180deg,#080a0c2e,#080a0c14 45%,#080a0ce0),url(../resources/maxima-cover-athlete.webp);background-position:center;background-size:cover;color:#fff}.public-menu-btn{position:absolute;top:24px;right:22px;left:auto;z-index:4;display:grid;align-content:center;gap:5px;width:43px;height:43px;padding:0 11px;border:0;border-radius:50%;background:#0a0b0d8c;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.public-menu-btn span{display:block;height:2px;border-radius:2px;background:#fff}.cover-brand{position:relative;z-index:2;width:170px;height:62px;overflow:hidden}.login-logo-crop,.brand-logo-crop,.menu-logo-crop{overflow:hidden;background:#fff}.login-logo-crop{width:170px;height:62px;border:0;border-radius:0;background:transparent;box-shadow:none}.login-logo{display:block;width:100%;height:100%;border:0;border-radius:0;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;transform:none;filter:none}.cover-message{position:relative;z-index:2;margin-top:auto}.cover-message p{margin:0;color:#fff;font-size:23px;font-weight:430;line-height:1.25;letter-spacing:-.4px;text-shadow:0 2px 14px rgb(0 0 0 / 48%)}.cover-message strong{font-weight:850}.cover-message i{display:block;width:45px;height:3px;margin-top:14px;border-radius:3px;background:var(--pink)}.access-panel{padding:0 24px 26px;background:#0e1012;color:#fff}.access-heading{display:none}.access-grid{display:grid;gap:12px}.access-tabs{padding:0;border:0;background:transparent}.access-option{display:grid;grid-template-columns:54px 1fr 36px;align-items:center;gap:12px;width:100%;min-height:82px;padding:12px 14px;border:1px solid rgb(255 255 255 / 70%);border-radius:16px;background:linear-gradient(135deg,#fff,#fff3f7);color:var(--ink);text-align:left;cursor:pointer;box-shadow:0 10px 28px #0003;transition:.18s ease}.access-option+.access-option{margin-top:0}.access-option.active{border-color:var(--pink);box-shadow:0 0 0 2px #ea4f8b47,0 12px 30px #00000038;transform:none}.access-option strong,.access-option small{display:block}.access-option strong{color:var(--ink);font-size:15px;font-weight:850}.access-option small,.student-access small{margin-top:3px;color:#6f666c!important;font-size:11px}.access-icon{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--pink-soft);color:var(--pink);font-size:0}.access-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:2.15;stroke-linecap:round;stroke-linejoin:round}.access-option b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffe5ef;color:var(--pink);font-size:25px;font-weight:400}.access-panel .admin-access,.access-tabs.admin-selected .student-access,.access-tabs.admin-selected .trainer-access{display:none}.access-tabs.admin-selected .admin-access{display:grid;grid-template-columns:1fr 36px}.cover-contact{position:relative;display:grid;gap:7px;margin:22px 2px 20px;padding-right:62px;color:#e5dfe2;font-size:11px}.cover-contact span{display:block}.cover-contact a{position:absolute;top:1px;right:0;display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#25d366;color:#fff;font-size:28px;text-decoration:none;box-shadow:0 8px 20px #25d3663d}.credentials-panel{scroll-margin-top:max(12px,env(safe-area-inset-top))}.auth-heading{margin-top:20px;padding-top:18px;border-top:1px solid #343236}.auth-heading span,.auth-heading small{display:block}.auth-heading span{color:#ff89b6;font-size:10px;font-weight:850;letter-spacing:1.5px}.auth-heading small{margin-top:4px;color:#a9a1a6;font-size:11px}.auth-form{display:grid;gap:11px;width:100%;margin:13px 0 0;padding:0;border:0}.auth-field{display:block;color:#f6f1f3;font-size:12px;font-weight:750}.auth-field input{width:100%;margin-top:6px;padding:12px 13px;border:1px solid #d8d1d5;border-radius:12px;outline:none}.auth-field input:focus{border-color:var(--pink);box-shadow:0 0 0 3px #ea4f8b26}.password-input-wrap{position:relative;display:block;margin-top:6px}.password-input-wrap input{margin-top:0!important;padding-right:52px!important}.password-toggle{position:absolute;top:50%;right:3px;z-index:2;width:43px;height:40px;transform:translateY(-50%);border:0;border-radius:10px;background:transparent;color:#655d62;cursor:pointer}.primary,.secondary{padding:11px 14px;border:0;border-radius:12px;font-size:13px;font-weight:780;cursor:pointer}.primary,.login-card .primary{background:linear-gradient(90deg,var(--pink-dark),#f05f98);color:#fff;box-shadow:0 8px 20px #cf327038}.secondary,.login-card .secondary{background:#2b292c;color:#fff}.wide{width:100%}.login-button{min-height:45px;margin-top:3px}.auth-link{display:block;width:100%;margin:8px auto 0;padding:4px;border:0;background:transparent;color:#ff88b5;font-size:12px;font-weight:750;cursor:pointer}.login-help{width:auto;margin:12px 8px 0;color:#a8a0a5;font-size:10px;line-height:1.45;text-align:center}.message{margin-top:8px;padding:10px 12px;border-radius:11px;background:#fff0f1;color:#a81f30;font-size:12px;font-weight:700;text-align:center}.message.success{background:#e6f7ee;color:#13683f}.message.loading{background:#fff4d8;color:#73520a}.public-menu{position:fixed;inset:0 0 0 auto;z-index:100;width:min(88vw,360px);min-height:100dvh;overflow:auto;padding:28px 24px;background:#111214;color:#fff;box-shadow:-20px 0 60px #0000006b}.menu-logo-crop{width:190px;height:68px;margin:28px auto 20px}.menu-logo-crop img{display:block;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 52%;object-position:center 52%}.public-menu button,.public-menu a,.public-menu span{display:block;width:100%;padding:12px 7px;border:0;background:transparent;color:#f8f4f6;text-align:left;text-decoration:none;cursor:pointer}.public-menu hr{border:0;border-top:1px solid #3a3639;margin:11px 0}.public-menu small{color:#cbc3c7}.menu-close{position:absolute;top:12px;right:16px;width:auto!important;font-size:30px!important}.public-info-dialog{width:calc(100% - 32px);max-width:420px;padding:23px;border:0;border-radius:22px;background:#fff;color:var(--ink);box-shadow:0 25px 70px #00000040}.public-info-dialog::backdrop,.edit-dialog::backdrop{background:#111214b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.public-info-dialog h3{margin:0 0 12px;font-size:22px}.public-info-dialog p,.public-info-dialog ul{color:var(--muted);line-height:1.6}#app-screen{min-height:100vh;background:#fafafa}.topbar{position:sticky;top:0;z-index:24;display:flex;align-items:center;gap:11px;padding:max(12px,env(safe-area-inset-top)) 16px 11px;border-bottom:1px solid var(--line);background:#fffffff5;color:var(--ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-logo-crop{width:128px;height:46px;flex:0 0 auto;background:#fff}.brand-logo{display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;-o-object-fit:cover;object-fit:cover;-o-object-position:center 50%;object-position:center 50%;transform:none}.brand-copy{min-width:0;flex:1}.brand-copy h1{display:none}.brand-copy p{margin:0;overflow:hidden;color:#5f575c;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.role-badge{display:none}.logout-btn{padding:8px 10px;border:0;border-radius:10px;background:#f1edef;color:var(--ink);font-weight:750;cursor:pointer}main{max-width:940px;margin:0 auto;padding:22px 18px 110px}.welcome{position:relative;min-height:0;padding:10px 2px 20px;border:0;border-radius:0;background:transparent;color:var(--ink);box-shadow:none}.welcome:after{display:none}.welcome>span{display:block;padding:0;background:transparent;color:#6f666c;font-size:11px;font-weight:700;letter-spacing:.6px}.welcome h2{max-width:560px;margin:7px 0 6px;color:var(--ink);font-size:34px;font-weight:900;line-height:1.02;letter-spacing:-1.3px}.welcome h2:after{content:"";display:block;width:40px;height:3px;margin-top:13px;background:var(--pink)}.welcome p{margin:0;color:var(--muted);line-height:1.5}.quick-bookings{display:flex;align-items:center;justify-content:space-between;width:100%;margin-top:15px;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);font-weight:850;cursor:pointer}.quick-bookings b,.tab b{display:inline-grid;place-items:center;min-width:21px;height:21px;border-radius:50%;background:var(--pink);color:#fff;font-size:11px}.install-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;padding:14px 15px;border:1px solid var(--line);border-radius:15px;background:#fff;color:var(--ink)}.install-card strong,.install-card span{display:block}.install-card span{margin-top:3px;color:var(--muted);font-size:12px}.install-card button{padding:9px 13px;border:0;border-radius:10px;background:var(--pink);color:#fff;font-weight:750}.tabs{position:sticky;top:70px;z-index:15;display:grid;grid-template-columns:repeat(3,1fr);margin:0 0 24px;padding:5px;border:1px solid var(--line);border-radius:14px;background:#fffffff5;box-shadow:0 8px 25px #2f1f280f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.four-tabs{grid-template-columns:repeat(4,1fr)}.tab{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;min-height:43px;padding:8px 6px;border:0;border-radius:10px;background:transparent;color:#746c71;font-size:12px;font-weight:700;cursor:pointer}.tab.active{background:var(--pink);color:#fff;box-shadow:0 6px 16px #cf327038}.tab.active b{background:#fff;color:var(--pink)}.tab-icon{font-size:15px}.view{display:none}.view.active{display:block}.role-metrics{display:grid;gap:10px;margin:-2px 0 20px}.admin-metrics{grid-template-columns:repeat(3,1fr)}.trainer-metrics{grid-template-columns:repeat(2,1fr)}.role-metrics article{padding:16px 12px;border:1px solid var(--line);border-radius:14px;background:#fff;text-align:center;box-shadow:0 7px 22px #2f1f280d}.role-metrics span,.role-metrics strong{display:block}.role-metrics span{color:var(--muted);font-size:11px}.role-metrics strong{margin-top:5px;color:var(--ink);font-size:24px}.section-heading{display:flex;align-items:end;justify-content:space-between;margin:25px 2px 14px}.section-heading small,.dialog-heading small{color:var(--pink-dark);font-size:10px;font-weight:850;letter-spacing:1.1px}.section-heading h3,.dialog-heading h3{margin:4px 0 0;color:var(--ink);font-size:21px;line-height:1.2;letter-spacing:-.45px}.text-button{border:0;background:none;color:var(--pink-dark);font-weight:800;cursor:pointer}.days{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;overflow-x:auto;padding:2px 1px 6px}.day{padding:11px 4px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--muted);cursor:pointer}.day span,.day strong{display:block;text-align:center}.day span{font-size:10px;text-transform:uppercase}.day strong{margin-top:3px;color:var(--ink);font-size:17px}.day.active{border-color:var(--pink);background:var(--pink);color:#fff;box-shadow:0 7px 18px #cf327033}.day.active strong{color:#fff}.slots{display:grid;gap:10px;margin-top:16px}.slot{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:11px;padding:14px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 6px 18px #2f1f280a}.slot-time{display:grid;place-items:center;min-width:68px;min-height:45px;border-radius:10px;background:var(--pink-soft);color:var(--pink-dark);font-size:16px;font-weight:850}.slot-info strong,.slot-info span{display:block}.slot-info strong{color:var(--ink)}.slot-info span{margin-top:3px;color:var(--muted);font-size:12px}.slot-trainer,.schedule-trainer-picker select{grid-column:1/-1;width:100%;padding:10px 11px;border:1px solid #ddd6da;border-radius:11px}.selected-trainer{grid-column:1/-1;display:flex;align-items:center;gap:10px;padding:10px;border:1px solid #eed6df;border-radius:12px;background:#fff8fb;color:var(--ink)}.selected-trainer span strong,.selected-trainer span small{display:block}.selected-trainer span small{margin-top:2px;color:var(--muted);font-size:11px}.trainer-avatar,.profile-avatar{flex:0 0 auto;width:45px;height:45px;border:2px solid var(--pink);border-radius:50%;-o-object-fit:cover;object-fit:cover;background:#fff}.profile-avatar{width:67px;height:67px}.avatar-fallback{display:grid!important;place-items:center;background:var(--dark);color:#fff;font-weight:900}.reserve{grid-column:1/-1;padding:11px 13px;border:0;border-radius:11px;background:linear-gradient(90deg,var(--pink-dark),#f05f98);color:#fff;font-weight:850;cursor:pointer}.booking-card,.availability-card,.user-card,.profile-card,.schedule-card{display:flex;align-items:center;justify-content:space-between;gap:13px;margin-bottom:10px;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 6px 18px #2f1f280a}.booking-main strong,.booking-main span,.availability-card strong,.availability-card span,.user-info strong,.user-info span,.user-info small,.profile-card strong,.profile-card span,.schedule-card strong,.schedule-card span,.schedule-card small{display:block}.booking-main span,.availability-card span,.user-info span,.user-info small,.profile-card span,.schedule-card span,.schedule-card small{margin-top:3px;color:var(--muted);font-size:12px}.booking-actions,.user-actions,.schedule-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.edit,.cancel,.delete-trainer,.toggle-slot{padding:9px 11px;border:0;border-radius:10px;font-weight:750;cursor:pointer}.edit{background:var(--pink-soft);color:var(--pink-dark)}.cancel,.delete-trainer{background:#fff0f1;color:var(--danger)}.toggle-slot{background:#eee9ec;color:#625b5f}.toggle-slot.on{background:#e3f7ec;color:var(--success)}.admin-create-form,.trainer-photo-form,.calendar-toolbar,.schedule-day-bar,.admin-note,.report-card,.empty{border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);box-shadow:0 6px 18px #2f1f280a}.admin-create-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:15px;padding:15px}.admin-form-title{grid-column:1/-1}.admin-form-title strong,.admin-form-title span{display:block}.admin-form-title span{margin-top:3px;color:var(--muted);font-size:12px}.admin-create-form label,.schedule-trainer-picker,.field-label,.calendar-picker,.report-card label,.trainer-photo-form label{color:#4d464a;font-size:12px;font-weight:750}.admin-create-form input,.admin-create-form select,.trainer-photo-form input,.calendar-picker input,.report-card input,.role-select,.edit-dialog input,.edit-dialog select{display:block;width:100%;margin-top:6px;padding:10px 11px;border:1px solid #ddd6da;border-radius:10px}.admin-create-form>button{grid-column:1/-1}.form-message{grid-column:1/-1;margin:0;padding:10px 12px;border:1px solid #f0b8c9;border-radius:10px;background:#fff3f7;color:#9b234f;font-size:12px;font-weight:750;line-height:1.45}.form-message.success{border-color:#a8ddc0;background:#effaf4;color:#176b3b}.trainer-photo-form{display:grid;gap:9px;margin:15px 0;padding:15px}.trainer-photo-form small{color:var(--muted)}.role-select{width:auto;min-width:120px;margin:0}.schedule-trainer-picker{display:block;margin-bottom:13px}.schedule-form-actions,.time-picker-field{grid-column:1/-1}.schedule-form-actions{display:flex;justify-content:flex-end;gap:8px}.field-label{display:block;margin-bottom:6px}.time-dropdown{border:1px solid #ddd6da;border-radius:11px;background:#fff;color:var(--ink)}.time-dropdown summary{padding:11px 12px;color:var(--ink);font-weight:800;cursor:pointer;list-style:none}.time-picker-tools{display:flex;gap:8px;padding:0 12px 10px}.time-picker-tools button{padding:7px 9px;border:0;border-radius:8px;background:#f1edef;color:var(--ink);font-size:11px;font-weight:750}.time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;max-height:220px;overflow:auto;padding:0 12px 12px}.time-option{position:relative;cursor:pointer}.time-option input{position:absolute;opacity:0;pointer-events:none}.time-option span{display:block;padding:8px 5px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:12px;font-weight:750;text-align:center}.time-option input:checked+span{border-color:var(--pink);background:var(--pink-soft);color:var(--pink-dark);box-shadow:inset 0 0 0 1px var(--pink)}.capacity-inline{display:flex;align-items:end;gap:8px}.capacity-inline label{color:var(--muted);font-size:11px;font-weight:750}.capacity-inline input{display:block;width:74px;margin-top:4px;padding:8px;border:1px solid var(--line);border-radius:9px}.calendar-toolbar,.schedule-day-bar{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:13px;padding:13px}.calendar-picker{flex:1}.day-summary{margin:-4px 0 12px;color:var(--muted)}.danger-button{padding:10px 13px;border:0;border-radius:10px;background:#fff0f1;color:var(--danger);font-weight:800;cursor:pointer}.admin-note{padding:13px;color:var(--muted);line-height:1.55}.report-card{display:grid;grid-template-columns:1fr auto auto;align-items:end;gap:11px;margin-bottom:15px;padding:15px}.report-card strong,.report-card span{display:block}.report-card span{margin-top:3px;color:var(--muted);font-size:12px}.empty{padding:36px 18px;color:var(--muted);text-align:center;border-style:dashed}.empty strong{display:block;margin-bottom:5px;color:var(--ink)}.admin-delete-account{display:grid;gap:8px;margin:15px 0;padding:15px;border:1px solid #f0c8cd;border-radius:14px;background:#fff5f6}.admin-delete-account strong{color:var(--danger)}.admin-delete-account span{color:var(--muted);font-size:12px}.account-password-form{margin:15px 0}.user-card.inactive,.schedule-card.inactive{opacity:.62}.edit-dialog{width:calc(100% - 32px);max-width:430px;padding:0;border:0;border-radius:20px;background:#fff;color:var(--ink);box-shadow:0 24px 70px #00000040}.edit-dialog form,.recovery-panel{padding:20px}.recovery-panel form{padding:0}.recovery-description{color:var(--muted)}.dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.icon-button{width:36px;height:36px;border:0;border-radius:50%;background:#f1edef;color:var(--ink);font-size:24px;cursor:pointer}.edit-dialog label{display:block;margin:12px 0;color:#4d464a;font-size:13px;font-weight:750}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}.toast{position:fixed;left:50%;bottom:88px;z-index:140;max-width:calc(100vw - 30px);padding:12px 17px;border-radius:12px;background:#171417;color:#fff;box-shadow:0 8px 24px #00000038;opacity:0;pointer-events:none;transform:translate(-50%,20px);transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%)}#app-screen[data-role=trainer]{background:#fafafa;color:var(--ink);color-scheme:light}#app-screen[data-role=trainer] .topbar{border-color:var(--line);background:#fffffff5;color:var(--ink)}#app-screen[data-role=trainer] .brand-logo-crop{background:#fff}#app-screen[data-role=trainer] .brand-copy p{color:#5f575c}#app-screen[data-role=trainer] .logout-btn{background:#f1edef;color:var(--ink)}#app-screen[data-role=trainer] main{color:var(--ink)}#app-screen[data-role=trainer] .welcome{padding-top:6px}#app-screen[data-role=trainer] .welcome>span{color:#6f666c}#app-screen[data-role=trainer] .welcome h2{color:var(--ink);font-size:36px}#app-screen[data-role=trainer] .welcome p{color:var(--muted)}#app-screen[data-role=trainer] .tabs,#app-screen[data-role=trainer] .booking-card,#app-screen[data-role=trainer] .availability-card,#app-screen[data-role=trainer] .user-card,#app-screen[data-role=trainer] .profile-card,#app-screen[data-role=trainer] .schedule-card,#app-screen[data-role=trainer] .admin-create-form,#app-screen[data-role=trainer] .trainer-photo-form,#app-screen[data-role=trainer] .schedule-day-bar,#app-screen[data-role=trainer] .report-card,#app-screen[data-role=trainer] .empty,#app-screen[data-role=trainer] .admin-note,#app-screen[data-role=trainer] .role-metrics article{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 6px 18px #2f1f280a}#app-screen[data-role=trainer] .tabs{background:#fffffff5}#app-screen[data-role=trainer] .tab{color:#746c71}#app-screen[data-role=trainer] .tab.active{color:#fff}#app-screen[data-role=trainer] .section-heading h3,#app-screen[data-role=trainer] .booking-main strong,#app-screen[data-role=trainer] .availability-card strong,#app-screen[data-role=trainer] .user-info strong,#app-screen[data-role=trainer] .profile-card strong,#app-screen[data-role=trainer] .schedule-card strong,#app-screen[data-role=trainer] .admin-form-title strong,#app-screen[data-role=trainer] .empty strong,#app-screen[data-role=trainer] .role-metrics strong{color:var(--ink)}#app-screen[data-role=trainer] .booking-main span,#app-screen[data-role=trainer] .availability-card span,#app-screen[data-role=trainer] .user-info span,#app-screen[data-role=trainer] .user-info small,#app-screen[data-role=trainer] .profile-card span,#app-screen[data-role=trainer] .schedule-card span,#app-screen[data-role=trainer] .schedule-card small,#app-screen[data-role=trainer] .admin-form-title span,#app-screen[data-role=trainer] .admin-note,#app-screen[data-role=trainer] .report-card span,#app-screen[data-role=trainer] .role-metrics span{color:var(--muted)}#app-screen[data-role=trainer] .admin-create-form label,#app-screen[data-role=trainer] .field-label,#app-screen[data-role=trainer] .report-card label{color:#4d464a}@media(min-width:700px){.days{grid-template-columns:repeat(7,1fr)}.slots{grid-template-columns:1fr 1fr}}@media(max-width:699px){.login-screen{display:block;min-height:100dvh;padding:0;background:#0e1012}.login-card{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.cover-panel{min-height:54dvh;padding:22px 22px 28px}.public-menu-btn{top:max(18px,env(safe-area-inset-top));right:18px}.access-panel{padding:0 18px calc(24px + env(safe-area-inset-bottom))}.credentials-panel{display:none;min-height:100dvh;padding-top:max(18px,env(safe-area-inset-top))}.credentials-panel.open{display:block}.credentials-back,.login-card.credentials-open .cover-panel,.login-card.credentials-open .access-tabs,.login-card.credentials-open .cover-contact{display:none}.login-card.credentials-open .access-panel{min-height:100vh;min-height:100dvh;padding:max(28px,calc(env(safe-area-inset-top) + 20px)) 22px max(24px,calc(env(safe-area-inset-bottom) + 18px))}.login-card.credentials-open .credentials-panel{display:block;min-height:0;max-width:430px;margin:0 auto;padding-top:0}.login-card.credentials-open .credentials-back{display:inline-flex;align-items:center;margin:0 0 20px;padding:8px 0;border:0;background:transparent;color:#ff89b6;font-size:14px;font-weight:800;cursor:pointer}.login-card.credentials-open .auth-heading{margin-top:0;padding-top:0;border-top:0}@supports (-webkit-touch-callout:none){.login-screen{width:100%;min-height:100vh;min-height:100dvh;overflow-x:hidden;overflow-y:auto}.login-card{display:flex;flex-direction:column;width:100%;max-width:100%;min-height:100vh;min-height:100dvh;margin:0 auto;overflow-x:hidden}.cover-panel{flex:1 1 auto;min-height:0;height:auto;padding:calc(42px + env(safe-area-inset-top)) 18px 24px;background-position:center 34%}.cover-brand,.login-logo-crop{width:160px;height:58px}.cover-message p{font-size:20px;line-height:1.2}.cover-message i{margin-top:10px}.access-grid{gap:9px}.access-option{min-height:68px;padding:9px 11px;grid-template-columns:46px 1fr 32px;gap:10px}.access-icon{width:44px;height:44px}.access-icon svg{width:25px;height:25px}.access-option b{width:30px;height:30px;font-size:22px}.cover-contact{margin:12px 2px 0}.cover-contact a{width:44px;height:44px}.public-menu-btn{top:max(46px,calc(env(safe-area-inset-top) + 22px))}.access-panel{flex:0 0 auto;padding:0 18px max(18px,calc(env(safe-area-inset-bottom) + 8px))}.credentials-panel{width:100%;min-height:0;padding-top:0;scroll-margin-top:max(12px,env(safe-area-inset-top))}.credentials-panel input:focus,.credentials-panel select:focus,.credentials-panel textarea:focus{scroll-margin-top:20px;scroll-margin-bottom:180px}.login-card.credentials-open .access-panel{flex:1 1 auto;padding-top:max(32px,calc(env(safe-area-inset-top) + 22px))}#app-screen,#app-screen[data-role=trainer]{background:#fafafa!important;color:var(--ink)!important}#app-screen[data-role=trainer] .topbar{border-color:var(--line);background:#fffffff5;color:var(--ink)}#app-screen[data-role=trainer] .brand-copy p{color:#5f575c}#app-screen[data-role=trainer] .logout-btn{background:#f1edef;color:var(--ink)}#app-screen[data-role=trainer] main{color:var(--ink)}#app-screen[data-role=trainer] .welcome>span{color:#6f666c}#app-screen[data-role=trainer] .welcome h2{color:var(--ink)}#app-screen[data-role=trainer] .welcome p{color:var(--muted)}#app-screen[data-role=trainer] .tabs,#app-screen[data-role=trainer] .booking-card,#app-screen[data-role=trainer] .availability-card,#app-screen[data-role=trainer] .user-card,#app-screen[data-role=trainer] .profile-card,#app-screen[data-role=trainer] .schedule-card,#app-screen[data-role=trainer] .admin-create-form,#app-screen[data-role=trainer] .trainer-photo-form,#app-screen[data-role=trainer] .schedule-day-bar,#app-screen[data-role=trainer] .report-card,#app-screen[data-role=trainer] .empty,#app-screen[data-role=trainer] .admin-note,#app-screen[data-role=trainer] .role-metrics article{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 6px 18px #2f1f280a}#app-screen[data-role=trainer] .tabs{background:#fffffff5}#app-screen[data-role=trainer] .tab{color:#746c71}#app-screen[data-role=trainer] .tab.active{color:#fff}#app-screen[data-role=trainer] .section-heading h3,#app-screen[data-role=trainer] .booking-main strong,#app-screen[data-role=trainer] .availability-card strong,#app-screen[data-role=trainer] .user-info strong,#app-screen[data-role=trainer] .profile-card strong,#app-screen[data-role=trainer] .schedule-card strong,#app-screen[data-role=trainer] .admin-form-title strong,#app-screen[data-role=trainer] .empty strong,#app-screen[data-role=trainer] .role-metrics strong{color:var(--ink)}#app-screen[data-role=trainer] .booking-main span,#app-screen[data-role=trainer] .availability-card span,#app-screen[data-role=trainer] .user-info span,#app-screen[data-role=trainer] .user-info small,#app-screen[data-role=trainer] .profile-card span,#app-screen[data-role=trainer] .schedule-card span,#app-screen[data-role=trainer] .schedule-card small,#app-screen[data-role=trainer] .admin-form-title span,#app-screen[data-role=trainer] .admin-note,#app-screen[data-role=trainer] .report-card span,#app-screen[data-role=trainer] .role-metrics span{color:var(--muted)}#app-screen[data-role=trainer] .admin-create-form label,#app-screen[data-role=trainer] .field-label,#app-screen[data-role=trainer] .report-card label{color:#4d464a}main{padding-bottom:max(230px,calc(env(safe-area-inset-bottom) + 205px))}.view{padding-bottom:24px}.booking-actions,.user-actions,.schedule-actions,.install-card,.profile-card,.admin-create-form,.report-card{scroll-margin-bottom:190px}.toast{right:max(18px,env(safe-area-inset-right));bottom:max(170px,calc(env(safe-area-inset-bottom) + 150px))}}#app-screen[data-role=trainer]{background:#fafafa!important;color:var(--ink)!important}#app-screen[data-role=trainer] .topbar{border-color:var(--line);background:#fffffff5;color:var(--ink)}#app-screen[data-role=trainer] .brand-copy p{color:#5f575c}#app-screen[data-role=trainer] .logout-btn{background:#f1edef;color:var(--ink)}#app-screen[data-role=trainer] main{color:var(--ink)}#app-screen[data-role=trainer] .welcome>span{color:#6f666c}#app-screen[data-role=trainer] .welcome h2{color:var(--ink)}#app-screen[data-role=trainer] .welcome p{color:var(--muted)}#app-screen[data-role=trainer] .tabs,#app-screen[data-role=trainer] .booking-card,#app-screen[data-role=trainer] .availability-card,#app-screen[data-role=trainer] .user-card,#app-screen[data-role=trainer] .profile-card,#app-screen[data-role=trainer] .schedule-card,#app-screen[data-role=trainer] .admin-create-form,#app-screen[data-role=trainer] .trainer-photo-form,#app-screen[data-role=trainer] .schedule-day-bar,#app-screen[data-role=trainer] .report-card,#app-screen[data-role=trainer] .empty,#app-screen[data-role=trainer] .admin-note,#app-screen[data-role=trainer] .role-metrics article{border-color:var(--line);background:#fff;color:var(--ink);box-shadow:0 6px 18px #2f1f280a}#app-screen[data-role=trainer] .tabs{background:#fffffff5}#app-screen[data-role=trainer] .tab{color:#746c71}#app-screen[data-role=trainer] .tab.active{color:#fff}#app-screen[data-role=trainer] .section-heading h3,#app-screen[data-role=trainer] .booking-main strong,#app-screen[data-role=trainer] .availability-card strong,#app-screen[data-role=trainer] .user-info strong,#app-screen[data-role=trainer] .profile-card strong,#app-screen[data-role=trainer] .schedule-card strong,#app-screen[data-role=trainer] .admin-form-title strong,#app-screen[data-role=trainer] .empty strong,#app-screen[data-role=trainer] .role-metrics strong{color:var(--ink)}#app-screen[data-role=trainer] .booking-main span,#app-screen[data-role=trainer] .availability-card span,#app-screen[data-role=trainer] .user-info span,#app-screen[data-role=trainer] .user-info small,#app-screen[data-role=trainer] .profile-card span,#app-screen[data-role=trainer] .schedule-card span,#app-screen[data-role=trainer] .schedule-card small,#app-screen[data-role=trainer] .admin-form-title span,#app-screen[data-role=trainer] .admin-note,#app-screen[data-role=trainer] .report-card span,#app-screen[data-role=trainer] .role-metrics span{color:var(--muted)}#app-screen[data-role=trainer] .admin-create-form label,#app-screen[data-role=trainer] .field-label,#app-screen[data-role=trainer] .report-card label{color:#4d464a}main{padding:18px 15px 210px}.topbar{padding-left:12px;padding-right:12px}.brand-logo-crop{width:112px;height:42px}.welcome h2{font-size:31px}.tabs{position:sticky;top:70px;right:auto;bottom:auto;left:auto;z-index:15;margin:0 0 24px;border-radius:14px;box-shadow:0 8px 25px #2f1f280f}.tab{min-height:57px;flex-direction:column;gap:2px;font-size:10px}@supports (-webkit-touch-callout:none){.tabs{position:fixed;top:auto;right:max(14px,env(safe-area-inset-right));bottom:max(72px,calc(env(safe-area-inset-bottom) + 62px));left:max(14px,env(safe-area-inset-left));z-index:30;margin:0;border-radius:16px;box-shadow:0 14px 38px #2c17222e}}.section-heading{margin-top:23px}.report-card,.admin-create-form{grid-template-columns:1fr}.admin-form-title,.admin-create-form>button,.schedule-form-actions,.time-picker-field{grid-column:1}.time-options{grid-template-columns:repeat(3,1fr)}.booking-card,.availability-card,.user-card,.schedule-card,.install-card{align-items:flex-start;flex-direction:column}.booking-actions,.user-actions,.schedule-actions,.install-card button,.role-select{width:100%}.booking-actions button,.user-actions button,.schedule-actions button{flex:1}.calendar-toolbar,.schedule-day-bar{align-items:stretch;flex-direction:column}.toast{bottom:90px}.four-tabs .tab{padding-left:2px;padding-right:2px;font-size:9px}}.policy-note{margin:0 0 16px;padding:13px 15px;border:1px solid #ead8df;border-radius:14px;background:#fff7fa;color:#6f4a59;font-size:13px;line-height:1.5}.lock-note,.change-note{display:inline-flex;margin-top:6px;padding:5px 9px;border-radius:999px;font-weight:800}.lock-note{background:#f5e5eb;color:#8f3455}.change-note{background:#eaf7ef;color:#28734b}.booking-actions button:disabled{cursor:not-allowed;opacity:.42}.plan-balance-card,.checkin-card,.analytics-card,.plan-row{border:1px solid var(--line);background:#fff;box-shadow:0 12px 34px #2f1f280f}.plan-balance-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:22px;border-radius:22px;margin-bottom:16px}.plan-balance-card>div:first-child{display:flex;flex-direction:column;gap:5px}.plan-balance-card small{color:var(--wine);font-weight:900;letter-spacing:.09em}.plan-balance-card strong{font-size:21px}.plan-balance-card span{color:var(--muted);font-size:13px}.balance-ring{width:84px;height:84px;flex:0 0 84px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--wine) 0 72%,#f1e7eb 72%);box-shadow:inset 0 0 0 8px #fff}.balance-ring strong{font-size:25px;line-height:1}.balance-ring span{font-size:10px}.balance-ring.neutral{background:#f1e7eb}.checkin-card{padding:24px;border-radius:22px;text-align:center}.checkin-icon{width:58px;height:58px;margin:0 auto 12px;border-radius:18px;display:grid;place-content:center;background:linear-gradient(145deg,#ad315c,#641b37);color:#fff;font-size:32px}.checkin-card h4{margin:3px 0;font-size:24px}.checkin-card p{color:var(--muted);line-height:1.5}#qr-reader-wrap{margin-top:16px}#qr-reader{overflow:hidden;border-radius:18px;background:#121012}#qr-reader video{border-radius:18px}.attendance-history{margin-top:20px}.attendance-history h4{font-size:18px}.attendance-history article{display:grid;grid-template-columns:12px 1fr auto;align-items:center;gap:12px;padding:14px 4px;border-bottom:1px solid var(--line)}.attendance-history article div{display:flex;flex-direction:column}.attendance-history small{color:var(--muted)}.attendance-history b{font-size:12px}.status-dot{width:10px;height:10px;border-radius:50%}.status-dot.ok{background:#31a267}.status-dot.miss{background:#cb3d55}.dashboard-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:20px;padding:28px;border-radius:26px;background:radial-gradient(circle at 90% 10%,#d64c7d 0,transparent 35%),linear-gradient(135deg,#21171d,#601a35);color:#fff;box-shadow:0 20px 50px #4d192e38}.dashboard-hero small{font-weight:900;letter-spacing:.13em;color:#ffb9d0}.dashboard-hero h3{margin:6px 0;font-size:32px}.dashboard-hero p{margin:0;color:#eadde2}.dashboard-hero>span{padding:8px 12px;border:1px solid rgb(255 255 255 / 25%);border-radius:999px;font-size:12px}.executive-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.executive-kpis article{display:flex;flex-direction:column;min-height:128px;padding:19px;border:1px solid var(--line);border-radius:20px;background:#fff}.executive-kpis span{color:var(--muted);font-size:12px;font-weight:800}.executive-kpis strong{margin:auto 0 2px;font-size:33px}.executive-kpis small{color:#9b858e}.dashboard-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:14px}.analytics-card{padding:20px;border-radius:22px;min-height:240px}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-heading small{color:var(--wine);font-weight:900;letter-spacing:.09em}.card-heading h4{margin:4px 0 16px;font-size:19px}.live-pill{padding:5px 8px;border-radius:999px;background:#e8f8ef;color:#24804d;font-size:10px;font-weight:900}.qr-admin-card{text-align:center}.qr-admin-card .card-heading{text-align:left}.qr-admin-card img{width:min(210px,100%);border-radius:15px}.qr-admin-card p{margin:8px 0;color:var(--muted);font-size:12px}.qr-admin-card>small{color:#99838c}.booking-trend{height:170px;display:flex;align-items:flex-end;gap:7px;padding-top:14px}.trend-column{height:100%;flex:1;min-width:8px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:6px}.trend-column span{width:100%;max-width:26px;border-radius:7px 7px 3px 3px;background:linear-gradient(180deg,#dc5684,#7f2447)}.trend-column small{font-size:9px;color:#9b858e}.activity-bars{display:flex;flex-direction:column;gap:15px}.activity-bars>div>span{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px}.activity-bars small{color:var(--muted)}.activity-bars i{display:block;height:8px;border-radius:99px;background:#f1e7eb;overflow:hidden}.activity-bars em{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#72213f,#db5684)}.plan-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}.plan-summary div{padding:20px;border-radius:18px;background:#fbf4f7}.plan-summary strong{display:block;font-size:30px}.plan-summary span{color:var(--muted);font-size:12px}.plan-list{display:grid;gap:10px}.plan-row{display:grid;grid-template-columns:1fr 100px auto;align-items:center;gap:16px;padding:16px 18px;border-radius:18px}.plan-row>div:first-child{display:flex;flex-direction:column}.plan-row span,.plan-row small{color:var(--muted)}.plan-credits{text-align:center}.plan-credits b{display:block;font-size:23px}.form-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.empty.compact{min-height:80px;padding:18px}@media(max-width:760px){.five-tabs .tab{padding-left:1px;padding-right:1px;font-size:8px}.executive-kpis{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}.dashboard-hero{align-items:flex-start;flex-direction:column}.dashboard-hero h3{font-size:27px}.plan-row{grid-template-columns:1fr auto}.plan-row button{grid-column:1/-1;width:100%}.plan-balance-card{padding:17px}.analytics-card{min-height:0}}@media(max-width:380px){.cover-panel{min-height:500px}.cover-message p{font-size:21px}@supports (-webkit-touch-callout:none){.cover-panel{min-height:0;padding-top:calc(38px + env(safe-area-inset-top));background-position:center 34%}.cover-message p{font-size:20px}}.access-panel{padding-left:14px;padding-right:14px}.access-option{grid-template-columns:48px 1fr 32px;gap:9px;padding:10px}.access-icon{width:46px;height:46px}.admin-metrics{gap:6px}.role-metrics article{padding:13px 7px}.role-metrics strong{font-size:21px}}@media(min-width:900px){.login-screen{min-height:100vh;padding:42px;background:radial-gradient(circle at 16% 12%,#ffe4ee 0,transparent 34rem),linear-gradient(135deg,#f8f2f5,#f4f1f3)}.login-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(370px,.85fr);width:min(1120px,calc(100vw - 84px));min-height:700px;max-height:none;border-radius:32px;overflow:hidden}.cover-panel{min-height:700px;padding:34px 36px 38px;background-position:center 34%}.cover-brand,.login-logo-crop{width:190px;height:70px}.cover-message p{font-size:30px;line-height:1.18}.access-panel{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:42px 34px}.access-heading{display:block;margin-bottom:20px}.access-heading h2{margin:5px 0 0;color:#fff;font-size:28px;letter-spacing:-.7px}.access-grid{gap:14px}.access-option{min-height:78px}.cover-contact{margin-top:24px;margin-bottom:12px}.credentials-panel{max-width:100%}.auth-heading{margin-top:18px;padding-top:18px}.public-menu{top:50%;right:auto;bottom:auto;left:50%;width:min(440px,calc(100vw - 64px));min-height:0;max-height:min(82vh,720px);padding:30px 28px 26px;border:1px solid rgb(255 255 255 / 12%);border-radius:26px;transform:translate(-50%,-50%);box-shadow:0 0 0 100vmax #1112147a,0 28px 90px #00000061}.menu-logo-crop{margin-top:18px}.public-menu button,.public-menu a,.public-menu span{padding:11px 8px;border-radius:10px}.public-menu button:hover,.public-menu a:hover{background:#ffffff12}#app-screen .topbar{padding-left:max(24px,calc((100vw - 1120px)/2));padding-right:max(24px,calc((100vw - 1120px)/2))}#app-screen main{max-width:1120px;padding:30px 28px 90px}#app-screen .tabs{top:74px}}@media(min-width:900px){.credentials-panel{display:none;width:100%;max-width:500px;margin:0 auto}.credentials-panel.open{display:block}.login-card.credentials-open .access-heading,.login-card.credentials-open .access-tabs,.login-card.credentials-open .cover-contact{display:none}.login-card.credentials-open .access-panel{justify-content:center;padding:54px 48px}.login-card.credentials-open .credentials-panel{display:block;animation:desktopCredentialsIn .22s ease-out}.login-card.credentials-open .credentials-back{display:inline-flex;align-items:center;gap:7px;margin:0 0 28px;padding:9px 13px;border:1px solid rgb(255 255 255 / 16%);border-radius:11px;background:#ffffff0f;color:#fff;font-size:13px;font-weight:800;cursor:pointer}.login-card.credentials-open .credentials-back:hover{border-color:#ffffff42;background:#ffffff1a}.login-card.credentials-open .auth-heading{margin:0 0 22px;padding:0;border:0}.login-card.credentials-open .auth-heading span{font-size:11px;letter-spacing:1.7px}.login-card.credentials-open .auth-heading small{margin-top:7px;font-size:13px}.login-card.credentials-open .auth-form{gap:16px;margin-top:0}.login-card.credentials-open .auth-field{font-size:13px}.login-card.credentials-open .auth-field input{min-height:50px;padding:13px 15px;border-radius:12px}.login-card.credentials-open .login-button{min-height:50px;margin-top:4px;font-size:14px}.login-card.credentials-open .auth-link{margin-top:11px}.login-card.credentials-open .login-help{margin-top:16px;font-size:11px;line-height:1.55}@keyframes desktopCredentialsIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}}@media(min-width:900px){.login-card{position:relative}.cover-panel{position:static}.public-menu-btn{position:absolute;top:22px;right:22px;left:auto;z-index:120;width:44px;height:44px;background:#0a0b0db8;box-shadow:0 8px 24px #00000038}}#app-screen{--page-bg:#f6f1f4;--page-bg-2:#fbf8fa;--surface:#fffdfd;--surface-soft:#fbf5f8;--surface-rose:#fff2f7;--surface-wine:#f7edf1;--border-soft:#eadde3;--border-strong:#dfc9d2;--shadow-soft:0 10px 30px rgb(80 42 58 / 7%);--shadow-card:0 14px 34px rgb(80 42 58 / 8%);min-height:100vh;background:radial-gradient(circle at 8% 4%,rgb(234 79 139 / 10%) 0,transparent 28rem),radial-gradient(circle at 92% 12%,rgb(113 31 64 / 6%) 0,transparent 24rem),linear-gradient(180deg,var(--page-bg-2) 0%,var(--page-bg) 100%);color:var(--ink)}#app-screen[data-role=student]{background:radial-gradient(circle at 8% 3%,rgb(234 79 139 / 11%) 0,transparent 27rem),linear-gradient(180deg,#fcf9fb,#f6f1f4)}#app-screen[data-role=trainer]{background:radial-gradient(circle at 12% 4%,rgb(184 68 109 / 9%) 0,transparent 28rem),radial-gradient(circle at 88% 8%,rgb(92 37 61 / 5%) 0,transparent 22rem),linear-gradient(180deg,#faf7f9,#f3eef1)!important}#app-screen[data-role=admin]{background:radial-gradient(circle at 10% 3%,rgb(126 35 69 / 10%) 0,transparent 29rem),radial-gradient(circle at 92% 10%,rgb(234 79 139 / 7%) 0,transparent 24rem),linear-gradient(180deg,#faf7f9,#f2edef)}#app-screen .topbar{border-bottom:1px solid var(--border-soft);background:#fcf8faf0;box-shadow:0 8px 24px #4827340d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}#app-screen main{position:relative}#app-screen .tabs{border:1px solid var(--border-soft);background:#fffcfdeb;box-shadow:0 10px 28px #48273412}#app-screen .tab{color:#75686f}#app-screen .tab.active{background:linear-gradient(135deg,var(--pink-dark),#eb5b93);box-shadow:0 8px 20px #be376c3d}#app-screen .welcome{margin-bottom:6px;padding:18px 20px 20px;border:1px solid rgb(223 201 210 / 74%);border-radius:20px;background:linear-gradient(135deg,#ffffffd1,#fff6f9e0);box-shadow:var(--shadow-soft)}#app-screen .welcome>span{color:#7d5969}#app-screen .welcome p{color:#776a70}#app-screen .quick-bookings,#app-screen .booking-card,#app-screen .availability-card,#app-screen .user-card,#app-screen .profile-card,#app-screen .schedule-card,#app-screen .admin-create-form,#app-screen .trainer-photo-form,#app-screen .calendar-toolbar,#app-screen .schedule-day-bar,#app-screen .admin-note,#app-screen .report-card,#app-screen .empty,#app-screen .analytics-card,#app-screen .plan-balance-card,#app-screen .checkin-card,#app-screen .plan-row{border-color:var(--border-soft);background:linear-gradient(180deg,var(--surface) 0%,#fdf9fb 100%);box-shadow:var(--shadow-card)}#app-screen .role-metrics article{border-color:var(--border-soft);background:linear-gradient(145deg,#fff 0%,var(--surface-soft) 100%);box-shadow:var(--shadow-soft)}#app-screen .role-metrics article:nth-child(2n){background:linear-gradient(145deg,#fff 0%,var(--surface-rose) 100%)}#app-screen .section-heading{padding:0 2px}#app-screen .section-heading small{color:#a32d5d}#app-screen .section-heading h3{color:#21171c}#app-screen .day{border-color:var(--border-soft);background:#fffdfef5;box-shadow:0 7px 18px #4827340a}#app-screen .day:hover{border-color:#ddb7c7;background:#fff8fb}#app-screen .day.active{border-color:transparent;background:linear-gradient(145deg,var(--pink-dark),#e85b92);box-shadow:0 9px 22px #be376c3d}#app-screen .slot{border-color:var(--border-soft);background:linear-gradient(180deg,#fff,#fdf9fb);box-shadow:0 8px 22px #4827340f}#app-screen .slot-time{background:linear-gradient(145deg,#fff0f6,#fbe3ec);color:#a92e5e}#app-screen .selected-trainer{border-color:#e8cfd9;background:linear-gradient(135deg,#fff8fb,#fdf0f5)}#app-screen .install-card{border-color:var(--border-soft);background:linear-gradient(135deg,#fff,#fbf4f7);box-shadow:var(--shadow-soft)}#app-screen .policy-note{border-color:#e6d2db;background:linear-gradient(135deg,#fff8fb,#f8eff3)}#app-screen .plan-summary div{border:1px solid var(--border-soft);background:linear-gradient(145deg,#fff,#f8eff3)}#app-screen input:not([type=checkbox]):not([type=radio]),#app-screen select,#app-screen textarea{border-color:#dfd2d8;background:#fff!important}#app-screen input:not([type=checkbox]):not([type=radio]):focus,#app-screen select:focus,#app-screen textarea:focus{border-color:#d66a94;outline:none;box-shadow:0 0 0 3px #ea4f8b1f}#app-screen .secondary,#app-screen .toggle-slot{background:#f0e9ed;color:#5f4c55}#app-screen .edit{background:#fbe7ef;color:#a02d5a}@media(min-width:900px){#app-screen main{padding-top:34px}#app-screen .welcome{padding:24px 26px 26px}#app-screen .booking-card,#app-screen .availability-card,#app-screen .user-card,#app-screen .profile-card,#app-screen .schedule-card,#app-screen .admin-create-form,#app-screen .report-card,#app-screen .analytics-card,#app-screen .plan-balance-card,#app-screen .checkin-card,#app-screen .plan-row{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}#app-screen .booking-card:hover,#app-screen .availability-card:hover,#app-screen .user-card:hover,#app-screen .schedule-card:hover,#app-screen .plan-row:hover{transform:translateY(-1px);border-color:var(--border-strong);box-shadow:0 18px 40px #502a3a1a}}@media(max-width:699px){#app-screen{background:radial-gradient(circle at 10% 1%,rgb(234 79 139 / 8%) 0,transparent 18rem),linear-gradient(180deg,#faf7f9,#f4eff2)!important}#app-screen main{background:transparent}#app-screen .welcome{padding:16px 15px 18px;border-radius:17px}#app-screen .topbar{background:#fcf9faf7}}#app-screen .tab.active,#app-screen[data-role=student] .tab.active,#app-screen[data-role=trainer] .tab.active,#app-screen[data-role=admin] .tab.active,#app-screen .tab.active *,#app-screen[data-role=student] .tab.active *,#app-screen[data-role=trainer] .tab.active *,#app-screen[data-role=admin] .tab.active *{color:#fff!important;-webkit-text-fill-color:#ffffff!important}#app-screen .tab.active svg,#app-screen[data-role=student] .tab.active svg,#app-screen[data-role=trainer] .tab.active svg,#app-screen[data-role=admin] .tab.active svg{stroke:#fff!important;fill:none}#app-screen .tab.active b{background:#fffffff0!important;color:var(--pink-dark)!important;-webkit-text-fill-color:var(--pink-dark)!important}#app-screen .tab:not(.active){color:#75686f}#app-screen{--wine:#762342}.tabs.five-tabs{grid-template-columns:repeat(5,1fr)}.dashboard-loading{display:flex;flex-direction:column;gap:5px;min-height:220px;align-items:center;justify-content:center;color:var(--muted);text-align:center}.dashboard-loading strong{color:var(--ink);font-size:16px}#admin-dashboard{padding-top:4px}.dashboard-hero{position:relative;overflow:hidden;border:1px solid rgb(255 255 255 / 10%)}.dashboard-hero:after{content:"";position:absolute;width:190px;height:190px;right:-52px;bottom:-90px;border:1px solid rgb(255 255 255 / 13%);border-radius:50%;box-shadow:0 0 0 28px #ffffff08,0 0 0 58px #ffffff05}.dashboard-hero>*{position:relative;z-index:1}.executive-kpis article{border-color:var(--border-soft)!important;background:linear-gradient(145deg,#fff,#fbf4f7)!important;box-shadow:var(--shadow-card)}.executive-kpis article:nth-child(4){background:linear-gradient(145deg,#fff,#f5e9ee)!important}.executive-kpis strong{color:#24191e;letter-spacing:-1px}.dashboard-primary-grid,.dashboard-secondary-grid{margin-bottom:14px}.analytics-card{border-color:var(--border-soft)!important;background:linear-gradient(180deg,#fffefd,#fcf8fa)!important;box-shadow:var(--shadow-card)!important}.card-heading h4{color:#26191f}.card-heading small{color:#9f315d}.booking-trend{min-width:0;border-bottom:1px solid #eadde3}.trend-column span.zero{background:#eadfe4}.chart-footnote,.dashboard-card-note{margin:12px 0 0;color:#88777f;font-size:11px;line-height:1.5}.attendance-visual{display:flex;align-items:center;gap:22px;min-height:168px}.attendance-gauge{--attendance-rate:0%;flex:0 0 118px;width:118px;height:118px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#c83872 0 var(--attendance-rate),#eee4e8 var(--attendance-rate) 100%);box-shadow:inset 0 0 0 10px #fff}.attendance-gauge.neutral{background:#eee4e8}.attendance-gauge>div{width:82px;height:82px;display:grid;place-content:center;border-radius:50%;background:#fff;text-align:center;box-shadow:0 6px 18px #4c263612}.attendance-gauge strong,.attendance-gauge span{display:block}.attendance-gauge strong{color:#762342;font-size:25px;line-height:1}.attendance-gauge span{margin-top:4px;color:#8a7780;font-size:10px}.attendance-copy{display:flex;flex-direction:column;gap:7px}.attendance-copy strong{color:#2b1d23;font-size:15px}.attendance-copy span{color:#817078;font-size:12px;line-height:1.5}.activity-bars strong{color:#332229;font-size:12px}.plan-overview-card .plan-summary{margin-top:10px}.plan-overview-card .plan-summary div{border:1px solid var(--border-soft);background:linear-gradient(145deg,#fff,#f8eff3)}.dashboard-actions{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:4px;padding:21px 22px;border:1px solid var(--border-soft);border-radius:20px;background:linear-gradient(135deg,#fff,#f8f0f4);box-shadow:var(--shadow-soft)}.dashboard-actions>div:first-child{display:flex;flex-direction:column}.dashboard-actions small{color:#a42e5d;font-size:9px;font-weight:900;letter-spacing:1.2px}.dashboard-actions strong{margin-top:4px;color:#291b21;font-size:17px}.dashboard-actions span{margin-top:3px;color:#807078;font-size:11px}.dashboard-action-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.dashboard-action-buttons button{padding:10px 13px;border:1px solid #e3cbd5;border-radius:11px;background:#fff;color:#8e2a52;font-size:11px;font-weight:850;cursor:pointer;transition:.18s ease}.dashboard-action-buttons button:hover{border-color:#cd7b9b;background:#fff4f8;transform:translateY(-1px)}@media(min-width:900px){#admin-dashboard{animation:dashboardFade .24s ease-out}@keyframes dashboardFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}}@media(max-width:760px){.tabs.five-tabs{grid-template-columns:repeat(5,1fr)}.five-tabs .tab{font-size:8px;padding-left:1px;padding-right:1px}.executive-kpis{grid-template-columns:1fr 1fr}.executive-kpis article{min-height:112px;padding:15px}.executive-kpis strong{font-size:28px}.dashboard-grid{grid-template-columns:1fr}.booking-trend{overflow-x:auto;min-width:100%}.attendance-visual{align-items:flex-start;flex-direction:column}.dashboard-actions{align-items:stretch;flex-direction:column}.dashboard-action-buttons{display:grid;grid-template-columns:1fr}.dashboard-action-buttons button{width:100%}.dashboard-hero h3{font-size:27px}}@media(max-width:390px){.executive-kpis{gap:8px}.executive-kpis article{min-height:105px;padding:13px 11px}.executive-kpis span{font-size:10px}.executive-kpis strong{font-size:25px}}.student-attendance-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;margin-bottom:18px}.student-checkin-card{min-height:320px;display:flex;flex-direction:column;justify-content:center;border:1px solid var(--border-soft);background:linear-gradient(160deg,#fff,#fff5f8);box-shadow:var(--shadow-card)}.student-checkin-card .checkin-icon{background:linear-gradient(145deg,#cf3c73,#70203f);box-shadow:0 12px 30px #972b5433}.student-checkin-card h4{color:#281a20}.student-checkin-card p{max-width:520px;margin-left:auto;margin-right:auto}.checkin-actions{display:grid;gap:8px;width:min(360px,100%);margin:4px auto 0}#qr-reader-wrap{width:min(420px,100%);margin:18px auto 0;padding:10px;border:1px solid #e5d2da;border-radius:20px;background:#171316;box-shadow:0 12px 32px #23151c29}#qr-reader{overflow:hidden;border-radius:14px;background:#111}#qr-reader video{border-radius:14px}#qr-reader__dashboard_section_swaplink,#qr-reader__dashboard_section_csr button{color:#7e2448!important}.checkin-message{width:min(520px,100%);margin:14px auto 0!important;padding:11px 13px;border-radius:12px;font-size:12px;font-weight:750;line-height:1.5}.checkin-message[data-state=info]{background:#f6eef2;color:#6e5360}.checkin-message[data-state=success]{background:#e9f8ef;color:#216c45}.checkin-message[data-state=error]{background:#fff0f2;color:#a72e49}.student-plan-card{min-height:320px;padding:24px;border:1px solid var(--border-soft);border-radius:22px;background:linear-gradient(155deg,#fff,#f8eff3);box-shadow:var(--shadow-card)}.student-plan-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.student-plan-heading div{display:flex;flex-direction:column}.student-plan-heading small,.student-plan-card.empty-plan small{color:#a12e5d;font-size:10px;font-weight:900;letter-spacing:1.2px}.student-plan-heading strong,.student-plan-card.empty-plan strong{margin-top:4px;color:#281a20;font-size:21px}.student-plan-heading>span{padding:7px 10px;border-radius:999px;background:#f3dce6;color:#86274d;font-size:11px;font-weight:850}.student-plan-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:28px 0}.student-plan-numbers div{padding:16px 8px;border:1px solid #ead9e0;border-radius:16px;background:#ffffffbf;text-align:center}.student-plan-numbers strong{display:block;color:#762342;font-size:26px}.student-plan-numbers span{color:#817178;font-size:10px}.student-plan-progress i{display:block;height:8px;overflow:hidden;border-radius:999px;background:#ebdfe4}.student-plan-progress em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#7a2447,#df5688)}.student-plan-progress small{display:block;margin-top:9px;color:#85727b}.student-plan-card.empty-plan{display:flex;flex-direction:column;justify-content:center;gap:6px}.student-plan-card.empty-plan span{max-width:440px;color:#786971;font-size:12px;line-height:1.55}.attendance-history{padding:20px 22px;border:1px solid var(--border-soft);border-radius:22px;background:linear-gradient(180deg,#fff,#fcf8fa);box-shadow:var(--shadow-soft)}.attendance-history h4{margin:0 0 8px}.attendance-history article b{color:#725a65;font-size:9px;letter-spacing:.7px}.admin-qr-control{display:grid;grid-template-columns:minmax(0,1fr) 210px;align-items:center;gap:28px;margin-bottom:14px;padding:24px 28px;border:1px solid #e4d2da;border-radius:24px;background:radial-gradient(circle at 90% 15%,rgb(223 86 136 / 12%) 0,transparent 15rem),linear-gradient(135deg,#fff,#f8eff3);box-shadow:var(--shadow-card)}.admin-qr-copy{display:flex;flex-direction:column}.admin-qr-copy small{color:#a12e5d;font-size:10px;font-weight:900;letter-spacing:1.3px}.admin-qr-copy h4{margin:5px 0 7px;color:#281a20;font-size:23px}.admin-qr-copy p{max-width:650px;margin:0;color:#77666e;font-size:12px;line-height:1.55}.admin-qr-copy span{margin-top:12px;color:#9a7887;font-size:10px;font-weight:800}.admin-qr-code{min-height:180px;display:grid;place-items:center;padding:12px;border:1px solid #eadbe1;border-radius:18px;background:#fff;box-shadow:0 10px 28px #43233014}.admin-qr-code img{display:block;width:170px;height:170px;-o-object-fit:contain;object-fit:contain}#admin-attendance-qr-placeholder{color:#8d7881;font-size:11px;text-align:center}@media(max-width:760px){.student-attendance-grid{grid-template-columns:1fr}.student-checkin-card,.student-plan-card{min-height:0}.admin-qr-control{grid-template-columns:1fr;padding:20px}.admin-qr-code{width:min(240px,100%);margin:0 auto}.admin-qr-code img{width:min(200px,100%);height:auto;aspect-ratio:1}}@media(max-width:420px){.student-plan-numbers{gap:6px}.student-plan-numbers div{padding:13px 5px}.student-plan-numbers strong{font-size:23px}}@media(max-width:760px){#app-screen[data-role=admin] .tabs.five-tabs{display:flex;grid-template-columns:none;gap:6px;overflow-x:auto;overflow-y:hidden;padding:6px;scroll-snap-type:x proximity;scrollbar-width:none;-webkit-overflow-scrolling:touch}#app-screen[data-role=admin] .tabs.five-tabs::-webkit-scrollbar{display:none}#app-screen[data-role=admin] .five-tabs .tab{flex:0 0 auto;min-width:88px;min-height:52px;padding:8px 10px;border-radius:12px;font-size:10px;scroll-snap-align:start}#app-screen[data-role=admin] .five-tabs .tab-icon{font-size:14px}#app-screen[data-role=admin] #admin-dashboard{padding-top:2px}#app-screen[data-role=admin] .dashboard-hero{padding:22px 18px;border-radius:20px}#app-screen[data-role=admin] .dashboard-hero h3{font-size:25px}#app-screen[data-role=admin] .dashboard-hero>span{align-self:flex-start}#app-screen[data-role=admin] .executive-kpis{grid-template-columns:1fr 1fr;gap:9px}#app-screen[data-role=admin] .executive-kpis article{min-height:108px;padding:14px 12px;border-radius:17px}#app-screen[data-role=admin] .executive-kpis span{font-size:10px}#app-screen[data-role=admin] .executive-kpis strong{font-size:27px}#app-screen[data-role=admin] .executive-kpis small{font-size:9px;line-height:1.3}#app-screen[data-role=admin] .analytics-card{padding:17px;border-radius:19px}#app-screen[data-role=admin] .booking-trend{min-height:155px}#app-screen[data-role=admin] .admin-qr-control{gap:18px;padding:18px;border-radius:20px}#app-screen[data-role=admin] .admin-qr-copy h4{font-size:20px}#app-screen[data-role=admin] .admin-qr-code{width:min(220px,100%)}#app-screen[data-role=admin] .dashboard-actions{padding:18px;border-radius:18px}}
