/* The 800 Club — Workbench shell (2026-07-12). Layered AFTER each tool's inline CSS.
   Purpose: wide two-panel desktop layout + brand-grade chrome for the nine Tally-flow
   Club Tools. The tools' own flow engine, gate mechanics, and Skool-style content are
   untouched — this file only reshapes the SHELL around #stage. Loaded with ?v=N; bump on
   every change on all nine tool pages. Mobile (<1000px) keeps the original one-column feel. */

/* ===== desktop shell ===== */
@media (min-width: 1000px){
  main{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:40px;align-items:start;justify-content:center;max-width:1180px;margin:0 auto;padding:118px 36px 72px}
  #stage{max-width:none;background:#131313;border:1px solid rgba(255,255,255,0.08);border-radius:20px;padding:46px 52px;min-height:430px;box-shadow:0 30px 80px rgba(0,0,0,0.35)}
  .screen{max-width:640px}
  .wel{max-width:560px;margin:0 auto}
  /* option lists breathe in two columns on wide screens */
  .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:11px}
  .days{grid-template-columns:repeat(4,1fr)}
}

/* ===== header band (injected by wb.js) ===== */
#wbHead{grid-column:1/-1;display:flex;align-items:center;gap:16px;padding:0 4px;min-height:44px}
#wbHead .wb-ic{flex:none;width:42px;height:42px;display:grid;place-items:center;color:#FBCA12;background:rgba(251,202,18,0.08);border:1px solid rgba(251,202,18,0.3);border-radius:12px}
#wbHead .wb-ic svg{width:22px;height:22px}
#wbHead .wb-t{flex:1;min-width:0}
#wbHead .wb-t b{display:block;font-family:'Fraunces',serif;font-weight:900;font-size:1.25rem;letter-spacing:-0.01em;color:#EFEFEF;line-height:1.2}
#wbHead .wb-t span{display:block;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#7C7C7C;font-weight:700;margin-top:3px}
#wbHead .wb-class{flex:none;display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:0.05em;color:#C2C2C2;text-decoration:none;border:1px solid rgba(255,255,255,0.14);border-radius:100px;padding:9px 16px;transition:color .2s,border-color .2s}
#wbHead .wb-class:hover{color:#FBCA12;border-color:rgba(251,202,18,0.5)}

/* ===== right rail (injected by wb.js) ===== */
#wbRail{display:flex;flex-direction:column;gap:14px;position:sticky;top:112px}
.wb-card{background:#141414;border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:20px}
.wb-card .wb-lbl{display:block;font-size:10px;font-weight:700;letter-spacing:0.2em;text-transform:uppercase;color:#7C7C7C;margin-bottom:12px}
.wb-progwrap{display:flex;align-items:center;gap:16px}
.wb-ring{--p:0;flex:none;width:64px;height:64px;border-radius:50%;background:conic-gradient(#FBCA12 calc(var(--p)*1%),rgba(255,255,255,0.08) 0);display:grid;place-items:center}
.wb-ring i{width:50px;height:50px;border-radius:50%;background:#141414;display:grid;place-items:center;font-style:normal;font-family:'Fraunces',serif;font-weight:900;font-size:14px;color:#FBCA12;font-variant-numeric:tabular-nums}
.wb-progtxt{font-size:12.5px;color:#C2C2C2;line-height:1.6}
.wb-progtxt b{color:#EFEFEF}
.wb-saved{display:flex;align-items:center;gap:8px;font-size:11.5px;color:#7C7C7C;margin-top:12px}
.wb-saved svg{width:13px;height:13px;color:#FBCA12;flex:none}
.wb-why{font-size:12.5px;line-height:1.7;color:#9A9A9A}
.wb-saved.wb-synced svg{color:#7ddb8a}
.wb-saved.wb-synced span{color:#9fdca8}
.wb-signin{display:block;margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.07);font-size:11.5px;font-weight:700;color:#FBCA12;text-decoration:none;transition:opacity .2s}
.wb-signin:hover{opacity:.75}
.wb-cta{display:block;text-align:center;background:#FBCA12;color:#0A0A0A;font-weight:800;font-size:13px;border-radius:10px;padding:13px 16px;text-decoration:none;transition:filter .2s}
.wb-cta:hover{filter:brightness(1.08)}
.wb-next{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12.5px;font-weight:700;color:#C2C2C2;text-decoration:none;border:1px solid rgba(255,255,255,0.12);border-radius:10px;padding:12px 16px;transition:color .2s,border-color .2s}
.wb-next:hover{color:#FBCA12;border-color:rgba(251,202,18,0.45)}
.wb-next em{font-style:normal;color:#7C7C7C;font-weight:600;font-size:11px;display:block;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:2px}

/* ===== mobile: original one-column feel, compact chrome ===== */
@media (max-width: 999.98px){
  #wbHead{padding:0 2px;margin-bottom:14px}
  #wbHead .wb-ic{width:36px;height:36px;border-radius:10px}
  #wbHead .wb-ic svg{width:18px;height:18px}
  #wbHead .wb-t b{font-size:1.05rem;font-family:'Sora',sans-serif;font-weight:800}
  #wbHead .wb-class{display:none}
  main{display:block}
  #wbRail{margin-top:26px;position:static;gap:10px}
  .wb-card{padding:16px}
  .wb-why{display:none}
  .wb-ring{width:48px;height:48px}
  .wb-ring i{width:37px;height:37px;font-size:11.5px}
}

/* chrome hidden while the gate is up (fail-closed with the gate) */
body.locked #wbHead,body.locked #wbRail{display:none}

/* ===== streak banner (weekly check-in) ===== */
.wb-streak{display:flex;flex-direction:column;gap:5px;margin:20px 0 18px;padding:18px 20px;border:1px solid rgba(251,202,18,0.42);border-left:3px solid #FBCA12;border-radius:14px;background:linear-gradient(155deg,rgba(251,202,18,0.11),rgba(251,202,18,0.02))}
.wb-streak b{font-family:'Fraunces',serif;font-weight:900;font-size:1.5rem;color:#FBCA12;letter-spacing:-0.01em}
.wb-streak span{font-size:13px;line-height:1.65;color:#C2C2C2}

/* ===== calendar standout (dates + payday planner) — the highest-value action on the result screen ===== */
.wb-cal{position:relative;margin:22px 0 18px;padding:24px 22px;border:1px solid rgba(251,202,18,0.5);border-radius:16px;background:linear-gradient(158deg,rgba(251,202,18,0.13),rgba(251,202,18,0.03) 60%);box-shadow:0 0 26px rgba(251,202,18,0.14),inset 0 0 40px rgba(251,202,18,0.03);overflow:hidden}
.wb-cal::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,#FBCA12,transparent)}
.wb-cal-lbl{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#FBCA12;margin-bottom:10px}
.wb-cal-lbl svg{width:14px;height:14px}
.wb-cal h3{font-family:'Fraunces',serif;font-weight:900;font-size:1.45rem;line-height:1.2;letter-spacing:-0.01em;color:#EFEFEF;margin:0 0 8px}
.wb-cal p{font-size:13px;line-height:1.7;color:#C2C2C2;margin:0 0 18px}
.wb-cal p b{color:#FBCA12;font-weight:700}
.wb-cal .btn-gold{width:100%;min-height:56px;font-size:15px;box-shadow:0 10px 30px rgba(251,202,18,0.28)}
.wb-cal .wb-cal-note{font-size:11px;color:#9A9A9A;margin:12px 0 0;text-align:center}
@media(max-width:520px){.wb-cal{padding:20px 16px}.wb-cal h3{font-size:1.25rem}}

/* ===== gate, upgraded to brand grade (mechanics untouched) ===== */
.gate{background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(251,202,18,0.05),transparent 70%),#0A0A0A}
.gate-card{max-width:520px;padding:52px 44px;border:1px solid rgba(251,202,18,0.4);border-radius:22px;background:linear-gradient(168deg,#161410,#0F0F0F 55%);box-shadow:0 0 70px rgba(251,202,18,0.07),0 44px 110px rgba(0,0,0,0.75)}
.gate-card .big{font-size:38px;margin-bottom:18px}
.gate-card h2{font-family:'Fraunces',serif;font-weight:900;font-size:2.1rem;letter-spacing:-0.015em}
.gate-card h2::after{content:'';display:block;width:44px;height:2px;background:#FBCA12;margin:14px auto 0;opacity:0.8}
.gate-card .gsub{margin-top:12px}
.gate-hint{border-top:1px solid rgba(255,255,255,0.07);padding-top:16px;margin-top:18px}

/* footer, quieter and on-brand */
footer{border-top:1px solid rgba(255,255,255,0.06)}
footer .fb{color:rgba(251,202,18,0.7)}

@media (prefers-reduced-motion: reduce){#wbHead,#wbRail,.wb-ring{transition:none!important}}
