/* VOLT v8 — community as an explore grid, coach packages with access, activation requests, studio, plan split,
   admin moderation, and the spacing/centering pass. Ember on graphite:
   bg #0E0F12 · card #17191D · raised #21242A · text #F4F5F7 / #B9BEC7 / #8E95A0 · accent #FF6B3D (ink #1A0B05)
   recovery #7CC7FF · done #C5E86C · warn #FFC24A. Loaded last. */
:root{--v8-card:#17191D;--v8-raised:#21242A;--v8-line:#ffffff14;--v8-line2:#ffffff24;--v8-t1:#F4F5F7;--v8-t2:#B9BEC7;--v8-t3:#8E95A0;
  --v8-acc:#FF6B3D;--v8-acc2:#FF9466;--v8-ink:#1A0B05;--v8-sky:#7CC7FF;--v8-done:#C5E86C;--v8-warn:#FFC24A;--v8-bad:#FF8A7A}

/* ---------- shared ---------- */
.btn.danger,.btn.secondary.danger{background:#ff8a7a1f!important;border:1px solid #ff8a7a66!important;color:#ffc2b8!important;box-shadow:none!important}
.btn.danger:hover{background:#ff8a7a33!important}
.btn .icon{width:18px;height:18px}
.cm-muted{color:var(--v8-t3)!important}
.cm-state{display:inline-flex;align-items:center;flex:0 0 auto;padding:5px 11px;border-radius:999px;font-size:12px;font-weight:700;line-height:1.5;white-space:nowrap;background:#ffffff10;color:var(--v8-t2);border:1px solid var(--v8-line2)}
.cm-state.wait{background:#ffc24a1a;color:var(--v8-warn);border-color:#ffc24a55}
.cm-state.ok{background:#c5e86c1a;color:var(--v8-done);border-color:#c5e86c55}
.cm-state.no{background:#ff8a7a1a;color:var(--v8-bad);border-color:#ff8a7a55}
.cm-seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:#0E0F12;border:1px solid var(--v8-line2);max-width:100%;overflow-x:auto;scrollbar-width:none}
.cm-seg::-webkit-scrollbar{display:none}
.cm-seg button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:0 15px;border:0;border-radius:999px;background:transparent;color:var(--v8-t2);font:inherit;font-size:13px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.cm-seg button .icon{width:17px;height:17px}
.cm-seg button.on{background:var(--v8-acc);color:var(--v8-ink)}
.cm-seg button:not(.on):hover{color:var(--v8-t1);background:#ffffff0d}

/* ---------- community: tabs, explore grid, lightbox ---------- */
.pro-community .pro-feed{gap:16px;min-width:0}
.cm-side{display:grid;gap:16px;align-content:start;min-width:0}
.pro-community .pro-rules{position:static}
.cm-tabs{display:flex;gap:6px;padding:5px;border-radius:18px;background:var(--v8-card);border:1px solid var(--v8-line);overflow-x:auto;scrollbar-width:none}
.cm-tabs::-webkit-scrollbar{display:none}
.cm-tabs button{flex:1 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 16px;border:0;border-radius:13px;background:transparent;color:var(--v8-t2);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.cm-tabs button .icon{width:19px;height:19px}
.cm-tabs button.on{background:var(--v8-raised);color:var(--v8-t1);box-shadow:inset 0 -2px 0 var(--v8-acc)}
.cm-tabs button em{font-style:normal;display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--v8-acc);color:var(--v8-ink);font-size:12px;line-height:1}
.cm-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;gap:8px}
.cm-tile{position:relative;display:block;aspect-ratio:1;width:100%;padding:0;border:0;border-radius:14px;overflow:hidden;background:var(--v8-raised);cursor:zoom-in;isolation:isolate}
/* explore rhythm: a large tile every six, alternating sides (start, then end) */
.cm-tile.big{grid-column:span 2;grid-row:span 2}
.cm-tile.big.end{grid-column:2/span 2}
.cm-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cm-tile-meta{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:18px;background:#0e0f1299;color:#fff;font-weight:800;font-size:15px;opacity:0;transition:opacity .2s}
.cm-tile-meta span{display:inline-flex;align-items:center;gap:6px;font-family:SportDigits,Yekan,sans-serif}
.cm-tile-meta .icon{width:20px;height:20px;stroke-width:2}
@media(hover:hover){.cm-tile:hover img{transform:scale(1.04)}.cm-tile:hover .cm-tile-meta,.cm-tile:focus-visible .cm-tile-meta{opacity:1}}
@media(hover:none){.cm-tile-meta{inset:auto auto 8px 8px;opacity:1;gap:8px;padding:4px 9px;border-radius:999px;font-size:12px;background:#0e0f12b3}.cm-tile-meta span:last-child{display:none}.cm-tile-meta .icon{width:14px;height:14px}}
.cm-tile:focus-visible{outline:3px solid var(--v8-acc);outline-offset:2px}
.cm-who{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--v8-raised);border:1px solid var(--v8-line2);color:var(--v8-t2)}
.cm-who img{width:100%;height:100%;object-fit:cover;display:block}
.cm-who .icon{width:20px;height:20px}
.cm-votes{display:flex;flex-wrap:wrap;gap:8px}
.cm-vote{display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--v8-line2);background:var(--v8-raised);color:var(--v8-t2);font:inherit;font-weight:700;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}
.cm-vote .icon{width:18px;height:18px}
.cm-vote b{font-family:SportDigits,Yekan,sans-serif;font-variant-numeric:tabular-nums;font-size:14px}
.cm-vote:hover{color:var(--v8-t1);border-color:#ffffff40}
.cm-vote:active{transform:scale(.96)}
.cm-vote.up.on{background:var(--v8-acc);border-color:var(--v8-acc);color:var(--v8-ink)}
.cm-vote.down.on{background:#7cc7ff1f;border-color:#7cc7ff80;color:var(--v8-sky)}
.cm-texts{display:grid;gap:14px}
.cm-text{display:grid;gap:12px;padding:20px;border-radius:22px;background:var(--v8-card);border:1px solid var(--v8-line)}
.cm-text header{display:flex;align-items:center;gap:10px;min-width:0}
.cm-text header small{flex:1;min-width:0;color:var(--v8-t3);font-size:12.5px}
.cm-text h3{font-size:17px;font-weight:800;line-height:1.7;color:var(--v8-t1)}
.cm-text p{white-space:pre-wrap;color:var(--v8-t2);line-height:2;overflow-wrap:anywhere}
.cm-own{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#ffffff10;color:var(--v8-t2);font-size:12px;font-weight:700}
.cm-light{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:24px;background:#050608b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:v8Fade .18s ease}
.cm-light-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 340px;width:min(1040px,100%);max-height:min(88vh,780px);border-radius:22px;overflow:hidden;background:var(--v8-card);border:1px solid var(--v8-line2);box-shadow:0 40px 90px #000c;animation:v8Rise .24s cubic-bezier(.2,.8,.2,1)}
.cm-light figure{margin:0;min-height:0;display:grid;place-items:center;background:#08090b}
.cm-light figure img{display:block;width:100%;height:100%;max-height:min(88vh,780px);object-fit:contain}
.cm-light-side{display:flex;flex-direction:column;gap:14px;min-height:0;overflow:auto;padding:22px 20px 20px}
.cm-light-side header{display:flex;align-items:center;gap:10px;padding-inline-end:44px}
.cm-light-side header small{flex:1;color:var(--v8-t3)}
.cm-light-side>p{flex:1;white-space:pre-wrap;line-height:2;color:var(--v8-t1);overflow-wrap:anywhere}
.cm-light-x{position:absolute;top:14px;inset-inline-end:14px;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border-radius:50%;background:#0e0f12d9;border:1px solid #ffffff2e;color:var(--v8-t1);cursor:pointer}
.cm-light-x .icon{width:20px;height:20px}
@keyframes v8Fade{from{opacity:0}}
@keyframes v8Rise{from{opacity:0;transform:translateY(14px) scale(.98)}}
@media(prefers-reduced-motion:reduce){.cm-light,.cm-light-card{animation:none}}
.cm-compose{display:grid;gap:14px}
.cm-compose-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.cm-compose-head h2{font-size:17px;font-weight:800}
.cm-compose form{display:grid;gap:12px}
.cm-compose textarea{min-height:92px}
.cm-compose .action-row{justify-content:stretch;margin:0}
.cm-compose .action-row .btn{flex:1}
.cm-drop{position:relative;display:grid;place-items:center;align-content:center;gap:6px;min-height:170px;padding:18px;border-radius:18px;border:1.5px dashed #ff6b3d66;background:#ff6b3d0a;color:var(--v8-t2);text-align:center;cursor:pointer;overflow:hidden;transition:border-color .2s,background .2s}
.cm-drop:hover{border-color:var(--v8-acc);background:#ff6b3d14}
.cm-drop>.icon{width:30px;height:30px;color:var(--v8-acc)}
.cm-drop b{color:var(--v8-t1);font-size:14px}
.cm-drop small{color:var(--v8-t3);font-size:12px}
.cm-drop input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.cm-drop.has{padding:0;border-style:solid;aspect-ratio:4/3;min-height:0}
.cm-drop.has img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cm-note{display:flex;align-items:flex-start;gap:8px;color:var(--v8-t3);font-size:12.5px;line-height:1.9}
.cm-note .icon{width:16px;height:16px;margin-top:4px;color:var(--v8-acc)}
.cm-mines{display:grid;gap:12px}
.cm-mine{display:flex;gap:14px;align-items:flex-start;padding:14px;border-radius:18px;background:var(--v8-card);border:1px solid var(--v8-line)}
.cm-mine>img{flex:0 0 96px;width:96px;height:96px;border-radius:12px;object-fit:cover}
.cm-mine>div{flex:1;min-width:0;display:grid;gap:6px;justify-items:start}
.cm-mine h3{font-size:15px;font-weight:800}
.cm-mine p{color:var(--v8-t2);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cm-mine small{color:var(--v8-t3);font-size:12px}

/* moderation */
.cm-mod-bar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}
.cm-mod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.cm-mod{display:flex;flex-direction:column;border-radius:20px;overflow:hidden;background:var(--v8-card);border:1px solid var(--v8-line)}
.cm-mod-pic{display:block;padding:0;border:0;aspect-ratio:4/3;background:#08090b;cursor:zoom-in}
.cm-mod-pic img{width:100%;height:100%;object-fit:cover;display:block}
.cm-mod-body{flex:1;display:flex;flex-direction:column;gap:10px;padding:16px}
.cm-mod-body header{display:flex;align-items:center;gap:10px;min-width:0}
.cm-mod-body header>div{flex:1;min-width:0;display:grid}
.cm-mod-body header b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-mod-body header small{color:var(--v8-t3);font-size:12px}
.cm-kind{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#7cc7ff1a;color:var(--v8-sky);font-size:12px;font-weight:700}
.cm-mod-body h3{font-size:15px;font-weight:800}
.cm-mod-body p{color:var(--v8-t2);line-height:1.9;white-space:pre-wrap;overflow-wrap:anywhere}
.cm-mod-meta{display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--v8-t3);font-size:13px}
.cm-mod-meta span{display:inline-flex;align-items:center;gap:5px}
.cm-mod-meta .icon{width:16px;height:16px}
.cm-flag{padding:3px 10px;border-radius:999px;background:#ff8a7a1f;color:var(--v8-bad)!important;font-weight:700}
.cm-mod .action-row{margin-top:auto;padding-top:4px}
.cm-mod-full{display:block;width:100%;max-height:72vh;object-fit:contain;border-radius:14px;background:#08090b}

/* admin: member photos */
.adm-photos{margin-top:18px}
.adm-photo-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;margin-top:12px}
.adm-photo{margin:0;display:grid;gap:10px;padding:12px;border-radius:16px;background:#ffffff06;border:1px solid var(--v8-line)}
.adm-photo img,.adm-photo-none{width:100%;aspect-ratio:16/9;border-radius:12px;object-fit:cover;display:grid;place-items:center;background:var(--v8-raised);color:var(--v8-t3)}
.adm-photo.slot-avatar img,.adm-photo.slot-avatar .adm-photo-none{width:120px;height:120px;aspect-ratio:1;border-radius:50%;justify-self:center}
.adm-photo-none .icon{width:30px;height:30px}
.adm-photo figcaption{display:flex;align-items:center;justify-content:space-between;gap:10px}
.adm-photo figcaption small{color:var(--v8-t3)}
.adm-photo figcaption .btn{width:auto;min-height:38px;padding:0 14px}

/* ---------- coach packages ---------- */
.pk-page{gap:18px}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;align-items:stretch}
.pk-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;border-radius:22px;background:linear-gradient(160deg,#ffffff0a,#ffffff02 55%),var(--v8-card);border:1px solid var(--v8-line);box-shadow:0 18px 40px -26px #000c}
.pk-card.is-held{border-color:#ff6b3d59;box-shadow:0 0 0 1px #ff6b3d26,0 18px 40px -26px #000c}
.pk-top{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.pk-kind{display:inline-flex;align-items:center;gap:7px;min-width:0;color:var(--v8-acc2);font-size:12.5px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk-kind .icon{width:16px;height:16px}
.pk-days{flex:0 0 auto;padding:4px 10px;border-radius:999px;background:#ffffff10;color:var(--v8-t2);font-size:12px;font-weight:700;white-space:nowrap}
.pk-days.free{background:#c5e86c1a;color:var(--v8-done)}
.pk-card h3{font-size:18px;font-weight:800;line-height:1.6;color:var(--v8-t1)}
.pk-desc{color:var(--v8-t2);line-height:1.9;font-size:13.5px}
.pk-access{display:grid;gap:8px;margin:2px 0 0;padding:12px;list-style:none;border-radius:16px;background:#0E0F12;border:1px solid var(--v8-line)}
.pk-access li{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:700;color:var(--v8-t1)}
.pk-access li>.icon{width:17px;height:17px;color:var(--v8-t2)}
.pk-access li.off{color:var(--v8-t3);font-weight:500}
.pk-access li.off>span:not(.pk-dot){text-decoration:line-through;text-decoration-color:#8e95a088}
.pk-dot{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:var(--v8-acc);color:var(--v8-ink)}
.pk-dot .icon{width:13px;height:13px;stroke-width:2.6}
.pk-access li.off .pk-dot{background:#ffffff10;color:var(--v8-t3)}
.pk-features{display:grid;gap:6px;margin:0;padding:0;list-style:none}
.pk-features li{position:relative;padding-inline-start:16px;color:var(--v8-t2);font-size:13px;line-height:1.8}
.pk-features li::before{content:"";position:absolute;inset-inline-start:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--v8-acc)}
.pk-foot{margin-top:auto;display:grid;gap:12px;padding-top:14px;border-top:1px solid var(--v8-line)}
.pk-price{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px}
.pk-price strong{font-size:24px;font-weight:800;color:var(--v8-t1)}
.pk-price small{color:var(--v8-t3);font-size:12.5px}
.pk-actions{display:grid;gap:8px}
.pk-actions .btn{width:100%;min-height:46px;margin:0}
.pk-state{display:flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 12px;border-radius:12px;background:#ffffff0a;color:var(--v8-t2);font-size:13px;font-weight:700;text-align:center}
.pk-state .icon{width:17px;height:17px}
.pk-state.ok{background:#c5e86c14;color:var(--v8-done)}
.pk-state.wait{background:#ffc24a14;color:var(--v8-warn)}
.pk-sub{color:var(--v8-t3);font-size:12.5px}
.pk-coach{display:grid;gap:14px}
.pk-coach-id{display:flex;align-items:center;gap:16px;min-width:0}
.pk-coach-id>div{flex:1;min-width:0}
.pk-coach-id h1{font-size:clamp(22px,3vw,30px);font-weight:900;line-height:1.4}
.pk-coach-id p{color:var(--v8-t2)}
.pk-coach-id .pro-avatar{flex:0 0 auto}
.pk-back{width:auto!important;flex:0 0 auto}
.pk-bio{color:var(--v8-t2);line-height:2;white-space:pre-wrap}
.pk-link{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:#0E0F12;border:1px solid var(--v8-line2)}
.pk-link>div{flex:1;min-width:0;display:grid;gap:3px}
.pk-link b{font-size:14.5px;color:var(--v8-t1)}
.pk-link small{color:var(--v8-t2);font-size:12.5px;line-height:1.8}
.pk-link .btn{width:auto;flex:0 0 auto;padding:0 20px}
.pk-link-ic{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border-radius:50%;background:#ff6b3d1f;color:var(--v8-acc)}
.pk-link-ic .icon{width:21px;height:21px}
.pk-link.ok{border-color:#c5e86c55}
.pk-link.ok .pk-link-ic{background:#c5e86c1f;color:var(--v8-done)}
.pk-code{font-family:SportDigits,ui-monospace,Menlo,monospace;letter-spacing:.06em;color:var(--v8-acc2)}
.pk-codebox{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;padding:12px 14px;border-radius:14px;background:#0E0F12;border:1px dashed #ff6b3d59}
.pk-codebox small{color:var(--v8-t3);font-size:12px;width:100%}
.pk-codebox b{flex:1;font-size:18px}
.pk-codebox .btn{width:auto;min-height:36px;padding:0 14px}
.pk-codebox.big{display:grid;gap:8px;align-content:start;flex-wrap:nowrap}
.pk-codebox.big b{font-size:24px}
.pk-codebox.big span{color:var(--v8-t2);font-size:12.5px;line-height:1.8}
.pk-codebox.big .action-row{margin:2px 0 0;gap:8px}
.pk-codebox.big .action-row .btn{flex:1}
.pk-requests h2{font-size:17px;margin-bottom:10px}
.pk-requests ul,.st-list ul,.st-recent{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.pk-requests li,.st-list li,.st-recent li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:14px;background:#ffffff06;border:1px solid var(--v8-line)}
.pk-requests li>div,.st-list li>div{flex:1;min-width:0;display:grid;gap:2px}
.pk-requests li small,.st-list li small{color:var(--v8-t3);font-size:12px}
.st-list li .btn{width:auto;flex:0 0 auto;min-height:38px;padding:0 14px}
.st-recent{margin-top:12px}
.st-recent li{justify-content:space-between;font-size:13px;color:var(--v8-t2)}
.pk-ask{color:var(--v8-t2);line-height:1.9;margin-bottom:12px}
.pk-free{display:flex;gap:18px;align-items:flex-start}
.pk-free>div{flex:1;min-width:0;display:grid;gap:12px}
.pk-free h2{font-size:20px}
.pk-free p{color:var(--v8-t2);line-height:2}
.pk-free-mark{display:grid;place-items:center;flex:0 0 56px;width:56px;height:56px;border-radius:50%;background:var(--v8-acc);color:var(--v8-ink)}
.pk-free-mark .icon{width:26px;height:26px}
.pk-paid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0;padding:0;list-style:none}
.pk-paid li{display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;background:#0E0F12;border:1px solid var(--v8-line)}
.pk-paid li>.icon{color:var(--v8-acc);width:22px;height:22px}
.pk-paid li div{display:grid}
.pk-paid small{color:var(--v8-t3)}
.pk-fieldset{display:grid;gap:10px;margin:4px 0 12px;padding:14px;border-radius:16px;border:1px solid var(--v8-line2);background:#0E0F12}
.pk-fieldset legend{padding:0 6px;font-weight:800;color:var(--v8-t1)}
.pk-fieldset p.review-note{margin:0}
.pk-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.pk-check{position:relative;display:flex!important;align-items:center;gap:9px;min-height:50px;padding:0 14px;border-radius:14px;background:var(--v8-raised);border:1px solid var(--v8-line2);cursor:pointer;transition:border-color .2s,background .2s}
.pk-check input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.pk-check>.icon{width:18px;height:18px;color:var(--v8-t2)}
.pk-check b{font-size:13.5px;color:var(--v8-t1)}
.pk-box{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:7px;border:1.5px solid #ffffff4d;color:transparent;transition:background .15s,border-color .15s,color .15s}
.pk-box .icon{width:14px;height:14px;stroke-width:2.8}
.pk-check:has(input:checked){border-color:#ff6b3d99;background:#ff6b3d14}
.pk-check:has(input:checked) .pk-box{background:var(--v8-acc);border-color:var(--v8-acc);color:var(--v8-ink)}
.pk-check:has(input:focus-visible){outline:3px solid var(--v8-acc);outline-offset:2px}
.live-fieldset.pk-fieldset .live-check{min-height:44px}

/* studio */
.st-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);gap:20px;align-items:center}
.st-title{display:grid;gap:8px;justify-items:start}
.st-title h1{font-size:clamp(24px,3vw,32px);font-weight:900}
.st-title p{color:var(--v8-t2);line-height:1.9}
.st-inbox .pro-head{margin-bottom:12px}
.st-count{font-style:normal;display:inline-grid;place-items:center;min-width:24px;height:24px;margin-inline-start:6px;padding:0 7px;border-radius:999px;background:var(--v8-acc);color:var(--v8-ink);font-size:13px;vertical-align:middle}
.pk-reqs{display:grid;gap:10px}
.pk-req{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:#ffffff06;border:1px solid var(--v8-line)}
.pk-req-body{flex:1;min-width:0;display:grid;gap:3px}
.pk-req-body small{color:var(--v8-t3);font-size:12.5px}
.pk-req-body p{color:var(--v8-t2);font-size:13px;line-height:1.8;padding:8px 10px;margin-top:4px;border-radius:10px;background:#0E0F12}
.pk-req .pk-actions{grid-auto-flow:column;flex:0 0 auto}
.pk-req .pk-actions .btn{width:auto;padding:0 16px}
.st-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.st-gap{padding:4px 2px}
.pk-card.studio .pk-actions{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}

/* ---------- gym: coach plan vs personal plan, access per package ---------- */
.club-access{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.club-access em{font-style:normal;padding:2px 8px;border-radius:999px;background:#ff6b3d1a;color:var(--v8-acc2);font-size:11px;font-weight:700;line-height:1.7}
.club-lock{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:7px 12px;border-radius:999px;background:#ffffff0d;border:1px solid var(--v8-line2);color:var(--v8-t2);font-size:12px;font-weight:700;white-space:nowrap}
.club-lock .icon{width:15px;height:15px;color:var(--v8-acc)}
.club-locked>.icon{color:var(--v8-acc)}
.club-locked .btn{width:auto;margin-top:6px}
.club-connect-codes{display:grid;gap:10px;margin:12px 0}
.club-connect-codes .club-code{display:grid;gap:6px}
.club-connect-codes .btn{width:100%}

/* ---------- spacing & centering pass ---------- */
/* text never touches the box below it */
.review-note,.pro-page .review-note{margin-block:10px 14px}
.pro-page .club-completion+.review-note{margin-top:12px}
.review-note+.club-checks,.review-note+.club-checks>:first-child{margin-top:0}
.club-checks{margin-top:4px}
/* icon-only round buttons: the glyph sits in the exact centre */
.fd-item .btn,.fd-add,.fd-item-add,.pro-icon-btn,.icon-btn{display:inline-grid!important;place-items:center!important;padding:0!important;line-height:0!important}
.fd-item .btn .icon,.fd-add .icon,.pro-icon-btn .icon,.icon-btn .icon,.icon-btn svg{margin:0!important;display:block}

/* ---------- responsive ---------- */
@media(max-width:1180px){.pro-community .cm-side{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}}
@media(max-width:900px){
  .st-head{grid-template-columns:1fr}
  .st-two{grid-template-columns:1fr}
  .cm-grid{gap:4px}
  .cm-tile{border-radius:8px}
  .cm-light{padding:0;place-items:end center}
  .cm-light-card{grid-template-columns:1fr;grid-template-rows:minmax(0,auto) minmax(0,1fr);width:100%;max-height:94dvh;border-radius:22px 22px 0 0}
  .cm-light figure img{max-height:58dvh}
  .cm-light-side{padding:16px}
}
@media(max-width:640px){
  .pk-grid{grid-template-columns:1fr}
  .pk-coach-id{flex-wrap:wrap}
  .pk-coach-id .pk-back{width:100%!important}
  .pk-link{flex-wrap:wrap}
  .pk-link .btn{width:100%}
  .pk-req{flex-wrap:wrap}
  .pk-req .pk-actions{width:100%;grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .pk-req .pk-actions .btn{width:100%}
  .pk-free{flex-direction:column}
  .cm-grid{gap:3px}
  .cm-tile{border-radius:6px}
  .cm-tabs button{padding:0 12px;font-size:13px}
  .cm-mine>img{flex-basis:72px;width:72px;height:72px}
  .cm-mod-grid{grid-template-columns:1fr}
  .st-list li{flex-wrap:wrap}
  .st-list li .btn{width:100%}
}

/* buttons that sit beside a heading keep their own width */
.pk-page .pro-head{flex-wrap:wrap}
.pk-page .pro-head .btn,.st-list .pro-head .btn{width:auto;flex:0 0 auto;min-height:42px;padding:0 18px;margin:0}
.pk-free .action-row{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.pk-free .action-row .btn{width:auto;flex:0 0 auto;padding:0 24px}
@media(max-width:640px){.pk-free .action-row .btn{flex:1 1 100%}}

/* food: the + / ✓ / − / × marks are drawn icons now (font glyphs never sit in the optical centre) */
.fd-add i{inset:0;display:grid;place-items:center;line-height:0}
.fd-add .icon{width:18px;height:18px;stroke-width:2.6}
.fd-add i+i{font-size:inherit}
.fd-step>button{display:grid;place-items:center;padding:0;line-height:0}
.fd-step>button .icon{width:17px;height:17px;stroke-width:2.6}
.fd-del{display:grid!important;place-items:center;padding:0!important;line-height:0}
.fd-del .icon{width:16px;height:16px;stroke-width:2.4}
.pk-fieldset{margin-top:14px}
/* rings: the rotation and full-size rule is for the ring's own track, not for an icon inside it (achievement locks) */
.pro-ring .pro-ring-in svg{position:relative;inset:auto;transform:none;width:22px;height:22px;display:block}
.pro-ring:not(.sm) .pro-ring-in svg{width:28px;height:28px}
/* count bubbles: a circle for one digit, a pill for more */
.fd-cat em{min-width:24px;height:24px;padding:0 7px;box-sizing:border-box}
/* headings above row lists */
.panel>h2+.settings-row,.panel>h2+.exercise-item,.panel>h2+div>.exercise-item:first-child{margin-top:12px}
/* one check mark per checkbox (the global drawn tick); the old text tick doubled it */
.club-task input:checked::after,.checklist input[type=checkbox]:checked::after{content:none!important}
/* sign-in on phones and tablets: the card overlaps the art by 34px, so the art's last line sits clear of it */
@media(max-width:980px){.pro-auth-art{padding-bottom:62px!important}}
.fd-cat em{padding:0 5px}
.pk-actions .btn{white-space:nowrap}
@media(max-width:640px){.pk-req .pk-actions{grid-template-columns:minmax(0,1fr) auto}.pk-req .pk-actions .btn.secondary{padding:0 18px}}
