
:root{
  --bg:#ffffff; --bg2:#f5f5f2; --ink:#15120b; --ink2:#3a362c; --muted:#7c7869; --muted2:#a8a496;
  --gold:#ffc107; --gold2:#e8a900; --goldink:#8a6800; --silver:#1a1a1a; --purple:#7b54d6; --teal:#159e83; --blue:#2f74d0;
  --surface:#ffffff; --surface2:#f1f0ec; --line:rgba(20,17,8,.10); --line2:rgba(20,17,8,.17);
  --danger:#e23b3b; --ok:#1aa84a; --wa:#1faa52;
  --shadow:0 1px 2px rgba(20,17,8,.05),0 2px 10px rgba(20,17,8,.04);
  --shadow2:0 10px 34px rgba(20,17,8,.10);
  --body:'Archivo',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --display:'Anton','Arial Narrow',Impact,sans-serif;
  --max:1240px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{touch-action:manipulation}
button,select,.rtile,.ex-row,.crm-row,.nav-btn,.chip,.pill,.role-tab,.ctab,.preset-circle,.day-chip,.check{touch-action:manipulation}
html,body{margin:0;min-height:100%;overflow-x:hidden;background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-text-size-adjust:100%}
body{background:var(--bg)}
button,input,select,textarea{font:inherit;color:inherit}
button{border:0;background:none;cursor:pointer}
button:disabled{opacity:.34;cursor:not-allowed}
input,textarea,select{width:100%;min-width:0;border:1px solid var(--line2);background:#fff;border-radius:12px;padding:11px 12px;outline:none;font-size:16px;color:var(--ink)}
textarea{min-height:80px;resize:vertical;line-height:1.4}
input::placeholder,textarea::placeholder{color:var(--muted2)}
input:focus,select:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(255,193,7,.18)}
select{-webkit-appearance:none;appearance:none;background:#fff;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.8l4.5 4 4.5-4' stroke='%2315120b' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;padding-right:34px}
select option{background:#fff;color:#15120b}
.hidden{display:none!important}.muted{color:var(--muted)}.small{font-size:12px;color:var(--muted);line-height:1.4}
.gold{color:var(--goldink)}.danger{color:var(--danger)}.teal{color:var(--teal)}.purple{color:var(--purple)}
#root{position:relative;z-index:1;width:min(var(--max),100%);margin:0 auto;min-height:100dvh}
.ico{width:22px;height:22px;display:inline-block;vertical-align:middle}
.ico svg{width:100%;height:100%;display:block;stroke:currentColor;fill:none;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.ico.fill svg{fill:currentColor;stroke:none}.ico.big{width:28px;height:28px}.ico.sm{width:16px;height:16px}.ico.xs{width:13px;height:13px}

/* ===== picker ===== */
.picker{min-height:100dvh;display:grid;place-items:center;padding:26px 15px}
.picker-card{width:min(900px,100%)}
.logo-img{height:26px;width:auto;display:block}
.brand-img{width:min(78vw,420px);height:auto;display:block;margin:0 0 12px}
.brand{font-family:var(--display);font-size:clamp(46px,9vw,86px);line-height:.82;margin:0 0 10px;text-transform:uppercase;letter-spacing:.02em}
.brand span{color:var(--gold)}
.picker-sub{margin:0 0 22px;color:var(--muted);font-weight:600;line-height:1.5;max-width:600px}
.role-tabs{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.role-tab{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:9px 16px;font-weight:800;color:var(--muted);font-size:13px}
.role-tab.active{background:var(--ink);border-color:var(--ink);color:#fff}
.user-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.user-tile{display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:18px;padding:13px;transition:.15s;box-shadow:var(--shadow)}
.user-tile:hover{transform:translateY(-2px);border-color:var(--gold);box-shadow:var(--shadow2)}
.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff3cf;border:1px solid rgba(255,193,7,.5);font-weight:900;color:var(--goldink);overflow:hidden;flex:0 0 auto}
.avatar img{width:100%;height:100%;object-fit:cover}
.avatar.coach{background:#e3eefc;border-color:rgba(47,116,208,.35);color:var(--blue)}
.avatar.admin{background:#eee6fb;border-color:rgba(123,84,214,.35);color:var(--purple)}
.user-name{font-weight:900}.user-meta{font-size:12px;color:var(--muted);margin-top:3px}
.tags{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.tag{font-size:9.5px;text-transform:uppercase;font-weight:900;letter-spacing:.04em;border:1px solid var(--line);padding:4px 7px;border-radius:999px;color:var(--muted);white-space:nowrap}
.tag.personal{color:var(--purple);background:#f3eefc;border-color:rgba(123,84,214,.3)}
.tag.own{color:var(--ink2);background:var(--bg2);border-color:var(--line2)}
.tag.power{color:var(--teal);background:#e2f5f0;border-color:rgba(21,158,131,.3)}

/* ===== app shell ===== */
.app{display:grid;grid-template-columns:184px 1fr;min-height:100dvh}
.side{position:sticky;top:0;height:100dvh;padding:21px 12px;border-right:1px solid var(--line);background:#fff}
.side-logo-img{display:block;width:calc(100% - 16px);max-width:148px;height:auto;margin:8px 8px 10px}
.side-logo span{color:var(--gold)}
.side-role{margin:0 8px 22px;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.nav-btn{width:100%;display:flex;align-items:center;gap:10px;text-align:left;border-radius:13px;padding:11px;margin-bottom:4px;color:var(--ink2);font-weight:800}
.nav-btn.active{background:var(--ink);color:#fff}
.nav-text{font-size:13px}
.side-foot{position:absolute;left:14px;right:14px;bottom:16px}
.side-switch{width:100%;border:1px solid var(--line2);border-radius:12px;padding:10px;color:var(--muted);font-weight:800;font-size:12px;display:flex;align-items:center;gap:8px;justify-content:center}
.main{min-width:0;padding:18px 24px 52px}
.topbar{display:grid;grid-template-columns:1fr auto;align-items:start;gap:14px;margin-bottom:20px}
.logo-line{font-family:var(--display);font-size:28px;line-height:.9;text-transform:uppercase;letter-spacing:.02em}
.logo-line span{color:var(--gold)}
.page-kicker{font-size:11px;color:var(--muted);font-weight:900;letter-spacing:.1em;text-transform:uppercase;margin-top:6px}
.top-actions{display:flex;gap:9px;align-items:start}
.mini-action{display:grid;place-items:center;gap:4px;min-width:52px;color:var(--ink2);font-size:10px;font-weight:900}
.round-btn{width:40px;height:40px;border-radius:13px;background:#fff;border:1px solid var(--line2);display:grid;place-items:center;color:var(--ink)}
.round-btn.gold{background:var(--gold);border-color:var(--gold);color:#15120b}
.mini-action:hover .round-btn{border-color:var(--gold)}
.mobile-nav{display:none;position:fixed;z-index:55;left:0;right:0;bottom:0;padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-top:1px solid var(--line);box-shadow:0 -6px 24px rgba(20,17,8,.06)}
.mobile-nav .nav-btn{margin:0;justify-content:center;flex-direction:column;gap:3px;padding:8px 2px;border-radius:0;color:var(--muted);background:none}
.mobile-nav .nav-btn.active{background:none;color:var(--ink)}
.mobile-nav .nav-btn.active .ico{color:var(--goldink)}
.mobile-nav .nav-text{font-size:9.5px;font-weight:800}.mobile-nav .ico{width:21px;height:21px}

/* ===== common atoms ===== */
.stack{display:grid;gap:16px}
.section-label{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:900;color:var(--muted);margin:2px 0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:13px;padding:11px 15px;border:1px solid var(--line2);background:#fff;font-weight:800;white-space:nowrap;color:var(--ink)}
.btn.primary{background:var(--ink);border-color:var(--ink);color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#15120b}
.btn.ghost{background:transparent}
.btn.danger{color:var(--danger);background:#fdecec;border-color:rgba(226,59,59,.3)}
.btn.ok{color:#fff;background:var(--ok);border-color:var(--ok)}
.btn.sm{font-size:12px;padding:8px 11px;border-radius:11px}
.btn.icon{width:38px;height:38px;padding:0}
.btn.block,.btn.full{width:100%}
.field{display:grid;gap:6px}
.field label{font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-weight:900}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.full{grid-column:1/-1}
.thin-line{height:1px;background:var(--line);margin:6px 0}
.card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:15px;box-shadow:var(--shadow)}
.card.tap{cursor:pointer;transition:.14s}.card.tap:hover{border-color:var(--gold);box-shadow:var(--shadow2)}
.between{display:flex;justify-content:space-between;align-items:center;gap:10px}
.row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;border:1px solid var(--line);font-size:11.5px;font-weight:800;color:var(--muted);white-space:nowrap;background:#fff}
.pill.gold{color:var(--goldink);border-color:rgba(255,193,7,.5);background:#fff8e1}
.pill.purple{color:var(--purple);border-color:rgba(123,84,214,.4);background:#f3eefc}
.pill.teal{color:var(--teal);border-color:rgba(21,158,131,.4);background:#e2f5f0}
.pill.danger{color:var(--danger);border-color:rgba(226,59,59,.4);background:#fdecec}
.search-input{position:relative}
.search-input input{padding-left:40px;font-size:16px}
.search-input .search-ico{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--muted)}
.chips{display:flex;gap:7px;flex-wrap:wrap}
.chip{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 12px;font-weight:800;color:var(--muted);font-size:12px}
.chip.active{background:var(--ink);border-color:var(--ink);color:#fff}
.filter-line{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.filter-line::-webkit-scrollbar{display:none}
.filter-line select{flex:0 0 auto;width:auto;min-width:104px;font-size:14px;padding:9px 32px 9px 12px;border-radius:12px;font-weight:700}
.empty-card{border:1px dashed var(--line2);border-radius:18px;padding:18px;text-align:center;color:var(--muted)}

/* ===== dashboard (client) ===== */
.hero-space{min-height:50vh;display:flex;align-items:flex-end;padding-top:8px}
.lead-stack{display:grid;gap:13px;width:100%;max-width:780px}
.dash-stack{display:grid;gap:16px}
.prog-card{position:relative;overflow:hidden;border-radius:24px;padding:16px;border:1px solid var(--line);background:#fff;box-shadow:var(--shadow)}
.prog-card .ribbon{position:absolute;top:14px;right:14px;font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;padding:5px 9px;white-space:nowrap;max-width:120px}
.prog-card.priority{box-shadow:var(--shadow2)}
.pc-personal{background:#faf7ff;border-color:rgba(123,84,214,.28)}
/* ===== solid colored blocks (own + assigned personalizada) ===== */
.pc-solid{border:0;position:relative;overflow:hidden}
.pc-solid .pc-kicker,.pc-solid .pc-sub,.pc-solid .week-sub{opacity:.82}
.pc-solid .pc-icon{background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.3);color:inherit}
.pc-solid .week-box{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.26)}
.pc-solid .week-name{color:inherit}
.pc-solid .rtile{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.28);color:inherit}
.pc-solid .rtile .go{border-color:currentColor}
.pc-solid .wk-arrows button{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.34);color:inherit}
.pc-solid .ribbon{background:rgba(255,255,255,.26);color:inherit}
.pc-solid .dots span{color:#fff}
.pc-solid .rtile.add{color:inherit;opacity:.92}
.pc-solid .calis-row span{color:inherit;opacity:.8}
/* solid own-routine palettes: gradient + shine + shape, like the program block */
.pc-solid:after{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.16);pointer-events:none}
.pc-solid:before{content:"";position:absolute;left:-40px;bottom:-70px;width:150px;height:150px;border-radius:44px;transform:rotate(24deg);background:rgba(255,255,255,.07);pointer-events:none}
.oc-black{background:linear-gradient(150deg,#3b3630,#1c1710 62%,#0d0a06);color:#fff}
.oc-black:after{background:rgba(255,193,7,.20)}
.oc-red{background:linear-gradient(150deg,#ff6b5e,#e5303f 68%,#b81f34);color:#fff}
.oc-green{background:linear-gradient(150deg,#3ee08a,#12a35a 68%,#0a7a42);color:#06301c}
.oc-blue{background:linear-gradient(150deg,#63b3ff,#2f6fd0 68%,#1e4f9e);color:#fff}
.oc-purple{background:linear-gradient(150deg,#a98bff,#6a43c9 68%,#4f2fa0);color:#fff}
.oc-yellow{background:linear-gradient(150deg,#ffce28,#f5b300 72%,#e0a200);color:#1a1404}
.oc-white{background:linear-gradient(150deg,#ffffff,#f6f4ee 70%,#eeebe2);color:var(--ink);border:1px solid var(--line2)!important}
.oc-white:after{background:rgba(255,193,7,.18)}
.oc-white:before{background:rgba(20,17,8,.035)}
/* light-background palettes need dark ink on controls */
.oc-yellow.pc-solid .pc-icon,.oc-green.pc-solid .pc-icon{background:rgba(20,16,4,.12);border-color:rgba(20,16,4,.2)}
.oc-yellow.pc-solid .week-box,.oc-green.pc-solid .week-box{background:rgba(255,255,255,.32);border-color:rgba(20,16,4,.1)}
.oc-yellow.pc-solid .rtile,.oc-green.pc-solid .rtile{background:rgba(255,255,255,.62);border-color:rgba(20,16,4,.12)}
.oc-yellow.pc-solid .wk-arrows button,.oc-green.pc-solid .wk-arrows button{background:rgba(255,255,255,.7);border-color:rgba(20,16,4,.14)}
.oc-yellow.pc-solid .ribbon,.oc-green.pc-solid .ribbon{background:rgba(20,16,4,.14)}
.oc-white.pc-solid .pc-icon{background:var(--bg2);border-color:var(--line2)}
.oc-white.pc-solid .week-box{background:var(--bg2);border-color:var(--line)}
.oc-white.pc-solid .rtile{background:#fff;border-color:var(--line2)}
.oc-white.pc-solid .wk-arrows button{background:#fff;border-color:var(--line2)}
.oc-white.pc-solid .ribbon{background:var(--bg2);color:var(--muted)}
.oc-white.pc-solid .dots span{color:var(--ink)}
/* color palette picker */
.own-swatch{width:26px;height:26px;border-radius:8px;border:2px solid rgba(255,255,255,.7);flex:0 0 auto;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.oc-white .own-swatch,.oc-yellow .own-swatch{border-color:rgba(0,0,0,.25)}
.palette{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;position:relative;z-index:2}
.sw{width:30px;height:30px;border-radius:9px;border:2px solid rgba(0,0,0,.15);flex:0 0 auto;cursor:pointer}
.sw.on{outline:2px solid var(--ink);outline-offset:2px}
.sw-black{background:linear-gradient(140deg,#3b3630,#1c1710)}.sw-red{background:linear-gradient(140deg,#ff6b5e,#e5303f)}.sw-green{background:linear-gradient(140deg,#3ee08a,#12a35a)}.sw-blue{background:linear-gradient(140deg,#63b3ff,#2f6fd0)}.sw-purple{background:linear-gradient(140deg,#a98bff,#6a43c9)}.sw-yellow{background:linear-gradient(140deg,#ffce28,#f5b300)}.sw-white{background:linear-gradient(140deg,#fff,#eeebe2);border-color:var(--line2)}
/* routine library tags */
.rtag{display:inline-flex;flex-direction:column;align-items:flex-end;gap:1px;flex:0 0 auto;text-align:right}
.rtag b{font-size:10px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;background:var(--bg2);color:var(--ink);border-radius:7px;padding:4px 8px;white-space:nowrap}
.rtag.gold b{background:#fff3cf;color:var(--goldink)}
.rtag.purple b{background:#efe7fc;color:var(--purple)}
.rtag span{font-size:9.5px;color:var(--muted);font-weight:700}
.cal{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:11px}
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:9px}
.cal-head b{font-family:var(--display);text-transform:uppercase;font-size:15px;letter-spacing:.02em}
.cal-dows{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:4px}
.cal-dows span{text-align:center;font-size:9.5px;font-weight:900;color:var(--muted);letter-spacing:.05em}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-d{aspect-ratio:1;border-radius:9px;background:#fff;border:1px solid var(--line);font-size:12.5px;font-weight:800;color:var(--ink);display:grid;place-items:center}
.cal-d.empty{background:transparent;border:0}
.cal-d.busy{background:repeating-linear-gradient(45deg,#eceae4,#eceae4 3px,#e2e0d8 3px,#e2e0d8 6px);color:#a9a49a;border-color:transparent;opacity:.75}
.cal-d.past{background:#f7f6f2;color:#c3bfb5;border-color:transparent;opacity:.6}
.cal-d.nofit{background:#fff;color:#c3bfb5;opacity:.5}
.cal-d.sel{background:var(--ink);color:#fff;border-color:var(--ink)}
.cal-legend{display:flex;gap:14px;margin-top:10px;font-size:10.5px;font-weight:700;color:var(--muted)}
.cal-legend span{display:flex;align-items:center;gap:5px}
.cal-legend .lg{width:11px;height:11px;border-radius:4px;display:inline-block}
.cal-legend .lg.busy{background:repeating-linear-gradient(45deg,#eceae4,#eceae4 3px,#e2e0d8 3px,#e2e0d8 6px)}
.cal-legend .lg.sel{background:var(--ink)}
.err-note{margin-top:10px;background:#fef4f4;border:1px solid rgba(226,59,59,.4);color:var(--danger);border-radius:10px;padding:9px 11px;font-size:12px;font-weight:800}
/* block card in workout */
.blk-card{border:2px solid var(--ink)!important}
.blk-list{margin:9px 0 0;padding-left:18px;display:grid;gap:3px}
.blk-list li{font-size:13px;font-weight:700;color:var(--ink2)}
.blk-res{margin-top:10px;display:flex;align-items:center;gap:7px;background:#eefaf2;border:1px solid rgba(26,162,87,.35);color:#0d6b38;border-radius:10px;padding:9px 11px;font-size:12.5px;font-weight:900}
/* fullscreen block timer */
.bt-screen{position:fixed;inset:0;z-index:120;background:radial-gradient(120% 90% at 50% 0%,#1c1710 0%,#0a0906 70%);color:#fff;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top) + 18px) 18px calc(env(safe-area-inset-bottom) + 22px);overflow:auto;isolation:isolate}
.bt-screen.rest{background:radial-gradient(120% 90% at 50% 0%,#123a2c 0%,#081f17 72%)}
.bt-bg{position:absolute;inset:0;z-index:-1;background-image:url('data:image/png;base64,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');background-size:96px;background-repeat:repeat;opacity:.06;pointer-events:none}
.bt-top{width:100%;max-width:440px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.bt-title{font-family:var(--display);text-transform:uppercase;font-size:15px;letter-spacing:.05em;opacity:.85;line-height:1.1}
.bt-ico{background:rgba(255,255,255,.1);border-radius:13px;width:44px;height:44px;display:grid;place-items:center;color:#fff}
.bt-ico svg{width:22px;height:22px}
.bt-roundtag{margin-top:20px;text-align:center;display:grid;gap:2px}
.bt-roundtag span{font-size:10px;font-weight:900;letter-spacing:.16em;color:var(--gold);opacity:.9}
.bt-roundtag b{font-family:var(--display);font-size:clamp(30px,10vw,52px);line-height:.9;letter-spacing:.01em}
.bt-roundtag .bt-of{font-size:.5em;opacity:.5;font-family:var(--body);font-weight:800}
.bt-ring-wrap{position:relative;width:min(72vw,300px);aspect-ratio:1;margin:14px 0 4px;display:grid;place-items:center}
.bt-ring-svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.bt-track{fill:none;stroke:rgba(255,255,255,.08);stroke-width:12}
.bt-prog{fill:none;stroke:var(--gold);stroke-width:12;stroke-linecap:round;transition:stroke-dashoffset .96s linear;filter:drop-shadow(0 0 10px rgba(245,179,0,.45))}
.bt-screen.rest .bt-prog{stroke:#3dd69a;filter:drop-shadow(0 0 10px rgba(61,214,154,.4))}
.bt-ring-mid{position:relative;z-index:1;display:grid;place-items:center;gap:5px}
.bt-num{font-family:var(--display);font-size:min(19vw,74px);letter-spacing:.01em;font-variant-numeric:tabular-nums;line-height:.9}
.bt-phase{font-size:11px;font-weight:900;letter-spacing:.16em;color:var(--gold)}
.bt-phase.rest{color:#3dd69a}
.bt-now{margin-top:18px;text-align:center;display:grid;gap:4px}
.bt-now span{font-size:9.5px;font-weight:900;letter-spacing:.16em;opacity:.5}
.bt-now b{font-family:var(--display);text-transform:uppercase;font-size:clamp(21px,6.4vw,32px);line-height:1.08}
.bt-next{margin-top:10px;font-size:11.5px;font-weight:800;letter-spacing:.05em;opacity:.6;text-transform:uppercase;text-align:center}
.bt-next span{color:var(--gold);opacity:.85;margin-right:4px}
.bt-lap{margin-top:18px;max-width:360px;display:flex;align-items:center;justify-content:center;gap:8px}
.bt-lap svg{width:20px;height:20px}
.bt-ctrls{margin-top:auto;padding-top:24px;display:flex;gap:16px}
.bt-btn{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08)}
.bt-btn svg{width:26px;height:26px}
.bt-btn.primary{background:var(--gold);color:#151108;border:0}
.bt-btn:active{transform:scale(.94)}
.seq-badge.blk{background:var(--ink);color:#fff;border-color:var(--ink)}
.blk-tag{display:inline-block;font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:5px;padding:2px 5px;vertical-align:middle;margin-right:2px}
.tman{display:flex;align-items:flex-end;justify-content:center;gap:10px;margin-top:6px}
.tman-f{display:grid;gap:5px}
.tman-f label{font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.tman-f input{width:104px;text-align:center;font-size:30px;font-weight:900;font-variant-numeric:tabular-nums;padding:12px 6px}
.tman-sep{font-size:30px;font-weight:900;padding-bottom:10px}
.lower-note{font-size:9px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);background:var(--bg2);border:1px solid var(--line);border-radius:99px;padding:3px 8px}
.time-cell{border:1px solid var(--line2);background:var(--bg2);border-radius:10px;padding:11px 6px;font-weight:900;font-size:15px;color:var(--muted);text-align:center;font-variant-numeric:tabular-nums}
.time-cell.set{color:var(--ink);background:#fff;border-color:var(--ink)}
.gsel{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:11px}
.gsel-lab{font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 0 6px}
.ex-goal{display:flex;align-items:center;gap:7px;margin-top:8px;background:#fff8e6;border:1px solid rgba(255,193,7,.4);color:var(--goldink);border-radius:10px;padding:8px 10px;font-size:12.5px;font-weight:800}
.txt-open{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:left;background:#fff;border:1px solid var(--line2);border-radius:14px;padding:12px 13px;color:var(--ink)}
.txt-open span{display:flex;flex-direction:column;gap:2px;min-width:0}
.txt-open b{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.txt-open i{font-style:normal;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.desc-area{width:100%;min-height:46vh;border:1px solid var(--line2);border-radius:14px;padding:14px;font:inherit;font-size:16px;line-height:1.55;background:#fff;color:var(--ink);resize:vertical}
.desc-area:focus{outline:none;border-color:var(--ink)}
.field label .opt{font-weight:700;color:var(--muted);text-transform:none;letter-spacing:0;font-size:10px}
.code-guide{margin-top:14px;background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:13px}
.cg-title{font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
.cg-row{display:flex;gap:11px;align-items:flex-start;margin-bottom:10px}
.cg-badge{width:32px;height:32px;flex:0 0 auto;border-radius:9px;background:var(--gold);color:#1a1404;font-family:var(--display);font-size:16px;display:grid;place-items:center}
.cg-row div{display:flex;flex-direction:column;gap:1px}
.cg-row b{font-size:13px;font-weight:900}
.cg-row span{font-size:11.5px;color:var(--muted);line-height:1.4}
.cg-note{font-size:11.5px;color:var(--ink2);line-height:1.45;padding-top:9px;border-top:1px solid var(--line)}
.cg-note b{color:var(--ink)}
.cg-note.super b{color:var(--teal)}
.pp-wrap{margin-top:2px}
.pp-cap{font-size:11px;color:var(--muted);font-weight:700;margin-bottom:7px}
.pp-circles{display:flex;flex-wrap:wrap;gap:8px}
.pp-dot{width:38px;height:38px;border-radius:50%;border:2px solid var(--gold);background:#fff8e6;color:var(--goldink);font-weight:900;font-size:14px;display:grid;place-items:center;transition:transform .08s}
.pp-dot:active{transform:scale(.9)}
.pp-dot:hover{background:var(--gold);color:#1a1404}
/* planner week board (horizontal swipe) */
.pl-board{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 2px 12px;margin:0 -2px}
.pl-board::-webkit-scrollbar{height:6px}
.pl-board::-webkit-scrollbar-thumb{background:var(--line2);border-radius:99px}
.pl-week{flex:0 0 82%;max-width:340px;scroll-snap-align:start;background:var(--bg2);border:1px solid var(--line);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.pl-week-head{display:flex;flex-direction:column;gap:1px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line)}
.pl-week-head b{font-family:var(--display);text-transform:uppercase;font-size:16px;letter-spacing:.02em}
.pl-week-head span{font-size:11px;color:var(--muted);font-weight:700}
.pl-week-body{padding:11px;display:flex;flex-direction:column;gap:9px}
.pl-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 11px}
.pl-item-name{font-weight:900;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-empty{padding:14px 4px;font-size:12.5px;text-align:center}
.cw-item{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 11px;width:100%;text-align:left}
.cw-sub{font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:4px 0 2px}
.pl-add{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;border:1.5px dashed var(--line2);background:#fff;border-radius:12px;padding:12px;font-weight:800;color:var(--ink);font-size:13px}
.pl-add:active{background:var(--bg2)}
.round-btn.sm{width:34px;height:34px;flex:0 0 auto}
.pc-personal .ribbon{background:#ece2fb;color:var(--purple)}
.pc-own{background:#fff;border-style:dashed;border-color:var(--line2)}
.pc-own .ribbon{background:var(--bg2);color:var(--ink2)}
.pc-program{background:linear-gradient(150deg,#ffce28,#f5b300 72%,#e0a200);color:#1a1404;border:0}
.pc-program .ribbon{background:rgba(20,16,4,.14);color:#1a1404}
.pc-program:after{content:"";position:absolute;right:-60px;top:-60px;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.22)}
.pc-head{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;position:relative;z-index:1;padding-right:88px}
.pc-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:var(--bg2);border:1px solid var(--line2);flex:0 0 auto}
.pc-personal .pc-icon{background:#ece2fb;border-color:rgba(123,84,214,.3);color:var(--purple)}
.pc-program .pc-icon{background:rgba(20,16,4,.1);border-color:rgba(20,16,4,.16);color:#1a1404}
.pc-kicker{font-size:10.5px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;opacity:.72}
.pc-title{font-family:var(--display);font-weight:400;text-transform:uppercase;line-height:.9;letter-spacing:.01em;font-size:clamp(25px,6vw,40px);margin:2px 0 0}
.pc-sub{font-size:12px;font-weight:700;opacity:.72;margin-top:3px}
.week-box{margin-top:13px;border-radius:16px;border:1px solid var(--line);background:var(--bg2);padding:11px;position:relative;z-index:1}
.pc-program .week-box{background:rgba(255,255,255,.34);border-color:rgba(20,16,4,.12)}
.week-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.week-name{font-size:14px;font-weight:900}
.week-sub{font-size:10.5px;opacity:.7;font-weight:700}
.wk-arrows{display:flex;gap:6px}
.wk-arrows button{width:30px;height:30px;border-radius:9px;border:1px solid var(--line2);display:grid;place-items:center;background:#fff;color:var(--ink)}
.pc-program .wk-arrows button{background:rgba(255,255,255,.5);border-color:rgba(20,16,4,.18);color:#1a1404}
.rtile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.rtile{border:1px solid var(--line2);background:#fff;border-radius:14px;padding:10px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;text-align:left;min-height:62px}
.pc-program .rtile{background:rgba(255,255,255,.6);border-color:rgba(20,16,4,.14);color:#1a1404}
.rtile .day{font-size:9.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;opacity:.6}
.rtile .rname{font-size:12.5px;font-weight:800;line-height:1.1;margin-top:2px}
.rtile .dur{font-size:10px;opacity:.62;margin-top:2px;font-weight:700}
.rtile .go{width:30px;height:30px;border-radius:50%;border:2px solid currentColor;display:grid;place-items:center;flex:0 0 auto}
.rtile.add{border-style:dashed;justify-content:center;color:inherit;opacity:.8}
/* swipeable carousel */
.carousel{position:relative;z-index:1}
.track{display:grid;grid-auto-flow:column;grid-auto-columns:100%;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.track::-webkit-scrollbar{display:none}
.track>*{scroll-snap-align:center}
.dots{display:flex;gap:7px;justify-content:center;margin-top:10px}
.dots span{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.26}
.dots span.on{opacity:1}
.calis-row{display:flex;gap:8px;align-items:center;margin-top:11px;position:relative;z-index:1}
.calis-row select{max-width:220px;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1.5 1.8l4.5 4 4.5-4' stroke='%2315120b' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:12px 8px;border:1px solid rgba(20,16,4,.28);color:#15120b;font-weight:800}
.calis-row span{font-size:11px;font-weight:800;color:rgba(26,20,4,.7)}
.start-empty{width:100%;border:1.6px solid var(--ink);color:var(--ink);background:#fff;border-radius:16px;padding:15px;font-family:var(--display);font-size:21px;letter-spacing:.02em;text-transform:uppercase;font-weight:400}
.consigue-btn{width:100%;border:1.6px dashed var(--purple);color:var(--purple);background:#faf7ff;border-radius:14px;padding:14px;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.03em}

/* ===== fullscreen pages ===== */
.fullscreen{min-height:100dvh;padding:18px 22px 96px;width:min(960px,100%);margin:0 auto}
.fs-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:18px}
.back-btn{display:inline-flex;align-items:center;gap:6px;color:var(--ink);font-weight:900;padding:8px 0}
.fs-title{text-align:center;font-family:var(--display);text-transform:uppercase;line-height:.95;font-size:clamp(22px,5vw,34px);letter-spacing:.02em}
.fs-actions{display:flex;gap:8px;justify-content:flex-end}
.fs-panel{border-top:1px solid var(--line);padding-top:18px}

/* routine overview sequence */
.seq{display:grid;gap:0}
.seq-row{display:grid;grid-template-columns:60px 1fr auto;gap:14px;position:relative;padding:0 0 20px;align-items:start}
.seq-row:before{content:"";position:absolute;left:29px;top:46px;bottom:-2px;width:2px;background:var(--teal);opacity:0}
.seq-row.connect:before{opacity:.7}
.seq-row.drag{grid-template-columns:30px 52px 1fr auto;gap:12px;touch-action:pan-y}
.seq-row.drag:before{left:67px}
.seq-row.lift{z-index:20;opacity:.96;filter:drop-shadow(0 10px 18px rgba(20,17,8,.18))}
.seq-grip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:grab;color:var(--muted);padding-top:14px;touch-action:none}
.seq-grip:active{cursor:grabbing}
.grip-dots{display:grid;place-items:center}
.grip-arrow{width:24px;height:20px;display:grid;place-items:center;color:var(--muted);border-radius:6px}
.grip-arrow:disabled{opacity:.28}
.seq-actions{display:flex;gap:6px;flex-direction:column;padding-top:6px}
.seq-badge{width:52px;height:52px;border-radius:50%;border:2px solid var(--teal);color:var(--teal);display:grid;place-items:center;font-weight:900;background:#e2f5f0;z-index:1;font-size:17px}
.seq-name{font-size:16px;font-weight:900;margin:5px 0 6px}
.seq-desc{font-size:13px;line-height:1.4;color:var(--ink2);max-width:620px}
.seq-meta{margin-top:7px;color:var(--muted);font-size:12px;font-weight:700}
.seq-vid{color:var(--teal);margin-top:6px}

/* ===== active workout ===== */
.workout-top{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);margin:-18px -22px 18px;padding:14px 22px}
.wt-clock{display:inline-flex;align-items:center;gap:8px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);padding:9px 12px;font-weight:900}
.active-ex{border-top:1px solid var(--line);padding-top:16px}
.active-head{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start}
.active-name{font-size:17px;font-weight:900;color:var(--ink);cursor:pointer;display:flex;align-items:center;gap:5px}
.active-name .ico{color:var(--muted)}
.active-desc{color:var(--muted);line-height:1.4;margin-top:5px;font-size:13px}
.rec-box,.range-box{border-radius:12px;padding:8px 11px;min-height:50px;display:grid;align-content:center;box-sizing:border-box}
.rec-box{background:#fff8e1;border:1px solid rgba(255,193,7,.4)}
.rec-box b{font-size:17px;line-height:1;color:var(--ink)}.rec-box.tap{cursor:pointer}
.rec-box span,.range-box span{display:block;font-size:9px;color:var(--muted);text-transform:uppercase;font-weight:900;letter-spacing:.04em;margin-top:3px;white-space:nowrap}
.range-box{background:#fff;border:1px solid var(--line2)}
.range-box b{font-size:13.5px;line-height:1.05;white-space:nowrap;color:var(--ink)}
.last-line{margin-top:8px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;color:var(--muted);font-size:12px;line-height:1.4}
.last-line b{color:var(--ink2)}
.set-row{display:grid;grid-template-columns:24px repeat(var(--cols,4),minmax(0,1fr)) 36px 28px;gap:6px;align-items:center;min-height:48px;border-bottom:1px solid var(--line)}
.set-row.head{min-height:30px;color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid var(--line2)}
.set-row .sn{font-weight:900;color:var(--muted);text-align:center}
.set-row input{padding:10px 4px;text-align:center;border-radius:10px;background:var(--bg2);border:1px solid var(--line);font-weight:800;font-size:16px}
.rpe-chip{height:42px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);display:grid;place-items:center;font-weight:900;font-size:12px;position:relative;overflow:hidden;color:var(--muted)}
.rpe-chip .bar{position:absolute;left:6px;right:6px;top:6px;height:4px;border-radius:999px;background:linear-gradient(90deg,#1fc46b,#9bd119,#ffc107,#ff8e2b,#ee3b3b);opacity:.95}
.rpe-chip b{position:relative;z-index:1;color:var(--ink);margin-top:6px}
.rpe-chip.set{color:var(--ink)}
.check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#fff;border:1.5px solid var(--line2);color:var(--muted);justify-self:center}
.check.done{background:var(--ok);border-color:var(--ok);color:#fff}
.del-set{width:28px;height:28px;border-radius:8px;color:var(--danger);justify-self:center}
.add-row{display:flex;gap:9px;margin-top:11px;flex-wrap:wrap}
.rest-pill{position:fixed;right:14px;bottom:84px;z-index:60;display:none;align-items:center;gap:9px;border-radius:999px;background:var(--ink);color:#fff;border:0;padding:9px 13px;box-shadow:var(--shadow2);font-weight:900}
.rest-pill.show{display:flex}
.rest-pill .round-btn{width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.16);border:0;color:#fff;font-size:11px;font-weight:900}
.rest-dot{width:30px;height:30px;border-radius:50%;background:conic-gradient(var(--gold) var(--p,0%),rgba(255,255,255,.22) 0);display:grid;place-items:center}
.rest-dot:after{content:"";width:22px;height:22px;border-radius:50%;background:var(--ink)}
.rest-others{background:rgba(255,255,255,.22);border-radius:999px;padding:2px 7px;font-size:11px;font-weight:900}
.toast-stack{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 74px);z-index:80;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;display:flex;align-items:center;gap:10px;background:var(--ink);color:#fff;border-radius:14px;padding:11px 12px;box-shadow:var(--shadow2);font-weight:800;font-size:13px;animation:toastin .22s ease}
.toast-ico{font-size:17px}
.toast span:nth-child(2){flex:1}
.toast-x{width:30px;height:30px;border-radius:9px;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;flex:0 0 auto}
@keyframes toastin{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}

/* ===== planner / add routine / editor ===== */
.sched-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:13px;box-shadow:var(--shadow)}
.sched-card.prog{border-color:rgba(255,193,7,.4);background:#fff8e1}
.day-chip{border:1px solid var(--line2);border-radius:999px;padding:5px 9px;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase}
.day-chip.free{color:var(--teal);border-color:rgba(21,158,131,.4)}
.create-orb{width:46px;height:46px;border-radius:14px;border:1.6px dashed var(--gold);color:var(--goldink);display:grid;place-items:center;flex:0 0 auto;background:#fff8e1}
.editor-media{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff}
.editor-cover{width:54px;height:54px;border-radius:12px;background:var(--bg2);border:1px solid var(--line2);display:grid;place-items:center;color:var(--muted);overflow:hidden}
.editor-cover img{width:100%;height:100%;object-fit:cover}

/* add exercise — COMPACT */
.code-row{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:center}
.code-orb{width:54px;height:54px;border-radius:50%;border:1px solid var(--line2);background:#fff8e1;color:var(--goldink);display:grid;place-items:center;font-weight:900;font-size:20px;flex:0 0 auto}
.triple{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.triple .field label{font-size:9.5px}
.guide{margin-top:6px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg2);font-size:11.5px;color:var(--muted);line-height:1.4}
.guide b{color:var(--goldink)}
.metric-fields{display:flex;gap:9px;flex-wrap:wrap;margin-top:6px}
.metric-fields .field{width:92px;flex:0 0 auto}
.metric-fields input,.metric-fields select{text-align:center;font-weight:800}

/* schedule screen */
.period-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.period-grid button{border:1px solid var(--line2);background:#fff;border-radius:13px;padding:13px 6px;font-weight:900;color:var(--muted);font-size:13px}
.period-grid button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.daypick{display:flex;gap:7px;flex-wrap:wrap}
.daypick .d{width:44px;height:44px;border-radius:12px;border:1px solid var(--line2);display:grid;place-items:center;font-weight:900;color:var(--muted);font-size:12px;background:#fff}
.daypick .d.on{background:var(--ink);border-color:var(--ink);color:#fff}
.daypick .d.free{width:auto;padding:0 14px;color:var(--teal);border-color:rgba(21,158,131,.4)}
.daypick .d.free.on{background:var(--teal);border-color:var(--teal);color:#fff}

/* ===== exercises list + detail ===== */
.ex-list{display:grid;gap:8px}
.ex-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;text-align:left;border:1px solid var(--line);background:#fff;border-radius:14px;padding:13px;width:100%;box-shadow:var(--shadow)}
.ex-row:hover{border-color:var(--gold)}
.ex-row.unreg{opacity:.6}
.ex-row .ex-name{font-weight:900}
.ex-row .ex-meta{font-size:12px;color:var(--muted);margin-top:3px}
.detail-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px;margin-top:14px;box-shadow:var(--shadow)}
.last-table{width:100%;border-collapse:collapse;margin-top:8px}
.last-table th,.last-table td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left}
.last-table th{color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.05em;font-weight:900}
.best-val{color:var(--goldink);font-weight:900}
.rr-box{border:1px solid var(--line2);border-radius:8px;padding:3px 7px;font-size:11px;font-weight:800;color:var(--muted);min-width:34px;text-align:center;display:inline-block}
.hist-block{border-bottom:1px solid var(--line);padding:11px 0;cursor:pointer}
.hist-routine{border:2px solid var(--gold);border-radius:16px;background:#fffdf5;margin:10px 0;overflow:hidden;box-shadow:var(--shadow)}
.hist-routine.open{box-shadow:var(--shadow2)}
.hist-routine-head{width:100%;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;text-align:left;padding:13px 14px}
.rt-tag{display:inline-block;font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#15120b;background:var(--gold);border-radius:6px;padding:3px 8px}
.hist-routine-body{border-top:1px solid var(--line);padding:6px 14px 10px}
.hist-ex-line{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}
.hist-ex-line:last-child{border-bottom:0}
.hist-ex-line .best-val{font-weight:900}
.hist-head{display:flex;justify-content:space-between;gap:8px;align-items:center}
.hist-date{font-weight:900}
.week-divider{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em;color:var(--goldink);margin:14px 0 4px}
.range-switch{display:flex;gap:7px;flex-wrap:wrap;margin:10px 0}
.range-switch button{border:1px solid var(--line2);background:#fff;border-radius:999px;padding:7px 12px;font-size:12px;font-weight:900;color:var(--muted)}
.range-switch button.active{background:var(--ink);border-color:var(--ink);color:#fff}
.chart-wrap{margin-top:10px;border:1px solid var(--line);border-radius:16px;padding:12px;position:relative;background:#fff}
.chart-svg{width:100%;display:block;overflow:visible}
.point-pop{position:absolute;z-index:5;background:var(--ink);color:#fff;border:0;border-radius:12px;padding:9px 11px;box-shadow:var(--shadow2);pointer-events:none;min-width:118px}
.point-pop .pp-date{font-size:10px;color:rgba(255,255,255,.7);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.point-pop .pp-best{color:var(--gold);font-weight:900;font-size:15px;margin-top:2px}
.point-pop .pp-sub{font-size:11px;color:rgba(255,255,255,.78);margin-top:2px}

/* calculator */
.calc-tabs{display:flex;gap:8px;margin-bottom:12px}
.calc-out{font-family:var(--display);font-size:34px;color:var(--ink);line-height:1;margin-top:6px}
.calc-range{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px}
.calc-cell{border:1px solid var(--line2);border-radius:12px;padding:9px 4px;text-align:center}
.calc-cell .rpe{font-size:9.5px;color:var(--muted);font-weight:900;text-transform:uppercase}
.calc-cell .kg{font-weight:900;font-size:15px;margin-top:3px}
.calc-cell.best{border-color:var(--gold);background:#fff8e1}

/* ===== config ===== */
.profile-card{display:flex;align-items:center;gap:13px;border:1px solid var(--line);background:#fff;border-radius:18px;padding:14px;box-shadow:var(--shadow)}
.profile-card .avatar{width:62px;height:62px;font-size:18px}
.profile-name{font-family:var(--display);text-transform:uppercase;font-size:28px;line-height:.95;letter-spacing:.02em}
.phone-input{display:grid;grid-template-columns:auto 1fr;gap:8px}
.flag-box{display:flex;align-items:center;gap:6px;border:1px solid var(--line2);border-radius:12px;padding:0 12px;background:var(--bg2);font-weight:800;white-space:nowrap}
.setting-section{border:1px solid var(--line);background:#fff;border-radius:16px;padding:15px;margin-top:13px;box-shadow:var(--shadow)}
.setting-title{font-size:11px;color:var(--goldink);text-transform:uppercase;letter-spacing:.09em;font-weight:900;margin-bottom:10px}

/* ===== coach / admin ===== */
.crm-row{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:14px;padding:12px;text-align:left;width:100%;box-shadow:var(--shadow)}
.crm-row:hover{border-color:var(--gold)}
.crm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.mem-row{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;border:1px solid var(--line);border-radius:14px;padding:13px;background:#fff;box-shadow:var(--shadow)}
.mem-row.soon{border-color:rgba(226,59,59,.35);background:#fef4f4}
.mem-row.exp{border-color:rgba(226,59,59,.55);background:#fdecec}
.dleft{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 auto;font-size:14px;line-height:1;text-align:center}
.dleft.ok{background:#e3f6ea;border:1px solid rgba(26,168,74,.4);color:var(--ok)}
.dleft.warn{background:#fff8e1;border:1px solid rgba(255,193,7,.5);color:var(--goldink)}
.dleft.bad{background:#fdecec;border:1px solid rgba(226,59,59,.45);color:var(--danger)}
.dleft small{display:block;font-size:8px;opacity:.8;font-weight:700}
.wa-btn{display:inline-flex;align-items:center;gap:7px;background:#e3f6ea;border:1px solid rgba(31,170,82,.4);color:var(--wa);border-radius:12px;padding:9px 12px;font-weight:900;font-size:12.5px}
.meso-scroll{overflow-x:auto;scrollbar-width:none;border:1px solid var(--line);border-radius:16px}.meso-scroll::-webkit-scrollbar{display:none}
.meso-grid{display:grid;gap:0;min-width:max-content}
.meso-prog{padding:11px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);font-weight:900;display:flex;align-items:center;background:var(--bg2);position:sticky;left:0;z-index:1}
.meso-cell{padding:9px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);min-height:60px}
.meso-cell.head{font-size:11px;font-weight:900;text-transform:uppercase;color:var(--muted);min-height:auto;background:var(--bg2)}
.meso-mini{border:1px solid var(--line2);border-radius:9px;padding:6px 8px;font-size:11px;font-weight:800;margin-bottom:4px;background:#fff8e1;display:flex;justify-content:space-between;gap:6px;align-items:center}
.meso-mini button{color:var(--danger);flex:0 0 auto}

/* client tabs (coach multi-train) */
.session-bar{position:fixed;top:0;left:0;right:0;z-index:70;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:calc(env(safe-area-inset-top) + 6px) 12px 8px;box-shadow:0 4px 16px rgba(20,17,8,.06)}
.session-bar .sb-label{font-size:9.5px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:5px}
body.has-sessionbar #root{padding-top:74px}
body.has-sessionbar .main{padding-top:calc(env(safe-area-inset-top) + 12px)}
.wt-grab{width:38px;height:5px;border-radius:999px;background:var(--line2);margin:0 auto 8px}
.live-banner{width:100%;display:flex;align-items:center;gap:9px;justify-content:center;border:1px solid rgba(226,59,59,.4);background:#fef4f4;color:var(--ink);border-radius:14px;padding:12px;font-weight:800;font-size:13px}
.live-banner b{color:var(--danger)}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--danger);box-shadow:0 0 0 0 rgba(226,59,59,.5);animation:livep 1.4s infinite}
@keyframes livep{0%{box-shadow:0 0 0 0 rgba(226,59,59,.45)}70%{box-shadow:0 0 0 8px rgba(226,59,59,0)}100%{box-shadow:0 0 0 0 rgba(226,59,59,0)}}
.client-tabs{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px;margin-bottom:4px}
.client-tabs::-webkit-scrollbar{display:none}
.ctab{flex:0 0 auto;border:1px solid var(--line2);background:#fff;border-radius:999px;padding:8px 13px;font-weight:800;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:7px;white-space:nowrap}
.ctab.on{background:var(--ink);border-color:var(--ink);color:#fff}
.ctab .x{opacity:.6}

/* ===== modal ===== */
#modalRoot{position:relative;z-index:100}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,17,8,.42);backdrop-filter:blur(4px)}
.modal-card{position:relative;width:min(540px,100%);max-height:calc(100dvh - 32px);overflow:auto;background:#fff;border:1px solid var(--line);box-shadow:0 30px 80px rgba(20,17,8,.28);padding:20px;border-radius:22px}
.modal-head{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;margin-bottom:16px}
.modal-title{text-align:center;font-size:19px;font-weight:900}
/* rest preset circles */
.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:6px 0 4px;place-items:center}
.preset-circle{width:104px;max-width:28vw;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:18px;color:var(--ink);background:
  radial-gradient(circle,#fff 60%,transparent 61%),
  repeating-conic-gradient(var(--line2) 0deg 2deg,transparent 2deg 6deg);border:0;position:relative}
.preset-circle.gold{color:var(--goldink)}
.preset-circle span{font-size:13px}
/* rpe slider modal */
.rpe-track{height:18px;border-radius:999px;background:linear-gradient(90deg,#1fc46b,#9bd119,#ffc107,#ff8e2b,#ee3b3b);position:relative;margin:20px 4px 8px;cursor:pointer;touch-action:none}
.rpe-knob{position:absolute;top:50%;width:30px;height:30px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:var(--shadow2);transform:translate(-50%,-50%);cursor:grab}
.rpe-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-weight:800;padding:0 2px}
.rpe-readout{text-align:center;margin:14px 0;font-weight:900;font-size:17px}
/* apple-style rest wheel */
.wheel-wrap{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:0;margin:10px 0 16px;position:relative;height:180px}
.wheel-wrap.one{display:block}
.wheel-wrap.one .wheel{width:100%}
.wheel-wrap:before,.wheel-wrap:after{content:"";position:absolute;left:8px;right:8px;height:46px;pointer-events:none;z-index:2}
.wheel-wrap:before{top:0;background:linear-gradient(180deg,#fff,transparent)}
.wheel-wrap:after{bottom:0;background:linear-gradient(0deg,#fff,transparent)}
.wheel-sel{position:absolute;left:8px;right:8px;top:50%;height:46px;transform:translateY(-50%);border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);pointer-events:none;z-index:0;border-radius:10px;background:#fff8e1}
.wheel{position:relative;z-index:1;height:180px;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;text-align:center;-webkit-overflow-scrolling:touch}
.wheel::-webkit-scrollbar{display:none}
.wheel .pad{height:67px}
.wheel .it{height:46px;scroll-snap-align:center;display:grid;place-items:center;font-size:24px;font-weight:900;color:var(--ink);position:relative;z-index:1}
.wheel-lab{font-size:12px;font-weight:900;color:var(--muted);padding:0 4px}
/* countdown ring (big timer) */
.count-ring{width:240px;max-width:72vw;aspect-ratio:1;border-radius:50%;margin:18px auto;display:grid;place-items:center;background:conic-gradient(var(--gold) var(--p,100%),var(--bg2) 0);position:relative}
.count-ring:before{content:"";position:absolute;width:min(196px,60vw);aspect-ratio:1;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.count-ring b{position:relative;font-size:50px;letter-spacing:.03em;font-weight:900}
.timer-adjust{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:6px 0 16px}
.timer-adjust button{color:var(--goldink);font-weight:900;font-size:18px;border:1px solid var(--line2);border-radius:12px;padding:12px}
.detail-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:14px}
/* step list (consigue personalizada) */
.step{display:grid;grid-template-columns:30px 1fr;gap:11px;padding:9px 0;align-items:start}
.step .n{width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-weight:900;font-size:13px}
.step b{display:block;margin-bottom:2px}
.step span{color:var(--muted);font-size:13px;line-height:1.4}

@media (max-width:860px){
  .app{display:block}.side{display:none}.main{padding:calc(env(safe-area-inset-top) + 12px) 13px 86px}
  .mobile-nav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr}
  .user-grid{grid-template-columns:1fr}.tags{display:none}
  .form-grid{grid-template-columns:1fr}
  .crm-grid{grid-template-columns:1fr}
  .fullscreen{padding:16px 13px 92px}
  .workout-top{margin:-16px -13px 16px;padding:13px}
  .hero-space{min-height:calc(100svh - 150px)}
  .topbar .top-actions{gap:6px}
}
@media (max-width:460px){
  .rtile-grid{grid-template-columns:1fr 1fr}
  .period-grid{grid-template-columns:repeat(2,1fr)}
  .calc-range{grid-template-columns:repeat(5,1fr);gap:4px}
  .calc-cell .kg{font-size:13px}
  .metric-fields .field{width:84px}
}

/* ===== admin: pestañas y gestión ===== */
.seg-tabs{display:flex;gap:6px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:4px}
.seg-tabs .seg{flex:1;padding:9px 8px;border-radius:9px;font-weight:900;font-size:12.5px;color:var(--muted);background:transparent}
.seg-tabs .seg.on{background:var(--ink);color:#fff}
.tag-off{font-size:9px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;background:#fdecec;color:#a11;border:1px solid rgba(200,40,40,.3);border-radius:6px;padding:2px 6px}
.mng-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn.danger{color:#a11;border-color:rgba(200,40,40,.35)}
.btn.danger:active{background:#fdecec}
.lock-inline{display:flex;align-items:center;gap:8px;background:#fdecec;border:1px solid rgba(200,40,40,.28);color:#a11;border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:800}
.ok-inline{display:flex;align-items:center;gap:8px;background:#eefaf2;border:1px solid rgba(26,162,87,.3);color:#0d6b38;border-radius:12px;padding:10px 12px;font-size:12.5px;font-weight:800}
.qr-box{display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px}
.qr-box img{width:min(64vw,260px);height:auto;image-rendering:pixelated}
.filter-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ===== varios mesociclos a la vez ===== */
.meso-group{border-left:2px solid var(--gold);padding-left:10px;margin:0 0 14px}
.meso-group:last-child{margin-bottom:0}
.meso-tag b{color:var(--ink)}
.meso-pick-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 10px}

/* ===== barra "instalar en pantalla de inicio" ===== */
.a2hs{position:fixed;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 78px);z-index:130;
  display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:16px;
  background:rgba(20,17,8,.97);backdrop-filter:blur(12px);color:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.34);transform:translateY(130%);transition:transform .32s cubic-bezier(.22,1,.36,1)}
.a2hs.in{transform:translateY(0)}
.a2hs-ico{width:40px;height:40px;border-radius:11px;flex:0 0 auto}
.a2hs-txt{flex:1;min-width:0;display:grid;gap:2px}
.a2hs-txt b{font-size:13.5px;font-weight:900;letter-spacing:.01em}
.a2hs-txt span{font-size:11.5px;opacity:.75;line-height:1.35}
.a2hs-txt span b{opacity:1;color:var(--gold);font-weight:900}
.a2hs-btn{background:var(--gold);color:#151108;border-radius:11px;padding:9px 14px;font-weight:900;font-size:13px;flex:0 0 auto}
.a2hs-btn:active{transform:scale(.96)}
.a2hs-x{background:rgba(255,255,255,.12);color:#fff;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto}
.a2hs-x svg{width:15px;height:15px}
@media(min-width:861px){.a2hs{left:auto;right:20px;bottom:20px;max-width:390px}}


/* ===== Instrucciones de instalación (iOS / Safari) =====
   .cg-row / .cg-badge ya existen más arriba: aquí sólo lo nuevo. */
.ios-share{width:15px;height:15px;display:inline-block;vertical-align:-3px;margin:0 1px}
.cg-list{display:grid;gap:9px}
.cg-list .cg-row{margin-bottom:0;background:#faf8f3;border:1px solid #ece6d8;border-radius:12px;padding:11px 13px}
.a2hs-txt .ios-share{opacity:.9}

/* ===== Tarjeta de membresía en el perfil del cliente ===== */
.mem-self{margin-top:14px;border-radius:16px;padding:16px 18px;background:linear-gradient(135deg,#141108,#241d10);
  border:1px solid #33291a;color:#f4efe4;position:relative;overflow:hidden}
.mem-self.soon{background:linear-gradient(135deg,#3a2a08,#231a09);border-color:#5c440f}
.mem-self.expired{background:linear-gradient(135deg,#3a1310,#26110f);border-color:#6b2a1e}
.mem-self-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.mem-self-ttl{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#c9a24a}
.mem-self.soon .mem-self-ttl{color:#f0b64f}
.mem-self.expired .mem-self-ttl{color:#f0917e}
.mem-self-plan{font-size:12px;font-weight:700;color:#b8b2a4}
.mem-self-big{font-family:var(--display,'Anton',sans-serif);font-size:38px;line-height:1.05;color:#fff}
.mem-self-big small{font-family:inherit;font-size:16px;color:#b8b2a4;font-weight:400}
.mem-self-sub{margin:4px 0 0;font-size:13px;color:#cfc9bc;line-height:1.4}
.mem-self-wa{display:inline-flex;align-items:center;gap:7px;margin-top:13px;background:#25d366;color:#08240f;
  font-weight:800;font-size:14px;padding:11px 16px;border-radius:11px;text-decoration:none;width:100%;
  justify-content:center;box-sizing:border-box}
.mem-self-wa:active{background:#1eb455}
.mem-self-wa svg{width:17px;height:17px;stroke:#08240f;fill:none;stroke-width:1.6}
