:root{--bg:#f4f8fa;--paper:#fff;--ink:#14212c;--muted:#687580;--line:#dce5ea;--green:#e4549a;--green2:#f878b8;--blue:#2f93d6;--blue2:#60c0f8;--soft:#f7fafc;--danger:#c94957;--shadow:0 18px 50px rgba(32,55,72,0.08);--page-pad:clamp(16px,3vw,40px)}*{box-sizing:border-box}body,html{margin:0;padding:0}body{min-height:100vh;background:var(--bg);color:var(--ink);font-family:Helvetica Neue,Helvetica,Arial,sans-serif;line-height:1.5}a{color:var(--blue);text-decoration:none}fieldset{border:0;margin:0;padding:0}.star-pick{display:flex;gap:.8rem;flex-wrap:wrap}.star-pick label{display:flex;align-items:center;gap:.25rem}.cal-desc{margin:.15rem 0 0;font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}img{max-width:100%}.wrap{width:min(1080px,calc(100% - var(--page-pad) * 2));margin:0 auto;padding:1.5rem 0 3rem}.topbar{gap:1rem;padding:.85rem var(--page-pad);background:var(--paper);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:5}.brand,.topbar{display:flex;align-items:center}.brand{text-decoration:none}.brand img{height:58px;width:auto;display:block}.install-banner{display:flex;align-items:center;gap:.7rem;padding:.65rem var(--page-pad);background:var(--paper);border-bottom:1px solid var(--line)}.install-banner p{margin:0;flex:1 1;font-weight:700}.install-app img,.install-banner img{border-radius:12px;background:white}.install-close{border:0;background:transparent;color:var(--muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:.2rem .35rem}.install-modal{position:fixed;inset:0;background:rgba(20,33,44,.45);z-index:20;display:flex;align-items:flex-end;justify-content:center}.install-sheet{background:var(--paper);width:min(520px,100%);border-radius:18px 18px 0 0;padding:1rem 1.1rem 1.4rem;display:grid;grid-gap:.9rem;gap:.9rem}.install-app{display:flex;gap:.8rem;align-items:center;background:var(--soft);border-radius:14px;padding:.7rem}.install-app p{margin:0}.install-steps{margin:0;padding-left:1.2rem;display:grid;grid-gap:.8rem;gap:.8rem}.install-steps em,.install-steps span{display:block;color:var(--muted);font-style:normal;font-weight:600}.bar-login{font-weight:700}.bar-login,.linkish,.nav-links a{color:var(--ink);text-decoration:none}.linkish,.nav-links a{background:none;border:0;padding:0;cursor:pointer;font-weight:600}.tools{margin-left:auto;display:flex;align-items:center;gap:.6rem}.langs{display:flex;border:1px solid var(--line);border-radius:999px;overflow:hidden}.langs button{border:0;background:transparent;padding:.35rem .55rem;cursor:pointer;color:var(--muted);font-weight:700;font-size:.78rem}.langs button.active{background:var(--ink);color:white}.menu{position:relative}.menu>summary{cursor:pointer;list-style:none;width:42px;height:42px;display:grid;place-items:center;border-radius:10px}.menu>summary::-webkit-details-marker{display:none}.menu-bars{display:grid;grid-gap:5px;gap:5px;width:20px}.menu-bars span{display:block;height:2px;border-radius:2px;background:var(--ink)}.menu-panel{position:absolute;right:0;top:calc(100% + .35rem);z-index:6;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:.7rem;min-width:200px}.menu-list,.menu-panel{display:grid}.menu-panel{min-width:240px;max-height:min(70vh,560px);overflow:auto}.menu-panel a,.menu-panel button{text-align:left;padding:.45rem .3rem}.menu-group{border-top:1px solid var(--line)}.menu-group summary{cursor:pointer;font-weight:800;padding:.5rem .3rem;list-style:none}.menu-group summary::-webkit-details-marker{display:none}.menu-group a{display:block;padding-left:.85rem}.symbol-row{display:flex;align-items:center;gap:.8rem}.symbol-row svg{width:42px;height:42px;flex:none;color:var(--blue)}.symbol-row select{flex:1 1;min-height:3.1rem;font-size:1rem}.gear-pick,.symbol-pick{display:flex;flex-wrap:wrap;gap:.45rem}.gear-pick label,.symbol-pick label{position:relative;display:grid;place-items:center;margin:0;border:1px solid var(--line);border-radius:12px;background:white;color:var(--ink);cursor:pointer}.symbol-pick label{width:52px;height:52px}.gear-pick label{padding:.45rem .7rem;font-size:.85rem}.gear-pick input,.symbol-pick input{position:absolute;inset:0;opacity:0;margin:0}.gear-pick label:has(input:checked),.symbol-pick label:has(input:checked){border-color:var(--blue);background:#e7f4fc;color:#1a6fa8;box-shadow:inset 0 -3px 0 var(--blue)}.gear-bar{display:inline-flex;flex-wrap:wrap;align-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;margin:0;background:#e5f6e8;color:#1d6b32;border-radius:999px;padding:.2rem .65rem;font-size:.75rem;font-weight:800}.gear-bar a+a:before,.gear-bar span+span:before{content:" · "}.gear-bar a,.gear-bar span{color:inherit}.with-symbol{display:flex;align-items:center;gap:.45rem}.with-symbol svg{width:1.15em;height:1.15em;flex:none}.btn:disabled{opacity:.45;cursor:not-allowed}.site-footer{border-top:1px solid var(--line);padding:1.4rem var(--page-pad) 2rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;justify-content:space-between}.site-footer nav{display:flex;gap:1rem}.hero{display:grid;grid-gap:1.2rem;gap:1.2rem;align-items:stretch}.eyebrow{color:var(--blue);font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;margin:0 0 .4rem}h1{font-size:clamp(2rem,5vw,3.4rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 .7rem}h2{letter-spacing:-.03em;margin:0 0 .6rem}.lead{font-size:1.12rem;color:var(--muted);margin:0 0 1.1rem}.card,.hero-card,.panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:1.1rem 1.15rem}.hero-card{background:linear-gradient(160deg,#5b2a55,#001840);color:white}.hero-card p{color:rgba(255,255,255,.8)}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:.75rem 1rem;font-weight:750;font-weight:700;cursor:pointer;text-decoration:none}.btn.primary{background:linear-gradient(180deg,var(--green2),var(--green));color:white;border-color:transparent}.btn.primary:hover{text-decoration:none;filter:brightness(1.03)}.btn.danger{color:var(--danger)}.dash-stats,.grid{display:grid;grid-gap:.9rem;gap:.9rem}.steps{margin-top:2rem}.badge{display:inline-block;background:#fde8f4;color:var(--green);border-radius:999px;padding:.15rem .55rem;font-size:.75rem}.badge,.price{font-weight:800}.price{font-size:1.7rem;letter-spacing:-.03em;margin:.2rem 0}.muted{color:var(--muted)}.stack{display:grid;grid-gap:.9rem;gap:.9rem}.actions .btn,.card>.btn,.card>a.btn,.fields>.btn,.fields>a.btn,.fold>.btn,.fold>a.btn,.stack>.btn,.stack>a.btn{width:-moz-fit-content;width:fit-content;max-width:100%;justify-self:start}input[type=date],input[type=datetime-local],input[type=month],input[type=number],input[type=time]{max-width:16rem}.fold{border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow);padding:.2rem 1rem .9rem}.fold>summary{cursor:pointer;font-weight:800;font-size:1.05rem;padding:.75rem 0}.fold>summary::-webkit-details-marker{color:var(--blue)}.session-head{display:flex;flex-wrap:wrap;gap:.4rem .75rem;align-items:center}.session-head strong{flex:1 1 12rem}.day-pick{display:flex;flex-wrap:wrap;gap:.4rem}.day-pick label{display:flex;align-items:center;gap:.35rem;margin:0;border:1px solid var(--line);border-radius:999px;padding:.35rem .7rem;background:white;color:var(--ink)}.day-pick label:has(input:checked){background:#fde8f4;border-color:#e4549a}.tone-dora{box-shadow:inset 4px 0 0 #e4549a}.tone-olga{box-shadow:inset 4px 0 0 #2f93d6}.tone-dot{display:inline-block;width:.65rem;height:.65rem;border-radius:50%;margin-right:.2rem;background:var(--line)}.tone-dora .tone-dot,.tone-dot.dora{background:#e4549a}.tone-dot.olga,.tone-olga .tone-dot{background:#2f93d6}.cal-list{display:grid;grid-gap:1rem;gap:1rem}.cal-row{display:grid;grid-template-columns:4.2rem 1fr;grid-gap:.65rem;gap:.65rem;align-items:center;padding:.7rem .8rem;border-radius:14px;background:white;border:1px solid var(--line);color:inherit;text-decoration:none}.cal-row strong{display:block}.cal-dot,.cal-row-time{font-weight:800}.cal-dot{display:block;margin-top:.2rem;padding:.12rem .25rem;border-radius:8px;background:var(--soft);color:var(--ink);font-size:.68rem;text-decoration:none}.session-sheet{max-width:36rem}.fields{display:grid;grid-gap:.75rem;gap:.75rem}label{display:grid;grid-gap:.3rem;gap:.3rem;color:var(--muted);font-size:.92rem;font-weight:650;font-weight:600}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:.72rem .8rem;background:white;color:var(--ink)}textarea{min-height:5rem;resize:vertical}.check{display:flex;gap:.55rem;align-items:flex-start;color:var(--ink)}.check input{width:auto;margin-top:.2rem}.flash{border-radius:12px;padding:.75rem .9rem;margin:0 0 1rem}.flash.bad{background:#fdecef;color:var(--danger)}.flash.good{background:#fde8f4;color:#8a245c}.choice{display:flex;gap:.8rem}.person{display:flex;gap:.9rem;align-items:flex-start}.avatar{width:3.2rem;height:3.2rem;border-radius:50%;display:grid;place-items:center;color:white;font-weight:800;background:linear-gradient(140deg,var(--blue2),var(--blue));flex:none}.avatar-photo,.photo-slot{width:4.6rem;height:4.6rem;border-radius:50%;flex:none;object-fit:cover;background:var(--soft)}.photo-slot{display:grid;place-items:center;border:1px dashed var(--line);color:var(--muted);font-size:.85rem}.photo-slot.wide{width:100%;height:8rem;border-radius:16px}.photo-box label.btn{position:relative;width:auto;cursor:pointer}.photo-box input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.offering-line{display:grid;grid-gap:.8rem;gap:.8rem;padding-top:.8rem;border-top:1px solid var(--line)}.dash-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end}.dash-charts,.dash-kpis{display:grid;grid-gap:.9rem;gap:.9rem}.kpi{background:white;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:16px;padding:.9rem 1rem}.kpi-value{margin:.15rem 0;font-size:1.8rem;font-weight:800;letter-spacing:-.03em}.month-chips{display:flex;gap:.35rem;overflow:auto;padding-bottom:.2rem}.chip{flex:none;padding:.35rem .6rem;border-radius:999px;border:1px solid var(--line);background:white;color:var(--ink);font-size:.78rem;font-weight:700;text-decoration:none}.chip.on{background:var(--blue);color:white;border-color:transparent}.chart-card h2{margin:0 0 .2rem;font-size:.95rem;letter-spacing:.04em}.chart-card svg{width:100%;height:auto;display:block}.legend{display:flex;gap:1rem;flex-wrap:wrap;margin:.2rem 0 .4rem;font-size:.85rem}.legend i,.legend-list i{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;margin-right:.3rem}.donut-wrap{display:grid;grid-template-columns:minmax(120px,160px) 1fr;grid-gap:.8rem;gap:.8rem;align-items:center}.legend-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.35rem;gap:.35rem}.legend-list li{display:flex;align-items:center;gap:.35rem}.legend-list strong{margin-left:auto}.blocks{display:flex;min-height:180px;gap:.4rem}.block{flex:1 1;min-width:0;color:white;border-radius:12px;padding:.65rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.15rem}.block span{font-size:.82rem}.training-photo{max-height:200px;background:var(--soft)}.setup-video,.training-photo{width:100%;object-fit:cover;border-radius:16px}.setup-video{max-height:420px;background:#1b1b1f}.meter{height:.75rem;border-radius:999px;background:var(--soft);overflow:hidden}.meter span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--green))}.code{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:1.8rem;letter-spacing:.18em;font-weight:800;margin:.2rem 0}.row{display:flex;justify-content:space-between;gap:1rem;align-items:baseline}table{width:100%;border-collapse:collapse;font-size:.95rem}td,th{text-align:left;padding:.55rem .35rem;border-bottom:1px solid var(--line);vertical-align:top}.room-grid{display:grid;grid-gap:.9rem;gap:.9rem}.stage{position:relative;min-height:360px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 30% 20%,#1d4e73,var(--ink) 58%);color:white;display:grid;align-content:end;padding:1.2rem;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stage p,.stage strong{position:relative;z-index:2}.stage-videos{z-index:0;pointer-events:none}.stage-videos,.stage-videos.pair .tile.remote{position:absolute;inset:0}.stage-videos.pair .tile.self{position:absolute;right:.7rem;bottom:.7rem;width:min(32%,180px);aspect-ratio:4/3;z-index:1;border-radius:12px;overflow:hidden;border:2px solid white}.stage-videos.all{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:.35rem;gap:.35rem;padding:2.6rem .45rem 5rem;overflow:auto;align-content:start}.stage-videos.all .tile{aspect-ratio:4/3}.stage-videos.all .tile.self{outline:2px solid var(--green2)}.tile{position:relative;min-height:0}.tile,.tile video{background:#0d1a24}.tile video{width:100%;height:100%;object-fit:cover}.tile span{position:absolute;left:.35rem;bottom:.35rem;z-index:2;max-width:calc(100% - .7rem);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:white;background:rgba(0,8,24,.78);border-radius:999px;padding:.12rem .5rem;font-size:.82rem;font-weight:700}.stage-videos.all{position:relative;inset:auto;z-index:1;padding:2.4rem .45rem .45rem}.stage-audio{display:none}.slot-list{display:flex;flex-wrap:wrap;gap:.5rem}.music-bar{position:relative;z-index:4;display:grid;grid-gap:.35rem;gap:.35rem;max-width:28rem;background:rgba(20,33,44,.78);border-radius:12px;padding:.55rem .7rem;pointer-events:auto}.music-bar label{display:grid;grid-gap:.2rem;gap:.2rem;font-size:.85rem}.music-bar p{margin:0;font-size:.8rem;color:rgba(255,255,255,.8)}.sound-btn{position:relative;z-index:3;justify-self:start}.live-pill{top:1rem;left:1rem;background:var(--danger);border-radius:999px;padding:.2rem .6rem;font-size:.75rem;font-weight:800;letter-spacing:.06em}.live-pill,.mark{position:absolute;z-index:2}.mark{color:rgba(255,255,255,.78);font-size:.85rem;pointer-events:none;text-shadow:0 1px 2px rgba(0,0,0,.35)}.mark.a{left:1rem;bottom:4.5rem}.mark.b{right:1rem;top:3rem}.chat{background:var(--paper);border:1px solid var(--line);border-radius:18px;display:grid;grid-template-rows:auto 1fr auto;min-height:320px;max-height:70vh}.chat h2{font-size:1rem;margin:0;padding:.8rem .9rem 0}.chat-note,.chat-pick{margin:.35rem .9rem 0}.chat-pick{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.85rem;font-weight:700}.chat-pick select{font-weight:500}.messages{overflow:auto;padding:.6rem .9rem;display:grid;align-content:start;grid-gap:.55rem;gap:.55rem}.bubble{background:var(--soft);border-radius:12px;padding:.45rem .6rem}.bubble b{display:block;font-size:.8rem}.chat form{display:flex;gap:.4rem;padding:.7rem;border-top:1px solid var(--line)}.chat input{flex:1 1}.note{font-size:.92rem;color:var(--muted)}.invoice-view{display:grid;grid-gap:.8rem;gap:.8rem}.invoice-bar{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}.back-bar{width:auto;min-width:8.5rem;justify-content:flex-start;background:#14212c;color:white;border-color:#14212c}.session-sheet>a.btn.back-bar{width:100%;max-width:none}.invoice-pdf{width:100%;height:calc(100dvh - 9rem);min-height:480px;border:1px solid var(--line);border-radius:16px;background:#fff}.cal-toolbar{display:grid;grid-gap:.7rem;gap:.7rem}.cal-filters,.cal-nav,.cal-views{display:flex;flex-wrap:wrap;gap:.4rem;align-items:end}.cal-nav a,.cal-views a{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:999px;padding:.35rem .75rem;font-weight:700;text-decoration:none}.cal-views a.active{background:var(--ink);color:white}.cal-nav a.cal-nav-step{min-width:2.1rem;padding:.35rem .5rem;text-align:center;font-size:1.05rem;line-height:1}.cal-nav strong{padding:.35rem .2rem}.cal-filters label{display:grid;grid-gap:.25rem;gap:.25rem;font-size:.85rem;font-weight:700}.cal-day-heading{margin:0;font-weight:800;font-size:1.05rem}.cal-day-head{display:grid;grid-gap:.1rem;gap:.1rem;margin-bottom:.1rem}.cal-weekday{font-size:.78rem;letter-spacing:.01em}.cal-weekday,.cal-weekday-head{font-weight:800;color:var(--muted)}.cal-weekday-head{font-size:.72rem;text-align:center;padding:.15rem 0 .35rem;white-space:nowrap;overflow:hidden;min-width:0}.trainer-home{overflow-anchor:none}.trainer-home>.fold{order:2}.trainer-home>.week-plan{order:1}.trainer-home>.fold>summary{display:flex;justify-content:space-between;gap:.6rem}.plan-item.fold{padding:0 .75rem .15rem;box-shadow:none;margin:0}.plan-item>summary{padding:.55rem 0;font-size:.98rem}.plan-line{display:flex;align-items:center;gap:.65rem;padding:.7rem .8rem;background:var(--paper)}.plan-line>span{display:grid;grid-gap:.1rem;gap:.1rem;flex:1 1;min-width:0}.plan-line .muted,.plan-line strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-line .btn{margin-left:auto;padding:.4rem .65rem}.money-strip .price{font-size:1.15rem}.money-strip .card{padding:.7rem .75rem}.swipe{position:relative;overflow:hidden;border-radius:18px}.swipe-action{position:absolute;top:0;right:0;bottom:0;width:92px;display:grid}.swipe-action button{border:0;background:#b4233c;color:white;font-weight:800;cursor:pointer}.swipe-face{position:relative;background:var(--paper);transition:transform .16s ease;touch-action:pan-y}.swipe-face.dragging{transition:none}.cal-grid{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr);grid-gap:.35rem;gap:.35rem;overflow-x:auto;padding-bottom:.25rem}.cal-grid.month{grid-auto-flow:row;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;overflow:visible}.cal-col{background:var(--paper);border:1px solid var(--line);border-radius:12px;min-height:8rem;padding:.35rem;display:grid;align-content:start;grid-gap:.3rem;gap:.3rem}.cal-col.today{outline:2px solid var(--blue)}.cal-col.outside{opacity:.55}.cal-chip,.cal-item{background:var(--soft);border-left:3px solid var(--green);border-radius:10px;padding:.35rem .4rem}.cal-chip{display:grid;color:var(--ink);text-decoration:none;font-size:.78rem}.cal-chip span,.cal-time{color:var(--muted);font-size:.78rem}.cal-item .btn{margin-top:.3rem;padding:.4rem .6rem}@media (min-width:800px){.hero{grid-template-columns:1.4fr .8fr}.grid.three{grid-template-columns:repeat(3,1fr)}.dash-kpis,.dash-stats,.fields.two,.grid.two{grid-template-columns:1fr 1fr}}@media (min-width:1100px){.dash-kpis,.dash-stats{grid-template-columns:repeat(4,1fr)}.dash-charts{grid-template-columns:1fr 1fr}}@media (min-width:900px){.room-grid{grid-template-columns:1.7fr .9fr;align-items:stretch}.stage{min-height:460px}}@media (max-width:899px){.brand img{height:46px}.install-desktop{display:none}}