:root{--bg:#0f1419;--surface:#161d27;--surface-2:#1a2430;--sidebar:#111821;--text:#f1f4f7;--muted:#8a97a7;--soft:#b2beca;--accent:#e8853a;--accent-soft:#e8853a19;--line:#ffffff0d;--line-strong:#ffffff18;--green:#62d6a2;--red:#f17979;--yellow:#efb961;--radius:13px;--shadow:0 20px 60px #0000001c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px/1.5 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}svg{flex-shrink:0}p,h1,h2,h3{margin:0}p{line-height:1.65}h1,h2,h3{font-weight:650;letter-spacing:-.035em}h1{font-size:clamp(30px,3vw,43px);line-height:1.16}h2{font-size:22px;line-height:1.2}h3{font-size:19px;line-height:1.25}.muted,.helper,.lead{color:var(--muted)}.lead{font-size:15px;margin-top:12px;max-width:680px}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:750;color:var(--accent);margin-bottom:9px}.shell{display:flex;min-height:100vh}.sidebar{background:var(--sidebar);width:252px;min-width:252px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:32px 17px 23px;z-index:30;border-right:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:770;letter-spacing:-.05em;min-width:0;overflow-wrap:anywhere}.sidebar .wordmark{padding:0 11px 55px}.mark{width:35px;height:35px;min-width:35px;background:var(--accent);color:#12161a;display:grid;place-items:center;border-radius:10px}.mark svg{width:20px;height:20px;stroke-width:2.2}.side-label{font-size:10px;color:#687788;letter-spacing:.19em;font-weight:750;padding:0 14px 15px}.nav{display:flex;flex-direction:column;gap:5px}.nav-link{display:flex;align-items:center;gap:13px;min-height:46px;padding:0 13px;color:#96a3b2;border-radius:9px;font-size:13px;font-weight:560;transition:background .2s,color .2s;white-space:nowrap}.nav-link:hover{background:#ffffff08;color:#fff}.nav-link.active{background:var(--accent-soft);color:var(--accent)}.nav-link.active:before{content:"";position:absolute;left:0;height:27px;width:3px;background:var(--accent);border-radius:0 2px 2px 0}.sidebar-bottom{margin-top:auto;padding-top:20px;border-top:1px solid var(--line)}.sidebar-bottom form{margin:0}.nav-button{border:0;width:100%;background:transparent;text-align:left}.workspace{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:80px;min-height:80px;padding:0 clamp(22px,3.5vw,60px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:18px}.breadcrumb{font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--muted)}.breadcrumb span{padding:0 11px;color:#4f5c6a}.top-right{display:flex;align-items:center;gap:10px}.account-dot,.avatar{display:grid;place-items:center;flex-shrink:0;background:#e8853a20;color:var(--accent);border:1px solid #e8853a25;width:36px;height:36px;border-radius:50%;font-weight:780;text-transform:uppercase}.account-name{font-weight:680;font-size:12px}.account-name small{display:block;font-size:10px;color:var(--muted);font-weight:500}.mobile-toggle,.mobile-overlay{display:none}.content{flex:1;width:100%;padding:47px clamp(22px,3.5vw,60px) 75px;min-width:0}.footer{padding:15px clamp(22px,3.5vw,60px) 23px;color:#657383;font-size:10px;border-top:1px solid var(--line)}.footer span{padding:0 7px;color:var(--accent)}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:center;margin-bottom:35px}.page-heading h1{max-width:900px}.heading-action{flex-shrink:0}.btn{appearance:none;border:1px solid transparent;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:43px;padding:0 18px;font-weight:700;font-size:12px;line-height:1.25;transition:transform .17s,background .17s,color .17s,border-color .17s;text-align:center}.btn:hover{transform:translateY(-1px)}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent);color:#101419}.btn-primary:hover{background:#ff9b4d}.btn-secondary{background:#ffffff0a;color:var(--text);border-color:var(--line-strong)}.btn-secondary:hover{background:#ffffff14}.btn-danger{background:#ed6c6c11;color:var(--red);border-color:#ed6c6c35}.btn-danger:hover{background:#ed6c6c1d}.btn-sm{min-height:34px;padding:0 11px;font-size:11px}.btn.full{width:100%}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);min-width:0}.panel + .panel{margin-top:19px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:22px}.panel-head.outside{margin:39px 0 19px}.panel-head .eyebrow{margin-bottom:7px}.panel-head h2{font-size:20px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:23px}.metric{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:25px 23px;min-height:153px;display:flex;flex-direction:column}.metric span,.mini-panel>span{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:730}.metric strong{font-size:34px;font-weight:710;letter-spacing:-.05em;margin:10px 0 4px;line-height:1.2;font-variant-numeric:tabular-nums}.metric small{color:#778695;font-size:11px}.metric-accent{background:linear-gradient(145deg,#21252a,var(--surface));border-color:#e8853a3a}.metric-accent strong{color:var(--accent);font-size:clamp(23px,2.5vw,32px)}.split-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.split-grid>.panel{margin:0;align-self:start}.list-line{display:flex;align-items:center;gap:13px;min-height:70px;border-top:1px solid var(--line);padding:13px 0}.list-line:first-of-type{border-top:0}.list-fill{min-width:0;flex:1;display:flex;flex-direction:column}.list-fill b{font-size:12px;font-weight:670;overflow-wrap:anywhere}.list-fill small{font-size:11px;color:var(--muted);margin-top:2px}.date-highlight{font-variant-numeric:tabular-nums;color:var(--yellow);font-size:12px;font-weight:680}.avatar-muted{background:#ffffff0b;color:#b8c3d0;border-color:#ffffff12}.avatar-muted svg{width:17px;height:17px}.status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:5px;font-size:10px;font-weight:720;white-space:nowrap;vertical-align:middle}.status i{width:6px;height:6px;display:block;border-radius:50%;background:currentColor}.status-ok{background:#62d6a218;color:var(--green)}.status-warn{background:#efb96118;color:var(--yellow)}.status-bad{background:#f1797915;color:var(--red)}.status-neutral{background:#e2ebfa10;color:#c0cbd7}.empty{display:flex;min-height:198px;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:27px 14px;color:var(--muted);background:#ffffff04;border:1px dashed #ffffff16;border-radius:9px}.empty>span{color:var(--accent);display:grid;place-items:center;width:40px;height:40px;background:var(--accent-soft);border-radius:9px;margin-bottom:12px}.empty strong{font-size:13px;color:var(--text)}.empty p{font-size:12px;margin-top:5px;max-width:350px}.panel .empty{margin:10px 0 0;min-height:150px}.text-link{color:var(--accent);font-size:12px;font-weight:680;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.text-link svg{width:16px}.program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.program-tile{background:var(--surface);padding:26px;border:1px solid var(--line);border-radius:var(--radius);min-height:280px;display:flex;flex-direction:column;min-width:0;transition:transform .2s,border-color .2s}.program-tile:hover{transform:translateY(-3px);border-color:#e8853a44}.tile-symbol{width:46px;height:46px;color:var(--accent);background:var(--accent-soft);border-radius:10px;display:grid;place-items:center;margin-bottom:20px}.tile-symbol svg{width:23px;height:23px}.tile-badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.program-tile h3{margin-bottom:9px;overflow-wrap:anywhere}.program-tile>p{color:var(--muted);font-size:12px;line-height:1.65;margin-bottom:19px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.tile-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:17px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.tile-bottom>span{font-size:10px;color:var(--muted)}.tile-bottom b{margin:0 3px;font-weight:400}.tile-bottom a{display:flex;align-items:center;gap:6px;color:var(--accent);font-size:11px;font-weight:760}.tile-bottom a svg{width:14px}.member-hero{padding:38px 41px;background:radial-gradient(ellipse at 90% 50%,#e8853a24,transparent 47%),linear-gradient(125deg,#232a32,#1a222c);border:1px solid #e8853a2c;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:241px;overflow:hidden}.member-hero h2{font-size:clamp(25px,3vw,34px);max-width:560px}.member-hero p:not(.eyebrow){color:#acb7c4;max-width:570px;margin:13px 0 22px;font-size:13px}.hero-mark{opacity:.65;transform:rotate(-12deg)}.hero-mark svg{width:165px;height:165px;stroke:var(--accent);stroke-width:.8}.member-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 23px}.mini-panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:23px;min-height:103px;display:flex;flex-direction:column;gap:15px}.mini-panel strong{font-size:16px;font-weight:660}.mini-panel .status{align-self:start}.form-panel{padding:29px}.narrow-panel{max-width:690px}.info-panel{margin-top:19px}.info-panel p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:17px}.form-grid .wide{grid-column:1/-1}label{display:flex;flex-direction:column;gap:8px;color:#bec9d4;font-size:11px;font-weight:690;min-width:0}label input,label select,label textarea, .search-form input{width:100%;background:#0f151d;color:var(--text);border:1px solid #ffffff16;border-radius:7px;padding:0 13px;min-height:45px;outline:0;transition:border-color .15s,background .15s;font-size:13px;font-weight:480;min-width:0}input::placeholder,textarea::placeholder{color:#536272}label input:focus,label select:focus,label textarea:focus,.search-form input:focus{border-color:var(--accent);background:#111923}textarea{resize:vertical;min-height:90px;padding:13px}select{cursor:pointer}input[type="date"]{color-scheme:dark}input[type="number"]{font-variant-numeric:tabular-nums}input[type="checkbox"]{accent-color:var(--accent);width:15px;height:15px}.checkline{display:flex;align-items:center;flex-direction:row;gap:10px;margin:19px 0;color:var(--soft);font-size:12px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:21px}.form-panel>form>button{margin-top:19px}.helper{font-size:11px;margin-top:16px;line-height:1.6}.publish-strip{padding:19px 22px;background:var(--surface);border:1px solid #e8853a27;border-radius:10px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.publish-strip .eyebrow{margin-bottom:7px}.publish-strip .muted{font-size:11px}.publish-strip form{flex-shrink:0}.day-editor{margin:16px 0!important;padding:23px}.day-editor-title,.day-editor-title>div{display:flex;align-items:center;gap:16px}.day-editor-title{justify-content:space-between;align-items:flex-start;gap:14px}.day-editor-title>div{align-items:flex-start}.day-number{height:44px;width:44px;min-width:44px;background:var(--accent-soft);border:1px solid #e8853a24;color:var(--accent);border-radius:8px;display:grid;place-items:center;font-weight:780;font-size:18px;font-variant-numeric:tabular-nums}.day-editor-title h3{margin-bottom:4px}.day-editor-title .muted{font-size:12px}.compact-details{font-size:12px;color:var(--accent);max-width:100%}.compact-details summary,.row-details summary{cursor:pointer;user-select:none}.compact-details[open]{width:100%;margin-top:14px}.day-editor-title:has(.compact-details[open]){flex-wrap:wrap}.day-editor-title .compact-details[open]{background:#ffffff06;padding:16px;border-radius:7px}.edit-inline{margin:18px 0 0;display:grid;gap:13px}.edit-inline .btn{justify-self:start}.compact-details form+form,.row-details form+form{margin-top:10px}.exercise-list{margin-top:24px}.exercise-header,.exercise-editor-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(80px,1fr) 94px 83px;gap:11px;align-items:center}.exercise-header{color:#6e7e8d;font-size:9px;letter-spacing:.12em;font-weight:750;padding:0 12px 11px}.exercise-editor-row{padding:13px 12px;border-top:1px solid var(--line);font-size:12px}.exercise-editor-row strong{display:block;overflow-wrap:anywhere}.exercise-editor-row small,.cell-note{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:4px}.row-details{font-size:11px;color:var(--accent)}.row-details[open]{grid-column:1/-1;padding:10px 0}.row-details .edit-inline{padding:14px;background:#ffffff05;border-radius:8px}.add-exercise{border-top:1px solid var(--line);margin-top:7px;padding:19px 12px 0}.add-exercise summary,.create-details>summary{display:flex;align-items:center;gap:9px;color:var(--accent);font-size:12px;font-weight:720;cursor:pointer;list-style:none}.add-exercise summary::-webkit-details-marker,.create-details summary::-webkit-details-marker{display:none}.add-exercise summary svg,.create-details summary svg{width:17px}.add-exercise form{padding:17px 0 0}.add-day-panel{margin-top:24px}.assign-panel{margin-top:22px}.assign-form{display:flex;align-items:end;gap:13px}.assign-form label{flex:1}.assigned-list{margin-top:17px}.counter{color:var(--muted);font-size:12px}.text-danger{background:none;border:0;padding:6px;color:var(--red);font-size:11px;font-weight:700}.delete-foot{margin-top:22px}.table-panel{padding:26px 0}.table-panel .panel-head,.table-panel>.helper{margin-left:26px;margin-right:26px}.table-panel .empty{margin:20px 26px}.table-scroll{width:100%;overflow:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:740px;text-align:left}.table-scroll th{font-size:9px;color:#718296;letter-spacing:.13em;font-weight:750;padding:13px 16px;white-space:nowrap;border-bottom:1px solid var(--line-strong)}.table-scroll td{padding:16px;font-size:12px;color:#afbcc9;border-bottom:1px solid var(--line);vertical-align:middle}.table-scroll td strong{font-weight:690;color:var(--text)}.table-scroll tbody tr:last-child td{border-bottom:0}.table-scroll th:first-child,.table-scroll td:first-child{padding-left:26px}.table-scroll th:last-child,.table-scroll td:last-child{padding-right:26px}.person{display:flex;align-items:center;gap:10px}.person .avatar{width:32px;height:32px;font-size:11px}.table-action{color:var(--accent);display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:700;white-space:nowrap}.table-action svg{width:14px}.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,Consolas,"SFMono-Regular",monospace}.search-form{display:flex;gap:8px;min-width:260px}.search-form input{min-height:35px;max-width:240px;font-size:11px}.create-details[open]>summary{margin-bottom:20px}.create-details .edit-inline{margin:0}.end-date{display:flex;flex-direction:column;justify-content:center;background:#0e161e;border:1px solid var(--line-strong);border-radius:7px;padding:9px 12px;gap:6px}.end-date>span{font-size:9px;letter-spacing:.1em;font-weight:740;color:var(--muted)}.end-date strong{font-size:13px;color:var(--accent)}.separate-details{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}.plan-detail{border-bottom:1px solid var(--line);padding:15px 0}.plan-detail:last-child{border-bottom:0}.plan-detail>summary{cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:14px;list-style:none}.plan-detail>summary::-webkit-details-marker{display:none}.plan-detail>summary strong,.plan-detail>summary small{display:block}.plan-detail>summary strong{font-size:13px}.plan-detail>summary small{color:var(--muted);font-size:10px;margin-top:4px}.plan-detail>summary b{color:var(--accent);font-size:17px;font-weight:700}.program-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:-9px 0 30px}.program-meta>span{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:12px}.program-meta svg{width:16px;color:var(--accent)}.workout-day{margin:18px 0!important;padding:0;overflow:hidden}.workout-day-head{padding:27px 30px;display:flex;gap:15px;align-items:flex-start;border-bottom:1px solid var(--line)}.workout-day-head h2{font-size:23px}.workout-day-head p:not(.eyebrow){font-size:12px;color:var(--muted);margin-top:6px}.workout-exercise{display:flex;align-items:center;gap:18px;padding:18px 30px;border-bottom:1px solid var(--line)}.workout-exercise:last-child{border-bottom:0}.exercise-index{font:700 12px ui-monospace,Consolas,monospace;color:#586678}.ex-name{min-width:0;flex:1}.ex-name strong{font-size:13px}.ex-name small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.ex-values{display:grid;grid-template-columns:70px 130px 80px;gap:18px}.ex-values>span{display:flex;flex-direction:column;gap:5px}.ex-values small{font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:680}.ex-values strong{font-size:12px;font-variant-numeric:tabular-nums}.subscription-hero{background:linear-gradient(125deg,#1e2d2b,#1e2430);border:1px solid #62d6a229;padding:32px;border-radius:var(--radius);margin-bottom:22px}.subscription-hero h2{font-size:27px}.subscription-hero-row{display:flex;align-items:center;gap:20px;margin-top:19px;color:var(--soft);font-size:13px;flex-wrap:wrap}.profile-card{display:flex;align-items:center;gap:18px;padding:15px 0}.profile-card h2{margin-bottom:3px}.profile-card p{color:var(--muted);font-size:12px;margin-bottom:10px}.avatar-xl{height:63px;width:63px;font-size:23px}.login-layout{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:35px 20px;position:relative;overflow:hidden}.login-aura{position:absolute;top:-330px;left:50%;transform:translateX(-50%);width:770px;height:770px;border-radius:50%;background:radial-gradient(circle,#e8853a14 0,transparent 66%);pointer-events:none}.login-box{position:relative;background:var(--surface);border:1px solid var(--line-strong);border-radius:15px;padding:41px;width:min(100%,445px);box-shadow:var(--shadow)}.login-box>.wordmark{margin-bottom:55px}.login-intro h1{font-size:32px}.login-intro>p:last-child{color:var(--muted);font-size:13px;margin-top:11px}.login-form{display:grid;gap:21px;margin-top:32px}.login-form>.btn{margin-top:3px}.login-footer{font-size:11px;color:#627180;margin-top:24px;text-align:center}.alert{padding:13px 17px;border:1px solid;border-radius:7px;font-size:12px;line-height:1.5;margin-bottom:22px}.alert-error{background:#f1797912;border-color:#f1797952;color:#ffa5a5}.alert-warning{background:#efb96112;border-color:#efb96152;color:#f4ca7a}.alert-success{background:#62d6a212;border-color:#62d6a245;color:#85edbd}.login-box .alert{margin:12px 0}.installer{max-width:850px;margin:0 auto;padding:55px 22px 80px}.installer-header{text-align:center;margin-bottom:34px}.installer-header .mark{margin:0 auto 22px;font-size:23px}.installer-header .lead{margin:12px auto 0}.installer-form{padding:32px}.section-intro{display:flex;align-items:flex-start;gap:13px;margin-bottom:22px}.section-intro h2{font-size:20px}.section-intro p{font-size:12px;color:var(--muted);margin-top:4px}.step{width:31px;height:31px;flex-shrink:0;border-radius:6px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent);font-weight:800;font-size:11px}.gap-top{margin-top:38px;padding-top:30px;border-top:1px solid var(--line)}.installer-form .full{margin-top:27px}.installer-form .helper{text-align:center}@media(min-width:1650px){.program-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:1190px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid{grid-template-columns:1fr}.sidebar{width:226px;min-width:226px}.topbar{padding:0 27px}.content{padding:34px 27px 65px}}@media(max-width:760px){.sidebar{position:fixed;top:0;bottom:0;left:0;height:100dvh;transform:translateX(-105%);transition:transform .25s ease;width:260px;min-width:260px}.sidebar.open{transform:translateX(0)}.mobile-overlay{display:block;position:fixed;inset:0;background:#000a;z-index:25;visibility:hidden;opacity:0;transition:opacity .2s,visibility .2s}.mobile-overlay.open{visibility:visible;opacity:1}.mobile-toggle{display:grid;place-items:center;color:var(--text);background:#ffffff08;border:1px solid var(--line-strong);height:36px;width:36px;border-radius:7px}.topbar{height:67px;min-height:67px;padding:0 17px}.breadcrumb{margin-right:auto;font-size:9px;letter-spacing:.06em}.account-name{display:none}.account-dot{width:32px;height:32px;font-size:12px}.content{padding:30px 16px 55px}.footer{padding:15px 16px 20px}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:25px;gap:15px}.heading-action{width:100%}.heading-action .btn{width:100%}.stats-grid,.member-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{padding:18px;min-height:126px}.metric strong{font-size:29px}.metric-accent strong{font-size:22px}.metric span,.mini-panel>span{font-size:9px}.metric small{font-size:10px}.panel{padding:19px}.program-grid{grid-template-columns:1fr;gap:12px}.program-tile{min-height:260px}.member-hero{padding:27px 23px;min-height:220px}.hero-mark{display:none}.member-summary .mini-panel:last-child{grid-column:1/-1}.mini-panel{min-height:89px;padding:17px;gap:12px}.publish-strip{flex-direction:column;align-items:stretch}.publish-strip form .btn{width:100%}.exercise-header{display:none}.exercise-editor-row{grid-template-columns:minmax(0,1fr) 75px 65px 60px;gap:8px;padding:15px 0}.exercise-editor-row>span{font-size:11px}.day-editor-title{flex-direction:column}.day-editor-title>div{width:100%}.day-editor-title>.compact-details{align-self:flex-end}.assign-form{flex-direction:column;align-items:stretch}.assign-form label{width:100%}.panel-head{align-items:flex-start}.panel-head:has(.search-form){flex-direction:column}.search-form{width:100%}.search-form input{max-width:none}.workout-day-head{padding:21px 17px}.workout-exercise{padding:18px 16px;align-items:flex-start;flex-wrap:wrap;gap:11px}.ex-name{flex:1;min-width:calc(100% - 48px)}.ex-values{width:100%;margin-left:35px;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.subscription-hero{padding:26px 20px}.table-panel{padding:20px 0}.table-panel .panel-head,.table-panel>.helper{margin-left:18px;margin-right:18px}.table-scroll th:first-child,.table-scroll td:first-child{padding-left:18px}.table-scroll th:last-child,.table-scroll td:last-child{padding-right:18px}.installer{padding:30px 13px 50px}.installer-form{padding:19px}.login-box{padding:30px 24px}}@media(max-width:440px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:14px;min-height:128px}.metric strong{font-size:27px}.metric-accent strong{font-size:19px}.metric small{font-size:9px}.form-grid{grid-template-columns:1fr;gap:15px}.form-grid .wide{grid-column:auto}.program-meta{gap:11px}.day-number{width:38px;min-width:38px;height:38px}.panel-head h2{font-size:18px}.list-line{gap:9px}.date-highlight{font-size:11px}}

/* v1.1 — δημόσια εγγραφή, πρόσβαση και ρυθμίσεις */
.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:26px;background:#0e141b;padding:5px;border:1px solid var(--line-strong);border-radius:9px}
.auth-tab{text-align:center;padding:10px 6px;color:var(--muted);font-weight:700;font-size:12px;border-radius:6px;display:grid;place-items:center;min-height:41px;transition:background .15s,color .15s}
.auth-tab:hover{color:var(--text)}.auth-tab.is-active{background:#24303d;color:var(--text);box-shadow:0 2px 10px #0003}
.auth-tabs + .login-form{margin-top:22px}.auth-footnote{font-size:12px;text-align:center;color:var(--muted);margin-top:23px}.auth-footnote a,.auth-privacy a{color:var(--accent);font-weight:750}.auth-footnote svg{width:13px;height:13px;vertical-align:middle}
.signup-form{gap:14px}.signup-form>label small{color:var(--muted);font-weight:400}.signup-form>label:not(.auth-privacy) input{margin-top:7px}.signup-form>.btn{margin-top:8px}
.auth-privacy{display:flex!important;align-items:flex-start;gap:10px!important;font-size:12px;font-weight:400!important;color:var(--soft);line-height:1.55;cursor:pointer}
.auth-privacy input{width:16px;height:16px;flex:0 0 16px;accent-color:var(--accent);margin:2px 0 0}.auth-privacy span{min-width:0}
.signup-trap{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;left:-9999px!important;top:-9999px!important}
.auth-hint{font-size:11px;color:var(--muted);margin-top:18px;text-align:center;line-height:1.6}.auth-disabled{margin-top:24px!important}.login-box .public-privacy{color:var(--soft);font-size:13px;margin:25px 0;display:grid;gap:14px}.public-back{margin-top:22px}
.recent-signups{margin-top:20px}.settings-options{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:25px;margin-top:27px}.settings-options>.eyebrow{margin-bottom:1px}
.setting-toggle{display:flex!important;align-items:flex-start!important;gap:12px!important;background:var(--surface-2);padding:17px;border:1px solid var(--line-strong);border-radius:9px;cursor:pointer}
.setting-toggle input{width:18px;height:18px;flex:0 0 18px;accent-color:var(--accent);margin:2px 0 0}.setting-toggle span{display:grid;gap:5px}.setting-toggle strong{font-size:13px;line-height:1.4}.setting-toggle small{font-size:12px;line-height:1.6;font-weight:400;color:var(--muted)}
.settings-links{display:flex;gap:14px;flex-wrap:wrap;margin:16px 0}.settings-links a{display:inline-flex;align-items:center;gap:7px;color:var(--accent);font-weight:650;font-size:12px}.settings-links svg{width:14px;height:14px}
@media(max-width:520px){.login-box{padding:28px 22px!important}.login-box>.wordmark{margin-bottom:30px}.login-intro h1{font-size:27px}.auth-tabs{margin-top:20px}.signup-form{gap:12px}}

/* v1.2 — αρχική δημόσια οθόνη στο domain (σύνδεση / εγγραφή) */
.login-box.welcome-box{width:min(100%,1050px);padding:clamp(26px,4.2vw,60px);background:radial-gradient(ellipse at 5% 100%,#e8853a0b,transparent 57%),var(--surface)}
.welcome-box>.wordmark{margin-bottom:clamp(52px,6vw,92px)}
.welcome-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(40px,6vw,95px);align-items:center}
.welcome-copy h1{font-size:clamp(43px,5.4vw,69px);line-height:1.09;letter-spacing:-.06em;font-weight:740}
.welcome-copy h1 em{font-style:normal;color:var(--accent)}
.welcome-copy .welcome-lead{color:var(--soft);font-size:clamp(13px,1.5vw,15px);line-height:1.8;max-width:510px;margin-top:26px}
.welcome-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:39px}
.welcome-tags span{font-size:11px;color:#a4b1bf;border:1px solid var(--line-strong);padding:8px 11px;border-radius:5px;background:#ffffff05}
.welcome-actions{border:1px solid var(--line-strong);border-radius:11px;padding:clamp(21px,3vw,30px);background:#0e151e;display:flex;flex-direction:column;align-items:stretch;box-shadow:0 15px 45px #0002}
.welcome-actions h2{font-size:clamp(25px,3vw,32px)}
.welcome-actions>p:not(.eyebrow){color:var(--muted);font-size:13px;margin:10px 0 28px}
.welcome-actions .welcome-button{min-height:54px;font-size:13px;width:100%;justify-content:space-between;padding:0 18px}
.welcome-actions .welcome-button+.welcome-button{margin-top:11px}
.welcome-actions .welcome-button svg{width:17px;height:17px}
.welcome-note{font-size:11px;color:var(--muted);text-align:center;margin-top:13px}
.welcome-closed{font-size:12px;line-height:1.6;color:var(--yellow);background:#efb96110;border:1px solid #efb96120;border-radius:7px;padding:12px;margin-top:12px}
.welcome-admin{border-top:1px solid var(--line-strong);margin-top:28px;padding-top:19px;color:var(--muted);font-size:11px;line-height:1.7}
.welcome-admin a{color:var(--accent);font-weight:750}
.login-layout:has(.welcome-box){padding:30px 16px}
@media(max-width:790px){.welcome-grid{grid-template-columns:1fr;gap:35px}.login-box.welcome-box{width:min(100%,540px);padding:30px 24px}.welcome-box>.wordmark{margin-bottom:45px}.welcome-copy h1{font-size:clamp(39px,9vw,59px)}.welcome-tags{margin-top:22px}.welcome-actions{padding:23px}}
@media(max-width:520px){.login-box.welcome-box{padding:27px 21px!important}.welcome-copy h1{font-size:clamp(38px,11vw,51px)}.welcome-copy .welcome-lead{margin-top:19px}.welcome-grid{gap:30px}.welcome-box>.wordmark{margin-bottom:38px}}

/* v1.3 — εβδομαδιαίο ωρολόγιο, κρατήσεις, check-in/out */
.btn:disabled,.btn[disabled]{opacity:.48;cursor:not-allowed;transform:none!important}
.gym-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:21px}
.gym-mini{background:#161d27;min-width:0;border:1px solid #ffffff12;border-radius:10px;padding:23px 22px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.gym-mini .eyebrow{margin-bottom:0}.gym-mini h3{font-size:21px;overflow-wrap:anywhere}.gym-mini p{font-size:12px;color:#9aa8b7;line-height:1.65;flex:1}.gym-mini .status{margin-top:4px}
.gym-mini-links{display:flex;flex-wrap:wrap;gap:14px}.gym-mini-links a{font-weight:700;color:var(--accent);font-size:12px}
.gym-next-bookings{padding:16px 22px;margin:0 0 20px;background:#e8853a0b;border-left:3px solid var(--accent);font-size:12px;display:flex;gap:16px;align-items:flex-start;flex-wrap:wrap}.gym-next-bookings>strong{white-space:nowrap}.gym-next-bookings>div{display:flex;gap:10px;flex-wrap:wrap;color:var(--soft)}.gym-next-bookings span+span:before{content:'•';padding-right:10px;color:var(--accent)}
.gym-calendar{padding:0!important;overflow:hidden}.gym-calendar-filters{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:25px 26px;border-bottom:1px solid var(--line-strong);flex-wrap:wrap}
.gym-filter-form{display:flex;align-items:end;flex-wrap:wrap;gap:13px}.gym-filter-form label{font-size:11px;font-weight:750;color:var(--soft);display:flex;flex-direction:column;gap:7px;min-width:170px}.gym-filter-form select{height:42px;min-width:180px;padding:0 35px 0 12px;margin:0;background:#101721;color:var(--text);border:1px solid var(--line-strong);border-radius:5px}.gym-filter-form button{height:42px}.gym-filter-caption{font-size:10px;color:var(--muted);letter-spacing:.12em;font-weight:750;white-space:nowrap;padding-bottom:12px}
.gym-week-bar{min-height:112px;padding:24px 26px;display:flex;gap:16px;align-items:center;justify-content:space-between;text-align:center}.gym-week-bar .eyebrow{margin-bottom:7px}.gym-week-bar h2{font-size:clamp(16px,2vw,23px);font-weight:650}.gym-week-arrow{background:#ffffff08;border:1px solid #ffffff16;display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:6px;font-size:26px;line-height:1;color:var(--text);transition:background .2s}.gym-week-arrow:hover{background:#e8853a22;color:var(--accent)}.gym-week-actions{display:flex;align-items:center;gap:10px}
.gym-week-scroll{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-color:#465564 #161d27}.gym-week-grid{display:grid;grid-template-columns:repeat(7,minmax(158px,1fr));min-width:1120px;border-top:1px solid var(--line-strong)}.gym-day-column{border-right:1px solid #ffffff0d;min-height:270px}.gym-day-column:last-child{border-right:0}.gym-day-head{display:flex;align-items:center;justify-content:space-between;padding:13px 11px;min-height:56px;background:#111923;border-bottom:1px solid var(--line-strong);font-size:11px;font-weight:720}.gym-day-head b{font-size:19px;color:#dce4ed}.gym-day-head.today{background:#e8853a16;color:var(--accent)}.gym-day-head.today b{color:var(--accent)}.gym-day-events{padding:11px 8px 20px;display:flex;flex-direction:column;gap:10px}.gym-empty-day{color:#647284;font-size:11px;text-align:center;padding:35px 8px;font-weight:550}
.gym-class-card{min-width:0;background:#1d2a37;border-left:3px solid #e8853a;padding:11px 10px;border-radius:4px;display:flex;flex-direction:column;align-items:flex-start;gap:6px;box-shadow:0 9px 22px #00000019}.gym-class-card.is-closed{border-left-color:#647384;background:#19222c}.gym-class-card.is-booked{background:#172f2a;border-left-color:#62d6a2}.gym-class-time{font:700 10px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--accent);letter-spacing:.025em}.gym-class-card.is-booked .gym-class-time{color:#62d6a2}.gym-class-card h3{font-size:13px;line-height:1.25;letter-spacing:-.018em;overflow-wrap:anywhere}.gym-class-card p{font-size:10px;line-height:1.3;color:#a0adba;overflow-wrap:anywhere}.gym-seat-note{font-size:10px;font-weight:750;color:#d5dfeb;margin:3px 0 4px}.gym-class-card .status{font-size:9px}.gym-class-card form{width:100%;margin:4px 0 0}.gym-class-card .btn{white-space:normal;font-size:10px;min-height:32px;padding:5px 8px;line-height:1.3}.gym-class-actions{width:100%;display:flex;flex-direction:column;gap:6px}.gym-class-actions>form{margin:0}.gym-class-actions>form>.btn{width:100%}.gym-detail{font-size:11px;min-width:0;width:100%;margin-top:2px}.gym-detail>summary{cursor:pointer;font-weight:730;color:#f0bd91;outline-offset:4px}.gym-detail>form{display:flex;flex-direction:column;gap:8px;padding:10px 0;border-top:1px solid #ffffff19;margin-top:10px}.gym-detail label{display:flex;flex-direction:column;gap:6px;color:var(--soft);font-size:10px}.gym-detail input{width:100%;min-width:0;padding:8px;height:34px}.gym-booked-people{border-top:1px solid #ffffff19;padding:11px 0}.gym-booked-people>b{font-size:10px}.gym-booked-people>div{display:flex;align-items:center;justify-content:space-between;gap:5px;border-top:1px solid #ffffff0d;margin-top:8px;padding-top:8px}.gym-booked-people>div span{overflow-wrap:anywhere}.gym-booked-people>div form{width:auto;margin:0}.gym-booked-people button{border:0;padding:0;background:transparent;font-size:10px;cursor:pointer}.gym-swipe-hint{padding:10px 23px 17px;font-size:11px;margin:0}.gym-member-access{margin:0 0 20px}.gym-permission-form{display:flex;flex-wrap:wrap;gap:22px;align-items:center;margin-top:16px}.gym-permission-form .checkline{margin:0}.gym-sub-toggle{margin-top:7px}.gym-sub-toggle .btn{min-height:30px;font-size:10px}.gym-arrival-panel{max-width:650px;padding:32px}.gym-arrival-panel h2{font-size:27px}.gym-arrival-panel p:not(.eyebrow){color:var(--muted);margin:12px 0 25px}.gym-arrival-panel form{margin-top:8px}
@media(max-width:1100px){.gym-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gym-quick-grid .gym-mini:last-child{grid-column:1/-1}}
@media(max-width:700px){.gym-quick-grid{grid-template-columns:1fr}.gym-quick-grid .gym-mini:last-child{grid-column:auto}.gym-calendar-filters{padding:19px 15px}.gym-filter-form{width:100%}.gym-filter-form label{flex:1;min-width:140px}.gym-filter-form select{width:100%;min-width:0}.gym-week-bar{padding:17px 12px;min-height:96px}.gym-week-bar h2{font-size:16px}.gym-week-arrow{width:29px;height:32px}.gym-week-actions{gap:5px}.gym-week-actions .btn{padding:0 8px;min-height:32px}.gym-mini{padding:18px}.gym-member-access .panel-head{align-items:flex-start;flex-wrap:wrap}}

/* v1.4 · Μάθημα σε πολλές ημέρες + διαφανές παρουσιολόγιο τάξης */
.gym-multi-schedule{min-width:0}.gym-field-title{display:block;color:var(--soft);font-size:12px;font-weight:760;margin-bottom:12px}
.gym-weekday-choices{display:grid;gap:7px;margin-bottom:11px}.gym-weekday-row{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#101721;border:1px solid #ffffff14;padding:9px 12px;border-radius:5px}
.gym-day-select{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;cursor:pointer;flex:1!important;margin:0!important;font-size:12px!important;color:#e6edf4!important}
.gym-day-select input{width:16px!important;min-width:16px!important;height:16px!important;margin:0!important;accent-color:#e8853a!important}.gym-day-time{display:flex!important;flex-direction:row!important;align-items:center!important;gap:10px!important;font-size:11px!important;color:#94a5b7!important;margin:0!important}.gym-day-time input{width:122px!important;height:37px!important;margin:0!important;padding:0 7px!important}
.gym-roster-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:22px}.gym-roster-stats .metric{min-width:0}.gym-roster-table small{display:block;font-size:11px;color:var(--muted);padding-top:4px}.gym-roster-table form{margin:0}.gym-time-ok{color:#6bdfae;font-weight:750;font-variant-numeric:tabular-nums}.gym-time-pending{color:var(--muted);font-size:11px}.gym-attendance-filter{display:flex;align-items:end;gap:9px;flex-wrap:wrap}.gym-attendance-filter label{display:grid;gap:5px;font-size:11px;color:var(--soft)}.gym-attendance-filter input{height:37px;padding:5px 9px}.gym-checkin-select{display:grid;gap:7px;margin-bottom:16px;font-size:11px;color:var(--soft);max-width:440px}.gym-checkin-select select{width:100%;min-width:0}
@media(max-width:800px){.gym-roster-stats{grid-template-columns:1fr}.gym-weekday-row{padding:8px}.gym-day-time input{width:110px!important}}

/* v1.5 · Χρωματισμός τύπου μαθήματος (παλέτα + πλήρης επιλογέας) */
.gym-class-card{--lesson-color:#E8853A;background:color-mix(in srgb,var(--lesson-color) 13%,#161d27);border-left:4px solid var(--lesson-color);border-top:1px solid color-mix(in srgb,var(--lesson-color) 15%,transparent)}
.gym-class-card.is-closed{background:color-mix(in srgb,var(--lesson-color) 5%,#161d27);border-left-color:color-mix(in srgb,var(--lesson-color) 52%,#647384)}
.gym-class-card.is-booked{background:color-mix(in srgb,var(--lesson-color) 19%,#161d27);border-left-color:var(--lesson-color)}
.gym-class-card .gym-class-time,.gym-class-card.is-booked .gym-class-time{color:var(--lesson-color)}
.gym-class-card.is-closed .gym-class-time{color:color-mix(in srgb,var(--lesson-color) 74%,#c5ced7)}
.gym-class-card h3{color:#f5f8fc}.gym-class-card p{color:#c2cbd6}
.gym-lesson-picker{display:flex;flex-direction:column;gap:12px;padding:15px;background:#101721;border:1px solid #ffffff18;border-radius:6px;min-width:0}
.gym-lesson-picker .gym-field-title{margin:0}.gym-color-palette{display:flex;gap:9px;flex-wrap:wrap}
.gym-color-swatch{--swatch:#E8853A;position:relative;background:var(--swatch);border:3px solid #101721;border-radius:6px;width:32px;height:32px;cursor:pointer;box-shadow:0 0 0 1px #ffffff24;transition:transform .18s,box-shadow .18s;flex-shrink:0}
.gym-color-swatch:hover{transform:translateY(-2px);box-shadow:0 0 0 2px #ffffff85}.gym-color-swatch:focus-visible{outline:2px solid white;outline-offset:3px}
.gym-color-swatch.is-selected{box-shadow:0 0 0 2px #eaf0f7}.gym-color-swatch.is-selected:after{content:'✓';display:grid;place-items:center;color:#0b1017;font-weight:900;font-size:16px;text-shadow:0 1px 2px #ffffffaa;position:absolute;inset:0}
.gym-color-swatch[data-preset-color="#E8853A"]{--swatch:#E8853A}.gym-color-swatch[data-preset-color="#40B9E8"]{--swatch:#40B9E8}.gym-color-swatch[data-preset-color="#8F82F8"]{--swatch:#8F82F8}.gym-color-swatch[data-preset-color="#43C8A1"]{--swatch:#43C8A1}.gym-color-swatch[data-preset-color="#E66C97"]{--swatch:#E66C97}.gym-color-swatch[data-preset-color="#E2B459"]{--swatch:#E2B459}.gym-color-swatch[data-preset-color="#EA775F"]{--swatch:#EA775F}.gym-color-swatch[data-preset-color="#86BE70"]{--swatch:#86BE70}.gym-color-swatch[data-preset-color="#7F9CBD"]{--swatch:#7F9CBD}.gym-color-swatch[data-preset-color="#D37FD1"]{--swatch:#D37FD1}
.gym-color-control{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.gym-color-control>label{font-size:11px;color:#b1bfcd;display:flex!important;align-items:center;flex-direction:row!important;gap:10px;flex-wrap:wrap}.gym-color-control input[type=color]{width:44px;height:38px;border:1px solid #ffffff30;padding:3px;background:#161d27;cursor:pointer;border-radius:4px;flex:none}
.gym-color-preview{--lesson-color:#E8853A;background:color-mix(in srgb,var(--lesson-color) 15%,#161d27);border-left:4px solid var(--lesson-color);padding:10px 12px;display:flex;gap:9px;align-items:center;flex:1;min-width:195px;font-weight:700;font-size:11px;color:#f4f7fb;border-radius:3px}.gym-color-preview-dot,.gym-lesson-type-dot{display:inline-block;background:var(--lesson-color,#E8853A);width:11px;height:11px;flex:none;border-radius:3px}.gym-color-preview code{margin-left:auto;color:#b5c2ce;font-size:10px}.gym-lesson-type-title{display:inline-flex;align-items:center;gap:9px}.gym-roster-color-note{--lesson-color:#E8853A;display:flex;gap:9px;align-items:center;font-size:11px;font-weight:650;color:#aab6c2;margin-bottom:17px;padding:9px 11px;background:color-mix(in srgb,var(--lesson-color) 11%,#161d27);border-left:3px solid var(--lesson-color)}
@media(max-width:540px){.gym-lesson-picker{padding:12px}.gym-color-swatch{width:33px;height:33px}.gym-color-preview{min-width:100%}}
