/* ─────────────────────────────────────────
   MANAGEMENT PANEL
───────────────────────────────────────── */
.mgmt-panel { display: none; flex: 1; min-width: 0; min-height: 0; overflow: hidden; flex-direction: column; }
.mgmt-panel.active { display: flex; min-height: 0; overflow: hidden; }
.mgmt-subnav {
  display: flex; align-items: center; gap: 2px; padding: 0 40px;
  border-bottom: 1px solid var(--border); flex-shrink: 0;
  overflow-x: auto; scrollbar-width: none;
}
.mgmt-subnav::-webkit-scrollbar { display: none; }
.msn-btn {
  font-family: var(--font-body); font-size: 12px; font-weight: 500;
  color: var(--text-3); padding: 14px 14px 13px;
  border-bottom: 2px solid transparent; white-space: nowrap;
  transition: color 150ms var(--ease), border-color 150ms var(--ease); cursor: pointer;
}
.msn-btn:hover { color: var(--text); }
.msn-btn.active { color: var(--green); border-bottom-color: var(--green); font-weight: 600; }
.mgmt-main { flex: 1; overflow-y: auto; padding: 32px 40px 64px; min-width: 0; }
.mgmt-subpanel { display: none; }
.mgmt-subpanel.active { display: block; }
.mgmt-section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--border); }
.mgmt-section-title { font-size: 18px; font-weight: 700; color: var(--text); letter-spacing: -0.3px; }
.mgmt-section-sub { font-family: var(--font-mono); font-size: 9px; color: var(--text-3); margin-top: 3px; letter-spacing: 0.3px; }
.mgmt-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 28px; }
.mgmt-stat { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 16px 18px; }
.mgmt-stat-label { font-family: var(--font-mono); font-size: 9px; font-weight: 600; letter-spacing: 0.8px; text-transform: uppercase; color: var(--text-3); margin-bottom: 6px; }
.mgmt-stat-value { font-size: 22px; font-weight: 700; color: var(--text); letter-spacing: -0.5px; line-height: 1; margin-bottom: 4px; }
.mgmt-stat-delta { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }
.mgmt-stat-delta.up { color: var(--emerald); }
.mgmt-stat-delta.warn { color: var(--amber); }
.rev-upload-banner { border: 2px dashed var(--border-med); border-radius: 12px; padding: 20px 24px; display: flex; align-items: center; gap: 16px; cursor: pointer; transition: border-color 150ms var(--ease), background 150ms var(--ease); margin-bottom: 28px; }
.rev-upload-banner:hover { border-color: var(--green); background: var(--green-dim); }
.rev-upload-icon { width: 40px; height: 40px; border-radius: 10px; background: var(--green-dim); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rev-upload-icon svg { width: 20px; height: 20px; }
.rev-upload-title { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 2px; }
.rev-upload-sub { font-size: 11px; color: var(--text-3); }
.rev-upload-btn { margin-left: auto; flex-shrink: 0; font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; padding: 8px 16px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); color: var(--text-3); cursor: pointer; transition: all 150ms var(--ease); }
.rev-upload-btn:hover { color: var(--text); border-color: var(--border-med); }
.rev-cols { display: grid; grid-template-columns: 1fr 300px; gap: 20px; align-items: start; margin-bottom: 28px; }
.rev-card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; }
.rev-card-title { font-size: 12px; font-weight: 700; color: var(--text); margin-bottom: 14px; text-transform: uppercase; letter-spacing: 0.5px; font-family: var(--font-mono); color: var(--text-3); }
.platform-rev-item { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--border); }
.platform-rev-item:last-child { border-bottom: none; }
.platform-rev-name { font-size: 12px; font-weight: 600; color: var(--text); width: 95px; flex-shrink: 0; }
.platform-rev-bar-track { flex: 1; height: 5px; background: var(--surface-2); border-radius: 3px; overflow: hidden; }
.platform-rev-bar-fill { height: 100%; border-radius: 3px; background: linear-gradient(90deg, #2D6A4F, #2D6A4F); }
.platform-rev-amt { font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: var(--text); width: 56px; text-align: right; flex-shrink: 0; }
.platform-rev-pct { font-family: var(--font-mono); font-size: 9px; color: var(--text-3); width: 34px; text-align: right; flex-shrink: 0; }
.region-rev-item { display: flex; align-items: center; gap: 10px; margin-bottom: 11px; }
.region-flag { font-size: 13px; width: 20px; flex-shrink: 0; }
.region-name { font-size: 11px; font-weight: 600; color: var(--text); width: 100px; flex-shrink: 0; }
.region-bar-track { flex: 1; height: 4px; background: var(--surface-2); border-radius: 2px; overflow: hidden; }
.region-bar-fill { height: 100%; border-radius: 2px; background: var(--teal); }
.region-amt { font-family: var(--font-mono); font-size: 10px; color: var(--text-2); width: 50px; text-align: right; flex-shrink: 0; }
.rev-insights { display: flex; flex-direction: column; gap: 8px; margin-top: 20px; }
.rev-insight { display: flex; align-items: flex-start; gap: 10px; background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 13px 15px; }
.rev-insight-dot { width: 7px; height: 7px; border-radius: 50%; flex-shrink: 0; margin-top: 4px; }
.rev-insight-text { font-size: 12px; color: var(--text-2); line-height: 1.55; }
.rev-insight-text strong { color: var(--text); font-weight: 600; }
.mgmt-table { width: 100%; border-collapse: collapse; }
.mgmt-table th { font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--text-3); padding: 0 12px 10px; text-align: left; border-bottom: 1px solid var(--border); }
.mgmt-table th:last-child { text-align: right; }
.mgmt-table td { padding: 11px 12px; font-size: 12px; color: var(--text-2); border-bottom: 1px solid var(--border); vertical-align: middle; }
.mgmt-table tr:last-child td { border-bottom: none; }
.mgmt-table td:last-child { text-align: right; }
.mgmt-table td.t-name { font-weight: 600; color: var(--text); }
.mgmt-table td.t-rev { font-family: var(--font-mono); font-weight: 700; color: var(--text); text-align: right; }
.mgmt-table td.t-streams { font-family: var(--font-mono); font-size: 11px; text-align: right; }
.mgmt-table td.t-pps { font-family: var(--font-mono); font-size: 11px; text-align: right; color: var(--text-3); }
.mgmt-table td.t-delta { font-family: var(--font-mono); font-size: 10px; }
.mgmt-table td.t-delta.up { color: var(--emerald); }
.mgmt-table td.t-delta.dn { color: var(--coral); }
.contract-row { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; margin-bottom: 8px; overflow: hidden; transition: border-color 150ms var(--ease); cursor: pointer; }
.contract-row:hover { border-color: var(--border-med); }
.contract-row.copen { border-color: var(--border-med); }
.contract-main { display: grid; grid-template-columns: 1fr auto auto auto auto; align-items: center; gap: 14px; padding: 15px 18px; }
.contract-name { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 2px; }
.contract-party { font-size: 11px; color: var(--text-3); }
.contract-type { font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; background: var(--surface-2); color: var(--text-3); }
.contract-status { font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; }
.contract-status.active { background: rgba(45,106,79,0.1); color: var(--emerald); }
.contract-status.expiring { background: rgba(166,124,55,0.12); color: var(--amber); }
.contract-status.expired { background: rgba(155,68,68,0.1); color: var(--coral); }
.contract-expiry { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); white-space: nowrap; }
.contract-expiry.warn { color: var(--amber); font-weight: 600; }
.contract-chevron { color: var(--text-3); font-size: 10px; transition: transform 200ms; }
.contract-row.copen .contract-chevron { transform: rotate(90deg); }
.contract-details { display: none; padding: 0 18px 16px; border-top: 1px solid var(--border); }
.contract-row.copen .contract-details { display: block; }
.contract-details-title { font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--text-3); margin: 12px 0 7px; }
.contract-point { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: var(--text-2); line-height: 1.5; margin-bottom: 4px; }
.contract-point::before { content: '·'; color: var(--green); font-weight: 700; flex-shrink: 0; }
.contacts-filters { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 20px; }
.contact-filter-pill { font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; padding: 5px 12px; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); color: var(--text-3); cursor: pointer; transition: all 150ms var(--ease); }
.contact-filter-pill:hover { color: var(--text); }
.contact-filter-pill.active { background: var(--green); color: #fff; border-color: var(--green); }
.contacts-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.contact-card { background: var(--surface); border: 1px solid var(--border); border-radius: 10px; padding: 16px 18px; transition: box-shadow 150ms var(--ease), border-color 150ms var(--ease); cursor: pointer; }
.contact-card:hover { box-shadow: 0 2px 12px rgba(0,0,0,0.07); border-color: var(--border-med); }
.contact-card-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.contact-avatar { width: 36px; height: 36px; border-radius: 50%; flex-shrink: 0; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 11px; font-weight: 700; color: #fff; }
.contact-name { font-size: 13px; font-weight: 600; color: var(--text); margin-bottom: 2px; }
.contact-role { font-size: 11px; color: var(--text-3); }
.contact-org { font-size: 11px; color: var(--text-2); font-weight: 500; margin-bottom: 8px; }
.contact-tag { display: inline-block; font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; padding: 2px 7px; border-radius: 4px; background: var(--surface-2); color: var(--text-3); }
.contact-tag.label { background: rgba(45,106,79,0.1); color: var(--green); }
.contact-tag.dsp { background: rgba(45,106,79,0.1); color: var(--emerald); }
.contact-tag.sync { background: rgba(42,157,143,0.1); color: var(--teal); }
.contact-tag.promo { background: rgba(166,124,55,0.1); color: var(--amber); }
.contact-tag.press { background: rgba(155,68,68,0.1); color: var(--coral); }
.contact-last { font-family: var(--font-mono); font-size: 9px; color: var(--text-3); margin-top: 8px; }
.grants-filters { display: flex; gap: 6px; margin-bottom: 20px; }
.grant-card { background: var(--surface); border: 1px solid var(--border); border-radius: 12px; padding: 20px 22px; margin-bottom: 10px; transition: box-shadow 150ms var(--ease), border-color 150ms var(--ease); }
.grant-card:hover { box-shadow: 0 2px 16px rgba(0,0,0,0.07); border-color: var(--border-med); }
.grant-card-top { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 10px; }
.grant-logo { width: 40px; height: 40px; border-radius: 8px; flex-shrink: 0; background: var(--surface-2); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 7px; font-weight: 700; color: var(--text-3); text-align: center; line-height: 1.2; }
.grant-name { font-size: 14px; font-weight: 700; color: var(--text); margin-bottom: 2px; }
.grant-org { font-size: 11px; color: var(--text-3); margin-bottom: 6px; }
.grant-badges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.grant-status { font-family: var(--font-mono); font-size: 8px; font-weight: 700; letter-spacing: 0.8px; text-transform: uppercase; padding: 3px 8px; border-radius: 4px; }
.grant-status.open { background: rgba(45,106,79,0.12); color: var(--emerald); }
.grant-status.upcoming { background: rgba(166,124,55,0.12); color: var(--amber); }
.grant-status.closed { background: rgba(0,0,0,0.06); color: var(--text-3); }
.grant-amount { font-family: var(--font-mono); font-size: 9px; font-weight: 700; color: var(--green); background: var(--green-dim); padding: 3px 8px; border-radius: 4px; }
.grant-desc { font-size: 12px; color: var(--text-2); line-height: 1.6; margin-bottom: 12px; text-wrap: pretty; }
.grant-meta { display: flex; gap: 20px; flex-wrap: wrap; }
.grant-meta-item { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); }
.grant-meta-item strong { color: var(--text); font-weight: 600; }
.grant-meta-item.deadline strong { color: var(--amber); }
.mgmt-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 72px 32px; text-align: center; border: 1px dashed var(--border); border-radius: 12px; }
.mgmt-ph-label { font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-3); margin-bottom: 10px; }
.mgmt-ph-title { font-size: 18px; font-weight: 700; color: var(--text); margin-bottom: 8px; }
.mgmt-ph-desc { font-size: 13px; color: var(--text-3); line-height: 1.6; max-width: 360px; text-wrap: pretty; }
@media print {
  @page { size: A4 landscape; margin: 0.5cm; }
  * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; box-sizing: border-box; }
  body { overflow: visible !important; height: auto !important; }

  /* Hide chrome */
  .nav-tabs, .shell-tabs, .header-meta, .app-header,
  .sidebar, .nav-tab, .sidebar-link, .artist-subtabs,
  .mgmt-subnav, .tweaks-toggle, .tweaks-panel,
  #meridianFab, .artist-switcher-wrap,
  [class*="fab"], .qa-toolbar { display: none !important; }

  /* Force all panels visible, each on its own page */
  .artist-panel,
  .wire-panel,
  .calendar-panel,
  .board-panel,
  .mgmt-panel {
    display: flex !important;
    flex-direction: column;
    break-before: page;
    min-height: 0;
    page-break-before: always;
  }

  /* Force all subpanels visible */
  .artist-subpanel,
  .mgmt-subpanel,
  .xpulse-panel { display: block !important; }

  /* Layout fixes */
  .shell, .main-content, .app-shell {
    display: block !important;
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }
  .main { overflow: visible !important; height: auto !important; }

  /* Cards don't split across pages */
  .card, .kpi-card, .signal-card, .contract-row,
  .contact-card, .feed-item { break-inside: avoid; }

  /* Remove overflow clipping */
  * { overflow: visible !important; }
  .ticker-wrap { overflow: hidden !important; }
}

/* ── SHARE CARDS PANEL — full page ── */
.cards-panel-page{display:none;flex:1;min-width:0;flex-direction:column;overflow:hidden;min-height:0}
.cards-panel-page.active{display:flex}
.cp-hdr{padding:24px 40px 18px;border-bottom:1px solid var(--border);display:flex;align-items:flex-start;justify-content:space-between;flex-shrink:0;background:var(--surface)}
.cp-hdr-left h2{font-size:20px;font-weight:700;color:var(--text);letter-spacing:-.4px}
.cp-hdr-left p{font-size:13px;color:var(--text-3);margin-top:4px}
.cp-close{font-size:12px;font-weight:500;color:var(--muted,var(--text-3));padding:7px 16px;border:1px solid var(--border);border-radius:var(--rl,100px);background:var(--surface);cursor:pointer;transition:all 120ms;font-family:var(--font-body)}
.cp-close:hover{border-color:var(--border-med);color:var(--text)}
.cp-body{flex:1;overflow-y:auto;padding:28px 40px 48px;scrollbar-width:thin}
.cp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
/* Mini plaque */
.mini-plaque{border-radius:14px;padding:3px;background:linear-gradient(145deg,#3a3a3a 0%,#1c1c1c 40%,#2e2e2e 70%,#1a1a1a 100%);box-shadow:0 2px 12px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.1);cursor:pointer;transition:transform 150ms;position:relative}
.mini-plaque::before{content:'';position:absolute;inset:0;border-radius:14px;background:repeating-linear-gradient(90deg,transparent 0px,rgba(255,255,255,.01) 1px,transparent 2px);pointer-events:none}
.mini-plaque:hover{transform:translateY(-2px)}
.mini-card{border-radius:11px;padding:14px 12px 12px;display:flex;flex-direction:column;justify-content:space-between;min-height:180px;position:relative;overflow:hidden}
.mini-card::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.07) 0%,transparent 50%);pointer-events:none;border-radius:inherit}
.mc-top{display:flex;align-items:center;gap:5px}
.mc-avatar{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.22);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:6px;font-weight:700;color:#fff;flex-shrink:0}
.mc-artist{font-family:'DM Sans',sans-serif;font-size:9px;font-weight:600;color:rgba(255,255,255,.8)}
.mc-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px 0}
.mc-eyebrow{font-family:'JetBrains Mono',monospace;font-size:5.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:7px;line-height:1.4}
.mc-number{font-family:'JetBrains Mono',monospace;font-weight:600;color:#fff;line-height:1;font-size:22px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;width:100%;text-align:center;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}
.mc-number.sm{font-size:16px}
.mc-delta{font-family:'JetBrains Mono',monospace;font-size:5.5px;color:rgba(255,255,255,.55);margin-top:5px;letter-spacing:.05em}
.mc-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:6px;border-top:1px solid rgba(255,255,255,.12)}
.mc-mark{font-family:'DM Sans',sans-serif;font-size:7px;font-weight:500;color:rgba(255,255,255,.45);display:flex;align-items:center;gap:3px}
.mc-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.3)}
.mc-vinyl{position:absolute;top:8px;right:8px;opacity:.8}
/* Share btn */
.cp-share-btn{width:100%;margin-top:10px;padding:10px;background:linear-gradient(135deg,#4a7a5e,#2D6A4F);color:#fff;border:none;border-radius:10px;font-family:var(--font-body);font-size:13px;font-weight:600;cursor:pointer;letter-spacing:-.1px;transition:all 150ms;flex-shrink:0}
.cp-share-btn:hover{opacity:.9}
.share-modal-bg{position:fixed;inset:0;z-index:800;background:rgba(0,0,0,0.4);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity 240ms cubic-bezier(0.32,0.72,0,1)}
.share-modal-bg.open{opacity:1;pointer-events:auto}
.share-modal{background:var(--surface);border-radius:20px;border:1px solid var(--border);width:100%;max-width:400px;padding:0 0 28px;transform:translateY(12px) scale(0.97);transition:transform 320ms cubic-bezier(0.32,0.72,0,1);box-shadow:0 8px 48px rgba(0,0,0,.2)}
.share-modal-bg.open .share-modal{transform:translateY(0) scale(1)}
.share-modal-handle{width:36px;height:4px;border-radius:2px;background:var(--border-med);margin:12px auto 20px}
.share-modal-title{font-size:15px;font-weight:600;color:var(--text);text-align:center;margin-bottom:20px;letter-spacing:-.2px}
.share-card-preview{width:160px;height:285px;border-radius:14px;margin:0 auto 20px;display:flex;flex-direction:column;justify-content:space-between;padding:16px 14px;position:relative;overflow:hidden;flex-shrink:0}
.share-card-preview::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.06) 0%,transparent 60%);pointer-events:none}
.sp-top{display:flex;align-items:center;justify-content:space-between}
.sp-avatar{width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:6px;font-weight:700;color:#fff;font-family:'JetBrains Mono',monospace}
.sp-artist{font-family:'DM Sans',sans-serif;font-size:8px;font-weight:600;color:#fff;margin-left:5px;flex:1;letter-spacing:-.01em}
.sp-date{font-family:'JetBrains Mono',monospace;font-size:6px;color:rgba(255,255,255,.5)}
.sp-hero{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.sp-eyebrow{font-family:'JetBrains Mono',monospace;font-size:5px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:8px;line-height:1.4}
.sp-number{font-family:'JetBrains Mono',monospace;font-weight:600;color:#fff;line-height:1;margin-bottom:6px;font-size:26px;letter-spacing:-.025em;white-space:nowrap;overflow:hidden;width:100%;text-align:center}
.sp-delta{font-family:'JetBrains Mono',monospace;font-size:6px;color:rgba(255,255,255,.65)}
.sp-bottom{display:flex;flex-direction:column;gap:5px}
.sp-rule{height:1px;background:rgba(255,255,255,.15);width:85%;align-self:center}
.sp-mark{display:flex;align-items:center;justify-content:space-between}
.sp-wordmark{font-family:'DM Sans',sans-serif;font-size:6px;font-weight:500;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:3px}
.sp-dot{width:3px;height:3px;border-radius:50%;background:rgba(255,255,255,.55)}
.sp-url{font-family:'JetBrains Mono',monospace;font-size:5px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em}
/* Format chips */
.share-formats{display:flex;gap:6px;overflow-x:auto;padding:0 24px;margin-bottom:20px;scrollbar-width:none;justify-content:center}
.share-formats::-webkit-scrollbar{display:none}
.share-fmt-chip{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;padding:7px 14px;border-radius:20px;border:1px solid var(--border);color:var(--text-3);background:var(--surface);cursor:pointer;white-space:nowrap;transition:all 150ms;flex-shrink:0}
.share-fmt-chip.active{background:var(--text);color:var(--bg);border-color:var(--text)}
/* Buttons */
.share-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 24px}
.share-save-btn{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:600;padding:13px;border-radius:12px;background:linear-gradient(135deg,#4a7a5e,#2D6A4F);color:#fff;border:none;cursor:pointer;transition:all 200ms;letter-spacing:-.1px}
.share-save-btn:hover{opacity:.9;transform:translateY(-1px)}
.share-share-btn{font-family:'DM Sans',sans-serif;font-size:14px;font-weight:500;padding:13px;border-radius:12px;background:var(--surface);color:var(--text);border:1px solid var(--border);cursor:pointer;transition:all 150ms;letter-spacing:-.1px}
.share-share-btn:hover{border-color:var(--border-med);background:var(--surface-2)}
/* Toast */
.share-toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);z-index:900;background:var(--surface);border:1px solid var(--border);border-radius:var(--rl,100px);padding:10px 18px;display:flex;align-items:center;gap:8px;font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--text);box-shadow:0 4px 24px rgba(0,0,0,.15);opacity:0;transition:all 320ms cubic-bezier(0.32,0.72,0,1);pointer-events:none}
.share-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.share-toast-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
/* Stat cell hover hint */
.stat-cell{cursor:pointer;transition:background 120ms}
.stat-cell:hover{background:rgba(45,106,79,.04)}
.stat-cell.no-share:hover{background:rgba(155,68,68,.04);cursor:pointer}.stat-cell.no-share:hover::after{display:none}.stat-cell:hover::after{content:'Share ↗';position:absolute;top:10px;right:14px;font-family:'JetBrains Mono',monospace;font-size:8px;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--green);opacity:.7}

/* ── Revenue Panel ── */
    /* ── Coinbase-style Revenue Panel ── */
    #revenuePanel .mgmt-main { background: var(--bg); }

    /* Hero total card */
    .rev-hero {
      background: linear-gradient(145deg, #0d1f14 0%, #1a3d2b 60%, #0d2318 100%);
      border-radius: 14px;
      padding: 24px 28px;
      margin-bottom: 20px;
      position: relative;
      overflow: hidden;
    }
    .rev-hero::before {
      content: '';
      position: absolute;
      inset: 0;
      background: radial-gradient(ellipse 60% 80% at 80% 50%, rgba(74,222,128,0.08) 0%, transparent 70%);
      pointer-events: none;
    }
    .rev-hero-label {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.4);
      margin-bottom: 8px;
    }
    .rev-hero-total {
      font-size: 38px;
      font-weight: 800;
      color: #fff;
      letter-spacing: -1.5px;
      line-height: 1;
      margin-bottom: 10px;
    }
    .rev-hero-delta {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-family: var(--font-mono);
      font-size: 12px;
      font-weight: 700;
      color: #4ade80;
      background: rgba(74,222,128,0.12);
      padding: 4px 10px;
      border-radius: 6px;
    }
    .rev-hero-delta.down { color: #f87171; background: rgba(248,113,113,0.12); }
    .rev-hero-sub {
      font-size: 12px;
      color: rgba(255,255,255,0.35);
      margin-top: 8px;
    }
    .rev-hero-stats {
      display: flex;
      gap: 24px;
      margin-top: 18px;
      padding-top: 16px;
      border-top: 1px solid rgba(255,255,255,0.08);
    }
    .rev-hero-stat-val {
      font-family: var(--font-mono);
      font-size: 15px;
      font-weight: 700;
      color: #fff;
      margin-bottom: 3px;
      letter-spacing: -0.3px;
    }
    .rev-hero-stat-lbl {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: rgba(255,255,255,0.35);
    }

    /* Stat cards — Coinbase style */
    .rev-stat-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 10px;
      margin-bottom: 20px;
    }
    .rev-stat-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 18px 20px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.06);
      transition: box-shadow 150ms ease, border-color 150ms ease;
    }
    .rev-stat-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,0.1); border-color: var(--border-med); }
    .rev-stat-lbl {
      font-family: var(--font-mono);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: 1.2px;
      text-transform: uppercase;
      color: var(--text-3);
      margin-bottom: 10px;
    }
    .rev-stat-val {
      font-size: 24px;
      font-weight: 800;
      color: var(--text);
      letter-spacing: -1px;
      line-height: 1;
      margin-bottom: 6px;
    }
    .rev-stat-delta { font-family: var(--font-mono); font-size: 11px; font-weight: 700; }
    .rev-stat-delta.up { color: #16a34a; }
    .rev-stat-delta.dn { color: var(--coral); }
    .rev-stat-delta.neu { color: var(--text-3); }

    /* Section cards */
    .rev-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 22px 24px;
      margin-bottom: 16px;
      box-shadow: 0 2px 10px rgba(0,0,0,0.05);
    }
    .rev-card-title {
      font-family: var(--font-mono);
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 1.5px;
      text-transform: uppercase;
      color: var(--text-3);
      margin-bottom: 18px;
    }

    /* Platform rows */
    .rev-platform-row {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 9px 0;
      border-bottom: 1px solid var(--border);
    }
    .rev-platform-row:last-child { border-bottom: none; }
    .rev-plat-name { font-size: 13px; font-weight: 600; color: var(--text); min-width: 110px; }
    .rev-plat-bar-wrap { flex: 1; height: 4px; background: var(--surface-2); border-radius: 2px; overflow: hidden; }
    .rev-plat-bar { height: 100%; border-radius: 2px; background: linear-gradient(90deg, #2D6A4F, #4ade80); transition: width 600ms ease; }
    .rev-plat-val { font-family: var(--font-mono); font-size: 12px; font-weight: 700; color: var(--text); min-width: 70px; text-align: right; }
    .rev-plat-pct { font-family: var(--font-mono); font-size: 10px; color: var(--text-3); min-width: 36px; text-align: right; }

    /* Track table */
    .rev-track-table { width: 100%; border-collapse: collapse; }
    .rev-track-table th {
      font-family: var(--font-mono);
      font-size: 8px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--text-3);
      padding: 0 0 10px;
      text-align: left;
      border-bottom: 1px solid var(--border);
    }
    .rev-track-table th.r { text-align: right; }
    .rev-track-table td {
      padding: 11px 0;
      font-size: 13px;
      color: var(--text);
      border-bottom: 1px solid var(--border);
    }
    .rev-track-table tr:last-child td { border-bottom: none; }
    .rev-track-table td.r { text-align: right; font-family: var(--font-mono); font-size: 12px; font-weight: 600; }
    .rev-track-table tr:hover td { background: var(--green-dim); }
    .rev-track-earn { color: var(--green) !important; font-weight: 700 !important; }
    .rev-track-up { color: #16a34a; }
    .rev-track-dn { color: var(--coral); }
    .rev-track-table .t-name { font-weight: 600; color: var(--text); }
    .rev-track-table .t-rev { font-family: var(--font-mono); font-weight: 700; color: var(--green); text-align: right; }
    .rev-track-table .t-streams { font-family: var(--font-mono); font-size: 11px; text-align: right; color: var(--text-2); }
    .rev-track-table .t-pps { font-family: var(--font-mono); font-size: 11px; text-align: right; color: var(--text-3); }
    .rev-track-table .t-delta { font-family: var(--font-mono); font-size: 11px; text-align: right; }
    .rev-track-table .t-delta.up { color: #16a34a; }
    .rev-track-table .t-delta.dn { color: var(--coral); }

    /* Forecast cards */
    .rev-forecast-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
    .rev-forecast-card {
      background: var(--surface-2);
      border: 1px solid var(--border);
      border-radius: 12px;
      padding: 20px;
      text-align: center;
    }
    .rev-forecast-month { font-family: var(--font-mono); font-size: 9px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: var(--text-3); margin-bottom: 10px; }
    .rev-forecast-val { font-size: 22px; font-weight: 800; color: var(--text); letter-spacing: -1px; margin-bottom: 4px; }
    .rev-forecast-tag { font-family: var(--font-mono); font-size: 9px; color: var(--text-3); }

    [data-theme="dark"] .rev-hero {
      background: linear-gradient(145deg, #070e09 0%, #0f2218 60%, #06100a 100%);
    }
    [data-theme="dark"] .rev-stat-card,
    [data-theme="dark"] .rev-card {
      background: #161412;
      border-color: rgba(255,255,255,0.07);
    }

    /* Custom select pills */
    .rev-select-wrap {
      position: relative;
      display: inline-flex;
      align-items: center;
    }
    .rev-select-wrap select {
      font-family: var(--font-mono);
      font-size: 10px;
      font-weight: 600;
      letter-spacing: 0.3px;
      padding: 6px 28px 6px 12px;
      border: 1px solid var(--border);
      border-radius: 20px;
      background: var(--surface);
      color: var(--text-2);
      outline: none;
      cursor: pointer;
      appearance: none;
      -webkit-appearance: none;
      transition: border-color 150ms, color 150ms, background 150ms;
    }
    .rev-select-wrap select:hover {
      border-color: var(--border-med);
      color: var(--text);
    }
    .rev-select-wrap select:focus {
      border-color: rgba(45,106,79,0.4);
      color: var(--text);
    }
    .rev-select-arrow {
      position: absolute;
      right: 10px;
      width: 10px;
      height: 6px;
      color: var(--text-3);
      pointer-events: none;
    }

/* ── Meridian FAB ── */
.meridian-fab {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 14px 9px 9px;
  background: #1a3d2b;
  border: none;
  border-radius: 40px;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0,0,0,0.28), 0 1px 4px rgba(0,0,0,0.18);
  transition: box-shadow 180ms ease, transform 180ms ease, background 180ms ease, opacity 250ms ease;
  color: #e8f0ea;
  font-family: var(--font-body, sans-serif);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.meridian-fab:hover {
  background: #22502f;
  box-shadow: 0 8px 32px rgba(0,0,0,0.35), 0 2px 8px rgba(0,0,0,0.2);
  transform: translateY(-1px);
}
.meridian-fab:active { transform: translateY(0); }
/* Hide while a slide-out drill panel is open so it never obstructs forms */
body:has(.drill-overlay.open) .meridian-fab {
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
}
.meridian-fab-icon {
  width: 31px;
  height: 31px;
  border-radius: 50%;
  background: rgba(255,255,255,0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.meridian-fab-icon svg { opacity: 0.9; }
.meridian-fab-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #4ade80;
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(74,222,128,0.7);
  animation: meridian-pulse 2.4s ease-in-out infinite;
}
@keyframes meridian-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.6; transform: scale(0.85); }
}
