*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
:root{
  --cream:#ffffff;--paper:#f5f5f7;--parchment:#ebebed;--parchment-dark:#dddde0;
  --ink:#1a1a1a;--ink-soft:#3d3d3d;--ink-muted:#6e6e73;--ink-faint:#aeaeb2;
  --energy:#FFB200;--energy-light:#FFC840;--energy-pale:#FFF3CC;
  --teal:#2a7c74;--teal-pale:#d8f0ee;--gold:#9a6f0a;--gold-pale:#fdf3d0;
  --purple:#5b21b6;--purple-pale:#ede9fe;
  --border:rgba(0,0,0,0.09);--border-soft:rgba(0,0,0,0.05);
  --shadow:0 2px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 32px rgba(0,0,0,0.12);
}

[data-theme="dark"]{
  --cream:#141416;--paper:#1c1c1e;--parchment:#2c2c2e;--parchment-dark:#3a3a3c;
  --ink:#f5f5f7;--ink-soft:#d1d1d6;--ink-muted:#8e8e93;--ink-faint:#636366;
  --energy:#FFB200;--energy-light:#FFC840;--energy-pale:rgba(255,178,0,0.15);
  --teal:#3db5a9;--teal-pale:rgba(42,124,116,0.15);--gold:#d4a017;--gold-pale:rgba(154,111,10,0.15);
  --purple:#8b5cf6;--purple-pale:rgba(91,33,182,0.15);
  --border:rgba(255,255,255,0.1);--border-soft:rgba(255,255,255,0.05);
  --shadow:0 2px 12px rgba(0,0,0,0.3);--shadow-lg:0 8px 32px rgba(0,0,0,0.5);
}

html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;font-weight:400;min-height:100vh;overflow-x:hidden;transition:background-color 0.3s ease,color 0.3s ease;}

/* ── LOGIN SCREEN ── */
/* ══ SPLASH SCREEN ══════════════════════════════════════════════════ */
#splash{position:fixed;inset:0;z-index:1200;background:radial-gradient(ellipse at 50% 55%,#232323 0%,#1a1a1a 65%);display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden;transition:opacity 0.65s ease,transform 0.65s ease;}
#splash.exit{opacity:0;transform:scale(1.04);pointer-events:none;}
#splash-bars{position:absolute;inset:0;display:flex;align-items:flex-end;padding:0 1.5vw;gap:2px;pointer-events:none;}
.sp-bar{flex:1;border-radius:2px 2px 0 0;background:linear-gradient(to top,rgba(255,178,0,0.14),rgba(255,178,0,0.02));transform-origin:bottom;animation:sp-bar-pulse var(--dur,1.4s) ease-in-out var(--del,0s) infinite;height:var(--h,12%);}
@keyframes cs-nudge-pulse{0%,100%{box-shadow:0 0 0 3px rgba(255,178,0,0.15);}50%{box-shadow:0 0 0 6px rgba(255,178,0,0.35);}}
@keyframes sp-bar-pulse{0%,100%{transform:scaleY(1);opacity:0.7;}50%{transform:scaleY(var(--peak,1.5));opacity:1;}}
.splash-content{position:relative;z-index:1;text-align:center;display:flex;flex-direction:column;align-items:center;}
.splash-logo-wrap{display:flex;align-items:center;gap:0.6rem;margin-bottom:0.6rem;}
.splash-mark{width:60px;height:50px;}
/* Open Bracket: arm → left diagonal → right diagonal, draws in sequence */
.splash-slash-1{stroke-dasharray:21;stroke-dashoffset:21;animation:sp-draw 0.28s cubic-bezier(.4,0,.2,1) 0.18s forwards;}
.splash-slash-2{stroke-dasharray:47;stroke-dashoffset:47;animation:sp-draw 0.42s cubic-bezier(.4,0,.2,1) 0.40s forwards;}
.splash-slash-3{stroke-dasharray:53;stroke-dashoffset:53;animation:sp-draw 0.46s cubic-bezier(.4,0,.2,1) 0.74s forwards;}
@keyframes sp-draw{to{stroke-dashoffset:0;}}
.splash-wordmark{font-family:'Barlow Condensed',sans-serif;font-size:2.6rem;font-weight:800;color:#f5f1eb;letter-spacing:-0.02em;line-height:1;opacity:0;animation:sp-up 0.45s ease 0.95s forwards;}
.splash-tag{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.2em;text-transform:uppercase;color:#FFB200;opacity:0;animation:sp-fade 0.35s ease 1.05s forwards;margin-bottom:2rem;}
.splash-headline{font-family:'Barlow Condensed',sans-serif;font-size:clamp(2.8rem,7.5vw,4.6rem);font-weight:800;line-height:1.0;color:#f5f1eb;letter-spacing:-0.025em;opacity:0;animation:sp-up 0.55s ease 1.2s forwards;margin-bottom:2.6rem;}
.splash-headline em{color:#FFB200;font-style:normal;}
.splash-cta{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.15em;color:rgba(245,241,235,0.42);opacity:0;animation:sp-cta-in 0.35s ease 1.9s forwards,sp-cta-pulse 2.8s ease-in-out 2.3s infinite;}
/* ── First-time tour ── */
#tour-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:2000;align-items:center;justify-content:center;padding:1rem;}
#tour-modal{background:var(--cream);border-radius:6px;max-width:440px;width:100%;padding:2rem 2rem 1.5rem;position:relative;box-shadow:0 12px 48px rgba(0,0,0,0.22);animation:sp-up 0.3s ease forwards;}
.tour-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;color:var(--ink-faint);cursor:pointer;padding:0.25rem 0.5rem;transition:color 0.15s;}
.tour-close:hover{color:var(--ink-muted);}
.tour-step-mark{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--energy);margin-bottom:0.6rem;}
#tour-step-content h3{font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:800;color:var(--ink);margin-bottom:0.55rem;line-height:1.1;letter-spacing:-0.01em;}
#tour-step-content p{font-size:0.88rem;color:var(--ink-soft);line-height:1.7;margin-bottom:0.5rem;}
.tour-step-cta{display:inline-block;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.7rem 1.3rem;border-radius:2px;cursor:pointer;margin-top:0.5rem;margin-bottom:0.25rem;transition:background 0.2s;}
.tour-step-cta:hover{background:var(--energy-dark,#c94e0a);}
.tour-dots{display:flex;gap:0.45rem;justify-content:center;margin:1.3rem 0 1rem;}
.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:background 0.2s;}
.tour-dot.active{background:var(--energy);}
.tour-nav{display:flex;justify-content:space-between;align-items:center;}
.tour-btn-back{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;background:none;border:1px solid var(--border);color:var(--ink-muted);padding:0.55rem 1rem;border-radius:2px;cursor:pointer;transition:all 0.15s;}
.tour-btn-back:hover{border-color:var(--ink-muted);color:var(--ink);}
.tour-btn-next{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;background:var(--ink);color:white;border:none;padding:0.55rem 1.3rem;border-radius:2px;cursor:pointer;transition:background 0.15s;}
.tour-btn-next:hover{background:var(--ink-soft);}
[data-theme="dark"] #tour-modal{background:var(--paper);}
.splash-signin-wrap{margin-top:1.8rem;opacity:0;animation:sp-fade 0.3s ease 2s forwards;}
.splash-signin-link{background:none;border:1px solid rgba(245,241,235,0.25);border-radius:4px;color:rgba(245,241,235,0.7);font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.07em;padding:0.45rem 1rem;cursor:pointer;transition:background 0.2s,color 0.2s,border-color 0.2s;}
.splash-signin-link:hover{background:rgba(245,241,235,0.08);color:rgba(245,241,235,1);border-color:rgba(245,241,235,0.5);}
.splash-reset-link{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;color:rgba(245,241,235,0.18);text-decoration:none;margin-top:1rem;opacity:0;animation:sp-fade 0.3s ease 3s forwards;transition:color 0.2s;}
.splash-reset-link:hover{color:rgba(245,241,235,0.5);}
@keyframes sp-up{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes sp-fade{from{opacity:0;}to{opacity:1;}}
@keyframes sp-cta-in{from{opacity:0;}to{opacity:0.42;}}
@keyframes sp-cta-pulse{0%,100%{opacity:0.32;}50%{opacity:0.65;}}
/* ══ END SPLASH ══════════════════════════════════════════════════════ */
#login-screen{position:fixed;inset:0;z-index:1100;background:var(--cream);display:none;flex-direction:column;align-items:center;justify-content:center;padding:2rem;}
#login-screen.show{display:flex;}
/* ── CADELO LOGO MARK ── */
.volta-logo{display:flex;align-items:center;gap:0.45rem;}
/* Inline mark used in tone headers and similar rendered HTML */
.cadelo-mark-inline{display:inline-block;vertical-align:middle;margin-right:0.2rem;flex-shrink:0;position:relative;top:-1px;}
.volta-logo-mark{flex-shrink:0;}
.volta-logo-name{font-family:'Barlow Condensed',sans-serif;font-weight:900;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink);}
/* Logo size variants */
.volta-logo.size-sm .volta-logo-name{font-size:1.15rem;}
.volta-logo.size-md .volta-logo-name{font-size:1.35rem;}
.volta-logo.size-lg .volta-logo-name{font-size:1.6rem;}
.ls-logo{margin-bottom:2.5rem;}
.ls-logo .caesura{color:var(--energy);letter-spacing:-0.05em;}
.ls-card{width:100%;max-width:400px;}
.ls-card h2{font-family:'Barlow Condensed',sans-serif;font-size:2.2rem;font-weight:800;color:var(--ink);margin-bottom:0.4rem;line-height:1.1;letter-spacing:-0.01em;}
.ls-card h2 em{font-style:italic;color:var(--energy);}
.ls-sub{font-size:0.84rem;color:var(--ink-muted);margin-bottom:1.8rem;line-height:1.6;}
.ls-divider{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-faint);margin:1.2rem 0 0.5rem;}
.ls-link{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);background:none;border:none;cursor:pointer;transition:color 0.15s;padding:0.3rem 0;}
.ls-link:hover{color:var(--energy);}
.ls-error{font-size:0.75rem;color:var(--energy);margin-top:0.6rem;padding:0.55rem 0.75rem;background:var(--energy-pale);border-left:2px solid var(--energy);border-radius:0 2px 2px 0;display:none;}
.ls-error.show{display:block;}
/* ── SAVE MODAL ── */
#save-modal{position:fixed;bottom:-100%;left:50%;transform:translateX(-50%);z-index:1200;width:100%;max-width:480px;background:var(--cream);border:1px solid var(--parchment-dark);border-bottom:none;border-radius:16px 16px 0 0;padding:2rem 1.75rem 2.5rem;box-shadow:0 -8px 40px rgba(0,0,0,0.12);transition:bottom 0.45s cubic-bezier(0.22,1,0.36,1);}
#save-modal.visible{bottom:0;}
#save-modal-backdrop{position:fixed;inset:0;z-index:1199;background:rgba(0,0,0,0);pointer-events:none;transition:background 0.45s;}
#save-modal-backdrop.visible{background:rgba(0,0,0,0.28);pointer-events:all;}
.sm-pill{display:inline-block;font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;background:var(--energy);color:#fff;padding:0.2rem 0.55rem;border-radius:100px;margin-bottom:0.9rem;}
.sm-heading{font-family:'Barlow Condensed',sans-serif;font-size:1.95rem;font-weight:900;color:var(--ink);line-height:1.05;margin-bottom:0.35rem;letter-spacing:-0.01em;}
.sm-heading em{font-style:italic;color:var(--energy);}
.sm-sub{font-size:0.82rem;color:var(--ink-muted);margin-bottom:1.4rem;line-height:1.6;}
.sm-row{display:flex;gap:0.75rem;}
.sm-row .ob-input-group{flex:1;}
.sm-skip{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);background:none;border:none;cursor:pointer;transition:color 0.15s;display:block;text-align:center;margin-top:0.9rem;padding:0.25rem;}
.sm-skip:hover{color:var(--ink-soft);}
.sm-drag{width:36px;height:3px;background:var(--parchment-dark);border-radius:2px;margin:0 auto 1.5rem;}
.sm-check{display:flex;align-items:flex-start;gap:0.5rem;margin-bottom:1.2rem;font-size:0.78rem;color:var(--ink-soft);line-height:1.5;}
.sm-check-icon{color:var(--teal);font-size:0.75rem;margin-top:0.1rem;flex-shrink:0;}
.sm-error{font-size:0.75rem;color:var(--energy);margin-top:0.6rem;padding:0.55rem 0.75rem;background:var(--energy-pale);border-left:2px solid var(--energy);border-radius:0 2px 2px 0;display:none;}
.sm-error.show{display:block;}
/* ── EXIT INTENT MODAL ── */
#exit-modal{position:fixed;inset:0;z-index:1500;display:none;align-items:center;justify-content:center;padding:1.5rem;}
#exit-modal.show{display:flex;}
#exit-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,0.5);}
.exit-card{position:relative;z-index:1;width:100%;max-width:420px;background:var(--cream);border:1px solid var(--parchment-dark);border-radius:12px;padding:2rem 1.75rem;box-shadow:0 20px 60px rgba(0,0,0,0.2);}
.exit-card-mark{font-family:'Barlow Condensed',sans-serif;font-size:2.4rem;font-weight:900;color:var(--energy);line-height:1;margin-bottom:0.5rem;letter-spacing:-0.05em;}
.exit-card h3{font-family:'Barlow Condensed',sans-serif;font-size:1.75rem;font-weight:900;color:var(--ink);line-height:1.05;margin-bottom:0.4rem;letter-spacing:-0.01em;}
.exit-card h3 em{font-style:italic;color:var(--energy);}
.exit-card p{font-size:0.82rem;color:var(--ink-muted);line-height:1.65;margin-bottom:1.2rem;}
.exit-card-actions{display:flex;flex-direction:column;gap:0.55rem;}
.exit-save-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.75rem 1.2rem;cursor:pointer;transition:background 0.2s;border-radius:2px;width:100%;}
.exit-save-btn:hover{background:var(--energy-light);}
.exit-leave-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;background:none;border:1px solid var(--parchment-dark);color:var(--ink-faint);padding:0.6rem 1.2rem;cursor:pointer;transition:all 0.15s;border-radius:2px;width:100%;}
.exit-leave-btn:hover{border-color:var(--ink-soft);color:var(--ink-soft);}
.exit-warning{display:flex;align-items:flex-start;gap:0.5rem;padding:0.65rem 0.75rem;background:var(--energy-pale);border-left:2px solid var(--energy);border-radius:0 2px 2px 0;margin-bottom:1.2rem;font-size:0.75rem;color:var(--ink-soft);line-height:1.5;}
.exit-warning-icon{font-size:0.8rem;flex-shrink:0;margin-top:0.05rem;}
/* ── ONBOARDING ── */
#onboarding{position:fixed;inset:0;z-index:1000;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;transition:opacity 0.6s ease,transform 0.6s ease;overflow-y:auto;}
#onboarding.exit{opacity:0;transform:scale(0.97);pointer-events:none;}
.ob-logo{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:2rem;letter-spacing:0.06em;display:flex;align-items:center;gap:0.4rem;}
.ob-logo .caesura{color:var(--energy);letter-spacing:-0.05em;}
.ob-steps{display:flex;gap:0.4rem;margin-bottom:2rem;}
.ob-step-dot{width:28px;height:3px;background:var(--parchment-dark);border-radius:2px;transition:all 0.3s;}
.ob-step-dot.active{background:var(--energy);width:44px;}
.ob-step-dot.done{background:var(--energy);opacity:0.35;}
.ob-card{width:100%;max-width:540px;}
.ob-slide{display:none;}
.ob-slide.active{display:block;}
.ob-card h2{font-family:'Barlow Condensed',sans-serif;font-size:2.15rem;font-weight:800;color:var(--ink);margin-bottom:0.5rem;line-height:1.1;letter-spacing:-0.01em;}
.ob-card h2 em{font-style:italic;color:var(--energy);font-weight:800;}
.ob-sub{font-size:0.88rem;color:var(--ink-muted);margin-bottom:1.8rem;line-height:1.7;font-weight:400;}
.ob-input-group{margin-bottom:1rem;text-align:left;}
.ob-input-group label{font-family:'DM Mono',monospace;font-size:0.63rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);display:block;margin-bottom:0.4rem;}
.ob-input-group input,.ob-input-group select{width:100%;padding:0.78rem 1rem;border:1.5px solid var(--border);background:var(--cream);font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:0.88rem;color:var(--ink);outline:none;transition:border-color 0.2s;border-radius:2px;}
.ob-input-group input:focus,.ob-input-group select:focus{border-color:var(--energy);}
.ob-input-row{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem;}
.ob-btn{width:100%;padding:0.9rem;background:var(--energy);color:white;border:none;font-family:'DM Mono',monospace;font-size:0.76rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;font-weight:500;border-radius:2px;margin-top:0.4rem;}
.ob-btn:hover{background:var(--energy-light);transform:translateY(-1px);}
.ob-back{font-family:'DM Mono',monospace;font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);background:none;border:none;cursor:pointer;margin-top:0.7rem;display:block;transition:color 0.2s;padding:0.3rem 0;}
.ob-back:hover{color:var(--ink-muted);}
/* ob-4 sub-page pip indicators */
.ob4-sub-indicator{display:flex;gap:6px;margin-bottom:1.1rem;}
.ob4-sub-pip{width:20px;height:4px;border-radius:2px;background:var(--border);transition:background 0.2s;}
.ob4-pip-active{background:var(--energy);}
.ob4-pip-done{background:var(--teal);}
/* Validation errors */
.ob-field-error{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--energy);margin-top:0.3rem;display:none;}
.ob-field-error.show{display:block;}
.ob-input-group input.ob-invalid,.ob-input-group select.ob-invalid,.genre-input.ob-invalid{border-color:var(--energy)!important;background:var(--energy-pale)!important;}
/* Team emails */
.ob-team-pills{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:0.5rem;min-height:0;}
.ob-team-pill{display:flex;align-items:center;gap:0.3rem;font-family:'DM Mono',monospace;font-size:0.58rem;padding:0.2rem 0.5rem 0.2rem 0.65rem;background:var(--paper);border:1px solid var(--border);border-radius:2px;color:var(--ink-soft);}
.ob-team-pill-x{cursor:pointer;color:var(--ink-faint);font-size:0.75rem;line-height:1;transition:color 0.1s;}
.ob-team-pill-x:hover{color:var(--energy);}
.ob-team-add-row{display:flex;gap:0.5rem;}
.ob-team-add-row input{flex:1;padding:0.65rem 0.85rem;border:1.5px solid var(--border);background:var(--cream);font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:0.84rem;color:var(--ink);outline:none;border-radius:2px;transition:border-color 0.2s;}
.ob-team-add-row input:focus{border-color:var(--energy);}
.ob-team-add-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:var(--cream);color:var(--ink-muted);padding:0 0.85rem;cursor:pointer;border-radius:2px;white-space:nowrap;transition:all 0.15s;}
.ob-team-add-btn:hover{border-color:var(--energy);color:var(--energy);}
.ob-account-note{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.08em;color:var(--ink-faint);line-height:1.7;margin-top:0.4rem;}
.ob-welcome-mark{font-family:'Barlow Condensed',sans-serif;font-size:2.6rem;font-weight:900;color:var(--energy);margin-bottom:0.85rem;line-height:1;letter-spacing:-0.03em;font-style:italic;}
.ob-cadence-confirm{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--energy);margin-bottom:0.55rem;line-height:1;}
.ob-step-mark{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.4rem;line-height:1;}
/* account type */
.ob-acct-divider{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-faint);margin:1.4rem 0 0.85rem;display:flex;align-items:center;gap:0.75rem;}
.ob-acct-divider::before,.ob-acct-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.ob-acct-types{display:grid;grid-template-columns:1fr 1fr;gap:0.85rem;margin-bottom:0.5rem;}
.ob-acct-card{border:1.5px solid var(--border);background:var(--cream);border-radius:4px;padding:1.4rem 1.2rem;cursor:pointer;transition:all 0.2s;text-align:left;}
.ob-acct-card:hover{border-color:var(--energy);transform:translateY(-2px);box-shadow:var(--shadow);}
.ob-acct-card.selected{border-color:var(--energy);background:var(--energy-pale);box-shadow:0 0 0 3px rgba(255,178,0,0.12);}
.ob-acct-icon{font-size:1.8rem;margin-bottom:0.75rem;line-height:1;}
.ob-acct-icon-svg{display:block;width:46px;height:auto;margin-bottom:0.85rem;}
.ob-acct-label{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:0.4rem;}
.ob-acct-desc{font-size:0.75rem;color:var(--ink-muted);line-height:1.55;margin-bottom:0.65rem;}
.ob-acct-sub{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--energy);padding:0.18rem 0;}
/* genre search */
.genre-wrap{position:relative;}
.genre-input{width:100%;padding:0.78rem 1rem;border:1.5px solid var(--border);background:var(--cream);font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:0.88rem;color:var(--ink);outline:none;border-radius:2px;transition:border-color 0.2s;}
.genre-input:focus{border-color:var(--energy);}
.genre-drop{position:absolute;top:calc(100%+2px);left:0;right:0;background:var(--cream);border:1.5px solid var(--energy);border-radius:2px;max-height:190px;overflow-y:auto;z-index:200;display:none;box-shadow:var(--shadow-lg);}
.genre-drop.open{display:block;}
.genre-opt{padding:0.55rem 1rem;font-size:0.84rem;color:var(--ink);cursor:pointer;transition:background 0.1s;}
.genre-opt:hover,.genre-opt.hi{background:var(--energy-pale);color:var(--energy);}
/* listener */
.listener-wrap{position:relative;}
.listener-wrap input{padding-right:5rem;}
.listener-sfx{position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);pointer-events:none;}
.stage-pill{display:inline-block;font-family:'DM Mono',monospace;font-size:0.63rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.22rem 0.55rem;border-radius:2px;margin-top:0.45rem;transition:all 0.2s;}
.sp-emerging{background:var(--teal-pale);color:var(--teal);}
.sp-growing{background:var(--gold-pale);color:var(--gold);}
.sp-established{background:var(--energy-pale);color:var(--energy);}
/* tone options */
.ob-tones{display:flex;flex-direction:column;gap:0.6rem;margin-bottom:1.4rem;}
.ob-tone{padding:0.85rem 1rem;border:1.5px solid var(--border);background:var(--cream);cursor:pointer;text-align:left;transition:all 0.18s;border-radius:2px;display:flex;align-items:flex-start;gap:0.8rem;}
.ob-tone:hover{border-color:var(--energy);background:var(--energy-pale);}
.ob-tone.selected{border-color:var(--energy);background:var(--energy-pale);}
.tone-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px;}
.tone-label{font-size:0.83rem;font-weight:500;color:var(--ink);}
.tone-desc{font-size:0.72rem;color:var(--ink-muted);margin-top:0.15rem;line-height:1.4;}
/* ob-3 spotify step */
.ob3-sp-icon{display:flex;align-items:center;margin-bottom:0.85rem;}
.ob-skip-link{padding:0!important;border:none!important;background:none!important;box-shadow:none!important;}
.ob-skip-link:hover{color:var(--ink)!important;text-decoration:underline;}
/* release types */
.ob-rtypes{display:grid;grid-template-columns:repeat(4,1fr);gap:0.55rem;margin-bottom:1.2rem;}
.ob-rtype{padding:0.75rem 0.4rem;border:1.5px solid var(--border);background:var(--cream);cursor:pointer;text-align:center;transition:all 0.18s;border-radius:2px;position:relative;}
.ob-rtype:hover{border-color:var(--energy);background:var(--energy-pale);}
.ob-rtype.selected{border-color:var(--energy);background:var(--energy-pale);}
.ob-rtype.recommended{border-color:var(--teal);}
.ob-rtype.recommended.selected{border-color:var(--teal);background:var(--teal-pale);}
.ob-rtype.not-recommended{opacity:0.72;}
.ob-rtype-icon{font-size:1.2rem;display:block;margin-bottom:0.2rem;}
.ob-rtype-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);display:block;}
.ob-rtype-count{font-family:'DM Mono',monospace;font-size:0.53rem;letter-spacing:0.05em;color:var(--ink-faint);display:block;margin-top:0.15rem;}
.rtype-rec-badge{position:absolute;top:-8px;left:50%;transform:translateX(-50%);font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:white;padding:0.12rem 0.4rem;border-radius:2px;white-space:nowrap;}
.rtype-rec-bar{background:var(--teal-pale);border:1px solid rgba(42,124,116,0.2);padding:0.65rem 0.85rem;border-radius:2px;margin-bottom:0.75rem;font-size:0.78rem;color:var(--ink-soft);line-height:1.55;}
.rtype-rec-bar strong{color:var(--teal);font-weight:500;}
/* goals */
.ob-goals{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;margin-bottom:1.3rem;}
.ob-goal{padding:0.85rem 1rem;border:1.5px solid var(--border);background:var(--cream);cursor:pointer;text-align:left;transition:all 0.18s;border-radius:2px;}
.ob-goal:hover{border-color:var(--energy);background:var(--energy-pale);}
.ob-goal.selected{border-color:var(--energy);background:var(--energy-pale);}
.goal-icon{font-size:1.1rem;margin-bottom:0.25rem;}
.goal-label{font-size:0.81rem;font-weight:500;color:var(--ink);}
.goal-desc{font-size:0.7rem;color:var(--ink-muted);margin-top:0.12rem;line-height:1.35;}
/* spotify */
.spotify-btn{width:100%;padding:0.85rem;background:#1DB954;color:white;border:none;font-family:'DM Mono',monospace;font-size:0.72rem;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:all 0.2s;font-weight:500;border-radius:2px;display:flex;align-items:center;justify-content:center;gap:0.6rem;margin-bottom:0.7rem;}
.spotify-btn:hover{background:#17a349;transform:translateY(-1px);}
.spotify-btn.connected{background:#e8f8ee;color:#1DB954;border:1.5px solid #1DB954;cursor:default;transform:none;}
.spotify-note{font-size:0.73rem;color:var(--ink-muted);text-align:center;line-height:1.5;margin-top:0.4rem;}
.spotify-confirm{display:none;padding:0.65rem 0.85rem;background:#e8f8ee;border:1.5px solid #1DB954;border-radius:2px;font-size:0.78rem;color:#1a6b35;line-height:1.5;margin-bottom:0.7rem;}
/* tiers */
.ob-tiers{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:0.75rem;}
.ob-tier{padding:1.1rem;border:1.5px solid var(--border);background:var(--cream);cursor:pointer;transition:all 0.18s;border-radius:2px;}
.ob-tier:hover{border-color:var(--energy);}
.ob-tier.selected{border-color:var(--energy);background:var(--energy-pale);}
.tier-badge{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.18rem 0.45rem;border-radius:2px;margin-bottom:0.5rem;display:inline-block;}
.tf .tier-badge{background:var(--parchment-dark);color:var(--ink-muted);}
.tp .tier-badge{background:var(--energy-pale);color:var(--energy);}
.ob-tier h3{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:800;color:var(--ink);margin-bottom:0.2rem;letter-spacing:-0.01em;}
.tier-price{font-family:'DM Mono',monospace;font-size:0.75rem;color:var(--energy);margin-bottom:0.45rem;}
.ob-tier ul{list-style:none;display:flex;flex-direction:column;gap:0.28rem;}
.ob-tier ul li{font-size:0.73rem;color:var(--ink-soft);display:flex;gap:0.35rem;align-items:flex-start;line-height:1.35;}
.ob-tier ul li::before{content:'';display:inline-block;width:9px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center top;margin-top:2px;flex-shrink:0;}
/* Label tier card */
.ob-label-tier{display:flex;gap:1.2rem;align-items:flex-start;border:1.5px solid var(--border);background:var(--cream);border-radius:2px;padding:1.1rem 1.2rem;cursor:pointer;transition:all 0.18s;margin-bottom:1.3rem;}
.ob-label-tier:hover{border-color:var(--purple);}
.ob-label-tier.selected{border-color:var(--purple);background:var(--purple-pale);}
.ol-left{flex-shrink:0;min-width:120px;}
.ol-left .tier-badge{background:var(--purple-pale);color:var(--purple);}
.ol-left h3{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);margin-bottom:0.2rem;}
.ol-left .tier-price{font-family:'DM Mono',monospace;font-size:0.75rem;color:var(--purple);margin-bottom:0.25rem;}
.ol-left .tier-cap{font-size:0.68rem;color:var(--ink-muted);}
.ol-right ul{list-style:none;display:flex;flex-direction:column;gap:0.28rem;}
.ol-right ul li{font-size:0.73rem;color:var(--ink-soft);display:flex;gap:0.35rem;align-items:flex-start;line-height:1.35;}
.ol-right ul li::before{content:'';display:inline-block;width:9px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%235b21b6' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%235b21b6' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%235b21b6' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center top;margin-top:2px;flex-shrink:0;}
/* Label sidebar badge */
.sbb-label{background:var(--purple-pale);color:var(--purple);}
/* Artist switcher (topbar) */
.label-switcher{display:none;align-items:center;gap:0.35rem;border:1px solid var(--border);border-radius:20px;padding:0.22rem 0.55rem 0.22rem 0.45rem;cursor:pointer;transition:border-color 0.15s;}
.label-switcher:hover{border-color:var(--purple);}
.lsw-arrow{background:none;border:none;cursor:pointer;font-size:1rem;color:var(--ink-muted);padding:0 0.1rem;line-height:1;transition:color 0.15s;}
.lsw-arrow:hover{color:var(--purple);}
.lsw-name{font-family:'Barlow Condensed',sans-serif;font-size:0.82rem;font-weight:700;color:var(--ink);padding:0 0.3rem;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;}
.lsw-count{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.08em;color:var(--ink-faint);padding-left:0.2rem;border-left:1px solid var(--border);margin-left:0.1rem;}
/* Roster panel */
.roster-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.4rem;}
.roster-header h2{font-family:'Barlow Condensed',sans-serif;font-size:1.75rem;font-weight:800;color:var(--ink);letter-spacing:-0.01em;}
.roster-header p{font-size:0.78rem;color:var(--ink-muted);margin-top:0.2rem;}
.add-artist-btn{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.5rem 1rem;cursor:pointer;border-radius:2px;transition:background 0.15s;flex-shrink:0;}
.add-artist-btn:hover{background:var(--energy-light);}
.add-artist-btn:disabled{background:var(--parchment-dark);color:var(--ink-faint);cursor:not-allowed;}
.roster-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.roster-card{background:var(--cream);border:1px solid var(--border);padding:1.3rem;border-radius:2px;cursor:pointer;transition:all 0.18s;position:relative;}
.roster-card:hover{border-color:var(--energy);transform:translateY(-1px);box-shadow:var(--shadow);}
.roster-card.rc-active{border-color:var(--energy);border-top:3px solid var(--energy);}
.rc-av{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:white;font-style:italic;margin-bottom:0.85rem;background:var(--energy);}
.rc-name{font-family:'Barlow Condensed',sans-serif;font-size:0.98rem;font-weight:700;color:var(--ink);margin-bottom:0.06rem;}
.rc-genre{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.85rem;}
.rc-stats{display:flex;flex-direction:column;gap:0.32rem;margin-bottom:0.85rem;}
.rc-stat{display:flex;justify-content:space-between;align-items:center;font-size:0.72rem;}
.rc-stat-lbl{color:var(--ink-muted);}
.rc-stat-val{font-family:'DM Mono',monospace;font-size:0.68rem;color:var(--ink);font-weight:500;}
.rc-score{display:inline-flex;align-items:center;gap:0.35rem;background:var(--paper);border-radius:2px;padding:0.25rem 0.55rem;margin-bottom:0.85rem;}
.rc-score-num{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:900;color:var(--energy);}
.rc-score-lbl{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.rc-open-btn{width:100%;font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:transparent;color:var(--ink-soft);padding:0.42rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.rc-open-btn:hover{border-color:var(--energy);color:var(--energy);}
.rc-active-badge{position:absolute;top:0.7rem;right:0.75rem;font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy-pale);color:var(--energy);padding:0.12rem 0.4rem;border-radius:2px;}
.rc-btn-row{display:flex;gap:0.5rem;margin-top:0.55rem;}
.rc-open-btn{flex:1;}
.rc-invite-btn{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.08em;text-transform:uppercase;border:1.5px solid var(--teal);background:transparent;color:var(--teal);padding:0.42rem 0.7rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.rc-invite-btn:hover{background:var(--teal-pale);}
/* ── Invite Modal ───────────────────────────────────────────────── */
#invite-modal-overlay{position:fixed;inset:0;z-index:1050;background:rgba(0,0,0,0.55);display:none;align-items:center;justify-content:center;}
#invite-modal-overlay.open{display:flex;}
.invite-modal{background:var(--cream);border:1.5px solid var(--border);border-radius:4px;padding:1.6rem 1.8rem;width:min(460px,90vw);max-height:85vh;overflow-y:auto;}
.invite-modal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.1rem;}
.invite-modal-title{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;font-weight:800;color:var(--ink);letter-spacing:-0.01em;line-height:1.2;}
.invite-modal-title span{color:var(--energy);}
.invite-modal-close{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--ink-faint);padding:0;line-height:1;}
.invite-modal-note{font-size:0.72rem;color:var(--ink-muted);line-height:1.6;background:var(--paper);border-left:2.5px solid var(--teal);padding:0.55rem 0.75rem;border-radius:0 3px 3px 0;margin-bottom:1.1rem;}
.invite-role-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:1.1rem;}
.invite-role-btn{border:1.5px solid var(--border);background:var(--cream);border-radius:3px;padding:0.55rem 0.7rem;cursor:pointer;text-align:left;transition:all 0.15s;}
.invite-role-btn:hover{border-color:var(--teal);}
.invite-role-btn.selected{border-color:var(--teal);background:var(--teal-pale);}
.invite-role-name{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;color:var(--ink);margin-bottom:0.1rem;}
.invite-role-btn.selected .invite-role-name{color:var(--teal);}
.invite-role-desc{font-size:0.65rem;color:var(--ink-muted);line-height:1.4;}
.invite-link-box{display:flex;align-items:center;gap:0.5rem;border:1.5px solid var(--border);border-radius:3px;background:var(--cream);padding:0.55rem 0.7rem;margin-bottom:0.65rem;}
.invite-link-text{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;}
.invite-link-copy{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.08em;text-transform:uppercase;border:1.5px solid var(--teal);background:transparent;color:var(--teal);padding:0.25rem 0.6rem;cursor:pointer;border-radius:2px;white-space:nowrap;transition:all 0.15s;}
.invite-link-copy:hover{background:var(--teal-pale);}
.invite-link-copy.copied{border-color:var(--teal);background:var(--teal-pale);color:var(--teal);}
.invite-email-row{display:flex;gap:0.5rem;margin-bottom:1.1rem;}
.invite-email-row input{flex:1;font-size:0.78rem;border:1.5px solid var(--border);border-radius:3px;padding:0.5rem 0.65rem;background:var(--cream);color:var(--ink);outline:none;}
.invite-email-row input:focus{border-color:var(--teal);}
.invite-actions{display:flex;gap:0.6rem;justify-content:flex-end;}
.invite-send-btn{font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;letter-spacing:0.03em;background:var(--teal);color:white;border:none;border-radius:3px;padding:0.5rem 1.1rem;cursor:pointer;transition:background 0.15s;}
.invite-send-btn:hover{background:#235e58;}
.invite-cancel-btn{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.08em;text-transform:uppercase;background:transparent;border:1.5px solid var(--border);color:var(--ink-muted);border-radius:3px;padding:0.5rem 0.85rem;cursor:pointer;transition:all 0.15s;}
.invite-cancel-btn:hover{border-color:var(--ink-muted);}
.invite-sent-confirm{display:none;text-align:center;padding:0.8rem;font-size:0.75rem;color:var(--teal);background:var(--teal-pale);border-radius:3px;margin-bottom:0.65rem;}
.invite-sent-confirm.show{display:block;}
/* ── Invite Access Banner ────────────────────────────────────────── */
#invite-access-banner{display:none;align-items:center;justify-content:space-between;background:var(--teal);padding:0.5rem 1.4rem;font-size:0.72rem;color:white;gap:1rem;flex-shrink:0;}
#invite-access-banner.show{display:flex;}
.iab-left{display:flex;align-items:center;gap:0.65rem;}
.iab-badge{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;background:rgba(255,255,255,0.2);padding:0.15rem 0.45rem;border-radius:2px;}
.iab-text{font-weight:500;}
/* Add Artist Modal */
.add-artist-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.45);z-index:700;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.25s;}
.add-artist-overlay.open{opacity:1;pointer-events:all;}
.add-artist-modal{width:100%;max-width:480px;background:var(--cream);border-radius:4px;box-shadow:var(--shadow-lg);padding:1.8rem;transform:translateY(12px);transition:transform 0.25s;}
.add-artist-overlay.open .add-artist-modal{transform:translateY(0);}
.aam-title{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.aam-sub{font-size:0.8rem;color:var(--ink-muted);margin-bottom:1.4rem;}
.aam-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.aam-field{margin-bottom:0.9rem;}
.aam-field label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);display:block;margin-bottom:0.35rem;}
.aam-field input,.aam-field select{width:100%;padding:0.65rem 0.85rem;border:1.5px solid var(--border);background:var(--cream);font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:0.84rem;color:var(--ink);outline:none;border-radius:2px;transition:border-color 0.18s;}
.aam-field input:focus,.aam-field select:focus{border-color:var(--energy);}
.aam-actions{display:flex;gap:0.75rem;margin-top:0.4rem;}
.aam-save{flex:1;font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.7rem;cursor:pointer;border-radius:2px;transition:background 0.15s;}
.aam-save:hover{background:var(--energy-light);}
.aam-cancel{font-family:'DM Mono',monospace;font-size:0.66rem;letter-spacing:0.1em;text-transform:uppercase;background:none;color:var(--ink-muted);border:1.5px solid var(--border);padding:0.7rem 1.2rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.aam-cancel:hover{border-color:var(--ink-muted);color:var(--ink);}

/* ── CADENCE STEP (onboarding ob-5) ── */
.ob-cadence-section{margin-bottom:1.3rem;}
.ob-cadence-head{font-family:'DM Mono',monospace;font-size:0.63rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.22rem;}
.ob-cadence-sub{font-size:0.76rem;color:var(--ink-faint);margin-bottom:0.7rem;line-height:1.5;}
.ob-freq-options{display:grid;grid-template-columns:repeat(4,1fr);gap:0.45rem;}
.ob-freq{border:1.5px solid var(--border);background:var(--cream);border-radius:2px;padding:0.7rem 0.3rem;cursor:pointer;text-align:center;transition:all 0.18s;}
.ob-freq:hover{border-color:var(--energy);background:var(--energy-pale);}
.ob-freq.selected{border-color:var(--energy);background:var(--energy-pale);}
.freq-num{font-family:'Barlow Condensed',sans-serif;font-size:1.25rem;font-weight:800;color:var(--ink);line-height:1.1;}
.freq-label{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);margin-top:0.18rem;}
.freq-rec{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--energy);margin-top:0.28rem;}
/* ── Day picker ── */
.ob-day-picker{margin-top:0.9rem;animation:sp-fade 0.25s ease forwards;}
.ob-day-hint{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.5rem;transition:color 0.2s;}
.ob-day-hint.done{color:var(--teal);}
.ob-day-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0.35rem;margin-bottom:0.55rem;}
.ob-day-btn{border:1.5px solid var(--border);background:var(--cream);border-radius:2px;padding:0.55rem 0.2rem;cursor:pointer;text-align:center;transition:all 0.15s;}
.ob-day-btn:hover{border-color:var(--teal);background:var(--teal-pale);}
.ob-day-btn.selected{border-color:var(--teal);background:var(--teal-pale);}
.ob-day-btn .day-abbr{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted);display:block;}
.ob-day-btn.selected .day-abbr{color:var(--teal);font-weight:600;}
.ob-day-sub{font-size:0.7rem;color:var(--ink-faint);line-height:1.5;border-left:2px solid var(--teal);padding-left:0.6rem;}
/* ── First release toggle ── */
.ob-first-rel{display:flex;align-items:flex-start;gap:0.7rem;padding:0.75rem;border:1.5px solid var(--border);border-radius:3px;background:var(--cream);cursor:pointer;transition:border-color 0.15s,background 0.15s;margin-bottom:0.9rem;user-select:none;}
.ob-first-rel:hover{border-color:var(--teal);}
.ob-first-rel.active{border-color:var(--teal);background:var(--teal-pale);}
.ob-fr-box{width:18px;height:18px;border:2px solid var(--border);border-radius:2px;flex-shrink:0;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:0.72rem;color:white;background:var(--cream);transition:all 0.15s;}
.ob-first-rel.active .ob-fr-box{background:var(--teal);border-color:var(--teal);}
.ob-fr-label{font-size:0.8rem;color:var(--ink-soft);line-height:1.4;font-weight:500;}
.ob-fr-note{font-family:'DM Mono',monospace;font-size:0.57rem;letter-spacing:0.06em;color:var(--teal);margin-top:0.25rem;display:none;line-height:1.5;}
.ob-first-rel.active .ob-fr-note{display:block;}
.ob-songs-wrap{margin-bottom:0;}
.songs-slider-row{display:flex;align-items:center;gap:0.8rem;margin-bottom:0.55rem;}
.songs-slider-row input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:3px;background:var(--parchment-dark);border-radius:2px;outline:none;cursor:pointer;}
.songs-slider-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--energy);cursor:pointer;border:3px solid white;box-shadow:0 1px 4px rgba(255,178,0,0.3);}
.songs-readout{background:var(--paper);border-radius:2px;padding:0.5rem 0.85rem;font-size:0.8rem;color:var(--ink-soft);line-height:1.5;margin-bottom:0.45rem;}
.songs-readout strong{color:var(--energy);font-weight:600;}
.songs-cadence-tag{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:0.55rem;}
.songs-presets{display:flex;gap:0.4rem;flex-wrap:wrap;}
.songs-preset{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;border:1.5px solid var(--border);background:var(--cream);color:var(--ink-muted);padding:0.28rem 0.55rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.songs-preset:hover{border-color:var(--energy);color:var(--energy);}
.songs-preset.selected{border-color:var(--energy);background:var(--energy-pale);color:var(--energy);}
/* ── RELEASE DATE PICKER (ob-4) ── */
.ob-rd-choices{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;margin-bottom:0.9rem;}
.ob-rd-choice{border:1.5px solid var(--border);background:var(--cream);border-radius:4px;padding:0.8rem 0.9rem;cursor:pointer;transition:all 0.18s;}
.ob-rd-choice:hover{border-color:var(--energy);}
.ob-rd-choice.selected{border-color:var(--energy);background:var(--energy-pale);}
.ob-rd-choice-icon{font-size:1.1rem;margin-bottom:0.3rem;}
.ob-rd-choice-label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink);font-weight:500;margin-bottom:0.18rem;}
.ob-rd-choice-desc{font-size:0.72rem;color:var(--ink-muted);line-height:1.4;}
.ob-rd-choice.selected .ob-rd-choice-label{color:var(--energy);}
/* Planned date input */
.ob-rd-planned{display:none;margin-top:0.1rem;}
.ob-rd-planned.show{display:block;}
.ob-rd-row{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;}
/* Suggested date cards */
.ob-rd-suggest{display:none;margin-top:0.1rem;}
.ob-rd-suggest.show{display:block;}
.ob-sug-why{font-size:0.7rem;color:var(--ink-muted);line-height:1.55;background:var(--cream);border-left:2.5px solid var(--border);padding:0.55rem 0.75rem;border-radius:0 3px 3px 0;margin-bottom:0.85rem;}
.ob-sug-why-label{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:0.2rem;}
.ob-sug-week-row{display:flex;gap:0.4rem;margin-bottom:0.85rem;}
.ob-sug-wk{font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.06em;padding:0.35rem 0.7rem;border:1.5px solid var(--border);border-radius:3px;background:var(--cream);color:var(--ink-muted);cursor:pointer;transition:all 0.15s;flex:1;text-align:center;}
.ob-sug-wk:hover{border-color:var(--teal);color:var(--teal);}
.ob-sug-wk.active{border-color:var(--teal);background:var(--teal-pale);color:var(--teal);font-weight:600;}
.ob-sug-result{border:1.5px solid var(--border);border-radius:4px;padding:0.9rem;background:var(--cream);}
.ob-sug-result-date{font-family:'DM Mono',monospace;font-size:0.85rem;color:var(--energy);font-weight:600;margin-bottom:0.45rem;}
.ob-sug-result-body{font-size:0.72rem;color:var(--ink-muted);line-height:1.6;margin-bottom:0.7rem;}
.ob-sug-confirm{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;font-weight:700;letter-spacing:0.03em;background:var(--ink);color:white;border:none;border-radius:3px;padding:0.4rem 0.85rem;cursor:pointer;transition:background 0.15s;}
.ob-sug-confirm:hover{background:var(--teal);}
.ob-rd-locked{display:flex;align-items:center;gap:0.4rem;margin-top:0.75rem;font-size:0.72rem;color:var(--teal);font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;text-transform:uppercase;}
/* ── YEAR PLAN PANEL ── */
.yp-header{margin-bottom:1.5rem;}
.yp-header h2{font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:800;color:var(--ink);letter-spacing:-0.01em;margin-bottom:0.3rem;}
.yp-header p{font-size:0.82rem;color:var(--ink-muted);line-height:1.6;}
#panel-yearplan{max-width:1100px;margin:0 auto;padding:0 1.5rem;}
.yp-summary-row{display:flex;gap:0.85rem;margin-bottom:1.8rem;flex-wrap:wrap;}
.yp-summary-card{flex:1;min-width:120px;background:var(--cream);border:1px solid var(--border);padding:0.9rem 1.1rem;border-radius:2px;}
.yps-label{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.28rem;}
.yps-val{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:800;color:var(--ink);line-height:1.1;}
.yps-sub{font-size:0.7rem;color:var(--ink-muted);margin-top:0.2rem;}
.yp-section-title{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.85rem;padding-bottom:0.55rem;border-bottom:1px solid var(--border);}
.yp-cal-scroll{overflow-x:auto;padding-bottom:0.6rem;margin-bottom:2rem;}
.yp-cal-strip{display:flex;gap:0.55rem;min-width:max-content;padding:0.3rem 0.1rem;}
.yp-cal-item{width:92px;flex-shrink:0;border:1.5px solid var(--border);background:var(--cream);border-radius:2px;padding:0.7rem 0.8rem;cursor:pointer;transition:all 0.18s;position:relative;}
.yp-cal-item:hover{border-color:var(--energy);transform:translateY(-2px);box-shadow:var(--shadow);}
.yp-cal-item.yci-current{border-color:var(--energy);border-top:3px solid var(--energy);}
.yp-cal-item.yci-past{opacity:0.45;}
.yci-month{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.18rem;}
.yci-date{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1.1;margin-bottom:0.38rem;}
.yci-date-btn{cursor:pointer;transition:color 0.13s;border-radius:2px;}
.yci-date-btn:hover{color:var(--energy);}
.yci-date-btn:hover::after{content:' ⇢';font-size:0.6rem;color:var(--energy);vertical-align:middle;}
.yci-title{font-size:0.68rem;color:var(--ink-soft);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text;}
.yci-title.yci-tbd{color:var(--ink-faint);font-style:italic;}
.yci-current-badge{position:absolute;top:-8px;right:0.45rem;font-family:'DM Mono',monospace;font-size:0.44rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;padding:0.1rem 0.38rem;border-radius:2px;white-space:nowrap;}
.yp-week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:0.45rem;margin-bottom:1rem;}
.yp-day-cell{border:1.5px solid var(--border);background:var(--cream);border-radius:2px;padding:0.65rem 0.3rem;text-align:center;transition:all 0.18s;}
.yp-day-cell.ydc-post{border-color:var(--energy);background:var(--energy-pale);}
.ydc-name{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.3rem;}
.ydc-name.ydc-active{color:var(--energy);}
.ydc-dot{width:5px;height:5px;border-radius:50%;background:var(--parchment-dark);margin:0 auto;}
.ydc-dot.ydc-on{background:var(--energy);}
.ydc-post-label{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--energy);margin-top:0.3rem;}
.yp-post-note{font-size:0.76rem;color:var(--ink-muted);line-height:1.6;padding:0.7rem 1rem;background:var(--paper);border-radius:2px;}
/* ISRC chip on cal items */
.yci-isrc{font-family:'DM Mono',monospace;font-size:0.44rem;letter-spacing:0.07em;text-transform:uppercase;margin-top:0.4rem;padding:0.18rem 0.4rem;border-radius:2px;cursor:pointer;transition:all 0.15s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.yci-isrc.empty{color:var(--ink-faint);background:var(--paper);border:1px dashed var(--parchment-dark);}
.yci-isrc.empty:hover{border-color:var(--energy);color:var(--energy);}
.yci-isrc.linked{color:var(--teal);background:var(--teal-pale);border:1px solid rgba(42,124,116,0.2);}
/* Release type pill on yp-cal-item */
/* Release type cycling badge on yp-cal-item */
.yci-type-badge{position:relative;display:inline-flex;align-items:center;gap:0.2rem;font-family:'DM Mono',monospace;font-size:0.42rem;letter-spacing:0.09em;text-transform:uppercase;margin-top:0.38rem;padding:0.14rem 0.38rem;border-radius:2px;border:1px solid var(--border);background:var(--paper);color:var(--ink-faint);cursor:pointer;transition:all 0.15s;user-select:none;width:fit-content;}
.yci-type-badge:hover{border-color:var(--energy);color:var(--energy);}
.yci-type-badge:hover .yci-type-arrow{opacity:1;}
.yci-type-badge.type-single{background:var(--energy-pale);border-color:var(--energy);color:var(--energy);}
.yci-type-badge.type-ep,.yci-type-badge.type-lp{background:var(--teal-pale);border-color:var(--teal);color:var(--teal);}
.yci-type-arrow{font-size:0.38rem;opacity:0;transition:opacity 0.13s;margin-left:0.1rem;}
/* Advisory tooltip for EP/LP on low-listener accounts */
.yci-type-advisory{position:absolute;bottom:calc(100% + 7px);left:0;background:var(--ink);color:#fff;font-family:'DM Mono',monospace;font-size:0.44rem;letter-spacing:0.05em;padding:0.4rem 0.55rem;border-radius:3px;z-index:300;pointer-events:none;opacity:0;transition:opacity 0.15s;width:160px;white-space:normal;text-align:left;line-height:1.5;}
.yci-type-advisory::after{content:'';position:absolute;top:100%;left:12px;border:4px solid transparent;border-top-color:var(--ink);}
.yci-type-badge:hover .yci-type-advisory{opacity:1;}
/* Roadmap panel */
.rm-section-title{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint);margin:1.8rem 0 0.85rem;padding-bottom:0.55rem;border-bottom:1px solid var(--border);}
.rm-section-title:first-child{margin-top:0;}
.rm-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:0.85rem;margin-bottom:0.5rem;}
.rm-card{border:1.5px solid var(--border);background:var(--cream);border-radius:4px;padding:1.1rem 1.2rem;position:relative;}
.rm-card.rm-active{border-color:var(--energy);background:var(--energy-pale);}
.rm-card.rm-partner{border-color:var(--gold);background:var(--gold-pale);}
.rm-card.rm-planned{opacity:0.7;}
.rm-card-icon{font-size:1.4rem;margin-bottom:0.6rem;}
.rm-card-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:0.35rem;}
.rm-card-desc{font-size:0.76rem;color:var(--ink-muted);line-height:1.6;margin-bottom:0.75rem;}
.rm-card-badge{display:inline-block;font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.18rem 0.5rem;border-radius:2px;}
.rm-badge-dev{background:var(--energy);color:white;}
.rm-badge-partner{background:var(--gold);color:white;}
.rm-badge-horizon{background:var(--parchment-dark);color:var(--ink-muted);}
.rm-badge-live{background:var(--teal);color:white;}
.rm-card-note{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-muted);margin-top:0.6rem;padding-top:0.6rem;border-top:1px solid var(--border);line-height:1.5;}
.rm-feedback-bar{background:var(--paper);border:1.5px solid var(--border);border-radius:4px;padding:1.1rem 1.2rem;margin-top:1.8rem;display:flex;align-items:center;gap:1rem;flex-wrap:wrap;}
.rm-feedback-text{font-size:0.78rem;color:var(--ink-soft);flex:1;line-height:1.5;}
.rm-feedback-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--energy);color:var(--energy);background:transparent;padding:0.45rem 0.85rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.rm-feedback-btn:hover{background:var(--energy);color:white;}
/* Analytics panel */
.an-empty{text-align:center;padding:3rem 1.5rem;}
.an-empty-icon{font-size:2.5rem;margin-bottom:0.85rem;opacity:0.35;}
.an-empty-title{font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:700;color:var(--ink);margin-bottom:0.4rem;}
.an-empty-desc{font-size:0.8rem;color:var(--ink-muted);line-height:1.65;max-width:380px;margin:0 auto 1.4rem;}
.an-import-zone{border:2px dashed var(--parchment-dark);border-radius:4px;padding:1.8rem;text-align:center;cursor:pointer;transition:all 0.2s;background:var(--paper);max-width:420px;margin:0 auto;}
.an-import-zone:hover{border-color:var(--energy);background:var(--energy-pale);}
.an-import-icon{font-size:1.8rem;margin-bottom:0.6rem;opacity:0.5;}
.an-import-title{font-family:'DM Mono',monospace;font-size:0.64rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:0.3rem;}
.an-import-sub{font-size:0.72rem;color:var(--ink-faint);line-height:1.5;}
.an-isrc-table{width:100%;border-collapse:collapse;margin-top:1rem;}
.an-isrc-table th{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);padding:0.55rem 0.75rem;text-align:left;border-bottom:1px solid var(--border);}
.an-isrc-table td{font-size:0.76rem;color:var(--ink-soft);padding:0.65rem 0.75rem;border-bottom:1px solid var(--border-soft);}
.an-isrc-table tr:hover td{background:var(--paper);}
.an-no-isrc{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;color:var(--ink-faint);padding:0.55rem 0.75rem;font-style:italic;}
.an-dsps{display:flex;gap:0.35rem;flex-wrap:wrap;}
.an-dsp-chip{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.06em;text-transform:uppercase;padding:0.14rem 0.4rem;border-radius:2px;background:var(--teal-pale);color:var(--teal);}
/* Pitch windows */
.yp-pitch-row{display:flex;align-items:flex-start;gap:0.85rem;padding:0.75rem 0.9rem;border:1.5px solid var(--border);background:var(--cream);border-radius:2px;margin-bottom:0.55rem;position:relative;transition:border-color 0.15s;}
.yp-pitch-row.ypr-urgent{border-color:var(--energy);background:var(--energy-pale);}
.yp-pitch-row.ypr-soon{border-color:var(--gold);background:var(--gold-pale);}
.yp-pitch-row.ypr-done{opacity:0.42;}
.ypr-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px;}
.ypr-body{flex:1;min-width:0;}
.ypr-title{font-size:0.78rem;font-weight:500;color:var(--ink);line-height:1.35;margin-bottom:0.2rem;}
.ypr-meta{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);}
.ypr-badge{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.14rem 0.45rem;border-radius:2px;flex-shrink:0;align-self:center;}
.ypr-badge.badge-urgent{background:var(--energy);color:white;}
.ypr-badge.badge-soon{background:var(--gold);color:white;}
.ypr-badge.badge-open{background:var(--teal);color:white;}
.ypr-badge.badge-done{background:var(--parchment-dark);color:var(--ink-muted);}
/* ── APP SHELL ── */
#app{display:none;min-height:100vh;}
#app.visible{display:block;}
.shell{display:flex;min-height:100vh;}
.sidebar{width:228px;min-height:100vh;background:var(--cream);border-right:1px solid var(--border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:50;}
.sidebar-logo{padding:1rem 1.4rem 0.7rem;font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;font-weight:900;color:var(--ink);letter-spacing:0.02em;text-transform:uppercase;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:0.3rem;}
.sidebar-logo .caesura{color:var(--energy);font-style:italic;letter-spacing:-0.05em;}
.sidebar-badges{padding:0.5rem 1.4rem 0;display:flex;flex-direction:column;gap:0.25rem;}
.sb-badge{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.2rem 0.5rem;border-radius:2px;display:inline-block;width:fit-content;}
.sbb-free{background:var(--paper);color:var(--ink-muted);}
.sbb-paid{background:var(--energy-pale);color:var(--energy);}
.sbb-emerging{background:var(--teal-pale);color:var(--teal);}
.sbb-growing{background:var(--gold-pale);color:var(--gold);}
.sbb-established{background:var(--energy-pale);color:var(--energy);}
.sidebar-nav{padding:0.4rem 0;flex:1;overflow-y:auto;}
.nav-sec{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--ink-faint);padding:0.65rem 1.4rem 0.22rem;}
.nav-item{display:flex;align-items:center;gap:0.65rem;padding:0.46rem 1.4rem;cursor:pointer;transition:all 0.15s;color:var(--ink-muted);font-size:0.79rem;border-left:2px solid transparent;}
.nav-item:hover{color:var(--ink);background:var(--paper);}
.nav-item.active{color:var(--ink);border-left-color:var(--energy);background:var(--energy-pale);}
.nav-item.locked{opacity:0.4;cursor:not-allowed;}
.nav-item.locked::after{content:'PRO';font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;background:var(--energy-pale);color:var(--energy);padding:0.12rem 0.3rem;border-radius:2px;margin-left:auto;}
.nav-icon{font-size:0.82rem;width:1rem;text-align:center;}
.sidebar-artist{padding:0.65rem 1.4rem;border-top:1px solid var(--border);display:flex;align-items:center;gap:0.7rem;}
.artist-av{width:32px;height:32px;background:var(--energy);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;color:white;font-weight:700;flex-shrink:0;overflow:hidden;}
.artist-name{font-size:0.78rem;color:var(--ink);}
.artist-sub{font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--ink-faint);letter-spacing:0.06em;text-transform:uppercase;margin-top:1px;}
.main{margin-left:228px;flex:1;height:100vh;overflow:hidden;display:flex;flex-direction:column;}
.topbar{background:var(--cream);border-bottom:1px solid var(--border);padding:0.85rem 2rem;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:40;}
.topbar-greeting{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:800;color:var(--ink);letter-spacing:-0.01em;}
.topbar-greeting em{font-style:italic;color:var(--energy);}
.topbar-sub{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-top:0.15rem;}
.topbar-right{display:flex;align-items:center;gap:0.75rem;}
.tb-cs-badge{display:flex;align-items:center;gap:0.35rem;padding:0.3rem 0.65rem;border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:all 0.15s;background:var(--cream);}
.tb-cs-badge:hover{border-color:var(--energy);background:var(--cream);}
.tb-cs-label{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.tb-cs-num{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:900;color:var(--ink);line-height:1;letter-spacing:-0.02em;}
.tb-cs-trend{font-size:0.7rem;font-weight:700;color:var(--ink-muted);}
.tb-theme-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--border);border-radius:3px;background:var(--cream);color:var(--ink-muted);font-size:1rem;cursor:pointer;transition:all 0.15s;padding:0;line-height:1;}
.tb-theme-btn:hover{border-color:var(--energy);color:var(--energy);}
[data-theme="dark"] .tb-theme-btn{background:var(--parchment);}
.upgrade-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy-pale);color:var(--energy);border:1px solid var(--energy);padding:0.38rem 0.85rem;cursor:pointer;transition:all 0.2s;border-radius:2px;}
.upgrade-btn:hover{background:var(--energy);color:white;}
.upgrade-btn.hidden{display:none;}
.notif-btn{width:30px;height:30px;border-radius:50%;background:var(--paper);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.82rem;position:relative;}
.notif-dot{position:absolute;top:4px;right:4px;width:6px;height:6px;background:var(--energy);border-radius:50%;border:2px solid var(--cream);}
.notif-panel{position:absolute;top:calc(100% + 0.5rem);right:0;width:300px;background:var(--cream);border:1px solid var(--border);border-radius:3px;box-shadow:0 4px 20px rgba(0,0,0,0.1);z-index:500;overflow:hidden;}
.notif-panel-header{padding:0.65rem 0.9rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.notif-panel-title{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);}
.notif-close{background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:0.9rem;padding:0;line-height:1;}
.notif-item{padding:0.75rem 0.9rem;border-bottom:1px solid var(--border);display:flex;gap:0.65rem;align-items:flex-start;}
.notif-item:last-child{border-bottom:none;}
.notif-item-icon{font-size:0.9rem;flex-shrink:0;margin-top:0.05rem;}
.notif-item-body{flex:1;}
.notif-item-title{font-family:'Barlow Condensed',sans-serif;font-size:0.8rem;font-weight:700;color:var(--ink);line-height:1.3;margin-bottom:0.15rem;}
.notif-item-desc{font-size:0.62rem;color:var(--ink-muted);line-height:1.5;}
.notif-item.notif-critical .notif-item-title{color:var(--energy);}
.notif-empty{padding:1.1rem 0.9rem;font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-faint);letter-spacing:0.06em;text-align:center;}
.topbar-right{position:relative;}
.content{padding:1.2rem 2rem 0;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;}
/* Dashboard never scrolls — everything must fit in the viewport */
.content:has(#panel-dashboard.active){overflow:hidden;}
.panel{display:none;}
.panel.active{display:block;}

/* ── TODAY'S FOCUS ── */
.today-card{grid-column:1/-1;border:1px solid var(--border);background:var(--cream);padding:1rem 1.4rem;position:relative;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;}
.today-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;}
.today-card.tc-critical::before{background:var(--energy);}
.today-card.tc-urgent::before{background:var(--gold);}
.today-card.tc-track::before{background:var(--teal);}
.today-card.tc-done::before{background:var(--parchment-dark);}
.today-left{flex:1;min-width:0;}
.today-meta{display:flex;align-items:center;gap:0.75rem;margin-bottom:0.55rem;}
.today-date{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);}
.today-badge{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.16rem 0.5rem;border-radius:2px;font-weight:500;}
.tb-critical{background:var(--energy-pale);color:var(--energy);}
.tb-urgent{background:var(--gold-pale);color:var(--gold);}
.tb-track{background:var(--teal-pale);color:var(--teal);}
.tb-done{background:var(--paper);color:var(--ink-faint);}
.today-primary-title{font-family:'Barlow Condensed',sans-serif;font-size:1.55rem;font-weight:800;color:var(--ink);line-height:1.1;letter-spacing:-0.01em;margin-bottom:0.3rem;}
.today-primary-title .tp-icon{margin-right:0.3rem;}
.today-primary-desc{font-size:0.8rem;color:var(--ink-muted);line-height:1.6;max-width:560px;}
.today-secondaries{display:flex;flex-wrap:wrap;gap:0.45rem;margin-top:0.85rem;}
.today-secondary{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--ink-soft);background:var(--paper);border:1px solid var(--border);padding:0.28rem 0.65rem;border-radius:20px;display:flex;align-items:center;gap:0.35rem;}
.today-post-pill{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;padding:0.28rem 0.65rem;border-radius:20px;display:flex;align-items:center;gap:0.35rem;border:1px solid;}
.today-post-pill.post-yes{background:var(--energy-pale);color:var(--energy);border-color:rgba(255,178,0,0.25);}
.today-post-pill.post-no{background:var(--paper);color:var(--ink-faint);border-color:var(--border);}
.today-right{display:flex;flex-direction:column;align-items:flex-end;gap:0.65rem;flex-shrink:0;}
.today-action-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.55rem 1.1rem;cursor:pointer;border-radius:2px;transition:background 0.15s;white-space:nowrap;}
.today-action-btn:hover{background:var(--energy-light);}
.today-done-btn{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.08em;text-transform:uppercase;background:none;color:var(--ink-faint);border:1px solid var(--border);padding:0.42rem 0.85rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.today-done-btn:hover{border-color:var(--teal);color:var(--teal);}
.today-done-btn.marked{background:var(--teal-pale);color:var(--teal);border-color:var(--teal);}
.today-days-ring{text-align:center;}
.tdr-num{font-family:'Barlow Condensed',sans-serif;font-size:2rem;font-weight:900;color:var(--ink);line-height:1;letter-spacing:-0.02em;}
.tdr-lbl{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.1rem;}

/* ── DASHBOARD — fills remaining content height, grid scrolls internally ── */
/* Must use .active selector so #panel-dashboard ID specificity doesn't override .panel{display:none} */
#panel-dashboard.active{
  display:flex!important;
  flex-direction:column;
  flex:1;
  min-height:0;
  overflow:hidden;
}
/* Grid scrolls as a unit inside the locked panel — outer page never scrolls */
.dash-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:0.75rem;
  flex:1;
  min-height:0;
  grid-auto-rows:auto; /* rows size to content — no forced heights */
  overflow-y:auto;     /* internal scroll within the panel */
  overflow-x:hidden;
  padding-bottom:1rem;
  align-content:start; /* pack rows to top, don't stretch */
}
#journey-strip-wrap{overflow:visible;}
.card{background:var(--cream);border:1px solid var(--border);padding:1.4rem;}

/* ── RELEASE JOURNEY STRIP ── */
.journey-strip{grid-column:1/-1;background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--teal);padding:0.85rem 1.5rem 1rem;}
.journey-strip-label{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.13em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1rem;}
.journey-phases{display:flex;align-items:flex-start;}
.journey-phase{flex:1;display:flex;flex-direction:column;align-items:center;position:relative;}
.journey-phase:not(:last-child)::after{content:'';position:absolute;top:13px;left:50%;width:100%;height:2px;background:var(--border);z-index:0;}
.journey-phase.jp-done:not(:last-child)::after{background:var(--teal);}
.journey-phase.jp-current:not(:last-child)::after{background:linear-gradient(to right,var(--teal) 0%,var(--border) 100%);}
.jp-bubble{width:26px;height:26px;border-radius:50%;border:2px solid var(--border);background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:0.72rem;position:relative;z-index:1;flex-shrink:0;transition:all 0.2s;}
.journey-phase.jp-done .jp-bubble{background:var(--teal);border-color:var(--teal);color:white;font-size:0.6rem;}
.journey-phase.jp-current .jp-bubble{background:var(--energy);border-color:var(--energy);box-shadow:0 0 0 4px rgba(255,178,0,0.13);width:30px;height:30px;font-size:0.82rem;}
.journey-phase.jp-upcoming .jp-bubble{opacity:0.35;}
.jp-label{font-family:'DM Mono',monospace;font-size:0.47rem;letter-spacing:0.07em;text-transform:uppercase;color:var(--ink-muted);margin-top:0.45rem;text-align:center;line-height:1.4;padding:0 0.2rem;}
.journey-phase.jp-done .jp-label{color:var(--teal);}
.journey-phase.jp-current .jp-label{color:var(--energy);}
.journey-phase.jp-upcoming .jp-label{opacity:0.4;}
.jp-current-desc{font-size:0.68rem;color:var(--ink-muted);text-align:center;margin-top:0.25rem;line-height:1.45;max-width:100px;padding:0 0.15rem;}
.journey-strip-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:0.6rem;}
.journey-strip-phase-name{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--energy);letter-spacing:0.01em;}
.journey-strip-detail{margin-top:0.7rem;padding-top:0.65rem;border-top:1px solid var(--border);}
.journey-strip-detail-sub{font-size:0.72rem;color:var(--ink-soft);line-height:1.5;margin-bottom:0.45rem;}
.jp-task-list{display:grid;grid-template-columns:1fr 1fr;gap:0.28rem 1.5rem;}
@media(max-width:820px){.jp-task-list{grid-template-columns:1fr;}}
.jp-task-item{display:flex;align-items:flex-start;gap:0.45rem;font-size:0.7rem;color:var(--ink-muted);line-height:1.55;}
.jp-task-dot{color:var(--teal);flex-shrink:0;font-size:0.65rem;margin-top:0.22rem;}
.jp-task-check-item{cursor:pointer;padding:0.18rem 0.3rem;border-radius:2px;transition:background 0.1s;}
.jp-task-check-item:hover{background:var(--paper);}
.jp-cb-mark{font-family:'DM Mono',monospace;font-size:0.62rem;font-weight:700;color:var(--teal);flex-shrink:0;min-width:1.1rem;line-height:1.55;user-select:none;transition:color 0.15s;}
.jp-task-done .jp-cb-mark{color:var(--ink-faint);}
.jp-task-text{font-size:0.7rem;color:var(--ink-soft);line-height:1.55;transition:color 0.15s;}
.jp-task-done .jp-task-text{color:var(--ink-faint);text-decoration:line-through;}
.jp-gate-req{font-family:'DM Mono',monospace;font-size:0.48rem;color:var(--energy);font-weight:700;margin-left:0.25rem;background:var(--energy-pale);padding:0.05rem 0.22rem;border-radius:2px;letter-spacing:0.04em;vertical-align:middle;}
.jp-task-required{border-left:2.5px solid var(--energy);padding-left:0.5rem;background:var(--energy-pale);border-radius:0 2px 2px 0;}
.jp-task-required .jp-cb-mark{color:var(--energy);}
.jp-task-required .jp-task-text{color:var(--ink);font-weight:500;}
.jp-task-required.jp-task-done{border-left-color:var(--ink-faint);background:transparent;}
.jp-task-required.jp-task-done .jp-cb-mark{color:var(--ink-faint);}
.jp-task-required.jp-task-done .jp-task-text{color:var(--ink-faint);font-weight:400;}
.jp-gate-warn{margin-top:0.75rem;padding:0.55rem 0.75rem;background:var(--energy-pale);border-left:2.5px solid var(--energy);font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.05em;color:var(--energy);line-height:1.55;border-radius:0 2px 2px 0;}
.jp-prev-wrap{margin-top:0.85rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.jp-prev-wrap[open] .jp-prev-tasks{margin-top:0.55rem;}
.jp-prev-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;list-style:none;padding:0;}
.jp-prev-summary::-webkit-details-marker{display:none;}
.jp-prev-label{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);}
.jp-prev-count{font-family:'DM Mono',monospace;font-size:0.46rem;color:var(--ink-faint);background:var(--parchment);border:1px solid var(--border);border-radius:2px;padding:0.1rem 0.35rem;}
.jp-prev-wrap:not([open]) .jp-prev-summary::after{content:'▸ show';font-family:'DM Mono',monospace;font-size:0.46rem;color:var(--ink-faint);margin-left:0.4rem;}
.jp-prev-wrap[open] .jp-prev-summary::after{content:'▾ hide';font-family:'DM Mono',monospace;font-size:0.46rem;color:var(--ink-faint);margin-left:0.4rem;}
.jp-recent-done{margin-top:0.85rem;padding-top:0.75rem;border-top:1px solid var(--border);}
.jp-recent-label{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:0.35rem;}
.jp-recent-item{display:flex;align-items:flex-start;gap:0.4rem;margin-bottom:0.18rem;}
.jp-recent-check{font-family:'DM Mono',monospace;font-size:0.58rem;font-weight:700;color:var(--teal);flex-shrink:0;min-width:1rem;}
.jp-recent-text{font-size:0.65rem;color:var(--ink-faint);text-decoration:line-through;line-height:1.5;}
.jp-release-day-banner{background:var(--energy);color:#fff;padding:0.65rem 1rem;border-radius:2px;margin-bottom:0.9rem;display:flex;align-items:center;gap:0.8rem;}
.jp-rdb-slash{font-family:'DM Mono',monospace;font-size:1.15rem;font-weight:700;letter-spacing:0.08em;opacity:0.9;flex-shrink:0;}
.jp-rdb-text{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;letter-spacing:0.02em;line-height:1.3;}
.jp-rdb-sub{font-family:'DM Mono',monospace;font-size:0.52rem;opacity:0.75;letter-spacing:0.08em;text-transform:uppercase;margin-top:0.18rem;}
.jp-cycle-hint{margin-top:0.5rem;font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.07em;color:var(--teal);opacity:0.7;}
.journey-strip-next{margin-top:0.5rem;padding-top:0.45rem;border-top:1px solid var(--border-soft);font-size:0.7rem;color:var(--ink-muted);display:flex;align-items:center;gap:0.5rem;line-height:1.4;}
.journey-strip-next strong{color:var(--ink);}
/* "show more tasks" toggle */
.jp-more-tasks{margin-top:0.4rem;}
.jp-more-summary{display:inline-flex;align-items:center;cursor:pointer;list-style:none;font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);padding:0.2rem 0;}
.jp-more-summary::-webkit-details-marker{display:none;}
.jp-more-list{margin-top:0.35rem;}
.jp-next-label{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);flex-shrink:0;}

/* ── JOURNEY STRIP TWO-COLUMN LAYOUT ── */
.journey-strip-body{display:flex;gap:0;align-items:stretch;}
.journey-strip-left{flex:1;min-width:0;padding-right:1.5rem;}
.journey-strip-right{width:220px;flex-shrink:0;border-left:1px solid var(--border);padding-left:1.5rem;display:flex;flex-direction:column;justify-content:flex-start;}

/* ── RELEASE META PANEL (merged countdown) ── */
.jp-release-meta{display:flex;flex-direction:column;gap:0.55rem;}
.jp-rm-ctx{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;line-height:1.4;margin-bottom:0.1rem;}
.jp-rm-ctx.phase-critical{color:var(--energy);}
.jp-rm-ctx.phase-launch{color:var(--energy);font-weight:700;}
.jp-rm-ctx.phase-pre{color:var(--teal);}
.jp-rm-ctx.phase-build{color:var(--ink-muted);}
.jp-rm-ctx.phase-post{color:var(--purple);}
.jp-rm-type{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);}
.jp-rm-title{font-family:'Barlow Condensed',sans-serif;font-size:1.15rem;font-weight:800;color:var(--ink);line-height:1.15;letter-spacing:-0.01em;}
.jp-rm-blocks{display:flex;gap:0.75rem;margin-top:0.1rem;}
.jp-rm-block{display:flex;flex-direction:column;align-items:center;min-width:38px;}
.jp-rm-num{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:900;color:var(--energy);line-height:1;letter-spacing:-0.02em;}
.jp-rm-lbl{font-family:'DM Mono',monospace;font-size:0.44rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.1rem;}
.jp-rm-since{display:flex;align-items:baseline;gap:0.4rem;}
.jp-rm-since .jp-rm-num{font-size:1.8rem;color:var(--teal);}
.jp-rm-since .jp-rm-lbl{font-size:0.52rem;}
.jp-rm-prog{margin-top:0.1rem;}
.jp-rm-prog-labels{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:0.48rem;color:var(--ink-faint);margin-bottom:0.25rem;}
.jp-rm-prog-bar{height:4px;background:var(--parchment);border-radius:2px;overflow:hidden;}
.jp-rm-prog-fill{height:100%;background:var(--teal);border-radius:2px;transition:width 0.4s ease;}
.jp-rm-actions{display:flex;flex-direction:column;gap:0.4rem;margin-top:0.1rem;}
.jp-rm-actions .rsch-trigger{width:100%;font-size:0.6rem;padding:0.35rem 0.6rem;}
.jp-distro-btn{display:flex!important;align-items:center;justify-content:space-between;background:var(--energy)!important;border:none!important;color:#fff!important;font-weight:700!important;text-decoration:none;border-radius:3px;letter-spacing:0.06em;}
.jp-distro-btn:hover{background:var(--energy-light)!important;color:#fff!important;}
.jp-distro-badge{font-size:0.48rem;letter-spacing:0.08em;background:rgba(0,0,0,0.18);color:#fff;padding:0.1rem 0.35rem;border-radius:100px;}
.jp-rm-distro{margin-top:0.2rem;padding-top:0.55rem;border-top:1px solid var(--border-soft);}
.jp-rm-distro-label{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:0.3rem;}
.jp-rm-distro .distro-link{display:block;font-size:0.62rem;margin-bottom:0.18rem;}
.jp-rm-distro .dm-help-btn{margin-top:0.25rem;width:100%;font-size:0.6rem;padding:0.3rem;}
.card-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.85rem;display:flex;align-items:center;gap:0.45rem;}
.card-label::before{content:'';display:inline-block;width:10px;height:11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0;}

/* Career Arc */
/* ── DASHBOARD GRID SPANS ── */
/* ── DASHBOARD GRID SPANS ── */
.career-arc{grid-column:1/-1;background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--ink);padding:1.2rem 1.7rem 1.1rem;position:relative;overflow:hidden;}
.arc-arc-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:0.75rem;}
.arc-arc-header .card-label{margin-bottom:0;}
.arc-arc-header .arc-tl-label{margin-bottom:0;}
.today-card-wrap{grid-column:span 2;min-width:0;display:flex;flex-direction:column;}
.today-card-wrap>*:last-child{flex:1;}
.career-arc::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--energy) 0%,var(--energy-light) 40%,var(--parchment-dark) 40%);}
.arc-phases{display:grid;grid-template-columns:repeat(5,1fr);gap:0.55rem;margin-top:0.3rem;}
.arc-ph{padding:0.85rem 0.9rem;border:1.5px solid var(--border);}
.arc-ph.done{background:var(--paper);}
.arc-ph.current{background:var(--energy-pale);border-color:var(--energy);}
.arc-ph.upcoming{opacity:0.55;}
.arc-ph-tag{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.25rem;}
.arc-ph.current .arc-ph-tag{color:var(--energy);}
.arc-ph.done .arc-ph-tag{color:var(--teal);}
.arc-ph-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);letter-spacing:-0.01em;}
.arc-ph-date{font-size:0.7rem;color:var(--ink-muted);margin-top:0.18rem;}
.arc-bar{height:2px;background:var(--parchment-dark);margin-top:0.6rem;border-radius:1px;overflow:hidden;}
.arc-bar-fill{height:100%;background:var(--energy);border-radius:1px;}
.arc-ph.done .arc-bar-fill{background:var(--teal);}

/* Focus */
.focus-card{grid-column:span 1;}
.focus-items{display:flex;flex-direction:column;gap:0.45rem;}
.focus-item{display:flex;align-items:flex-start;gap:0.6rem;padding:0.6rem 0.65rem;background:var(--paper);border:1px solid transparent;cursor:pointer;transition:all 0.15s;border-radius:2px;}
.focus-item:hover{background:var(--energy-pale);border-color:rgba(255,178,0,0.2);}
.focus-item.done{opacity:0.42;}
.focus-item.done .focus-title{text-decoration:line-through;}
.fcheck{width:16px;height:16px;border:1.5px solid var(--ink-faint);border-radius:2px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:0.58rem;transition:all 0.2s;}
.focus-item.done .fcheck{background:var(--teal);border-color:var(--teal);color:white;}
.focus-title{font-size:0.78rem;color:var(--ink);line-height:1.35;flex:1;}
.focus-meta{font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--ink-faint);margin-top:0.12rem;}
.fbadge{font-family:'DM Mono',monospace;font-size:0.52rem;padding:0.1rem 0.38rem;border-radius:2px;text-transform:uppercase;letter-spacing:0.06em;flex-shrink:0;margin-top:2px;}
.fb-s{background:var(--teal-pale);color:var(--teal);}
.fb-r{background:var(--energy-pale);color:var(--energy);}
.fb-st{background:var(--gold-pale);color:var(--gold);}
.fb-p{background:var(--purple-pale);color:var(--purple);}

/* Countdown */
.countdown-card{grid-column:span 1;background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--energy);padding:1.4rem;position:relative;overflow:hidden;}
.cd-phase-ctx{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.3rem 0.55rem;margin-bottom:0.65rem;border-radius:2px;line-height:1.4;}
.cd-phase-ctx:empty{display:none;}
.cd-phase-ctx.phase-pre{background:rgba(42,124,116,0.08);color:var(--teal);}
.cd-phase-ctx.phase-critical{background:rgba(255,178,0,0.08);color:var(--energy);}
.cd-phase-ctx.phase-launch{background:rgba(255,178,0,0.12);color:var(--energy);font-weight:600;}
.cd-phase-ctx.phase-post{background:rgba(154,111,10,0.08);color:var(--gold);}
.cd-phase-ctx.phase-build{background:rgba(42,124,116,0.06);color:var(--teal);}
.countdown-card::after{content:'';position:absolute;bottom:-0.5rem;right:0.5rem;width:5.5rem;height:6rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%232e2820' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%232e2820' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%232e2820' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:bottom right;opacity:0.035;pointer-events:none;}
.countdown-card .card-label{color:var(--ink-muted);}
.countdown-card .card-label::before{color:var(--energy);}
.cd-type{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--energy);margin-bottom:0.25rem;}
.cd-title{font-family:'Barlow Condensed',sans-serif;font-size:1.45rem;font-weight:800;font-style:italic;color:var(--ink);margin-bottom:1rem;line-height:1.15;letter-spacing:-0.01em;}
.cd-blocks{display:flex;gap:0.55rem;}
.cd-block{flex:1;background:var(--energy-pale);padding:0.55rem 0.35rem;text-align:center;border-radius:2px;}
.cd-num{font-family:'Barlow Condensed',sans-serif;font-size:1.9rem;font-weight:900;color:var(--energy);line-height:1;letter-spacing:-0.02em;}
.cd-lbl{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.18rem;}
.cd-prog{margin-top:1rem;}
.cd-prog-labels{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:0.56rem;color:var(--ink-muted);margin-bottom:0.32rem;}
.cd-prog-bar{height:3px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;}
.cd-prog-fill{height:100%;background:linear-gradient(90deg,var(--energy),var(--energy-light));border-radius:2px;}
/* ── BUILD PHASE — countdown card overlay ── */
.bp-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal);margin-bottom:0.3rem;}
.bp-headline{font-family:'Barlow Condensed',sans-serif;font-size:1.35rem;font-weight:900;color:var(--ink);line-height:1.1;margin-bottom:0.2rem;font-style:italic;}
.bp-sub{font-size:0.77rem;color:var(--ink-muted);margin-bottom:1rem;line-height:1.5;}
.bp-day-count{display:flex;align-items:flex-end;gap:0.3rem;margin-bottom:0.6rem;}
.bp-day-num{font-family:'Barlow Condensed',sans-serif;font-size:2.6rem;font-weight:900;color:var(--teal);line-height:1;}
.bp-day-lbl{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);padding-bottom:0.35rem;}
.bp-meter{height:3px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;margin-bottom:0.8rem;}
.bp-meter-fill{height:100%;background:linear-gradient(90deg,var(--teal),var(--energy));border-radius:2px;transition:width 0.8s ease;}
.bp-next-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:white;border:none;padding:0.55rem 0.9rem;cursor:pointer;border-radius:2px;width:100%;transition:background 0.2s;}
.bp-next-btn:hover{background:#1f8f87;}
/* ── CONTENT WEEK CARD ── */
.content-week-card{grid-column:span 2;background:var(--cream);border:1px solid var(--border);padding:1.4rem;}
.cw-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;}
.cw-header .card-label{margin-bottom:0;}
.cw-week-range{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);}
.cw-days{display:grid;grid-template-columns:repeat(7,1fr);gap:0.5rem;}
.cw-day{background:var(--cream);border:1px solid var(--parchment-dark);border-radius:4px;padding:0.6rem 0.4rem;text-align:center;position:relative;cursor:pointer;transition:all 0.15s;}
.cw-day:hover{border-color:var(--teal);background:#f0fafa;}
.cw-day.cw-today{border-color:var(--teal);border-width:2px;background:#f0fafa;}
.cw-day.cw-done{background:var(--teal-pale);border-color:var(--teal);opacity:0.7;}
.cw-day.cw-past{opacity:0.45;}
.cw-dow{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.2rem;}
.cw-date{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:800;color:var(--ink);line-height:1;margin-bottom:0.35rem;}
.cw-icon{font-size:1rem;margin-bottom:0.2rem;display:block;}
.cw-type{font-size:0.65rem;color:var(--ink-soft);line-height:1.3;font-family:'Plus Jakarta Sans','Inter',sans-serif;}
.cw-check{position:absolute;top:0.3rem;right:0.3rem;width:14px;height:14px;border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:0.55rem;color:var(--teal);}
.cw-day.cw-done .cw-check{background:var(--teal);border-color:var(--teal);color:white;}
.cw-tip{font-size:0.7rem;color:var(--ink-muted);margin-top:0.5rem;text-align:center;font-style:italic;display:none;}
.cw-day.cw-today .cw-tip{display:block;}
.cw-growth-tasks{margin-top:1.1rem;border-top:1px solid var(--parchment-dark);padding-top:0.85rem;}
.cw-gt-label{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.55rem;}
.cw-gt-items{display:flex;flex-wrap:wrap;gap:0.5rem;}
.cw-gt-item{display:flex;align-items:center;gap:0.4rem;font-size:0.76rem;color:var(--ink-soft);background:var(--cream);border:1px solid var(--parchment-dark);border-radius:100px;padding:0.3rem 0.7rem;cursor:pointer;transition:all 0.15s;}
.cw-gt-item:hover{border-color:var(--teal);color:var(--teal);}
.cw-gt-item.cw-gt-done{background:var(--teal-pale);border-color:var(--teal);color:var(--teal);text-decoration:line-through;opacity:0.6;}
.cw-gt-item .cw-gt-dot{width:6px;height:6px;border-radius:50%;background:var(--teal);flex-shrink:0;}
/* ── BREAKTHROUGH BANNER ── */
.breakthrough-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.65rem 1rem;cursor:pointer;border-radius:100px;box-shadow:0 4px 20px rgba(255,178,0,0.4);display:flex;align-items:center;gap:0.4rem;transition:all 0.2s;animation:btPulse 2.5s ease-in-out infinite;}
.breakthrough-btn:hover{background:var(--energy-light);transform:translateY(-2px);animation:none;}
@keyframes btPulse{0%,100%{box-shadow:0 4px 20px rgba(255,178,0,0.4);}50%{box-shadow:0 4px 32px rgba(255,178,0,0.75),0 0 0 6px rgba(255,178,0,0.12);}}
/* Breakthrough tooltip */
.breakthrough-tooltip{background:var(--ink);color:var(--cream);font-size:0.72rem;line-height:1.5;padding:0.85rem 1rem;border-radius:6px;max-width:240px;box-shadow:0 4px 20px rgba(0,0,0,0.25);display:none;flex-direction:column;gap:0.6rem;}
.breakthrough-tooltip.show{display:flex;}
.breakthrough-tooltip strong{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--energy);}
.breakthrough-tooltip-dismiss{background:var(--energy);border:none;color:white;font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.35rem 0.75rem;cursor:pointer;border-radius:2px;align-self:flex-start;margin-top:0.2rem;transition:opacity 0.15s;}
.breakthrough-tooltip-dismiss:hover{opacity:0.85;}

/* Active Audience */
.aa-card{grid-column:span 1;background:var(--cream);border:1px solid var(--border);padding:1.4rem;}
.aa-score-row{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;}
.aa-ring{width:72px;height:72px;position:relative;flex-shrink:0;}
.aa-ring svg{transform:rotate(-90deg);}
.aa-ring circle{fill:none;stroke-width:6;}
.aa-ring-bg{stroke:var(--parchment-dark);}
.aa-ring-fill{stroke:var(--teal);stroke-dasharray:188;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease;}
.aa-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:900;color:var(--ink);}
.aa-right{}
.aa-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);line-height:1.2;}
.aa-sub{font-size:0.72rem;color:var(--ink-muted);margin-top:0.2rem;line-height:1.4;}
.aa-breakdown{display:flex;flex-direction:column;gap:0.38rem;}
.aa-row{display:flex;align-items:center;gap:0.55rem;}
.aa-row-label{font-size:0.72rem;color:var(--ink-soft);flex:1;}
.aa-row-bar{flex:2;height:3px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;}
.aa-row-fill{height:100%;border-radius:2px;}
.aa-row-pct{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-muted);width:2.2rem;text-align:right;}
.aa-warning{margin-top:0.85rem;padding:0.55rem 0.7rem;background:var(--gold-pale);border-left:2px solid var(--gold);font-size:0.73rem;color:var(--ink-soft);line-height:1.45;}
.aa-warning strong{color:var(--gold);font-weight:500;}

/* Momentum */
.momentum-card{grid-column:span 1;}
.mo-ring{width:80px;height:80px;margin:0.5rem auto 0.35rem;position:relative;}
.mo-ring svg{transform:rotate(-90deg);}
.mo-ring circle{fill:none;stroke-width:7;}
.ring-bg{stroke:var(--parchment-dark);}
.ring-fill{stroke:var(--energy);stroke-dasharray:220;stroke-linecap:round;transition:stroke-dashoffset 1.2s ease;}
.mo-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:900;color:var(--ink);}
.mo-label{text-align:center;font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.mo-factors{display:flex;flex-direction:column;gap:0.42rem;margin-top:0.85rem;}
.mof{display:flex;align-items:center;gap:0.55rem;}
.mof-lbl{font-size:0.7rem;color:var(--ink-soft);flex:1;}
.mof-bar{flex:2;height:3px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;}
.mof-fill{height:100%;border-radius:2px;}
.mf-r{background:var(--energy);}
.mf-s{background:var(--teal);}
.mf-p{background:var(--gold);}
.mf-e{background:var(--purple);}
.mof-pct{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-muted);width:2.1rem;text-align:right;}

/* Mistake Warning Banner */
.mistake-banner{grid-column:1/-1;background:var(--cream);border:1px solid var(--border);border-left:3px solid var(--energy);padding:1.2rem 1.5rem;}
.mistake-banner-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.7rem;}
.mistake-banner-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);}
.mistake-banner-dismiss{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);background:none;border:none;cursor:pointer;}
.mistake-items{display:flex;gap:0.6rem;flex-wrap:wrap;}
.mistake-item{padding:0.45rem 0.7rem;background:var(--energy-pale);border:1px solid rgba(255,178,0,0.2);border-radius:2px;font-size:0.75rem;color:var(--ink-soft);display:flex;align-items:center;gap:0.4rem;}
.mistake-item::before{content:'⚠';font-size:0.7rem;}

/* Social */
.social-card{grid-column:span 2;}
.social-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:0.1rem;}
.social-streak-wrap{display:flex;align-items:baseline;gap:0.25rem;}
.streak-count{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:700;color:var(--energy);line-height:1;}
.streak-label{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
.streak-count.streak-hot{color:var(--teal);}
.social-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:0.55rem;gap:0.75rem;}
.mark-posted-btn{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.08em;background:none;border:1px solid var(--border);border-radius:2px;color:var(--ink-muted);padding:0.3rem 0.65rem;cursor:pointer;white-space:nowrap;transition:border-color 0.15s,color 0.15s,background 0.15s;}
.mark-posted-btn:hover{border-color:var(--energy);color:var(--energy);}
.mark-posted-btn.posted-today{background:var(--energy-pale);border-color:var(--energy);color:var(--energy);}
.sw-slot.confirmed{background:var(--energy-pale) !important;border-color:var(--energy) !important;color:var(--energy);}
.sw-slot.confirmed .sw-icon,.sw-slot.confirmed .sw-type{color:var(--energy);}
.sw-slot.confirmed:hover{background:#fde8df !important;border-color:var(--energy) !important;}
.sw-slot.sw-clickable{cursor:pointer;position:relative;}
.sw-slot.sw-clickable:not(.confirmed):hover{border-color:var(--energy);background:var(--energy-pale);}
.sw-slot.sw-clickable:not(.confirmed)::after{content:'tap';font-family:'DM Mono',monospace;font-size:0.36rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--energy);position:absolute;bottom:2px;right:3px;opacity:0;transition:opacity 0.15s;}
.sw-slot.sw-clickable:not(.confirmed):hover::after{opacity:1;}
.social-week{display:grid;grid-template-columns:repeat(7,1fr);gap:0.38rem;margin-top:0.35rem;}
.sw-day{text-align:center;}
.sw-day-lbl{font-family:'DM Mono',monospace;font-size:0.56rem;text-transform:uppercase;letter-spacing:0.06em;color:var(--ink-faint);margin-bottom:0.3rem;}
.sw-slot{height:52px;border:1.5px solid var(--border-soft);background:var(--paper);border-radius:2px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all 0.15s;gap:2px;}
.sw-slot:hover{border-color:var(--energy);background:var(--energy-pale);}
.sw-slot.filled{background:var(--teal-pale);border-color:var(--teal);}
.sw-slot.filled.hot{background:var(--energy-pale);border-color:var(--energy);}
.sw-slot.today-slot{border-color:var(--energy);border-width:2px;}
.sw-icon{font-size:0.85rem;}
.sw-type{font-family:'DM Mono',monospace;font-size:0.5rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ink-muted);}
.social-tip{margin-top:0.75rem;padding:0.55rem 0.75rem;background:var(--gold-pale);border-left:2px solid var(--gold);font-size:0.74rem;color:var(--ink-soft);line-height:1.45;}
.social-tip strong{color:var(--gold);font-weight:500;}

/* BP rotator */
.bp-banner{grid-column:1/-1;background:var(--cream);border:1px solid var(--border);padding:1.1rem 1.4rem;display:flex;align-items:flex-start;gap:1.2rem;}
.bp-icon{font-size:1.2rem;flex-shrink:0;margin-top:0.1rem;}
.bp-body{flex:1;}
.bp-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--energy);margin-bottom:0.25rem;}
.bp-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.bp-text{font-size:0.77rem;color:var(--ink-soft);line-height:1.55;}
.bp-nav{display:flex;gap:0.35rem;align-items:center;flex-shrink:0;}
.bp-nav button{width:26px;height:26px;border:1px solid var(--border);background:var(--cream);cursor:pointer;font-size:0.75rem;transition:all 0.15s;display:flex;align-items:center;justify-content:center;}
.bp-nav button:hover{border-color:var(--energy);color:var(--energy);}
.bp-counter{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--ink-muted);}

/* Quote */
.quote-card{grid-column:1/-1;background:linear-gradient(135deg,var(--parchment),var(--parchment-dark));border:1px solid var(--border);padding:1.5rem 1.9rem;display:flex;align-items:center;gap:2rem;position:relative;overflow:hidden;}
.quote-mark{font-family:'Barlow Condensed',sans-serif;font-size:5.5rem;color:var(--energy);opacity:0.1;position:absolute;top:-1.2rem;left:0.8rem;line-height:1;pointer-events:none;}
.quote-body{flex:1;}
.quote-text{font-family:'Barlow Condensed',sans-serif;font-style:italic;font-size:1rem;color:var(--ink);line-height:1.6;}
.quote-attr{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--energy);margin-top:0.55rem;}
.quote-date{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);text-align:right;flex-shrink:0;}

/* ── PLATEAU DIAGNOSIS ── */
.plateau-wrap{max-width:720px;}
.plateau-intro{background:var(--cream);border:1px solid var(--border);padding:1.5rem;margin-bottom:1.1rem;border-top:2px solid var(--energy);}
.plateau-intro h3{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:0.5rem;}
.plateau-intro p{font-size:0.82rem;color:var(--ink-soft);line-height:1.6;}
.diag-questions{display:flex;flex-direction:column;gap:0.8rem;margin-top:1.1rem;}
.diag-q{background:var(--cream);border:1px solid var(--border);padding:1.1rem 1.3rem;}
.diag-q-label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.6rem;}
.diag-q-title{font-size:0.85rem;font-weight:500;color:var(--ink);margin-bottom:0.7rem;}
.diag-opts{display:flex;gap:0.5rem;flex-wrap:wrap;}
.diag-opt{padding:0.42rem 0.8rem;border:1.5px solid var(--border);background:var(--paper);font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.08em;text-transform:uppercase;cursor:pointer;transition:all 0.15s;border-radius:2px;color:var(--ink-soft);}
.diag-opt:hover{border-color:var(--energy);background:var(--energy-pale);color:var(--energy);}
.diag-opt.selected{border-color:var(--energy);background:var(--energy-pale);color:var(--energy);}
.diag-result{background:var(--parchment);border:1px solid var(--border);border-left:3px solid var(--energy);padding:1.3rem 1.5rem;margin-top:1.1rem;display:none;}
.diag-result.visible{display:block;}
.diag-result-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--energy);margin-bottom:0.4rem;}
.diag-result-title{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:0.5rem;}
.diag-result-body{font-size:0.8rem;color:var(--ink-soft);line-height:1.6;}
.diag-result-actions{display:flex;flex-direction:column;gap:0.4rem;margin-top:0.85rem;}
.diag-action{font-size:0.78rem;color:var(--ink);display:flex;gap:0.5rem;align-items:flex-start;line-height:1.4;}
.diag-action::before{content:'';display:inline-block;width:9px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center top;flex-shrink:0;margin-top:3px;}
.diag-pro-gate{background:var(--cream);border:1.5px dashed var(--border);padding:1.2rem;text-align:center;margin-top:0.8rem;}
.diag-pro-gate p{font-size:0.8rem;color:var(--ink-muted);margin-bottom:0.7rem;line-height:1.5;}
.diag-pro-gate button{font-family:'DM Mono',monospace;font-size:0.68rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.6rem 1.2rem;cursor:pointer;border-radius:2px;}
.diag-run-btn{font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.7rem 1.4rem;cursor:pointer;border-radius:2px;margin-top:1rem;transition:background 0.2s;}
.diag-run-btn:hover{background:var(--energy-light);}

/* ── PITCH ASSISTANCE ── */
.pitch-wrap{max-width:1100px;}
.pitch-insight-bar{display:flex;gap:1rem;align-items:flex-start;background:var(--energy);color:white;padding:1.1rem 1.3rem;margin-bottom:1.4rem;border-radius:2px;}
.pitch-insight-icon{font-size:1.3rem;flex-shrink:0;margin-top:0.1rem;}
.pitch-insight-body{}
.pitch-insight-title{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.65);margin-bottom:0.35rem;}
.pitch-insight-text{font-size:0.8rem;line-height:1.65;color:rgba(255,255,255,0.85);}
.pitch-insight-text strong{color:white;}
.pitch-layout{display:flex;flex-direction:column;gap:1.2rem;}
.pitch-top-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;align-items:stretch;}
.pitch-left{flex:1;}
.pitch-right{flex:1;align-self:start;}
.pitch-section{background:var(--cream);border:1px solid var(--border);padding:1.3rem;margin-bottom:1rem;height:100%;box-sizing:border-box;}
.pitch-section-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--energy);margin-bottom:0.3rem;}
.pitch-section-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.pitch-section-sub{font-size:0.77rem;color:var(--ink-muted);line-height:1.55;margin-bottom:1rem;}

/* WAV drop zone */
.wav-drop-zone{border:2px dashed var(--border);padding:2.2rem 1.5rem;text-align:center;transition:all 0.2s;cursor:pointer;border-radius:2px;background:var(--paper);}
.wav-drop-zone:hover,.wav-drop-zone.dragover{border-color:var(--energy);background:var(--energy-pale);}
.wav-drop-icon{font-size:2.2rem;display:block;margin-bottom:0.6rem;opacity:0.4;}
.wav-drop-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:0.2rem;}
.wav-drop-sub{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.9rem;}
.wav-drop-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--ink);background:transparent;color:var(--ink);padding:0.45rem 1rem;cursor:pointer;transition:all 0.15s;border-radius:2px;}
.wav-drop-btn:hover{background:var(--energy);color:white;border-color:var(--energy);}

/* Analyzing animation */
.wav-analyzing{padding:1.5rem;text-align:center;}
.wav-analyze-bars{display:flex;gap:4px;justify-content:center;align-items:flex-end;height:28px;margin-bottom:0.8rem;}
.wav-analyze-bars span{width:4px;background:var(--energy);border-radius:2px;animation:barPulse 1s ease-in-out infinite;}
.wav-analyze-bars span:nth-child(1){animation-delay:0s;height:8px;}
.wav-analyze-bars span:nth-child(2){animation-delay:0.1s;height:16px;}
.wav-analyze-bars span:nth-child(3){animation-delay:0.2s;height:24px;}
.wav-analyze-bars span:nth-child(4){animation-delay:0.3s;height:20px;}
.wav-analyze-bars span:nth-child(5){animation-delay:0.4s;height:28px;}
.wav-analyze-bars span:nth-child(6){animation-delay:0.5s;height:18px;}
.wav-analyze-bars span:nth-child(7){animation-delay:0.6s;height:12px;}
.wav-analyze-bars span:nth-child(8){animation-delay:0.7s;height:22px;}
@keyframes barPulse{0%,100%{opacity:0.3;transform:scaleY(0.6);}50%{opacity:1;transform:scaleY(1);}}
.wav-analyze-label{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);}

/* Analysis results */
.wav-results{margin-top:1rem;}
.wav-track-info{display:flex;align-items:center;gap:0.8rem;padding:0.75rem 0.9rem;background:var(--parchment);border:1px solid var(--border);margin-bottom:0.9rem;border-radius:2px;}
.wav-track-icon{font-size:1.3rem;opacity:0.5;}
.wav-track-name{font-size:0.85rem;font-weight:500;color:var(--ink);}
.wav-track-meta{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--ink-faint);letter-spacing:0.05em;margin-top:0.1rem;}
.wav-reanalyze{margin-left:auto;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--border);background:transparent;color:var(--ink-muted);padding:0.3rem 0.6rem;cursor:pointer;border-radius:2px;}
.analysis-block{margin-bottom:0.9rem;}
.analysis-block-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.45rem;}
.analysis-edit-hint{color:var(--energy);font-size:0.52rem;}
.mood-tags,.similar-tags{display:flex;flex-wrap:wrap;gap:0.4rem;}
.mood-tag,.similar-tag{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;padding:0.28rem 0.6rem;border-radius:2px;cursor:pointer;transition:all 0.15s;border:1.5px solid;}
.mood-tag{background:var(--energy-pale);border-color:rgba(255,178,0,0.25);color:var(--energy);}
.mood-tag.inactive{background:var(--paper);border-color:var(--border);color:var(--ink-muted);opacity:0.55;}
.mood-tag:hover{border-color:var(--energy);}
.similar-tag{background:var(--parchment);border-color:var(--border);color:var(--ink-soft);}
.similar-tag.inactive{opacity:0.4;}
.similar-tag:hover{border-color:var(--energy);}
.similar-group-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.35rem;}
.audio-attrs{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;}
.audio-attr{background:var(--parchment);padding:0.5rem 0.65rem;border-radius:2px;}
.aa-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.2rem;}
.aa-bar-row{display:flex;align-items:center;gap:0.5rem;}
.aa-bar-bg{flex:1;height:4px;background:var(--border);border-radius:2px;overflow:hidden;}
.aa-bar-fill{height:100%;background:var(--energy);border-radius:2px;transition:width 0.8s ease;}
.aa-val{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--ink-muted);width:2rem;text-align:right;}

/* DSP fields */
.dsp-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.7rem;margin-bottom:1rem;}
.dsp-field-group{display:flex;flex-direction:column;gap:0.3rem;}
.dsp-field-full{grid-column:1/-1;}
.dsp-field-label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-soft);}
.dsp-tip{color:var(--ink-faint);font-size:0.55rem;letter-spacing:0.05em;text-transform:none;}
.dsp-input{width:100%;padding:0.6rem 0.75rem;border:1.5px solid var(--border);background:var(--paper);font-size:0.8rem;color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;outline:none;transition:border 0.15s;border-radius:2px;box-sizing:border-box;}
.dsp-input:focus{border-color:var(--energy);}
.dsp-textarea{width:100%;padding:0.6rem 0.75rem;border:1.5px solid var(--border);background:var(--paper);font-size:0.8rem;color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;outline:none;transition:border 0.15s;resize:vertical;min-height:4.5rem;border-radius:2px;box-sizing:border-box;line-height:1.5;}
.dsp-textarea:focus{border-color:var(--energy);}
.pitch-generate-btn{font-family:'DM Mono',monospace;font-size:0.7rem;letter-spacing:0.12em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.75rem 1.5rem;cursor:pointer;transition:background 0.2s;border-radius:2px;width:100%;}
.pitch-generate-btn:hover{background:var(--energy-light);}

/* Pitch output */
.pitch-output-tabs{display:flex;gap:0;margin-bottom:0.9rem;border-bottom:2px solid var(--border);}
.pitch-tab{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;border:none;background:transparent;color:var(--ink-muted);padding:0.5rem 0.9rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all 0.15s;}
.pitch-tab.active{color:var(--energy);border-bottom-color:var(--energy);}
.pitch-field-block{margin-bottom:0.85rem;}
.pitch-field-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:0.3rem;}
.pitch-field-name{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.pitch-field-chars{font-family:'DM Mono',monospace;font-size:0.55rem;color:var(--ink-faint);}
.pitch-field-content{padding:0.65rem 0.75rem;border:1.5px solid var(--border);background:var(--paper);font-size:0.81rem;color:var(--ink);line-height:1.6;outline:none;border-radius:2px;min-height:2.2rem;}
.pitch-field-content:focus{border-color:var(--energy);}
.pitch-actions{display:flex;gap:0.6rem;margin-bottom:1rem;}
.pitch-copy-btn{flex:1;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.65rem;cursor:pointer;transition:background 0.2s;border-radius:2px;}
.pitch-copy-btn:hover{background:#111;}
.pitch-regen-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--ink-soft);border:1.5px solid var(--border);padding:0.65rem 1rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.pitch-regen-btn:hover{border-color:var(--energy);color:var(--energy);}

/* Pro gate */
.pitch-pro-gate{background:var(--parchment);border:1.5px dashed var(--border);padding:1rem;margin-bottom:1rem;display:flex;gap:0.75rem;align-items:flex-start;border-radius:2px;}
.ppg-icon{font-size:1.2rem;flex-shrink:0;opacity:0.5;margin-top:0.1rem;}
.ppg-body{flex:1;}
.ppg-title{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--energy);margin-bottom:0.3rem;}
.ppg-text{font-size:0.76rem;color:var(--ink-muted);line-height:1.55;}
.ppg-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.45rem 0.8rem;cursor:pointer;white-space:nowrap;align-self:center;border-radius:2px;}

/* Submission checklist */
.pitch-submit-checklist{background:var(--parchment-dark);padding:0.9rem 1rem;border-radius:2px;}
.psc-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.5rem;}
.psc-item{display:flex;gap:0.5rem;align-items:flex-start;margin-bottom:0.38rem;font-size:0.76rem;color:var(--ink-soft);line-height:1.45;}
.psc-check{width:14px;height:14px;border:1.5px solid var(--border);border-radius:2px;flex-shrink:0;margin-top:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:0.55rem;background:var(--cream);}
.psc-check.done{background:var(--teal);border-color:var(--teal);color:white;}
.analysis-platform-label{display:flex;align-items:center;gap:0.45rem;flex-wrap:wrap;}
.platform-pill{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.12em;text-transform:uppercase;padding:0.14rem 0.4rem;border-radius:2px;font-weight:500;}
.platform-spotify{background:#d1fae5;color:#065f46;}
.platform-amazon{background:#fde8dc;color:var(--energy);}
.az-mood{background:var(--energy-pale);border-color:rgba(255,178,0,0.2);color:var(--energy);}
.az-mood.inactive{background:var(--paper);border-color:var(--border);color:var(--ink-muted);opacity:0.55;}
.az-cat{background:var(--gold-pale);border-color:rgba(154,111,10,0.2);color:var(--gold);}
.az-cat.inactive{background:var(--paper);border-color:var(--border);color:var(--ink-muted);opacity:0.55;}

/* Best practices list */
.pitch-bp-list{display:flex;flex-direction:column;gap:0.75rem;}
.pitch-bp-item{display:flex;gap:0.85rem;align-items:flex-start;padding:0.8rem;background:var(--paper);border-radius:2px;border:1px solid var(--border);}
.pitch-bp-num{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;color:var(--energy);flex-shrink:0;width:1.5rem;padding-top:0.1rem;}
.pitch-bp-title{font-size:0.82rem;font-weight:500;color:var(--ink);margin-bottom:0.25rem;}
.pitch-bp-text{font-size:0.75rem;color:var(--ink-muted);line-height:1.6;}

/* Pro teaser */
.pitch-teaser-section{position:relative;}
.pitch-teaser-wrap{position:relative;border-radius:2px;overflow:hidden;}
.pitch-teaser-blur{filter:blur(4px);pointer-events:none;user-select:none;opacity:0.6;}
.pitch-teaser-fake{background:var(--paper);border:1.5px solid var(--border);padding:1rem;border-radius:2px;}
.ptf-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.5rem;}
.ptf-text{font-size:0.8rem;color:var(--ink-soft);line-height:1.6;min-height:5rem;}
.ptf-counter{font-family:'DM Mono',monospace;font-size:0.6rem;color:var(--ink-faint);margin-top:0.5rem;text-align:right;}
.pitch-teaser-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem;background:rgba(253,246,236,0.92);backdrop-filter:blur(2px);}
.pto-icon{font-size:1.6rem;opacity:0.4;margin-bottom:0.6rem;}
.pto-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:0.4rem;}
.pto-sub{font-size:0.76rem;color:var(--ink-muted);line-height:1.55;max-width:320px;margin-bottom:1rem;}
.pto-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.12em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.65rem 1.4rem;cursor:pointer;border-radius:2px;transition:background 0.2s;margin-bottom:0.5rem;}
.pto-btn:hover{background:var(--energy-light);}
.pto-note{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.08em;color:var(--ink-faint);text-transform:uppercase;}

/* Char pill + warning */
.pitch-char-pill{font-family:'DM Mono',monospace;font-size:0.6rem;padding:0.15rem 0.45rem;border-radius:10px;background:var(--parchment);color:var(--ink-muted);transition:background 0.2s,color 0.2s;}
.pitch-char-pill.over{background:var(--energy-pale);color:var(--energy);font-weight:500;}
.pitch-char-warning{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;color:var(--energy);padding:0.4rem 0.5rem;background:var(--energy-pale);border-radius:2px;margin-top:0.3rem;}

/* Pro advisor note */
.ppg-advisor-note{display:flex;gap:0.7rem;align-items:flex-start;padding:0.85rem;background:var(--teal-pale);border:1px solid rgba(42,124,116,0.2);border-radius:2px;margin-bottom:0.9rem;}
.ppg-advisor-icon{font-size:1rem;flex-shrink:0;color:var(--teal);margin-top:0.1rem;}
.ppg-advisor-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--teal);margin-bottom:0.25rem;}
.ppg-advisor-text{font-size:0.75rem;color:var(--ink-soft);line-height:1.55;}

/* ── SHARED ── */
.md-drivers{display:flex;flex-direction:column;gap:0.55rem;margin-bottom:0.9rem;}
.md-card{border:1.5px solid var(--border);background:var(--cream);border-radius:2px;overflow:hidden;transition:border-color 0.2s;}
.md-card.active{border-color:var(--energy);background:var(--energy-pale);}
.md-card-header{display:flex;align-items:center;justify-content:space-between;padding:0.75rem 0.9rem;cursor:pointer;gap:0.75rem;}
.md-card-header:hover .md-card-toggle{color:var(--energy);}
.md-card-left{display:flex;align-items:center;gap:0.7rem;flex:1;}
.md-card-icon{font-size:1.1rem;flex-shrink:0;}
.md-card-title{font-size:0.82rem;font-weight:500;color:var(--ink);line-height:1.2;}
.md-card-desc{font-size:0.7rem;color:var(--ink-muted);margin-top:0.1rem;line-height:1.3;}
.md-card-toggle{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);flex-shrink:0;transition:color 0.15s;padding:0.25rem 0.5rem;border:1px solid var(--border);border-radius:2px;background:var(--cream);}
.md-card.active .md-card-toggle{color:var(--energy);border-color:var(--energy);background:var(--cream);}
.md-card-body{padding:0.75rem 0.9rem;padding-top:0.65rem;background:var(--cream);border-top:1px solid var(--border);}
.md-field-row{display:grid;grid-template-columns:1fr 1fr;gap:0.6rem;}
.md-field-col{display:flex;flex-direction:column;gap:0.28rem;}
.md-strength{margin-top:0.8rem;padding:0.75rem 0.85rem;background:var(--parchment);border-radius:2px;}
.md-strength-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.4rem;}
.md-strength-bar-bg{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-bottom:0.4rem;}
.md-strength-bar{height:100%;background:var(--teal);border-radius:2px;transition:width 0.5s ease;}
.md-strength-text{font-size:0.73rem;color:var(--ink-muted);line-height:1.4;}

.panel-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:1.1rem;}
.panel-header h2{font-family:'Barlow Condensed',sans-serif;font-size:1.75rem;font-weight:800;color:var(--ink);letter-spacing:-0.01em;}
.panel-header h2 em{font-style:italic;color:var(--energy);}
.panel-header-sub{font-size:0.78rem;color:var(--ink-muted);margin-top:0.18rem;}
.action-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.5rem 1rem;cursor:pointer;transition:background 0.2s;border-radius:2px;}
.action-btn:hover{background:var(--energy-light);}
.filter-bar{display:flex;gap:0.38rem;margin-bottom:1.1rem;flex-wrap:wrap;}
.filter-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.32rem 0.75rem;border:1.5px solid var(--border);background:var(--cream);color:var(--ink-muted);cursor:pointer;transition:all 0.15s;border-radius:2px;}
.filter-btn:hover,.filter-btn.active{border-color:var(--energy);color:var(--energy);background:var(--energy-pale);}

/* Timeline */
.tl-wrap{max-width:800px;}
.timeline{position:relative;padding-left:1.9rem;}
.timeline::before{content:'';position:absolute;left:0.38rem;top:0;bottom:0;width:1px;background:var(--border);}
.tl-month-label{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.65rem;margin-left:-1.9rem;padding-left:1.3rem;position:relative;display:flex;align-items:center;gap:0.45rem;}
.tl-month-label::before{content:'';position:absolute;left:0.22rem;top:50%;transform:translateY(-50%);width:6px;height:6px;border-radius:50%;background:var(--parchment-dark);border:1.5px solid var(--ink-faint);}
.tl-group{margin-bottom:1.1rem;}
.tl-item{display:flex;gap:0.8rem;margin-bottom:0.55rem;position:relative;}
.tl-item::before{content:'';position:absolute;left:-1.6rem;top:0.8rem;width:7px;height:7px;border-radius:50%;background:var(--cream);border:2px solid var(--border);}
.tl-item.pre::before{border-color:var(--gold);background:var(--gold-pale);}
.tl-item.launch::before{border-color:var(--energy);background:var(--energy-pale);}
.tl-item.post::before{border-color:var(--teal);background:var(--teal-pale);}
.tl-item.done::before{background:var(--teal);border-color:var(--teal);}
.tl-item.past::before{background:var(--border);border-color:var(--border);}
.tl-card{flex:1;background:var(--cream);border:1px solid var(--border);padding:0.9rem 1rem;cursor:pointer;transition:all 0.15s;border-radius:2px;}
.tl-card:hover{border-color:var(--energy);box-shadow:var(--shadow);}
.tl-item.done .tl-card{opacity:0.58;}
.tl-item.past .tl-card{opacity:0.3;filter:grayscale(0.35);transition:opacity 0.2s,filter 0.2s,border-color 0.2s;}
.tl-item.past:hover .tl-card{opacity:0.88;filter:none;border-color:var(--ink-faint);}
.tl-top{display:flex;justify-content:space-between;gap:0.5rem;align-items:flex-start;}
.tl-title{font-size:0.83rem;font-weight:500;color:var(--ink);}
.tl-item.done .tl-title{text-decoration:line-through;}
.tl-past-badge{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.25rem;}
.tl-date{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-faint);white-space:nowrap;}
.tl-desc{font-size:0.75rem;color:var(--ink-muted);margin-top:0.28rem;line-height:1.45;}
.tl-tags{display:flex;gap:0.32rem;margin-top:0.45rem;flex-wrap:wrap;}
.tl-tag{font-family:'DM Mono',monospace;font-size:0.54rem;padding:0.13rem 0.42rem;border-radius:2px;text-transform:uppercase;letter-spacing:0.06em;}
.tag-pre{background:var(--gold-pale);color:var(--gold);}
.tag-launch{background:var(--energy-pale);color:var(--energy);}
.tag-post{background:var(--teal-pale);color:var(--teal);}
.tag-social{background:var(--purple-pale);color:var(--purple);}
.tag-press{background:#fce7f3;color:#be185d;}
.tag-spotify{background:#d1fae5;color:#065f46;}
.tag-tiktok{background:#f0f0ff;color:#3730a3;}

/* Checklists */
.cl-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.cl-card{background:var(--cream);border:1px solid var(--border);padding:1.4rem;}
.cl-card-hd{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.35rem;}
.cl-card-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:800;color:var(--ink);letter-spacing:-0.01em;}
.cl-card-sub{font-size:0.7rem;color:var(--ink-muted);margin-top:0.12rem;}
.cl-prog-label{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.08em;color:var(--energy);}
.cl-bar{height:2px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;margin:0.7rem 0;}
.cl-bar-fill{height:100%;background:var(--energy);border-radius:2px;transition:width 0.4s;}
.cl-items{display:flex;flex-direction:column;gap:0.35rem;}
.cl-item{display:flex;align-items:flex-start;gap:0.6rem;padding:0.5rem 0.6rem;border:1px solid transparent;cursor:pointer;transition:all 0.15s;border-radius:2px;}
.cl-item:hover{background:var(--paper);}
.cl-item.done{opacity:0.46;}
.cl-item.done .cl-item-text{text-decoration:line-through;color:var(--ink-muted);}
.cl-check{width:16px;height:16px;border:1.5px solid var(--ink-faint);border-radius:2px;flex-shrink:0;margin-top:1px;display:flex;align-items:center;justify-content:center;font-size:0.6rem;transition:all 0.2s;}
.cl-item.done .cl-check{background:var(--teal);border-color:var(--teal);color:white;}
.cl-item-text{font-size:0.78rem;color:var(--ink);line-height:1.35;}
.cl-item-note{font-size:0.68rem;color:var(--ink-muted);margin-top:0.1rem;line-height:1.3;}
.cl-tip{margin-top:0.9rem;padding:0.6rem 0.75rem;border-left:2px solid var(--energy);background:var(--energy-pale);font-size:0.73rem;color:var(--ink-soft);line-height:1.5;}
.cl-tip strong{color:var(--energy);font-weight:500;}
/* Custom task row */
.cl-add-task-row{display:flex;gap:0.4rem;margin-top:0.85rem;align-items:center;}
.cl-add-input{flex:1;background:var(--paper);border:1px solid var(--border);color:var(--ink);font-size:0.75rem;font-family:inherit;padding:0.4rem 0.6rem;border-radius:2px;outline:none;transition:border-color 0.15s;}
.cl-add-input:focus{border-color:var(--teal);}
.cl-add-input::placeholder{color:var(--ink-faint);}
.cl-add-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;background:transparent;border:1px solid var(--border);color:var(--ink-muted);padding:0.4rem 0.7rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.cl-add-btn:hover{border-color:var(--teal);color:var(--teal);}
.cl-item.cl-custom{background:var(--teal-pale);border-color:var(--teal);opacity:0.95;}
.cl-item.cl-custom.done{opacity:0.42;}
.cl-delete-btn{background:transparent;border:none;color:var(--ink-faint);font-size:0.85rem;cursor:pointer;padding:0 0.2rem;line-height:1;flex-shrink:0;transition:color 0.15s;margin-left:auto;}
.cl-delete-btn:hover{color:var(--energy);}

/* Checklist help (?) tooltips */
.cl-help-wrap{position:relative;display:inline-block;vertical-align:middle;margin-left:4px;}
.cl-help-btn{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1.2px solid var(--ink-faint);font-size:0.55rem;font-weight:700;color:var(--ink-muted);cursor:default;background:transparent;transition:all 0.15s;font-family:'DM Mono',monospace;line-height:1;user-select:none;}
.cl-help-btn:hover,.cl-help-wrap:hover .cl-help-btn{border-color:var(--teal);color:var(--teal);background:var(--teal-pale);}
.cl-help-tip{display:none;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:var(--ink);color:var(--cream);padding:0.5rem 0.65rem;border-radius:3px;font-size:0.65rem;line-height:1.45;width:230px;z-index:600;box-shadow:0 4px 16px rgba(0,0,0,0.18);pointer-events:none;}
.cl-help-tip a{color:var(--energy);text-decoration:underline;}
.cl-help-wrap:hover .cl-help-tip{display:block;}

/* Best Practices */
.bp-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.bp-card{background:var(--cream);border:1px solid var(--border);padding:1.4rem;position:relative;}
.bp-card-icon{font-size:1.35rem;margin-bottom:0.6rem;}
.bp-card-platform{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.35rem;}
.bp-card-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:800;color:var(--ink);margin-bottom:0.45rem;line-height:1.2;letter-spacing:-0.01em;}
.bp-card-body{font-size:0.78rem;color:var(--ink-soft);line-height:1.6;}
.bp-card-body strong{color:var(--ink);font-weight:500;}
.bp-card-rules{display:flex;flex-direction:column;gap:0.38rem;margin-top:0.75rem;}
.bp-rule{display:flex;gap:0.55rem;align-items:flex-start;font-size:0.76rem;color:var(--ink-soft);line-height:1.4;}
.bp-rule::before{content:'';display:inline-block;width:9px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center top;flex-shrink:0;margin-top:3px;}
.bp-card-footer{margin-top:0.85rem;padding-top:0.7rem;border-top:1px solid var(--border-soft);font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;color:var(--ink-faint);}
.locked-overlay{position:absolute;inset:0;background:rgba(253,246,236,0.88);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.45rem;backdrop-filter:blur(2px);}
.locked-overlay .lock-icon{font-size:1.4rem;}
.locked-overlay p{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);text-align:center;}
.locked-overlay button{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.48rem 0.95rem;cursor:pointer;border-radius:2px;}

/* Ideas */
/* ── IDEAS FILTER BAR ── */
.filter-bar{display:flex;flex-wrap:wrap;gap:0.4rem;margin-bottom:1rem;}
.filter-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:var(--cream);color:var(--ink-muted);padding:0.3rem 0.75rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.filter-btn:hover{border-color:var(--ink-muted);color:var(--ink);}
.filter-btn.active{background:var(--energy);color:white;border-color:var(--energy);}

/* ── IDEAS ── */
.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.95rem;}
.idea-card{background:var(--cream);border:1.5px solid var(--border);border-radius:2px;padding:1rem;display:flex;flex-direction:column;gap:0.5rem;position:relative;transition:border-color 0.15s,box-shadow 0.15s;}
.idea-card:hover{border-color:var(--energy);box-shadow:var(--shadow);}
.idea-card.saved{border-color:var(--gold);background:var(--gold-pale);}
.idea-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:0.5rem;}
.idea-type{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.15rem 0.45rem;border-radius:2px;border:1px solid currentColor;opacity:0.8;white-space:nowrap;}
.idea-save-star{background:none;border:none;cursor:pointer;font-size:1rem;opacity:0.3;transition:opacity 0.15s,transform 0.15s;flex-shrink:0;padding:0;}
.idea-save-star:hover{opacity:0.7;transform:scale(1.1);}
.idea-save-star.saved{opacity:1;color:var(--gold);}
.idea-title{font-family:'Barlow Condensed',sans-serif;font-size:0.88rem;font-weight:700;color:var(--ink);line-height:1.3;}
.idea-hook{font-family:'DM Mono',monospace;font-size:0.67rem;letter-spacing:0.03em;color:var(--ink-soft);background:var(--parchment);padding:0.4rem 0.55rem;border-radius:2px;border-left:2px solid var(--energy);line-height:1.5;font-style:italic;}
.idea-desc{font-size:0.75rem;color:var(--ink-muted);line-height:1.6;flex:1;}
.idea-audio{display:flex;align-items:center;gap:0.5rem;padding:0.4rem 0.6rem;background:var(--parchment);border-radius:2px;margin-top:0.1rem;}
.idea-audio-icon{font-size:0.9rem;flex-shrink:0;}
.idea-audio-name{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.05em;color:var(--ink-soft);flex:1;}
.idea-audio-stat{font-family:'DM Mono',monospace;font-size:0.55rem;color:var(--energy);white-space:nowrap;}
.idea-footer{display:flex;align-items:center;justify-content:space-between;gap:0.4rem;margin-top:auto;padding-top:0.6rem;border-top:1px solid var(--border-soft);}
.idea-timing{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.07em;color:var(--ink-faint);text-transform:uppercase;}
.idea-actions{display:flex;gap:0.35rem;}
.idea-action-btn{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.08em;text-transform:uppercase;border:1px solid var(--border);background:var(--cream);color:var(--ink-muted);padding:0.25rem 0.55rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.idea-action-btn:hover{border-color:var(--energy);color:var(--energy);}
.idea-action-btn.primary{background:var(--energy);color:white;border-color:var(--energy);}
.idea-action-btn.primary:hover{background:var(--energy-light);}
.idea-source{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.2rem;}
.idea-source.live{color:var(--teal);}

/* Refresh / status */
.ideas-refresh-btn{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:var(--cream);color:var(--ink-muted);padding:0.38rem 0.8rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.ideas-refresh-btn:hover{border-color:var(--energy);color:var(--energy);}
.ideas-ai-btn{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--energy);background:var(--energy);color:white;padding:0.38rem 0.8rem;cursor:pointer;border-radius:2px;transition:background 0.15s;}
.ideas-ai-btn:hover{background:#111;}
.ideas-ai-btn:disabled{opacity:0.45;cursor:not-allowed;background:var(--ink-faint);border-color:var(--ink-faint);}
.ideas-live-btn{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid rgba(232,69,10,0.4);background:rgba(232,69,10,0.06);color:var(--energy);padding:0.38rem 0.8rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.ideas-live-btn:hover{background:var(--energy);color:white;border-color:var(--energy);}
.ideas-live-btn:disabled{opacity:0.45;cursor:not-allowed;}
.ai-cooldown-bar{padding:0.55rem 0.85rem;background:var(--gold-pale);border:1px solid var(--gold);border-radius:2px;margin-bottom:0.9rem;}
.ai-cooldown-text{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--gold);}
.idea-card.ai-generated{border-color:var(--energy);border-top:2px solid var(--energy);}
.idea-card.ai-generated .idea-source{color:var(--energy);}
.idea-video-ref-wrap{display:flex;gap:0.4rem;margin-top:0.2rem;}
.idea-video-ref{display:flex;align-items:center;gap:0.5rem;padding:0.4rem 0.6rem;background:var(--parchment);border-radius:2px;cursor:pointer;transition:background 0.15s;flex:1;}
.idea-video-ref:hover{background:var(--paper);}
.idea-video-ref-icon{font-size:0.8rem;flex-shrink:0;}
.idea-video-ref-text{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.04em;color:var(--ink-soft);flex:1;}
.idea-video-ref-link{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--energy);text-decoration:none;white-space:nowrap;}
.ideas-refresh-status{display:flex;align-items:center;gap:0.75rem;padding:0.65rem 0.85rem;background:var(--parchment);border-radius:2px;margin-bottom:0.9rem;font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.08em;color:var(--ink-muted);}
.irs-bars{display:flex;gap:3px;align-items:flex-end;height:16px;}
.irs-bars span{width:3px;background:var(--energy);border-radius:2px;animation:barPulse 1s ease-in-out infinite;}
.irs-bars span:nth-child(1){height:4px;animation-delay:0s;}
.irs-bars span:nth-child(2){height:10px;animation-delay:0.1s;}
.irs-bars span:nth-child(3){height:16px;animation-delay:0.2s;}
.irs-bars span:nth-child(4){height:10px;animation-delay:0.3s;}
.irs-bars span:nth-child(5){height:6px;animation-delay:0.4s;}

/* TikTok connect bar */
.tiktok-connect-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:0.75rem 1rem;background:var(--energy);color:white;border-radius:2px;margin-bottom:0.9rem;}
.ttcb-left{display:flex;align-items:center;gap:0.75rem;}
.ttcb-icon{font-size:1.3rem;}
.ttcb-title{font-size:0.82rem;font-weight:500;color:var(--cream);}
.ttcb-sub{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:rgba(253,246,236,0.45);margin-top:0.1rem;}
.ttcb-disconnect{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;border:1px solid rgba(253,246,236,0.2);background:transparent;color:rgba(253,246,236,0.4);padding:0.3rem 0.65rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.ttcb-disconnect:hover{color:var(--cream);border-color:var(--cream);}

/* TikTok / checklist modals */
.tiktok-modal-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.5);z-index:500;display:flex;align-items:center;justify-content:center;padding:1.5rem;}
.tiktok-modal{background:var(--cream);max-width:480px;width:100%;padding:2rem;border-radius:2px;box-shadow:var(--shadow-lg);}
.ttm-icon{font-size:2rem;margin-bottom:0.6rem;opacity:0.5;}
.ttm-title{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:700;color:var(--ink);margin-bottom:0.4rem;}
.ttm-sub{font-size:0.8rem;color:var(--ink-muted);line-height:1.6;margin-bottom:1rem;}
.ttm-features{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:1rem;padding:0.85rem;background:var(--parchment);border-radius:2px;}
.ttm-feat{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;color:var(--ink-soft);}
.ttm-note{font-size:0.72rem;color:var(--ink-faint);line-height:1.5;margin-bottom:1.1rem;font-style:italic;}
.ttm-connect-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.65rem 1.2rem;cursor:pointer;border-radius:2px;transition:background 0.2s;flex:1;}
.ttm-connect-btn:hover{background:#111;}
.ttm-cancel-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--ink-muted);border:1.5px solid var(--border);padding:0.65rem 1rem;cursor:pointer;border-radius:2px;}
.ckl-radio{font-size:0.8rem;color:var(--ink-soft);display:flex;align-items:center;gap:0.5rem;cursor:pointer;padding:0.4rem 0.6rem;border:1.5px solid var(--border);border-radius:2px;background:var(--cream);transition:all 0.15s;}
.ckl-radio:has(input:checked){border-color:var(--energy);background:var(--energy-pale);}


.idea-card{background:var(--cream);border:1px solid var(--border);padding:1.2rem;cursor:pointer;transition:all 0.18s;border-radius:2px;}
.idea-card:hover{border-color:var(--energy);box-shadow:var(--shadow);transform:translateY(-2px);}
.idea-type{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.45rem;}
.idea-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);margin-bottom:0.4rem;line-height:1.25;}
.idea-desc{font-size:0.76rem;color:var(--ink-muted);line-height:1.5;}
.idea-footer{display:flex;justify-content:space-between;align-items:center;margin-top:0.85rem;padding-top:0.65rem;border-top:1px solid var(--border-soft);}
.idea-timing{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-faint);}
.idea-save-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--energy);background:none;border:none;cursor:pointer;padding:0;}
.idea-add{background:var(--paper);border:1.5px dashed var(--border);padding:1.2rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.38rem;min-height:140px;transition:all 0.18s;border-radius:2px;}
.idea-add:hover{border-color:var(--energy);background:var(--energy-pale);}
.idea-add-icon{font-size:1.3rem;color:var(--ink-faint);}
.idea-add-text{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}

/* ── DASHBOARD RIGHT STACK — Spotify fills full column height ── */
.dash-right-stack{display:flex;flex-direction:column;gap:0.9rem;min-height:0;grid-row:span 2;height:100%;align-self:stretch;}

/* ── Dashboard Team Panel ── */
.dtp-wrap { background: var(--cream); border: 1px solid var(--border); overflow: hidden; }
.dtp-header { padding: 0.8rem 1rem 0.6rem; border-bottom: 1px solid var(--border); display: flex; align-items: baseline; gap: 0.6rem; }
.dtp-title { font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; font-weight: 700; color: var(--ink); letter-spacing: 0.02em; }
.dtp-sub { font-family: 'DM Mono', monospace; font-size: 0.48rem; color: var(--ink-faint); letter-spacing: 0.08em; }
.dtp-cards { display: flex; flex-direction: column; }
.dtp-card {
  display: flex; align-items: center; gap: 0.7rem;
  padding: 0.75rem 1rem; border-bottom: 1px solid var(--border);
  cursor: pointer; transition: background 0.12s;
}
.dtp-card:last-child { border-bottom: none; }
.dtp-card:hover { background: rgba(0,0,0,0.025); }
.dtp-card.dtp-locked { cursor: default; }
.dtp-card.dtp-locked:hover { background: none; }
.dtp-av {
  width: 30px; height: 30px; border-radius: 50%; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Barlow Condensed', sans-serif; font-size: 0.9rem; font-weight: 700; color: white;
}
.dtp-body { flex: 1; min-width: 0; }
.dtp-meta { font-family: 'DM Mono', monospace; font-size: 0.54rem; letter-spacing: 0.06em; font-weight: 500; margin-bottom: 0.2rem; display: flex; align-items: center; gap: 0.3rem; flex-wrap: wrap; }
.dtp-role { color: var(--ink-faint); font-weight: 400; }
.dtp-msg { font-size: 0.72rem; color: var(--ink-soft); line-height: 1.4; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dtp-btn { flex-shrink: 0; background: none; border: 1px solid var(--border); color: var(--ink-muted); font-family: 'DM Mono', monospace; font-size: 0.58rem; padding: 0.25rem 0.55rem; cursor: pointer; border-radius: 2px; transition: all 0.12s; white-space: nowrap; }
.dtp-btn:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.dtp-lock-btn { opacity: 0.6; }

/* ── THIS WEEK PANEL (right column) ── */
.dwp-wrap { background: var(--cream); border: 1px solid var(--border); overflow: hidden; }
.dwp-header { padding: 0.8rem 1rem 0.6rem; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; }
.dwp-title { font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; font-weight: 700; color: var(--ink); letter-spacing: 0.02em; }
.dwp-view-btn { background: none; border: none; cursor: pointer; font-size: 0.65rem; color: var(--ink-faint); padding: 0; transition: color 0.12s; }
.dwp-view-btn:hover { color: var(--energy); }
.dwp-overdue {
  display: flex; align-items: center; gap: 0.5rem;
  padding: 0.5rem 1rem; background: rgba(0,0,0,0.025);
  border-bottom: 1px solid var(--border); cursor: pointer;
  transition: background 0.12s;
}
.dwp-overdue:hover { background: rgba(0,0,0,0.05); }
.dwp-od-dot { font-size: 0.5rem; color: var(--ink-muted); flex-shrink: 0; }
.dwp-od-text { font-size: 0.68rem; color: var(--ink-soft); }
.dwp-tasks { display: flex; flex-direction: column; }
.dwp-task {
  display: flex; align-items: baseline; gap: 0.6rem;
  padding: 0.65rem 1rem; border-bottom: 1px solid var(--border);
  cursor: pointer; transition: background 0.12s;
}
.dwp-task:last-child { border-bottom: none; }
.dwp-task:hover { background: rgba(0,0,0,0.025); }
.dwp-task-date { font-size: 0.62rem; color: var(--ink-faint); flex-shrink: 0; min-width: 58px; }
.dwp-task-date.dwp-today { color: var(--energy); font-weight: 600; }
.dwp-task-title { font-size: 0.75rem; color: var(--ink-soft); line-height: 1.4; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dwp-empty { padding: 1rem; font-size: 0.72rem; color: var(--ink-faint); text-align: center; }

/* ── POSTING CALENDAR ── */
.pc-wrap { background: var(--cream); border: 1px solid var(--border); border-radius: 4px; overflow: hidden; }
.pc-header { display: flex; align-items: center; justify-content: space-between; padding: 0.9rem 1.2rem 0.75rem; border-bottom: 1px solid var(--border); flex-wrap: wrap; gap: 0.5rem; background: var(--cream); }
.pc-header-left { display: flex; align-items: center; gap: 0.75rem; }
.pc-header-right { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.pc-title { font-family: 'Barlow Condensed', sans-serif; font-size: 1.05rem; font-weight: 800; color: var(--ink); letter-spacing: 0.03em; text-transform: uppercase; }
.pc-streak { font-size: 0.68rem; color: var(--teal); font-weight: 600; background: rgba(64,184,168,0.1); padding: 0.15rem 0.5rem; border-radius: 20px; }
.pc-social-btn-wrap { display: inline-flex; align-items: center; }
.pc-social-btn { display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.65rem; color: var(--ink-soft); background: rgba(0,0,0,0.04); border: 1px solid var(--border); border-radius: 3px 0 0 3px; padding: 0.25rem 0.6rem; text-decoration: none; transition: all 0.12s; }
.pc-social-btn:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.pc-handle-clear { display: inline-flex; align-items: center; justify-content: center; font-size: 0.7rem; line-height: 1; color: var(--ink-faint); background: rgba(0,0,0,0.04); border: 1px solid var(--border); border-left: none; border-radius: 0 3px 3px 0; padding: 0.25rem 0.45rem; cursor: pointer; transition: all 0.12s; }
.pc-handle-clear:hover { background: #fee2e2; color: #dc2626; border-color: #fca5a5; }
.pc-connect-btn { font-size: 0.65rem; color: var(--teal); background: none; border: 1px dashed var(--teal); border-radius: 3px; padding: 0.25rem 0.6rem; cursor: pointer; transition: all 0.12s; }
.pc-connect-btn:hover { background: var(--teal); color: white; }

/* ── Social prompt banner ── */
.pc-social-prompt { display: flex; align-items: center; justify-content: space-between; gap: 1.2rem; padding: 0.9rem 1.2rem; background: var(--teal-pale); border-bottom: 1px solid rgba(42,124,116,0.18); flex-wrap: wrap; }
.pc-sp-left { flex: 1; min-width: 160px; }
.pc-sp-title { font-family: 'Barlow Condensed', sans-serif; font-size: 0.95rem; font-weight: 700; color: var(--teal); letter-spacing: 0.02em; margin-bottom: 0.18rem; }
.pc-sp-sub { font-size: 0.67rem; color: var(--ink-muted); line-height: 1.5; }
.pc-sp-inputs { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.pc-sp-field { display: flex; align-items: center; background: var(--surface); border: 1.5px solid rgba(42,124,116,0.35); border-radius: 3px; overflow: hidden; }
.pc-sp-at { padding: 0 0.3rem 0 0.5rem; font-family: 'DM Mono', monospace; font-size: 0.68rem; color: var(--teal); }
.pc-sp-input { border: none; background: transparent; font-size: 0.75rem; color: var(--ink); padding: 0.38rem 0.5rem 0.38rem 0; width: 90px; outline: none; font-family: 'Barlow', sans-serif; }
.pc-sp-input::placeholder { color: var(--ink-faint); }
.pc-sp-save { font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.08em; text-transform: uppercase; background: var(--teal); color: white; border: none; border-radius: 3px; padding: 0.42rem 0.85rem; cursor: pointer; white-space: nowrap; transition: background 0.12s; }
.pc-sp-save:hover { background: var(--teal-dark, #1f6b63); }

/* ── Grid ── */
.pc-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 0; border-top: 1px solid var(--border); }
.pc-col { border-right: 1px solid var(--border); padding: 0; display: flex; flex-direction: column; transition: background 0.15s; }
.pc-col:last-child { border-right: none; }
.pc-col-today { background: rgba(64,184,168,0.06); }

/* ── Column header ── */
.pc-col-hd { font-family: 'DM Mono', monospace; font-size: 0.58rem; color: var(--ink-muted); text-align: center; padding: 0.55rem 0.2rem 0.4rem; border-bottom: 1px solid var(--border); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.2rem; letter-spacing: 0.06em; text-transform: uppercase; }
.pc-col-today .pc-col-hd { color: var(--teal); }
.pc-col-hd-day { font-size: 0.57rem; }
.pc-col-hd-date { font-family: 'Barlow Condensed', sans-serif; font-size: 1rem; font-weight: 700; line-height: 1; color: var(--ink); letter-spacing: 0; }
.pc-col-today .pc-col-hd-date { color: var(--teal); background: rgba(64,184,168,0.15); width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; }
.pc-today-dot { width: 4px; height: 4px; border-radius: 50%; background: var(--teal); margin-top: 1px; }

/* ── Slots ── */
.pc-slot { display: flex; flex-direction: column; padding: 0.6rem 0.55rem 0.55rem; flex: 1; min-height: 115px; position: relative; }

/* Rest day */
.pc-rest { background: rgba(0,0,0,0.012); }
.pc-rest-label { font-family: 'DM Mono', monospace; font-size: 0.52rem; color: rgba(0,0,0,0.18); margin: auto; letter-spacing: 0.08em; text-transform: uppercase; }

/* Posted day */
.pc-posted { background: linear-gradient(135deg, rgba(64,184,168,0.08) 0%, rgba(64,184,168,0.04) 100%); cursor: pointer; align-items: center; justify-content: center; gap: 0.35rem; border-top: 2px solid var(--teal); }
.pc-posted:hover { background: rgba(64,184,168,0.14); }
.pc-posted-icon { font-size: 1.3rem; color: var(--teal); line-height: 1; }
.pc-posted-label { font-family: 'DM Mono', monospace; font-size: 0.52rem; color: var(--teal); letter-spacing: 0.08em; text-transform: uppercase; }

/* Active slot — type-coloured top border */
.pc-active { border-top: 2px solid transparent; }
.pc-active.pc-type-reel { border-top-color: var(--energy); }
.pc-active.pc-type-story { border-top-color: var(--teal); }
.pc-active.pc-type-static { border-top-color: #7c3aed; }
.pc-future { opacity: 0.65; }
.pc-today.pc-active { background: rgba(64,184,168,0.04); }

/* Type badge */
.pc-slot-type { display: inline-flex; align-items: center; gap: 0.25rem; font-family: 'DM Mono', monospace; font-size: 0.52rem; letter-spacing: 0.07em; text-transform: uppercase; font-weight: 500; margin-bottom: 0.4rem; padding: 0.12rem 0.35rem; border-radius: 2px; width: fit-content; }
.pc-type-reel .pc-slot-type { color: var(--energy); background: rgba(255,178,0,0.1); }
.pc-type-story .pc-slot-type { color: var(--teal); background: rgba(64,184,168,0.1); }
.pc-type-static .pc-slot-type { color: #7c3aed; background: rgba(124,58,237,0.1); }

/* Idea text */
.pc-slot-idea { font-size: 0.69rem; color: var(--ink-soft); line-height: 1.5; flex: 1; margin-bottom: 0.45rem; }

/* Actions */
.pc-slot-actions { display: flex; align-items: center; gap: 0.35rem; }
.pc-shuffle-btn { background: none; border: 1px solid var(--border); color: var(--ink-faint); font-size: 0.72rem; padding: 0.1rem 0.35rem; cursor: pointer; border-radius: 2px; transition: all 0.12s; line-height: 1.4; }
.pc-shuffle-btn:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.pc-confirm-btn { flex: 1; background: none; border: 1px solid var(--teal); color: var(--teal); font-size: 0.58rem; font-family: 'DM Mono', monospace; letter-spacing: 0.06em; text-transform: uppercase; padding: 0.18rem 0.4rem; cursor: pointer; border-radius: 2px; transition: all 0.12s; white-space: nowrap; }
.pc-confirm-btn:hover { background: var(--teal); color: white; }

/* Footer */
.pc-footer { padding: 0.55rem 1.2rem; border-top: 1px solid var(--border); background: rgba(0,0,0,0.012); display: flex; align-items: center; justify-content: space-between; }
.pc-freq-label { font-size: 0.6rem; color: var(--ink-faint); }
.pc-settings-link { background: none; border: none; cursor: pointer; color: var(--teal); font-size: 0.6rem; padding: 0; text-decoration: underline; }
/* Legend */
.pc-legend { display: flex; align-items: center; gap: 0.7rem; }
.pc-legend-item { display: flex; align-items: center; gap: 0.25rem; font-family: 'DM Mono', monospace; font-size: 0.5rem; color: var(--ink-faint); letter-spacing: 0.05em; text-transform: uppercase; }
.pc-legend-dot { width: 6px; height: 6px; border-radius: 1px; }
.pc-legend-dot-reel { background: var(--energy); }
.pc-legend-dot-story { background: var(--teal); }
.pc-legend-dot-static { background: #7c3aed; }

/* ── COMPACT CADENCE SCORE WIDGET ── */
.cs-widget{background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--energy);padding:1rem 1.1rem;position:relative;overflow:hidden;}
.cs-widget-label{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.4rem;}
.cs-widget-label::before{content:'';display:inline-block;width:9px;height:10px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;margin-right:0.3rem;flex-shrink:0;vertical-align:middle;}
.cs-widget-row{display:flex;align-items:flex-end;gap:0.4rem;margin-bottom:0.1rem;}
.cs-widget-num{font-family:'Barlow Condensed',sans-serif;font-size:2.4rem;font-weight:900;color:var(--ink);line-height:1;letter-spacing:-0.02em;}
.cs-widget-trend{font-size:1.1rem;font-weight:700;margin-bottom:0.2rem;transition:color 0.3s;color:var(--ink-muted);}
.cs-widget-tier{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--energy);margin-bottom:0.35rem;}
.cs-widget-streak{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.06em;color:var(--teal);margin-bottom:0.5rem;line-height:1.5;min-height:1.2em;}
.cs-widget-link{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);background:none;border:1px solid var(--border);padding:0.25rem 0.55rem;cursor:pointer;border-radius:2px;transition:all 0.15s;display:block;width:100%;text-align:center;}
.cs-widget-link:hover{color:var(--energy);border-color:var(--energy);}

/* ── CADENCE SCORE PANEL ── */
#cs-panel-body{background:var(--cream);padding:1.4rem;border-radius:2px;}

/* ── CADENCE SCORE CARD (full version) ── */
.cadence-score-card{background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--energy);padding:1.4rem;position:relative;overflow:hidden;}
.cadence-score-card::after{content:'';position:absolute;bottom:-0.5rem;right:0.5rem;width:6rem;height:6.5rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%232e2820' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%232e2820' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%232e2820' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:bottom right;opacity:0.03;pointer-events:none;}
.cs-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.75rem;}
.cs-card-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;gap:0.45rem;}
.cs-card-label::before{content:'';display:inline-block;width:10px;height:11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0;}
.cs-update-btn{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);background:none;border:1px solid var(--border);padding:0.2rem 0.5rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.cs-update-btn:hover{color:var(--energy);border-color:var(--energy);}
.cs-score-row{display:flex;align-items:flex-end;gap:0.5rem;margin-bottom:0.15rem;}
.cs-num{font-family:'Barlow Condensed',sans-serif;font-size:3.2rem;font-weight:900;color:var(--ink);line-height:1;letter-spacing:-0.02em;}
.cs-tier{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--energy);margin-bottom:0.7rem;}
.cs-metrics{display:flex;flex-direction:column;gap:0.4rem;}
.cs-metric{display:flex;align-items:center;gap:0.55rem;}
.cs-metric-lbl{font-size:0.67rem;color:var(--ink-muted);flex:1.4;}
.cs-metric-bar{flex:2;height:2px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;}
.cs-metric-fill{height:100%;border-radius:2px;transition:width 1s ease;}
.cs-metric-val{font-family:'DM Mono',monospace;font-size:0.55rem;color:var(--ink-faint);width:3rem;text-align:right;}
/* Monthly score reminder modal */
.csr-overlay{position:fixed;inset:0;background:rgba(26,20,14,0.55);z-index:900;display:flex;align-items:center;justify-content:center;padding:1.5rem;opacity:0;pointer-events:none;transition:opacity 0.3s;}
.csr-overlay.open{opacity:1;pointer-events:all;}
.csr-modal{background:var(--cream);max-width:400px;width:100%;border-radius:4px;padding:2rem 1.8rem 1.6rem;box-shadow:0 8px 40px rgba(0,0,0,0.18);transform:translateY(12px);transition:transform 0.3s;}
.csr-overlay.open .csr-modal{transform:translateY(0);}
.csr-slash{font-family:'DM Mono',monospace;font-size:1.1rem;font-weight:700;color:var(--energy);letter-spacing:0.1em;margin-bottom:0.7rem;}
.csr-title{font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:700;color:var(--ink);margin-bottom:0.5rem;line-height:1.2;}
.csr-body{font-size:0.76rem;color:var(--ink-muted);line-height:1.65;margin-bottom:0.85rem;}
.csr-since{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--ink-faint);background:var(--parchment);border:1px solid var(--border);border-radius:2px;padding:0.45rem 0.7rem;margin-bottom:1.2rem;}
.csr-btns{display:flex;flex-direction:column;gap:0.5rem;}
.csr-btn-primary{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.75rem 1rem;cursor:pointer;border-radius:2px;transition:background 0.15s;}
.csr-btn-primary:hover{background:#c9441a;}
.csr-btn-snooze{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;text-transform:uppercase;background:none;border:1px solid var(--border);color:var(--ink-faint);padding:0.6rem 1rem;cursor:pointer;border-radius:2px;transition:border-color 0.15s,color 0.15s;}
.csr-btn-snooze:hover{border-color:var(--ink-muted);color:var(--ink-muted);}
.cs-updated{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.06em;color:var(--ink-faint);margin-top:0.75rem;}
/* ── Cadelo Score empty state ── */
.cs-empty-state{position:absolute;inset:0;background:var(--cream);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:1.5rem 1.2rem;gap:0.55rem;z-index:2;}
.cs-es-icon{font-size:1.8rem;color:var(--border);line-height:1;margin-bottom:0.1rem;}
.cs-es-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:800;color:var(--ink);letter-spacing:0.02em;}
.cs-es-body{font-size:0.7rem;color:var(--ink-muted);line-height:1.55;max-width:220px;}
.cs-es-btn{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;border-radius:2px;padding:0.45rem 1rem;cursor:pointer;margin-top:0.3rem;transition:opacity 0.12s;}
.cs-es-btn:hover{opacity:0.88;}
.cs-delta-row{display:flex;align-items:center;gap:0.5rem;margin-top:0.55rem;}
.cs-delta-badge{font-family:'DM Mono',monospace;font-size:0.7rem;font-weight:700;padding:0.15rem 0.45rem;border-radius:2px;letter-spacing:0.03em;}
.cs-delta-up{background:rgba(26,140,122,0.12);color:var(--teal);}
.cs-delta-down{background:rgba(232,82,26,0.12);color:var(--energy);}
.cs-delta-flat{background:rgba(180,175,165,0.15);color:var(--ink-faint);}
.cs-delta-label{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.08em;text-transform:uppercase;color:rgba(253,246,236,0.45);}
.cs-sparkline-wrap{margin-top:0.7rem;padding-top:0.6rem;border-top:1px solid rgba(255,255,255,0.08);}
.cs-sparkline-label{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(253,246,236,0.4);margin-bottom:0.35rem;}
.cs-sparkline svg{width:100%;height:48px;display:block;}
.cs-spark-dot{fill:#fff;opacity:0.9;}
.cs-spark-dot-latest{fill:var(--teal);opacity:1;}
.cs-spark-line{fill:none;stroke:rgba(255,255,255,0.35);stroke-width:1.5;stroke-linejoin:round;stroke-linecap:round;}
/* Analytics history section */
.csh-section{margin-top:1.5rem;}
.csh-header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:0.75rem;}
.csh-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);}
.csh-sub{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
.csh-chart-wrap{background:var(--parchment);border:1px solid var(--border);border-radius:2px;padding:1rem;margin-bottom:1rem;}
.csh-chart-wrap svg{width:100%;height:100px;display:block;}
.csh-line{fill:none;stroke:var(--teal);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;}
.csh-area{fill:url(#csh-grad);opacity:0.25;}
.csh-dot{fill:var(--teal);}
.csh-dot-label{font-family:'DM Mono',monospace;font-size:8px;fill:var(--ink-muted);}
.csh-table{width:100%;border-collapse:collapse;font-size:0.7rem;}
.csh-table th{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);text-align:left;padding:0.35rem 0.5rem;border-bottom:1px solid var(--border);}
.csh-table td{padding:0.45rem 0.5rem;border-bottom:1px solid var(--border);color:var(--ink-soft);vertical-align:middle;}
.csh-table tr:last-child td{border-bottom:none;}
.csh-score-cell{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);}
.csh-change-up{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--teal);font-weight:700;}
.csh-change-down{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--energy);font-weight:700;}
.csh-change-flat{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--ink-faint);}
.csh-empty{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--ink-faint);letter-spacing:0.06em;text-align:center;padding:1.5rem 0;}

/* ── TEAM PULSE (mini dashboard card) ── */
.team-pulse-card{background:var(--cream);border:1px solid var(--border);padding:1.2rem 1.3rem;cursor:pointer;transition:border-color 0.15s;}
.team-pulse-card:hover{border-color:var(--energy);}
.tp-rep-row{display:flex;align-items:center;gap:0.55rem;margin-bottom:0.55rem;padding-bottom:0.55rem;border-bottom:1px solid var(--border-soft);}
.tp-rep-row:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none;}
.tp-av{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.7rem;font-weight:700;color:white;flex-shrink:0;font-style:italic;}
.tp-info{flex:1;min-width:0;}
.tp-name{font-size:0.7rem;font-weight:500;color:var(--ink);margin-bottom:0.06rem;}
.tp-msg{font-size:0.67rem;color:var(--ink-muted);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tp-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;}
.tp-dot.active{background:var(--teal);}
.tp-dot.locked{background:var(--parchment-dark);}

/* ── YOUR TEAM CARD ── */
/* ── Dashboard team check-in row ── */
.team-checkin-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;}
.tci-card{background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--border);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:0.85rem;transition:border-top-color 0.2s;min-height:220px;}
.tci-card.tci-active{border-top-color:var(--energy);}
.tci-card.tci-miles{border-top-color:var(--teal);}
.tci-card.tci-quinn{border-top-color:var(--gold);}
.tci-head{display:flex;align-items:center;gap:0.8rem;}
.tci-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:white;font-style:italic;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.tci-meta{flex:1;min-width:0;}
.tci-name{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.15;}
.tci-role{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.1rem;}
.tci-unread{min-width:18px;height:18px;border-radius:50%;background:var(--energy);color:white;font-family:'DM Mono',monospace;font-size:0.52rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.tci-msg{font-size:0.78rem;color:var(--ink-soft);line-height:1.65;padding:0.75rem 0.9rem;background:var(--paper);border-radius:2px;border-left:2px solid var(--border);flex:1;}
.tci-msg strong{color:var(--ink);}
.tci-footer{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;margin-top:auto;}
.tci-context{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);}
.tci-reply-btn{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:transparent;color:var(--ink-soft);padding:0.38rem 0.9rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;}
.tci-reply-btn:hover{border-color:var(--energy);color:var(--energy);background:var(--energy-pale);}
.tci-locked-badge{font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);background:var(--paper);border:1px solid var(--border);padding:0.28rem 0.6rem;border-radius:2px;}
/* Legacy team panel styles */
.team-card{grid-column:1/-1;background:var(--cream);border:1px solid var(--border);padding:1rem 1.3rem;}
.team-card-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.65rem;}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;}
.rep-card{padding:0.9rem;border:1.5px solid var(--border);border-radius:2px;position:relative;transition:border-color 0.2s;cursor:pointer;}
.rep-card:hover:not(.rep-locked){border-color:var(--energy);}
.rep-card.rep-locked{cursor:default;}
.rep-avatar{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.85rem;font-weight:700;color:white;font-style:italic;margin-bottom:0.55rem;}
.rep-name{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;color:var(--ink);margin-bottom:0.06rem;}
.rep-role{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;margin-bottom:0.5rem;}
.rep-latest{font-size:0.68rem;color:var(--ink-soft);line-height:1.5;padding:0.45rem 0.65rem;background:var(--paper);border-radius:2px;border-left:2px solid;}
.rep-chat-btn{margin-top:0.6rem;width:100%;font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:transparent;color:var(--ink-soft);padding:0.35rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.rep-chat-btn:hover{border-color:var(--energy);color:var(--energy);}
.rep-lock-overlay{position:absolute;inset:0;background:rgba(245,237,224,0.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.4rem;border-radius:2px;backdrop-filter:blur(1px);}
.rep-lock-overlay .lock-icon{font-size:1.3rem;opacity:0.4;}
.rep-lock-overlay p{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);text-align:center;}
.rep-lock-overlay button{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.4rem 0.85rem;cursor:pointer;border-radius:2px;}

/* ── QUINN REDIRECT PANELS ── */
.quinn-redirect-wrap{max-width:720px;margin:3rem auto;text-align:center;padding:2rem;}
.quinn-redirect-wrap h2{font-family:'Barlow Condensed',sans-serif;font-size:1.5rem;font-weight:800;color:var(--ink);margin-bottom:0.5rem;}
.quinn-redirect-wrap h2 em{font-style:italic;color:var(--gold);}
.quinn-redirect-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:1.3rem;font-weight:700;color:white;font-style:italic;margin:0 auto 1rem;box-shadow:0 2px 10px rgba(0,0,0,0.12);}
.quinn-redirect-sub{font-size:0.82rem;color:var(--ink-muted);line-height:1.7;margin-bottom:1.5rem;max-width:440px;margin-left:auto;margin-right:auto;}
.quinn-redirect-prompts{display:flex;flex-direction:column;gap:0.5rem;margin-bottom:1.2rem;}
.quinn-redirect-btn{font-family:'Barlow Condensed',sans-serif;font-size:0.88rem;font-weight:600;color:var(--ink);background:var(--cream);border:1.5px solid var(--border);padding:0.75rem 1.1rem;cursor:pointer;border-radius:2px;transition:all 0.15s;text-align:left;}
.quinn-redirect-btn:hover{border-color:var(--gold);background:var(--gold-pale);color:var(--ink);}
.quinn-redirect-note{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}

/* ── REP CHAT MODAL ── */
.rep-modal-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.4);z-index:600;display:flex;align-items:flex-end;justify-content:flex-end;padding:1.5rem;pointer-events:none;opacity:0;transition:opacity 0.25s;}
.rep-modal-overlay.open{opacity:1;pointer-events:all;}
.rep-modal{width:400px;max-height:580px;background:var(--cream);border-radius:4px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;transform:translateY(20px);transition:transform 0.25s;}
.rep-modal-overlay.open .rep-modal{transform:translateY(0);}
.rep-modal-head{display:flex;align-items:center;gap:0.75rem;padding:0.95rem 1.1rem;border-bottom:1px solid var(--border);}
.rmo-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:white;font-style:italic;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.1);}
.rmo-name{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);}
.rmo-role{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;margin-top:0.06rem;}
.rmo-close{margin-left:auto;background:none;border:none;cursor:pointer;font-size:1.1rem;color:var(--ink-faint);padding:0.2rem;transition:color 0.15s;}
.rmo-close:hover{color:var(--ink);}
.rep-chat-body{flex:1;overflow-y:auto;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:0.75rem;min-height:240px;}
.chat-msg{max-width:88%;}
.chat-msg.from-rep{align-self:flex-start;}
.chat-msg.from-user{align-self:flex-end;}
.chat-bubble{padding:0.65rem 0.85rem;font-size:0.79rem;line-height:1.6;}
.chat-msg.from-rep .chat-bubble{background:var(--cream);border:1px solid var(--border);color:var(--ink);border-radius:2px 10px 10px 10px;}
.chat-msg.from-user .chat-bubble{background:var(--energy);color:white;border-radius:10px 10px 2px 10px;}
.chat-msg-time{font-family:'DM Mono',monospace;font-size:0.5rem;color:var(--ink-faint);margin-top:0.28rem;letter-spacing:0.05em;}
.chat-msg.from-user .chat-msg-time{text-align:right;}

/* ── Starter prompt chips ── */
.rep-starter-chips{display:flex;flex-direction:column;gap:0.45rem;margin-top:0.5rem;align-self:stretch;}
.rep-starter-chip{background:var(--cream);border:1px solid var(--border);border-radius:8px;padding:0.55rem 0.85rem;font-size:0.76rem;color:var(--ink-soft);text-align:left;cursor:pointer;transition:all 0.14s;line-height:1.4;font-family:'Barlow',sans-serif;}
.rep-starter-chip:hover{border-color:var(--energy);color:var(--ink);background:rgba(255,178,0,0.05);}

.rep-modal-input{display:flex;gap:0.5rem;padding:0.8rem 1.1rem;border-top:1px solid var(--border);background:var(--cream);}
.rep-modal-input input{flex:1;padding:0.55rem 0.85rem;border:1.5px solid var(--border);background:var(--cream);font-family:'Plus Jakarta Sans','Inter',sans-serif;font-size:0.8rem;color:var(--ink);outline:none;border-radius:20px;transition:border-color 0.15s;}
.rep-modal-input input:focus{border-color:var(--energy);}
.rep-send-btn{width:34px;height:34px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.85rem;flex-shrink:0;transition:opacity 0.15s;}
.rep-send-btn:hover{opacity:0.85;}
.chat-typing{display:flex;gap:4px;align-items:center;padding:0.5rem 0.75rem;background:var(--cream);border:1px solid var(--border);border-radius:2px 10px 10px 10px;width:fit-content;}
.chat-typing span{width:6px;height:6px;background:var(--ink-faint);border-radius:50%;animation:typingDot 1.2s ease-in-out infinite;}
.chat-typing span:nth-child(2){animation-delay:0.2s;}
.chat-typing span:nth-child(3){animation-delay:0.4s;}
@keyframes typingDot{0%,80%,100%{transform:scale(0.6);opacity:0.4;}40%{transform:scale(1);opacity:1;}}

/* ── CADENCE SCORE UPDATE MODAL ── */
.cs-modal-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.5);z-index:600;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none;opacity:0;transition:opacity 0.2s;}
.cs-modal-overlay.open{opacity:1;pointer-events:all;}
.cs-modal{background:var(--cream);max-width:440px;width:100%;padding:1.8rem;border-radius:4px;box-shadow:var(--shadow-lg);max-height:85vh;overflow-y:auto;}
.cs-modal h3{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:0.3rem;}
.cs-modal-sub{font-size:0.76rem;color:var(--ink-muted);margin-bottom:1.2rem;line-height:1.55;}
.cs-modal-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1.2rem;}
.cs-modal-field{display:flex;flex-direction:column;gap:0.28rem;}
.cs-modal-label{font-family:'DM Mono',monospace;font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.csm-spotify-note{color:#1DB954;font-size:0.52rem;letter-spacing:0.06em;text-transform:none;font-weight:600;margin-left:0.3rem;}
.csm-manual-note{color:var(--ink-faint);font-size:0.5rem;letter-spacing:0.05em;text-transform:none;margin-left:0.3rem;}
/* Saves field — visually distinct, spans both columns */
.cs-modal-field-saves{grid-column:1/-1;border-top:1px solid var(--border);padding-top:0.75rem;margin-top:0.15rem;}
.cs-modal-label-saves{color:var(--teal) !important;}
.csm-saves-badge{display:inline-block;background:rgba(42,124,116,0.12);color:var(--teal);font-family:'DM Mono',monospace;font-size:0.48rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.15rem 0.45rem;border-radius:2px;margin-left:0.5rem;vertical-align:middle;font-weight:700;}
.csm-saves-note{display:block;font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.04em;text-transform:none;color:var(--ink-faint);margin-bottom:0.2rem;}
.csm-saves-tip{font-size:0.73rem;color:var(--ink-soft);line-height:1.55;background:rgba(42,124,116,0.05);border:1px solid rgba(42,124,116,0.18);border-left:3px solid var(--teal);padding:0.6rem 0.8rem;margin-top:0.85rem;margin-bottom:0.5rem;}
.csm-saves-tip strong{color:var(--teal);}
.cs-modal-input{padding:0.6rem 0.75rem;border:1.5px solid var(--border);background:var(--cream);font-size:0.82rem;color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;outline:none;border-radius:2px;transition:border-color 0.15s;}
.cs-modal-input:focus{border-color:var(--energy);}
.cs-modal-btns{display:flex;gap:0.6rem;}
.cs-modal-save{flex:1;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.7rem;cursor:pointer;border-radius:2px;transition:background 0.2s;}
.cs-modal-save:hover{background:var(--energy-light);}
.cs-modal-cancel{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--ink-muted);border:1.5px solid var(--border);padding:0.7rem 1rem;cursor:pointer;border-radius:2px;}

/* ── RESCHEDULE MODAL ── */
.rsch-trigger{display:block;margin-top:0.9rem;font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);background:none;border:none;padding:0;cursor:pointer;text-align:left;transition:color 0.15s;}
.rsch-trigger:hover{color:var(--ink-muted);}
.distro-links{display:flex;gap:0.45rem;margin-top:1rem;flex-wrap:wrap;}
.distro-link{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);border:1px solid var(--border);border-radius:2px;padding:0.28rem 0.55rem;text-decoration:none;transition:color 0.15s,border-color 0.15s,background 0.15s;}
.distro-link:hover{color:var(--ink);border-color:var(--ink-muted);background:rgba(46,40,32,0.04);}
.distro-links-label{font-family:'DM Mono',monospace;font-size:0.47rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);opacity:0.6;margin-top:0.9rem;margin-bottom:0.3rem;}
.rsch-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.5);z-index:700;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none;opacity:0;transition:opacity 0.2s;}
.rsch-overlay.open{opacity:1;pointer-events:all;}
.rsch-modal{background:var(--cream);max-width:400px;width:100%;padding:1.7rem;border-radius:4px;box-shadow:var(--shadow-lg);transform:translateY(8px);transition:transform 0.2s;}
.rsch-overlay.open .rsch-modal{transform:translateY(0);}
.rsch-modal h3{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.rsch-modal-sub{font-size:0.75rem;color:var(--ink-muted);margin-bottom:1.1rem;line-height:1.55;}
.rsch-field{display:flex;flex-direction:column;gap:0.28rem;margin-bottom:0.9rem;}
.rsch-label{font-family:'DM Mono',monospace;font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.rsch-input{padding:0.6rem 0.75rem;border:1.5px solid var(--border);background:var(--cream);font-size:0.82rem;color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;outline:none;border-radius:2px;transition:border-color 0.15s;}
.rsch-input:focus{border-color:var(--teal);}
.rsch-warn{font-size:0.72rem;color:var(--energy);margin-bottom:0.9rem;line-height:1.5;display:none;}
.rsch-warn.show{display:block;}
.rsch-btns{display:flex;gap:0.6rem;}
.rsch-confirm{flex:1;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:white;border:none;padding:0.7rem;cursor:pointer;border-radius:2px;transition:background 0.2s;}
.rsch-confirm:hover{background:#235f59;}
.rsch-cancel{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--ink-muted);border:1.5px solid var(--border);padding:0.7rem 1rem;cursor:pointer;border-radius:2px;}

/* ── DISTRIBUTOR MODAL ── */
.dm-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.5);z-index:700;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none;opacity:0;transition:opacity 0.2s;}
.dm-overlay.open{opacity:1;pointer-events:all;}
.dm-modal{background:var(--cream);max-width:620px;width:100%;padding:1.7rem;border-radius:4px;box-shadow:var(--shadow-lg);transform:translateY(8px);transition:transform 0.2s;max-height:90vh;overflow-y:auto;}
.dm-overlay.open .dm-modal{transform:translateY(0);}
.dm-modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0.3rem;}
.dm-modal-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);}
.dm-modal-sub{font-size:0.72rem;color:var(--ink-muted);margin-bottom:1.1rem;line-height:1.5;}
.dm-close{background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:1.1rem;padding:0;line-height:1;}
.dm-close:hover{color:var(--ink);}
.dm-tabs{display:flex;gap:0.45rem;margin-bottom:1.3rem;}
.dm-tab{font-family:'DM Mono',monospace;font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;background:none;border:1.5px solid var(--border);color:var(--ink-muted);padding:0.35rem 0.8rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.dm-tab.active{background:var(--ink);color:white;border-color:var(--ink);}
.dm-compare{display:grid;grid-template-columns:repeat(3,1fr);gap:0.8rem;}
.dm-compare.dm-compare-single{display:block;max-width:360px;margin:0 auto;}
.dm-other-note{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.06em;color:var(--ink-faint);text-align:center;margin-top:1rem;line-height:1.6;}
.dm-card{background:var(--cream);border:1.5px solid var(--border);border-radius:3px;padding:1rem;position:relative;}
.dm-card.dm-recommended{border-color:var(--teal);border-width:2px;}
.dm-rec-badge{position:absolute;top:-0.55rem;left:50%;transform:translateX(-50%);background:var(--teal);color:white;font-family:'DM Mono',monospace;font-size:0.43rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.18rem 0.55rem;border-radius:2px;white-space:nowrap;}
.dm-card-name{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:0.15rem;}
.dm-card-price{font-family:'DM Mono',monospace;font-size:0.63rem;color:var(--teal);margin-bottom:0.1rem;}
.dm-card-royalty{font-family:'DM Mono',monospace;font-size:0.54rem;color:var(--ink-faint);margin-bottom:0.6rem;padding-bottom:0.6rem;border-bottom:1px solid var(--border);}
.dm-card-best{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.08em;text-transform:uppercase;background:var(--parchment);color:var(--ink-muted);padding:0.18rem 0.45rem;border-radius:2px;display:inline-block;margin-bottom:0.65rem;}
.dm-pros{list-style:none;padding:0;margin:0 0 0.5rem;}
.dm-pros li{font-size:0.69rem;color:var(--ink-muted);line-height:1.5;padding-left:1rem;position:relative;margin-bottom:0.12rem;}
.dm-pros li::before{content:'✓';position:absolute;left:0;color:var(--teal);font-size:0.62rem;}
.dm-con{font-size:0.67rem;color:var(--ink-faint);padding-left:1rem;position:relative;margin-bottom:0.85rem;line-height:1.45;}
.dm-con::before{content:'–';position:absolute;left:0;color:var(--energy);}
.dm-card-link{display:block;width:100%;font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.08em;text-transform:uppercase;text-align:center;background:var(--ink);color:white;border:none;padding:0.5rem;border-radius:2px;text-decoration:none;cursor:pointer;transition:background 0.15s;box-sizing:border-box;}
.dm-card-link:hover{background:#3d342a;}
.dm-quiz-wrap{display:none;}
.dm-quiz-wrap.active{display:block;}
.dm-compare-wrap.hidden{display:none;}
.dm-q-progress{display:flex;gap:0.3rem;margin-bottom:1.1rem;}
.dm-q-dot{height:3px;flex:1;background:var(--border);border-radius:2px;transition:background 0.25s;}
.dm-q-dot.done{background:var(--teal);}
.dm-q-num{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.45rem;}
.dm-q-text{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:600;color:var(--ink);margin-bottom:1rem;line-height:1.3;}
.dm-q-options{display:flex;flex-direction:column;gap:0.45rem;}
.dm-q-opt{background:var(--cream);border:1.5px solid var(--border);border-radius:3px;padding:0.7rem 0.9rem;cursor:pointer;text-align:left;font-size:0.79rem;color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;transition:all 0.15s;line-height:1.4;}
.dm-q-opt:hover{border-color:var(--teal);background:rgba(42,100,93,0.04);}
.dm-q-opt-sub{font-size:0.66rem;color:var(--ink-muted);display:block;margin-top:0.12rem;}
.dm-result{display:none;text-align:center;padding:0.3rem 0;}
.dm-result.active{display:block;}
.dm-result-label{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.12em;text-transform:uppercase;color:var(--teal);margin-bottom:0.35rem;}
.dm-result-name{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:700;color:var(--ink);margin-bottom:0.75rem;}
.dm-result-reason{font-size:0.77rem;color:var(--ink-muted);line-height:1.65;margin-bottom:1.2rem;text-align:left;background:var(--cream);border:1px solid var(--border);border-radius:3px;padding:0.9rem;}
.dm-result-cta{display:inline-block;font-family:'DM Mono',monospace;font-size:0.64rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:white;padding:0.75rem 1.6rem;border-radius:2px;text-decoration:none;transition:background 0.15s;}
.dm-result-cta:hover{background:#235f59;}
.dm-result-retry{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;background:none;border:none;color:var(--ink-faint);cursor:pointer;margin-top:0.85rem;display:block;width:100%;text-align:center;}
.dm-result-retry:hover{color:var(--ink-muted);}
.dm-help-btn{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);background:none;border:1px solid rgba(42,100,93,0.35);border-radius:2px;padding:0.28rem 0.55rem;cursor:pointer;transition:all 0.15s;text-decoration:none;}
.dm-help-btn:hover{background:rgba(42,100,93,0.06);border-color:var(--teal);}

/* ── NEXT RELEASE MODAL ── */
.nrm-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.5);z-index:700;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none;opacity:0;transition:opacity 0.2s;}
.nrm-overlay.open{opacity:1;pointer-events:all;}
.nrm-modal{background:var(--cream);max-width:440px;width:100%;padding:1.8rem;border-radius:4px;box-shadow:var(--shadow-lg);transform:translateY(8px);transition:transform 0.2s;border-top:3px solid var(--teal);}
.nrm-overlay.open .nrm-modal{transform:translateY(0);}
.nrm-modal-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0.25rem;}
.nrm-modal-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);}
.nrm-modal-sub{font-size:0.73rem;color:var(--ink-muted);margin-bottom:1.3rem;line-height:1.55;}
.nrm-close{background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:1.1rem;padding:0;line-height:1;}
.nrm-close:hover{color:var(--ink);}
.nrm-field{display:flex;flex-direction:column;gap:0.28rem;margin-bottom:0.9rem;}
.nrm-label{font-family:'DM Mono',monospace;font-size:0.57rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.nrm-input{padding:0.6rem 0.75rem;border:1.5px solid var(--border);background:var(--cream);font-size:0.82rem;color:var(--ink);font-family:'Plus Jakarta Sans','Inter',sans-serif;outline:none;border-radius:2px;transition:border-color 0.15s;}
.nrm-input:focus{border-color:var(--teal);}
.nrm-cadence-hint{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.06em;color:var(--teal);margin-top:0.25rem;line-height:1.5;}
.nrm-warn{font-size:0.72rem;color:var(--energy);margin-bottom:0.9rem;line-height:1.5;display:none;}
.nrm-warn.show{display:block;}
.nrm-btns{display:flex;gap:0.6rem;margin-top:0.4rem;}
.nrm-confirm{flex:1;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:white;border:none;padding:0.7rem;cursor:pointer;border-radius:2px;transition:background 0.2s;}
.nrm-confirm:hover{background:#235f59;}
.nrm-confirm:disabled{background:var(--border);cursor:not-allowed;}
.nrm-cancel{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--ink-muted);border:1.5px solid var(--border);padding:0.7rem 1rem;cursor:pointer;border-radius:2px;}

/* ── CADENCE SETTINGS MODAL ── */
.csm-overlay{position:fixed;inset:0;background:rgba(46,40,32,0.5);z-index:700;display:flex;align-items:center;justify-content:center;padding:1.5rem;pointer-events:none;opacity:0;transition:opacity 0.2s;}
.csm-overlay.open{opacity:1;pointer-events:all;}
.csm-modal{background:var(--cream);max-width:480px;width:100%;padding:1.8rem;border-radius:4px;box-shadow:var(--shadow-lg);transform:translateY(8px);transition:transform 0.2s;border-top:3px solid var(--energy);}
.csm-overlay.open .csm-modal{transform:translateY(0);}
.csm-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:0.2rem;}
.csm-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);}
.csm-sub{font-size:0.73rem;color:var(--ink-muted);margin-bottom:1.4rem;line-height:1.55;}
.csm-close{background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:1.1rem;padding:0;line-height:1;}
.csm-close:hover{color:var(--ink);}
.csm-section{margin-bottom:1.3rem;}
.csm-section-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.7rem;border-bottom:1px solid var(--border);padding-bottom:0.35rem;}
.csm-freq-row{display:flex;gap:0.45rem;flex-wrap:wrap;}
.csm-freq-chip{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;padding:0.38rem 0.75rem;border:1.5px solid var(--border);background:var(--cream);border-radius:2px;cursor:pointer;transition:all 0.15s;color:var(--ink-muted);}
.csm-freq-chip.selected{background:var(--energy);border-color:var(--energy);color:white;}
.csm-day-row{display:flex;gap:0.4rem;margin-top:0.6rem;flex-wrap:wrap;}
.csm-day-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;padding:0.3rem 0.55rem;border:1.5px solid var(--border);background:var(--cream);border-radius:2px;cursor:pointer;transition:all 0.15s;color:var(--ink-muted);}
.csm-day-btn.selected{background:var(--energy);border-color:var(--energy);color:white;}
.csm-day-hint{font-family:'DM Mono',monospace;font-size:0.53rem;color:var(--ink-faint);margin-top:0.4rem;letter-spacing:0.04em;}
.csm-slider-row{display:flex;align-items:center;gap:0.8rem;}
.csm-slider{flex:1;accent-color:var(--energy);}
.csm-slider-val{font-family:'DM Mono',monospace;font-size:0.68rem;color:var(--energy);font-weight:600;min-width:2.5rem;text-align:right;}
.csm-slider-desc{font-family:'DM Mono',monospace;font-size:0.53rem;color:var(--teal);margin-top:0.4rem;letter-spacing:0.04em;}
.csm-btns{display:flex;gap:0.6rem;margin-top:0.4rem;}
.csm-save{flex:1;font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.75rem;cursor:pointer;border-radius:2px;transition:background 0.2s;}
.csm-save:hover{background:var(--energy-light);}
.csm-cancel{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:transparent;color:var(--ink-muted);border:1.5px solid var(--border);padding:0.75rem 1rem;cursor:pointer;border-radius:2px;}
/* Settings gear in sidebar */
.sb-settings-btn{margin-left:auto;background:none;border:none;cursor:pointer;color:var(--ink-faint);font-size:0.9rem;padding:0.2rem;line-height:1;transition:color 0.15s;}
.sb-settings-btn:hover{color:var(--energy);}
.sb-signout-row{padding:0 1.4rem 0.8rem;text-align:right;}
.sb-signout-btn{background:none;border:none;cursor:pointer;font-size:0.65rem;color:var(--ink-faint);letter-spacing:0.04em;padding:0;transition:color 0.15s;}
.sb-signout-btn:hover{color:var(--energy);}

/* ── ARC TIMELINE STRIP ── */
.arc-tl-wrap{margin-top:1.1rem;border-top:1px solid var(--border-soft);padding-top:0.85rem;}
.arc-tl-label{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.6rem;display:flex;align-items:center;justify-content:space-between;}
.arc-tl-scroll{overflow-x:auto;padding-bottom:0.5rem;scrollbar-width:thin;scrollbar-color:var(--parchment-dark) transparent;}
.arc-tl-scroll::-webkit-scrollbar{height:3px;}
.arc-tl-scroll::-webkit-scrollbar-track{background:transparent;}
.arc-tl-scroll::-webkit-scrollbar-thumb{background:var(--parchment-dark);border-radius:2px;}
.arc-tl-days{display:flex;gap:0.35rem;min-width:max-content;padding:0.1rem 0.1rem 0.2rem;}
.arc-tl-day{width:50px;flex-shrink:0;text-align:center;cursor:pointer;padding:0.45rem 0.25rem 0.4rem;border-radius:3px;border:1.5px solid transparent;transition:all 0.15s;position:relative;}
.arc-tl-day:hover{background:var(--energy-pale);border-color:rgba(255,178,0,0.2);}
.arc-tl-day.atl-past{opacity:0.42;}
.arc-tl-day.atl-today{background:var(--energy-pale);border-color:var(--energy);}
.arc-tl-day.atl-release{background:var(--ink);border-color:var(--ink);}
.arc-tl-dow{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.18rem;}
.atl-today .arc-tl-dow{color:var(--energy);}
.atl-release .arc-tl-dow{color:rgba(253,246,236,0.5);}
.arc-tl-date{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:900;color:var(--ink);line-height:1;}
.atl-today .arc-tl-date{color:var(--energy);}
.atl-release .arc-tl-date{color:var(--cream);}
.arc-tl-month{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.1rem;}
.atl-release .arc-tl-month{color:rgba(253,246,236,0.4);}
.arc-tl-dots{display:flex;justify-content:center;gap:2px;margin-top:0.28rem;min-height:6px;}
.arc-tl-dot{width:5px;height:5px;border-radius:50%;}
.arc-tl-badge{font-family:'DM Mono',monospace;font-size:0.42rem;letter-spacing:0.08em;text-transform:uppercase;margin-top:0.18rem;}
.atl-today .arc-tl-badge{color:var(--energy);}
.atl-release .arc-tl-badge{color:var(--energy-light);}
/* Day tooltip */
.arc-tl-tooltip{position:fixed;background:var(--ink);color:var(--cream);padding:0.6rem 0.85rem;border-radius:3px;min-width:190px;max-width:260px;z-index:9999;box-shadow:var(--shadow-lg);pointer-events:none;display:none;text-align:left;}
.att-date{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:rgba(253,246,236,0.4);margin-bottom:0.35rem;}
.att-task{font-size:0.72rem;color:var(--cream);line-height:1.4;padding:0.2rem 0;border-bottom:1px solid rgba(253,246,236,0.07);display:flex;align-items:flex-start;gap:0.4rem;}
.att-task:last-child{border-bottom:none;}
.att-dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;margin-top:0.35rem;}
.att-empty{font-family:'DM Mono',monospace;font-size:0.6rem;color:rgba(253,246,236,0.28);letter-spacing:0.06em;}

/* ── SIDEBAR TEAM ── */
.sidebar-team{padding:0 0 0.4rem;}
.sb-rep-row{padding:0.4rem 1.4rem;cursor:pointer;transition:background 0.15s;}
.sb-rep-row:hover:not(.sb-rep-locked){background:var(--paper);}
.sb-rep-locked{cursor:default;}
.sb-rep-main{display:flex;align-items:center;gap:0.65rem;}
.sb-rep-av{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.76rem;font-weight:700;color:white;font-style:italic;flex-shrink:0;transition:opacity 0.2s;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,0.08);}
.sb-rep-locked .sb-rep-av{opacity:0.35;}
.sb-rep-info{flex:1;min-width:0;}
.sb-rep-name{font-size:0.78rem;color:var(--ink);font-weight:500;line-height:1.1;}
.sb-rep-locked .sb-rep-name{color:var(--ink-faint);}
.sb-rep-role-tag{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.06rem;}
.sb-notif-badge{min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-family:'DM Mono',monospace;font-size:0.56rem;font-weight:700;color:white;padding:0 4px;flex-shrink:0;}
.sb-pro-badge{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.1em;text-transform:uppercase;background:rgba(255,178,0,0.22);color:var(--energy-light);padding:0.1rem 0.35rem;border-radius:2px;flex-shrink:0;}
.sb-free-badge{font-family:'DM Mono',monospace;font-size:0.44rem;letter-spacing:0.08em;text-transform:uppercase;background:rgba(42,124,116,0.12);color:var(--teal);padding:0.1rem 0.35rem;border-radius:2px;flex-shrink:0;}
.sb-rep-teaser{margin:0.4rem 0 0.3rem calc(27px + 0.65rem);padding:0.55rem 0.65rem;background:var(--paper);border-radius:2px;border-left:2px solid var(--energy-pale);}
.sb-rep-teaser-desc{font-size:0.67rem;color:var(--ink-muted);line-height:1.45;margin-bottom:0.32rem;}
.sb-rep-teaser-items{display:flex;flex-direction:column;gap:0.14rem;}
.sb-rep-teaser-item{font-family:'DM Mono',monospace;font-size:0.52rem;color:var(--ink-faint);letter-spacing:0.03em;}
.sb-rep-teaser-item::before{content:'';display:inline-block;width:8px;height:9px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%23FFB200' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;vertical-align:middle;margin-right:0.2rem;}
.sb-rep-upgrade-btn{display:block;margin:0.45rem 0 0 calc(27px + 0.65rem);font-family:'DM Mono',monospace;font-size:0.53rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--energy);color:white;border:none;padding:0.28rem 0.65rem;cursor:pointer;border-radius:2px;transition:background 0.15s;width:fit-content;}
.sb-rep-upgrade-btn:hover{background:var(--energy-light);}

/* Sidebar rep message snippet */
.sb-rep-has-msg{padding-bottom:0.5rem;}
.sb-msg-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:dotPulse 2.5s ease-in-out infinite;}
@keyframes dotPulse{0%,100%{opacity:1;}50%{opacity:0.35;}}
.sb-rep-snippet{margin:0.3rem 0 0 calc(30px + 0.65rem);padding:0.4rem 0.6rem;background:var(--paper);border-radius:2px;border-left:2px solid var(--border);transition:background 0.15s;}
.sb-rep-row:hover .sb-rep-snippet{background:var(--cream);}
.sb-rep-snippet-text{font-size:0.62rem;color:var(--ink-soft);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.sb-rep-snippet-action{font-family:'DM Mono',monospace;font-size:0.46rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-top:0.2rem;transition:color 0.15s;}
.sb-rep-row:hover .sb-rep-snippet-action{color:var(--energy);}

/* ── TEAM ACTIVITY STRIP ── */
.team-activity-strip{grid-column:1/-1;background:var(--cream);border:1px solid var(--border);padding:0.95rem 1.3rem;display:flex;align-items:center;gap:0.9rem;}
.ta-rep-av{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Barlow Condensed',sans-serif;font-size:0.88rem;font-weight:700;color:white;font-style:italic;flex-shrink:0;}
.ta-body{flex:1;min-width:0;}
.ta-meta{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:0.18rem;}
.ta-msg{font-size:0.77rem;color:var(--ink-soft);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:600px;}
.ta-reply-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.1em;text-transform:uppercase;border:1.5px solid var(--border);background:transparent;color:var(--ink-muted);padding:0.33rem 0.75rem;cursor:pointer;border-radius:2px;transition:all 0.15s;white-space:nowrap;flex-shrink:0;}
.ta-reply-btn:hover{border-color:var(--energy);color:var(--energy);}
.ta-caught-up{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);display:flex;align-items:center;gap:0.5rem;}

@keyframes fadeUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.dash-grid>*{animation:fadeUp 0.35s ease both;}
.dash-grid>*:nth-child(1){animation-delay:.04s}.dash-grid>*:nth-child(2){animation-delay:.08s}
.dash-grid>*:nth-child(3){animation-delay:.12s}.dash-grid>*:nth-child(4){animation-delay:.16s}
.dash-grid>*:nth-child(5){animation-delay:.2s}.dash-grid>*:nth-child(6){animation-delay:.24s}
.dash-grid>*:nth-child(7){animation-delay:.28s}.dash-grid>*:nth-child(8){animation-delay:.32s}
.dash-grid>*:nth-child(9){animation-delay:.36s}.dash-grid>*:nth-child(10){animation-delay:.4s}
/* ══ SETTINGS MODAL ══ */
#settings-modal-overlay{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,0.55);display:none;align-items:center;justify-content:center;padding:1.5rem;}
#settings-modal-overlay.open{display:flex;}
.settings-modal{background:var(--cream);border:1px solid var(--border);max-width:520px;width:100%;max-height:85vh;overflow-y:auto;padding:2rem 2.2rem;}
.settings-modal h2{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:800;font-style:italic;color:var(--ink);margin-bottom:0.3rem;}
.settings-modal .sm-sub{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:1.5rem;}
.sm-section{margin-bottom:1.5rem;}
.sm-section-label{font-family:'Barlow Condensed',sans-serif;font-size:0.65rem;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--ink-muted);margin-bottom:0.5rem;}
.sm-field{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:0.8rem;}
.sm-field label{font-size:0.76rem;font-weight:600;color:var(--ink);}
.sm-field .sm-hint{font-size:0.68rem;color:var(--ink-faint);line-height:1.4;}
.sm-field input[type="password"],.sm-field input[type="text"],.sm-field select{font-family:'Barlow',sans-serif;font-size:0.8rem;padding:0.55rem 0.75rem;border:1.5px solid var(--border);border-radius:2px;background:var(--cream);color:var(--ink);outline:none;transition:border-color 0.15s;}
.sm-field input:focus,.sm-field select:focus{border-color:var(--energy);}
.sm-status{font-family:'Barlow',sans-serif;font-size:0.72rem;padding:0.4rem 0.65rem;border-radius:2px;margin-top:0.3rem;}
.sm-status.ok{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7;}
.sm-status.err{background:var(--energy-pale);color:var(--energy);border:1px solid var(--energy);}
.sm-status.neutral{background:var(--paper);color:var(--ink-muted);border:1px solid var(--border);}
.sm-model-info{display:flex;align-items:center;gap:0.5rem;padding:0.5rem 0.7rem;background:var(--paper);border-radius:2px;margin-top:0.4rem;}
.sm-model-info .sm-cost{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.06em;color:var(--teal);text-transform:uppercase;}
.sm-btn-row{display:flex;gap:0.7rem;margin-top:1.5rem;}
.sm-btn{font-family:'Barlow',sans-serif;font-size:0.72rem;font-weight:600;padding:0.55rem 1.2rem;border:1.5px solid var(--border);background:var(--cream);color:var(--ink-soft);cursor:pointer;border-radius:2px;transition:all 0.15s;}
.sm-btn:hover{border-color:var(--energy);color:var(--energy);}
.sm-btn.primary{background:var(--energy);color:white;border-color:var(--energy);}
.sm-btn.primary:hover{background:#d03c06;}
.sm-test-btn{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;padding:0.38rem 0.8rem;border:1.5px solid var(--teal);background:var(--teal-pale);color:var(--teal);cursor:pointer;border-radius:2px;transition:all 0.15s;margin-top:0.3rem;}
.sm-test-btn:hover{background:var(--teal);color:white;}
/* Instagram connect row in settings */
.sm-ig-connect-row{display:flex;align-items:center;gap:0.75rem;flex-wrap:wrap;}
.sm-ig-status{font-size:0.7rem;color:var(--ink-faint);flex:1 1 auto;}
.sm-ig-connect-btn{font-size:0.62rem;font-weight:600;letter-spacing:0.05em;padding:0.45rem 0.9rem;border:none;border-radius:3px;background:var(--accent);color:#fff;cursor:pointer;transition:opacity 0.15s;white-space:nowrap;flex-shrink:0;}
.sm-ig-connect-btn:hover{opacity:0.85;}
/* AI connection status row */
.sm-ai-status-row{display:flex;align-items:center;gap:0.6rem;}
.sm-ai-dot{width:8px;height:8px;border-radius:50%;background:var(--border);flex-shrink:0;transition:background 0.3s;}
.sm-ai-dot.connected{background:#22c55e;}
.sm-ai-dot.error{background:#ef4444;}
.sm-ai-dot.checking{background:#f59e0b;animation:pulse-dot 0.9s infinite alternate;}
@keyframes pulse-dot{from{opacity:1}to{opacity:0.3}}
.sm-ai-status-text{font-size:0.72rem;color:var(--ink);flex:1 1 auto;}
.sm-ai-check-btn{font-size:0.6rem;font-weight:600;padding:0.3rem 0.7rem;border:1.5px solid var(--border);border-radius:3px;background:transparent;color:var(--ink-muted);cursor:pointer;white-space:nowrap;transition:all 0.15s;}
.sm-ai-check-btn:hover{border-color:var(--accent);color:var(--accent);}
/* Rep avatar images */
.tci-av-img,.rep-av-img,.rmo-av-img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
.rmo-avatar-wrap{width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;}
/* Chat loading indicator */
.chat-loading{display:flex;align-items:center;gap:0.4rem;padding:0.7rem 1rem;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.08em;color:var(--ink-faint);}
.chat-loading .dot{width:5px;height:5px;border-radius:50%;background:var(--ink-faint);animation:chatDots 1.2s infinite;}
.chat-loading .dot:nth-child(2){animation-delay:0.2s;}
.chat-loading .dot:nth-child(3){animation-delay:0.4s;}
@keyframes chatDots{0%,80%,100%{opacity:0.3;transform:scale(0.8)}40%{opacity:1;transform:scale(1.1)}}
/* Settings gear button */
.settings-gear{position:fixed;bottom:1.5rem;left:1.5rem;z-index:500;width:36px;height:36px;border-radius:50%;background:var(--cream);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all 0.15s;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.settings-gear:hover{border-color:var(--energy);transform:rotate(30deg);}

/* ═══ Analytics Panel ═══ */
#panel-analytics{max-width:100%;margin:0 auto;padding:0 2rem;}
.an-momentum-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-bottom:1.4rem;}
.an-stat-card{background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;transition:border-color 0.15s;}
.an-stat-card:hover{border-color:var(--border-soft);}
.an-stat-card.an-stat-primary{border-left:3px solid var(--energy);}
.an-stat-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.45rem;}
.an-stat-num{font-family:'Barlow Condensed',sans-serif;font-size:1.85rem;font-weight:800;color:var(--ink);line-height:1.1;margin-bottom:0.25rem;}
.an-stat-delta{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.04em;color:var(--ink-muted);}

.an-two-col{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:1.4rem;}
.an-section-hd{display:flex;align-items:baseline;gap:0.6rem;margin-bottom:0.8rem;}
.an-section-hd>span:first-child{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink);letter-spacing:-0.01em;}
.an-section-sub{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);}

/* Funnel */
.an-funnel-row{display:grid;grid-template-columns:90px 1fr 52px 38px;align-items:center;gap:0.5rem;padding:0.4rem 0;border-bottom:1px solid var(--border-soft);}
.an-funnel-row:last-child{border-bottom:none;}
.an-funnel-label{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted);}
.an-funnel-bar-wrap{height:8px;background:var(--border-soft);border-radius:4px;overflow:hidden;}
.an-funnel-bar{height:100%;border-radius:4px;transition:width 0.4s ease;}
.an-funnel-val{font-family:'Barlow Condensed',sans-serif;font-size:0.9rem;font-weight:700;color:var(--ink);text-align:right;}
.an-funnel-pct{font-family:'DM Mono',monospace;font-size:0.52rem;color:var(--ink-faint);text-align:right;}

/* Goal */
.an-goal-card{background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;}
.an-goal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:0.55rem;}
.an-goal-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--ink-muted);}
.an-goal-pct{font-family:'Barlow Condensed',sans-serif;font-size:1.2rem;font-weight:800;color:var(--energy);}
.an-goal-bar-wrap{height:10px;background:var(--energy-pale);border-radius:5px;overflow:hidden;margin-bottom:0.55rem;}
.an-goal-bar{height:100%;background:var(--energy);border-radius:5px;transition:width 0.4s ease;}
.an-goal-footer{display:flex;justify-content:space-between;font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.06em;color:var(--ink-faint);}
.an-goal-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;cursor:pointer;min-height:120px;border-style:dashed;transition:border-color 0.15s,background 0.15s;}
.an-goal-empty:hover{border-color:var(--energy);background:var(--energy-pale);}
.an-goal-set-icon{font-size:1.6rem;margin-bottom:0.4rem;color:var(--ink-faint);}
.an-goal-set-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.an-goal-set-sub{font-size:0.72rem;color:var(--ink-muted);line-height:1.5;max-width:220px;}

/* Platform Split */
.an-plat-row{display:grid;grid-template-columns:20px 70px 1fr 36px 48px;align-items:center;gap:0.45rem;padding:0.38rem 0;border-bottom:1px solid var(--border-soft);}
.an-plat-row:last-child{border-bottom:none;}
.an-plat-icon{font-size:0.85rem;text-align:center;}
.an-plat-name{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.06em;text-transform:uppercase;color:var(--ink-muted);}
.an-plat-bar-wrap{height:6px;background:var(--border-soft);border-radius:3px;overflow:hidden;}
.an-plat-bar{height:100%;border-radius:3px;transition:width 0.4s ease;}
.an-plat-pct{font-family:'DM Mono',monospace;font-size:0.54rem;color:var(--ink-faint);text-align:right;}
.an-plat-val{font-family:'Barlow Condensed',sans-serif;font-size:0.78rem;font-weight:700;color:var(--ink);text-align:right;}

/* Release Comparison */
.an-rel-header{display:grid;grid-template-columns:1fr 1.5fr 60px 60px;gap:0.5rem;padding:0.35rem 0;border-bottom:1.5px solid var(--border);margin-bottom:0.15rem;}
.an-rel-header span{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);}
.an-rel-row{display:grid;grid-template-columns:1fr 1.5fr 60px 60px;gap:0.5rem;align-items:center;padding:0.4rem 0;border-bottom:1px solid var(--border-soft);}
.an-rel-row:last-child{border-bottom:none;}
.an-rel-title{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.04em;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.an-rel-bar-wrap{height:8px;background:var(--border-soft);border-radius:4px;overflow:hidden;position:relative;}
.an-rel-bar{height:100%;background:var(--teal);border-radius:4px;transition:width 0.4s ease;}
.an-rel-score{position:absolute;right:4px;top:50%;transform:translateY(-50%);font-family:'DM Mono',monospace;font-size:0.48rem;color:white;font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,0.3);}
.an-rel-delta{font-family:'DM Mono',monospace;font-size:0.54rem;text-align:right;}
.an-rel-reach{font-family:'DM Mono',monospace;font-size:0.54rem;color:var(--ink-muted);text-align:right;}

/* AI Insights */
.an-ai-insights{background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;margin-top:1.4rem;}
.an-ai-body{font-size:0.8rem;color:var(--ink-soft);line-height:1.65;white-space:pre-line;}

/* Analytics responsive */
@media(max-width:800px){
  .an-momentum-row{grid-template-columns:repeat(2,1fr);}
  .an-two-col{grid-template-columns:1fr;}
}

/* ═══ Advertising Panel ═══ */
#panel-advertising{max-width:100%;margin:0 auto;padding:0 2rem;}
.ad-tab-nav{display:flex;gap:0.25rem;background:var(--parchment);border-radius:2px;padding:0.15rem;}
.ad-tab-btn{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.35rem 0.75rem;border:none;background:transparent;color:var(--ink-muted);cursor:pointer;border-radius:2px;transition:all 0.15s;}
.ad-tab-btn.active{background:var(--cream);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,0.06);}
.ad-tab-btn:hover:not(.active){color:var(--ink-soft);}
.ad-tab-content{display:none;}
.ad-tab-content.active{display:block;}

.ad-timing-banner{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.2rem;background:var(--energy-pale);border:1px solid rgba(232,167,35,0.3);border-radius:4px;margin-bottom:1.4rem;}
.ad-timing-icon{font-size:1.4rem;flex-shrink:0;}
.ad-timing-title{font-family:'Barlow Condensed',sans-serif;font-size:0.95rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.ad-timing-text{font-size:0.78rem;color:var(--ink-soft);line-height:1.6;}
.ad-timing-text strong{color:var(--ink);font-weight:600;}

.ad-section-hd{display:flex;align-items:baseline;gap:0.6rem;margin-bottom:0.8rem;}
.ad-section-hd>span:first-child{font-family:'Barlow Condensed',sans-serif;font-size:1.05rem;font-weight:700;color:var(--ink);letter-spacing:-0.01em;}
.ad-section-sub{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-faint);}

.ad-platform-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.75rem;}
.ad-type-card{background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;transition:border-color 0.15s;}
.ad-type-card:hover{border-color:var(--border-soft);}
.ad-type-header{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.55rem;}
.ad-type-icon{font-size:1rem;}
.ad-type-name{font-family:'Barlow Condensed',sans-serif;font-size:0.92rem;font-weight:700;color:var(--ink);}
.ad-type-desc{font-size:0.76rem;color:var(--ink-soft);line-height:1.55;margin-bottom:0.6rem;}
.ad-pro-con{margin-bottom:0.25rem;}
.ad-pro,.ad-con{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.04em;}
.ad-pro{color:var(--teal);}
.ad-con{color:var(--ink-muted);}
.ad-type-best{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.04em;color:var(--energy);margin-top:0.55rem;padding-top:0.55rem;border-top:1px solid var(--border-soft);}

.ad-warning-box{display:flex;gap:1rem;align-items:flex-start;padding:1rem 1.2rem;background:#fff5f5;border:1px solid rgba(200,50,50,0.2);border-radius:4px;}
.ad-warning-icon{font-size:1.2rem;flex-shrink:0;}
.ad-warning-title{font-family:'Barlow Condensed',sans-serif;font-size:0.92rem;font-weight:700;color:var(--ink);margin-bottom:0.2rem;}
.ad-warning-text{font-size:0.76rem;color:var(--ink-soft);line-height:1.55;}

/* Campaign tracking */
.ad-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:3rem 1rem;border:1.5px dashed var(--border);border-radius:6px;background:var(--parchment);}
.ad-empty-icon{font-size:2rem;margin-bottom:0.6rem;color:var(--ink-faint);}
.ad-empty-title{font-family:'Barlow Condensed',sans-serif;font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:0.3rem;}
.ad-empty-sub{font-size:0.76rem;color:var(--ink-muted);margin-bottom:1rem;max-width:340px;line-height:1.5;}

.ad-spend-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;}
.ad-spend-card{background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:1rem 1.1rem;}
.ad-spend-label{font-family:'DM Mono',monospace;font-size:0.55rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:0.45rem;}
.ad-spend-val{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:800;color:var(--ink);line-height:1.1;}

.ad-campaign-row{display:grid;grid-template-columns:1.5fr 0.8fr 0.6fr 0.6fr 0.6fr 0.6fr 40px;align-items:center;gap:0.5rem;padding:0.65rem 0.8rem;border-bottom:1px solid var(--border-soft);font-size:0.76rem;color:var(--ink-soft);}
.ad-campaign-row:hover{background:var(--parchment);}
.ad-campaign-header{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-faint);border-bottom:1.5px solid var(--border);}
.ad-campaign-header:hover{background:transparent;}
.ad-campaign-name{font-weight:600;color:var(--ink);}
.ad-campaign-platform{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.04em;}
.ad-campaign-status{font-family:'DM Mono',monospace;font-size:0.52rem;letter-spacing:0.08em;text-transform:uppercase;padding:0.2rem 0.45rem;border-radius:2px;text-align:center;}
.ad-campaign-status.active{background:var(--teal-pale);color:var(--teal);}
.ad-campaign-status.completed{background:var(--parchment);color:var(--ink-muted);}
.ad-campaign-status.paused{background:var(--energy-pale);color:var(--energy);}
.ad-campaign-del{cursor:pointer;color:var(--ink-faint);text-align:center;transition:color 0.15s;}
.ad-campaign-del:hover{color:#c33;}

/* Best Practices */
.ad-bp-list{display:flex;flex-direction:column;gap:0.75rem;}
.ad-bp-card{display:flex;gap:1rem;align-items:flex-start;background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:1rem 1.2rem;transition:border-color 0.15s;}
.ad-bp-card:hover{border-color:var(--energy);}
.ad-bp-num{font-family:'Barlow Condensed',sans-serif;font-size:1.6rem;font-weight:800;color:var(--energy-pale);flex-shrink:0;line-height:1;width:30px;}
.ad-bp-title{font-family:'Barlow Condensed',sans-serif;font-size:0.92rem;font-weight:700;color:var(--ink);margin-bottom:0.3rem;}
.ad-bp-text{font-size:0.76rem;color:var(--ink-soft);line-height:1.6;}

/* Campaign modal */
.ad-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:1000;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 0.15s;}
.ad-modal-overlay.open{opacity:1;pointer-events:all;}
.ad-modal{background:var(--cream);border-radius:6px;padding:1.6rem;width:480px;max-width:90vw;box-shadow:0 12px 40px rgba(0,0,0,0.15);}
.ad-modal-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:1rem;}
.ad-modal .aam-field{margin-bottom:0.75rem;}
.ad-modal .aam-field label{font-family:'DM Mono',monospace;font-size:0.56rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);display:block;margin-bottom:0.25rem;}
.ad-modal .aam-field input,.ad-modal .aam-field select{width:100%;padding:0.5rem 0.65rem;border:1px solid var(--border);border-radius:2px;font-size:0.82rem;font-family:inherit;color:var(--ink);}
.ad-modal .aam-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;}
.ad-modal-actions{display:flex;justify-content:flex-end;gap:0.5rem;margin-top:1rem;}

@media(max-width:900px){
  .ad-platform-grid{grid-template-columns:1fr;}
  .ad-spend-cards{grid-template-columns:repeat(2,1fr);}
}

/* ═══ Cadence Momentum Score (dashboard) ═══ */
.cadence-momentum-card{background:var(--cream);border:1px solid var(--border);border-top:3px solid var(--teal);padding:1.4rem;position:relative;overflow:hidden;}
.cm-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:0.6rem;}
.cm-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--ink-muted);display:flex;align-items:center;gap:0.45rem;}
.cm-label::before{content:'';display:inline-block;width:10px;height:11px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 52' fill='none'%3E%3Cline x1='2' y1='5.5' x2='20' y2='5.5' stroke='%2340b8a8' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='20' y1='5.5' x2='30' y2='47' stroke='%2340b8a8' stroke-width='6' stroke-linecap='round'/%3E%3Cline x1='30' y1='47' x2='47' y2='4' stroke='%2340b8a8' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E");background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0;}
.cm-score-row{display:flex;align-items:flex-end;gap:0.6rem;margin-bottom:0.15rem;}
.cm-num{font-family:'Barlow Condensed',sans-serif;font-size:2.6rem;font-weight:900;line-height:1;letter-spacing:-0.02em;}
.cm-max{font-family:'DM Mono',monospace;font-size:0.62rem;color:var(--ink-faint);margin-bottom:0.35rem;}
.cm-tier{font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.7rem;}
.cm-factors{display:flex;flex-direction:column;gap:0.5rem;}
.cm-factor{display:flex;align-items:center;gap:0.55rem;}
.cm-factor-lbl{font-size:0.72rem;color:var(--ink-muted);flex:1.6;line-height:1.3;}
.cm-factor-bar{flex:2;height:4px;background:var(--parchment-dark);border-radius:2px;overflow:hidden;}
.cm-factor-fill{height:100%;border-radius:2px;transition:width 1s ease;}
.cm-factor-val{font-family:'DM Mono',monospace;font-size:0.58rem;color:var(--ink-faint);width:3.5rem;text-align:right;}
.cm-note{font-family:'DM Mono',monospace;font-size:0.5rem;letter-spacing:0.06em;color:var(--ink-faint);margin-top:0.75rem;line-height:1.6;}

/* ═══ Pitch Paragraph Generator ═══ */
.pitch-para-section{background:var(--cream);border:1.5px solid var(--teal);padding:1.3rem;border-radius:2px;}
.pitch-top-row .pitch-para-section{margin:0;padding:1.2rem;}
.pitch-para-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.14em;text-transform:uppercase;color:var(--teal);margin-bottom:0.4rem;}
.pitch-para-title{font-family:'Barlow Condensed',sans-serif;font-size:1.1rem;font-weight:700;color:var(--ink);margin-bottom:0.25rem;}
.pitch-para-sub{font-size:0.77rem;color:var(--ink-muted);line-height:1.55;margin-bottom:1rem;}
.pitch-para-fields{display:grid;grid-template-columns:1fr 1fr;gap:0.65rem;margin-bottom:1rem;}
.pitch-top-row .pitch-para-fields{grid-template-columns:1fr;gap:0.5rem;}
.pitch-para-field{display:flex;flex-direction:column;gap:0.25rem;}
.pitch-para-field label{font-family:'DM Mono',monospace;font-size:0.54rem;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink-muted);}
.pitch-para-field input,.pitch-para-field textarea{padding:0.5rem 0.65rem;border:1.5px solid var(--border);background:var(--cream);font-size:0.8rem;color:var(--ink);font-family:inherit;border-radius:2px;outline:none;transition:border-color 0.15s;}
.pitch-para-field input:focus,.pitch-para-field textarea:focus{border-color:var(--teal);}
.pitch-para-field textarea{resize:vertical;min-height:60px;}
.pitch-top-row .pitch-para-field textarea{min-height:50px;}
.pitch-para-field.full-width{grid-column:1/-1;}
.pitch-para-gen-btn{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.1em;text-transform:uppercase;background:var(--teal);color:white;border:none;padding:0.7rem 1.4rem;cursor:pointer;border-radius:2px;transition:background 0.2s;margin-bottom:1rem;}
.pitch-para-gen-btn:hover{background:#1f6a63;}
.pitch-para-output{background:var(--teal-pale);border:1px solid rgba(42,124,116,0.25);padding:1rem;border-radius:2px;margin-top:0.5rem;}
.pitch-para-text{font-size:0.82rem;color:var(--ink);line-height:1.7;white-space:pre-wrap;}
.pitch-para-counter{font-family:'DM Mono',monospace;font-size:0.52rem;color:var(--ink-faint);text-align:right;margin-top:0.4rem;}
.pitch-para-actions{display:flex;gap:0.5rem;margin-top:0.6rem;}
.pitch-para-copy{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--teal);background:none;border:1.5px solid var(--teal);padding:0.35rem 0.75rem;cursor:pointer;border-radius:2px;transition:all 0.15s;}
.pitch-para-copy:hover{background:var(--teal);color:white;}
.pitch-para-pro-gate{border:1.5px dashed var(--border);padding:1.2rem;text-align:center;}
.pitch-para-pro-gate p{font-size:0.8rem;color:var(--ink-muted);margin-bottom:0.7rem;line-height:1.5;}

/* ══ DARK MODE OVERRIDES ══════════════════════════════════════════════ */
/* Accent tinted backgrounds → dark-safe tinted versions */
[data-theme="dark"] .spotify-btn.connected{background:rgba(29,185,84,0.12);color:#4ade80;border-color:#4ade80;}
[data-theme="dark"] .spotify-confirm{background:rgba(29,185,84,0.12);border-color:#4ade80;color:#4ade80;}
[data-theme="dark"] .cw-day:hover,
[data-theme="dark"] .cw-day.cw-today{background:rgba(42,124,116,0.15);}
[data-theme="dark"] .tag-tiktok{background:rgba(55,48,163,0.2);color:#a5b4fc;}
[data-theme="dark"] .sm-status.ok{background:rgba(46,125,50,0.15);color:#4ade80;border-color:rgba(74,222,128,0.3);}
[data-theme="dark"] .ad-warning-box{background:rgba(200,50,50,0.1);border-color:rgba(200,50,50,0.3);}

/* Inputs, selects, textareas — ensure readable in dark mode */
[data-theme="dark"] input,
[data-theme="dark"] select,
[data-theme="dark"] textarea{background:var(--paper) !important;color:var(--ink);border-color:var(--border);}
[data-theme="dark"] input::placeholder,
[data-theme="dark"] textarea::placeholder{color:var(--ink-faint);}
[data-theme="dark"] input:focus,
[data-theme="dark"] select:focus,
[data-theme="dark"] textarea:focus{border-color:var(--energy);outline-color:var(--energy);}

/* Settings modal */
[data-theme="dark"] .settings-modal{background:var(--paper);color:var(--ink);}
[data-theme="dark"] .sm-field label{color:var(--ink-soft);}
[data-theme="dark"] .sm-hint{color:var(--ink-faint);}
[data-theme="dark"] .sm-btn{background:var(--parchment);color:var(--ink);border-color:var(--border);}
[data-theme="dark"] .sm-btn.primary{background:var(--energy);color:#fff;}

/* Modals general */
[data-theme="dark"] .cs-modal,
[data-theme="dark"] .ad-modal,
[data-theme="dark"] .nrm-modal,
[data-theme="dark"] .dm-modal,
[data-theme="dark"] .rsch-modal{background:var(--paper);color:var(--ink);}

/* Sidebar */
[data-theme="dark"] .sidebar{border-right-color:var(--border);}
[data-theme="dark"] .nav-item:hover{background:var(--parchment);}
[data-theme="dark"] .nav-item.active{background:var(--parchment);}

/* Topbar */
[data-theme="dark"] .topbar{background:var(--paper);border-bottom-color:var(--border);}
[data-theme="dark"] .tb-cs-badge{background:var(--parchment);border-color:var(--border);}
[data-theme="dark"] .tb-cs-badge:hover{background:var(--parchment-dark);}

/* Settings gear */
[data-theme="dark"] .settings-gear{background:var(--paper);border-color:var(--border);}

/* Cards and panels */
[data-theme="dark"] .today-card,
[data-theme="dark"] .card,
[data-theme="dark"] .countdown-card,
[data-theme="dark"] .content-week-card,
[data-theme="dark"] .career-arc,
[data-theme="dark"] .cadence-score-card,
[data-theme="dark"] .team-pulse-card,
[data-theme="dark"] .team-card,
[data-theme="dark"] .idea-card,
[data-theme="dark"] .cl-card,
[data-theme="dark"] .bp-card,
[data-theme="dark"] .tl-card,
[data-theme="dark"] .an-stat-card,
[data-theme="dark"] .an-goal-card,
[data-theme="dark"] .an-ai-insights,
[data-theme="dark"] .ad-type-card,
[data-theme="dark"] .ad-spend-card,
[data-theme="dark"] .ad-bp-card,
[data-theme="dark"] .cadence-momentum-card,
[data-theme="dark"] .pitch-section,
[data-theme="dark"] .pitch-para-section,
[data-theme="dark"] .mistake-banner,
[data-theme="dark"] .journey-strip,
[data-theme="dark"] .team-activity-strip,
[data-theme="dark"] .md-card,
[data-theme="dark"] .md-card-body,
[data-theme="dark"] .dm-card,
[data-theme="dark"] .aa-card,
[data-theme="dark"] .bp-banner,
[data-theme="dark"] .plateau-intro,
[data-theme="dark"] .cs-widget,
[data-theme="dark"] #cs-panel-body,
[data-theme="dark"] .rm-card,
[data-theme="dark"] .yp-summary-card,
[data-theme="dark"] .yp-cal-item{background:var(--paper);border-color:var(--border);}

/* DSP pitch guide cards */
.pitch-dsp-guide{background:var(--cream);}
[data-theme="dark"] .pitch-dsp-guide{background:var(--paper);border-color:var(--border);}

/* Buttons that had white background */
[data-theme="dark"] .filter-btn{background:var(--parchment);color:var(--ink-muted);border-color:var(--border);}
[data-theme="dark"] .filter-btn.active{background:var(--parchment-dark);color:var(--ink);}
[data-theme="dark"] .idea-action-btn{background:var(--parchment);color:var(--ink-muted);}
[data-theme="dark"] .ideas-refresh-btn{background:var(--parchment);}

/* Onboarding cards/chips — base dark */
[data-theme="dark"] .ob-tone,
[data-theme="dark"] .ob-rtype,
[data-theme="dark"] .ob-goal,
[data-theme="dark"] .ob-tier,
[data-theme="dark"] .ob-label-tier,
[data-theme="dark"] .ob-freq,
[data-theme="dark"] .ob-day-btn,
[data-theme="dark"] .ob-first-rel,
[data-theme="dark"] .ob-acct-card,
[data-theme="dark"] .songs-preset,
[data-theme="dark"] .ob-rd-choice,
[data-theme="dark"] .ob-sug-wk,
[data-theme="dark"] .ob-sug-result,
[data-theme="dark"] .ob-fr-box,
[data-theme="dark"] .roster-card,
[data-theme="dark"] .invite-role-btn,
[data-theme="dark"] .invite-link-box{background:var(--paper);color:var(--ink);border-color:var(--border);}

/* Onboarding selected/active states — must come AFTER base dark rule to win specificity tie */
[data-theme="dark"] .ob-tone.selected,
[data-theme="dark"] .ob-rtype.selected,
[data-theme="dark"] .ob-goal.selected,
[data-theme="dark"] .ob-tier.selected,
[data-theme="dark"] .ob-freq.selected,
[data-theme="dark"] .ob-acct-card.selected,
[data-theme="dark"] .ob-rd-choice.selected,
[data-theme="dark"] .songs-preset.selected{background:var(--energy-pale);border-color:var(--energy);color:var(--ink);}
[data-theme="dark"] .ob-label-tier.selected{background:var(--purple-pale);border-color:var(--purple);}
[data-theme="dark"] .ob-rtype.recommended.selected{background:var(--teal-pale);border-color:var(--teal);}
[data-theme="dark"] .ob-day-btn.selected{background:var(--teal-pale);border-color:var(--teal);}
[data-theme="dark"] .ob-day-btn.selected .day-abbr{color:var(--teal);}
[data-theme="dark"] .ob-first-rel.active{background:var(--teal-pale);border-color:var(--teal);}
[data-theme="dark"] .ob-sug-wk.active{background:var(--teal-pale);border-color:var(--teal);color:var(--teal);}
[data-theme="dark"] .ob-fr-box.active,
[data-theme="dark"] .ob-first-rel.active .ob-fr-box{background:var(--teal);border-color:var(--teal);}

/* Chat bubbles */
[data-theme="dark"] .chat-msg.from-rep .chat-bubble{background:var(--paper);color:var(--ink);border-color:var(--border);}
[data-theme="dark"] .chat-typing{background:var(--paper);}

/* Pill/chip inputs */
[data-theme="dark"] .csm-freq-chip,
[data-theme="dark"] .csm-day-btn{background:var(--parchment);color:var(--ink-muted);border-color:var(--border);}
[data-theme="dark"] .dm-q-opt{background:var(--paper);color:var(--ink);border-color:var(--border);}
[data-theme="dark"] .dm-result-reason{background:var(--parchment);color:var(--ink-soft);}

/* Timeline dot */
[data-theme="dark"] .tl-item::before{background:var(--paper);border-color:var(--border);}

/* JP bubble */
[data-theme="dark"] .jp-bubble{background:var(--paper);border-color:var(--border);}

/* Year plan pitch row */
[data-theme="dark"] .yp-pitch-row{background:var(--paper);border-color:var(--border);}
[data-theme="dark"] .yp-day-cell{background:var(--paper);}

/* Ad tabs */
[data-theme="dark"] .ad-tab-btn.active{background:var(--paper);color:var(--ink);}

/* Notification panel */
[data-theme="dark"] .notif-panel{background:var(--paper);border-color:var(--border);}

/* Quinn redirect */
[data-theme="dark"] .quinn-redirect-btn{background:var(--parchment);color:var(--ink);border-color:var(--border);}

/* Checklist radio */
[data-theme="dark"] .ckl-radio{background:var(--paper);border-color:var(--border);}

/* md-card toggle */
[data-theme="dark"] .md-card-toggle{background:var(--parchment);color:var(--ink);}

/* Scrollbars */
[data-theme="dark"] ::-webkit-scrollbar-track{background:var(--cream);}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:var(--parchment-dark);}

/* Login screen */
[data-theme="dark"] #login-screen{background:var(--cream);}
[data-theme="dark"] .ls-card{background:var(--paper);border-color:var(--border);}

/* Diag cards */
[data-theme="dark"] .diag-q{background:var(--paper);border-color:var(--border);}
[data-theme="dark"] .diag-pro-gate{background:var(--paper);}

/* Pitch checklist */
[data-theme="dark"] .psc-check{background:var(--paper);border-color:var(--border);}

/* TCI card */
[data-theme="dark"] .tci-card{background:var(--paper);border-color:var(--border);}

/* Edit Cadence Modal gap chips */
.ecm-gap-chip.active{background:var(--energy);border-color:var(--energy);color:white;}
[data-theme="dark"] .ecm-gap-chip{background:var(--paper);border-color:var(--border);color:var(--ink-muted);}
[data-theme="dark"] .ecm-gap-chip.active{background:var(--energy);border-color:var(--energy);color:white;}

/* ── Rep image attachment ── */
.rmi-attach-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:1px solid var(--border);border-radius:3px;background:var(--cream);color:var(--ink-muted);font-size:1.1rem;cursor:pointer;transition:all 0.15s;padding:0;}
.rmi-attach-btn:hover{border-color:var(--teal);color:var(--teal);}
.rmi-image-preview{display:flex;align-items:center;gap:0.6rem;padding:0.5rem 0.75rem;background:rgba(42,124,116,0.06);border-top:1px solid var(--border);}
.rmi-image-preview img{width:44px;height:44px;object-fit:cover;border-radius:3px;border:1px solid var(--border);}
.rmi-clear-img{width:20px;height:20px;border-radius:50%;background:var(--parchment);border:1px solid var(--border);cursor:pointer;font-size:0.6rem;color:var(--ink-muted);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.rmi-clear-img:hover{background:var(--energy);color:white;border-color:var(--energy);}
.rmi-img-label{font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.06em;color:var(--teal);}
[data-theme="dark"] .rmi-attach-btn{background:var(--paper);}
[data-theme="dark"] .rmi-image-preview{background:rgba(42,124,116,0.08);}

/* ══ PRODUCTION TRACKER ══ */
.pt-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:1.2rem;flex-wrap:wrap;}
.pt-header h2{font-size:1.5rem;font-weight:700;margin:0 0 0.2rem;}
.pt-header p{color:var(--ink-muted);font-size:0.8rem;margin:0;}
.pt-header-actions{display:flex;flex-direction:column;align-items:flex-end;gap:0.6rem;}
.pt-add-btn{padding:0.45rem 1rem;background:var(--energy);color:white;border:none;border-radius:3px;font-size:0.75rem;font-family:'DM Mono',monospace;letter-spacing:0.08em;cursor:pointer;white-space:nowrap;transition:opacity 0.15s;}
.pt-add-btn:hover{opacity:0.85;}
.pt-filter-row{display:flex;gap:0.4rem;}
.pt-filter-chip{padding:0.3rem 0.7rem;border:1px solid var(--border);border-radius:2px;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.07em;cursor:pointer;color:var(--ink-muted);transition:all 0.15s;}
.pt-filter-chip.active{background:var(--energy);border-color:var(--energy);color:white;}
.pt-key-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem;flex-wrap:wrap;}
.pt-key-badge{padding:0.2rem 0.55rem;border-radius:2px;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.06em;font-weight:700;}
.pt-key-badge.overdue{background:#c0392b;color:white;}
.pt-key-badge.urgent{background:#e67e22;color:white;}
.pt-key-badge.neutral{background:#f1c40f;color:#1a1a1a;}
.pt-key-badge.good{background:#27ae60;color:white;}
.pt-key-badge.varied{background:#8e44ad;color:white;}
.pt-key-badge.feat{background:#1565c0;color:white;}
.pt-type-key{font-family:'DM Mono',monospace;font-size:0.62rem;letter-spacing:0.06em;padding:0.2rem 0.5rem;border-radius:2px;}
.pt-type-key.single{color:#c0392b;background:rgba(192,57,43,0.08);}
.pt-type-key.ep{color:#27ae60;background:rgba(39,174,96,0.08);}
.pt-type-key.album{color:#1565c0;background:rgba(21,101,192,0.08);}
.pt-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:4px;}
.pt-table{width:100%;border-collapse:collapse;min-width:1100px;}
.pt-table thead tr{background:var(--cream);border-bottom:2px solid var(--border);}
.pt-table th{padding:0.55rem 0.6rem;font-family:'DM Mono',monospace;font-size:0.58rem;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;text-align:left;cursor:default;}
.pt-table th.pt-th-date,.pt-table th.pt-th-asset{cursor:pointer;}
.pt-table th.pt-th-asset{text-align:center;max-width:60px;}
.pt-table th.pt-th-actions{width:32px;}
.pt-sort-icon{opacity:0.4;font-size:0.65rem;}
.pt-table tbody tr{border-bottom:1px solid var(--border);transition:background 0.1s;}
.pt-table tbody tr:hover{background:rgba(42,124,116,0.04);}
.pt-table td{padding:0.5rem 0.6rem;font-size:0.78rem;vertical-align:middle;}
.pt-status-bar{width:5px;min-width:5px;padding:0!important;}
.pt-status-bar-inner{width:5px;height:100%;border-radius:2px;}
.pt-status-overdue .pt-status-bar-inner{background:#c0392b;}
.pt-status-urgent .pt-status-bar-inner{background:#e67e22;}
.pt-status-neutral .pt-status-bar-inner{background:#f1c40f;}
.pt-status-good .pt-status-bar-inner{background:#27ae60;}
.pt-status-varied .pt-status-bar-inner{background:#8e44ad;}
.pt-status-feat .pt-status-bar-inner{background:#1565c0;}
.pt-row-overdue{background:rgba(192,57,43,0.05)!important;}
.pt-row-urgent{background:rgba(230,126,34,0.05)!important;}
.pt-row-good{background:rgba(39,174,96,0.04)!important;}
.pt-date-cell{font-family:'DM Mono',monospace;font-size:0.7rem;white-space:nowrap;}
.pt-artist-cell{font-weight:600;white-space:nowrap;}
.pt-title-cell{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.pt-type-pill{display:inline-block;font-family:'DM Mono',monospace;font-size:0.6rem;letter-spacing:0.04em;padding:0.15rem 0.4rem;border-radius:2px;}
.pt-type-pill.Single{color:#c0392b;}
.pt-type-pill.EP,.pt-type-pill.EP-RELEASE{color:#27ae60;}
.pt-type-pill.Album{color:#1565c0;}
.pt-due-overdue{color:#c0392b;font-weight:700;}
.pt-due-urgent{color:#e67e22;font-weight:600;}
.pt-asset-cell{text-align:center;padding:0.4rem 0.3rem!important;}
.pt-checkbox{width:18px;height:18px;cursor:pointer;border:2px solid var(--border);border-radius:2px;display:inline-flex;align-items:center;justify-content:center;transition:all 0.15s;background:white;flex-shrink:0;}
.pt-checkbox.checked{background:var(--teal);border-color:var(--teal);color:white;}
.pt-checkbox.checked::after{content:'✓';font-size:0.65rem;color:white;font-weight:700;}
.pt-del-btn{width:24px;height:24px;border:none;background:transparent;color:var(--ink-faint);cursor:pointer;border-radius:2px;font-size:0.75rem;transition:all 0.15s;display:flex;align-items:center;justify-content:center;}
.pt-del-btn:hover{background:rgba(192,57,43,0.1);color:#c0392b;}
.pt-empty{text-align:center;padding:4rem 2rem;color:var(--ink-muted);}
.pt-empty-icon{font-size:2.5rem;margin-bottom:0.8rem;opacity:0.3;}
.pt-empty-title{font-size:1.1rem;font-weight:600;margin-bottom:0.4rem;color:var(--ink);}
.pt-empty-sub{font-size:0.82rem;margin-bottom:1.5rem;}
.pt-progress-cell{text-align:center;padding:0.4rem 0.6rem!important;}
.pt-progress-ring{position:relative;display:inline-flex;align-items:center;justify-content:center;}
.pt-progress-text{font-family:'DM Mono',monospace;font-size:0.6rem;font-weight:700;}

/* Add tracker release modal */
.atr-modal{background:var(--parchment);border:1px solid var(--border);border-radius:6px;padding:1.5rem;width:520px;max-width:94vw;position:relative;}
.atr-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.atr-header h3{font-size:1.1rem;font-weight:700;margin:0;}
.atr-close{border:none;background:none;font-size:1.1rem;cursor:pointer;color:var(--ink-muted);padding:0.2rem 0.4rem;border-radius:2px;}
.atr-close:hover{background:var(--border);color:var(--ink);}
.atr-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem 1rem;margin-bottom:1.2rem;}
.atr-field{display:flex;flex-direction:column;gap:0.3rem;}
.atr-field label{font-family:'DM Mono',monospace;font-size:0.65rem;letter-spacing:0.06em;color:var(--ink-muted);text-transform:uppercase;}
.atr-field input,.atr-field select{padding:0.5rem 0.6rem;border:1px solid var(--border);border-radius:3px;font-size:0.82rem;background:white;color:var(--ink);font-family:'Inter',sans-serif;}
.atr-field input:focus,.atr-field select:focus{outline:none;border-color:var(--teal);}
.atr-actions{display:flex;justify-content:flex-end;gap:0.7rem;}
.atr-cancel{padding:0.45rem 1rem;border:1px solid var(--border);background:transparent;border-radius:3px;font-size:0.8rem;cursor:pointer;color:var(--ink-muted);}
.atr-save{padding:0.45rem 1.1rem;background:var(--energy);color:white;border:none;border-radius:3px;font-size:0.8rem;cursor:pointer;font-weight:600;}
.atr-save:hover{opacity:0.88;}

[data-theme="dark"] .pt-table thead tr{background:var(--paper);}
[data-theme="dark"] .pt-table tbody tr:hover{background:rgba(42,124,116,0.07);}
[data-theme="dark"] .pt-checkbox{background:var(--paper);}
[data-theme="dark"] .atr-modal{background:var(--paper);}
[data-theme="dark"] .atr-field input,[data-theme="dark"] .atr-field select{background:var(--parchment);border-color:var(--border);}
[data-theme="dark"] .pt-filter-chip{background:var(--paper);}
[data-theme="dark"] .pt-table-wrap{border-color:var(--border);}

/* ══════════════════════════════════════════════════
   MOBILE RESPONSIVE — full layout reflow
   ══════════════════════════════════════════════════ */

/* ── Mobile nav toggle button (hidden on desktop) ── */
.mobile-nav-toggle{display:none;position:fixed;top:0.75rem;left:0.75rem;z-index:200;background:var(--cream);border:1px solid var(--border);border-radius:6px;padding:0.45rem 0.6rem;cursor:pointer;font-size:1rem;line-height:1;color:var(--ink);}
.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:149;opacity:0;pointer-events:none;transition:opacity 0.2s;}
.mobile-nav-overlay.open{opacity:1;pointer-events:all;}

@media(max-width:768px){

  /* ── Layout ── */
  .shell{flex-direction:column;}
  .sidebar{
    position:fixed;top:0;left:0;bottom:0;
    width:260px;z-index:150;
    transform:translateX(-100%);
    transition:transform 0.25s ease;
  }
  .sidebar.mobile-open{transform:translateX(0);}
  .main{margin-left:0;height:auto!important;overflow-x:hidden!important;overflow-y:visible!important;/* allow vertical scroll, block horizontal on mobile */}
  html,body{overflow-x:hidden;max-width:100vw;}
  .mobile-nav-toggle{display:flex;align-items:center;justify-content:center;}
  .mobile-nav-overlay{display:block;}

  /* ── Topbar ── */
  .topbar{padding:0.65rem 1rem 0.65rem 3.5rem;flex-wrap:wrap;gap:0.5rem;}
  .topbar-greeting{font-size:0.95rem;}
  .topbar-sub{font-size:0.52rem;}
  .topbar-right{gap:0.4rem;flex-wrap:wrap;}
  .upgrade-btn{display:none;}/* too much clutter on mobile */

  /* ── Dashboard grid — single column on mobile, natural content height ── */
  .content{height:auto!important;overflow-y:auto!important;}
  #panel-dashboard.active{flex:none!important;overflow-y:auto!important;}
  #panel-dashboard{max-height:none!important;}
  .dash-grid{grid-template-columns:1fr!important;padding:0.75rem!important;overflow-y:visible!important;grid-auto-rows:auto!important;}
  .today-card-wrap{grid-column:1!important;}
  .dash-right-stack{grid-column:1!important;display:flex;flex-direction:column;gap:0.75rem;}
  .spotify-widget{flex:none!important;}

  /* ── Countdown card ── */
  .countdown-card{padding:1rem 1.1rem;}
  .cd-blocks{gap:0.6rem;}
  .cd-num{font-size:2rem;}

  /* ── Content area ── */
  .content{padding:0.75rem!important;}
  .panel{padding:0!important;}
  .panel-header{flex-direction:column;align-items:flex-start!important;gap:0.6rem;padding:1rem 1rem 0.5rem!important;}

  /* ── Checklist grid ── */
  .cl-grid{grid-template-columns:1fr!important;}

  /* ── Year plan ── */
  .yp-cal-strip{gap:0.3rem;}
  #panel-yearplan .content-inner{padding:0.5rem!important;}
  .yp-week-grid{gap:0.3rem;}

  /* ── Ideas ── */
  .ideas-grid{grid-template-columns:1fr!important;}

  /* ── Strategy / Best Practices ── */
  .bp-grid{grid-template-columns:1fr!important;}

  /* ── Pitch ── */
  .pitch-wrap{padding:0.75rem!important;}
  .dsp-row{flex-direction:column;}

  /* ── Advertising ── */
  .ad-platform-grid{grid-template-columns:1fr!important;}
  .ad-spend-cards{grid-template-columns:repeat(2,1fr)!important;}
  .ad-campaign-row{grid-template-columns:1.5fr 1fr 1fr!important;}
  .ad-campaign-row>*:nth-child(n+4){display:none;}/* hide extra cols on small screens */
  #panel-advertising{padding:0 0.75rem!important;}

  /* ── Analytics ── */
  .an-momentum-row{grid-template-columns:repeat(2,1fr)!important;}
  .an-two-col{grid-template-columns:1fr!important;}
  .an-rel-header,.an-rel-row{grid-template-columns:1.5fr 1fr 50px!important;}
  .an-rel-header>*:last-child,.an-rel-row>*:last-child{display:none;}

  /* ── Onboarding ── */
  .ob-acct-types{grid-template-columns:1fr!important;}
  .ob-tones{gap:0.5rem!important;}
  .ob-card{padding:1.25rem!important;}
  .ob-tiers{grid-template-columns:1fr!important;}
  .ob-tier{padding:1rem!important;}
  .ob-sm-row{flex-direction:column!important;}

  /* ── Save/Exit modals ── */
  #save-modal{left:1rem!important;right:1rem!important;max-width:unset!important;padding:1.25rem!important;}
  .sm-row{flex-direction:column!important;}
  .exit-card{margin:0 1rem;padding:1.25rem!important;}

  /* ── Topbar score badge ── */
  .tb-cs-badge{padding:0.25rem 0.45rem;}
  .tb-cs-label{display:none;}

  /* ── Team chat / reps ── */
  .rmi-modal-wrap,.rmi-modal{max-width:100vw!important;width:100%!important;}
  .dm-modal{left:0!important;right:0!important;bottom:0!important;border-radius:12px 12px 0 0!important;max-height:90vh!important;}

  /* ── Breakthrough button ── */
  #breakthrough-wrap{bottom:1rem;right:1rem;}
  .breakthrough-tooltip{max-width:200px;}

  /* ── Journey strip ── */
  .journey-strip{overflow-x:auto;}
  .journey-nodes{min-width:600px;}/* allow horizontal scroll */
  .journey-strip-body{flex-direction:column;gap:1rem;}
  .journey-strip-left{padding-right:0;}
  .journey-strip-right{width:100%;border-left:none;border-top:1px solid var(--border);padding-left:0;padding-top:1rem;}
  .jp-rm-blocks{justify-content:flex-start;}
  /* journey strip already unrestricted on desktop; no override needed on mobile */

  /* ── Tables / production tracker ── */
  .pt-table-wrap{overflow-x:auto;}

  /* ── Misc spacing ── */
  h2{font-size:1.4rem!important;}
  .panel-header h2{font-size:1.3rem!important;}
}

@media(max-width:480px){
  .topbar-right .label-switcher{display:none;}
  .ob-sm-row{flex-direction:column!important;}
  .an-momentum-row{grid-template-columns:1fr!important;}
  .ad-spend-cards{grid-template-columns:1fr 1fr!important;}
  .sidebar{width:88vw;max-width:300px;}
  .ob-tiers{gap:0.6rem!important;}
  .yp-cal-strip{gap:0.2rem;}
  /* Hide "Saved to this device" text on small screens — icon is enough */
  #sm-saved-indicator span:last-child{display:none;}
  /* Topbar: keep greeting readable, shrink right side */
  .topbar{padding:0.55rem 0.75rem 0.55rem 3.2rem;}
  .topbar-greeting{font-size:0.88rem;}
  .topbar-sub{font-size:0.48rem;}
  /* CS modal → single column */
  .cs-modal-fields{grid-template-columns:1fr!important;}
  /* Pitch → single column */
  .pitch-top-row{grid-template-columns:1fr!important;}
  /* Tour modal full width */
  #tour-modal{padding:1.5rem 1.25rem 1.25rem;}
  #tour-step-content h3{font-size:1.6rem;}
}

/* ── Additional 768px fixes for items missed in main breakpoint ── */
@media(max-width:768px){
  /* Tour modal */
  #tour-modal{max-width:calc(100vw - 2rem);max-height:85vh;overflow-y:auto;}
  #tour-step-content p{font-size:0.84rem;}
  /* Cadelo Score modal fields → single column */
  .cs-modal-fields{grid-template-columns:1fr;}
  /* Pitch top row → single column */
  .pitch-top-row{grid-template-columns:1fr;}
  /* Settings modal */
  .settings-modal{padding:1.4rem 1.25rem;max-height:90vh;}
  .sm-btn-row{flex-direction:column;gap:0.5rem;}
  .sm-btn-row .sm-btn{width:100%;}
  /* Topbar right — prevent awkward wrapping */
  #sm-sidebar-nudge{display:none!important;}/* Save btn in topbar hidden; save modal auto-shows */
  #sm-saved-indicator{display:none!important;}/* replaced by implicit auto-save */
  /* Notification panel — prevent overflow */
  .notif-panel{right:0.5rem!important;left:0.5rem!important;width:auto!important;max-width:none!important;}
  /* CS modal itself */
  .cs-modal{padding:1.25rem!important;max-height:90vh;overflow-y:auto;}
  /* Mobile nav overlay backdrop */
  .mobile-nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.4);z-index:100;}
  /* Splash sign-in layout */
  .splash-signin-wrap{margin-top:1.2rem;}
}

/* ── iOS / Safari specific fixes ── */
@supports (-webkit-touch-callout: none){
  /* Smooth momentum scrolling on iOS */
  .content, .panel, .sidebar, .cs-modal, #tour-modal{-webkit-overflow-scrolling:touch;}
  /* Prevent double-tap zoom on buttons */
  button, a{touch-action:manipulation;}
  /* Safe area insets for iPhone notch / home indicator */
  .topbar{padding-top:max(0.65rem, env(safe-area-inset-top));}
  .sidebar{padding-bottom:env(safe-area-inset-bottom);}
  body{padding-bottom:env(safe-area-inset-bottom);}
}

/* Remove blue tap flash on all tappable elements on mobile */
a, button, [onclick]{-webkit-tap-highlight-color:transparent;}

/* ══════════════════════════════════════════════════════════════════════
   SPOTIFY WIDGET
   ══════════════════════════════════════════════════════════════════════ */
@keyframes sp-shimmer {
  0%   { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}
@keyframes sp-pulse-border {
  0%, 100% { box-shadow: 0 0 0 0 rgba(29,185,84,0.18); }
  50%       { box-shadow: 0 0 0 4px rgba(29,185,84,0.07); }
}

/* Spotify widget — flex:1 lets it stretch to fill the right-stack height (which spans 2 grid rows) */
.spotify-widget {
  background: var(--cream);
  border: 1px solid var(--border);
  border-top: 3px solid #1DB954;
  padding: 1rem 1.1rem 0.9rem;
  position: relative;
  transition: opacity 0.2s;
  flex: 1;
}
.spotify-widget.sp-loading { opacity: 0.5; pointer-events: none; }

/* disconnected card gets a subtle breathing glow */
.spotify-widget:has(.sp-connect-btn) {
  animation: sp-pulse-border 3s ease-in-out infinite;
}

/* header row */
.sp-header { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.65rem; }
.sp-icon   { width: 20px; height: 20px; flex-shrink: 0; }
.sp-header-text { flex: 1; }
.sp-label  { font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--ink-muted); line-height: 1; margin-bottom: 0.2rem; }
.sp-status-dot { font-size: 0.7rem; color: #1DB954; font-weight: 600; }
.sp-status-off { font-size: 0.7rem; color: var(--ink-faint); }
.sp-refresh-btn { background: none; border: 1px solid var(--border); color: var(--ink-muted); font-size: 0.85rem; width: 26px; height: 26px; display: flex; align-items: center; justify-content: center; cursor: pointer; border-radius: 2px; transition: all 0.15s; flex-shrink: 0; }
.sp-refresh-btn:hover { border-color: #1DB954; color: #1DB954; }

/* ghost/skeleton — disconnected preview */
.sp-ghost-profile { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 1rem; }
.sp-ghost-avatar  {
  width: 44px; height: 44px; border-radius: 50%; flex-shrink: 0;
  background: linear-gradient(90deg, var(--border) 25%, var(--paper) 50%, var(--border) 75%);
  background-size: 200% 100%;
  animation: sp-shimmer 1.8s infinite linear;
}
.sp-ghost-lines { flex: 1; display: flex; flex-direction: column; gap: 0.45rem; }
.sp-ghost-line  {
  height: 10px; border-radius: 2px;
  background: linear-gradient(90deg, var(--border) 25%, var(--paper) 50%, var(--border) 75%);
  background-size: 200% 100%;
  animation: sp-shimmer 1.8s infinite linear;
}
.sp-ghost-name  { width: 70%; }
.sp-ghost-genre { width: 45%; opacity: 0.6; }

.sp-ghost-stats { display: flex; gap: 0; margin-bottom: 1rem; border: 1px solid var(--border); border-radius: 2px; overflow: hidden; }
.sp-ghost-stat  { flex: 1; padding: 0.65rem 0.75rem; text-align: center; }
.sp-ghost-stat + .sp-ghost-stat { border-left: 1px solid var(--border); }
.sp-ghost-val   { font-family: 'Barlow Condensed', sans-serif; font-size: 1.35rem; font-weight: 800; color: var(--border); line-height: 1; }

/* connected: profile row */
.sp-profile { display: flex; align-items: center; gap: 0.65rem; margin-bottom: 0.75rem; }
.sp-avatar  { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.sp-avatar-ph { width: 38px; height: 38px; border-radius: 50%; background: #1DB954; display: flex; align-items: center; justify-content: center; font-family: 'Barlow Condensed', sans-serif; font-size: 1.2rem; font-weight: 800; color: #fff; flex-shrink: 0; }
.sp-artist-name { font-family: 'Barlow Condensed', sans-serif; font-size: 1.1rem; font-weight: 700; color: var(--ink); letter-spacing: 0.01em; line-height: 1.2; }
.sp-genres { font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-faint); margin-top: 0.2rem; }

/* stats row */
.sp-stats { display: flex; gap: 0; margin-bottom: 0.75rem; border: 1px solid var(--border); border-radius: 2px; overflow: hidden; }
.sp-stat  { flex: 1; padding: 0.5rem 0.65rem; text-align: center; }
.sp-stat + .sp-stat { border-left: 1px solid var(--border); }
.sp-stat-val  { font-family: 'Barlow Condensed', sans-serif; font-size: 1.35rem; font-weight: 800; color: var(--ink); line-height: 1; }
.sp-stat-denom { font-size: 0.7rem; font-weight: 400; color: var(--ink-faint); }
.sp-stat-lbl  { font-family: 'DM Mono', monospace; font-size: 0.53rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-faint); margin-top: 0.25rem; }

/* top tracks */
.sp-tracks-label { font-family: 'DM Mono', monospace; font-size: 0.55rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 0.4rem; }
.sp-tracks { display: flex; flex-direction: column; gap: 0.35rem; margin-bottom: 0.75rem; }
.sp-track  { display: flex; align-items: center; gap: 0.5rem; padding: 0.35rem 0.5rem; background: var(--paper); border-radius: 2px; }
.sp-track-img { width: 32px; height: 32px; border-radius: 2px; object-fit: cover; flex-shrink: 0; }
.sp-track-ph  { width: 32px; height: 32px; border-radius: 2px; background: var(--border); flex-shrink: 0; }
.sp-track-info { flex: 1; min-width: 0; }
.sp-track-name { font-size: 0.78rem; font-weight: 600; color: var(--ink); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sp-track-sub  { font-size: 0.68rem; color: var(--ink-faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 0.1rem; }
.sp-track-pop  { font-family: 'DM Mono', monospace; font-size: 0.65rem; color: var(--ink-muted); flex-shrink: 0; }

/* footer */
.sp-footer { display: flex; justify-content: flex-end; }
.sp-disconnect-btn { font-family: 'DM Mono', monospace; font-size: 0.55rem; letter-spacing: 0.1em; text-transform: uppercase; background: none; border: none; color: var(--ink-faint); cursor: pointer; padding: 0.2rem 0; transition: color 0.15s; }
.sp-disconnect-btn:hover { color: var(--energy); }
.sp-stat-pending { color: var(--ink-faint); font-size: 0.85em; cursor: help; }

/* connect CTA */
.sp-connect-desc { font-size: 0.8rem; color: var(--ink-muted); line-height: 1.55; margin-bottom: 1rem; }
.sp-connect-btn {
  width: 100%; padding: 0.8rem 1rem;
  background: #1DB954; color: #fff; border: none;
  font-family: 'DM Mono', monospace; font-size: 0.65rem; letter-spacing: 0.1em; text-transform: uppercase;
  cursor: pointer; border-radius: 2px;
  display: flex; align-items: center; justify-content: center; gap: 0.5rem;
  transition: background 0.15s, transform 0.1s;
}
.sp-connect-btn:hover  { background: #17a349; transform: translateY(-1px); }
.sp-connect-btn:active { transform: translateY(0); }
.sp-btn-icon { width: 15px; height: 15px; flex-shrink: 0; }

/* ── Spotify artist pin — shared input/button ── */
.sp-artist-url-input {
  flex: 1; min-width: 0; padding: 0.42rem 0.55rem;
  font-family: 'DM Mono', monospace; font-size: 0.62rem; letter-spacing: 0.02em;
  border: 1px solid var(--border); border-radius: 2px;
  background: var(--paper); color: var(--ink); outline: none;
  transition: border-color 0.15s;
}
.sp-artist-url-input::placeholder { color: var(--ink-faint); }
.sp-artist-url-input:focus        { border-color: #1DB954; }
.sp-artist-url-input.sp-url-error { border-color: var(--energy); animation: sp-shake 0.3s ease; }
.sp-artist-url-input:disabled     { opacity: 0.55; cursor: default; background: var(--border); }
.sp-artist-link-btn {
  padding: 0.42rem 0.65rem; flex-shrink: 0;
  font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.06em; text-transform: uppercase;
  background: var(--ink); color: var(--paper); border: none; border-radius: 2px; cursor: pointer;
  transition: opacity 0.15s;
}
.sp-artist-link-btn:hover { opacity: 0.7; }

/* ── Disconnected: artist link section ── */
.sp-artist-link-section { margin-top: 0.9rem; padding-top: 0.8rem; border-top: 1px solid var(--border); }
.sp-artist-link-label   {
  font-family: 'DM Mono', monospace; font-size: 0.57rem; letter-spacing: 0.07em;
  color: var(--ink-faint); margin-bottom: 0.4rem;
}
.sp-artist-link-row { display: flex; gap: 0.4rem; }

/* ── Connected: footer with pin toggle ── */
.sp-footer {
  display: flex; flex-direction: column; gap: 0.4rem; margin-top: 0.5rem;
}
.sp-footer-actions { display: flex; justify-content: space-between; align-items: center; }
.sp-pin-open-btn {
  font-family: 'DM Mono', monospace; font-size: 0.57rem; letter-spacing: 0.07em;
  background: none; border: none; color: var(--ink-faint); cursor: pointer; padding: 0;
  transition: color 0.15s;
}
.sp-pin-open-btn:hover { color: #1DB954; }
.sp-pin-area {
  display: none; flex-direction: row; gap: 0.4rem; margin-top: 0.2rem;
}
.sp-pin-area.sp-pin-open { display: flex; }
.sp-pin-confirmed {
  font-family: 'DM Mono', monospace; font-size: 0.57rem; letter-spacing: 0.06em; color: #1DB954;
}
.sp-unpin-btn {
  background: none; border: none; color: var(--ink-faint); font-family: 'DM Mono', monospace;
  font-size: 0.57rem; cursor: pointer; text-decoration: underline; padding: 0; margin-left: 0.3rem;
}
.sp-unpin-btn:hover { color: var(--ink); }
@keyframes sp-shake {
  0%,100% { transform: translateX(0); }
  25%      { transform: translateX(-4px); }
  75%      { transform: translateX(4px); }
}

/* dark theme */
[data-theme="dark"] .spotify-widget { background: var(--cream); border-color: var(--border); }
[data-theme="dark"] .sp-track { background: var(--paper); }
[data-theme="dark"] .sp-stats,
[data-theme="dark"] .sp-ghost-stats { border-color: var(--border); }
[data-theme="dark"] .sp-stat + .sp-stat,
[data-theme="dark"] .sp-ghost-stat + .sp-ghost-stat { border-color: var(--border); }

/* ── Spotify linked badge (URL-only, not OAuth) ── */
.sp-linked-badge {
  display: flex; align-items: center; gap: 0.5rem;
  margin: 0.75rem 0 0.5rem;
  padding: 0.55rem 0.75rem;
  background: rgba(29,185,84,0.08);
  border: 1px solid rgba(29,185,84,0.25);
  border-radius: 3px;
  font-family: 'DM Mono', monospace; font-size: 0.65rem; color: #1DB954;
}
.sp-linked-badge a { color: #1DB954; text-decoration: none; font-weight: 600; border-bottom: 1px solid rgba(29,185,84,0.3); }
.sp-linked-badge a:hover { border-bottom-color: #1DB954; }

/* ── Emergency / tight release banners in Timeline ── */
.tl-emergency-banner {
  display: flex; align-items: flex-start; gap: 0.85rem;
  background: rgba(232,69,10,0.06); border: 1.5px solid rgba(232,69,10,0.35);
  border-left: 4px solid var(--energy);
  padding: 1rem 1.1rem; margin-bottom: 1.2rem;
}
.tl-emergency-icon { font-size: 1.5rem; line-height: 1; flex-shrink: 0; }
.tl-emergency-title { font-family: 'Barlow Condensed', sans-serif; font-size: 1.05rem; font-weight: 800; color: var(--energy); letter-spacing: 0.02em; margin-bottom: 0.35rem; }
.tl-emergency-sub { font-size: 0.78rem; color: var(--ink-soft); line-height: 1.55; }
.tl-skip-badge { display: inline-block; background: rgba(0,0,0,0.07); color: var(--ink-faint); font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.08em; text-transform: uppercase; padding: 0.15rem 0.45rem; border-radius: 2px; margin-right: 0.4rem; vertical-align: middle; }
.tl-critical { border-left: 3px solid var(--energy) !important; }
.tl-skipped { opacity: 0.55; }
.tl-tight-banner {
  background: rgba(154,111,10,0.07); border: 1px solid rgba(154,111,10,0.3);
  padding: 0.75rem 1rem; margin-bottom: 1rem;
  font-size: 0.78rem; color: var(--ink-soft); line-height: 1.55;
  font-family: 'DM Mono', monospace;
}

/* ── Track 2: Next Release Dual-Track ── */
.tl-track2-divider {
  display: flex; align-items: center; gap: 0.75rem;
  margin: 1.5rem 0 1rem;
}
.t2-divider-line { flex: 1; height: 1px; background: var(--teal); opacity: 0.3; }
.t2-divider-label {
  font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--teal); white-space: nowrap; flex-shrink: 0;
}
.tl-track2 {
  border: 1.5px solid rgba(42,124,116,0.3);
  border-top: 3px solid var(--teal);
  padding: 1rem 1.1rem 1.1rem;
  margin-bottom: 1rem;
}
.t2-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.t2-header-left { flex: 1; min-width: 0; }
.t2-header-title { font-family: 'Barlow Condensed', sans-serif; font-size: 1.15rem; font-weight: 800; color: var(--teal); letter-spacing: 0.02em; margin-bottom: 0.2rem; }
.t2-header-date { font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.06em; color: var(--ink-soft); margin-bottom: 0.3rem; }
.t2-header-cadence { font-size: 0.71rem; }
.t2-cadence-warning { color: var(--gold); font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.04em; }
.t2-cadence-ok { color: var(--ink-faint); font-family: 'DM Mono', monospace; font-size: 0.58rem; letter-spacing: 0.04em; }
.t2-adjust-btn {
  flex-shrink: 0; font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.1em;
  text-transform: uppercase; background: none; border: 1px solid rgba(42,124,116,0.4);
  color: var(--teal); padding: 0.35rem 0.7rem; cursor: pointer; transition: all 0.15s; white-space: nowrap;
}
.t2-adjust-btn:hover { background: var(--teal); color: #fff; border-color: var(--teal); }
.t2-milestones { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0.55rem; }
.t2-milestone {
  border: 1px solid var(--border); padding: 0.65rem 0.75rem;
  border-left: 3px solid var(--border);
}
.t2-ms-ok    { border-left-color: var(--teal); }
.t2-ms-warning { border-left-color: var(--gold); }
.t2-ms-critical { border-left-color: var(--energy); background: rgba(232,69,10,0.03); }
.t2-ms-missed  { border-left-color: var(--ink-faint); opacity: 0.7; }
.t2-ms-release-day { grid-column: 1/-1; border-left-color: var(--teal); background: rgba(42,124,116,0.04); }
.t2-ms-top { display: flex; align-items: baseline; justify-content: space-between; gap: 0.5rem; margin-bottom: 0.25rem; flex-wrap: wrap; }
.t2-ms-title { font-size: 0.78rem; font-weight: 600; color: var(--ink); line-height: 1.35; }
.t2-ms-status { font-family: 'DM Mono', monospace; font-size: 0.52rem; letter-spacing: 0.07em; white-space: nowrap; flex-shrink: 0; }
.t2-ms-status.t2-ms-ok { color: var(--teal); }
.t2-ms-status.t2-ms-warning { color: var(--gold); }
.t2-ms-status.t2-ms-critical { color: var(--energy); font-weight: 700; }
.t2-ms-status.t2-ms-missed { color: var(--ink-faint); }
.t2-ms-desc { font-size: 0.69rem; color: var(--ink-soft); line-height: 1.5; }

/* ── Release History ── */
.rh-wrap { margin-bottom: 1rem; border: 1px solid var(--border); }
.rh-toggle {
  width: 100%; display: flex; align-items: center; justify-content: space-between;
  padding: 0.55rem 0.85rem; background: var(--parchment); border: none; cursor: pointer;
  font-family: 'DM Mono', monospace; font-size: 0.56rem; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--ink-faint); transition: color 0.15s, background 0.15s;
  text-align: left;
}
.rh-toggle:hover { color: var(--ink-muted); background: var(--cream); }
.rh-toggle-arrow { transition: transform 0.2s; display: inline-block; }
.rh-toggle.rh-open .rh-toggle-arrow { transform: rotate(90deg); }
.rh-list { display: none; border-top: 1px solid var(--border); }
.rh-list.rh-open { display: block; }
.rh-header-row, .rh-row {
  display: grid; grid-template-columns: 120px 1fr 60px;
  padding: 0.45rem 0.85rem; gap: 0.75rem; align-items: center;
}
.rh-header-row {
  background: var(--parchment);
  border-bottom: 1px solid var(--border);
}
.rh-col-label {
  font-family: 'DM Mono', monospace; font-size: 0.48rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--ink-faint);
}
.rh-row { border-bottom: 1px solid var(--border-soft); }
.rh-row:last-child { border-bottom: none; }
.rh-row:hover { background: var(--cream); }
.rh-date { font-family: 'DM Mono', monospace; font-size: 0.62rem; color: var(--ink-soft); }
.rh-title { font-size: 0.78rem; color: var(--ink); font-weight: 500; }
.rh-type {
  font-family: 'DM Mono', monospace; font-size: 0.5rem; letter-spacing: 0.08em;
  text-transform: uppercase; color: var(--ink-faint);
  background: var(--parchment); padding: 0.15rem 0.4rem; text-align: center;
}

/* ── Build Phase (between releases) section ── */
.tl-build-phase-label { color: var(--teal) !important; }
.tl-build-phase-label::before { background: var(--teal) !important; }
.tl-build-phase-intro {
  font-size: 0.78rem; color: var(--ink-soft); line-height: 1.6;
  background: rgba(0,180,150,0.05); border: 1px solid rgba(0,180,150,0.18);
  border-left: 3px solid var(--teal);
  padding: 0.65rem 0.9rem; margin-bottom: 0.9rem;
}
.tl-build-card { border-left: 2px solid var(--teal) !important; }

/* ── Overdue Tasks Banner — soft/neutral style ── */
#overdue-banner { margin-bottom: 0.85rem; }
.overdue-banner-inner {
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  background: rgba(0,0,0,0.025); border: 1px solid var(--border);
  border-left: 3px solid var(--ink-muted);
  padding: 0.65rem 1rem 0.65rem 1rem;
  border-radius: 2px;
}
.ob-left { display: flex; align-items: flex-start; gap: 0.65rem; flex: 1; min-width: 0; }
.ob-icon { font-size: 0.65rem; flex-shrink: 0; margin-top: 0.2rem; color: var(--ink-muted); line-height: 1; }
.ob-icon-soft { font-size: 0.55rem; }
.ob-body { flex: 1; min-width: 0; }
.ob-title { font-family: 'DM Mono', monospace; font-size: 0.66rem; font-weight: 500; color: var(--ink-soft); letter-spacing: 0.05em; margin-bottom: 0.3rem; }
.ob-tasks { display: flex; flex-wrap: wrap; gap: 0.35rem; }
.ob-task {
  font-size: 0.7rem; letter-spacing: 0.01em;
  color: var(--ink-muted); background: rgba(0,0,0,0.04);
  padding: 0.15rem 0.45rem; border-radius: 2px; white-space: nowrap;
  max-width: 220px; overflow: hidden; text-overflow: ellipsis;
}
.ob-task-more { color: var(--ink-faint); }
.ob-cta {
  flex-shrink: 0; font-family: 'DM Mono', monospace; font-size: 0.62rem;
  letter-spacing: 0.06em;
  background: none; border: 1px solid var(--border); color: var(--ink-soft);
  padding: 0.35rem 0.7rem; cursor: pointer; transition: all 0.15s; white-space: nowrap; border-radius: 2px;
}
.ob-cta:hover { background: var(--ink); color: var(--cream); border-color: var(--ink); }

/* ── Cadelo Score Result Popup ── */
#cadelo-score-popup {
  position: fixed; inset: 0; z-index: 10100;
  display: none; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.25s;
}
#cadelo-score-popup.open { opacity: 1; }
.vsp-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.45); }
.vsp-card {
  position: relative; z-index: 1;
  background: var(--cream); border: 1px solid var(--border);
  border-top: 3px solid var(--energy);
  padding: 1.5rem 1.6rem 1.3rem;
  max-width: 420px; width: 92%;
  max-height: 90vh; overflow-y: auto;
  box-shadow: 0 16px 48px rgba(0,0,0,0.18);
  animation: fadeUp 0.25s ease both;
}
.vsp-close { position: absolute; top: 0.75rem; right: 0.9rem; background: none; border: none; font-size: 1.3rem; color: var(--ink-faint); cursor: pointer; line-height: 1; padding: 0.2rem 0.4rem; }
.vsp-header { display: flex; align-items: center; gap: 0.8rem; margin-bottom: 0.6rem; }
.vsp-score-num { font-family: 'Barlow Condensed', sans-serif; font-size: 3rem; font-weight: 900; color: var(--ink); line-height: 1; }
.vsp-score-denom { font-size: 1.2rem; font-weight: 600; color: var(--ink-faint); }
.vsp-tier-badge { background: var(--energy); color: #fff; font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.3rem 0.7rem; font-weight: 600; }
.vsp-trend { font-family: 'DM Mono', monospace; font-size: 0.68rem; margin-left: auto; }
.vsp-tier-desc { font-size: 0.82rem; color: var(--ink-soft); line-height: 1.6; margin-bottom: 1.1rem; }
.vsp-section-label { font-family: 'DM Mono', monospace; font-size: 0.5rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-faint); margin-bottom: 0.55rem; }
.vsp-strengths { display: flex; flex-direction: column; gap: 0.3rem; margin-bottom: 0.25rem; }
.vsp-strength { display: flex; align-items: center; gap: 0.5rem; font-size: 0.78rem; color: var(--ink-soft); }
.vsp-strength-icon { color: var(--teal); font-weight: 700; }
.vsp-opportunity { background: rgba(232,69,10,0.04); border: 1px solid rgba(232,69,10,0.18); padding: 0.75rem 0.9rem; margin-bottom: 0.6rem; }
.vsp-opp-label { font-family: 'Barlow Condensed', sans-serif; font-size: 0.95rem; font-weight: 700; color: var(--ink); margin-bottom: 0.3rem; }
.vsp-opp-tip { font-size: 0.76rem; color: var(--ink-soft); line-height: 1.55; margin-bottom: 0.6rem; }
.vsp-work-btn { background: none; border: 1px solid var(--energy); color: var(--energy); font-family: 'DM Mono', monospace; font-size: 0.6rem; letter-spacing: 0.06em; padding: 0.3rem 0.65rem; cursor: pointer; font-weight: 600; transition: all 0.15s; }
.vsp-work-btn:hover { background: var(--energy); color: #fff; }
.vsp-footer { margin-top: 1.1rem; padding-top: 0.9rem; border-top: 1px solid var(--border); }
.vsp-view-btn { background: var(--ink); color: var(--cream); border: none; font-family: 'DM Mono', monospace; font-size: 0.65rem; letter-spacing: 0.07em; padding: 0.6rem 1.1rem; cursor: pointer; width: 100%; font-weight: 600; transition: opacity 0.15s; }
.vsp-view-btn:hover { opacity: 0.82; }
