  :root{
    --basalt:#0d0b0c; --basalt-2:#161314; --basalt-3:#1f1b1c; --seam:#2c2626;
    --ash:#b9b2ac; --ash-bright:#f3ede4; --magma:#ff5a26; --magma-deep:#a8271a;
    --sulfur:#e6b93c; --ok:#5c9c6a; --danger:#c9564a;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{ background:var(--basalt); color:var(--ash); font-family:'Inter', sans-serif; min-height:100vh; font-size:calc(14px * var(--fs)); line-height:1.5;
    background-image:radial-gradient(ellipse 900px 500px at 15% -10%, rgba(255,90,38,0.10), transparent 60%),
      repeating-linear-gradient(115deg, rgba(255,255,255,0.012) 0px, rgba(255,255,255,0.012) 1px, transparent 1px, transparent 46px); }
  ::selection{ background:var(--magma); color:var(--basalt); }
  button, input, select, textarea{ font-family:inherit; }

  .shell{ display:grid; grid-template-columns:238px 1fr; min-height:100vh; }
  @media (max-width:820px){ .shell{ display:block; min-height:auto; } .sidebar{ position:sticky; top:0; z-index:20; }
    .mobile-menu-toggle{ display:block !important; }
    .sidebar-collapsible{ display:none !important; }
    .sidebar.mobile-open .sidebar-collapsible{ display:flex !important; margin-top:18px; } }

  .sidebar{ background:linear-gradient(180deg, var(--basalt-2), var(--basalt)); border-right:1px solid var(--seam);
    padding:28px 18px; display:flex; flex-direction:column; gap:18px; }
  .sidebar-top-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
  .sidebar-collapsible{ display:flex; flex-direction:column; gap:18px; }
  .mobile-menu-toggle{ display:none; background:none; border:1px solid var(--seam); border-radius:6px; color:var(--ash-bright); font-size:calc(15.5px * var(--fs)); font-family:'IBM Plex Mono',monospace; padding:7px 12px; cursor:pointer; flex-shrink:0; }
  .mobile-menu-toggle:hover{ border-color:var(--magma); color:var(--magma); }
  .brand .mark{ font-family:'Oswald', sans-serif; font-weight:700; font-size:calc(33px * var(--fs)); letter-spacing:2px; color:var(--ash-bright);
    text-transform:uppercase; line-height:1; background:linear-gradient(180deg, var(--ash-bright) 40%, var(--magma) 220%);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .brand .sub{ font-size:calc(12.5px * var(--fs)); letter-spacing:1.5px; text-transform:uppercase; color:var(--ash); opacity:.6; margin-top:4px; }
  .demo-badge{ display:flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); letter-spacing:1px;
    text-transform:uppercase; color:var(--sulfur); background:rgba(230,185,60,0.1); border:1px solid rgba(230,185,60,0.3);
    padding:6px 8px; border-radius:5px; }
  .demo-badge .p{ width:6px; height:6px; border-radius:50%; background:var(--sulfur); box-shadow:0 0 6px var(--sulfur); animation:pulse 1.6s infinite; }
  @keyframes pulse{ 0%,100%{opacity:1;} 50%{opacity:.3;} }

  .searchbox{ position:relative; }
  .searchbox input{ width:100%; background:var(--basalt-3); border:1px solid var(--seam); color:var(--ash-bright);
    padding:8px 10px; border-radius:6px; font-size:calc(14px * var(--fs)); outline:none; }
  .searchbox input:focus{ border-color:var(--magma); }
  .search-results{ position:absolute; top:36px; left:0; right:0; background:var(--basalt-2); border:1px solid var(--seam);
    border-radius:6px; max-height:280px; overflow-y:auto; z-index:50; display:none; }
  .search-results.show{ display:block; }
  .sr-item{ padding:8px 10px; font-size:calc(13.5px * var(--fs)); border-bottom:1px solid var(--seam); cursor:pointer; }
  .sr-item:hover{ background:rgba(255,90,38,0.08); }
  .sr-item .k{ color:var(--magma); font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); text-transform:uppercase; }
  .sr-item .t{ color:var(--ash-bright); font-weight:600; margin-top:2px; }
  .sr-empty{ padding:10px; font-size:calc(13.5px * var(--fs)); opacity:.5; }

  nav{ display:flex; flex-direction:column; gap:2px; }
  .nav-item{ display:flex; align-items:center; gap:10px; padding:10px 10px; border-radius:6px; cursor:pointer;
    font-size:calc(16px * var(--fs)); font-weight:500; color:var(--ash); border-left:2px solid transparent; transition:background .15s, color .15s; }
  .nav-item .dot{ width:5px; height:5px; border-radius:50%; background:var(--seam); flex-shrink:0; }
  .nav-item:hover{ background:rgba(255,255,255,0.03); color:var(--ash-bright); }
  .nav-item.active{ background:rgba(255,90,38,0.08); color:var(--ash-bright); border-left:2px solid var(--magma); }
  .nav-item.active .dot{ background:var(--magma); box-shadow:0 0 8px var(--magma); }
  .sidebar-foot{ margin-top:auto; padding:12px 10px; border-top:1px solid var(--seam); font-size:calc(12.5px * var(--fs)); color:var(--ash); opacity:.5; line-height:1.5; }
  .sidebar-foot button{ width:100%; margin-top:6px; background:var(--basalt-3); border:1px solid var(--seam); color:var(--ash);
    padding:7px; border-radius:5px; font-size:calc(12.5px * var(--fs)); cursor:pointer; }
  .sidebar-foot button:hover{ color:var(--ash-bright); border-color:var(--magma); }

  main{ padding:32px 40px 64px; max-width:1180px; }
  @media (max-width:820px){
    main{ padding:18px 14px 40px; }
    .card{ padding:14px; }
    .grid{ gap:10px; }
    .view-head{ margin-bottom:16px; }
    .view-head h1{ font-size:calc(23px * var(--fs)); }
    .view-head p{ font-size:calc(13.5px * var(--fs)); }
    .card-head-row{ gap:6px; }
    .filter-row{ gap:6px; }
    .filter-row .mini, .filter-row select, .filter-row input{ flex:1 1 auto; min-width:0; }
    .order-head{ flex-direction:column; align-items:stretch; }

    /* Stat cards: compact, not tall empty blocks */
    .card.stat{ padding:11px 14px; }
    .card.stat h3{ margin-bottom:2px; font-size:calc(12px * var(--fs)); }
    .stat .num{ font-size:calc(22px * var(--fs)); }
    .stat .lbl{ font-size:calc(12px * var(--fs)); margin-top:1px; }

    /* Table-style rows: hide stacked header, label each value inline instead */
    .merch-row.head, .contact-row.head, .opp-row.head, .task-row.head{ display:none; }
    .merch-row > div, .contact-row > div, .opp-row > div, .task-row > div{
      display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
    .merch-row > div[data-l]::before, .contact-row > div[data-l]::before,
    .opp-row > div[data-l]::before, .task-row > div[data-l]::before{
      content:attr(data-l); font-size:calc(11.5px * var(--fs)); text-transform:uppercase; letter-spacing:.5px;
      opacity:.45; flex-shrink:0; font-family:'IBM Plex Mono',monospace; }
    .merch-row, .contact-row, .opp-row, .task-row{ padding:12px 0; gap:5px; }

    /* Actions on their own line, not scattered mid-content */
    .merch-row > div:last-child, .contact-row > div:last-child, .opp-row > div:last-child,
    .task-row > div:last-child, .mini-list-row > div:last-child{
      justify-content:flex-start; flex-wrap:wrap; gap:2px; margin-top:4px;
      border-top:1px solid var(--seam); padding-top:7px; }
    .mini-list-row{ flex-direction:column; align-items:stretch; gap:5px; }
    .link-row{ gap:5px; }

    /* Next Actions: text och badges på egna rader istället för att trängas */
    .na-item{ flex-direction:column; align-items:flex-start; gap:5px; text-align:left; width:100%; }
    .na-item > span:last-child{ display:flex; flex-wrap:wrap; gap:4px; }

    /* Orderrader: pris under produktnamn istället för att brytas mitt itu */
    .order-block{ padding:11px; }

    /* Skyddsnät mot horisontell scroll oavsett innehåll */
    html, body{ overflow-x:hidden; max-width:100%; }
    .opp-row, .contact-row, .merch-row, .task-row, .discovery-row{ grid-template-columns:1fr !important; }
  }
  .view{ display:none; animation:fade .3s ease; }
  .view.active{ display:block; }
  @keyframes fade{ from{ opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);} }

  .view-head{ display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:26px; flex-wrap:wrap; gap:12px; }
  .view-head h1{ font-family:'Oswald', sans-serif; font-size:calc(26px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash-bright); font-weight:600; }
  .view-head p{ font-size:calc(15.5px * var(--fs)); color:var(--ash); opacity:.75; margin-top:4px; max-width:520px; }
  .eyebrow{ font-family:'IBM Plex Mono', monospace; font-size:calc(12.5px * var(--fs)); letter-spacing:2px; text-transform:uppercase; color:var(--magma); margin-bottom:6px; }

  .grid{ display:grid; gap:14px; }
  .g5{ grid-template-columns:repeat(5,1fr); } .g4{ grid-template-columns:repeat(4,1fr); } .g3{ grid-template-columns:repeat(3,1fr); } .g2{ grid-template-columns:repeat(2,1fr); }
  @media (max-width:900px){ .g5{grid-template-columns:repeat(3,1fr);} .g4{grid-template-columns:repeat(2,1fr);} .g3{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:820px){ .g5{grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .g4,.g3,.g2{grid-template-columns:1fr;} }

  .card{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:8px; padding:16px 18px; }
  .card h3{ font-size:calc(12px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash); opacity:.65; font-weight:600; margin-bottom:11px; }
  .stat .num{ font-family:'IBM Plex Mono', monospace; font-size:calc(27px * var(--fs)); line-height:1.15; color:var(--ash-bright); font-weight:600; }
  .stat .lbl{ font-size:calc(15px * var(--fs)); color:var(--ash); opacity:.7; margin-top:3px; }
  .flow{ height:8px; border-radius:5px; background:var(--basalt-3); overflow:hidden; margin-top:10px; position:relative; }
  .flow > span{ display:block; height:100%; border-radius:5px; background:linear-gradient(90deg, var(--magma-deep), var(--magma), var(--sulfur)); }

  a.btn, button.btn{ display:inline-flex; align-items:center; gap:6px; font-size:calc(14px * var(--fs)); font-family:'IBM Plex Mono',monospace;
    color:var(--basalt); background:var(--magma); padding:8px 14px; border-radius:5px; text-decoration:none; font-weight:600;
    border:none; cursor:pointer; }
  a.btn:hover, button.btn:hover{ background:var(--sulfur); }
  button.btn-ghost{ background:transparent; color:var(--ash); border:1px solid var(--seam); }
  button.btn-ghost:hover{ color:var(--ash-bright); border-color:var(--magma); background:transparent; }
  button.icon-btn{ background:none; border:none; color:var(--ash); opacity:.6; cursor:pointer; font-size:calc(15.5px * var(--fs)); padding:2px 5px; }
  button.icon-btn:hover{ opacity:1; color:var(--magma); }
  a.icon-btn{ background:none; border:none; color:var(--ash); opacity:.6; cursor:pointer; font-size:calc(15.5px * var(--fs)); padding:2px 5px; text-decoration:none; }
  a.icon-btn:hover{ opacity:1; color:var(--magma); }
  .tw-main, .tw-row, button, a{ -webkit-tap-highlight-color:transparent; }

  .actions-row{ display:flex; gap:8px; flex-wrap:wrap; }

  /* Today / Next actions */
  .na-item{ display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid var(--seam); font-size:calc(16px * var(--fs)); }
  .na-item:last-child{ border-bottom:none; }
  .na-tag{ font-size:calc(12px * var(--fs)); font-family:'IBM Plex Mono',monospace; text-transform:uppercase; padding:2px 7px; border-radius:20px; }
  .na-tag.overdue{ background:rgba(201,86,74,0.15); color:var(--danger); }
  .na-tag.soon{ background:rgba(230,185,60,0.15); color:var(--sulfur); }
  .na-tag.high{ background:rgba(255,90,38,0.15); color:var(--magma); }
  .na-tag.booking{ background:rgba(92,156,106,0.15); color:var(--ok); }
  .na-empty{ font-size:calc(14px * var(--fs)); opacity:.5; padding:6px 0; }

  /* Mentions (static) */
  .mention{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--seam); }
  .mention:last-child{ border-bottom:none; }
  .m-badge{ width:34px; height:34px; border-radius:7px; background:var(--basalt-3); display:flex; align-items:center; justify-content:center;
    font-family:'IBM Plex Mono',monospace; font-size:calc(13px * var(--fs)); color:var(--magma); flex-shrink:0; border:1px solid var(--seam); }
  .m-body .src{ font-size:calc(15px * var(--fs)); font-weight:600; color:var(--ash-bright); }
  .m-body .date{ font-size:calc(13px * var(--fs)); color:var(--ash); opacity:.55; margin-left:8px; font-family:'IBM Plex Mono', monospace; }
  .m-body p{ font-size:calc(15.5px * var(--fs)); margin-top:5px; line-height:1.55; }
  .tag{ display:inline-block; font-size:calc(12px * var(--fs)); letter-spacing:.5px; text-transform:uppercase; padding:2px 8px; border-radius:20px; margin-top:8px; font-family:'IBM Plex Mono',monospace; }
  .tag.press{ background:rgba(230,185,60,0.12); color:var(--sulfur); }
  .tag.festival{ background:rgba(255,90,38,0.12); color:var(--magma); }
  .tag.social{ background:rgba(92,156,106,0.12); color:var(--ok); }

  /* Tasks */
  .task-row{ display:grid; grid-template-columns:auto 1.4fr .8fr .8fr .8fr auto; gap:10px; align-items:center; padding:11px 4px; border-bottom:1px solid var(--seam); font-size:calc(15.5px * var(--fs)); }
  .task-row.head{ font-size:calc(12.5px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash); opacity:.55; padding-bottom:8px; }
  @media (max-width:760px){ .task-row{ grid-template-columns:1fr; gap:4px;} }
  .task-title{ font-weight:600; color:var(--ash-bright); }
  .task-title.done{ text-decoration:line-through; opacity:.5; }
  select.mini, input.mini{ background:var(--basalt-3); border:1px solid var(--seam); color:var(--ash-bright); font-size:calc(13.5px * var(--fs));
    padding:5px 6px; border-radius:5px; outline:none; }
  select.mini:focus, input.mini:focus{ border-color:var(--magma); }
  .pri-badge{ font-size:calc(12px * var(--fs)); padding:2px 7px; border-radius:20px; font-family:'IBM Plex Mono',monospace; text-transform:uppercase; }
  .pri-badge.high{ background:rgba(255,90,38,0.15); color:var(--magma); }
  .pri-badge.medium{ background:rgba(230,185,60,0.15); color:var(--sulfur); }
  .pri-badge.low{ background:rgba(255,255,255,0.06); color:var(--ash); }

  /* Kanban */
  .kanban{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; align-items:start; }
  @media (max-width:900px){ .kanban{ grid-template-columns:repeat(2,1fr);} }
  @media (max-width:560px){ .kanban{ grid-template-columns:1fr;} }
  .kcol{ background:rgba(255,255,255,0.012); border-radius:8px; padding:8px; min-height:80px; }
  .kcol.dragover{ background:rgba(255,90,38,0.06); outline:1px dashed var(--magma); }
  .kcol h4{ font-size:calc(13px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash); opacity:.6; margin-bottom:10px; padding-left:2px; display:flex; justify-content:space-between; }
  .kcard{ background:var(--basalt-2); border:1px solid var(--seam); border-left:3px solid var(--magma); border-radius:6px; padding:14px; margin-bottom:12px; cursor:grab; }
  .kcard:active{ cursor:grabbing; }
  .kcard.dragging{ opacity:.4; }
  .kcol[data-col="talks"] .kcard{ border-left-color:var(--sulfur); }
  .kcol[data-col="confirmed"] .kcard{ border-left-color:var(--ok); }
  .kcol[data-col="followup"] .kcard{ border-left-color:var(--seam); }
  .kcard .t{ font-size:calc(15.5px * var(--fs)); font-weight:600; color:var(--ash-bright); }
  .kcard .d{ font-size:calc(13px * var(--fs)); opacity:.6; margin-top:3px; font-family:'IBM Plex Mono',monospace; }
  .kcard .n{ font-size:calc(13.5px * var(--fs)); margin-top:7px; opacity:.8; line-height:1.4; }
  .kcard .row-actions{ margin-top:8px; display:flex; gap:8px; justify-content:flex-end; }

  /* Opportunities */
  .opp-row{ display:grid; grid-template-columns:1.4fr .7fr .7fr .8fr .8fr auto; gap:10px; align-items:center; padding:12px 4px; border-bottom:1px solid var(--seam); font-size:calc(15px * var(--fs)); }
  .discovery-row{ grid-template-columns:1.4fr .7fr .8fr .8fr auto; }
  .opp-row.head{ font-size:calc(12.5px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash); opacity:.55; padding-bottom:8px; }
  @media (max-width:900px){ .opp-row{ grid-template-columns:1fr; gap:4px; padding:14px 0;} }
  .opp-name{ font-weight:600; color:var(--ash-bright); }
  .opp-sub{ font-size:calc(13px * var(--fs)); opacity:.6; margin-top:2px; }
  .fit-bar{ width:50px; height:5px; border-radius:4px; background:var(--basalt-3); overflow:hidden; display:inline-block; vertical-align:middle; margin-right:6px; }
  .fit-bar span{ display:block; height:100%; background:var(--magma); }
  .status-pill{ font-size:calc(12.5px * var(--fs)); padding:3px 9px; border-radius:20px; text-align:center; font-family:'IBM Plex Mono',monospace; white-space:nowrap; }
  .status-pill.open{ background:rgba(92,156,106,0.14); color:var(--ok); }
  .status-pill.tight{ background:rgba(230,185,60,0.14); color:var(--sulfur); }
  .status-pill.long{ background:rgba(255,255,255,0.06); color:var(--ash); }

  /* Partners */
  .partner{ display:flex; justify-content:space-between; align-items:center; padding:13px 0; border-bottom:1px solid var(--seam); gap:10px; flex-wrap:wrap; }
  .partner:last-child{ border-bottom:none; }
  .p-name{ font-weight:600; color:var(--ash-bright); font-size:calc(16px * var(--fs)); }
  .p-role{ font-size:calc(13.5px * var(--fs)); opacity:.6; margin-top:2px; }
  .p-status{ font-size:calc(12.5px * var(--fs)); font-family:'IBM Plex Mono',monospace; padding:3px 9px; border-radius:20px; }
  .p-status.active{ background:rgba(92,156,106,0.14); color:var(--ok); }
  .p-status.target{ background:rgba(255,255,255,0.06); color:var(--ash); }

  /* Social / shop (static, unchanged) */
  .chan{ display:flex; align-items:center; gap:12px; padding:14px 0; border-bottom:1px solid var(--seam); }
  .chan:last-child{ border-bottom:none; }
  .chan-ic{ width:36px; height:36px; border-radius:8px; background:var(--basalt-3); display:flex; align-items:center; justify-content:center; font-size:calc(17.5px * var(--fs)); border:1px solid var(--seam); }
  .chan a, a.chan{ color:inherit; text-decoration:none; }
  .chan a:hover, a.chan:hover{ opacity:.85; }
  .chan-name{ font-weight:600; color:var(--ash-bright); font-size:calc(16px * var(--fs)); }
  .chan-handle{ font-size:calc(13.5px * var(--fs)); opacity:.55; font-family:'IBM Plex Mono',monospace; }
  .chan-num{ margin-left:auto; font-family:'IBM Plex Mono',monospace; font-size:calc(17.5px * var(--fs)); color:var(--ash-bright); text-align:right; }
  .chan-num .l{ display:block; font-size:calc(12px * var(--fs)); opacity:.5; text-transform:uppercase; font-family:'Inter'; }
  .cal-day{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:7px; padding:10px; min-height:78px; }
  .cal-day .dn{ font-size:calc(12px * var(--fs)); opacity:.5; font-family:'IBM Plex Mono',monospace; }
  .cal-day .post{ margin-top:6px; font-size:calc(13px * var(--fs)); padding:4px 6px; border-radius:4px; background:rgba(255,90,38,0.1); color:var(--sulfur); line-height:1.3; }
  .prod{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:8px; overflow:hidden; }
  .prod-art{ height:120px; background:linear-gradient(135deg, var(--basalt-3), var(--basalt)); display:flex; align-items:center; justify-content:center;
    font-family:'Oswald',sans-serif; letter-spacing:2px; color:var(--seam); font-size:calc(14px * var(--fs)); text-transform:uppercase; border-bottom:1px solid var(--seam); }
  .prod-info{ padding:12px; }
  .prod-info .t{ font-weight:600; color:var(--ash-bright); font-size:calc(15.5px * var(--fs)); }
  .prod-info .p{ font-family:'IBM Plex Mono',monospace; color:var(--magma); font-size:calc(15.5px * var(--fs)); margin-top:4px; }
  .note{ font-size:calc(13.5px * var(--fs)); color:var(--ash); opacity:.55; line-height:1.6; margin-top:22px; border-top:1px dashed var(--seam); padding-top:14px; }

  /* Modal */
  .modal-bg{ position:fixed; inset:0; background:rgba(0,0,0,0.6); display:none; align-items:center; justify-content:center; z-index:100; padding:20px; }
  .modal-bg.show{ display:flex; }
  .modal{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:10px; padding:22px; width:100%; max-width:420px; max-height:90vh; overflow-y:auto; }
  .modal h2{ font-family:'Oswald',sans-serif; text-transform:uppercase; font-size:calc(20px * var(--fs)); letter-spacing:1px; color:var(--ash-bright); margin-bottom:14px; }
  .field{ margin-bottom:12px; }
  .field label{ display:block; font-size:calc(12.5px * var(--fs)); text-transform:uppercase; letter-spacing:.5px; color:var(--ash); opacity:.6; margin-bottom:5px; }
  .field input, .field select, .field textarea{ width:100%; background:var(--basalt-3); border:1px solid var(--seam); color:var(--ash-bright);
    padding:9px 10px; border-radius:6px; font-size:calc(15.5px * var(--fs)); outline:none; }
  .field input:focus, .field select:focus, .field textarea:focus{ border-color:var(--magma); }
  .field textarea{ resize:vertical; min-height:60px; }
  .modal-actions{ display:flex; justify-content:space-between; gap:8px; margin-top:16px; }
  .toast{ position:fixed; bottom:20px; right:20px; background:var(--basalt-2); border:1px solid var(--magma); color:var(--ash-bright);
    padding:10px 16px; border-radius:6px; font-size:calc(15px * var(--fs)); z-index:200; opacity:0; transform:translateY(8px); transition:.25s; font-family:'IBM Plex Mono',monospace; }
  .toast.show{ opacity:1; transform:translateY(0); }
  .all-tasks-list{ margin-top:4px; }
  .filter-row{ display:flex; gap:8px; flex-wrap:wrap; }
  .card-head-row{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; gap:8px; flex-wrap:wrap; }
  .card-head-row h3{ margin-bottom:0; }
  .contact-row{ display:grid; grid-template-columns:1.6fr .8fr 1fr .9fr auto; gap:10px; align-items:center; padding:12px 4px; border-bottom:1px solid var(--seam); font-size:calc(15px * var(--fs)); }
  .contact-row.head{ font-size:calc(12.5px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash); opacity:.55; padding-bottom:8px; }
  .contact-row:last-child{ border-bottom:none; }
  @media (max-width:900px){ .contact-row{ grid-template-columns:1fr; gap:4px; padding:14px 0;} }
  .merch-row{ display:grid; grid-template-columns:1.5fr .6fr .6fr .8fr .9fr .8fr auto; gap:10px; align-items:center; padding:12px 4px; border-bottom:1px solid var(--seam); font-size:calc(15px * var(--fs)); }
  .merch-row.head{ font-size:calc(12.5px * var(--fs)); text-transform:uppercase; letter-spacing:1px; color:var(--ash); opacity:.55; padding-bottom:8px; }
  .merch-row:last-child{ border-bottom:none; }
  @media (max-width:900px){ .merch-row{ grid-template-columns:1fr; gap:4px; padding:14px 0;} }
  .seed-badge{ font-size:calc(11.5px * var(--fs)); text-transform:uppercase; padding:1px 6px; border-radius:20px; background:rgba(255,255,255,0.06); color:var(--ash); opacity:.75; margin-left:6px; font-family:'IBM Plex Mono',monospace; letter-spacing:.5px; }
  .stock-badge{ font-size:calc(12px * var(--fs)); padding:2px 7px; border-radius:20px; font-family:'IBM Plex Mono',monospace; }
  .stock-badge.ok{ background:rgba(92,156,106,0.14); color:var(--ok); }
  .stock-badge.low{ background:rgba(201,86,74,0.15); color:var(--danger); }
  .mini-list-row{ display:flex; justify-content:space-between; align-items:flex-start; padding:11px 0; border-bottom:1px solid var(--seam); font-size:calc(16px * var(--fs)); gap:8px; }
  .mini-list-row:last-child{ border-bottom:none; }
  .mini-list-row .t{ color:var(--ash-bright); font-weight:600; }
  .mini-list-row .s{ font-size:calc(13px * var(--fs)); opacity:.6; margin-top:2px; }
  .order-block{ border:1px solid var(--seam); border-radius:7px; padding:12px; margin-bottom:10px; }
  .order-head{ display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
  .order-lines{ margin-top:8px; padding-top:8px; border-top:1px dashed var(--seam); }
  .order-line{ display:flex; justify-content:space-between; font-size:calc(14px * var(--fs)); padding:4px 0; }
  .na-tag.pr{ background:rgba(230,185,60,0.15); color:var(--sulfur); }
  .country-chip{ font-size:calc(12px * var(--fs)); padding:2px 8px; border-radius:20px; background:rgba(255,255,255,0.07); color:var(--ash-bright); font-family:'IBM Plex Mono',monospace; letter-spacing:.3px; }
  .artist-chip{ font-size:calc(12px * var(--fs)); padding:1px 7px; border-radius:20px; background:rgba(255,90,38,0.12); color:var(--magma); font-family:'IBM Plex Mono',monospace; margin-right:6px; }
  .format-badge{ font-size:calc(11.5px * var(--fs)); text-transform:uppercase; padding:1px 6px; border-radius:20px; font-family:'IBM Plex Mono',monospace; letter-spacing:.5px; margin-left:6px; }
  .format-badge.short{ background:rgba(255,90,38,0.14); color:var(--magma); }
  .format-badge.video{ background:rgba(255,255,255,0.06); color:var(--ash); }
  .tag.review{ background:rgba(230,185,60,0.12); color:var(--sulfur); }
  .tag.recommendation{ background:rgba(92,156,106,0.12); color:var(--ok); }
  .tag.reaction{ background:rgba(255,90,38,0.12); color:var(--magma); }
  .tag.cover{ background:rgba(255,255,255,0.06); color:var(--ash); }
  .tag.fan_content{ background:rgba(92,156,106,0.12); color:var(--ok); }
  .tag.opportunity{ background:rgba(255,90,38,0.12); color:var(--magma); }
  .tag.other{ background:rgba(255,255,255,0.06); color:var(--ash); }
  .tag.positive{ background:rgba(92,156,106,0.12); color:var(--ok); }
  .tag.neutral{ background:rgba(255,255,255,0.06); color:var(--ash); }
  .tag.negative{ background:rgba(201,86,74,0.14); color:var(--danger); }
  .mention .eng{ font-size:calc(13px * var(--fs)); opacity:.6; margin-top:4px; font-family:'IBM Plex Mono',monospace; }
  .mention .m-actions{ display:flex; align-items:center; gap:10px; margin-top:8px; flex-wrap:wrap; }
  .mention .m-actions label{ font-size:calc(13px * var(--fs)); opacity:.75; display:flex; align-items:center; gap:4px; }
  .relevance-low{ opacity:.55; }
  .tag.interview{ background:rgba(230,185,60,0.12); color:var(--sulfur); }
  .tag.live_performance{ background:rgba(255,90,38,0.12); color:var(--magma); }
  .stat .not-connected{ font-family:'IBM Plex Mono', monospace; font-size:calc(23.5px * var(--fs)); color:var(--ash); opacity:.5; }
  .growth-up{ color:var(--ok); }
  .growth-down{ color:var(--danger); }
  .stat .num.growth-up{ color:var(--ok); }
  .stat .num.growth-down{ color:var(--danger); }
  .stat .num.growth-flat{ color:var(--ash); }
  .growth-flat{ color:var(--ash); opacity:.6; }
  .link-row{ display:flex; flex-wrap:wrap; gap:6px; margin-top:6px; }
  .link-chip{ font-size:calc(12.5px * var(--fs)); padding:3px 8px; border-radius:20px; background:rgba(255,255,255,0.06); color:var(--ash-bright); text-decoration:none; font-family:'IBM Plex Mono',monospace; border:1px solid var(--seam); }
  .link-chip:hover{ border-color:var(--magma); color:var(--magma); }

  /* ---- Auth / Login ---- */
  #loginScreen{ position:fixed; inset:0; background:var(--basalt); display:flex; align-items:center; justify-content:center; z-index:9999; }
  #loginScreen.hidden{ display:none; }
  .login-box{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:12px; padding:40px 36px; width:100%; max-width:380px; display:flex; flex-direction:column; gap:20px; }
  .login-logo{ font-family:'Oswald',sans-serif; font-size:calc(32px * var(--fs)); font-weight:700; letter-spacing:3px; color:var(--ash-bright); text-align:center; }
  .login-sub{ font-size:calc(12px * var(--fs)); text-transform:uppercase; letter-spacing:2px; opacity:.4; font-family:'IBM Plex Mono',monospace; text-align:center; margin-top:-12px; }
  .login-error{ font-size:calc(13px * var(--fs)); color:var(--danger); text-align:center; min-height:18px; }
  @media (max-width:420px){ .login-box{ margin:16px; padding:28px 20px; } }

  /* ---- Website section tabs ---- */
  .ws-tabs{ display:flex; gap:4px; margin-bottom:16px; border-bottom:1px solid var(--seam); padding-bottom:0; }
  .ws-tab{ background:none; border:none; border-bottom:2px solid transparent; color:var(--ash); font-family:'IBM Plex Mono',monospace; font-size:calc(12.5px * var(--fs)); text-transform:uppercase; letter-spacing:1px; padding:8px 14px 10px; cursor:pointer; margin-bottom:-1px; transition:all .15s; }
  .ws-tab:hover{ color:var(--ash-bright); }
  .ws-tab.active{ color:var(--magma); border-bottom-color:var(--magma); }
  @media (max-width:820px){
    .ws-tab{ font-size:calc(12px * var(--fs)); padding:7px 10px 9px; }
  }

  .radar-quicknav{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
  .radar-qn-link{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); text-transform:uppercase;
    letter-spacing:1px; color:var(--ash); text-decoration:none; padding:5px 10px;
    border:1px solid var(--seam); border-radius:20px; transition:all .15s; }
  .radar-qn-link:hover, .radar-qn-link.active{ color:var(--magma); border-color:var(--magma); }
  .radar-section{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:8px;
    overflow:hidden; margin-bottom:10px; }
  .radar-section-head{ display:flex; justify-content:space-between; align-items:center;
    padding:13px 16px; cursor:pointer; user-select:none; }
  .radar-section-head:hover{ background:rgba(255,255,255,.025); }
  .radar-section-body{ padding:14px 16px; border-top:1px solid var(--seam); }
  .radar-toggle-icon{ font-size:calc(13px * var(--fs)); color:var(--ash); opacity:.6; transition:transform .2s; flex-shrink:0; }
  .radar-toggle-icon.open{ transform:rotate(180deg); }
  .radar-section-head h3{ font-size:calc(12.5px * var(--fs)) !important; }
  @media (max-width:820px){
    .radar-section-head{ padding:11px 13px; }
    .radar-section-body{ padding:12px 13px; }
    .radar-quicknav{ gap:6px; }
    .radar-qn-link{ font-size:calc(12px * var(--fs)); padding:5px 9px; }
  }

  /* ---- UI polish pass 2 ---- */
  .kv-list .kv{ display:grid; grid-template-columns:104px 1fr; gap:10px; align-items:baseline; padding:7px 0; border-bottom:1px solid var(--seam); font-size:calc(13.5px * var(--fs)); text-align:left; }
  .kv-list .kv:last-child{ border-bottom:none; }
  .kv-list .k{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); text-transform:uppercase; letter-spacing:.8px; opacity:.55; }
  .kv-list .v, .kv-list a{ min-width:0; overflow-wrap:anywhere; color:var(--magma); }
  .kv-list span.v{ color:var(--ash-bright); }
  .kv-list a{ text-decoration:none; }
  .kv-list .k{ white-space:nowrap; }
  .press-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:14px; }
  .disc-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:10px; }
  .disc-grid img{ max-width:200px; }
  .disc-new{ grid-column:1 / -1; min-height:56px; border:1.5px dashed var(--magma); border-radius:6px; background:var(--basalt-3); display:flex; align-items:center; gap:10px; padding:0 14px; flex-wrap:wrap; }
  .disc-new .plus{ font-size:calc(20px * var(--fs)); color:var(--magma); line-height:1; }
  .disc-new .lbl{ font-size:calc(12px * var(--fs)); text-transform:uppercase; letter-spacing:1px; opacity:.5; }
  .disc-new .n{ font-weight:600; color:var(--magma); }
  .disc-new .m{ font-size:calc(12px * var(--fs)); opacity:.5; font-family:'IBM Plex Mono',monospace; }
  .opp-row.head, .contact-row.head{ display:none; }
  .opp-compact, .contact-compact{ padding:10px 2px; border-bottom:1px solid var(--seam); display:flex; flex-direction:column; gap:4px; }
  .opp-compact:last-child, .contact-compact:last-child{ border-bottom:none; }
  .oc-top{ display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
  .oc-name{ font-weight:600; color:var(--ash-bright); min-width:0; overflow-wrap:anywhere; font-size:calc(15px * var(--fs)); }
  .oc-fit{ display:flex; align-items:center; gap:6px; font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); color:var(--magma); flex-shrink:0; }
  .oc-type{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); opacity:.55; text-transform:uppercase; letter-spacing:.5px; flex-shrink:0; }
  .oc-meta{ font-size:calc(12.5px * var(--fs)); opacity:.6; line-height:1.4; }
  .oc-bottom{ display:flex; align-items:center; gap:6px 10px; flex-wrap:wrap; margin-top:2px; }
  .oc-bottom select.mini{ max-width:150px; }
  .oc-win{ font-size:calc(12px * var(--fs)); opacity:.65; font-family:'IBM Plex Mono',monospace; min-width:0; overflow-wrap:anywhere; }
  .oc-actions{ margin-left:auto; display:flex; gap:2px; flex-shrink:0; }
  .opp-compact .link-row, .contact-compact .link-row{ margin-top:0; }
  .opp-compact .link-chip, .contact-compact .link-chip{ max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .track-row{ display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid var(--seam); font-size:calc(14px * var(--fs)); }
  .track-row:last-child{ border-bottom:none; }
  .track-row .tr-name{ flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ash-bright); font-weight:600; }
  .track-row.off .tr-name{ opacity:.45; }
  .track-row .tr-prio{ width:52px; padding:4px 6px; }
  .track-row .tr-act{ font-size:calc(12.5px * var(--fs)); display:flex; align-items:center; gap:4px; flex-shrink:0; }
  .song-row{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--seam); }
  .song-row:last-child{ border-bottom:none; }
  .song-row > div:first-child{ min-width:0; }
  .song-row .t{ color:var(--ash-bright); font-weight:600; font-size:calc(14px * var(--fs)); }
  .song-row .s{ font-size:calc(12px * var(--fs)); opacity:.6; margin-top:2px; }
  .song-log{ display:flex; align-items:center; gap:4px; flex-shrink:0; }
  .song-log input{ width:72px; padding:4px 6px; font-size:calc(12px * var(--fs)); }
  .song-log .icon-btn{ padding:4px 8px; }
  .order-head{ text-align:left; }
  .order-line{ align-items:center; gap:10px; }
  .order-line .ol-name{ flex:1; min-width:0; overflow-wrap:anywhere; }
  .order-line .ol-price{ white-space:nowrap; flex-shrink:0; display:flex; align-items:center; gap:4px; }
  @media (max-width:820px){
    .press-stats{ gap:8px; }
    .press-stats .card.stat{ padding:9px 10px; }
    .press-stats .card.stat h3{ font-size:calc(11.5px * var(--fs)); }
    .press-stats .num{ font-size:calc(19px * var(--fs)); }
    .press-stats .lbl{ display:none; }
    .disc-grid{ grid-template-columns:repeat(2,1fr); gap:10px; }
    .disc-grid img{ max-width:150px; }
    .kv-list .kv{ grid-template-columns:92px 1fr; }
  }
  @media (max-width:560px){ .g4.keep2{ grid-template-columns:repeat(2,1fr); } }

  /* ===== MOBILE COMPACT PASS 2 ===== */
  #backToTop{ position:fixed; bottom:84px; right:14px; width:38px; height:38px; background:var(--basalt-3); border:1px solid var(--seam); border-radius:50%; color:var(--ash-bright); font-size:calc(17px * var(--fs)); display:none; align-items:center; justify-content:center; cursor:pointer; z-index:60; box-shadow:0 2px 10px rgba(0,0,0,.5); }
  #backToTop.visible{ display:flex; }
  .cal-day{ background:var(--basalt-3); border-radius:3px; padding:7px 10px; display:flex; align-items:center; gap:10px; }
  .cal-day .dn{ font-size:calc(11.5px * var(--fs)); letter-spacing:1.5px; color:var(--magma); font-family:'IBM Plex Mono',monospace; width:30px; flex-shrink:0; margin:0; }
  .cal-day .post{ font-size:calc(13px * var(--fs)); line-height:1.35; }
  .press-member{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; padding:8px 0; border-bottom:1px solid var(--seam); }
  .press-member:last-child{ border-bottom:none; }
  .press-member-name{ font-family:'Oswald',sans-serif; font-weight:600; letter-spacing:.5px; font-size:calc(14px * var(--fs)); text-transform:uppercase; color:var(--ash-bright); }
  .press-member-role{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); color:var(--magma); }
  .fin-row{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:8px 0; border-bottom:1px solid var(--seam); }
  .fin-row:last-child{ border-bottom:none; }
  .fin-main{ font-weight:600; color:var(--ash-bright); font-size:calc(14px * var(--fs)); }
  .fin-sub{ font-size:calc(12px * var(--fs)); opacity:.55; line-height:1.35; }
  .fin-actions{ display:flex; gap:4px; flex-shrink:0; }
  .budget-row{ padding:8px 0; border-bottom:1px solid var(--seam); }
  .budget-row:last-child{ border-bottom:none; }
  .budget-row-head{ display:flex; justify-content:space-between; align-items:baseline; gap:8px; margin-bottom:5px; }
  .budget-row-name{ font-weight:600; color:var(--ash-bright); font-size:calc(14px * var(--fs)); }
  .budget-row-meta{ font-size:calc(12px * var(--fs)); opacity:.55; font-family:'IBM Plex Mono',monospace; }
  .country-list{ display:flex; flex-wrap:wrap; gap:6px; padding:6px 0; }
  .country-pill{ display:flex; align-items:center; gap:6px; background:var(--basalt-3); border:1px solid var(--seam); border-radius:3px; padding:3px 9px; font-size:calc(12.5px * var(--fs)); }
  .country-pill .cnt{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); color:var(--ok); }
  .insight-row{ display:flex; justify-content:space-between; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid var(--seam); font-size:calc(13.5px * var(--fs)); }
  .insight-row:last-child{ border-bottom:none; }
  .insight-row .name{ font-weight:600; color:var(--ash-bright); }

  /* ===== POLISH PASS 3 ===== */
  @media (max-width:820px){
    .merch-row{ display:grid !important; grid-template-columns:repeat(3,1fr) !important; gap:8px 10px; padding:12px 0; }
    .merch-row > div:first-child{ grid-column:1 / -1; }
    .merch-row > div[data-l]{ display:flex; flex-direction:column; align-items:flex-start; justify-content:flex-start; gap:2px; font-size:calc(14px * var(--fs)); font-weight:600; color:var(--ash-bright); }
    .merch-row > div[data-l]::before{ font-weight:400; }
    .merch-row > div:last-child{ grid-column:1 / -1; margin-top:2px; }
    .chan{ padding:9px 0; gap:10px; }
    .chan-ic{ width:30px; height:30px; font-size:calc(14px * var(--fs)); }
    .chan-name{ font-size:calc(15px * var(--fs)); }
  }

  /* ===== TEAM ===== */
  .owner-chip{ display:inline-block; margin-left:6px; padding:1px 7px; border:1px solid var(--seam); border-radius:3px; font-family:'IBM Plex Mono',monospace; font-size:calc(11.5px * var(--fs)); letter-spacing:.5px; color:var(--ash); text-transform:uppercase; vertical-align:middle; font-weight:400; }
  .team-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(270px,1fr)); gap:12px; margin-bottom:14px; }
  .team-card{ background:var(--basalt-2); border:1px solid var(--seam); border-radius:4px; padding:14px; }
  .team-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:8px; }
  .team-name{ font-family:'Oswald',sans-serif; font-size:calc(17px * var(--fs)); text-transform:uppercase; letter-spacing:.5px; color:var(--ash-bright); line-height:1.2; }
  .team-title{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); color:var(--magma); margin-top:2px; }
  .role-badge{ font-family:'IBM Plex Mono',monospace; font-size:calc(11.5px * var(--fs)); letter-spacing:1px; text-transform:uppercase; padding:2px 8px; border-radius:3px; border:1px solid var(--seam); color:var(--ash); flex-shrink:0; }
  .role-badge.admin{ color:var(--magma); border-color:var(--magma-deep); }
  .team-email{ font-size:calc(12px * var(--fs)); opacity:.55; margin-top:8px; word-break:break-all; }
  .team-counts{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; margin-top:12px; }
  .team-count{ background:var(--basalt-3); border-radius:3px; padding:6px 2px; text-align:center; }
  .team-count b{ display:block; font-family:'IBM Plex Mono',monospace; font-size:calc(17px * var(--fs)); color:var(--ash-bright); font-weight:600; }
  .team-count span{ font-size:calc(11px * var(--fs)); opacity:.5; text-transform:uppercase; letter-spacing:.5px; }
  .team-list summary{ cursor:pointer; font-size:calc(12px * var(--fs)); opacity:.65; margin-top:10px; }
  .team-list div{ font-size:calc(13px * var(--fs)); padding:4px 0; border-bottom:1px solid var(--seam); }
  .team-roles div{ display:flex; gap:10px; padding:7px 0; border-bottom:1px solid var(--seam); font-size:calc(13.5px * var(--fs)); }
  .team-roles div:last-child{ border-bottom:none; }
  .team-roles b{ width:64px; flex-shrink:0; font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); text-transform:uppercase; letter-spacing:.8px; color:var(--magma); padding-top:2px; }
  body:not(.role-admin) .admin-only{ display:none !important; }
  body.role-viewer .view .icon-btn, body.role-viewer button[id^="add"]{ display:none !important; }

  /* ===== CHARTS ===== */
  .chan-ic{ border:none; }
  .chan-ic svg{ width:56%; height:56%; fill:currentColor; }
  .ch-sub{ font-size:calc(12px * var(--fs)); opacity:.55; margin:-4px 0 12px; }
  .dn-wrap{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
  .dn-svg{ width:150px; height:150px; flex-shrink:0; }
  .dn-arc{ animation:dnIn .9s cubic-bezier(.2,.7,.2,1) backwards; }
  @keyframes dnIn{ from{ stroke-dasharray:0 251.33; } }
  .dn-top{ font-family:'IBM Plex Mono',monospace; font-size:16px; font-weight:600; fill:var(--ash-bright); }
  .dn-sub{ font-size:7.5px; letter-spacing:1px; text-transform:uppercase; fill:var(--ash); opacity:.7; }
  .dn-legend{ flex:1; min-width:140px; display:flex; flex-direction:column; gap:5px; }
  .dn-row{ display:flex; align-items:center; gap:8px; font-size:calc(12.5px * var(--fs)); }
  .dn-dot{ width:9px; height:9px; border-radius:2px; flex-shrink:0; }
  .dn-lbl{ flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ash-bright); }
  .dn-val{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); color:var(--ash-bright); }
  .dn-val i{ font-style:normal; opacity:.5; margin-left:3px; }
  .bar-svg,.line-svg{ width:100%; height:auto; display:block; }
  .bar-up{ transform-box:fill-box; transform-origin:50% 100%; animation:barUp .7s cubic-bezier(.2,.7,.2,1) backwards; }
  @keyframes barUp{ from{ transform:scaleY(0); } }
  .bar-val{ font-family:'IBM Plex Mono',monospace; font-size:8px; fill:var(--ash); }
  .bar-lbl{ font-family:'IBM Plex Mono',monospace; font-size:9px; fill:var(--ash); opacity:.7; }
  .ch-legend{ display:flex; gap:14px; font-size:calc(12px * var(--fs)); margin-top:8px; opacity:.8; }
  .ch-legend i{ display:inline-block; width:9px; height:9px; border-radius:2px; margin-right:6px; }
  .hb-row{ margin-bottom:11px; }
  .hb-head{ display:flex; justify-content:space-between; gap:8px; font-size:calc(12.5px * var(--fs)); margin-bottom:4px; }
  .hb-head span:first-child{ color:var(--ash-bright); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .hb-head span:last-child{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); opacity:.7; flex-shrink:0; }
  .hb-track{ position:relative; height:9px; background:var(--basalt-3); border-radius:5px; }
  .hb-fill{ height:100%; width:var(--w); border-radius:5px; animation:hbGrow .9s cubic-bezier(.2,.7,.2,1) backwards; }
  @keyframes hbGrow{ from{ width:0; } }
  .hb-mark{ position:absolute; top:-3px; bottom:-3px; width:2px; background:var(--ash-bright); border-radius:1px; }
  .ring-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:12px 6px; }
  .ring-item{ text-align:center; }
  .ring-svg{ width:72px; height:72px; }
  .ring-arc{ animation:ringIn .9s cubic-bezier(.2,.7,.2,1) backwards; }
  @keyframes ringIn{ from{ stroke-dasharray:0 163.36; } }
  .ring-txt{ font-family:'IBM Plex Mono',monospace; font-size:14px; font-weight:600; fill:var(--ash-bright); }
  .ring-lbl{ font-size:calc(12px * var(--fs)); opacity:.7; margin-top:2px; line-height:1.25; }
  .ln-path{ fill:none; stroke:var(--magma); stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:1; stroke-dashoffset:0; animation:lnDraw 1.4s ease-out backwards; }
  @keyframes lnDraw{ from{ stroke-dashoffset:1; } }
  .ln-area{ fill:var(--magma); opacity:.12; animation:lnFade 1.4s ease-out backwards; }
  @keyframes lnFade{ from{ opacity:0; } }
  .ln-dot{ fill:var(--magma); animation:lnFade 1.8s ease-out backwards; }
  @media (prefers-reduced-motion:reduce){ .dn-arc,.bar-up,.hb-fill,.ring-arc,.ln-path,.ln-area,.ln-dot{ animation:none !important; } }

  /* ===== MOCKUPS: concept board + post preview ===== */
  .mock-tag{ font-family:'IBM Plex Mono',monospace; font-size:calc(11.5px * var(--fs)); letter-spacing:1px; text-transform:uppercase; padding:2px 8px; border:1px dashed var(--magma-deep); color:var(--magma); border-radius:3px; }
  .cb-top{ display:grid; grid-template-columns:minmax(180px,230px) 1fr; gap:18px; align-items:start; margin-bottom:16px; }
  .cb-tee{ width:100%; max-width:210px; display:block; margin:0 auto; filter:drop-shadow(0 6px 10px rgba(0,0,0,.45)); }
  .cb-print{ font-family:'Oswald',sans-serif; font-size:19px; letter-spacing:1.5px; }
  .cb-sws{ display:flex; gap:8px; justify-content:center; margin-top:10px; }
  .cb-sw{ width:24px; height:24px; border-radius:50%; border:2px solid var(--seam); cursor:pointer; padding:0; }
  .cb-sw.on{ border-color:var(--magma); box-shadow:0 0 0 2px var(--basalt-2), 0 0 0 4px var(--magma); }
  .cb-inputs{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; }
  .cb-inputs .field{ margin:0; }
  .cb-stats{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin:14px 0 12px; }
  .cb-stats div{ background:var(--basalt-3); border-radius:3px; padding:8px 10px; }
  .cb-stats span{ display:block; font-size:calc(11.5px * var(--fs)); letter-spacing:.8px; text-transform:uppercase; opacity:.55; font-family:'IBM Plex Mono',monospace; }
  .cb-stats b{ font-family:'IBM Plex Mono',monospace; font-size:calc(16px * var(--fs)); color:var(--ash-bright); font-weight:600; }
  .cb-board{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; }
  .cb-col{ background:var(--basalt); border:1px solid var(--seam); border-radius:4px; padding:8px; min-height:90px; }
  .cb-col-h{ font-family:'IBM Plex Mono',monospace; font-size:calc(11.5px * var(--fs)); letter-spacing:1px; text-transform:uppercase; color:var(--ash); margin-bottom:8px; }
  .cb-col-h i{ font-style:normal; opacity:.5; margin-left:4px; }
  .cb-card{ background:var(--basalt-3); border:1px solid var(--seam); border-radius:3px; padding:8px; margin-bottom:7px; }
  .cb-card-name{ font-weight:600; font-size:calc(13px * var(--fs)); color:var(--ash-bright); line-height:1.25; }
  .cb-card-meta{ font-size:calc(12px * var(--fs)); opacity:.55; margin-top:2px; }
  .cb-card-foot{ display:flex; justify-content:space-between; align-items:center; margin-top:6px; }
  .cb-margin{ font-family:'IBM Plex Mono',monospace; font-size:calc(11.5px * var(--fs)); color:var(--ok); }
  .cb-empty{ font-size:calc(12px * var(--fs)); opacity:.35; text-align:center; padding:10px 0; }
  .sp-tabs{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:14px; }
  .sp-tab{ display:flex; align-items:center; gap:6px; background:var(--basalt-3); border:1px solid var(--seam); color:var(--ash); border-radius:3px; padding:6px 11px; font-size:calc(12.5px * var(--fs)); cursor:pointer; }
  .sp-tab svg{ width:14px; height:14px; fill:currentColor; }
  .sp-tab.on{ border-color:var(--magma); color:var(--ash-bright); }
  .sp-grid{ display:grid; grid-template-columns:1fr minmax(260px,340px); gap:20px; align-items:start; }
  .sp-count{ font-size:calc(12px * var(--fs)); opacity:.5; text-align:right; margin-top:3px; font-family:'IBM Plex Mono',monospace; }
  .sp-btns{ display:flex; gap:8px; flex-wrap:wrap; }
  .sp-file{ cursor:pointer; display:inline-block; }
  .sp-stage{ display:flex; justify-content:center; }
  .ph{ width:100%; max-width:340px; background:#000; color:#fff; border:1px solid var(--seam); border-radius:14px; overflow:hidden; font-size:calc(13px * var(--fs)); line-height:1.35; position:relative; }
  .ph svg{ width:22px; height:22px; flex-shrink:0; }
  .ph-head{ display:flex; align-items:center; gap:9px; padding:10px 12px; }
  .ph-head.over{ position:absolute; top:14px; left:0; right:0; z-index:3; }
  .ph-who{ flex:1; display:flex; flex-direction:column; }
  .ph-who small{ opacity:.65; font-size:calc(12px * var(--fs)); }
  .ph-more{ opacity:.8; letter-spacing:1px; }
  .sp-av{ width:32px; height:32px; border-radius:50%; background:linear-gradient(135deg,var(--magma),var(--magma-deep)); display:flex; align-items:center; justify-content:center; font-family:'Oswald',sans-serif; font-size:calc(15px * var(--fs)); flex-shrink:0; position:relative; color:#fff; }
  .ph-media.sq{ aspect-ratio:1/1; background:#111; }
  .ph-media img, .ph-media .sp-ph{ width:100%; height:100%; object-fit:cover; display:flex; }
  .ph-media.fill{ position:absolute; inset:0; }
  .sp-ph{ align-items:center; justify-content:center; background:radial-gradient(circle at 30% 20%, #4a1d12 0%, #151515 60%, #050505 100%); }
  .sp-ph span{ font-family:'Oswald',sans-serif; font-size:calc(34px * var(--fs)); letter-spacing:4px; color:rgba(243,237,228,.85); }
  .ph-acts{ display:flex; justify-content:space-between; padding:10px 12px 4px; }
  .ph-acts span{ display:flex; gap:14px; }
  .ph-line{ padding:2px 12px; }
  .ph-clamp{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .ph-time{ padding:3px 12px 12px; font-size:calc(11.5px * var(--fs)); opacity:.5; text-transform:uppercase; letter-spacing:.3px; }
  .ph-tag{ color:#6cb2ff; }
  .ph-vert{ aspect-ratio:9/16; }
  .ph-shade{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(0,0,0,.45) 0%,rgba(0,0,0,0) 28%,rgba(0,0,0,0) 55%,rgba(0,0,0,.75) 100%); z-index:1; }
  .ph-prog{ position:absolute; top:8px; left:10px; right:10px; height:2px; background:rgba(255,255,255,.35); z-index:3; border-radius:2px; }
  .ph-prog i{ display:block; width:38%; height:100%; background:#fff; border-radius:2px; }
  .ph-story-cap{ position:absolute; left:16px; right:16px; bottom:70px; text-align:center; font-family:'Oswald',sans-serif; font-size:calc(19px * var(--fs)); text-shadow:0 2px 8px rgba(0,0,0,.8); z-index:3; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
  .ph-reply{ position:absolute; left:12px; right:12px; bottom:14px; z-index:3; display:flex; align-items:center; gap:10px; }
  .ph-reply span{ flex:1; border:1px solid rgba(255,255,255,.6); border-radius:22px; padding:9px 14px; font-size:calc(13px * var(--fs)); opacity:.9; }
  .ph-tabs{ position:absolute; top:14px; left:0; right:0; z-index:3; display:flex; justify-content:center; gap:16px; font-size:calc(14px * var(--fs)); text-shadow:0 1px 4px rgba(0,0,0,.7); }
  .ph-tabs span{ opacity:.65; }
  .ph-rail{ position:absolute; right:10px; bottom:90px; z-index:3; display:flex; flex-direction:column; align-items:center; gap:16px; }
  .ph-rail > div{ display:flex; flex-direction:column; align-items:center; gap:2px; }
  .ph-rail small{ font-size:calc(12px * var(--fs)); }
  .ph-rail svg{ width:28px; height:28px; }
  .sp-av em{ position:absolute; bottom:-7px; left:50%; transform:translateX(-50%); width:16px; height:16px; border-radius:50%; background:#fe2c55; display:flex; align-items:center; justify-content:center; }
  .sp-av em svg{ width:10px; height:10px; }
  .ph-bottom{ position:absolute; left:12px; right:62px; bottom:14px; z-index:3; display:flex; flex-direction:column; gap:6px; }
  .ph-clamp3{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
  .ph-music{ display:flex; align-items:center; gap:6px; font-size:calc(12px * var(--fs)); opacity:.9; }
  .ph-music svg{ width:14px; height:14px; }
  .ph-yt-row{ display:flex; align-items:center; gap:8px; }
  .ph-sub{ background:#fff; color:#000; border-radius:16px; padding:4px 12px; font-weight:600; font-size:calc(12px * var(--fs)); }
  .ph-fb{ background:#242526; }
  .ph-fbcap{ padding:0 12px 10px; font-size:calc(14px * var(--fs)); }
  .ph-fbstats{ display:flex; justify-content:space-between; align-items:center; padding:8px 12px; font-size:calc(12px * var(--fs)); opacity:.75; }
  .ph-fbstats span{ display:flex; align-items:center; gap:5px; }
  .ph-fbstats svg{ width:14px; height:14px; }
  .ph-fbacts{ display:flex; justify-content:space-around; padding:8px 0; border-top:1px solid rgba(255,255,255,.12); font-size:calc(13px * var(--fs)); opacity:.8; }
  .ph-fbacts span{ display:flex; align-items:center; gap:6px; }
  .ph-fbacts svg{ width:17px; height:17px; }
  .cal-day.clickable{ cursor:pointer; }
  .cal-day.clickable:hover{ outline:1px solid var(--magma-deep); }
  @media (max-width:820px){
    .cb-top, .sp-grid{ grid-template-columns:1fr; }
    .cb-board{ grid-template-columns:repeat(2,1fr); }
  }

  /* ===== ORDERS: collapsible ===== */
  .order-toolbar{ display:flex; justify-content:space-between; align-items:center; font-size:calc(12px * var(--fs)); opacity:.8; margin-bottom:8px; }
  .order-month{ display:flex; justify-content:space-between; font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); letter-spacing:.8px; text-transform:uppercase; color:var(--ash); opacity:.65; margin:14px 0 6px; padding-bottom:4px; border-bottom:1px solid var(--seam); }
  .order-sum{ display:flex; align-items:center; gap:10px; cursor:pointer; padding:2px 0; }
  .order-sum .chev{ font-size:20px; line-height:1; color:var(--magma); transition:transform .18s; width:14px; text-align:center; flex-shrink:0; }
  .order-block.open .order-sum .chev{ transform:rotate(90deg); }
  .os-main{ flex:1; min-width:0; display:flex; flex-direction:column; }
  .os-main b{ color:var(--ash-bright); font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .os-main span, .os-meta span{ font-size:calc(12px * var(--fs)); opacity:.55; }
  .os-meta{ display:flex; flex-direction:column; align-items:flex-end; flex-shrink:0; }
  .os-meta b{ font-family:'IBM Plex Mono',monospace; font-size:calc(13.5px * var(--fs)); color:var(--ash-bright); font-weight:600; }
  .order-body{ display:none; margin-top:10px; padding-top:8px; border-top:1px dashed var(--seam); }
  .order-block.open .order-body{ display:block; }
  .order-body .order-lines{ border-top:none; margin-top:6px; padding-top:0; }
  .order-more{ width:100%; margin-top:10px; }
  /* ===== TEXT SIZE ===== */
  :root{ --fs:1.1; }
  .size-pick{ display:flex; align-items:center; gap:6px; margin-top:8px; }
  .size-pick span{ font-size:calc(12px * var(--fs)); flex:1; }
  .sidebar-foot .size-pick button{ width:auto; margin-top:0; padding:4px 10px; flex-shrink:0; }
  .sidebar-foot .size-pick button.on{ color:var(--ash-bright); border-color:var(--magma); }

  /* ===== DASHBOARD TUNE-UP ===== */
  .snap{ }
  .snap-link{ font-size:calc(12px * var(--fs)); opacity:.6; cursor:pointer; }
  .snap-big{ display:flex; align-items:baseline; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
  .snap-big b{ font-family:'IBM Plex Mono',monospace; font-size:calc(26px * var(--fs)); font-weight:600; }
  .snap-big small{ opacity:.55; font-size:calc(12px * var(--fs)); }
  .snap-sub{ font-size:calc(12.5px * var(--fs)); opacity:.65; margin:-4px 0 10px; }
  .snap-warn{ margin-top:10px; font-size:calc(12.5px * var(--fs)); color:var(--danger); }
  .snap-ok{ margin-top:10px; font-size:calc(12.5px * var(--fs)); opacity:.6; }
  .snap-rows{ margin-top:12px; }
  .spark{ height:30px; margin-top:8px; }
  .spark-svg{ width:100%; height:30px; display:block; }
  .show-wrap{ display:flex; align-items:center; gap:16px; }
  .show-days{ font-family:'Oswald',sans-serif; font-size:calc(58px * var(--fs)); line-height:1; color:var(--ash-bright); flex-shrink:0; }
  .show-days small{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); letter-spacing:1px; text-transform:uppercase; color:var(--magma); margin-left:6px; }
  .show-info{ display:flex; flex-direction:column; gap:2px; min-width:0; }
  .show-info b{ font-size:calc(16px * var(--fs)); color:var(--ash-bright); }
  .show-info span{ font-size:calc(12.5px * var(--fs)); opacity:.65; }
  .show-more{ margin-top:12px; border-top:1px solid var(--seam); padding-top:8px; }
  .show-next{ display:flex; justify-content:space-between; gap:8px; font-size:calc(12.5px * var(--fs)); padding:3px 0; opacity:.75; }
  .act-group{ border-bottom:1px solid var(--seam); }
  .act-group:last-child{ border-bottom:none; }
  .act-group summary{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; cursor:pointer; list-style:none; font-weight:600; color:var(--ash-bright); font-size:calc(14px * var(--fs)); }
  .act-group summary::-webkit-details-marker{ display:none; }
  .act-group summary::before{ content:'\203A'; color:var(--magma); margin-right:8px; transition:transform .18s; font-size:calc(18px * var(--fs)); line-height:1; }
  .act-group[open] summary::before{ transform:rotate(90deg); }
  .act-group summary span{ flex:1; }
  .act-group summary b{ font-family:'IBM Plex Mono',monospace; font-size:calc(12px * var(--fs)); padding:1px 8px; border-radius:10px; }
  .c-red{ background:rgba(201,86,74,.18); color:var(--danger); }
  .c-amber{ background:var(--basalt-3); color:var(--ash); }
  .c-green{ background:var(--basalt-3); color:var(--ash); }
  .act-row{ display:flex; align-items:center; gap:10px; padding:7px 0 7px 6px; }
  .act-main{ flex:1; min-width:0; display:flex; flex-direction:column; }
  .act-text{ font-size:calc(14px * var(--fs)); color:var(--ash-bright); }
  .act-sub{ font-size:calc(12px * var(--fs)); opacity:.55; }
  .act-tags{ display:flex; gap:4px; flex-shrink:0; }
  .done-btn{ width:22px; height:22px; border-radius:50%; border:1px solid var(--seam); background:transparent; color:var(--ash); cursor:pointer; font-size:12px; line-height:1; padding:0; flex-shrink:0; }
  .done-btn:hover{ border-color:var(--ok); color:var(--ok); }
  .act-dot{ width:6px; height:6px; border-radius:50%; background:var(--seam); margin:0 8px; flex-shrink:0; }
  .act-note{ font-size:calc(12px * var(--fs)); color:var(--sulfur); padding:2px 0 8px 6px; }
  .na-tag.stale{ outline:1px solid var(--danger); }
  /* orders: green totals */
  .os-meta b, .order-line .ol-price{ color:var(--ok); }
  .cur-hint{ font-size:calc(12px * var(--fs)); color:var(--sulfur); margin:-6px 0 12px; display:none; }

  /* ===== FIXES: press contact rows, brand badges, video fallback ===== */
  .kv-list{ container-type:inline-size; }
  .kv-list .kv{ grid-template-columns:calc(132px * var(--fs)) 1fr; }
  .kv-list .k{ white-space:normal; }
  @container (max-width:380px){
    .kv-list .kv{ grid-template-columns:1fr; gap:2px; }
  }
  .m-badge.brand svg{ width:58%; height:58%; fill:currentColor; }
  .m-badge.brand svg[fill="none"]{ fill:none; }
  .yt-fallback{ margin-left:8px; font-size:calc(12px * var(--fs)); color:var(--magma); text-decoration:none; white-space:nowrap; }

  /* ===== BOOKINGS: show sheet, crew, tour summary ===== */
  .tour-sum{ display:grid; grid-template-columns:repeat(auto-fit,minmax(110px,1fr)); gap:8px; margin-bottom:14px; }
  .ts-tile{ background:var(--basalt-3); border:1px solid var(--seam); border-radius:4px; padding:9px 10px; }
  .ts-tile b{ display:block; font-family:'IBM Plex Mono',monospace; font-size:calc(19px * var(--fs)); color:var(--ash-bright); font-weight:600; line-height:1.15; }
  .ts-tile span{ font-size:calc(10.5px * var(--fs)); letter-spacing:.8px; text-transform:uppercase; opacity:.55; font-family:'IBM Plex Mono',monospace; }
  .sheet-chips{ display:flex; flex-wrap:wrap; gap:5px; margin-top:6px; }
  .sheet-chip{ font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); padding:2px 8px; border-radius:3px; border:1px solid var(--seam); color:var(--ash); }
  .sheet-chip.ok{ color:var(--ok); border-color:rgba(92,156,106,.5); }
  .sheet-chip.warn{ color:var(--sulfur); border-color:rgba(230,185,60,.5); }
  .sheet-chip.bad{ color:var(--danger); border-color:rgba(201,86,74,.5); }
  .ss-sub{ font-size:calc(13px * var(--fs)); opacity:.65; margin:-6px 0 8px; }
  .ss-h{ font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); letter-spacing:1.2px; text-transform:uppercase; color:var(--magma); margin:16px 0 8px; padding-bottom:4px; border-bottom:1px solid var(--seam); }
  .ss-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:0 12px; }
  .ss-hint{ font-size:calc(12px * var(--fs)); opacity:.6; margin:-2px 0 8px; }
  .ss-adv{ display:grid; grid-template-columns:repeat(2,1fr); gap:6px 12px; margin-bottom:12px; }
  .ss-adv label{ display:flex; align-items:center; gap:8px; font-size:calc(13.5px * var(--fs)); }
  .ss-actions-top{ margin-bottom:4px; }
  .crew-tour{ font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); letter-spacing:1px; text-transform:uppercase; opacity:.55; margin:12px 0 4px; }
  .crew-row{ display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--seam); flex-wrap:wrap; }
  .cr-main{ flex:1; min-width:180px; display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
  .cr-main b{ color:var(--ash-bright); font-size:calc(14px * var(--fs)); }
  .cr-main small{ opacity:.55; font-size:calc(12px * var(--fs)); }
  .role-pill{ font-family:'IBM Plex Mono',monospace; font-size:calc(10.5px * var(--fs)); text-transform:uppercase; letter-spacing:.6px; padding:1px 7px; border-radius:3px; border:1px solid var(--magma-deep); color:var(--magma); }
  .cr-contact{ display:flex; flex-direction:column; gap:2px; font-size:calc(13px * var(--fs)); min-width:150px; }
  .cr-contact a{ color:var(--magma); text-decoration:none; overflow-wrap:anywhere; }
  .cr-actions{ display:flex; gap:4px; }
  @media (max-width:820px){ .ss-grid, .ss-adv{ grid-template-columns:1fr; } }

  .modal:has(#showForm){ max-width:660px; }

  /* ===== PRESS EDIT, IDEAS, DRAFTS ===== */
  .pk-stat{ display:grid; grid-template-columns:1.3fr .8fr 1.6fr; gap:6px; margin-bottom:6px; }
  .cb-board.five{ grid-template-columns:repeat(5,1fr); }
  .cb-card{ cursor:pointer; }
  .cb-card:hover{ border-color:var(--magma-deep); }
  .cb-thumb{ width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:3px; margin-bottom:6px; background:var(--basalt); display:block; }
  .vote-sum{ display:flex; align-items:center; gap:3px; font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); }
  .vote-sum i{ font-style:normal; padding:0 5px; border-radius:3px; }
  .vote-sum .vy{ color:var(--ok); } .vote-sum .vm{ color:var(--sulfur); } .vote-sum .vn{ color:var(--danger); }
  .vote-sum small{ opacity:.5; margin-left:2px; }
  .idea-imgs{ display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:8px; margin-bottom:8px; }
  .idea-img{ position:relative; }
  .idea-img img{ width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:4px; display:block; background:var(--basalt); }
  .idea-img .icon-btn{ position:absolute; top:3px; right:3px; background:rgba(0,0,0,.65); }
  .sup-card{ display:flex; flex-wrap:wrap; gap:4px 12px; align-items:baseline; background:var(--basalt-3); border-radius:4px; padding:8px 10px; margin-bottom:6px; font-size:calc(13px * var(--fs)); }
  .sup-card a{ color:var(--magma); text-decoration:none; overflow-wrap:anywhere; }
  .vote-row{ display:flex; gap:8px; margin-bottom:8px; flex-wrap:wrap; }
  .vote-btn{ background:var(--basalt-3); border:1px solid var(--seam); color:var(--ash); border-radius:3px; padding:6px 14px; cursor:pointer; font-size:calc(13px * var(--fs)); }
  .vote-btn.on.yes{ border-color:var(--ok); color:var(--ok); } .vote-btn.on.maybe{ border-color:var(--sulfur); color:var(--sulfur); } .vote-btn.on.no{ border-color:var(--danger); color:var(--danger); }
  .vote-others{ display:flex; flex-wrap:wrap; gap:4px 14px; font-size:calc(12.5px * var(--fs)); opacity:.85; margin-bottom:10px; }
  .vote-others .v-yes{ color:var(--ok); } .vote-others .v-maybe{ color:var(--sulfur); } .vote-others .v-no{ color:var(--danger); } .vote-others .v-none{ opacity:.5; font-weight:400; }
  body.role-viewer #editPressBtn, body.role-viewer #editAudienceBtn{ display:none !important; }
  .modal:has(#ideaForm), .modal:has(#pressForm){ max-width:620px; }
  @media (max-width:820px){ .cb-board.five{ grid-template-columns:repeat(2,1fr); } .pk-stat{ grid-template-columns:1fr; } }

  /* ===== VIDEO FACADE ===== */
  .yt-facade{ position:absolute; inset:0; cursor:pointer; background:#000; }
  .yt-facade img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.9; }
  .yt-facade iframe{ position:absolute; inset:0; width:100%; height:100%; border:none; }
  .yt-play{ position:absolute; left:50%; top:50%; width:64px; height:44px; transform:translate(-50%,-50%); background:#ff0000; border-radius:12px; box-shadow:0 2px 12px rgba(0,0,0,.5); }
  .yt-play::after{ content:''; position:absolute; left:26px; top:13px; border-style:solid; border-width:9px 0 9px 16px; border-color:transparent transparent transparent #fff; }
  .yt-facade:hover .yt-play{ background:#e00000; }

  /* ===== REPOST QUEUE ===== */
  .rq-row{ padding:10px 0; border-bottom:1px solid var(--seam); }
  .rq-row:last-child{ border-bottom:none; }
  .rq-top{ display:flex; gap:10px; align-items:flex-start; }
  .rq-main{ display:flex; flex-direction:column; min-width:0; }
  .rq-main a{ color:var(--ash-bright); text-decoration:none; font-weight:600; font-size:calc(14px * var(--fs)); overflow-wrap:anywhere; }
  .rq-main span{ font-size:calc(12px * var(--fs)); opacity:.55; }
  .rq-controls{ display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-top:8px; }
  .rq-controls select{ width:auto; }
  .rq-controls .mini{ flex:1; min-width:140px; }

  /* ===== VISIBLE FEEDBACK: toast at the top, error banner ===== */
  .toast{ top:72px; bottom:auto; left:50%; right:auto; max-width:92vw; text-align:center; z-index:99999; transform:translateX(-50%) translateY(-10px); box-shadow:0 6px 24px rgba(0,0,0,.55); }
  .toast.show{ transform:translateX(-50%) translateY(0); }
  #errBanner{ position:fixed; left:8px; right:8px; top:8px; z-index:100000; background:#3a1410; border:1px solid var(--danger); color:#ffd9d2; border-radius:6px; padding:10px 12px; font-size:13px; display:none; line-height:1.4; }
  #errBanner b{ display:block; margin-bottom:4px; }
  #errBanner code{ display:block; font-family:'IBM Plex Mono',monospace; font-size:11.5px; word-break:break-word; opacity:.9; }
  #errBanner button{ margin-top:8px; margin-right:6px; background:transparent; border:1px solid var(--danger); color:#ffd9d2; border-radius:3px; padding:4px 10px; cursor:pointer; }

  /* ===== NEW ALBUM v2 ===== */
  .na-head, .na-import{ margin-bottom:14px; }
  .na-import{ border:1px dashed var(--magma-deep); }
  .na-top{ display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }
  .na-album{ font-family:'Oswald',sans-serif; font-size:calc(22px * var(--fs)); text-transform:uppercase; letter-spacing:.5px; color:var(--ash-bright); line-height:1.15; }
  .na-count-big{ text-align:right; flex-shrink:0; }
  .na-count-big b{ display:block; font-family:'IBM Plex Mono',monospace; font-size:calc(28px * var(--fs)); color:var(--ash-bright); font-weight:600; line-height:1; }
  .na-count-big small{ font-size:calc(11px * var(--fs)); opacity:.6; }
  .na-count{ font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); opacity:.5; margin-left:6px; font-weight:400; }
  .na-phases{ display:flex; flex-wrap:wrap; gap:5px; margin:12px 0; }
  .na-ph{ font-size:calc(11.5px * var(--fs)); padding:3px 10px; border-radius:3px; border:1px solid var(--seam); background:var(--basalt-3); color:var(--ash); cursor:pointer; }
  .na-ph.past{ color:var(--ok); border-color:rgba(92,156,106,.45); }
  .na-ph.on{ color:var(--ash-bright); border-color:var(--magma); }
  .na-card{ background:var(--basalt-3); border:1px solid var(--seam); border-radius:6px; padding:10px 12px; margin-bottom:8px; cursor:pointer; }
  .na-card:hover{ border-color:var(--magma-deep); }
  .na-ttl{ font-weight:600; color:var(--ash-bright); font-size:calc(14px * var(--fs)); line-height:1.3; }
  .na-meta{ display:flex; gap:10px; flex-wrap:wrap; font-size:calc(12px * var(--fs)); opacity:.6; margin-top:2px; }
  .na-note{ font-size:calc(13px * var(--fs)); opacity:.75; margin:6px 0 0; line-height:1.45; }
  .na-st{ font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); padding:3px 9px; border-radius:3px; border:1px solid var(--c, var(--seam)); background:transparent; color:var(--c, var(--ash)); cursor:pointer; white-space:nowrap; flex-shrink:0; }
  .na-files{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
  .na-chip{ display:inline-flex; align-items:center; border:1px solid var(--seam); border-radius:3px; background:var(--basalt-2); font-size:calc(12px * var(--fs)); max-width:100%; }
  .na-chip button, .na-chip a{ display:inline-flex; align-items:center; gap:5px; padding:3px 8px; background:transparent; border:none; color:var(--ash-bright); cursor:pointer; text-decoration:none; font:inherit; min-width:0; }
  .na-chip.link a{ color:var(--magma); }
  .na-chip svg{ width:13px; height:13px; flex-shrink:0; }
  .na-chip small{ opacity:.5; margin-left:3px; }
  .na-x{ padding:3px 8px !important; opacity:.6; font-size:15px !important; line-height:1; }
  .na-btns{ display:flex; gap:8px; flex-wrap:wrap; margin-top:8px; }
  .na-todo{ display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:1px solid var(--seam); }
  .na-todo:last-child{ border-bottom:none; }
  .na-todo input{ margin-top:4px; flex-shrink:0; }
  .na-todo-main{ flex:1; min-width:0; cursor:pointer; display:flex; flex-direction:column; font-size:calc(14px * var(--fs)); color:var(--ash-bright); }
  .na-todo-main small{ opacity:.55; font-size:calc(12px * var(--fs)); }
  .na-todo.done .na-todo-main span{ text-decoration:line-through; opacity:.5; }
  .modal:has(#naForm), .modal:has(#naProjForm){ max-width:560px; }

  /* ===== TOUR INTELLIGENCE v2 ===== */
  .tour-warn{ background:rgba(230,185,60,.1); border:1px solid rgba(230,185,60,.45); border-radius:6px; padding:9px 12px; margin-bottom:12px; font-size:calc(13px * var(--fs)); }
  .tour-warn b{ display:block; color:var(--sulfur); font-weight:600; }
  .tour-warn span{ opacity:.75; }
  .tw-week{ display:flex; justify-content:space-between; font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); letter-spacing:.8px; text-transform:uppercase; color:var(--ash); opacity:.7; margin:16px 0 6px; padding-bottom:4px; border-bottom:1px solid var(--seam); }
  .tw-week:first-child{ margin-top:4px; }
  .tw-row{ background:var(--basalt-3); border:1px solid var(--seam); border-radius:6px; margin-bottom:6px; overflow:hidden; }
  .tw-row.past{ opacity:.55; }
  .tw-main{ display:flex; gap:12px; align-items:center; padding:10px 12px; cursor:pointer; }
  .tw-main:hover{ background:rgba(255,255,255,.02); }
  .tw-date{ width:48px; text-align:center; flex-shrink:0; }
  .tw-date b{ display:block; font-size:calc(21px * var(--fs)); color:var(--ash-bright); font-weight:600; line-height:1; font-family:'IBM Plex Mono',monospace; }
  .tw-date span{ font-size:calc(11px * var(--fs)); opacity:.6; }
  .tw-mid{ flex:1; min-width:0; }
  .tw-city{ font-weight:600; color:var(--ash-bright); font-size:calc(15px * var(--fs)); }
  .tw-sub{ font-size:calc(12px * var(--fs)); opacity:.62; margin-top:1px; }
  .tw-bar{ height:5px; background:var(--basalt); border-radius:3px; margin-top:6px; overflow:hidden; }
  .tw-bar i{ display:block; height:100%; border-radius:3px; }
  .tw-pill{ font-family:'IBM Plex Mono',monospace; font-size:calc(11px * var(--fs)); padding:4px 9px; border-radius:3px; border:1px solid var(--seam); white-space:nowrap; flex-shrink:0; }
  .tw-pill.ok{ color:var(--ok); border-color:rgba(92,156,106,.55); }
  .tw-pill.warn{ color:var(--sulfur); border-color:rgba(230,185,60,.55); }
  .tw-pill.zero{ color:var(--ash); }
  .tw-pill.none{ border-style:dashed; color:var(--ash); }
  .tw-chev{ font-size:15px; opacity:.5; transition:transform .15s; flex-shrink:0; }
  .tw-row.open .tw-chev{ transform:rotate(180deg); }
  .tw-off{ display:flex; gap:12px; align-items:center; padding:5px 12px; margin-bottom:6px; font-size:calc(12px * var(--fs)); opacity:.5; }
  .tw-off .tw-date{ font-size:calc(12px * var(--fs)); }
  .tw-gap{ text-align:center; font-size:calc(12px * var(--fs)); opacity:.45; padding:10px 0 0; font-family:'IBM Plex Mono',monospace; }
  .tw-detail{ padding:2px 12px 12px; border-top:1px solid var(--seam); }
  .tw-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px 12px; margin:10px 0; }
  .tw-grid div{ font-size:calc(12px * var(--fs)); opacity:.9; }
  .tw-grid b{ display:block; font-size:calc(13.5px * var(--fs)); color:var(--ash-bright); font-weight:600; }
  .tw-chk{ display:flex; flex-wrap:wrap; gap:5px; margin-bottom:10px; }
  .tw-chk span{ font-size:calc(11px * var(--fs)); padding:3px 8px; border-radius:3px; background:var(--basalt); color:var(--ash); opacity:.6; }
  .tw-chk span.d{ background:rgba(92,156,106,.18); color:var(--ok); opacity:1; }
  .tw-empty{ font-size:calc(13px * var(--fs)); opacity:.65; margin:10px 0; }
  .tw-btns{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; margin-top:4px; }
  .tw-btns a.icon-btn{ text-decoration:none; }

  /* ===== LOAD FAILED BANNER ===== */
  #loadBanner{ display:none; align-items:center; justify-content:space-between; gap:12px; background:#3a1410; border:1px solid var(--danger); color:#ffd9d2; border-radius:6px; padding:10px 12px; margin-bottom:12px; font-size:calc(13px * var(--fs)); }
  #loadBanner button{ background:transparent; border:1px solid var(--danger); color:#ffd9d2; border-radius:3px; padding:4px 12px; cursor:pointer; flex-shrink:0; }

.mom-sub{ opacity:.5; font-size:calc(12px * var(--fs)); }

.team-group-h{ font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:1px; font-size:calc(15px * var(--fs)); color:var(--ash); margin:18px 0 10px; }
.team-group-h small{ font-family:'IBM Plex Mono',monospace; opacity:.5; margin-left:6px; }
.team-card{ min-width:0; overflow:hidden; }
.team-top > div:first-child{ min-width:0; }
.team-name, .team-title, .team-email{ overflow-wrap:anywhere; word-break:break-word; }

/* ---- PR/Outreach: summary tiles + collapsible groups, one colour per type ---- */
.ct-journalist{ --tc:#d9a441; } .ct-youtuber{ --tc:#d4584a; } .ct-podcast{ --tc:#a67bd1; } .ct-playlist_curator{ --tc:#4fbf8b; }
.ct-festival{ --tc:#ff7a45; } .ct-promoter{ --tc:#e0c65a; } .ct-label{ --tc:#6fb0c9; } .ct-booking_agent{ --tc:#c98fb0; } .ct-other{ --tc:#a8a29b; }
.ct-summary{ display:grid; grid-template-columns:repeat(auto-fill,minmax(104px,1fr)); gap:8px; margin-bottom:10px; }
.ct-tile{ background:var(--basalt-3); border:1px solid var(--seam); border-top:3px solid var(--tc); border-radius:4px; padding:8px 6px; text-align:center; cursor:pointer; color:var(--ash-bright); font:inherit; }
.ct-tile b{ display:block; font-family:'IBM Plex Mono',monospace; font-size:calc(20px * var(--fs)); line-height:1.1; }
.ct-tile span{ font-size:calc(11.5px * var(--fs)); opacity:.7; text-transform:uppercase; letter-spacing:.5px; }
.ct-tile.on{ outline:1px solid var(--tc); background:var(--basalt-2); }
.ct-note{ font-size:calc(12.5px * var(--fs)); opacity:.65; margin-bottom:10px; } .ct-note a{ color:var(--magma); }
.ct-group{ border:1px solid var(--seam); border-left:3px solid var(--tc); border-radius:4px; margin-bottom:8px; background:var(--basalt-2); }
.ct-group > summary{ cursor:pointer; list-style:none; display:flex; align-items:center; gap:10px; padding:11px 12px; font-family:'Oswald',sans-serif; text-transform:uppercase; letter-spacing:.8px; }
.ct-group > summary::-webkit-details-marker{ display:none; }
.ct-group > summary b{ margin-left:auto; font-family:'IBM Plex Mono',monospace; opacity:.7; }
.ct-dot{ width:9px; height:9px; border-radius:50%; background:var(--tc); }
.ct-group > .contact-compact{ margin:0 8px 8px; border-left:2px solid var(--tc); }
.contact-compact .oc-type{ color:var(--tc, var(--ash)); opacity:1; }

.brand .logo{ display:block; height:64px; width:auto; max-width:100%; }
