/* ===== AOY Dashboard — base theme (matches Day 15-18 report palette) ===== */
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --charcoal:#1c1a16; --charcoal2:#181611; --card:#24211c; --card2:#2b2720;
  --cream:#ece6d6; --gold:#f0c252; --gold-deep:#d4a017; --line:#332f28;
  --muted:rgba(236,230,214,.62); --muted2:rgba(236,230,214,.38);
  --green:#7ee0a0; --green-deep:#2f7d4f; --red:#f08a8a; --red-deep:#a53f3f;
  --blue:#7ab5ff; --fire:#ff8a3d;
  --sb-w:236px;
}
html,body{height:100%}
body{background:var(--charcoal);color:var(--cream);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;line-height:1.5}
a{color:inherit;text-decoration:none;cursor:pointer}
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-thumb{background:#3a352c;border-radius:6px}
::-webkit-scrollbar-track{background:transparent}

.app{display:flex;min-height:100vh}

/* ===================== SIDEBAR ===================== */
.sidebar{width:var(--sb-w);flex:0 0 var(--sb-w);background:var(--charcoal2);
  border-right:1px solid var(--line);display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;padding:18px 12px;gap:6px;z-index:40}
.brand{display:flex;align-items:center;gap:11px;padding:6px 8px 16px}
.brand-mark{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;
  font-weight:900;font-size:15px;letter-spacing:.5px;color:#2c2100;
  background:radial-gradient(circle at 30% 25%,var(--gold),var(--gold-deep));
  box-shadow:0 0 0 5px rgba(240,194,82,.08),0 6px 18px rgba(240,194,82,.25)}
.brand-logo{width:40px;height:40px;border-radius:11px;object-fit:cover;
  box-shadow:0 0 0 5px rgba(240,194,82,.08),0 6px 18px rgba(240,194,82,.25)}
.brand-name{font-weight:800;font-size:14.5px;letter-spacing:-.2px}
.brand-sub{font-size:11px;color:var(--muted2);letter-spacing:.4px;text-transform:uppercase}

.nav{display:flex;flex-direction:column;gap:3px;flex:1;overflow-y:auto}
.nav-divider{height:1px;background:var(--line);margin:9px 8px}
.nav-item{display:flex;align-items:center;gap:12px;padding:9px 12px;border-radius:10px;
  font-size:13.5px;font-weight:600;color:var(--muted);border:1px solid transparent;
  transition:background .14s,color .14s,border-color .14s}
.nav-item .ico{width:20px;text-align:center;font-size:15px;opacity:.9}
.nav-item:hover{background:rgba(255,255,255,.03);color:var(--cream)}
.nav-item.active{background:rgba(240,194,82,.10);color:var(--gold);
  border-color:rgba(240,194,82,.35)}

.acct{position:relative;display:flex;align-items:center;gap:10px;padding:10px;
  border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer}
.acct-av{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:13px;color:#2c2100;background:var(--gold)}
.acct-meta{flex:1;min-width:0}
.acct-name{font-size:13px;font-weight:700}
.acct-plan{font-size:11px;color:var(--muted2)}
.acct-caret{color:var(--muted2);font-size:12px}
.acct-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--card2);
  border:1px solid var(--line);border-radius:12px;padding:6px;display:none;
  box-shadow:0 12px 32px rgba(0,0,0,.5)}
.acct-menu.open{display:block}
.acct-menu a{display:block;padding:8px 11px;border-radius:8px;font-size:12.5px;color:var(--muted)}
.acct-menu a:hover{background:rgba(255,255,255,.04);color:var(--cream)}
.acct-menu a.danger{color:var(--red)}

/* ===================== MAIN ===================== */
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:20px;
  padding:14px 26px;background:rgba(24,22,17,.85);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line)}
.hamb{display:none;background:none;border:none;color:var(--cream);font-size:20px;cursor:pointer}

.chan-switch{position:relative;display:flex;align-items:center;gap:10px;padding:7px 12px;
  border:1px solid var(--line);border-radius:12px;background:var(--card);cursor:pointer;
  transition:border-color .14s}
.chan-switch:hover{border-color:var(--gold)}
.chan-av{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  font-weight:800;font-size:12px;color:#2c2100;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep))}
.chan-name{font-size:13.5px;font-weight:700;line-height:1.1}
.chan-handle{font-size:11.5px;color:var(--muted2)}
.chan-caret{color:var(--muted);font-size:11px;margin-left:2px}
.chan-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:230px;background:var(--card2);
  border:1px solid var(--line);border-radius:12px;padding:6px;display:none;z-index:50;
  box-shadow:0 14px 36px rgba(0,0,0,.55)}
.chan-menu.open{display:block}
.chan-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:9px;cursor:pointer}
.chan-row:hover{background:rgba(255,255,255,.04)}
.chan-row .chan-av{width:28px;height:28px;font-size:10px;border-radius:7px}
.chan-row small{color:var(--muted2);font-size:11px}
.chan-row.add{color:var(--gold);font-weight:600;font-size:12.5px;justify-content:center}

.stats{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}
.stat{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:7px 14px;min-width:120px}
.stat-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;color:var(--muted2)}
.stat-v{font-size:16px;font-weight:800;display:flex;align-items:baseline;gap:7px}
.delta{font-size:11px;font-weight:700}
.delta.up{color:var(--green)} .delta.down{color:var(--red)} .delta.flat{color:var(--muted2);font-weight:600}

/* ===================== VIEW / shared ===================== */
.view{padding:26px 28px 60px;max-width:1280px;width:100%}
.page-head{margin-bottom:22px}
.page-title{font-size:24px;font-weight:800;letter-spacing:-.4px}
.page-sub{font-size:13.5px;color:var(--muted);margin-top:3px}

.verdict-banner{display:flex;align-items:center;gap:16px;padding:18px 22px;border-radius:16px;
  margin-bottom:26px;border:1px solid rgba(240,194,82,.35);
  background:linear-gradient(135deg,rgba(240,194,82,.14),rgba(240,194,82,.02))}
.vb-dot{width:42px;height:42px;border-radius:50%;flex:0 0 42px;
  background:radial-gradient(circle at 30% 30%,var(--gold),var(--gold-deep));
  box-shadow:0 0 18px rgba(240,194,82,.4)}
.vb-text{flex:1}
.vb-text b{color:var(--gold)}
.vb-cta{background:var(--gold);color:#2c2100;font-weight:700;font-size:12.5px;
  border:none;border-radius:9px;padding:9px 14px;cursor:pointer;white-space:nowrap}
.vb-cta:hover{background:var(--gold-deep)}

.sec-head{display:flex;align-items:baseline;gap:10px;margin:30px 2px 14px}
.sec-head h2{font-size:16px;font-weight:700;color:var(--gold)}
.sec-head .count{font-size:12px;color:var(--muted)}

/* ---- card grid ---- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s;
  box-shadow:0 1px 0 rgba(0,0,0,.4),0 4px 14px rgba(0,0,0,.35)}
.card:hover{border-color:var(--gold);transform:translateY(-2px)}
.card.fire{border-color:rgba(255,138,61,.5)}
.thumb{position:relative;aspect-ratio:16/9;display:block;overflow:hidden}
.thumb .ph{width:100%;height:100%;display:grid;place-items:center;color:rgba(255,255,255,.85);
  font-weight:800;font-size:13px;text-align:center;padding:10px}
.thumb .ph.img{background-size:cover;background-position:center;background-color:#000;padding:0}
.pill{position:absolute;font-size:11px;font-weight:800;padding:4px 8px;border-radius:7px;backdrop-filter:blur(3px)}
.pill.tl{top:8px;left:8px} .pill.br{bottom:8px;right:8px;background:rgba(0,0,0,.78);color:#fff}
.pill.new{background:var(--gold);color:#2c2100}
.pill.fire{background:linear-gradient(135deg,var(--fire),var(--gold));color:#1c1a16}
.body{padding:13px 14px;display:flex;flex-direction:column;gap:8px;flex:1;justify-content:flex-start}
.body::after{content:'';flex:1 0 0;min-height:0}
.ctitle{font-size:14px;font-weight:700;line-height:1.34;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ctitle:hover{color:var(--gold)}
.crow{display:flex;align-items:center;gap:7px;font-size:12px}
.crow-av{width:20px;height:20px;border-radius:50%;object-fit:cover;flex:0 0 auto;
  background:var(--line);box-shadow:0 0 0 1px var(--line)}
.chan{color:var(--blue);font-weight:600} .age{color:var(--muted2)}
.cstats{display:flex;gap:6px;flex-wrap:wrap}
.cs{font-size:10.5px;color:var(--muted);background:rgba(0,0,0,.25);border:1px solid var(--line);
  border-radius:7px;padding:3px 8px}
.cs b{color:var(--cream)} .cs.out{color:var(--gold);border-color:rgba(240,194,82,.3)}
.cs.out.hot{color:var(--fire);border-color:rgba(255,138,61,.45)}
.cfoot{margin-top:4px;padding-top:10px;border-top:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:8px}
.tag{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:3px 8px;border-radius:6px}
.tag.red{background:rgba(240,138,138,.16);color:var(--red)}
.tag.gold{background:rgba(240,194,82,.16);color:var(--gold)}
.tag.green{background:rgba(126,224,160,.16);color:var(--green)}
.tag.blue{background:rgba(122,181,255,.16);color:var(--blue)}
.tell{font-size:11px;font-weight:700;color:#2c2100;background:var(--gold);border:none;
  border-radius:8px;padding:6px 11px;cursor:pointer;font-family:inherit;transition:background .14s}
.tell:hover{background:var(--gold-deep)}
.tell.copied{background:var(--green);color:#06281a}

/* ---- insight feed cards (home) ---- */
.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px}
.insight{background:var(--card);border:1px solid var(--line);border-radius:15px;padding:18px;
  display:flex;flex-direction:column;gap:12px;transition:border-color .15s,transform .15s}
.insight:hover{border-color:var(--gold);transform:translateY(-2px)}
.ins-top{display:flex;align-items:center;gap:10px}
.ins-ico{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:18px;flex:0 0 38px}
.ins-ico.red{background:rgba(240,138,138,.14)} .ins-ico.gold{background:rgba(240,194,82,.14)}
.ins-ico.green{background:rgba(126,224,160,.14)} .ins-ico.blue{background:rgba(122,181,255,.14)}
.ins-kind{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted2);font-weight:700}
.ins-title{font-size:16px;font-weight:800;letter-spacing:-.2px;line-height:1.25}
.ins-body{font-size:13px;color:var(--muted);line-height:1.5}
.ins-body b{color:var(--cream)}
.ins-foot{display:flex;align-items:center;justify-content:space-between;margin-top:2px}
.ins-meta{font-size:11.5px;color:var(--muted2)}

/* ---- competitor table ---- */
.panel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:4px 0;overflow:hidden}
table.trk{width:100%;border-collapse:collapse;font-size:13px}
table.trk th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.6px;
  color:var(--muted2);font-weight:700;padding:13px 16px;border-bottom:1px solid var(--line)}
table.trk td{padding:13px 16px;border-bottom:1px solid var(--line)}
table.trk tr:last-child td{border-bottom:none}
table.trk tr:hover td{background:rgba(255,255,255,.02)}
.tk-chan{display:flex;align-items:center;gap:10px}
.tk-av{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;font-weight:800;
  font-size:11px;color:#2c2100;background:linear-gradient(135deg,var(--gold),var(--gold-deep))}
.tk-name{font-weight:700} .tk-h{font-size:11px;color:var(--muted2)}
td.num{font-variant-numeric:tabular-nums;font-weight:700}
.up7{color:var(--green);font-weight:700} .down7{color:var(--red);font-weight:700}

/* ---- trajectory bars ---- */
.radar{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;margin-bottom:24px}
@media(max-width:900px){.radar{grid-template-columns:1fr}}
.radar-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px 22px}
.radar-card.green{border-color:rgba(126,224,160,.35);background:linear-gradient(135deg,rgba(126,224,160,.10),transparent)}
.radar-card.gold{border-color:rgba(240,194,82,.4);background:linear-gradient(135deg,rgba(240,194,82,.12),transparent)}
.radar-card.red{border-color:rgba(240,138,138,.4);background:linear-gradient(135deg,rgba(240,138,138,.12),transparent)}
.rv-label{font-size:10.5px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted);margin-bottom:8px}
.rv-pill{display:inline-block;font-size:22px;font-weight:900;padding:4px 14px;border-radius:10px}
.radar-card.gold .rv-pill{background:var(--gold);color:#2c2100}
.radar-card.red .rv-pill{background:var(--red);color:#2a0c0c}
.radar-card.green .rv-pill{background:var(--green);color:#0c2818}
.rv-body{margin-top:12px;font-size:13.5px;line-height:1.55}
.rv-coach{color:var(--gold);font-weight:600}
.bars{display:flex;align-items:flex-end;gap:14px;height:130px;margin-top:14px}
.bcol{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%}
.bval{font-size:12px;font-weight:700;margin-bottom:5px}
.bbar{width:100%;max-width:48px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#3a3429,#2a2620);min-height:5px}
.bbar.cur{background:linear-gradient(180deg,var(--gold),var(--gold-deep))}
.blabel{font-size:10.5px;color:var(--muted);margin-top:7px}

/* ---- channel / financial ---- */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:900px){.two-col{grid-template-columns:1fr}}
.fin{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}
.fin h3{font-size:14px;margin-bottom:16px;color:var(--gold)}
.fin-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}
.fin-row:last-child{border-bottom:none}
.fin-row label{font-size:13px;color:var(--muted)}
.fin-row input{width:110px;background:var(--charcoal);border:1px solid var(--line);color:var(--cream);
  border-radius:8px;padding:7px 10px;font-family:inherit;font-size:13px;text-align:right;font-weight:700}
.fin-row input:focus{outline:none;border-color:var(--gold)}
.fin-out{margin-top:18px;padding:16px;border-radius:12px;background:rgba(240,194,82,.10);
  border:1px solid rgba(240,194,82,.3);text-align:center}
.fin-out .k{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted)}
.fin-out .v{font-size:30px;font-weight:900;color:var(--gold);margin-top:4px}

.proj{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px}
.proj h3{font-size:14px;margin-bottom:6px;color:var(--gold)}
.proj-svg{width:100%;height:200px;margin-top:10px}

/* ---- coach ---- */
.coach{max-width:760px;margin:0 auto}
.bubble{padding:13px 16px;border-radius:14px;margin-bottom:12px;font-size:13.5px;line-height:1.55;max-width:80%}
.bubble.tim{background:var(--card);border:1px solid var(--line);border-top-left-radius:4px}
.bubble.me{background:rgba(240,194,82,.14);border:1px solid rgba(240,194,82,.3);
  margin-left:auto;border-top-right-radius:4px}
.coach-in{display:flex;gap:10px;margin-top:18px}
.coach-in input{flex:1;background:var(--card);border:1px solid var(--line);color:var(--cream);
  border-radius:12px;padding:13px 16px;font-family:inherit;font-size:13.5px}
.coach-in input:focus{outline:none;border-color:var(--gold)}
.coach-in button{background:var(--gold);color:#2c2100;border:none;border-radius:12px;
  padding:0 20px;font-weight:700;cursor:pointer}

/* ---- backlog ---- */
.log{display:flex;flex-direction:column;gap:8px}
.log-row{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:13px 16px}
.log-ico{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:16px;flex:0 0 34px;
  background:rgba(240,194,82,.12)}
.log-main{flex:1;min-width:0}
.log-t{font-size:13.5px;font-weight:700}
.log-m{font-size:11.5px;color:var(--muted2)}
.log-when{font-size:11.5px;color:var(--muted);white-space:nowrap}

/* ---- empty / placeholder ---- */
.soon{text-align:center;padding:70px 20px;color:var(--muted)}
.soon .big{font-size:42px;margin-bottom:14px;opacity:.6}
.soon h3{font-size:18px;color:var(--cream);margin-bottom:6px}

/* ===================== RIGHT RAIL: WATCHLIST ===================== */
.rail{width:300px;flex:0 0 300px;background:var(--charcoal2);border-left:1px solid var(--line);
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:18px 14px;z-index:20}
.rail-head{padding:4px 6px 14px;border-bottom:1px solid var(--line);margin-bottom:10px;
  display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.rail-title{font-size:15px;font-weight:800}
.rail-sub{font-size:11.5px;color:var(--muted2);margin-top:2px}

/* shaking lightbulb + badge */
.lamp{position:relative;background:none;border:none;cursor:pointer;font-size:21px;line-height:1;
  padding:4px;border-radius:9px;transition:background .14s;filter:grayscale(.4) opacity(.6)}
.lamp:hover{background:rgba(240,194,82,.1)}
.lamp.active{filter:none;animation:lamp-shake 1.1s ease-in-out infinite}
.lamp.active .lamp-glyph{filter:drop-shadow(0 0 7px rgba(240,194,82,.7))}
@keyframes lamp-shake{0%,82%,100%{transform:rotate(0)}85%{transform:rotate(-14deg)}
  89%{transform:rotate(12deg)}92%{transform:rotate(-8deg)}95%{transform:rotate(5deg)}}
.lamp-badge{position:absolute;top:-2px;right:-3px;min-width:16px;height:16px;padding:0 4px;
  border-radius:8px;background:var(--gold);color:#2c2100;font-size:10px;font-weight:800;
  display:none;place-items:center;font-family:'Inter',sans-serif}
.lamp.active .lamp-badge{display:grid}

/* suggestion teaser strip */
.sugg-teaser{display:none;align-items:center;gap:9px;width:100%;text-align:left;cursor:pointer;
  background:linear-gradient(135deg,rgba(240,194,82,.16),rgba(240,194,82,.03));
  border:1px solid rgba(240,194,82,.4);border-radius:12px;padding:11px 13px;margin-bottom:12px;
  font-family:inherit;color:var(--cream);transition:transform .14s,border-color .14s}
.sugg-teaser.show{display:flex}
.sugg-teaser:hover{transform:translateY(-1px);border-color:var(--gold)}
.st-ico{font-size:16px;animation:lamp-shake 1.1s ease-in-out infinite}
.st-txt{flex:1;font-size:12px}
.st-txt b{color:var(--gold)}
.st-go{color:var(--gold);font-weight:800}

/* suggestion cards (inside the slide-over panel) */
.sugg-head{font-size:12.5px;color:var(--muted);margin-bottom:16px;line-height:1.5}
.sugg-card{background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:15px;
  margin-bottom:14px;transition:border-color .15s}
.sugg-card:hover{border-color:rgba(240,194,82,.4)}
.sc-top{display:flex;align-items:center;gap:12px}
.sc-av{width:46px;height:46px;border-radius:12px;flex:0 0 46px;display:grid;place-items:center;
  font-weight:800;font-size:15px;color:#2c2100;background:linear-gradient(135deg,var(--gold),var(--gold-deep))}
.sc-id{flex:1;min-width:0}
.sc-name{font-size:15px;font-weight:800;line-height:1.2}
.sc-meta{font-size:11.5px;color:var(--muted);margin-top:3px}
.sc-meta b{color:var(--cream)}
.sc-score{flex:0 0 auto;text-align:center;background:rgba(240,194,82,.12);
  border:1px solid rgba(240,194,82,.3);border-radius:10px;padding:5px 9px}
.sc-score .n{font-size:16px;font-weight:900;color:var(--gold);line-height:1}
.sc-score .l{font-size:8.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted2)}
.sc-vid{display:flex;gap:11px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.sc-thumb{width:104px;height:58px;border-radius:8px;flex:0 0 104px;display:grid;place-items:center;
  color:rgba(255,255,255,.85);font-size:17px;position:relative;overflow:hidden}
.sc-vbody{flex:1;min-width:0}
.sc-vlabel{font-size:9.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted2)}
.sc-vt{font-size:12.5px;font-weight:600;line-height:1.32;margin-top:3px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.sc-vviews{font-size:12px;color:var(--gold);font-weight:700;margin-top:4px}
.sc-actions{display:flex;gap:9px;margin-top:14px}
.sc-add{flex:1;background:var(--gold);color:#2c2100;font-weight:700;font-size:12.5px;border:none;
  border-radius:10px;padding:10px;cursor:pointer;font-family:inherit;transition:background .14s}
.sc-add:hover{background:var(--gold-deep)}
.sc-add.added{background:var(--green);color:#06281a}
.sc-skip{background:var(--card);border:1px solid var(--line);color:var(--muted);font-size:12.5px;
  border-radius:10px;padding:10px 14px;cursor:pointer;font-family:inherit}
.sc-skip:hover{color:var(--cream);border-color:var(--muted2)}
.rail-list{display:flex;flex-direction:column;gap:6px;overflow-y:auto;flex:1}
.watch{display:flex;align-items:center;gap:11px;padding:10px;border-radius:12px;cursor:pointer;
  border:1px solid transparent;transition:background .14s,border-color .14s;position:relative}
.watch:hover{background:rgba(255,255,255,.03);border-color:var(--line)}
.watch.unread{background:rgba(240,194,82,.06);border-color:rgba(240,194,82,.22)}
.watch-av{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;font-weight:800;
  font-size:13px;color:#2c2100;flex:0 0 38px;
  background:linear-gradient(135deg,var(--gold),var(--gold-deep));position:relative}
.watch-main{flex:1;min-width:0}
.watch-name{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watch-last{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.watch.unread .watch-last{color:var(--cream)}
.badge{flex:0 0 auto;min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--red);
  color:#fff;font-size:11px;font-weight:800;display:grid;place-items:center}
.watch-when{font-size:10.5px;color:var(--muted2);white-space:nowrap}
.rail-empty{text-align:center;color:var(--muted);padding:30px 14px;font-size:12.5px;line-height:1.55}
.rail-empty.hidden{display:none}
.re-ico{font-size:30px;opacity:.4;margin-bottom:10px}

/* message panel (unseen videos from a watched channel) */
.msg-overlay{position:fixed;inset:0;z-index:150;background:rgba(0,0,0,.5);
  display:none;justify-content:flex-end}
.msg-overlay.open{display:flex}
.msg-panel{width:420px;max-width:92vw;height:100%;background:var(--card);border-left:1px solid var(--line);
  padding:22px;overflow-y:auto;animation:slideIn .2s ease}
@keyframes slideIn{from{transform:translateX(30px);opacity:.4}to{transform:translateX(0);opacity:1}}
.msg-top{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.msg-top .watch-av{width:44px;height:44px;flex:0 0 44px}
.msg-x{margin-left:auto;background:none;border:1px solid var(--line);color:var(--muted);width:32px;height:32px;
  border-radius:9px;cursor:pointer;font-size:15px}
.msg-x:hover{color:var(--cream);border-color:var(--gold)}
.msg-intro{font-size:12.5px;color:var(--muted);margin-bottom:14px}
.msg-vid{display:flex;gap:12px;padding:11px;border-radius:12px;background:var(--card2);
  border:1px solid var(--line);margin-bottom:10px}
.msg-thumb{width:96px;height:54px;border-radius:8px;flex:0 0 96px;display:grid;place-items:center;
  color:rgba(255,255,255,.85);font-size:18px}
.msg-vmeta{flex:1;min-width:0}
.msg-vt{font-size:13px;font-weight:700;line-height:1.3;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.msg-vs{font-size:11.5px;color:var(--muted);margin-top:4px}
.msg-vs b{color:var(--gold)}

/* rich video card inside the channel message panel */
.msg-introbar{display:flex;align-items:center;justify-content:space-between;font-size:12.5px;
  color:var(--muted);margin-bottom:14px}
.gstyle{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--muted2)}
.gbtn{width:22px;height:22px;border-radius:6px;border:1px solid var(--line);background:var(--card2);
  color:var(--muted);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.gbtn.on{background:var(--gold);color:#2c2100;border-color:var(--gold)}
.msg-vid-rich{background:var(--card2);border:1px solid var(--line);border-radius:13px;padding:13px;margin-bottom:14px}
.mvr-top{display:flex;gap:11px}
.traj{margin-top:13px;background:var(--charcoal);border:1px solid var(--line);border-radius:11px;padding:11px 12px 6px}
.traj-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin-bottom:4px}
.traj-sub{color:var(--muted2)}
.traj-now{font-weight:800;color:var(--cream);font-size:12.5px}
.traj-proj{font-size:9.5px;color:var(--gold);font-weight:700}
.tsvg{width:100%;height:96px;display:block}
.bend-toggle{width:100%;margin-top:11px;background:rgba(240,194,82,.1);border:1px solid rgba(240,194,82,.3);
  color:var(--gold);font-weight:700;font-size:12px;border-radius:10px;padding:9px;cursor:pointer;font-family:inherit}
.bend-toggle:hover{background:rgba(240,194,82,.16)}
.bend-toggle.on{background:rgba(240,194,82,.16)}
.bend-box{display:none;flex-direction:column;gap:7px;margin-top:9px}
.bend-box.open{display:flex}
.bend-row{display:flex;align-items:center;gap:9px;background:var(--charcoal);border:1px solid var(--line);
  border-radius:9px;padding:9px 11px}
.bend-t{flex:1;font-size:12.5px;font-weight:600;line-height:1.35}

/* ===================== WATCH-THIS-CHANNEL top control ===================== */
.watchbar{position:sticky;top:0;z-index:25;display:none;align-items:center;gap:12px;
  background:linear-gradient(135deg,rgba(240,194,82,.16),rgba(240,194,82,.04));
  border:1px solid rgba(240,194,82,.4);border-radius:13px;padding:11px 16px;margin-bottom:18px}
.watchbar.show{display:flex}
.watchbar .wb-ico{width:34px;height:34px;border-radius:9px;background:rgba(240,194,82,.18);
  display:grid;place-items:center;color:var(--gold);font-size:16px;flex:0 0 34px}
.watchbar .wb-txt{flex:1;font-size:13px}
.watchbar .wb-txt b{color:var(--gold)}
.watchbar .wb-add{background:var(--gold);color:#2c2100;font-weight:700;font-size:12.5px;border:none;
  border-radius:9px;padding:9px 15px;cursor:pointer;white-space:nowrap}
.watchbar .wb-add:hover{background:var(--gold-deep)}
.watchbar .wb-add.added{background:var(--green);color:#06281a}
.watchbar .wb-x{background:none;border:none;color:var(--muted);cursor:pointer;font-size:16px}

/* ===================== LAST VIDEO PERFORMANCE (home hero) ===================== */
.lvp{display:grid;grid-template-columns:300px 1fr;gap:0;background:var(--card);border:1px solid var(--line);
  border-radius:18px;overflow:hidden;margin-bottom:26px}
@media(max-width:760px){.lvp{grid-template-columns:1fr}}
.lvp-thumb{position:relative;aspect-ratio:16/9;display:grid;place-items:center;font-size:30px;color:rgba(255,255,255,.85)}
.lvp-thumb .pill{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,.8);color:#fff;
  font-size:12px;font-weight:700;padding:4px 9px;border-radius:7px}
.lvp-body{padding:20px 22px}
.lvp-k{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--muted2);font-weight:700}
.lvp-title{font-size:18px;font-weight:800;line-height:1.3;margin:5px 0 4px}
.lvp-age{font-size:12px;color:var(--muted)}
.lvp-metrics{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0 14px}
.lvp-m{flex:1;min-width:110px;background:var(--card2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.lvp-m .mk{font-size:10.5px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted2)}
.lvp-m .mv{font-size:20px;font-weight:800;margin-top:3px}
.lvp-m .mv small{font-size:12px;font-weight:700}
.lvp-m .mv .good{color:var(--green)} .lvp-m .mv .bad{color:var(--red)}
.lvp-verdict{font-size:13px;line-height:1.55;color:var(--cream);background:rgba(240,194,82,.08);
  border:1px solid rgba(240,194,82,.25);border-radius:12px;padding:13px 15px}
.lvp-verdict b{color:var(--gold)}

/* ===================== GUIDED TOUR ===================== */
.tour{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,.62);display:none}
.tour.open{display:block}
.tour-spot{position:absolute;border:2px solid var(--gold);border-radius:12px;
  box-shadow:0 0 0 4px rgba(240,194,82,.25),0 0 0 9999px rgba(0,0,0,.62);
  transition:all .25s ease;pointer-events:none}
.tour-card{position:absolute;width:300px;background:var(--card2);border:1px solid rgba(240,194,82,.35);
  border-radius:16px;padding:20px;box-shadow:0 18px 50px rgba(0,0,0,.6);transition:all .25s ease}
.tour-step{font-size:10.5px;text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-weight:800}
.tour-card h3{font-size:17px;font-weight:800;margin:7px 0 7px}
.tour-card p{font-size:13px;color:var(--muted);line-height:1.55}
.tour-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px}
.tour-dots{display:flex;gap:5px}
.tour-dot{width:6px;height:6px;border-radius:50%;background:var(--line)}
.tour-dot.on{background:var(--gold)}
.tour-btns{display:flex;gap:8px;align-items:center}
.tour-skip{background:none;border:none;color:var(--muted2);font-size:12px;cursor:pointer;font-family:inherit}
.tour-next{background:var(--gold);color:#2c2100;font-weight:700;font-size:12.5px;border:none;
  border-radius:9px;padding:8px 15px;cursor:pointer;font-family:inherit}
.tour-next:hover{background:var(--gold-deep)}

/* ===================== HOME SETUP FORM (no channel / no profile) ===================== */
.setup{max-width:560px;margin:30px auto;background:var(--card);border:1px solid var(--line);
  border-radius:20px;padding:34px 32px;text-align:center}
.setup-ico{width:54px;height:54px;border-radius:14px;margin:0 auto 16px;display:grid;place-items:center;
  font-size:22px;color:var(--gold);background:rgba(240,194,82,.14)}
.setup h2{font-size:22px;font-weight:800;letter-spacing:-.3px}
.setup p.lead{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.55}
.setup-block{margin-top:6px}
.setup-block.hidden{display:none}
.setup-q{font-size:16px;font-weight:700;margin:24px 0 16px}
.setup-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.setup-btn{background:var(--card2);border:1px solid var(--line);color:var(--cream);font-family:inherit;
  font-size:14px;font-weight:700;padding:13px 22px;border-radius:12px;cursor:pointer;transition:border-color .15s,transform .15s}
.setup-btn:hover{border-color:var(--gold);transform:translateY(-1px)}
.setup-btn.primary{background:var(--gold);color:#2c2100;border-color:var(--gold)}
.setup-btn.primary:hover{background:var(--gold-deep)}
.setup-field{display:flex;gap:10px;margin:18px 0 6px}
.setup-field input{flex:1;background:var(--charcoal);border:1px solid var(--line);color:var(--cream);
  border-radius:11px;padding:13px 15px;font-family:inherit;font-size:14px}
.setup-field input:focus{outline:none;border-color:var(--gold)}
.setup-hint{font-size:12px;color:var(--muted2);margin-top:4px}
.setup-err{font-size:12.5px;color:var(--red);margin-top:10px;min-height:16px;font-weight:600}
.setup-link{background:none;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;font-family:inherit;margin-top:16px}
.setup-link:hover{color:var(--cream)}
.days{text-align:left;margin:18px 0 4px;display:flex;flex-direction:column;gap:8px}
.day{display:flex;align-items:center;gap:12px;background:var(--card2);border:1px solid var(--line);
  border-radius:11px;padding:11px 14px}
.day-n{width:26px;height:26px;border-radius:7px;background:rgba(240,194,82,.15);color:var(--gold);
  display:grid;place-items:center;font-weight:800;font-size:12px;flex:0 0 26px}
.day-t{font-size:13px;font-weight:600}
.setup-cta{background:var(--gold);color:#2c2100;font-weight:700;font-size:14px;border:none;
  border-radius:12px;padding:13px 22px;cursor:pointer;font-family:inherit;margin-top:18px;width:100%}
.setup-cta:hover{background:var(--gold-deep)}

/* ===================== ONBOARDING ===================== */
.onb{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:24px}
.onb.gone{display:none}
.onb-bg{position:absolute;inset:0;background:
  radial-gradient(900px 500px at 50% -10%,rgba(240,194,82,.12),transparent 60%),var(--charcoal)}
.onb-card{position:relative;width:100%;max-width:480px;background:var(--card);
  border:1px solid var(--line);border-radius:20px;padding:34px 32px;text-align:center;
  box-shadow:0 24px 70px rgba(0,0,0,.55)}
.onb-card.hidden{display:none}
.onb-mark{width:56px;height:56px;border-radius:15px;margin:0 auto 18px;display:grid;place-items:center;
  font-weight:900;font-size:18px;color:#2c2100;
  background:radial-gradient(circle at 30% 25%,var(--gold),var(--gold-deep));
  box-shadow:0 0 0 7px rgba(240,194,82,.08),0 8px 22px rgba(240,194,82,.3)}
.onb-card h1{font-size:24px;font-weight:800;letter-spacing:-.4px}
.onb-lead{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.55}
.onb-loading{display:flex;align-items:center;justify-content:center;gap:9px;margin:18px 0 6px;
  font-size:12.5px;color:var(--gold)}
.onb-loading.done{color:var(--green)}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(240,194,82,.25);
  border-top-color:var(--gold);animation:sp .7s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.onb-choices{display:flex;flex-direction:column;gap:12px;margin-top:22px}
.onb-choice{display:flex;align-items:center;gap:14px;text-align:left;padding:16px 18px;border-radius:14px;
  background:var(--card2);border:1px solid var(--line);cursor:pointer;font-family:inherit;
  transition:border-color .15s,transform .15s,background .15s;color:var(--cream)}
.onb-choice:hover{border-color:var(--gold);transform:translateY(-1px)}
.onb-choice.primary{border-color:rgba(240,194,82,.45);background:linear-gradient(135deg,rgba(240,194,82,.10),transparent)}
.oc-ico{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-size:17px;flex:0 0 40px;
  background:rgba(240,194,82,.14);color:var(--gold)}
.oc-text{display:flex;flex-direction:column;gap:3px}
.oc-text b{font-size:14.5px;font-weight:700}
.oc-text small{font-size:12px;color:var(--muted)}
.onb-note{font-size:12.5px;color:var(--muted);background:var(--card2);border:1px solid var(--line);
  border-radius:11px;padding:12px 14px;margin:18px 0}
.onb-chan{display:flex;align-items:center;gap:13px;justify-content:center;margin:22px 0 4px;
  background:var(--card2);border:1px solid var(--line);border-radius:14px;padding:16px 20px}
.onb-chan-av{width:42px;height:42px;border-radius:11px;display:grid;place-items:center;font-weight:800;
  font-size:14px;color:#2c2100;background:linear-gradient(135deg,var(--gold),var(--gold-deep))}
.onb-chan-h{font-size:16px;font-weight:700}
.onb-edit{margin:16px 0 4px}
.onb-edit.hidden{display:none}
.onb-edit input{width:100%;background:var(--charcoal);border:1px solid var(--line);color:var(--cream);
  border-radius:11px;padding:12px 14px;font-family:inherit;font-size:14px;text-align:center}
.onb-edit input:focus{outline:none;border-color:var(--gold)}
.onb-fields{display:flex;flex-direction:column;gap:14px;margin:22px 0 6px;text-align:left}
.onb-fields label{font-size:12.5px;font-weight:600;color:var(--cream);display:flex;flex-direction:column;gap:6px}
.onb-fields label span{font-weight:400;color:var(--muted2);font-size:11.5px}
.onb-fields input{background:var(--charcoal);border:1px solid var(--line);color:var(--cream);
  border-radius:10px;padding:11px 13px;font-family:inherit;font-size:13.5px}
.onb-fields input:focus{outline:none;border-color:var(--gold)}
.onb-btn{background:var(--gold);color:#2c2100;font-weight:700;font-size:13.5px;border:none;
  border-radius:11px;padding:12px 20px;cursor:pointer;font-family:inherit;transition:background .15s}
.onb-btn:hover{background:var(--gold-deep)}
.onb-btn.wide{width:100%;margin-top:6px}
.onb-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}
.onb-link{background:none;border:none;color:var(--muted);font-size:12.5px;cursor:pointer;
  font-family:inherit;margin-top:12px}
.onb-link:hover{color:var(--cream)}

/* ===================== responsive ===================== */
@media(max-width:860px){
  .sidebar{position:fixed;left:0;top:0;transform:translateX(-100%);transition:transform .2s}
  .sidebar.open{transform:translateX(0)}
  .hamb{display:block}
  .stats{display:none}
}
