  :root {
    color-scheme: dark;
    --bg: #070b11;
    --bg-2: #0b1017;
    --panel: #0e141c;
    --panel-2: #131a23;
    --border: rgba(148,163,184,0.13);
    --border-hi: rgba(148,163,184,0.24);
    --text: #f1f5f9;
    --muted: #7d8899;
    --muted-2: #9ca3af;
    --r-sm: 8px;
    --r-md: 12px;
    --r-lg: 16px;
    --r-xl: 20px;
    --cyan: #22d3ee;
    --green: #22c55e;
    --green-2: #4ade80;
    --gold: #fbbf24;
    --gold-2: #f59e0b;
    --red: #f87171;
    --amber: #fb923c;
    --violet: #a78bfa;
  }
  :root[data-theme="day"] {
    color-scheme: light;
    --bg: #f4f7fb;
    --bg-2: #eaf0f7;
    --panel: #ffffff;
    --panel-2: #f7f9fc;
    --border: rgba(15,23,42,0.12);
    --border-hi: rgba(15,23,42,0.24);
    --text: #172033;
    --muted: #647083;
    --muted-2: #465367;
    --cyan: #087f8c;
    --green: #15803d;
    --green-2: #168344;
    --gold: #a16207;
    --gold-2: #b45309;
    --red: #c24141;
    --amber: #c05621;
    --violet: #6d4fc2;
  }
  * { box-sizing: border-box; }
  :focus-visible {
    outline: 3px solid rgba(34,211,238,.9);
    outline-offset: 3px;
  }
  html, body { background: var(--bg); color: var(--text); font-family: 'Inter', system-ui, sans-serif; margin: 0; padding: 0; -webkit-font-smoothing: antialiased; }
  html, body, .sidebar, .rail, .main, .panel, .card, .pill, input, select, textarea {
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
  }
  body { min-width: 320px; }
  .mono { font-family: 'JetBrains Mono', monospace; }
  .num { font-variant-numeric: tabular-nums; }
  .hidden { display: none !important; }
  .skip-link {
    position: fixed; top: 10px; left: 10px; z-index: 10000;
    transform: translateY(-150%); padding: 10px 14px; border-radius: var(--r-md);
    background: var(--cyan); color: #06141c; font-size: 13px; font-weight: 800;
    text-decoration: none; transition: transform .15s ease;
  }
  .skip-link:focus { transform: translateY(0); }

  /* === PREVIEW BANNER === */
  .preview-banner {
    background: linear-gradient(90deg, rgba(34,211,238,.12), rgba(34,211,238,.04));
    border-bottom: 1px solid rgba(34,211,238,.2);
    padding: 8px 16px; display: flex; align-items: center; gap: 12px;
    font-size: 11px; font-weight: 600; color: var(--cyan); letter-spacing: .08em;
  }
  .preview-banner::before {
    content: ""; width: 6px; height: 6px; border-radius: 50%;
    background: var(--cyan); box-shadow: 0 0 8px var(--cyan);
    animation: pulse 1.4s ease-in-out infinite;
  }
  .preview-banner .right { margin-left: auto; color: var(--muted); font-weight: 500; }
  .preview-banner a { color: var(--cyan); }
  .preview-banner.hidden { display: none; }
  /* Slice 11: dynamic announcement levels */
  .preview-banner[data-level="warn"] {
    background: linear-gradient(90deg, rgba(251,146,60,.14), rgba(251,146,60,.04));
    border-bottom-color: rgba(251,146,60,.28);
    color: var(--amber);
  }
  .preview-banner[data-level="warn"]::before { background: var(--amber); box-shadow: 0 0 8px var(--amber); }
  .preview-banner[data-level="warn"] a { color: var(--amber); }
  .preview-banner[data-level="success"] {
    background: linear-gradient(90deg, rgba(74,222,128,.14), rgba(74,222,128,.04));
    border-bottom-color: rgba(74,222,128,.28);
    color: var(--green-2);
  }
  .preview-banner[data-level="success"]::before { background: var(--green-2); box-shadow: 0 0 8px var(--green-2); }
  .preview-banner[data-level="success"] a { color: var(--green-2); }
  .ann-dismiss {
    background: transparent; border: 1px solid currentColor;
    color: inherit; opacity: .6; cursor: pointer;
    width: 22px; height: 22px; border-radius: var(--r-sm);
    font-size: 14px; line-height: 1; padding: 0;
    display: grid; place-items: center;
    transition: opacity .15s;
    font-family: inherit;
  }
  .ann-dismiss:hover { opacity: 1; }
  @keyframes pulse { 50% { opacity: .35; } }

  /* === PRODUCTION RECORD TICKER === */
  .record-ticker {
    overflow: hidden;
    border-bottom: 1px solid rgba(251,191,36,.28);
    background: linear-gradient(90deg, rgba(251,191,36,.16), rgba(34,197,94,.11), rgba(34,211,238,.12));
    color: #fff7d6;
    white-space: nowrap;
  }
  .record-ticker-track {
    display: inline-flex;
    min-width: max-content;
    align-items: center;
    animation: recordTickerScroll 42s linear infinite;
    will-change: transform;
  }
  .record-ticker:hover .record-ticker-track { animation-play-state: paused; }
  .record-ticker-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 36px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .025em;
  }
  .record-ticker-item::after {
    content: "✦";
    margin-left: 28px;
    color: var(--gold);
  }
  @keyframes recordTickerScroll {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
  }
  @media (prefers-reduced-motion: reduce) {
    .record-ticker { white-space: normal; }
    .record-ticker-track { display: flex; flex-wrap: wrap; animation: none; }
    .record-ticker-item { padding: 8px 16px; }
  }

  /* === LOGIN === */
  .login-wrap {
    min-height: 100vh; display: grid; place-items: center;
    background:
      radial-gradient(circle at 80% 20%, rgba(34,211,238,.06), transparent 50%),
      radial-gradient(circle at 20% 80%, rgba(74,222,128,.04), transparent 50%),
      var(--bg);
    padding: 24px;
  }
  .login-card {
    width: 100%; max-width: 380px; padding: 34px 32px 26px;
    background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-xl);
    box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.025);
    animation: loginCardIn .42s cubic-bezier(.22,1,.36,1) both;
  }
  .login-brand {
    display: flex; flex-direction: column; align-items: center; gap: 12px; margin-bottom: 28px;
  }
  .login-mark {
    width: 64px; height: 64px; border-radius: var(--r-lg);
    background: linear-gradient(135deg, #1e293b, #0a0a0a);
    border: 1px solid rgba(255,255,255,.1);
    display: grid; place-items: center;
    box-shadow: 0 8px 24px rgba(34,211,238,.08), inset 0 1px 0 rgba(255,255,255,.08);
  }
  .login-mark span {
    font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 22px;
    background: linear-gradient(180deg, #f1f5f9, #94a3b8);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    letter-spacing: -.02em;
  }
  .login-title { font-size: 18px; font-weight: 800; letter-spacing: -.01em; text-align: center; }
  .login-sub { font-size: 11px; color: var(--cyan); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
  .field { margin-bottom: 12px; }
  .field label { display: block; font-size: 10px; color: var(--muted); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin-bottom: 6px; }
  .field input {
    width: 100%; padding: 11px 14px; background: var(--bg); border: 1px solid var(--border);
    border-radius: var(--r-md); color: var(--text); font: inherit; font-size: 14px;
    outline: none; transition: border-color .15s;
  }
  .field input:hover { border-color: var(--border-hi); }
  .field input:focus {
    border-color: var(--cyan);
    box-shadow: 0 0 0 3px rgba(34,211,238,.08), 0 0 22px rgba(34,211,238,.04);
  }
  .password-wrap { position: relative; }
  .password-wrap input { padding-right: 50px; }
  .password-toggle {
    position: absolute; right: 7px; top: 50%; transform: translateY(-50%);
    width: 34px; height: 34px; display: grid; place-items: center;
    border: 0; border-radius: var(--r-sm); padding: 0; background: transparent;
    color: var(--muted-2); cursor: pointer; transition: color .15s ease, background-color .15s ease;
  }
  .password-toggle:hover { color: var(--cyan); background: rgba(34,211,238,.08); }
  .password-toggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .password-toggle .eye-closed { display: none; }
  .password-toggle[aria-pressed="true"] .eye-open { display: none; }
  .password-toggle[aria-pressed="true"] .eye-closed { display: block; }
  .remember-name {
    display: inline-flex; align-items: center; gap: 8px; margin: 1px 0 4px;
    color: var(--muted-2); font-size: 11px; font-weight: 600; cursor: pointer;
  }
  .remember-name input { width: 14px; height: 14px; margin: 0; accent-color: var(--cyan); }
  .login-btn {
    width: 100%; min-height: 44px; margin-top: 8px; padding: 12px;
    background: var(--cyan); color: #06141c; border: none; border-radius: var(--r-md);
    font: inherit; font-size: 14px; font-weight: 800; cursor: pointer;
    display: flex; align-items: center; justify-content: center; gap: 9px;
    box-shadow: 0 8px 24px rgba(34,211,238,.12);
    transition: transform .15s ease, filter .15s ease, box-shadow .15s ease;
  }
  .login-btn:hover:not(:disabled) { filter: brightness(1.06); transform: translateY(-1px); box-shadow: 0 11px 28px rgba(34,211,238,.18); }
  .login-btn:active:not(:disabled) { transform: translateY(1px); box-shadow: 0 5px 16px rgba(34,211,238,.12); }
  .login-btn:disabled { cursor: wait; opacity: .78; }
  .login-btn-spinner { display: none; width: 15px; height: 15px; border: 2px solid rgba(6,20,28,.25); border-top-color: #06141c; border-radius: 50%; animation: spin .7s linear infinite; }
  .login-btn.is-busy .login-btn-spinner { display: block; }
  .login-error { font-size: 12px; color: var(--red); margin-top: 9px; min-height: 17px; text-align: center; font-weight: 600; line-height: 1.4; }
  .login-help { font-size: 11px; color: var(--muted-2); text-align: center; }
  .login-foot {
    margin-top: 16px; padding-top: 15px; border-top: 1px solid var(--border);
    display: flex; align-items: center; justify-content: center; gap: 6px;
    font-size: 10px; color: var(--muted); text-align: center; letter-spacing: .025em;
  }
  .dashboard-rules-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
  .cd-section > summary::-webkit-details-marker { display:none; }
  .cd-month-chevron { color:var(--muted); transition:transform .18s ease; }
  .cd-section:not([open]) .cd-month-chevron { transform:rotate(-90deg); }
  @media (max-width: 600px) {
    .dashboard-rules-grid { grid-template-columns:1fr; }
  }
  @keyframes loginCardIn {
    from { opacity: 0; transform: translateY(12px) scale(.985); }
    to { opacity: 1; transform: translateY(0) scale(1); }
  }

  /* === LOADING === */
  .loading-wrap { min-height: 100vh; display: grid; place-items: center; }
  .loading { display: flex; flex-direction: column; align-items: center; gap: 14px; color: var(--muted); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; font-weight: 700; }
  .spinner {
    width: 28px; height: 28px; border-radius: 50%;
    border: 2px solid rgba(255,255,255,.08); border-top-color: var(--cyan);
    animation: spin .8s linear infinite;
  }
  @keyframes spin { to { transform: rotate(360deg); } }

  @media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
      scroll-behavior: auto !important;
      animation-duration: .01ms !important;
      animation-iteration-count: 1 !important;
      transition-duration: .01ms !important;
    }
  }

  /* === APP SHELL === */
  .app { display: grid; grid-template-columns: 240px 1fr 340px; min-height: calc(100vh - 32px); background: var(--bg); }
  .app.rail-wide { grid-template-columns: 240px 1fr 420px; }
  .app.rail-wide .rail-lb-row { padding: 7px 0; font-size:13.5px; }
  .app.rail-wide .rail-ava { width: 34px !important; height: 34px !important; font-size:12px !important; }
  .app.rail-wide .rail-lb-val { font-size:13.5px; }
  .app.rail-wide .rail-lb-rankc { width: 20px; height: 20px; font-size:12px; }

  /* === SIDEBAR === */
  .sidebar { background: var(--bg-2); border-right: 1px solid var(--border); display: flex; flex-direction: column; position: sticky; top: 0; height: 100vh; align-self: start; }
  .brand { padding: 24px 20px 20px; display: flex; flex-direction: column; align-items: center; gap: 10px; border-bottom: 1px solid var(--border); }
  .brand-mark {
    width: 56px; height: 56px; border-radius: var(--r-lg);
    background: linear-gradient(135deg, #1e293b 0%, #0a0a0a 100%);
    border: 1px solid rgba(255,255,255,.1);
    display: grid; place-items: center;
    box-shadow: 0 8px 24px rgba(34,211,238,.08), inset 0 1px 0 rgba(255,255,255,.08);
    position: relative; overflow: hidden;
  }
  .brand-mark::before {
    content: ""; position: absolute; inset: 0;
    background: radial-gradient(circle at 30% 30%, rgba(34,211,238,.15), transparent 60%);
  }
  .brand-mark span {
    position: relative;
    font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 18px;
    background: linear-gradient(180deg, #f1f5f9 0%, #94a3b8 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    letter-spacing: -.02em;
  }
  .brand-name { font-size: 14px; font-weight: 800; letter-spacing: -.01em; text-align: center; }
  .brand-tag { font-size: 10px; font-weight: 600; letter-spacing: .22em; color: var(--muted); text-transform: uppercase; }

  .nav { padding: 14px 12px; flex: 1; display: flex; flex-direction: column; gap: 2px; overflow-y: auto; min-height: 0; }
  .nav-section { font-size: 10px; font-weight: 700; letter-spacing: .18em; color: var(--muted); text-transform: uppercase; padding: 14px 12px 6px; }
  .nav-item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 12px; border-radius: var(--r-md); cursor: pointer;
    color: var(--muted-2); font-size: 13px; font-weight: 500;
    border: 1px solid transparent; transition: all .15s;
    background: none; width: 100%; text-align: left; font-family: inherit;
  }
  .nav-item:hover { background: rgba(255,255,255,.03); color: var(--text); }
  .nav-item.active {
    background: linear-gradient(90deg, rgba(34,211,238,.12), rgba(34,211,238,.02));
    color: var(--cyan); border-color: rgba(34,211,238,.2);
  }
  .nav-item .ico { width: 16px; height: 16px; opacity: .8; flex-shrink: 0; }
  .nav-item.active .ico { opacity: 1; }

  .sidebar-foot { padding: 12px; border-top: 1px solid var(--border); flex-shrink: 0; }
  .me-card { padding: 10px; border-radius: var(--r-md); background: var(--panel); border: 1px solid var(--border); display: flex; align-items: center; gap: 10px; }
  .me-avatar { width: 36px; height: 36px; border-radius: var(--r-md); display: grid; place-items: center; font-weight: 700; font-size: 13px; flex-shrink: 0; color: #fff; overflow: hidden; }
  .me-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .me-info { flex: 1; min-width: 0; }
  .me-info .nm { font-size: 13px; font-weight: 600; }
  .me-info .rl { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
  .logout-btn { background: transparent; border: 1px solid var(--border); color: var(--muted); padding: 6px 8px; border-radius: var(--r-sm); font: inherit; font-size: 10px; font-weight: 700; cursor: pointer; letter-spacing: .08em; text-transform: uppercase; }
  .logout-btn:hover { color: var(--text); border-color: var(--border-hi); }

  .goal-card { margin-top: 10px; padding: 12px; border-radius: var(--r-md); background: var(--panel); border: 1px solid var(--border); }
  .goal-head { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 8px; }
  .goal-head .l { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
  .goal-head .pct { font-size: 11px; color: var(--green-2); font-weight: 700; }
  .goal-vals { display: flex; align-items: baseline; gap: 6px; margin-bottom: 10px; }
  .goal-vals .cur { font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
  .goal-vals .tgt { font-size: 11px; color: var(--muted); }
  .goal-bar { height: 6px; background: rgba(255,255,255,.06); border-radius: 999px; overflow: hidden; }
  .goal-bar > div { height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green-2)); border-radius: 999px; }

  /* === MAIN === */
  .main { padding: 20px 28px 40px; overflow-y: auto; min-width: 0; }
  .topbar { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
  .greet .hi { font-size: 13px; color: var(--muted-2); font-weight: 500; }
  .greet .who { font-size: 16px; font-weight: 700; letter-spacing: -.01em; }
  .topbar-tools { margin-left: auto; display: flex; gap: 8px; }
  .pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border-radius: var(--r-md); background: var(--panel); border: 1px solid var(--border); font-size: 12px; font-weight: 600; color: var(--text); cursor: pointer; }
  .theme-toggle { min-width: 76px; justify-content: center; font-family: inherit; }
  .theme-toggle:hover { border-color: var(--cyan); color: var(--cyan); }
  .theme-toggle span:first-child { font-size: 15px; line-height: 1; }

  :root[data-theme="day"] .nav-item:hover { background: rgba(15,23,42,.05); }
  :root[data-theme="day"] .goal-bar { background: rgba(15,23,42,.10); }
  :root[data-theme="day"] .record-ticker { color: #5f4300; }
  :root[data-theme="day"] .hero {
    background:
      radial-gradient(circle at 90% 20%, rgba(8,127,140,.12), transparent 52%),
      radial-gradient(circle at 10% 90%, rgba(22,131,68,.08), transparent 46%),
      linear-gradient(145deg, #ffffff 0%, #edf7f8 100%);
    border-color: rgba(8,127,140,.18);
    box-shadow: 0 12px 32px rgba(15,23,42,.07);
  }
  :root[data-theme="day"] .hero::before {
    background-image:
      linear-gradient(to right, rgba(15,23,42,.035) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(15,23,42,.035) 1px, transparent 1px);
  }
  :root[data-theme="day"] .hero h1 {
    background: linear-gradient(180deg, #172033 0%, #40516a 120%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  }
  :root[data-theme="day"] .hero-meta { border-top-color: rgba(15,23,42,.12); }
  :root[data-theme="day"] .today-card {
    background: linear-gradient(135deg, #f7fcfd, #f3faf6);
    border-color: rgba(8,127,140,.22);
    box-shadow: 0 8px 24px rgba(15,23,42,.05);
  }
  :root[data-theme="day"] .today-item {
    background: #ffffff;
    border-color: rgba(15,23,42,.13);
    box-shadow: 0 5px 16px rgba(15,23,42,.07);
  }
  :root[data-theme="day"] .pf-header {
    background:
      radial-gradient(circle at 85% 25%, rgba(8,127,140,.12), transparent 48%),
      linear-gradient(145deg, #ffffff 0%, #edf7f8 100%);
    border-color: rgba(8,127,140,.18);
    box-shadow: 0 12px 32px rgba(15,23,42,.07);
  }
  :root[data-theme="day"] .pf-coded-date { background: rgba(15,23,42,.04); }
  :root[data-theme="day"] .pf-rank-tile { border-left-color: rgba(15,23,42,.13); }
  :root[data-theme="day"] .pf-vip-strip-bar,
  :root[data-theme="day"] .kpi-bar,
  :root[data-theme="day"] .pf-weeks-bar .track { background: rgba(15,23,42,.10); }
  :root[data-theme="day"] .login-mark,
  :root[data-theme="day"] .brand-mark { box-shadow: 0 8px 24px rgba(8,127,140,.12), inset 0 1px 0 rgba(255,255,255,.18); }

  @media (max-width: 700px) {
    .theme-toggle { min-width: 42px; padding-inline: 10px; }
    .theme-toggle #themeToggleLabel { display: none; }
    :root[data-theme="day"] .mobile-tabbar {
      background: rgba(255,255,255,.96);
      border-color: rgba(15,23,42,.14);
      box-shadow: 0 14px 36px rgba(15,23,42,.18);
    }
    :root[data-theme="day"] .mobile-tab.active { background: rgba(8,127,140,.10); }
  }

  /* === HERO === */
  .hero {
    position: relative; padding: 36px 32px; border-radius: var(--r-xl); margin-bottom: 20px;
    background:
      radial-gradient(circle at 90% 20%, rgba(34,211,238,.10), transparent 50%),
      radial-gradient(circle at 10% 90%, rgba(74,222,128,.06), transparent 50%),
      linear-gradient(180deg, #0a0a0a 0%, #000000 100%);
    border: 1px solid var(--border); overflow: hidden;
  }
  .hero::before {
    content: ""; position: absolute; inset: 0;
    background-image:
      linear-gradient(to right, rgba(255,255,255,.025) 1px, transparent 1px),
      linear-gradient(to bottom, rgba(255,255,255,.025) 1px, transparent 1px);
    background-size: 48px 48px; opacity: .6; pointer-events: none;
  }
  .hero-eyebrow {
    position: relative; display: inline-flex; align-items: center; gap: 8px;
    font-size: 10px; font-weight: 700; letter-spacing: .28em; text-transform: uppercase;
    color: var(--cyan); margin-bottom: 18px;
  }
  .hero-eyebrow::before { content: ""; width: 24px; height: 1px; background: linear-gradient(90deg, transparent, var(--cyan)); }
  .hero h1 {
    position: relative; font-size: 56px; font-weight: 900; letter-spacing: -.035em; line-height: .95;
    background: linear-gradient(180deg, #f1f5f9 0%, #64748b 130%);
    -webkit-background-clip: text; background-clip: text; color: transparent;
    margin: 0 0 14px;
  }
  .hero p { position: relative; color: var(--muted-2); font-size: 14px; font-weight: 500; letter-spacing: .08em; max-width: 560px; margin: 0; }
  .hero-meta { position: relative; display: flex; gap: 20px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--border); flex-wrap: wrap; }
  .hero-meta .item { display: flex; flex-direction: column; gap: 2px; }
  .hero-meta .l { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
  .hero-meta .v { font-size: 14px; font-weight: 700; }
  .hero-meta .v.cyan { color: var(--cyan); }
  .hero-meta .v.green { color: var(--green-2); }

  /* === STAT CARDS === */
  .stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 20px; }
  .stat { padding: 18px; border-radius: var(--r-lg); background: var(--panel); border: 1px solid var(--border); position: relative; overflow: hidden; }
  .stat::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: var(--accent, var(--cyan)); opacity: .6; }
  .stat[data-c="green"] { --accent: var(--green); }
  .stat[data-c="cyan"] { --accent: var(--cyan); }
  .stat[data-c="violet"] { --accent: var(--violet); }
  .stat[data-c="amber"] { --accent: var(--gold); }
  .stat-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; }
  .stat-icon { width: 36px; height: 36px; border-radius: var(--r-md); background: rgba(255,255,255,.04); border: 1px solid var(--border); display: grid; place-items: center; color: var(--accent, var(--cyan)); }
  .stat-spark { width: 80px; height: 28px; }
  .stat-label { font-size: 10px; color: var(--muted); font-weight: 700; letter-spacing: .18em; text-transform: uppercase; margin-bottom: 6px; }
  .stat-row { display: flex; align-items: baseline; gap: 8px; }
  .stat-val { font-size: 28px; font-weight: 800; letter-spacing: -.025em; }
  .stat-delta { font-size: 11px; font-weight: 700; padding: 3px 7px; border-radius: var(--r-sm); }
  .stat-delta.up { background: rgba(34,197,94,.12); color: var(--green-2); }
  .stat-delta.dn { background: rgba(248,113,113,.12); color: var(--red); }
  .stat-delta.flat { background: rgba(255,255,255,.04); color: var(--muted); }
  .stat-sub { font-size: 12px; color: var(--muted); margin-top: 4px; }

  /* === CARDS === */
  .card { background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); margin-bottom: 16px; }
  .card-head { padding: 18px 20px; display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--border); }
  .card-title { font-size: 14px; font-weight: 700; letter-spacing: -.01em; display: flex; align-items: center; gap: 10px; }
  .live-dot { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 700; color: var(--cyan); letter-spacing: .12em; text-transform: uppercase; }
  .live-dot::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); animation: pulse 1.4s ease-in-out infinite; }
  .card-sub { font-size: 12px; color: var(--muted); margin-top: 4px; }
  .ghost-btn { padding: 7px 12px; border-radius: var(--r-sm); border: 1px solid var(--border); background: rgba(255,255,255,.02); color: var(--text); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
  .cyan-btn { padding: 7px 12px; border-radius: var(--r-sm); border: 1px solid rgba(34,211,238,.3); background: rgba(34,211,238,.1); color: var(--cyan); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }

  /* === ADMIN HUB === */
  .adm-toolbar { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; padding: 12px 16px; border-radius: var(--r-md); background: var(--panel); border: 1px solid var(--border); flex-wrap: wrap; }
  .adm-toolbar-label { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .14em; font-weight: 700; margin-right: auto; }
  .adm-card { padding: 0; margin-bottom: 14px; }
  .adm-card > summary { list-style: none; padding: 16px 20px; cursor: pointer; display: flex; align-items: center; gap: 12px; user-select: none; transition: background .15s ease; }
  .adm-card > summary::-webkit-details-marker { display: none; }
  .adm-card > summary::marker { content: ''; }
  .adm-card > summary:hover { background: rgba(255,255,255,.03); }
  .adm-card[open] > summary { border-bottom: 1px solid var(--border); }
  .adm-card > summary > .adm-chevron { margin-left: auto; color: var(--muted); font-size: 13px; transition: transform .2s ease; display: inline-block; line-height: 1; }
  .adm-card[open] > summary > .adm-chevron { transform: rotate(90deg); }
  .adm-card > summary > .adm-count { font-size: 11px; color: var(--muted); font-family: 'JetBrains Mono', monospace; padding: 3px 9px; border-radius: var(--r-sm); background: rgba(255,255,255,.04); border: 1px solid var(--border); }
  .adm-card > summary > .adm-title-group { display: flex; flex-direction: column; gap: 3px; min-width: 0; flex: 1; }
  .adm-card > summary .adm-card-title { font-size: 14px; font-weight: 700; letter-spacing: -.01em; }
  .adm-card > summary .adm-subtitle { font-size: 12px; color: var(--muted); font-weight: 400; }
  .adm-card > .adm-body { padding: 18px 20px; }

  .adm-input, .adm-select { padding: 10px 12px; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--bg-2); color: var(--text); font: inherit; font-size: 13px; }
  .adm-input:focus, .adm-select:focus { outline: none; border-color: rgba(34,211,238,.4); }

  .adm-btn { padding: 8px 14px; border-radius: var(--r-md); border: 1px solid var(--border); background: rgba(255,255,255,.04); color: var(--text); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; transition: .15s; }
  .adm-btn:hover { background: rgba(255,255,255,.08); }
  .adm-btn:disabled { opacity: .4; cursor: not-allowed; }
  .adm-btn-cyan { border-color: rgba(34,211,238,.35); background: rgba(34,211,238,.1); color: var(--cyan); }
  .adm-btn-cyan:hover { background: rgba(34,211,238,.18); }
  .adm-btn-danger { border-color: rgba(248,113,113,.35); color: var(--red); }
  .adm-btn-danger:hover { background: rgba(248,113,113,.1); }

  .adm-table-wrap { max-height: 560px; overflow: auto; border: 1px solid var(--border); border-radius: var(--r-md); }
  .adm-table { width: 100%; min-width: 900px; border-collapse: separate; border-spacing: 0; }
  .adm-table th { position: sticky; top: 0; z-index: 2; background: var(--panel-2); border-bottom: 1px solid var(--border); padding: 10px 12px; text-align: left; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--muted); }
  .adm-table td { padding: 10px 12px; border-bottom: 1px solid rgba(255,255,255,.04); font-size: 13px; }
  .adm-table tr.hidden-row { background: rgba(255,255,255,.015); opacity: .7; }
  .adm-table .agent-cell { display: flex; align-items: center; gap: 10px; }
  .adm-table .agent-avatar { width: 32px; height: 32px; border-radius: var(--r-md); background: rgba(34,211,238,.15); border: 1px solid rgba(34,211,238,.25); display: grid; place-items: center; font-weight: 800; color: var(--cyan); font-size: 11px; flex-shrink: 0; }
  .adm-table .agent-name { font-weight: 600; font-size: 13px; }
  .adm-table .agent-id { font-size: 10px; color: var(--muted-2); font-family: 'JetBrains Mono', monospace; margin-top: 2px; }
  .adm-table .dirty-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--gold); margin-left: 6px; vertical-align: middle; }
  .adm-table .row-select { font-size: 12px; padding: 6px 8px; width: 100%; max-width: 100%; }

  /* Admin Hub modal */
  .adm-modal-bg { display: none; position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.7); backdrop-filter: blur(4px); align-items: center; justify-content: center; padding: 20px; }
  .adm-modal-bg.open { display: flex; }
  .adm-modal { width: 100%; max-width: 560px; max-height: 90vh; overflow: auto; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); }
  .adm-modal-head { padding: 18px 20px; border-bottom: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
  .adm-modal-title { font-size: 15px; font-weight: 700; color: var(--text); }
  .adm-modal-sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
  .adm-modal-body { padding: 20px; }
  .adm-modal-close { background: none; border: none; color: var(--muted); font-size: 22px; cursor: pointer; padding: 0 8px; line-height: 1; }
  .adm-modal-close:hover { color: var(--text); }

  /* Status messages inside Admin Hub */
  .adm-status { font-size: 12px; min-height: 18px; color: var(--muted); }
  .adm-status.ok { color: var(--green); }
  .adm-status.warn { color: var(--amber); }
  .adm-status.err { color: var(--red); }

  /* Slice 3: Net Business import labels + badges */
  .adm-mini-label { display: block; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .1em; font-weight: 700; margin-bottom: 4px; }
  .adm-badge { display: inline-block; font-size: 10px; padding: 2px 8px; border-radius: var(--r-sm); font-weight: 700; letter-spacing: .04em; font-family: 'JetBrains Mono', monospace; }
  .adm-badge.new { color: var(--green-2); background: rgba(74,222,128,.1); border: 1px solid rgba(74,222,128,.25); }
  .adm-badge.overwrite { color: var(--gold); background: rgba(251,191,36,.1); border: 1px solid rgba(251,191,36,.3); }
  .adm-badge.warn { color: var(--amber); background: rgba(251,146,60,.1); border: 1px solid rgba(251,146,60,.3); }
  .adm-badge.err { color: var(--red); background: rgba(248,113,113,.1); border: 1px solid rgba(248,113,113,.3); }
  .adm-row-x { background: none; border: none; color: var(--muted); font-size: 16px; cursor: pointer; padding: 2px 6px; line-height: 1; }
  .adm-row-x:hover { color: var(--red); }

  /* Slice 5: EOM holiday chips */
  .eom-chip { display: inline-flex; align-items: center; gap: 6px; padding: 6px 10px 6px 12px; border-radius: 999px; background: rgba(251,146,60,.08); border: 1px solid rgba(251,146,60,.25); color: var(--amber); font-size: 12px; font-weight: 600; font-family: 'JetBrains Mono', monospace; }
  .eom-chip .eom-chip-x { background: none; border: none; color: var(--amber); opacity: .6; cursor: pointer; font-size: 14px; line-height: 1; padding: 0 2px; }
  .eom-chip .eom-chip-x:hover { opacity: 1; }

  /* ── Admin Hub redesign (Option B): groups + search + unified tabs ── */
  .adm-search-wrap { position: relative; margin-bottom: 22px; }
  .adm-search-input {
    width: 100%;
    padding: 14px 18px 14px 46px;
    border-radius: var(--r-lg);
    border: 1px solid var(--border);
    background: var(--panel);
    color: var(--text);
    font: inherit;
    font-size: 14px;
    transition: border-color .15s ease, background .15s ease;
  }
  .adm-search-input:focus { outline: none; border-color: rgba(34,211,238,.45); background: var(--panel-2); }
  .adm-search-icon { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: var(--muted); font-size: 16px; pointer-events: none; }
  .adm-search-clear { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; color: var(--muted); cursor: pointer; font-size: 18px; line-height: 1; padding: 4px 8px; border-radius: var(--r-sm); display: none; }
  .adm-search-clear:hover { background: rgba(255,255,255,.06); color: var(--text); }
  .adm-search-wrap.has-value .adm-search-clear { display: block; }

  .adm-group { margin-bottom: 28px; }
  .adm-group-header {
    display: flex; align-items: baseline; gap: 12px;
    margin-bottom: 12px; padding: 0 4px;
  }
  .adm-group-label {
    font-size: 11px; color: var(--muted-2); font-weight: 700;
    letter-spacing: .14em; text-transform: uppercase;
  }
  .adm-group-rule { flex: 1; height: 1px; background: var(--border); }
  .adm-group-grid {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-items: start;
  }
  /* An OPEN card spans the full row so its form/table has room to breathe.
     Closed cards stay in the tidy 2-up grid. */
  .adm-group-grid .adm-card[open] { grid-column: 1 / -1; }
  /* When search matches a card, force it full-width so its body has room */
  .adm-group-grid .adm-card.search-match-expanded { grid-column: 1 / -1; }
  /* Fade non-matches during active search */
  .adm-group-grid .adm-card.search-dim { opacity: .25; pointer-events: none; }
  .adm-group.search-hidden { display: none; }

  /* Danger card variant — for one-shot migrations */
  .adm-card.adm-card-danger { border-color: rgba(248,113,113,.32); background: linear-gradient(180deg, rgba(248,113,113,.04), transparent); }
  .adm-card.adm-card-danger > summary:hover { background: rgba(248,113,113,.05); }
  .adm-card-danger-badge { display: inline-block; font-size: 10px; padding: 2px 8px; border-radius: var(--r-sm); background: rgba(248,113,113,.12); color: var(--red); border: 1px solid rgba(248,113,113,.35); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-left: 8px; }

  /* Unified card with internal CSV/Manual tabs */
  .adm-unified-tabs { display: flex; gap: 4px; padding: 4px; border-radius: var(--r-md); background: rgba(255,255,255,.04); border: 1px solid var(--border); margin-bottom: 18px; width: fit-content; }
  .adm-unified-tab {
    background: none; border: none; padding: 8px 16px; border-radius: var(--r-md);
    color: var(--muted); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer;
    transition: .15s;
  }
  .adm-unified-tab:hover { color: var(--text); }
  .adm-unified-tab.on { background: var(--cyan); color: #06141c; }
  .adm-unified-pane { display: none; }
  .adm-unified-pane.on { display: block; }

  /* Responsive entry-form row: fields wrap instead of crushing.
     Each field gets a sensible min width; the Stage button sits at the end. */
  .adm-entry-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    align-items: end;
    margin-bottom: 12px;
  }
  .adm-entry-grid .adm-entry-action { display: flex; align-items: end; }
  .adm-entry-grid .adm-entry-action .adm-btn { height: 38px; white-space: nowrap; }
  /* Narrow fields (level, count) don't need the full 150px */
  .adm-entry-grid .adm-entry-narrow { min-width: 90px; }

  /* Mobile: collapse the 2-col grid */
  @media (max-width: 900px) {
    .adm-group-grid { grid-template-columns: 1fr; }
  }

  /* Slice 6: Codes Detail view */
  .cd-section { margin-bottom: 14px; }
  .cd-rows { padding: 4px 18px 18px; display: flex; flex-direction: column; gap: 10px; }
  .cd-row { display: grid; grid-template-columns: 180px 1fr auto; gap: 14px; align-items: flex-start; padding: 12px 14px; border-radius: var(--r-md); background: rgba(255,255,255,.02); border: 1px solid var(--border); }
  .cd-row-mgr { min-width: 0; }
  .cd-row-mgr-name { font-size: 13px; font-weight: 700; color: var(--text); }
  .cd-row-mgr-count { font-size: 11px; color: var(--muted); margin-top: 2px; font-variant-numeric: tabular-nums; }
  .cd-row-pills { display: flex; flex-wrap: wrap; gap: 6px; min-height: 28px; align-items: center; }
  .cd-pill { display: inline-block; padding: 4px 10px; border-radius: 999px; background: rgba(74,222,128,.1); border: 1px solid rgba(74,222,128,.3); color: var(--green-2); font-size: 12px; font-weight: 600; }
  @media (max-width: 720px) {
    .cd-row { grid-template-columns: 1fr; gap: 8px; }
  }

  /* Slice 6.5: Hires table */
  .hire-table { padding: 4px 0 14px; }
  .hire-head { display: grid; grid-template-columns: 44px 1fr 64px 72px 72px 110px; gap: 14px; padding: 8px 18px; font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; border-bottom: 1px solid var(--border); }
  .hire-head .num { text-align: right; }
  .hire-row { display: grid; grid-template-columns: 44px 1fr 64px 72px 72px 110px; gap: 14px; align-items: center; padding: 12px 18px; border-bottom: 1px solid var(--border); transition: background .15s; }
  .hire-row.expandable { cursor: pointer; }
  .hire-row.expandable:hover { background: rgba(255,255,255,.02); }
  .hire-row .num { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
  .hire-rank { width: 28px; height: 28px; border-radius: var(--r-sm); background: rgba(255,255,255,.04); border: 1px solid var(--border); display: grid; place-items: center; font-size: 12px; font-weight: 700; color: var(--muted-2); font-variant-numeric: tabular-nums; }
  .hire-rank.gold { background: rgba(251,191,36,.12); border-color: rgba(251,191,36,.4); color: var(--gold); }
  .hire-mga { font-size: 13px; min-width: 0; }
  .hire-mga-name { color: var(--text); font-weight: 700; }
  .hire-mga-subcount { margin-left: 8px; font-size: 12px; color: var(--muted-2); font-weight: 500; }
  .hire-ytd { font-size: 14px; }
  .hire-ytd.top { color: var(--gold); }
  .hire-spark-cell { display: flex; align-items: center; justify-content: flex-end; }
  .hire-sub-wrap { background: rgba(167,139,250,.04); border-bottom: 1px solid var(--border); }
  .hire-sub-row { padding: 8px 18px; border-bottom: 1px dashed rgba(255,255,255,.05); font-size: 12px; }
  .hire-sub-row:last-child { border-bottom: none; }
  .hire-sub-name { color: var(--text); }
  .hire-self-pill { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 999px; background: rgba(167,139,250,.15); border: 1px solid rgba(167,139,250,.3); color: var(--violet); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
  .hire-spark { display: block; }
  @media (max-width: 720px) {
    .hire-head, .hire-row { grid-template-columns: 36px 1fr 50px 60px; }
    .hire-head > div:nth-child(5), .hire-head > div:nth-child(6),
    .hire-row > div:nth-child(5), .hire-row > div:nth-child(6) { display: none; }
  }

  /* Profile · Hires tab: week-by-week list */
  .hire-wk-list { padding: 4px 0 14px; }
  .hire-wk-row { display: grid; grid-template-columns: 1fr 80px; gap: 14px; align-items: center; padding: 12px 18px; border-bottom: 1px solid var(--border); }
  .hire-wk-row:last-child { border-bottom: none; }
  .hire-wk-row.current { background: rgba(34,211,238,.04); }
  .hire-wk-date { font-size: 13px; color: var(--text); font-variant-numeric: tabular-nums; }
  .hire-wk-count { font-size: 14px; font-weight: 700; color: var(--text); font-variant-numeric: tabular-nums; }

  /* Profile · Codes tab: month-by-month list */
  .pf-codes-list { padding: 4px 0 14px; }
  .pf-codes-row { display: grid; grid-template-columns: 180px 1fr; gap: 14px; align-items: flex-start; padding: 14px 18px; border-bottom: 1px solid var(--border); }
  .pf-codes-row:last-child { border-bottom: none; }
  .pf-codes-row.current { background: rgba(74,222,128,.04); }
  .pf-codes-month { min-width: 0; }
  .pf-codes-month-label { font-size: 13px; font-weight: 700; color: var(--text); }
  .pf-codes-month-count { font-size: 11px; color: var(--muted); margin-top: 2px; font-variant-numeric: tabular-nums; }
  .pf-codes-pills { display: flex; flex-wrap: wrap; gap: 6px; min-height: 28px; align-items: center; }
  @media (max-width: 720px) {
    .pf-codes-row { grid-template-columns: 1fr; gap: 8px; }
  }

  /* Slice 7: hire-to-code ratio dot */
  .ratio-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; }
  .ratio-dot.good { background: var(--green-2); box-shadow: 0 0 6px rgba(74,222,128,.5); }
  .ratio-dot.warn { background: var(--amber); box-shadow: 0 0 6px rgba(251,191,36,.5); }
  .ratio-dot.bad  { background: var(--red); box-shadow: 0 0 6px rgba(248,113,113,.5); }
  .ratio-dot.none { background: rgba(255,255,255,.15); }

  /* Slice 7: YoY pills (Devin only) */
  .yoy-pill { padding: 12px 14px; border-radius: var(--r-md); background: rgba(255,255,255,.02); border: 1px solid var(--border); }
  .yoy-pill.up { border-color: rgba(74,222,128,.3); background: rgba(74,222,128,.05); }
  .yoy-pill.dn { border-color: rgba(248,113,113,.3); background: rgba(248,113,113,.05); }
  .yoy-pill.flat { border-color: rgba(148,163,184,.3); background: rgba(148,163,184,.04); }
  .yoy-pill-label { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .14em; font-weight: 700; margin-bottom: 6px; }
  .yoy-pill-numbers { display: flex; align-items: baseline; gap: 8px; }
  .yoy-this { font-size: 22px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .yoy-vs { font-size: 11px; color: var(--muted); }
  .yoy-prior { font-size: 14px; color: var(--muted-2); font-variant-numeric: tabular-nums; }
  .yoy-pill-delta { margin-top: 4px; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
  .yoy-pill.up .yoy-pill-delta { color: var(--green-2); }
  .yoy-pill.dn .yoy-pill-delta { color: var(--red); }
  .yoy-pill.flat .yoy-pill-delta { color: var(--muted); }

  /* Events and goal progress */
  .dashboard-event-progress, .event-personal-progress {
    margin-bottom: 16px; padding: 18px; border-radius: var(--r-lg);
    border: 1px solid rgba(34,211,238,.26);
    background: linear-gradient(135deg, rgba(34,211,238,.08), rgba(74,222,128,.05));
  }
  .event-progress-head { display:flex; justify-content:space-between; align-items:flex-start; gap:14px; margin-bottom:16px; }
  .event-progress-kicker { color:var(--cyan); font-size:10px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; margin-bottom:4px; }
  .event-progress-title { color:var(--text); font-size:18px; font-weight:800; letter-spacing:-.01em; }
  .event-progress-numbers { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:10px; }
  .event-progress-numbers strong { font-size:26px; letter-spacing:-.03em; font-variant-numeric:tabular-nums; }
  .event-progress-numbers span, .event-progress-foot { color:var(--muted-2); font-size:11px; font-variant-numeric:tabular-nums; }
  .event-scope-progress + .event-scope-progress { margin-top:14px; padding-top:14px; border-top:1px solid var(--border); }
  .event-scope-line { display:flex; justify-content:space-between; gap:12px; align-items:baseline; margin-bottom:8px; }
  .event-scope-line strong { font-size:13px; color:var(--text); }
  .event-scope-line span { font-size:11px; color:var(--muted-2); font-variant-numeric:tabular-nums; }
  .event-mga-grid { margin:0 18px 14px; padding:14px; border:1px solid var(--border); border-radius: var(--r-md); background:rgba(255,255,255,.015); }
  .comp-manager-goal-row { display:grid; grid-template-columns:1fr 180px; gap:12px; align-items:center; padding:8px 10px; border:1px solid var(--border); border-radius: var(--r-md); margin-bottom:7px; }
  .comp-manager-goal-row span { display:flex; flex-direction:column; gap:2px; font-size:12px; }
  .comp-manager-goal-row small { color:var(--muted); font-size:10px; font-weight:500; }
  .event-goal-bar, .comp-person-bar { overflow:hidden; border-radius:999px; background:rgba(255,255,255,.07); }
  .event-goal-bar { height:12px; margin-bottom:8px; }
  .event-goal-bar > div, .comp-person-bar > div { height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--cyan),var(--green-2),var(--gold)); transition:width .3s ease; }
  .comp-person-bar { height:6px; margin-top:7px; max-width:360px; }
  .comp-person-caption { color:var(--muted-2); font-size:10px; font-weight:500; margin-top:4px; }
  .comp-card { margin-bottom: 14px; }
  .comp-card.past { opacity: .85; }
  .comp-pill { display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-family: 'JetBrains Mono', monospace; }
  .comp-pill.live { color: var(--green-2); background: rgba(74,222,128,.1); border: 1px solid rgba(74,222,128,.3); }
  .comp-pill.closing { color: var(--amber); background: rgba(251,146,60,.1); border: 1px solid rgba(251,146,60,.3); }
  .comp-pill.ended { color: var(--muted-2); background: rgba(148,163,184,.08); border: 1px solid rgba(148,163,184,.2); }
  .comp-pill.done { color: var(--cyan); background: rgba(34,211,238,.08); border: 1px solid rgba(34,211,238,.25); }
  .comp-ticker { margin: 0 18px 14px; padding: 12px 14px; border-radius: var(--r-md); background: rgba(34,211,238,.05); border: 1px solid rgba(34,211,238,.2); }
  .comp-ticker-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 10px; }
  .comp-ticker-num { font-size: 18px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .comp-ticker-bar { height: 8px; border-radius: 999px; background: rgba(255,255,255,.05); overflow: hidden; margin-bottom: 8px; }
  .comp-ticker-bar > div { height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green-2)); border-radius: 999px; transition: width .3s ease; }
  .comp-ticker-foot { display: flex; justify-content: space-between; font-size: 11px; color: var(--muted-2); font-variant-numeric: tabular-nums; }
  .comp-table { padding: 4px 0 14px; }
  .comp-zero-group > summary {
    display:flex; align-items:center; justify-content:center; gap:8px;
    margin:8px 14px 0; padding:10px 12px; border:1px dashed var(--border-hi);
    border-radius: var(--r-md); color:var(--muted-2); font-size:11px; font-weight:700;
    cursor:pointer; list-style:none;
  }
  .comp-zero-group > summary::-webkit-details-marker { display:none; }
  .comp-zero-group > summary span { transition:transform .18s ease; }
  .comp-zero-group[open] > summary span { transform:rotate(180deg); }
  .comp-row { display: grid; grid-template-columns: 60px 1fr auto; gap: 14px; align-items: center; padding: 10px 18px; border-bottom: 1px solid var(--border); cursor: pointer; transition: background .15s; }
  .comp-row:last-child { border-bottom: none; }
  .comp-row:hover { background: rgba(255,255,255,.02); }
  .comp-row.me { background: rgba(34,211,238,.04); border-left: 3px solid var(--cyan); }
  .comp-row.winning { background: rgba(251,191,36,.04); }
  .comp-rank { width: 36px; height: 36px; border-radius: var(--r-md); background: rgba(255,255,255,.04); border: 1px solid var(--border); display: grid; place-items: center; font-size: 14px; font-weight: 700; color: var(--muted-2); font-variant-numeric: tabular-nums; }
  .comp-row.winning .comp-rank { background: rgba(251,191,36,.1); border-color: rgba(251,191,36,.3); color: var(--gold); }
  .comp-name { font-size: 14px; font-weight: 600; color: var(--text); min-width: 0; }
  .comp-val { font-size: 16px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; white-space: nowrap; }
  .comp-row.winning .comp-val { color: var(--gold); }
  .adm-btn.active { color:var(--cyan); border-color:rgba(34,211,238,.4); background:rgba(34,211,238,.08); }
  .comp-unit { font-size: 10px; color: var(--muted); margin-left: 6px; font-weight: 500; letter-spacing: .04em; text-transform: uppercase; }
  .comp-roster-row { display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: center; padding: 8px 10px; border-radius: var(--r-sm); cursor: pointer; transition: background .15s; }
  .comp-roster-row:hover { background: rgba(255,255,255,.03); }
  .comp-roster-row input { margin: 0; cursor: pointer; }
  .comp-roster-name { font-size: 13px; color: var(--text); }
  .comp-roster-meta { font-size: 11px; color: var(--muted-2); }
  .comp-entry-row { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; padding: 10px 12px; border-bottom: 1px solid var(--border); }
  .comp-entry-row:last-child { border-bottom: none; }
  .comp-entry-name { font-size: 13px; font-weight: 600; color: var(--text); }
  .comp-entry-meta { font-size: 11px; color: var(--muted-2); margin-top: 2px; font-weight: 400; }

  /* === LEADERBOARD === */
  .lb-table { width: 100%; }
  .lb-head, .lb-row { display: grid; grid-template-columns: 56px 1fr 110px 90px 70px 70px 80px; align-items: center; gap: 10px; padding: 12px 20px; }
  .lb-head { font-size: 10px; font-weight: 700; letter-spacing: .16em; color: var(--muted); text-transform: uppercase; border-bottom: 1px solid var(--border); }
  .lb-head .num, .lb-row .num { text-align: right; font-variant-numeric: tabular-nums; }
  .lb-row { border-bottom: 1px solid var(--border); transition: background .15s; cursor: pointer; }
  .lb-row:last-child { border-bottom: none; }
  .lb-row:hover { background: rgba(34,211,238,.03); }
  .lb-row.me { background: linear-gradient(90deg, rgba(34,211,238,.06), transparent); border-left: 2px solid var(--cyan); padding-left: 18px; }
  .lb-rank { width: 36px; height: 36px; border-radius: var(--r-md); display: grid; place-items: center; font-weight: 800; font-size: 14px; background: rgba(255,255,255,.04); border: 1px solid var(--border); color: var(--muted-2); }
  .lb-rank.gold { background: linear-gradient(135deg, #fbbf24, #d97706); color: #422006; border-color: #fbbf24; box-shadow: 0 4px 16px rgba(251,191,36,.25); }
  .lb-rank.silver { background: linear-gradient(135deg, #cbd5e1, #64748b); color: #0f172a; border-color: #cbd5e1; }
  .lb-rank.bronze { background: linear-gradient(135deg, #d97706, #92400e); color: #fff; border-color: #d97706; }
  .lb-agent { display: flex; align-items: center; gap: 12px; min-width: 0; }
  .lb-avatar { width: 36px; height: 36px; border-radius: var(--r-md); flex-shrink: 0; display: grid; place-items: center; font-weight: 700; font-size: 12px; color: #fff; border: 1px solid var(--border); overflow: hidden; }
  .lb-avatar img { width: 100%; height: 100%; object-fit: cover; }
  .lb-name { font-size: 13px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lb-role { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; margin-top: 2px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .lb-alp { font-size: 15px; font-weight: 800; letter-spacing: -.01em; text-align: right; font-variant-numeric: tabular-nums; }
  .lb-alp.gold { color: var(--gold); }
  .lb-spark { width: 80px; height: 24px; }
  .lb-mvmt { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
  .lb-mvmt.up { color: var(--green-2); }
  .lb-mvmt.dn { color: var(--red); }
  .lb-mvmt.flat { color: var(--muted); }
  .lb-mvmt.new { color: var(--cyan); }
  .lb-close { font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums; }
  .lb-close.good { color: var(--green-2); }
  .lb-close.warn { color: var(--amber); }
  .lb-close.bad { color: var(--red); }
  .mobile-stack { display: none; }

  /* Mid-width leaderboard: the full 7-column grid needs ~640px of content
     width, which doesn't exist until ~1150px viewport once the sidebar and
     rail are accounted for. Drop the secondary columns until then. */
  @media (max-width: 1150px) {
    .lb-head, .lb-row { grid-template-columns: 44px minmax(0, 1fr) 100px 70px; }
    .lb-head .col-spark, .lb-row .col-spark,
    .lb-head .col-close, .lb-row .col-close,
    .lb-head .col-sales, .lb-row .col-sales { display: none; }
  }

  .spark-line { fill: none; stroke-width: 1.5; }
  .spark-area { fill-opacity: .15; stroke: none; }

  /* === RIGHT RAIL === */
  .rail { background: var(--bg-2); border-left: 1px solid var(--border); padding: 20px 16px; overflow-y: auto; }
  .rail-card { background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-lg); padding: 14px; margin-bottom: 14px; }
  .rail-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
  .rail-head .l { font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--muted-2); display: flex; align-items: center; gap: 8px; }
  .comp-card { background: linear-gradient(180deg, rgba(34,211,238,.05), transparent); border: 1px solid rgba(34,211,238,.15); }
  .comp-name { font-size: 18px; font-weight: 800; letter-spacing: -.02em; margin-bottom: 4px; }
  .comp-sub { font-size: 12px; color: var(--muted); margin-bottom: 12px; }
  .comp-bar-row { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 6px; font-size: 11px; }
  .comp-bar { height: 8px; background: rgba(255,255,255,.06); border-radius: 999px; overflow: hidden; }
  .comp-bar > div { height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green-2)); border-radius: 999px; box-shadow: 0 0 12px rgba(34,211,238,.4); }
  .quote-card { background: linear-gradient(135deg, rgba(34,211,238,.04), rgba(74,222,128,.02)); }
  .quote-card .q { font-size: 13px; font-weight: 600; line-height: 1.5; margin-bottom: 8px; }
  .quote-card .a { font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }

  /* === MOVERS LIST === */
  .mvr-row { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: baseline; padding: 6px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
  .mvr-row:last-child { border-bottom: none; }
  .mvr-row .nm { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mvr-row .delta { font-weight: 700; }
  .mvr-row .delta.up { color: var(--green-2); }
  .mvr-row .delta.dn { color: var(--red); }
  .mvr-row .pct { color: var(--muted); font-size: 10px; font-variant-numeric: tabular-nums; }

  /* === PROFILE === */
  .pf-header { position: relative; padding: 28px 32px; border-radius: var(--r-xl); margin-bottom: 20px;
    background: radial-gradient(circle at 85% 30%, rgba(34,211,238,.10), transparent 50%), linear-gradient(180deg, #0a0a0a 0%, #000000 100%);
    border: 1px solid var(--border); overflow: hidden; }
  .pf-header-inner { position: relative; display: grid; grid-template-columns: auto 1fr auto; gap: 28px; align-items: center; }
  .pf-avatar { width: 88px; height: 88px; border-radius: var(--r-xl); display: grid; place-items: center; font-size: 30px; font-weight: 800; letter-spacing: -.02em; color: #fff; box-shadow: 0 12px 32px rgba(16,185,129,.2), inset 0 1px 0 rgba(255,255,255,.15); overflow: hidden; }
  .pf-avatar img { width: 100%; height: 100%; object-fit: cover; }
  .pf-id .pf-name { font-size: 28px; font-weight: 800; letter-spacing: -.02em; line-height: 1.1; }
  .pf-id .pf-meta-row { display: flex; gap: 16px; align-items: center; margin-top: 8px; flex-wrap: wrap; }
  .pf-role-pill { padding: 4px 10px; border-radius: var(--r-sm); font-size: 11px; font-weight: 700; background: rgba(34,211,238,.12); color: var(--cyan); border: 1px solid rgba(34,211,238,.2); letter-spacing: .08em; }
  .pf-code { font-size: 11px; color: var(--muted); font-weight: 600; letter-spacing: .08em; font-family: 'JetBrains Mono', monospace; }
  .pf-mgr { font-size: 12px; color: var(--muted-2); font-weight: 500; }
  .pf-mgr strong { color: var(--text); font-weight: 600; }

  /* Coded-status pills */
  .pf-vip-pill {
    padding: 4px 10px; border-radius: var(--r-sm); font-size: 11px; font-weight: 700;
    background: linear-gradient(90deg, rgba(251,191,36,.18), rgba(251,146,60,.12));
    color: var(--gold); border: 1px solid rgba(251,191,36,.35); letter-spacing: .1em;
    box-shadow: 0 0 12px rgba(251,191,36,.15);
  }
  .pf-f6-pill {
    padding: 4px 10px; border-radius: var(--r-sm); font-size: 11px; font-weight: 700;
    background: rgba(74,222,128,.1); color: var(--green-2);
    border: 1px solid rgba(74,222,128,.25); letter-spacing: .1em;
  }
  .pf-post6-pill {
    padding: 4px 10px; border-radius: var(--r-sm); font-size: 11px; font-weight: 700;
    background: rgba(148,163,184,.08); color: var(--muted-2);
    border: 1px solid rgba(148,163,184,.2); letter-spacing: .1em;
  }
  .pf-coded-date {
    padding: 3px 9px; border-radius: var(--r-sm); font-size: 10px; font-weight: 600;
    background: rgba(255,255,255,.03); color: var(--muted-2);
    border: 1px solid var(--border); letter-spacing: .04em;
    font-family: 'JetBrains Mono', monospace;
  }

  /* VIP progress strip on profile header */
  .pf-vip-strip {
    margin-top: 16px; padding: 14px 16px; border-radius: var(--r-md);
    background: linear-gradient(90deg, rgba(251,191,36,.06), rgba(251,146,60,.03));
    border: 1px solid rgba(251,191,36,.25);
  }
  .pf-vip-strip.hit { background: linear-gradient(90deg, rgba(74,222,128,.08), rgba(74,222,128,.03)); border-color: rgba(74,222,128,.3); }
  .pf-vip-strip-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
  .pf-vip-strip-label { font-size: 10px; text-transform: uppercase; letter-spacing: .14em; color: var(--gold); font-weight: 800; margin-bottom: 4px; }
  .pf-vip-strip.hit .pf-vip-strip-label { color: var(--green-2); }
  .pf-vip-strip-progress { font-size: 18px; font-weight: 800; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: -.01em; }
  .pf-vip-strip-progress .pct { font-size: 12px; color: var(--muted); font-weight: 600; }
  .pf-vip-strip-status .hit-badge { padding: 4px 10px; border-radius: 999px; background: var(--green-2); color: #06140c; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
  .pf-vip-strip-status .rem { font-size: 12px; color: var(--gold); font-weight: 700; }
  .pf-vip-strip-bar { height: 8px; border-radius: 999px; background: rgba(255,255,255,.05); overflow: hidden; }
  .pf-vip-strip-bar > div { height: 100%; background: linear-gradient(90deg, var(--gold), var(--amber)); border-radius: 999px; transition: width .3s ease; }
  .pf-vip-strip.hit .pf-vip-strip-bar > div { background: linear-gradient(90deg, var(--green-2), var(--cyan)); }

  /* F6 production card live tiles */
  .f6-live-tile {
    padding: 14px 16px; border-radius: var(--r-md);
    background: rgba(34,211,238,.05); border: 1px solid rgba(34,211,238,.2);
  }
  .f6-live-label { font-size: 10px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--cyan); margin-bottom: 6px; }
  .f6-live-num { font-size: 24px; font-weight: 800; color: var(--text); letter-spacing: -.01em; font-variant-numeric: tabular-nums; line-height: 1.1; }
  .f6-live-sub { font-size: 12px; color: var(--muted-2); margin-top: 6px; }

  /* F6 entry modal blocks */
  .f6-entry-block { padding: 12px; border-radius: var(--r-md); background: rgba(255,255,255,.02); border: 1px solid var(--border); }
  .f6-entry-block-title { font-size: 11px; text-transform: uppercase; letter-spacing: .14em; font-weight: 700; color: var(--cyan); margin-bottom: 10px; }

  /* Net weekly card */
  .net-weekly-table { width: 100%; }
  .net-weekly-table thead th { font-size: 10px; color: var(--muted-2); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; padding-bottom: 10px; }
  .net-weekly-table tbody td { padding: 10px 0; font-size: 13px; border-top: 1px solid var(--border); }
  .net-weekly-table tbody tr:hover { background: rgba(255,255,255,.02); }
  .net-weekly-table tfoot td { padding-top: 14px; font-size: 13px; border-top: 2px solid var(--border); }
  .net-weekly-table .num { font-variant-numeric: tabular-nums; }

  /* Net weekly entry modal — derived values block */
  .net-wk-derived {
    padding: 12px 14px; border-radius: var(--r-md);
    background: rgba(255,255,255,.02); border: 1px solid var(--border);
    margin-bottom: 14px;
  }
  .net-wk-derived-row {
    display: flex; justify-content: space-between; align-items: baseline;
    padding: 4px 0;
  }
  .net-wk-derived-row + .net-wk-derived-row { border-top: 1px solid var(--border); margin-top: 4px; padding-top: 8px; }
  .net-wk-derived-row .lbl { font-size: 11px; color: var(--muted-2); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
  .net-wk-derived-row .val { font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; }

  /* Team net card — scope tag */
  .team-net-scope-tag {
    display: inline-block; padding: 2px 8px; margin-right: 8px;
    border-radius: var(--r-sm); font-size: 10px; font-weight: 800;
    letter-spacing: .12em; text-transform: uppercase;
    border: 1px solid; vertical-align: middle;
  }
  .team-net-card .card-title { display: flex; align-items: center; gap: 4px; }

  /* Unified Net upload card — tab pills */
  .net-uni-tabs {
    display: inline-flex; gap: 2px;
    padding: 3px; border-radius: var(--r-md);
    background: rgba(255,255,255,.03); border: 1px solid var(--border);
  }
  .net-uni-tab {
    padding: 7px 16px; border: none; background: transparent;
    color: var(--muted-2); font: inherit; font-size: 12px; font-weight: 700;
    border-radius: var(--r-sm); cursor: pointer;
    letter-spacing: .04em;
    transition: background .12s, color .12s;
  }
  .net-uni-tab:hover { color: var(--text); }
  .net-uni-tab.on { background: var(--cyan); color: #06141c; }

  /* Compact KPI strip at top of profile */
  .pf-kpi-row {
    display: grid; grid-template-columns: repeat(4, 1fr);
    gap: 10px; margin-bottom: 18px;
  }
  .pf-kpi {
    padding: 12px 14px; border-radius: var(--r-md);
    background: var(--panel); border: 1px solid var(--border);
  }
  .pf-kpi-label {
    font-size: 10px; text-transform: uppercase; letter-spacing: .12em;
    color: var(--muted-2); font-weight: 700; margin-bottom: 6px;
  }
  .pf-kpi-value {
    font-size: 22px; font-weight: 800; letter-spacing: -.01em;
    font-variant-numeric: tabular-nums; margin-bottom: 2px;
  }
  .pf-kpi-sub { font-size: 12px; color: var(--muted); }

  /* PNP card (Net Production from PNP Report) */
  @media (max-width: 980px) {
    .pnp-row-grid { grid-template-columns: repeat(2, 1fr); }
    .pnp-cell-value { font-size: 18px; }
  }
  @media (max-width: 480px) {
    .pnp-row-grid { grid-template-columns: 1fr; }
  }

  /* Personal Bests grid */
  .pb-grid {
    display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 12px; padding: 0 18px 18px;
  }
  .pb-record {
    padding: 14px; border-radius: var(--r-md);
    background: linear-gradient(135deg, rgba(251,191,36,.06), rgba(251,191,36,.02));
    border: 1px solid rgba(251,191,36,.15);
  }
  .pb-record-label {
    font-size: 10px; text-transform: uppercase; letter-spacing: .12em;
    color: var(--gold); font-weight: 700; margin-bottom: 6px;
  }
  .pb-record-value {
    font-size: 20px; font-weight: 800; color: var(--text);
    font-variant-numeric: tabular-nums; margin-bottom: 4px;
  }
  .pb-record-sub { font-size: 12px; color: var(--muted-2); }

  /* Lead Conversion */
  .lc-win-tabs {
    display: inline-flex; gap: 2px;
    padding: 3px; border-radius: var(--r-sm);
    background: rgba(255,255,255,.03); border: 1px solid var(--border);
  }
  .lc-win-tab {
    padding: 5px 12px; border: none; background: transparent;
    color: var(--muted-2); font: inherit; font-size: 11px; font-weight: 700;
    border-radius: var(--r-sm); cursor: pointer;
    letter-spacing: .04em;
    transition: background .12s, color .12s;
  }
  .lc-win-tab:hover { color: var(--text); }
  .lc-win-tab.on { background: var(--cyan); color: #06141c; }

  .lc-funnel-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr;
    gap: 8px; align-items: stretch;
    margin-top: 4px;
  }
  .lc-funnel-step {
    padding: 14px 12px; border-radius: var(--r-md);
    background: rgba(255,255,255,.02); border: 1px solid var(--border);
    text-align: center;
  }
  .lc-step-lbl {
    font-size: 10px; text-transform: uppercase; letter-spacing: .12em;
    color: var(--muted-2); font-weight: 700; margin-bottom: 6px;
  }
  .lc-step-val {
    font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums;
  }
  .lc-funnel-rate {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 700; color: var(--cyan);
    padding: 0 4px;
  }
  .lc-funnel-rate span {
    font-size: 10px; text-transform: uppercase; letter-spacing: .1em;
    color: var(--muted); font-weight: 600; margin-top: 2px;
  }

  @media (max-width: 980px) {
    .pf-kpi-row { grid-template-columns: repeat(2, 1fr); }
    .lc-funnel-grid {
      grid-template-columns: 1fr;
      gap: 4px;
    }
    .lc-funnel-rate { padding: 4px; }
  }
  @media (max-width: 480px) {
    .pf-kpi-row { grid-template-columns: 1fr 1fr; }
    .pf-kpi-value { font-size: 18px; }
    .pb-grid { grid-template-columns: 1fr; }
  }

  /* F6 line/bar chart */
  .f6-chart-wrap {
    padding: 14px 14px 10px;
    border-radius: var(--r-md);
    background: rgba(255,255,255,.02);
    border: 1px solid var(--border);
  }
  .f6-chart-toolbar {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; margin-bottom: 8px; flex-wrap: wrap;
  }
  .f6-chart-legend { display: flex; gap: 14px; align-items: center; font-size: 11px; color: var(--muted-2); flex-wrap: wrap; }
  .f6-chart-legend-item { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; }
  .f6-chart-legend-item .dot { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
  .f6-chart-legend-note { color: var(--muted); font-style: italic; }
  .f6-chart-mode-toggle { display: inline-flex; gap: 2px; padding: 2px; border-radius: var(--r-sm); background: rgba(255,255,255,.04); border: 1px solid var(--border); }
  .f6-chart-mode-toggle button {
    padding: 5px 12px; border: none; background: transparent;
    color: var(--muted-2); font: inherit; font-size: 11px; font-weight: 700;
    border-radius: var(--r-sm); cursor: pointer;
    letter-spacing: .06em; text-transform: uppercase;
    transition: background .12s, color .12s;
  }
  .f6-chart-mode-toggle button:hover { color: var(--text); }
  .f6-chart-mode-toggle button.on { background: var(--cyan); color: #06141c; }
  .f6-chart-svg { width: 100%; height: auto; display: block; }
  .f6-chart-empty {
    padding: 28px 16px; text-align: center; color: var(--muted);
    font-size: 12px; border: 1px dashed var(--border); border-radius: var(--r-md);
    background: rgba(255,255,255,.02);
  }
  .pf-rank-tile { text-align: right; padding-left: 24px; border-left: 1px solid var(--border); }
  .pf-rank-tile .lbl { font-size: 10px; color: var(--muted); letter-spacing: .18em; text-transform: uppercase; font-weight: 700; margin-bottom: 4px; }
  .pf-rank-tile .v { font-size: 36px; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
  .pf-rank-tile .v .of { color: var(--muted); font-size: 16px; font-weight: 600; }
  .pf-rank-tile .delta { font-size: 12px; font-weight: 700; margin-top: 4px; }
  .pf-rank-tile .delta.up { color: var(--green-2); }
  .pf-rank-tile .delta.dn { color: var(--red); }
  .pf-rank-tile .delta.flat { color: var(--muted); }
  .pf-stat-grid { position: relative; display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--border); }
  .pf-mini-stat .l { font-size: 10px; color: var(--muted); letter-spacing: .16em; text-transform: uppercase; font-weight: 700; margin-bottom: 6px; }
  .pf-mini-stat .v { font-size: 22px; font-weight: 800; letter-spacing: -.02em; }
  .pf-mini-stat .sub { font-size: 12px; color: var(--muted); margin-top: 2px; }
  .pf-mini-stat.streak .v { color: var(--gold); }

  .pf-weeks-row { display: grid; grid-template-columns: 110px 1fr 90px 70px 70px 80px; align-items: center; gap: 12px; padding: 12px 22px; border-bottom: 1px solid var(--border); }
  .pf-weeks-row.head { font-size: 10px; color: var(--muted); letter-spacing: .16em; text-transform: uppercase; font-weight: 700; }
  .pf-weeks-row .num { text-align: right; font-variant-numeric: tabular-nums; }
  .pf-weeks-row .wk { font-size: 12px; font-weight: 600; }
  .pf-weeks-row .wk small { display: block; color: var(--muted); font-size: 10px; font-weight: 500; margin-top: 2px; }
  .pf-weeks-row .alp { font-size: 14px; font-weight: 700; }
  .pf-weeks-row .alp.best { color: var(--gold); }
  .pf-weeks-row .pace { font-size: 11px; font-weight: 600; }
  .pf-weeks-row .pace.up { color: var(--green-2); }
  .pf-weeks-row .pace.dn { color: var(--red); }
  .pf-weeks-row .pace.flat { color: var(--muted); }
  .pf-weeks-bar { display: flex; align-items: center; gap: 8px; }
  .pf-weeks-bar .track { flex: 1; height: 6px; background: rgba(255,255,255,.04); border-radius: 999px; overflow: hidden; }
  .pf-weeks-bar .track > div { height: 100%; background: linear-gradient(90deg, var(--cyan), var(--green-2)); border-radius: 999px; }

  /* Detailed weeks table (Production tab) */
  .pf-weeks-table-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pf-weeks-table { width: 100%; border-collapse: collapse; font-size: 12px; }
  .pf-weeks-table thead th {
    text-align: right; font-size: 10px; color: var(--muted-2);
    text-transform: uppercase; letter-spacing: .12em; font-weight: 700;
    padding: 12px 10px; border-bottom: 1px solid var(--border);
    background: rgba(255,255,255,.02); white-space: nowrap;
    position: sticky; top: 0;
  }
  .pf-weeks-table thead th.lbl { text-align: left; }
  .pf-weeks-table thead th.ref { color: var(--violet); }
  .pf-weeks-table tbody td {
    padding: 10px; border-bottom: 1px solid var(--border);
    text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap;
  }
  .pf-weeks-table tbody td.lbl { text-align: left; font-weight: 600; }
  .pf-weeks-table tbody td.lbl small { display: block; color: var(--muted); font-size: 10px; font-weight: 500; margin-top: 2px; }
  .pf-weeks-table tbody td.ref { color: var(--muted-2); }
  .pf-weeks-table tbody tr:hover { background: rgba(34,211,238,.03); }
  .pf-weeks-table .pf-wk-best { color: var(--gold); font-weight: 800; }
  .pf-weeks-table tfoot td {
    padding: 12px 10px; border-top: 2px solid var(--border);
    text-align: right; font-weight: 800; font-variant-numeric: tabular-nums;
    white-space: nowrap; background: rgba(255,255,255,.02);
  }
  .pf-weeks-table tfoot td.lbl { text-align: left; color: var(--muted-2); }
  .pf-weeks-table tfoot td.ref { color: var(--violet); }

  /* Ref funnel */
  .ref-funnel { padding: 22px; }
  .ref-funnel-row { display: grid; grid-template-columns: 110px 1fr 60px 60px; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--border); }
  .ref-funnel-row:last-child { border-bottom: none; }
  .ref-funnel-row .stage { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 8px; }
  .ref-funnel-row .stage .ico { width: 26px; height: 26px; border-radius: var(--r-sm); display: grid; place-items: center; background: rgba(34,211,238,.12); color: var(--cyan); flex-shrink: 0; font-weight: 700; font-size: 12px; }
  .ref-funnel-bar { height: 22px; background: rgba(255,255,255,.04); border-radius: var(--r-sm); overflow: hidden; }
  .ref-funnel-bar > div { height: 100%; border-radius: var(--r-sm); background: linear-gradient(90deg, var(--cyan), var(--green-2)); display: flex; align-items: center; padding: 0 10px; font-size: 11px; font-weight: 700; color: #06141c; min-width: 0; }
  .ref-funnel-row .conv { text-align: right; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
  .ref-funnel-row .conv strong { color: var(--green-2); font-weight: 700; }
  .ref-funnel-row .total { text-align: right; font-size: 15px; font-weight: 800; font-variant-numeric: tabular-nums; }

  .empty { padding: 30px; text-align: center; color: var(--muted); font-size: 12px; }

  /* === FILTER TOGGLE === */
  .filter-row { display: flex; gap: 4px; padding: 3px; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-md); }
  .filter-btn { padding: 6px 12px; border-radius: var(--r-sm); border: none; background: transparent; color: var(--muted-2); font: inherit; font-size: 11px; font-weight: 700; letter-spacing: .08em; cursor: pointer; }
  .filter-btn.on { background: var(--cyan); color: #06141c; }
  .filter-btn:not(.on):hover { color: var(--text); }

  /* === PIPELINE === */
  .pipe-buckets { display: flex; gap: 6px; margin-bottom: 16px; flex-wrap: wrap; }
  .pipe-bucket-btn { padding: 10px 16px; border-radius: var(--r-md); border: 1px solid var(--border); background: var(--panel); color: var(--muted-2); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; }
  .pipe-bucket-btn:hover { color: var(--text); border-color: var(--border-hi); }
  .pipe-bucket-btn.on { background: linear-gradient(90deg, rgba(34,211,238,.18), rgba(34,211,238,.04)); border-color: rgba(34,211,238,.35); color: var(--cyan); }
  .pipe-bucket-btn .ct { padding: 2px 8px; border-radius: var(--r-sm); background: rgba(255,255,255,.06); font-size: 11px; font-weight: 700; }
  .pipe-bucket-btn.on .ct { background: rgba(34,211,238,.18); color: var(--cyan); }
  .pipe-bucket-btn.danger.on { background: linear-gradient(90deg, rgba(248,113,113,.18), rgba(248,113,113,.04)); border-color: rgba(248,113,113,.35); color: var(--red); }
  .pipe-bucket-btn.danger.on .ct { background: rgba(248,113,113,.18); color: var(--red); }

  /* Pipeline filter row (provider sub-tabs + sort) */
  .pipe-controls {
    display: flex; justify-content: space-between; align-items: center;
    gap: 12px; flex-wrap: wrap; margin-bottom: 14px;
  }
  .pipe-provider-pills { display: flex; gap: 4px; padding: 4px; border-radius: var(--r-md); background: rgba(255,255,255,.02); border: 1px solid var(--border); }
  .pipe-prov-btn {
    padding: 6px 12px; border-radius: var(--r-sm); border: none; background: transparent;
    color: var(--muted-2); font: inherit; font-size: 12px; font-weight: 600;
    cursor: pointer; display: inline-flex; align-items: center; gap: 6px;
    transition: color .15s, background .15s;
  }
  .pipe-prov-btn:hover { color: var(--text); }
  .pipe-prov-btn.on { background: var(--cyan); color: #06141c; }
  .pipe-prov-btn .ct { padding: 1px 7px; border-radius: 5px; background: rgba(255,255,255,.08); font-size: 10px; font-weight: 700; min-width: 14px; text-align: center; }
  .pipe-prov-btn.on .ct { background: rgba(6,20,28,.18); color: #06141c; }

  .pipe-sort { display: flex; align-items: center; gap: 8px; }
  .pipe-sort-label { font-size: 11px; color: var(--muted-2); text-transform: uppercase; letter-spacing: .12em; font-weight: 700; }
  .pipe-sort-select {
    padding: 7px 30px 7px 12px; border-radius: var(--r-sm); border: 1px solid var(--border);
    background: var(--panel); color: var(--text); font: inherit; font-size: 12px; font-weight: 600;
    cursor: pointer;
    appearance: none; -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2394a3b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 10px center;
  }
  .pipe-sort-select:focus { outline: 1px solid var(--cyan); border-color: var(--cyan); }

  .pipe-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }

  /* Pipeline view toggle (Cards / List) */
  .pipe-view-toggle {
    display: inline-flex; gap: 2px;
    padding: 3px; border-radius: var(--r-md);
    background: rgba(255,255,255,.03); border: 1px solid var(--border);
  }
  .pipe-view-toggle button {
    display: inline-flex; align-items: center; gap: 6px;
    padding: 6px 12px; border: none; background: transparent;
    color: var(--muted-2); font: inherit; font-size: 11px; font-weight: 700;
    border-radius: var(--r-sm); cursor: pointer; letter-spacing: .04em;
    transition: background .12s, color .12s;
  }
  .pipe-view-toggle button:hover { color: var(--text); }
  .pipe-view-toggle button.on { background: var(--cyan); color: #06141c; }
  .pipe-view-toggle svg { stroke-width: 2.2; }

  /* Pipeline list view */
  .pipe-list-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .pipe-list-table {
    width: 100%; border-collapse: collapse;
    font-size: 12px;
  }
  .pipe-list-table thead th {
    text-align: left; font-weight: 700; font-size: 10px;
    color: var(--muted-2); text-transform: uppercase; letter-spacing: .1em;
    padding: 12px 10px; border-bottom: 1px solid var(--border);
    background: rgba(255,255,255,.02);
    position: sticky; top: 0; z-index: 1;
    white-space: nowrap;
  }
  .pipe-list-table tbody td {
    padding: 10px; border-bottom: 1px solid var(--border);
    color: var(--text); vertical-align: middle;
  }
  .pipe-list-table tbody tr:hover { background: rgba(34,211,238,.03); }
  .pipe-list-table tbody tr:last-child td { border-bottom: none; }
  .pipe-list-table .pl-name { min-width: 140px; }
  .pipe-list-table .pl-state { width: 56px; }
  .pipe-list-table .pl-date { width: 84px; }
  .pipe-list-table .pl-pf { width: 80px; }
  .pipe-list-table .pl-flags { width: 84px; }
  .pipe-list-table .pl-actions { width: 60px; text-align: right; }

  .pipe-list-mono { font-family: 'JetBrains Mono', monospace; font-size: 11px; }
  .pipe-list-empty { color: var(--muted); font-size: 11px; }
  .pipe-list-link { color: var(--cyan); text-decoration: none; }
  .pipe-list-link:hover { text-decoration: underline; }
  .pipe-list-state {
    display: inline-block; padding: 2px 7px; border-radius: 5px;
    font-family: 'JetBrains Mono', monospace; font-size: 10px; font-weight: 800;
    background: rgba(148,163,184,.1); color: var(--muted-2);
    border: 1px solid var(--border); letter-spacing: .04em;
  }
  .pipe-list-pf {
    display: inline-block; padding: 2px 8px; border-radius: 5px;
    font-size: 10px; font-weight: 800; letter-spacing: .08em;
  }
  .pipe-list-pf.pass { background: rgba(74,222,128,.12); color: var(--green-2); border: 1px solid rgba(74,222,128,.25); }
  .pipe-list-pf.fail { background: rgba(248,113,113,.12); color: var(--red); border: 1px solid rgba(248,113,113,.25); }
  .pipe-list-prov {
    display: inline-block; padding: 2px 8px; border-radius: 5px;
    font-size: 10px; font-weight: 700;
    background: rgba(148,163,184,.08); color: var(--muted-2);
    border: 1px solid var(--border);
  }
  .pipe-list-prov.xcel { background: rgba(34,211,238,.12); color: var(--cyan); border-color: rgba(34,211,238,.25); }
  .pipe-list-prov.just { background: rgba(251,191,36,.12); color: var(--gold); border-color: rgba(251,191,36,.25); }

  .pipe-list-flags { display: inline-flex; gap: 3px; }
  .pipe-list-flag {
    display: inline-flex; align-items: center; justify-content: center;
    width: 20px; height: 20px; border-radius: 5px;
    font-size: 10px; font-weight: 800;
    background: rgba(148,163,184,.06); color: var(--muted);
    border: 1px solid var(--border);
  }
  .pipe-list-flag.on {
    background: rgba(74,222,128,.15); color: var(--green-2);
    border-color: rgba(74,222,128,.3);
  }
  .pipe-card { padding: 16px; border-radius: var(--r-lg); background: var(--panel); border: 1px solid var(--border); display: flex; flex-direction: column; gap: 10px; }
  .pipe-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
  .pipe-card-name { font-size: 14px; font-weight: 700; }
  .pipe-card-sub { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-top: 2px; }
  .pipe-card-days {
    flex-shrink: 0; padding: 4px 8px; border-radius: var(--r-sm); font-size: 10px; font-weight: 700;
    background: rgba(255,255,255,.04); color: var(--muted-2);
  }
  .pipe-card-days.warn { background: rgba(251,146,60,.12); color: var(--amber); }
  .pipe-card-days.bad { background: rgba(248,113,113,.12); color: var(--red); }
  .pipe-card-meta { display: flex; flex-direction: column; gap: 6px; font-size: 11px; }
  .pipe-card-meta-row { display: flex; justify-content: space-between; gap: 12px; }
  .pipe-card-meta-row .l { color: var(--muted); }
  .pipe-card-meta-row .v { color: var(--text); font-weight: 600; }
  .pipe-card-flags { display: flex; gap: 4px; flex-wrap: wrap; margin-top: 2px; }
  .pipe-flag {
    padding: 3px 8px; border-radius: var(--r-sm); font-size: 10px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    background: rgba(255,255,255,.04); color: var(--muted);
    border: 1px solid var(--border);
  }
  .pipe-flag.done { background: rgba(34,197,94,.1); color: var(--green-2); border-color: rgba(34,197,94,.2); }
  .pipe-flag.pending { background: rgba(251,191,36,.1); color: var(--gold); border-color: rgba(251,191,36,.2); }
  .pipe-flag.missing { background: rgba(248,113,113,.1); color: var(--red); border-color: rgba(248,113,113,.2); }

  /* Slice 8: clickable inline flags + card actions */
  .pipe-card { cursor: pointer; transition: border-color .15s, background .15s; }
  .pipe-card:hover { border-color: rgba(34,211,238,.35); background: rgba(34,211,238,.02); }
  .pipe-flag-cb {
    display: inline-flex; align-items: center; gap: 4px;
    padding: 3px 8px; border-radius: var(--r-sm); font-size: 10px; font-weight: 700;
    letter-spacing: .08em; text-transform: uppercase;
    border: 1px solid var(--border); cursor: pointer; user-select: none;
    transition: all .15s;
  }
  .pipe-flag-cb input { display: none; }
  .pipe-flag-cb.done { background: rgba(34,197,94,.1); color: var(--green-2); border-color: rgba(34,197,94,.2); }
  .pipe-flag-cb.missing { background: rgba(248,113,113,.08); color: var(--red); border-color: rgba(248,113,113,.18); }
  .pipe-flag-cb:hover { filter: brightness(1.15); }
  .pipe-contact {
    display: flex; gap: 10px; flex-wrap: wrap;
    padding: 6px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border);
    font-size: 11px;
  }
  .pipe-contact a { color: var(--cyan); text-decoration: none; }
  .pipe-contact a:hover { text-decoration: underline; }
  .pipe-card-notes {
    font-size: 11px; color: var(--muted-2);
    padding: 8px 10px; border-radius: var(--r-sm);
    background: rgba(255,255,255,.02); border: 1px solid var(--border);
    white-space: pre-wrap; word-break: break-word;
  }
  .pipe-card-actions {
    display: flex; gap: 4px; flex-wrap: wrap;
    margin-top: 2px; padding-top: 8px; border-top: 1px solid var(--border);
  }
  .pipe-action {
    flex: 1; min-width: 0;
    padding: 6px 8px; border-radius: var(--r-sm);
    background: rgba(255,255,255,.04); border: 1px solid var(--border);
    color: var(--text); font-size: 11px; font-weight: 600;
    cursor: pointer; transition: all .15s;
    font-family: 'Plus Jakarta Sans', sans-serif;
    white-space: nowrap;
  }
  .pipe-action:hover { background: rgba(34,211,238,.1); border-color: rgba(34,211,238,.3); color: var(--cyan); }
  .pipe-action.go { background: rgba(34,197,94,.08); border-color: rgba(34,197,94,.25); color: var(--green-2); }
  .pipe-action.go:hover { background: rgba(34,197,94,.18); border-color: rgba(34,197,94,.4); }
  .pipe-action.edit { flex: 0 0 auto; }
  .pipe-action.danger { flex: 0 0 auto; padding: 6px 10px; color: var(--red); }
  .pipe-action.danger:hover { background: rgba(248,113,113,.12); border-color: rgba(248,113,113,.35); color: var(--red); }

  /* === EOM Countdown === */
  .eom-card { background: linear-gradient(180deg, rgba(251,191,36,.05), transparent); border: 1px solid rgba(251,191,36,.2); }
  .eom-num { font-family: 'JetBrains Mono', monospace; font-size: 22px; font-weight: 700; color: var(--gold); letter-spacing: -.01em; }
  .eom-sub { font-size: 12px; color: var(--muted); margin-top: 4px; }

  /* === Events list === */
  .ev-item { display: flex; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--border); }
  .ev-item:last-child { border-bottom: none; }
  .ev-date { width: 42px; flex-shrink: 0; text-align: center; padding: 6px 0; border-radius: var(--r-sm); background: rgba(255,255,255,.03); border: 1px solid var(--border); }
  .ev-date .m { font-size: 10px; font-weight: 700; color: var(--cyan); letter-spacing: .14em; text-transform: uppercase; }
  .ev-date .d { font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
  .ev-info { flex: 1; min-width: 0; padding-top: 2px; }
  .ev-title { font-size: 12px; font-weight: 600; margin-bottom: 2px; }
  .ev-time { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .06em; }
  .ev-time-src { color: var(--muted-2); opacity: .8; font-weight: 500; }
  /* Join meeting button on rail event item */
  .ev-join-btn {
    flex-shrink: 0; align-self: center;
    display: inline-flex; align-items: center; gap: 4px;
    padding: 5px 10px; border-radius: var(--r-sm);
    background: linear-gradient(180deg, var(--cyan), #18b8d4);
    color: #06141c; text-decoration: none;
    font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(34,211,238,.25);
    transition: transform .12s ease, box-shadow .12s ease;
    white-space: nowrap;
  }
  .ev-join-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 12px rgba(34,211,238,.45); }
  .ev-join-btn:active { transform: translateY(0); }
  .ev-join-btn svg { stroke: #06141c; }

  /* Admin events list (Calendar editor card) */
  .ev-admin-list { display: flex; flex-direction: column; gap: 8px; }
  .ev-admin-row {
    display: flex; align-items: center; gap: 12px;
    padding: 12px 14px; border-radius: var(--r-md);
    background: rgba(255,255,255,.02); border: 1px solid var(--border);
    cursor: pointer; transition: border-color .15s, background .15s;
  }
  .ev-admin-row:hover { border-color: rgba(34,211,238,.35); background: rgba(34,211,238,.04); }
  .ev-admin-meta { flex: 1; min-width: 0; }
  .ev-admin-title { font-size: 13px; font-weight: 700; color: var(--text); }
  .ev-admin-sub { font-size: 12px; color: var(--muted-2); margin-top: 3px; }
  .ev-admin-next {
    font-size: 11px; font-weight: 600; color: var(--cyan);
    font-family: 'JetBrains Mono', monospace;
    padding: 4px 10px; border-radius: var(--r-sm);
    background: rgba(34,211,238,.08); border: 1px solid rgba(34,211,238,.2);
    white-space: nowrap;
  }
  .ev-admin-row .adm-btn-danger { padding: 4px 10px; font-size: 14px; }

  /* === Production page === */
  .agent-search { width: 100%; padding: 12px 14px; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-md); color: var(--text); font: inherit; font-size: 14px; margin-bottom: 14px; }
  .agent-search:focus { outline: none; border-color: var(--cyan); }
  .agent-pick-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
  .agent-pick { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: var(--r-md); background: var(--panel); border: 1px solid var(--border); cursor: pointer; }
  .agent-pick:hover { border-color: var(--cyan); }
  .agent-pick .av { width: 36px; height: 36px; border-radius: var(--r-md); display: grid; place-items: center; font-weight: 700; font-size: 12px; color: #fff; flex-shrink: 0; overflow: hidden; }
  .agent-pick .av img { width: 100%; height: 100%; object-fit: cover; display: block; }
  .agent-pick .nm { font-size: 13px; font-weight: 600; }
  .agent-pick .rl { font-size: 10px; color: var(--muted); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; margin-top: 2px; }

  /* Bar/area chart in production page */
  .alp-chart-svg { width: 100%; height: 180px; }

  /* === CHECK-IN FORM === */
  .ci-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .ci-field { display: flex; flex-direction: column; gap: 6px; }
  .ci-field label { font-size: 10px; color: var(--muted); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
  .ci-field input, .ci-field textarea {
    padding: 11px 14px; background: rgba(255,255,255,.04); border: 1px solid var(--border);
    border-radius: var(--r-md); color: var(--text); font: inherit; font-size: 14px;
    outline: none; transition: border-color .15s;
    font-variant-numeric: tabular-nums;
  }
  .ci-field input:focus, .ci-field textarea:focus { border-color: var(--cyan); background: rgba(34,211,238,.05); }
  .ci-field input[type="date"] { font-family: 'JetBrains Mono', monospace; }
  .ci-field .hint { font-size: 10px; color: var(--muted); font-weight: 500; letter-spacing: 0; text-transform: none; }

  .ci-section-title { font-size: 11px; font-weight: 700; letter-spacing: .14em; color: var(--cyan); text-transform: uppercase; margin: 18px 0 10px; }

  .lt-grid { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1fr; gap: 8px 12px; align-items: center; padding: 14px 18px; }
  .lt-grid > div { font-size: 12px; }
  .lt-header { font-size: 10px !important; color: var(--muted); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; padding-bottom: 6px; border-bottom: 1px solid var(--border); margin-bottom: 4px; }
  .lt-grid input {
    width: 100%; padding: 8px 10px; background: rgba(255,255,255,.04); border: 1px solid var(--border);
    border-radius: var(--r-sm); color: var(--text); font: inherit; font-size: 13px; text-align: center;
    outline: none; font-variant-numeric: tabular-nums;
  }
  .lt-grid input:focus { border-color: var(--cyan); }

  .ci-warn { padding: 12px 14px; border-radius: var(--r-md); background: rgba(251,191,36,.08); border: 1px solid rgba(251,191,36,.2); color: var(--gold); font-size: 12px; margin-top: 10px; min-height: 16px; }
  .ci-warn:empty { display: none; }
  .ci-warn.good { background: rgba(34,197,94,.08); border-color: rgba(34,197,94,.2); color: var(--green-2); }

  .ci-submit-row { display: flex; gap: 10px; align-items: center; margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--border); }
  .ci-submit { padding: 12px 20px; background: var(--cyan); color: #06141c; border: none; border-radius: var(--r-md); font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
  .ci-submit:disabled { opacity: .5; cursor: not-allowed; }
  .ci-status { font-size: 13px; }
  .ci-status .ok { color: var(--green-2); }
  .ci-status .err { color: var(--red); }

  @media (max-width: 768px) {
    .ci-grid { grid-template-columns: 1fr 1fr; }
    .lt-grid { grid-template-columns: 1fr 1fr 1fr 1fr; gap: 6px 8px; padding: 12px; }
    .lt-grid input { padding: 6px 4px; font-size: 12px; }
  }
  @media (max-width: 480px) {
    .ci-grid { grid-template-columns: 1fr; }
  }

  /* Tabs */
  .pf-tabs { display: flex; gap: 4px; padding: 4px; margin-bottom: 18px; background: var(--panel); border: 1px solid var(--border); border-radius: var(--r-md); width: fit-content; flex-wrap: wrap; }
  .pf-tab { padding: 9px 16px; border-radius: var(--r-sm); border: none; background: transparent; color: var(--muted-2); font: inherit; font-size: 12px; font-weight: 600; cursor: pointer; }
  .pf-tab:hover { color: var(--text); }
  .pf-tab.active { background: var(--cyan); color: #06141c; }
  .pf-tab-panel { display: none; }
  .pf-tab-panel.active { display: block; }
  .rpt-periods { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 18px 4px; }
  .rpt-pbtn { background: var(--panel-2); border: 1px solid var(--border-hi); color: var(--muted); font: inherit; font-size: 12px; font-weight: 700; padding: 7px 14px; border-radius: 999px; cursor: pointer; }
  .rpt-pbtn.active { background: rgba(34,211,238,.12); border-color: var(--cyan); color: var(--cyan); }
    .rib-row { display:flex; gap:6px; flex-wrap:wrap; align-items:center; }
    .rib-chip { background: var(--panel-2, rgba(255,255,255,0.03)); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 3px 10px; font-size:13px; color: var(--muted); }
    .rib-chip b { font-family: 'JetBrains Mono', monospace; color: var(--text); font-weight: 600; }
    .rib-chip.rib-g { border-color: rgba(52,211,153,.55); background: rgba(52,211,153,.09); }
    .rib-chip.rib-g b { color: var(--green-2); }
    .rib-chip.rib-y { border-color: rgba(250,204,21,.5); background: rgba(250,204,21,.07); }
    .rib-chip.rib-y b { color: #facc15; }
    .rib-chip.rib-r, .rib-chip.rib-low { border-color: rgba(248,113,113,.55); background: rgba(248,113,113,.08); }
    .rib-chip.rib-r b { color: var(--red-2); }
    .rib-chip.rib-click { cursor: pointer; transition: transform .08s ease, box-shadow .08s ease; }
    .rib-chip.rib-click:hover { transform: translateY(-1px); box-shadow: 0 3px 10px rgba(0,0,0,.35); }
    .rib-chip.rib-low b { color: var(--red-2); }

    /* ── GATE RIBBON: four labelled rows, levers coloured, roll-ups never ── */
    .gr-wrap { display:flex; flex-direction:column; gap:9px; }
    .gr-row { display:flex; gap:7px; flex-wrap:wrap; align-items:stretch; }
    .gr-rowlbl { font-size:9.5px; font-weight:800; letter-spacing:.11em; color:var(--muted-2); align-self:center; min-width:104px; flex:none; }
    .gr-chip { background:var(--panel-2, rgba(255,255,255,.03)); border:1px solid var(--line); border-radius:var(--r-sm);
      padding:6px 12px 7px; min-width:104px; display:flex; flex-direction:column; gap:1px; }
    .gr-chip .gr-l { font-size:11px; color:var(--muted-2); font-weight:600; white-space:nowrap; }
    .gr-chip .gr-v { font-size:19px; font-weight:500; font-family:'JetBrains Mono', monospace; color:var(--text); line-height:1.15; }
    .gr-chip .gr-b { font-size:11px; color:var(--muted-2); white-space:nowrap; }
    .gr-chip.gr-green { border-color:rgba(52,211,153,.55); background:rgba(52,211,153,.09); }
    .gr-chip.gr-green .gr-v { color:var(--green-2); }
    .gr-chip.gr-yellow { border-color:rgba(250,204,21,.5); background:rgba(250,204,21,.07); }
    .gr-chip.gr-yellow .gr-v { color:#facc15; }
    .gr-chip.gr-red { border-color:rgba(248,113,113,.55); background:rgba(248,113,113,.08); }
    .gr-chip.gr-red .gr-v { color:var(--red-2); }
    /* Roll-ups and low-volume both render neutral — deliberately no tier colour. */
    .gr-chip.gr-none .gr-v { color:var(--text); }
    .gr-click { cursor:pointer; transition:transform .08s ease, box-shadow .08s ease; }
    .gr-click:hover { transform:translateY(-1px); box-shadow:0 3px 10px rgba(0,0,0,.35); }
    .gr-foot { font-size:11px; color:var(--muted-2); }
    .gr-tr { font-size:11px; margin-left:5px; vertical-align:middle; }
    .gr-badge { display:inline-block; margin-top:4px; font-size:9px; font-weight:800; letter-spacing:.07em;
      padding:1px 6px; border-radius:6px; align-self:flex-start; }
    .gb-protect { background:rgba(52,211,153,.16); color:var(--green-2); }
    .gb-watch   { background:rgba(251,146,60,.2);  color:#fb923c; }
    .gb-working { background:rgba(34,211,238,.15); color:var(--cyan-2); }
    .gb-coach   { background:rgba(248,113,113,.16); color:var(--red-2); }
    .gr-watch { font-size:11.5px; color:var(--muted); border:1px solid rgba(251,146,60,.4);
      background:rgba(251,146,60,.07); border-radius:8px; padding:7px 11px; margin-bottom:2px; }
    .gr-watch .gr-badge { margin:0 6px 0 0; vertical-align:middle; }
    .gr-lowvol { display:inline-block; background:rgba(148,163,184,.12); color:var(--muted-2); font-size:10.5px;
      font-weight:700; padding:2px 9px; border-radius:8px; }
    @media (max-width: 860px) {
      .gr-rowlbl { min-width:100%; }
    }

    /* ── GATE FUNNEL: stages narrow so drop-off is physically visible ── */
    .gf-head { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; flex-wrap:wrap; margin-bottom:16px; }
    .gf-hl { flex:1 1 240px; min-width:0; }
    .gf-kick { font-size:10px; font-weight:800; letter-spacing:.11em; color:var(--muted-2); }
    .gf-big { font-size:34px; font-weight:700; font-family:'JetBrains Mono', monospace; line-height:1.1; margin-top:2px; }
    .gf-pace { height:6px; border-radius:4px; background:rgba(148,163,184,.16); overflow:hidden; margin-top:9px; max-width:320px; }
    .gf-pace i { display:block; height:100%; border-radius:4px; background:var(--cyan); }
    .gf-pacelbl { font-size:11px; color:var(--muted-2); margin-top:5px; }
    .gf-spark { display:flex; align-items:flex-end; gap:4px; height:34px; margin-top:9px; }
    .gf-spark span { width:16px; border-radius:2px 2px 0 0; background:rgba(34,211,238,.35); min-height:2px; }
    .gf-spark span.hi { background:var(--cyan); }
    .gf-right { text-align:right; flex:none; }
    .gf-right .v { font-size:21px; font-weight:600; font-family:'JetBrains Mono', monospace; }

    .gf-stage { border-radius:8px; padding:9px 14px; display:flex; justify-content:space-between; align-items:baseline;
      gap:12px; background:linear-gradient(90deg, rgba(34,211,238,.16), rgba(34,211,238,.06)); border:1px solid rgba(34,211,238,.22);
      margin-right:var(--inset, 0); }
    .gf-stage .n { font-size:12.5px; font-weight:600; color:var(--muted); }
    .gf-stage .v { font-size:17px; font-weight:600; font-family:'JetBrains Mono', monospace; color:var(--text); }
    .gf-conv { font-size:11.5px; padding:5px 14px 5px 0; display:flex; align-items:center; gap:7px;
      margin-left:var(--indent, 0); flex-wrap:wrap; row-gap:3px; }
    .gf-conv .tg { font-weight:800; font-size:12px; flex:none; }
    .gf-conv .arrow { opacity:.5; }
    .gf-conv .bench { color:var(--muted-2); }
    .gf-green { color:var(--green-2); }
    .gf-yellow { color:#facc15; }
    .gf-red { color:var(--red-2); }
    .gf-none { color:var(--muted-2); }

    .gf-alerts { display:flex; flex-direction:column; gap:9px; margin-bottom:14px; }
    .gf-alerts .gf-leak { margin-top:0; }
    .gf-conv .lv { font-weight:600; }
    .gf-stage.gf-hit { cursor:pointer; transition:transform .08s ease, box-shadow .08s ease, border-color .08s ease; }
    .gf-stage.gf-hit:hover { transform:translateY(-1px); border-color:rgba(34,211,238,.5); box-shadow:0 3px 12px rgba(0,0,0,.35); }
    .gf-rank { font-size:10.5px; color:var(--muted-2); border:1px solid var(--line); border-radius:6px;
      padding:1px 6px; white-space:nowrap; }
    .gf-conv .gr-badge { margin:0 0 0 2px; }
    .gf-leak { margin-top:14px; border-radius:10px; padding:13px 16px; border:1px solid rgba(248,113,113,.4); background:rgba(248,113,113,.07); }
    .gf-leak.ok { border-color:rgba(52,211,153,.4); background:rgba(52,211,153,.07); }
    .gf-leak .t { font-size:10.5px; font-weight:800; letter-spacing:.1em; color:var(--red-2); }
    .gf-leak.ok .t { color:var(--green-2); }
    .gf-leak .m { font-size:15px; font-weight:600; margin-top:4px; }
    .gf-leak .s { font-size:12px; color:var(--muted-2); margin-top:4px; line-height:1.5; }
    .gf-leak .gain { font-family:'JetBrains Mono', monospace; font-weight:700; color:var(--green-2); }
    .gf-leak.gr-click { cursor:pointer; }
    .gf-leak.ok .gain { color:var(--cyan-2); }

    /* Phone: a 48% inset leaves ~180px for a line carrying value, bench, rank and
       a badge, which wraps into three lines. Taper to a third so the funnel still
       reads as a funnel without crushing its own labels. */
    @media (max-width: 640px) {
      .gf-stage { margin-right: calc(var(--inset, 0%) / 3); }
      .gf-conv { margin-left: calc(var(--indent, 0%) / 3); font-size:11px; }
      .gf-conv .bench, .gf-rank { font-size:10px; }
      .gf-big { font-size:28px; }
      .gr-chip { min-width:calc(50% - 4px); }
    }
    .gf-refwrap { margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
    .gf-refwrap .gf-stage { background:linear-gradient(90deg, rgba(167,139,250,.15), rgba(167,139,250,.05)); border-color:rgba(167,139,250,.22); }
    .gf-refwrap .gf-stage .v { font-size:15px; }

    /* ── GATE COACHING MODAL ── */
    .gc-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:13px; }
    .gc-box { border:1px solid var(--line); border-radius:9px; padding:9px 12px; background:var(--panel-2, rgba(255,255,255,.02)); }
    .gc-bl { font-size:9.5px; font-weight:800; letter-spacing:.09em; color:var(--muted-2); }
    .gc-bv { font-size:20px; font-weight:600; font-family:'JetBrains Mono', monospace; margin-top:2px; }
    .gc-bs { font-size:11px; color:var(--muted-2); margin-top:3px; line-height:1.4; }
    .gc-up { margin-top:11px; border:1px solid rgba(251,146,60,.4); background:rgba(251,146,60,.07);
      border-radius:8px; padding:8px 11px; font-size:12px; color:var(--muted); line-height:1.5; }
    .gc-link { color:var(--cyan); cursor:pointer; text-decoration:underline; }
    @media (max-width: 560px) { .gc-grid { grid-template-columns:1fr; } }
    .role-badge { font-size:10px; font-weight: 700; padding: 1px 5px; border-radius: 4px; letter-spacing: .04em; vertical-align: middle; margin-left: 4px; background: rgba(34,211,238,0.12); color: var(--cyan-2); }
    .role-badge.rb-sa  { background: rgba(34,211,238,0.12); color: var(--cyan-2); }
    .role-badge.rb-ga  { background: rgba(52,211,153,0.14); color: var(--green-2); }
    .role-badge.rb-mga { background: rgba(167,139,250,0.16); color: #a78bfa; }
    .role-badge.rb-rga { background: rgba(251,191,36,0.14); color: var(--gold, #fbbf24); }
    .role-badge.rb-agt { background: rgba(148,163,184,0.14); color: var(--muted); }
    .ab-card { background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius, 12px); padding: 14px; }
    .ab-row { display:flex; align-items:center; gap:8px; padding: 6px 0; border-top: 1px solid var(--line); font-size:13.5px; }
    .ab-row.ab-me { background: rgba(34,211,238,0.07); margin: 0 -14px; padding-left: 14px; padding-right: 14px; border-left: 2px solid var(--cyan-2); }
    .ab-rank { width: 16px; font-size:13px; color: var(--muted-2); font-family: 'JetBrains Mono', monospace; }
    .ab-val { margin-left:auto; font-family: 'JetBrains Mono', monospace; font-size:13.5px; }
    .ab-ava { width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font-size:11px; font-weight: 600; background: var(--panel-2, rgba(255,255,255,0.06)); overflow:hidden; flex:none; }
    .ab-ava img { width: 100%; height: 100%; object-fit: cover; }
    .rail-lb-row { display: flex; align-items: center; gap: 7px; padding: 4px 0; font-size:13px; cursor: pointer; border-radius: var(--r-sm); }
    .rail-lb-row:hover { background: rgba(255,255,255,0.03); }
    .rail-lb-row.me { background: rgba(34,211,238,0.07); margin: 0 -6px; padding-left: 6px; padding-right: 6px; border-left: 2px solid var(--cyan); }
    .rail-lb-rank { width: 16px; font-size: 10px; color: var(--muted-2); font-family: 'JetBrains Mono', monospace; text-align: center; flex: none; }
    .rail-lb-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rail-lb-val { font-family: 'JetBrains Mono', monospace; font-size:12.5px; flex: none; }
    .rail-lb-tab { background: var(--panel-2); border: 1px solid var(--line); color: var(--muted-2); font: inherit; font-size:11px; font-weight: 700; padding: 2px 8px; border-radius: 999px; cursor: pointer; }
    .rail-lb-tab.active { background: rgba(34,211,238,.12); border-color: var(--cyan); color: var(--cyan); }
    .rail-lb-rankc { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size:11px; font-weight: 800; font-family: 'JetBrains Mono', monospace; background: var(--panel-2); color: var(--muted-2); border: 1px solid var(--line); flex: none; }
    .rail-lb-rankc.r1 { background: rgba(251,191,36,.9); color: #1a1206; border-color: transparent; }
    .rail-lb-rankc.r2 { background: rgba(203,213,225,.85); color: #111827; border-color: transparent; }
    .rail-lb-rankc.r3 { background: rgba(217,119,6,.8); color: #180e02; border-color: transparent; }
    .rail-ava.ring { box-shadow: 0 0 0 2px var(--bg-2), 0 0 0 3.5px var(--green-2); }
    .rail-lb-row { padding: 5px 0; }
    .peek-bg { position: fixed; inset: 0; background: rgba(4,8,14,0.6); backdrop-filter: blur(3px); z-index: 320; display: none; align-items: flex-start; justify-content: center; padding: 60px 16px 16px; }
    .peek-bg.open { display: flex; }
    .peek-card { width: 100%; max-width: 420px; background: var(--panel); border: 1px solid var(--border-hi); border-radius: var(--r-lg); padding: 16px; box-shadow: 0 18px 50px rgba(0,0,0,.5); animation: peekIn .16s ease-out; }
    @keyframes peekIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
    .peek-x { background: none; border: none; color: var(--muted-2); font-size: 14px; cursor: pointer; padding: 2px 6px; }
    .peek-x:hover { color: var(--text); }
    .adj-tag { font-size:10px; font-weight: 800; letter-spacing: .08em; padding: 1px 5px; border-radius: 4px; background: rgba(52,211,153,.14); color: var(--green-2); vertical-align: super; margin-left: 4px; }
    .adj-tag.est { background: rgba(148,163,184,.14); color: var(--muted-2); }
    .pf-trio { display: grid; grid-template-columns: 1fr 0.9fr 1.3fr; gap: 12px; align-items: stretch; margin-top: 14px; }
    @media (max-width: 1100px) { .pf-trio { grid-template-columns: 1fr; } }
    .pf-trio-card { background: var(--panel-2, rgba(255,255,255,0.02)); border: 1px solid var(--line); border-radius: var(--r-md); padding: 14px 17px; }
    .pf-trio-alp { font-family: 'JetBrains Mono', monospace; font-size:30px; font-weight: 800; color: var(--green-2); letter-spacing: -0.02em; }
    .pf-avatar-wrap { position: relative; }
    .pf-rank-chip { position: absolute; top: -7px; left: -7px; background: #f59e0b; color: #1a1206; font-size:12px; font-weight: 800; padding: 2px 7px; border-radius: var(--r-sm); z-index: 3; box-shadow: 0 2px 8px rgba(0,0,0,.4); }
  .rpt-custom { display: flex; flex-wrap: wrap; gap: 14px; align-items: end; padding: 10px 18px 16px; }
  .rpt-custom label { font-size: 11px; color: var(--muted-2); font-weight: 600; display: flex; flex-direction: column; gap: 4px; }
  .rpt-custom input { background: var(--panel-2); border: 1px solid var(--border-hi); border-radius: var(--r-sm); padding: 8px 10px; color: var(--text); font: inherit; font-size: 13px; }
  .rpt-vtabs { display: flex; gap: 4px; padding: 14px 18px 0; border-bottom: 1px solid var(--border); }
  .rpt-vtab { background: none; border: none; border-bottom: 2px solid transparent; color: var(--muted); font: inherit; font-size: 13px; font-weight: 700; padding: 8px 12px; cursor: pointer; margin-bottom: -1px; }
  .rpt-vtab.active { color: var(--cyan); border-bottom-color: var(--cyan); }
  .rpt-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; padding: 18px; }
  .rpt-card { border: 1px solid var(--border); border-radius: var(--r-md); background: var(--panel-2); padding: 14px 16px; }
  .rpt-card-k { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted-2); font-weight: 700; }
  .rpt-card-v { font-size: 22px; font-weight: 800; color: var(--text); margin: 4px 0 2px; font-variant-numeric: tabular-nums; }
  .rpt-card-v.cyan { color: var(--cyan); }
  .rpt-card-s { font-size: 11px; color: var(--muted-2); }
  .rpt-table-wrap { overflow-x: auto; padding: 0 18px 18px; }
  .rpt-table { width: 100%; border-collapse: collapse; font-size: 12px; }
  .rpt-table th { text-align: left; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted-2); font-weight: 700; padding: 8px 10px; border-bottom: 1px solid var(--border); white-space: nowrap; }
  .rpt-table th.num, .rpt-table td.num { text-align: right; font-variant-numeric: tabular-nums; }
  .rpt-table td { padding: 9px 10px; border-bottom: 1px solid var(--border); color: var(--text); white-space: nowrap; }
  .rpt-table td.strong { font-weight: 800; }
  .rpt-table tbody tr:hover { background: rgba(255,255,255,.02); }
  .rpt-tier { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: .04em; padding: 2px 7px; border-radius: var(--r-sm); background: var(--border); color: var(--muted-2); }
  .rpt-tier.t-mga { background: rgba(167,139,250,.18); color: #c4b5fd; }
  .rpt-tier.t-rga { background: rgba(34,211,238,.16); color: var(--cyan); }
  .rpt-tier.t-sa { background: rgba(74,222,128,.16); color: var(--green-2); }
  .rpt-tier.t-ga { background: rgba(251,191,36,.16); color: #fbbf24; }
  .rpt-funnel-sub { padding: 16px 18px 6px; font-size: 12px; color: var(--muted-2); }
  .rpt-funnel { padding: 4px 18px 14px; }
  .rpt-funnel-row { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
  .rpt-funnel-lbl { flex: 0 0 110px; font-size: 12px; font-weight: 700; color: var(--text); }
  .rpt-funnel-track { flex: 1; background: var(--panel-2); border-radius: var(--r-sm); height: 26px; overflow: hidden; }
  .rpt-funnel-fill { height: 100%; background: linear-gradient(90deg, var(--cyan), #0891b2); border-radius: var(--r-sm); }
  .rpt-funnel-val { flex: 0 0 70px; text-align: right; font-weight: 800; font-variant-numeric: tabular-nums; }
  .rpt-trend-head { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 10px; padding: 6px 4px 0; }
  .rpt-trend-chart { display: flex; align-items: flex-end; gap: 10px; padding: 24px 18px; min-height: 200px; }
  .rpt-trend-col { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .rpt-trend-v { font-size: 10px; color: var(--muted-2); font-weight: 700; min-height: 13px; }
  .rpt-trend-bar { width: 60%; min-height: 2px; background: linear-gradient(180deg, var(--cyan), #0891b2); border-radius: 6px 6px 0 0; }
  .rpt-trend-x { font-size: 10px; color: var(--muted-2); }
  @media (max-width: 760px) { .rpt-funnel-lbl { flex-basis: 80px; } }
  .coach-table-wrap { overflow-x: auto; padding: 4px 18px 18px; }
  .coach-table { width: 100%; border-collapse: collapse; font-size: 12px; }
  .coach-table th { text-align: left; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted-2); font-weight: 700; padding: 8px 10px; border-bottom: 1px solid var(--border); white-space: nowrap; }
  .coach-table td { padding: 9px 10px; border-bottom: 1px solid var(--border); color: var(--text); white-space: nowrap; font-variant-numeric: tabular-nums; }
  .coach-table tbody tr:hover { background: rgba(255,255,255,.02); }
  .coach-table tfoot td { font-weight: 800; border-top: 2px solid var(--border-hi); }
  .coach-table tfoot .coach-avg td { color: var(--cyan); border-bottom: none; }
  .coach-vs td:first-child { color: var(--muted-2); }
  .coach-vs .coach-mine { font-weight: 800; color: var(--text); }
  .coach-vs .coach-co { color: var(--muted); }
  .coach-status { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: var(--r-sm); }
  .coach-status.ok { background: rgba(74,222,128,.15); color: var(--green-2); }
  .coach-status.work { background: rgba(248,113,113,.14); color: var(--red); }
  .coach-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
  .coach-primary { padding: 16px 18px; border-left: 3px solid var(--cyan); background: rgba(34,211,238,.05); margin: 0 18px; border-radius: 0 10px 10px 0; }
  .coach-primary-label { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--cyan); font-weight: 700; }
  .coach-primary-metric { font-size: 18px; font-weight: 800; color: var(--text); margin: 3px 0 5px; }
  .coach-primary-tip { font-size: 12px; color: var(--muted-2); line-height: 1.5; }
  .coach-also { padding: 14px 18px 18px; }
  .coach-also-head { font-size: 10px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted-2); font-weight: 700; margin-bottom: 8px; }
  .coach-focus-item { display: flex; gap: 10px; padding: 7px 0; border-bottom: 1px solid var(--border); font-size: 12px; }
  .coach-focus-item:last-child { border-bottom: none; }
  .coach-focus-metric { flex: 0 0 130px; font-weight: 700; color: var(--text); }
  .coach-focus-tip { color: var(--muted-2); line-height: 1.4; }
  .coach-fi { padding: 6px 18px 18px; }
  .coach-fi-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--border); }
  .coach-fi-row:last-child { border-bottom: none; }
  .coach-fi-label { font-size: 12px; color: var(--muted-2); }
  .coach-fi-amt { font-size: 20px; font-weight: 800; color: var(--green-2); font-variant-numeric: tabular-nums; }
  .coach-insights { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 4px 18px 18px; }
  .coach-insight { padding: 14px; border: 1px solid var(--border); border-left: 3px solid var(--gold, #fbbf24); border-radius: 0 10px 10px 0; background: var(--panel-2); }
  .coach-insight-t { font-size: 13px; font-weight: 800; color: var(--text); margin-bottom: 5px; }
  .coach-insight-b { font-size: 12px; color: var(--muted-2); line-height: 1.5; }
  @media (max-width: 860px) { .coach-2col, .coach-insights { grid-template-columns: 1fr; } }

  /* Mobile pass: KPI strip, period pills, PNP table, scope pills */
  @media (max-width: 720px) {
    .pf-kpi-bar { justify-content: flex-start; overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .pf-period { padding: 6px 14px; font-size: 12px; flex-shrink: 0; }   /* bigger touch targets */
    .pf-stat-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .pf-mini-stat .v { font-size: 18px; }
    .pnp-scopes { overflow-x: auto; flex-wrap: nowrap; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
    .pnp-scope { flex-shrink: 0; padding: 6px 12px; font-size: 11px; }
    .pnp-table { font-size: 11px; }
    .pnp-table td { padding: 7px 4px; }
    .pnp-code { display: block; margin: 2px 0 0; }
    .tm-sub { font-size: 10px; }
  }

  /* Team tab row sub-lines (delta + net kept) */
  .tm-sub { font-size: 10px; font-weight: 700; color: var(--muted); margin-top: 2px; }
  .tm-sub.up { color: var(--green-2); }
  .tm-sub.dn { color: var(--red); }

  /* Profile KPI strip + period selector */
  .pf-kpi-bar { display: flex; justify-content: flex-end; padding: 12px 0 2px; }
  .pf-period-pills { display: flex; gap: 5px; }
  .pf-period { padding: 5px 12px; border-radius: var(--r-sm); border: 1px solid var(--border); background: var(--panel); font: inherit; font-size: 11px; font-weight: 700; color: var(--muted-2); cursor: pointer; }
  .pf-period.on { border-color: rgba(34,211,238,.4); background: rgba(34,211,238,.08); color: var(--cyan); }
  .pf-mini-stat .s { font-size: 10px; margin-top: 4px; color: var(--muted); font-weight: 600; }
  .pf-mini-stat .s.up { color: var(--green-2); }
  .pf-mini-stat .s.dn { color: var(--red); }
  .pf-mini-stat .s.dim { color: var(--muted); font-weight: 500; }
  .kpi-bar { height: 4px; border-radius: 999px; background: rgba(255,255,255,.06); margin-top: 7px; overflow: hidden; }
  .kpi-bar > div { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--cyan), var(--green-2)); }

  /* PNP scoped card */
  .pnp-scopes { display: flex; gap: 4px; flex-wrap: wrap; margin: 10px 0 12px; }
  .pnp-scope { padding: 4px 11px; border-radius: var(--r-sm); font-size: 10px; font-weight: 800; letter-spacing: .05em; border: 1px solid var(--border); background: none; color: var(--muted); cursor: pointer; font-family: inherit; }
  .pnp-scope.on { border-color: rgba(34,211,238,.4); background: rgba(34,211,238,.08); color: var(--cyan); }
  .pnp-table { width: 100%; border-collapse: collapse; font-size: 12px; }
  .pnp-table th { text-align: left; color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 6px; }
  .pnp-table td { padding: 8px 6px; border-top: 1px solid var(--border); }
  .pnp-table .tr { text-align: right; }
  .pnp-table .up { color: var(--green-2); font-weight: 700; }
  .pnp-table .dn { color: var(--red); font-weight: 700; }
  .pnp-table .fl { color: var(--muted); }
  .pnp-ytd td { border-top: 1px solid var(--border-hi); font-weight: 800; }
  .pnp-code { font-size: 10px; color: var(--muted); margin-left: 6px; }

  /* Profile photo upload */
  .agent-avatar.photo-edit { position: relative; border: 1px solid var(--border); background: var(--panel-2); cursor: pointer; overflow: hidden; padding: 0; font: inherit; color: inherit; display: grid; place-items: center; }
  .agent-avatar.photo-edit img { width: 100%; height: 100%; object-fit: cover; }
  .agent-avatar.photo-edit .cam { position: absolute; inset: 0; display: grid; place-items: center; font-size: 12px; background: rgba(0,0,0,.55); opacity: 0; transition: opacity .12s; }
  .agent-avatar.photo-edit:hover .cam { opacity: 1; }
  .pf-avatar-wrap { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; }
  .pf-photo-btn { position: absolute; right: -6px; bottom: 18px; width: 28px; height: 28px; border-radius: 50%; border: 1px solid var(--border-hi); background: var(--panel-2); font-size: 13px; cursor: pointer; display: grid; place-items: center; box-shadow: 0 4px 12px rgba(0,0,0,.5); transition: transform .12s; }
  .pf-photo-btn:hover { transform: scale(1.12); border-color: var(--cyan); }
  .pf-photo-remove { border: none; background: none; color: var(--muted); font-size: 10px; font-weight: 600; letter-spacing: .04em; cursor: pointer; padding: 2px 4px; }
  .pf-photo-remove:hover { color: var(--red); }
  @media (max-width: 720px) { .pf-photo-btn { bottom: 12px; width: 24px; height: 24px; font-size: 11px; } }

  /* === PATCH 3 + FRESHNESS + TOASTS === */

  /* Earned VIP medals on profile header */
  .pf-vip-medal { display: inline-flex; align-items: center; gap: 5px; padding: 4px 11px; border-radius: 999px; font-size: 10px; font-weight: 800; letter-spacing: .08em; position: relative; overflow: hidden; white-space: nowrap; }
  .pf-vip-medal.x1 { background: rgba(251,191,36,.1); border: 1px solid rgba(251,191,36,.3); color: var(--gold); }
  .pf-vip-medal.x2 { background: rgba(251,191,36,.16); border: 1px solid rgba(251,191,36,.45); color: var(--gold); box-shadow: 0 0 12px rgba(251,191,36,.15); }
  .pf-vip-medal.crown { background: linear-gradient(135deg, rgba(251,191,36,.22), rgba(245,158,11,.12)); border: 1px solid rgba(251,191,36,.6); color: #fde68a; box-shadow: 0 0 16px rgba(251,191,36,.25); animation: crownPulse 2.2s ease-in-out infinite; }
  @keyframes crownPulse {
    0%, 100% { box-shadow: 0 0 10px rgba(251,191,36,.2); }
    50% { box-shadow: 0 0 22px rgba(251,191,36,.5); }
  }
  .crown-shimmer { position: absolute; inset: 0; background: linear-gradient(105deg, transparent 40%, rgba(255,255,255,.35) 50%, transparent 60%); transform: translateX(-100%); animation: crownShimmer 2.8s ease-in-out infinite; pointer-events: none; }
  @keyframes crownShimmer {
    0% { transform: translateX(-100%); }
    55%, 100% { transform: translateX(100%); }
  }

  /* VIP window month dots on the profile strip */
  .pf-vip-dots { display: inline-flex; gap: 4px; margin-right: 8px; }
  .vip-dot { width: 22px; height: 22px; border-radius: var(--r-sm); display: grid; place-items: center; font-size: 10px; font-weight: 800; border: 1px solid var(--border); color: var(--muted); background: rgba(255,255,255,.02); }
  .vip-dot.hit { background: rgba(251,191,36,.16); border-color: rgba(251,191,36,.5); color: var(--gold); }
  .vip-dot.live { background: rgba(34,211,238,.12); border-color: rgba(34,211,238,.4); color: var(--cyan); animation: pulse 1.6s ease-in-out infinite; }
  .vip-dot.miss { opacity: .45; }
  .vip-dot.future { border-style: dashed; }

  /* Manager downline VIP tracker card */
  .vip-trk-list { display: flex; flex-direction: column; gap: 8px; margin-bottom: 12px; }
  .vip-trk-row { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: var(--r-md); border: 1px solid var(--border); background: rgba(255,255,255,.015); cursor: pointer; }
  .vip-trk-row:hover { border-color: var(--border-hi); }
  .vip-trk-mid { flex: 1; min-width: 0; }
  .vip-trk-name { font-size: 12px; font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .vip-trk-m { font-size: 10px; font-weight: 800; color: var(--cyan); letter-spacing: .08em; margin-left: 6px; }
  .vip-trk-bar { height: 5px; border-radius: 999px; background: rgba(255,255,255,.05); overflow: hidden; margin-top: 5px; }
  .vip-trk-bar > div { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--cyan), var(--green-2)); }
  .vip-trk-bar > div.hit { background: linear-gradient(90deg, var(--gold-2), var(--gold)); }
  .vip-trk-num { font-size: 10px; font-weight: 700; color: var(--muted-2); flex-shrink: 0; }
  .vip-trk-tally { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .vip-trk-tile { padding: 10px; border-radius: var(--r-md); border: 1px solid var(--border); background: rgba(255,255,255,.015); text-align: center; }
  .vip-trk-tile .v { font-size: 18px; font-weight: 800; }
  .vip-trk-tile .l { font-size: 10px; color: var(--muted); font-weight: 700; letter-spacing: .06em; margin-top: 3px; }
  .vip-trk-tile.crown { border-color: rgba(251,191,36,.35); background: rgba(251,191,36,.05); }
  .vip-trk-tile.crown .v { color: var(--gold); }

  /* 10-day pipeline deadline strip */
  .pipe-ddl-strip { padding: 12px 16px; border-radius: var(--r-md); border: 1px solid rgba(248,113,113,.3); background: linear-gradient(90deg, rgba(248,113,113,.07), rgba(251,146,60,.03)); margin-bottom: 16px; }
  .pipe-ddl-title { font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--muted-2); margin-bottom: 8px; }
  .pipe-ddl-title strong { color: var(--red); }
  .pipe-ddl-chips { display: flex; flex-wrap: wrap; gap: 6px; }
  .pipe-ddl-chip { font-size: 10px; font-weight: 700; padding: 4px 10px; border-radius: 999px; }
  .pipe-ddl-chip.bad { background: rgba(248,113,113,.12); border: 1px solid rgba(248,113,113,.35); color: var(--red); }
  .pipe-ddl-chip.warn { background: rgba(251,146,60,.1); border: 1px solid rgba(251,146,60,.3); color: var(--amber); }

  /* Refresh pill */
  .refresh-pill { cursor: pointer; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--border); background: rgba(255,255,255,.02); color: var(--muted-2); }
  .refresh-pill:hover { border-color: var(--border-hi); color: var(--text); }
  .refresh-pill.stale { border-color: rgba(251,146,60,.35); color: var(--amber); }
  .refresh-pill.spinning #refreshIcon { animation: refreshSpin .8s linear infinite; }
  @keyframes refreshSpin { to { transform: rotate(360deg); } }

  /* Toasts */
  #ucToastWrap { position: fixed; bottom: 18px; right: 18px; z-index: 9999; display: flex; flex-direction: column; gap: 8px; max-width: min(360px, calc(100vw - 36px)); }
  .uc-toast { padding: 12px 16px; border-radius: var(--r-md); font-size: 12px; font-weight: 600; line-height: 1.45; background: var(--panel-2); border: 1px solid rgba(248,113,113,.4); color: var(--text); box-shadow: 0 12px 32px rgba(0,0,0,.6); opacity: 0; transform: translateY(8px); transition: opacity .3s, transform .3s; word-break: break-word; }
  .uc-toast.show { opacity: 1; transform: translateY(0); }
  .uc-toast.info { border-color: rgba(34,211,238,.35); }

  /* === MOBILE NAV TRIGGER (hidden on desktop) === */
  .mobile-nav-btn { display: none; width: 36px; height: 36px; border-radius: var(--r-md); background: var(--panel); border: 1px solid var(--border); cursor: pointer; color: var(--text); align-items: center; justify-content: center; font: inherit; }
  .mobile-tabbar { display: none; }
  .view-loading { min-height: 360px; display: grid; place-items: center; }
  .view-loading-card { width: min(420px, 100%); padding: 28px; border-radius: var(--r-lg); border: 1px solid var(--border); background: var(--panel); text-align: center; }
  .view-loading-lines { display: grid; gap: 9px; margin-top: 18px; }
  .view-loading-line { height: 10px; border-radius: 999px; background: linear-gradient(90deg, rgba(255,255,255,.035), rgba(255,255,255,.09), rgba(255,255,255,.035)); background-size: 200% 100%; animation: loadingSweep 1.1s linear infinite; }
  .view-loading-line:nth-child(2) { width: 82%; }
  .view-loading-line:nth-child(3) { width: 63%; }
  @keyframes loadingSweep { to { background-position: -200% 0; } }

  /* Dashboard · Today action center */
  .today-card { margin-bottom: 20px; padding: 18px; border-radius: var(--r-lg); background: linear-gradient(135deg, rgba(34,211,238,.07), rgba(74,222,128,.025)); border: 1px solid rgba(34,211,238,.18); }
  .today-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
  .today-title { font-size: 17px; font-weight: 800; letter-spacing: -.01em; }
  .today-sub { margin-top: 3px; color: var(--muted-2); font-size: 12px; }
  .today-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
  .today-item { min-width: 0; padding: 14px; border-radius: var(--r-md); background: rgba(0,0,0,.32); border: 1px solid var(--border); }
  .today-kicker { color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
  .today-value { margin-top: 7px; font-size: 15px; font-weight: 750; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .today-detail { margin-top: 4px; min-height: 28px; color: var(--muted-2); font-size: 10px; line-height: 1.4; }
  .today-action { display: inline-flex; margin-top: 10px; color: var(--cyan); background: none; border: 0; padding: 0; font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
  @media (max-width: 1280px) {
    .app { grid-template-columns: 220px 1fr 320px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .hero h1 { font-size: 44px; }
    .pf-stat-grid { grid-template-columns: repeat(2, 1fr); }
  }
  @media (max-width: 1100px) {
    .app { grid-template-columns: 220px 1fr; }
    .rail { display: none; }
  }
  @media (max-width: 768px) {
    .app { grid-template-columns: 1fr; }
    .sidebar {
      position: fixed; left: -260px; top: 0; bottom: 0; width: 240px; z-index: 200;
      transition: left .25s ease; box-shadow: 0 0 40px rgba(0,0,0,.6);
    }
    .sidebar.open { left: 0; }
    .sidebar-backdrop {
      position: fixed; inset: 0; background: rgba(0,0,0,.6); z-index: 199;
      opacity: 0; pointer-events: none; transition: opacity .25s;
    }
    .sidebar-backdrop.show { opacity: 1; pointer-events: auto; }
    .main { padding: 16px 14px 104px; }
    .mobile-nav-btn { display: inline-flex; min-width: 44px; min-height: 44px; }
    button, .nav-item, .pill { min-height: 44px; }
    .today-head { align-items: flex-start; }
    .today-grid { grid-template-columns: 1fr; }
    .today-item { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; align-items: center; }
    .today-kicker, .today-value, .today-detail { grid-column: 1; }
    .today-action { grid-column: 2; grid-row: 1 / span 3; margin: 0; padding: 10px; }
    .mobile-tabbar {
      position: fixed; display: grid; grid-template-columns: repeat(4, 1fr);
      left: 10px; right: 10px; bottom: max(10px, env(safe-area-inset-bottom)); z-index: 180;
      padding: 5px; border-radius: var(--r-lg); background: rgba(10,10,10,.96);
      border: 1px solid var(--border-hi); box-shadow: 0 14px 40px rgba(0,0,0,.7);
      backdrop-filter: blur(16px);
    }
    .mobile-tab {
      min-width: 0; min-height: 52px; border: 0; border-radius: var(--r-md); background: transparent;
      color: var(--muted-2); font: inherit; font-size: 10px; font-weight: 700; cursor: pointer;
      display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
    }
    .mobile-tab .mi { font-size: 16px; line-height: 1; }
    .mobile-tab.active { color: var(--cyan); background: rgba(34,211,238,.1); }
    .topbar { gap: 10px; }
    .greet .who { font-size: 14px; }
    .greet .hi { font-size: 11px; }
    .hero { padding: 24px 18px; border-radius: var(--r-lg); }
    .hero h1 { font-size: 28px; }
    .hero p { font-size: 12px; }
    .hero-meta { gap: 12px; padding-top: 12px; margin-top: 14px; }
    .hero-meta .item { flex: 0 0 calc(50% - 6px); }
    .hero-meta .v { font-size: 12px; }
    .stats-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
    .stat { padding: 14px; border-radius: var(--r-md); }
    .stat-val { font-size: 20px; }
    .stat-head { margin-bottom: 10px; }
    .stat-spark { width: 60px; height: 22px; }
    .card { border-radius: var(--r-md); }
    .card-head { padding: 14px 16px; flex-direction: column; align-items: stretch; gap: 8px; }
    /* Compact leaderboard rows on mobile */
    .lb-head, .lb-row { grid-template-columns: 36px 1fr auto; gap: 8px; padding: 10px 14px; }
    .lb-row.me { padding-left: 12px; }
    .lb-head .col-spark, .lb-row .col-spark,
    .lb-head .col-mvmt, .lb-row .col-mvmt,
    .lb-head .col-close, .lb-row .col-close,
    .lb-head .col-sales, .lb-row .col-sales { display: none; }
    .lb-rank { width: 30px; height: 30px; font-size: 12px; border-radius: var(--r-sm); }
    .lb-avatar { width: 32px; height: 32px; font-size: 11px; border-radius: var(--r-sm); }
    .lb-name { font-size: 12px; }
    .lb-role { font-size: 10px; }
    .lb-alp { font-size: 13px; }
    .lb-head { display: none; }
    /* Mobile leaderboard rows show stacked numbers under name */
    .mobile-stack { display: flex; gap: 10px; align-items: baseline; font-size: 10px; color: var(--muted); margin-top: 2px; }
    .mobile-stack .v { font-weight: 700; color: var(--text); }
    .mobile-stack .pos { color: var(--green-2); }
    .mobile-stack .neg { color: var(--red); }
    /* Profile */
    .pf-header { padding: 18px; border-radius: var(--r-lg); }
    .pf-header-inner { grid-template-columns: auto 1fr; gap: 14px; }
    .pf-rank-tile { grid-column: 1 / -1; padding-left: 0; border-left: none; border-top: 1px solid var(--border); padding-top: 12px; margin-top: 4px; text-align: left; }
    .pf-rank-tile .v { font-size: 28px; }
    .pf-name { font-size: 20px; }
    .pf-avatar { width: 60px; height: 60px; font-size: 22px; border-radius: var(--r-lg); }
    .pf-stat-grid { grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 14px; margin-top: 14px; }
    .pf-mini-stat .v { font-size: 18px; }
    .pf-tabs { width: 100%; flex-wrap: wrap; }
    .pf-tab { flex: 1; min-width: 30%; padding: 8px 10px; font-size: 11px; }
    /* Production weeks rows compact */
    .pf-weeks-row { grid-template-columns: 70px 1fr 70px 50px; gap: 8px; padding: 10px 14px; }
    .pf-weeks-row .col-close-pf, .pf-weeks-row .col-pace-pf { display: none; }
    .pf-weeks-row .wk { font-size: 11px; }
    .pf-weeks-row .wk small { font-size: 10px; }
    .pf-weeks-row .alp { font-size: 12px; }
    .ref-funnel-row { grid-template-columns: 1fr; gap: 6px; padding: 12px 0; }
    .ref-funnel-row .conv, .ref-funnel-row .total { text-align: left; }
    /* Hide preview banner text on tiny screens */
    .preview-banner .right { display: none; }
  }
  @media (max-width: 480px) {
    .stats-grid { grid-template-columns: 1fr; }
    .hero h1 { font-size: 22px; }
  }

  /* ── SLICE 11: thorough mobile sweep ─────────────────────────
     Targets every screen built across Slices 1-9 that wasn't fully
     tested on phone-width viewports. */

  @media (max-width: 768px) {
    /* Modals: full-width on phone, scrollable if tall */
    .adm-modal-bg {
      padding: 12px 8px;
      align-items: flex-start;
    }
    .adm-modal {
      max-width: 100% !important;
      max-height: calc(100vh - 24px);
      overflow-y: auto;
      border-radius: var(--r-md);
    }
    .adm-modal-body {
      padding: 14px 14px 16px;
    }
    .adm-modal-head {
      padding: 14px 14px 8px;
    }
    .adm-modal-title { font-size: 15px; }
    .adm-modal-sub { font-size: 12px; }

    /* Force modal grids to stack on phone */
    .adm-modal-body > div[style*="grid-template-columns"] {
      grid-template-columns: 1fr !important;
      gap: 10px !important;
    }
    /* Action button rows go full-width too */
    .adm-modal-body > div[style*="justify-content"] {
      flex-wrap: wrap;
      gap: 8px;
    }
    .adm-modal-body .adm-btn {
      flex: 1 1 100%;
      min-height: 40px;
    }

    /* Admin Hub: card padding tighter */
    .adm-card summary { padding: 14px 16px; }
    .adm-card-title { font-size: 13px; }
    .adm-subtitle { font-size: 12px; }
    .adm-count { font-size: 10px; }
    .adm-body { padding: 14px 12px; }
    /* Force all admin grids inside details cards to stack */
    .adm-body > div[style*="grid-template-columns"] {
      grid-template-columns: 1fr !important;
      gap: 10px !important;
    }
    /* Tables always scroll horizontally on small screens */
    .adm-table-wrap {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      max-width: 100%;
    }
    .adm-table { min-width: 520px; font-size: 11px; }
    .adm-table th, .adm-table td { padding: 6px 8px; }

    /* Pipeline: tighter cards, stacked actions */
    .pipe-grid { grid-template-columns: 1fr; gap: 10px; }
    /* View toggle: compact icons, hide labels under 480 */
    .pipe-view-toggle button { padding: 5px 9px; font-size: 10px; }
    /* List view: keep horizontal scroll, shrink padding */
    .pipe-list-table thead th { padding: 10px 8px; font-size: 10px; }
    .pipe-list-table tbody td { padding: 8px; font-size: 11px; }
    .pipe-list-mono { font-size: 10px; }
    .pipe-card { padding: 12px; gap: 8px; }
    .pipe-card-name { font-size: 13px; }
    .pipe-card-sub { font-size: 10px; }
    .pipe-card-meta-row { font-size: 10px; }
    .pipe-card-actions { gap: 6px; }
    .pipe-action { font-size: 10px; padding: 8px 6px; min-height: 36px; }
    .pipe-action.danger { padding: 8px 10px; }
    .pipe-buckets {
      display: flex;
      gap: 6px;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      padding-bottom: 6px;
      margin-bottom: 14px;
    }
    .pipe-bucket-btn { flex: 0 0 auto; font-size: 11px; padding: 8px 14px; }
    /* Pipeline filter row stacks */
    .pipe-controls { flex-direction: column; align-items: stretch; gap: 8px; }
    .pipe-provider-pills { overflow-x: auto; -webkit-overflow-scrolling: touch; flex-wrap: nowrap; }
    .pipe-prov-btn { flex: 0 0 auto; font-size: 11px; }
    .pipe-sort { justify-content: space-between; }
    .pipe-sort-select { flex: 1; }

    /* Competitions: tighter rows, wrap header */
    .comp-card { margin-bottom: 12px; }
    .comp-card .card-head { padding: 14px; flex-direction: column; align-items: stretch; gap: 8px; }
    .comp-card .card-head > div:last-child { display: flex; gap: 6px; flex-wrap: wrap; }
    .comp-row { grid-template-columns: 42px 1fr auto; gap: 10px; padding: 10px 14px; }
    .comp-rank { width: 30px; height: 30px; font-size: 12px; border-radius: var(--r-sm); }
    .comp-name { font-size: 13px; }
    .comp-val { font-size: 14px; }
    .comp-unit { display: none; }
    .comp-ticker { margin: 0 14px 12px; padding: 10px 12px; }
    .comp-ticker-num { font-size: 15px; }
    .comp-ticker-foot { font-size: 10px; flex-direction: column; gap: 2px; align-items: flex-start; }
    /* Competition roster picker: bigger touch targets */
    .comp-roster-row { padding: 10px 10px; }
    .comp-roster-row input { width: 18px; height: 18px; }
    .comp-roster-name { font-size: 14px; }
    .comp-roster-meta { font-size: 10px; }
    /* Custom entries inputs */
    .comp-entry-row { padding: 12px 10px; }
    .comp-entry-row input { min-width: 90px; }

    /* Manager Hub: stack rollup table, hide non-essential columns */
    .mh-rollup-table { font-size: 11px; }
    .mh-rollup-table th, .mh-rollup-table td { padding: 8px 6px; }
    .mh-sparkline { width: 80px !important; }

    /* Codes Detail: month-by-month list */
    .pf-codes-row { grid-template-columns: 1fr; gap: 6px; padding: 12px 14px; }
    .pf-codes-month-label { font-size: 13px; }
    .cd-pill { font-size: 10px; padding: 3px 7px; }

    /* Check-in: lead types grid */
    .ci-lt-grid {
      grid-template-columns: 1fr 1fr !important;
      gap: 6px;
    }
    .ci-lt-grid input { font-size: 14px; padding: 8px 6px; }
    .ci-lt-grid label { font-size: 10px; }

    /* Hires migration / Net migration tables — extend scroll behavior */
    #hiresMigPreviewTable, #netMigPreviewTable { min-width: 640px; font-size: 10px; }
    #hiresMigPreviewTable th, #hiresMigPreviewTable td,
    #netMigPreviewTable th, #netMigPreviewTable td { padding: 6px 5px; }

    /* Hero buttons / topbar action area */
    .topbar > div[style*="flex"]:last-child { flex-wrap: wrap; gap: 8px; }
    .greet { min-width: 0; flex: 1; }

    /* Buttons in headers full-width on phone */
    .cyan-btn, .ghost-btn { min-height: 36px; }

    /* YoY pill: stack the two side-by-side pills */
    .yoy-pill { padding: 10px 12px; }
    .yoy-this { font-size: 18px; }

    /* Quick Add Code modal — already covered by .adm-modal sweep, just tighter */

    /* Avatar fallback — slightly smaller on phone everywhere */
    .pf-avatar { width: 52px; height: 52px; font-size: 19px; }
  }

  @media (max-width: 480px) {
    /* Even tighter at small phone width */
    .preview-banner { font-size: 10px; padding: 6px 10px; gap: 8px; }
    .preview-banner .right { display: none; }
    .pipe-card { padding: 10px; }
    .comp-ticker-row > div:nth-child(2) { text-align: left; }
    .stat { padding: 12px; }
    .stat-val { font-size: 18px; }
    /* Make tabs scroll horizontally instead of wrapping (more pleasant on small phones) */
    .pf-tabs {
      flex-wrap: nowrap;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      width: 100%;
    }
    .pf-tab { flex: 0 0 auto; min-width: auto; padding: 8px 14px; }
  }
/* Client Paperwork */
.pw-page{max-width:1440px;margin:0 auto;padding:4px 0 40px}.pw-hero{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:24px}.pw-hero h1{font-size:34px;letter-spacing:-1.2px;margin:5px 0 7px}.pw-hero p{max-width:720px;color:var(--muted);line-height:1.55;margin:0}.pw-kicker{font-size:10px;font-weight:800;letter-spacing:2px;color:var(--cyan)}.pw-status{white-space:nowrap;border:1px solid rgba(250,204,21,.25);background:rgba(250,204,21,.07);color:#fde68a;padding:9px 13px;border-radius:999px;font-size:11px;font-weight:700}.pw-status span{display:inline-block;width:7px;height:7px;border-radius:50%;background:#facc15;margin-right:7px}.pw-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:20px;align-items:start}.pw-form{display:grid;gap:16px}.pw-card,.pw-preview{border:1px solid var(--border);background:var(--card);border-radius: var(--r-lg)}.pw-card{padding:22px}.pw-section-head{display:flex;gap:13px;align-items:flex-start;margin-bottom:19px}.pw-section-head>span{display:grid;place-items:center;width:31px;height:31px;border-radius: var(--r-md);background:rgba(34,211,238,.1);color:var(--cyan);font-size:11px;font-weight:900}.pw-section-head h2{font-size:16px;margin:0 0 3px}.pw-section-head p{font-size:11px;color:var(--muted);margin:0}.pw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.pw-grid label,.pw-card>label{display:grid;gap:7px;color:var(--muted-2);font-size:10px;font-weight:800;letter-spacing:.35px;text-transform:uppercase}.pw-grid input,.pw-grid select,.pw-acc-item input:not([type=checkbox]){width:100%;box-sizing:border-box;background:var(--bg);border:1px solid var(--border);border-radius: var(--r-md);color:var(--text);padding:11px 12px;font:inherit;outline:none}.pw-grid input:focus,.pw-grid select:focus,.pw-acc-item input:focus{border-color:var(--cyan)}.pw-note{margin-top:14px;padding:10px 12px;border-radius: var(--r-md);background:rgba(34,211,238,.06);color:var(--muted);font-size:11px}.pw-subhead{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--muted-2);margin:22px 0 10px}.pw-acc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.pw-acc-item{display:grid;grid-template-columns:1fr 110px;align-items:center;gap:8px;border:1px solid var(--border);border-radius: var(--r-md);padding:9px 10px}.pw-acc-item label{font-size:11px;color:var(--text)}.pw-acc-item input:not([type=checkbox]){padding:8px}.pw-acc-item input:disabled{opacity:.4}.pw-agent-card{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius: var(--r-md);padding:13px}.pw-agent-avatar{width:40px;height:40px;border-radius: var(--r-md);background:linear-gradient(135deg,var(--cyan),#2563eb);display:grid;place-items:center;color:#04131a;font-weight:900}.pw-agent-card>div:nth-child(2){display:grid;gap:3px}.pw-agent-card strong{font-size:13px}.pw-agent-card span{font-size:10px;color:var(--muted)}.pw-agent-card .pw-locked{margin-left:auto;border:1px solid var(--border);border-radius:99px;padding:4px 8px}.pw-sign{margin-top:14px!important;display:block!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important;line-height:1.5}.pw-sign input{margin-right:7px}.pw-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}.pw-send{border:1px solid var(--border);background:rgba(255,255,255,.03);color:var(--muted);padding:11px 15px;border-radius: var(--r-md);font-weight:700;cursor:not-allowed}.pw-preview{position:sticky;top:18px;overflow:hidden}.pw-preview-top{display:grid;gap:5px;padding:22px;background:linear-gradient(145deg,rgba(34,211,238,.13),rgba(37,99,235,.08))}.pw-preview-top span{font-size: 10px;font-weight:900;letter-spacing:1.5px;color:var(--cyan)}.pw-preview-top b{font-size:20px}.pw-preview-top small{color:var(--muted);line-height:1.4}.pw-preview-section{padding:17px 20px;border-top:1px solid var(--border)}.pw-preview-section h3{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--muted-2);margin:0 0 10px}.pw-preview-section p{font-size:11px;line-height:1.55;color:var(--text);margin:0}.pw-doc-row{display:flex;gap:8px;font-size:11px;line-height:1.4;margin:7px 0}.pw-doc-row span:first-child{color:var(--green-2)}.pw-email-route{display:grid;gap:4px;padding:17px 20px;border-top:1px solid var(--border);background:rgba(255,255,255,.015)}.pw-email-route span{font-size: 10px;letter-spacing:1.2px;color:var(--muted);margin-top:7px}.pw-email-route b{font-size:11px;font-weight:600;overflow-wrap:anywhere}.pw-guardrail{padding:11px 20px;background:rgba(250,204,21,.07);border-top:1px solid rgba(250,204,21,.14);font-size:10px;color:#fde68a}.hidden{display:none!important}@media(max-width:1050px){.pw-layout{grid-template-columns:1fr}.pw-preview{position:static}}@media(max-width:650px){.pw-hero{display:grid}.pw-grid,.pw-acc-grid{grid-template-columns:1fr}.pw-actions{align-items:stretch;flex-direction:column}.pw-actions button{width:100%}.pw-acc-item{grid-template-columns:1fr 105px}}
.pw-pdf-status{text-align:right;color:var(--muted);font-size:11px}.pw-downloads{display:grid;gap:8px}.pw-download{display:block;border:1px solid rgba(34,211,238,.28);background:rgba(34,211,238,.07);color:var(--cyan);border-radius: var(--r-md);padding:10px 12px;text-decoration:none;font-size:11px;font-weight:700}.pw-download:hover{background:rgba(34,211,238,.12)}
.pw-union-upload{margin-top:14px;border:1px solid rgba(34,211,238,.24);background:rgba(34,211,238,.06);border-radius: var(--r-md);padding:13px;display:grid;grid-template-columns:1fr auto;gap:5px 14px;align-items:center}.pw-union-upload div{display:grid;gap:3px}.pw-union-upload strong{font-size:12px}.pw-union-upload span,.pw-union-upload small{font-size:10px;color:var(--muted)}.pw-union-upload small{grid-column:1/-1}.pw-upload-button{background:var(--cyan);color:#04131a!important;border-radius: var(--r-sm);padding:9px 12px;cursor:pointer;font-size:10px!important;font-weight:900!important;text-transform:none!important}.pw-upload-button input{display:none}.pw-contact-bg{position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.82);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:20px}.pw-contact-bg.open{display:flex}.pw-contact-modal{width:min(460px,100%);background:var(--panel);border:1px solid var(--border-hi);border-radius: var(--r-xl);padding:26px;box-shadow:0 25px 80px rgba(0,0,0,.55)}.pw-contact-modal h2{font-size:22px;margin:7px 0}.pw-contact-modal p{font-size:12px;line-height:1.55;color:var(--muted);margin:0 0 18px}.pw-contact-modal label{display:grid;gap:7px;margin:12px 0;color:var(--muted-2);font-size:10px;font-weight:800;text-transform:uppercase}.pw-contact-modal input{background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius: var(--r-md);padding:12px}.pw-contact-modal button{width:100%;margin-top:8px}.pw-contact-error{min-height:17px;color:#f87171;font-size:11px}
.pw-live-send{border:1px solid rgba(74,222,128,.35);background:rgba(74,222,128,.12);color:var(--green-2);padding:11px 15px;border-radius: var(--r-md);font-weight:800;cursor:pointer}.pw-live-send:hover{background:rgba(74,222,128,.2)}.pw-live-send:disabled{opacity:.55;cursor:wait}.pw-live-ready{background:rgba(74,222,128,.07);border-top-color:rgba(74,222,128,.18);color:var(--green-2)}

/* ── Mobile comfort pass ───────────────────────────────────────
   Keeps the desktop layout untouched while making the shell, long forms,
   resource cards, and both color themes easier to scan and tap on phones. */
@media (max-width: 768px) {
  /* Compact two-row header: identity first, controls second. */
  .main {
    padding: 12px 12px calc(96px + env(safe-area-inset-bottom));
  }
  .topbar {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 7px 10px;
    align-items: center;
    margin-bottom: 16px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--border);
  }
  .mobile-nav-btn {
    width: 44px;
    height: 44px;
    padding: 0;
  }
  .greet {
    min-width: 0;
    line-height: 1.25;
  }
  .greet .hi,
  .greet .who {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .greet .hi { font-size: 10px; }
  .greet .who { font-size: 14px; }
  .topbar-tools {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 8px;
    width: 100%;
    margin-left: 0;
  }
  .topbar-tools .pill {
    min-width: 0;
    min-height: 44px;
    justify-content: center;
    padding: 8px 10px;
    overflow: hidden;
    white-space: nowrap;
  }
  .topbar-tools .theme-toggle {
    width: 44px;
    padding-inline: 0;
  }
  #refreshPill { font-size: 11px; }
  #weekPill {
    max-width: 148px;
    font-size: 10px;
    text-overflow: ellipsis;
  }

  /* The full drawer is easier to read; the quick bar stays compact. */
  .sidebar {
    left: -310px;
    width: min(88vw, 300px);
    background: var(--bg-2);
    box-shadow: 18px 0 48px rgba(0,0,0,.58);
  }
  .brand {
    padding: max(18px, env(safe-area-inset-top)) 18px 16px;
  }
  .nav { padding: 10px; }
  .nav-section {
    padding: 15px 11px 7px;
    color: var(--muted-2);
    font-size: 10px;
  }
  .nav-item {
    min-height: 48px;
    gap: 13px;
    padding: 11px 12px;
    font-size: 14px;
    line-height: 1.25;
  }
  .nav-item .ico {
    width: 18px;
    height: 18px;
  }
  .mobile-tabbar {
    left: 8px;
    right: 8px;
    padding: 5px;
    border-radius: var(--r-lg);
  }
  .mobile-tab {
    min-height: 56px;
    font-size: 11px;
    color: var(--muted-2);
  }
  .mobile-tab .mi { font-size: 18px; }

  /* Long check-in: comfortable fields, labels, warnings, and referral rows. */
  .ci-grid {
    grid-template-columns: 1fr 1fr;
    gap: 14px 10px;
  }
  .ci-field { gap: 7px; }
  .ci-field label {
    color: var(--muted-2);
    font-size: 10px;
    line-height: 1.3;
  }
  .ci-field input,
  .ci-field textarea {
    min-height: 48px;
    padding: 12px;
    background: var(--panel-2);
    border-color: var(--border-hi);
    font-size: 16px; /* Prevents iOS from zooming focused inputs. */
  }
  .ci-field textarea {
    min-height: 88px;
    line-height: 1.45;
  }
  .ci-section-title {
    margin: 22px 0 12px;
    line-height: 1.4;
  }
  .lt-grid {
    grid-template-columns: minmax(78px, 1.35fr) repeat(3, minmax(50px, .8fr));
    gap: 7px 5px;
    padding: 12px 10px 14px;
  }
  .lt-grid > div { min-width: 0; }
  .lt-header {
    font-size: 10px !important;
    letter-spacing: .08em;
    overflow-wrap: anywhere;
  }
  .lt-grid input {
    min-height: 44px;
    padding: 8px 3px;
    background: var(--panel-2);
    border-color: var(--border-hi);
    font-size: 16px;
  }
  .ci-warn {
    padding: 13px;
    font-size: 12px;
    line-height: 1.5;
  }
  .ref-sale-row {
    flex-direction: column;
    align-items: stretch !important;
    gap: 12px !important;
  }
  .ref-sale-row > .ci-field {
    width: 100% !important;
    flex: 1 1 auto !important;
  }
  #addRefSaleBtn {
    width: 100%;
    min-height: 48px;
  }
  .ci-submit-row {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .ci-submit {
    width: 100%;
    min-height: 50px;
  }
  .ci-status {
    line-height: 1.5;
    text-align: left;
  }

  /* Client Paperwork: one clear reading column with full-size controls. */
  .pw-page { padding: 0 0 28px; }
  .pw-hero {
    gap: 12px;
    margin-bottom: 16px;
  }
  .pw-hero h1 {
    margin: 4px 0 6px;
    font-size: 27px;
    line-height: 1.12;
  }
  .pw-hero p {
    font-size: 12px;
    line-height: 1.55;
  }
  .pw-status {
    justify-self: start;
    white-space: normal;
    line-height: 1.4;
  }
  .pw-form { gap: 12px; }
  .pw-card,
  .pw-preview {
    background: var(--panel);
    border-color: var(--border-hi);
    border-radius: var(--r-lg);
  }
  .pw-card { padding: 16px 14px; }
  .pw-section-head {
    gap: 11px;
    margin-bottom: 16px;
  }
  .pw-section-head > span {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
  }
  .pw-section-head h2 {
    font-size: 16px;
    line-height: 1.3;
  }
  .pw-section-head p {
    font-size: 11px;
    line-height: 1.45;
  }
  .pw-grid,
  .pw-acc-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .pw-grid input,
  .pw-grid select,
  .pw-acc-item input:not([type=checkbox]) {
    min-height: 48px;
    padding: 11px 12px;
    border-color: var(--border-hi);
    font-size: 16px;
  }
  .pw-acc-item {
    grid-template-columns: minmax(0, 1fr) 104px;
    min-height: 58px;
    padding: 9px 10px;
  }
  .pw-agent-card {
    align-items: flex-start;
    flex-wrap: wrap;
    padding: 12px;
  }
  .pw-agent-card > div:nth-child(2) {
    min-width: 0;
    flex: 1;
  }
  .pw-agent-card .pw-locked { margin-left: auto; }
  .pw-sign {
    padding: 10px 0;
    font-size: 12px !important;
  }
  .pw-sign input {
    width: 20px;
    height: 20px;
    vertical-align: middle;
  }
  .pw-actions button {
    width: 100%;
    min-height: 48px;
  }
  .pw-pdf-status {
    text-align: left;
    line-height: 1.45;
  }
  .pw-download,
  .pw-upload-button {
    min-height: 46px;
    display: flex;
    align-items: center;
  }
  .pw-union-upload {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .pw-union-upload small { grid-column: 1; }
  .pw-upload-button { justify-content: center; }
  .pw-preview-top { padding: 18px 16px; }
  .pw-preview-section,
  .pw-email-route { padding: 15px 16px; }
  .pw-contact-bg {
    align-items: flex-end;
    padding: 10px;
  }
  .pw-contact-modal {
    max-height: calc(100dvh - 20px);
    overflow-y: auto;
    border-radius: 18px 18px 12px 12px;
    padding: 20px 16px calc(16px + env(safe-area-inset-bottom));
  }
  .pw-contact-modal input {
    min-height: 48px;
    font-size: 16px;
  }

  /* Current resource library and the upcoming mockup share these hooks. */
  .res-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    padding: 14px !important;
  }
  .res-card {
    gap: 12px !important;
    padding: 14px 12px !important;
    background: var(--panel-2) !important;
    border-color: var(--border-hi) !important;
  }
  .res-title {
    font-size: 15px !important;
    line-height: 1.3;
  }
  .res-sub {
    margin: 4px 0 10px !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
  }
  .res-actions { gap: 8px !important; }
  .res-open {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 13px !important;
  }
  .res-admin button {
    min-height: 40px;
    padding: 7px 10px !important;
  }
  .res-modal-bg {
    align-items: flex-end !important;
    padding: 10px !important;
  }
  .res-modal {
    max-height: calc(100dvh - 20px);
    overflow-y: auto;
    padding: 18px 15px calc(16px + env(safe-area-inset-bottom)) !important;
  }
  .res-field input {
    min-height: 48px;
    font-size: 16px !important;
  }
  .res-modal-btns {
    flex-direction: column-reverse;
  }
  .res-modal-btns button {
    width: 100%;
    min-height: 48px;
  }

  /* Explicit theme contrast for mobile surfaces that used translucent fills. */
  :root[data-theme="day"] .topbar {
    border-bottom-color: rgba(15,23,42,.15);
  }
  :root[data-theme="day"] .sidebar {
    background: #ffffff;
    box-shadow: 18px 0 42px rgba(15,23,42,.22);
  }
  :root[data-theme="day"] .mobile-tab {
    color: #465367;
  }
  :root[data-theme="day"] .ci-field input,
  :root[data-theme="day"] .ci-field textarea,
  :root[data-theme="day"] .lt-grid input,
  :root[data-theme="day"] .pw-grid input,
  :root[data-theme="day"] .pw-grid select,
  :root[data-theme="day"] .pw-acc-item input:not([type=checkbox]) {
    background: #ffffff;
    border-color: rgba(15,23,42,.22);
    color: #172033;
  }
  :root[data-theme="day"] .pw-status {
    background: rgba(161,98,7,.09);
    border-color: rgba(161,98,7,.3);
    color: #7a4b06;
  }
  :root[data-theme="day"] .pw-guardrail {
    background: rgba(161,98,7,.08);
    border-top-color: rgba(161,98,7,.2);
    color: #6f4507;
  }
  :root[data-theme="day"] .pw-email-route {
    background: rgba(15,23,42,.025);
  }
  :root[data-theme="day"] .res-card {
    background: #ffffff !important;
    box-shadow: 0 5px 16px rgba(15,23,42,.06);
  }
}

@media (max-width: 480px) {
  .topbar-tools {
    grid-template-columns: 44px minmax(0, 1fr) minmax(98px, auto);
  }
  #weekPill { max-width: 122px; }
  .ci-grid { grid-template-columns: 1fr; }
  .pw-acc-item { grid-template-columns: minmax(0, 1fr) 96px; }
  .res-card { align-items: flex-start; }
  .res-ico {
    width: 40px !important;
    height: 40px !important;
  }
}

/* Admin Hub · secure paperwork email audit */
.email-backend-note{display:flex;gap:8px;align-items:flex-start;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(34,211,238,.18);border-radius: var(--r-md);background:rgba(34,211,238,.055);color:var(--muted-2);font-size:12px;line-height:1.55}.email-backend-note strong{color:var(--text);white-space:nowrap}.email-stats{display:grid;grid-template-columns:repeat(6,minmax(100px,1fr));gap:9px;margin-bottom:16px}.email-stat{display:grid;gap:3px;padding:13px 14px;border:1px solid var(--border);border-radius: var(--r-md);background:var(--panel-2)}.email-stat strong{font-size:21px;line-height:1;font-variant-numeric:tabular-nums}.email-stat span{font-size: 10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800}.email-stat.sent strong{color:var(--green-2)}.email-stat.failed strong{color:var(--red)}.email-stat.pending strong{color:var(--gold)}.email-stat.sale strong{color:var(--cyan)}.email-stat.nosale strong{color:#a78bfa}.email-backend-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) 145px 145px auto auto;gap:8px;align-items:center}.email-backend-search{position:relative;display:block}.email-backend-search>span{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--muted);pointer-events:none}.email-backend-search input{width:100%;padding-left:34px}.email-backend-meta{display:flex;justify-content:space-between;gap:12px;margin:10px 1px 12px;color:var(--muted);font-size:10px}.email-audit-list{display:grid;border:1px solid var(--border);border-radius: var(--r-md);overflow:hidden}.email-audit-row{background:var(--panel-2)}.email-audit-row+.email-audit-row{border-top:1px solid var(--border)}.email-audit-main{display:grid;grid-template-columns:70px minmax(170px,1.2fr) minmax(160px,1fr) 90px 145px auto;gap:12px;align-items:center;padding:12px 14px}.email-status{display:inline-flex;justify-content:center;align-items:center;width:fit-content;min-width:54px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size: 10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.email-status.sent{color:var(--green-2);background:rgba(52,211,153,.08);border-color:rgba(52,211,153,.24)}.email-status.failed{color:var(--red);background:rgba(248,113,113,.08);border-color:rgba(248,113,113,.24)}.email-status.pending{color:var(--gold);background:rgba(250,204,21,.08);border-color:rgba(250,204,21,.24)}.email-status.test{color:#a78bfa;background:rgba(167,139,250,.08);border-color:rgba(167,139,250,.24)}.email-status.unknown{color:var(--muted)}.email-recipient,.email-route-agent{display:grid;min-width:0;gap:2px}.email-recipient strong,.email-route-agent strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-recipient span,.email-route-agent span,.email-date{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-outcome{font-size:10px;font-weight:700;color:var(--muted-2)}.email-detail-button{min-width:68px}.email-audit-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;padding:13px 14px 15px 96px;border-top:1px solid var(--border);background:rgba(255,255,255,.015)}.email-audit-details>div{display:grid;gap:3px;min-width:0}.email-audit-details span{font-size: 10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.email-audit-details strong{font-size:10px;line-height:1.45;color:var(--muted-2);overflow-wrap:anywhere}.email-audit-details .email-error-detail{grid-column:1/-1;padding:9px 11px;border-radius: var(--r-md);background:rgba(248,113,113,.07);border:1px solid rgba(248,113,113,.18)}.email-audit-details .email-error-detail strong{color:var(--red)}.email-mono{font-family:'JetBrains Mono',monospace}.email-empty{padding:28px;text-align:center;color:var(--muted);font-size:12px}.email-empty.error{color:var(--red)}

@media(max-width:1050px){.email-stats{grid-template-columns:repeat(3,minmax(100px,1fr))}.email-backend-toolbar{grid-template-columns:minmax(220px,1fr) repeat(2,135px) auto}.email-backend-toolbar>.adm-btn-cyan{grid-column:1/-1}.email-audit-main{grid-template-columns:65px minmax(150px,1.2fr) minmax(140px,1fr) 80px auto}.email-date{display:none}.email-audit-details{padding-left:91px}}

/* Client Paperwork must respond to the center workspace width, not the full window. */
.pw-page{container-name:paperwork;container-type:inline-size}
@container paperwork (max-width:900px){
  .pw-layout{grid-template-columns:minmax(0,1fr)}
  .pw-preview{position:static}
}
@container paperwork (max-width:620px){
  .pw-hero{display:grid}
  .pw-grid,.pw-acc-grid{grid-template-columns:minmax(0,1fr)}
  .pw-actions{align-items:stretch;flex-direction:column}
  .pw-actions button{width:100%}
  .pw-acc-item{grid-template-columns:minmax(0,1fr) 105px}
}
@media(max-width:700px){.email-backend-note{display:grid}.email-backend-note strong{white-space:normal}.email-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.email-backend-toolbar{grid-template-columns:1fr 1fr}.email-backend-search{grid-column:1/-1}.email-backend-toolbar>.adm-btn-cyan{grid-column:auto}.email-backend-meta{display:grid}.email-audit-main{grid-template-columns:60px minmax(0,1fr) auto;gap:8px 10px}.email-route-agent{grid-column:2/4}.email-outcome{grid-column:2}.email-detail-button{grid-column:3;grid-row:3}.email-audit-details{grid-template-columns:1fr;padding:13px 14px 15px}.email-audit-details .email-error-detail{grid-column:auto}}

/* Admin Hub · editable record baselines */
.record-baseline-note{display:flex;gap:8px;align-items:flex-start;margin-bottom:16px;padding:12px 14px;border:1px solid rgba(251,191,36,.2);border-radius: var(--r-md);background:rgba(251,191,36,.06);color:var(--muted-2);font-size:12px;line-height:1.55}.record-baseline-note strong{color:var(--text);white-space:nowrap}.record-baseline-editor{display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(180px,1.1fr) minmax(130px,.65fr) auto;gap:10px;align-items:end}.record-baseline-editor>div{display:grid;gap:6px}.record-baseline-editor select,.record-baseline-editor input{width:100%;min-height:40px}.record-baseline-editor button{min-height:40px}.record-baseline-current{display:grid;grid-template-columns:auto auto auto auto;justify-content:start;gap:7px 18px;margin:12px 0 4px;padding:10px 12px;border-radius: var(--r-md);background:var(--panel-2);font-size:10px}.record-baseline-current span{color:var(--muted)}.record-baseline-current strong{color:var(--text);font-variant-numeric:tabular-nums}.record-baseline-status{min-height:19px;margin:5px 0 10px}.record-baseline-list-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:12px 0 8px}.record-baseline-list-head strong{font-size:11px;text-transform:uppercase;letter-spacing:.09em}.record-baseline-list-head span{font-size:10px;color:var(--muted)}.record-baseline-list{display:grid;border:1px solid var(--border);border-radius: var(--r-md);overflow:hidden}.record-baseline-row{display:grid;grid-template-columns:minmax(180px,1fr) 110px auto auto;gap:10px;align-items:center;padding:11px 12px;background:var(--panel-2)}.record-baseline-row+.record-baseline-row{border-top:1px solid var(--border)}.record-baseline-row>div{display:grid;gap:2px;min-width:0}.record-baseline-row>div strong{font-size:11px}.record-baseline-row>div span{font-size:10px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.record-baseline-row>b{font-size:13px;color:var(--gold);font-variant-numeric:tabular-nums}.record-baseline-remove{color:var(--red)!important;border-color:rgba(248,113,113,.24)!important}.record-baseline-empty{padding:24px;text-align:center;color:var(--muted);font-size:11px}
@media(max-width:900px){.record-baseline-editor{grid-template-columns:1fr 1fr}.record-baseline-editor button{width:100%}.record-baseline-row{grid-template-columns:minmax(160px,1fr) 90px auto auto}}
@media(max-width:600px){.record-baseline-note{display:grid}.record-baseline-note strong{white-space:normal}.record-baseline-editor{grid-template-columns:1fr}.record-baseline-current{grid-template-columns:1fr auto}.record-baseline-list-head{display:grid}.record-baseline-row{grid-template-columns:minmax(0,1fr) auto}.record-baseline-row>b{text-align:right}.record-baseline-row button{width:100%}.record-baseline-row>button:first-of-type{grid-column:1}.record-baseline-row>button:last-of-type{grid-column:2}}
.qb-nav-badge{margin-left:auto;padding:2px 6px;border:1px solid rgba(34,211,238,.25);border-radius:999px;background:rgba(34,211,238,.08);color:var(--cyan);font-size: 10px;font-weight:900;letter-spacing:.08em}.qb-page{max-width:1050px;margin:0 auto;padding:4px 0 40px}.qb-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:20px}.qb-kicker{color:var(--cyan);font-size: 10px;font-weight:900;letter-spacing:.18em}.qb-hero h1{margin:5px 0 6px;font-size:34px;letter-spacing:-1.2px}.qb-hero p{max-width:680px;margin:0;color:var(--muted);font-size:13px;line-height:1.55}.qb-clear{border:1px solid var(--border);border-radius: var(--r-md);background:var(--panel);color:var(--muted-2);padding:9px 13px;font:inherit;font-size:11px;font-weight:700;cursor:pointer}.qb-clear:hover{border-color:var(--border-hi);color:var(--text)}.qb-clear:disabled{opacity:.5;cursor:not-allowed}.qb-shell{overflow:hidden;border:1px solid var(--border);border-radius: var(--r-xl);background:var(--panel);box-shadow:0 18px 55px rgba(0,0,0,.16)}.qb-trust{display:flex;gap:10px;padding:12px 16px;border-bottom:1px solid rgba(251,191,36,.16);background:rgba(251,191,36,.055);color:var(--muted);font-size:10px;line-height:1.5}.qb-trust>span{color:var(--gold);font-size:14px}.qb-trust strong{color:var(--text)}.qb-messages{display:flex;min-height:360px;max-height:56vh;overflow-y:auto;flex-direction:column;gap:16px;padding:24px}.qb-message{display:flex;align-items:flex-start;gap:10px;max-width:82%}.qb-message.user{align-self:flex-end;flex-direction:row-reverse}.qb-avatar{display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;border:1px solid rgba(34,211,238,.25);border-radius: var(--r-md);background:rgba(34,211,238,.09);color:var(--cyan);font-size: 10px;font-weight:900}.qb-message.user .qb-avatar{border-color:var(--border);background:var(--panel-2);color:var(--muted-2)}.qb-bubble{padding:12px 14px;border:1px solid var(--border);border-radius:4px 14px 14px;background:var(--panel-2);color:var(--text);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.qb-message.user .qb-bubble{border-color:rgba(34,211,238,.2);border-radius:14px 4px 14px 14px;background:rgba(34,211,238,.08)}.qb-thinking{display:flex;align-items:center;gap:4px}.qb-thinking span{width:5px;height:5px;border-radius:50%;background:var(--cyan);animation:qbPulse 1s ease-in-out infinite}.qb-thinking span:nth-child(2){animation-delay:.15s}.qb-thinking span:nth-child(3){animation-delay:.3s}.qb-thinking em{margin-left:5px;color:var(--muted);font-size:10px;font-style:normal}@keyframes qbPulse{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.qb-starters{display:flex;gap:7px;overflow-x:auto;padding:0 18px 12px}.qb-starters button{white-space:nowrap;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--muted-2);padding:7px 10px;font:inherit;font-size:10px;cursor:pointer}.qb-starters button:hover{border-color:rgba(34,211,238,.3);color:var(--cyan)}.qb-composer{margin:0 18px 8px;border:1px solid var(--border-hi);border-radius: var(--r-md);background:var(--bg);transition:border-color .15s}.qb-composer:focus-within{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(34,211,238,.07)}.qb-composer textarea{display:block;width:100%;min-height:70px;resize:none;box-sizing:border-box;border:0;outline:0;background:transparent;color:var(--text);padding:13px 14px 6px;font:inherit;font-size:13px;line-height:1.5}.qb-compose-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:5px 7px 7px 14px}.qb-compose-foot>span{color:var(--muted);font-size: 10px}.qb-compose-foot button{border:0;border-radius: var(--r-sm);background:var(--cyan);color:#04131a;padding:8px 11px;font:inherit;font-size:10px;font-weight:900;cursor:pointer}.qb-compose-foot button:disabled{opacity:.5;cursor:wait}.qb-compose-foot button span{font-size:13px}.qb-disclaimer{text-align:center;margin:8px 16px 13px;color:var(--muted);font-size: 10px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media(max-width:650px){.qb-page{padding-top:0}.qb-hero{display:grid;gap:13px}.qb-hero h1{font-size:28px}.qb-clear{width:max-content}.qb-shell{border-radius: var(--r-lg)}.qb-messages{min-height:330px;max-height:52vh;padding:18px 13px}.qb-message{max-width:94%}.qb-starters{padding-inline:12px}.qb-composer{margin-inline:10px}.qb-compose-foot>span{display:none}}

    /* ── MANAGER SECTION (Phase 6) ── */
    .mt-card .gf-kick { margin-bottom:2px; }
    .mt-top { display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap; margin:8px 0 4px; }
    .mt-head { flex:1 1 220px; min-width:0; }
    .mt-side { flex:1 1 260px; display:grid; grid-template-columns:1fr 1fr; gap:8px; align-content:start; }
    .mt-s { border:1px solid var(--line); border-radius:9px; padding:8px 11px; background:var(--panel-2, rgba(255,255,255,.02)); }
    .mt-s span { display:block; font-size:9.5px; font-weight:800; letter-spacing:.09em; color:var(--muted-2); }
    .mt-s b { font-size:17px; font-weight:600; font-family:'JetBrains Mono', monospace; }
    .mt-s small { display:block; font-size:10px; color:var(--muted-2); margin-top:2px; }
    .mt-conc { grid-column:1 / -1; }
    .mt-conc.gf-green { border-color:rgba(52,211,153,.45); }
    .mt-conc.gf-yellow { border-color:rgba(250,204,21,.4); }
    .mt-conc.gf-red { border-color:rgba(248,113,113,.5); background:rgba(248,113,113,.06); }
    .mt-conc b { color:inherit; }
    .mt-pattern { margin:11px 0 4px; border:1px solid rgba(248,113,113,.4); background:rgba(248,113,113,.07);
      border-radius:9px; padding:9px 12px; font-size:12px; line-height:1.55; color:var(--muted); }
    .mt-pattern .gr-badge { margin:0 6px 0 0; vertical-align:middle; }
    .mt-list { margin-top:12px; display:flex; flex-direction:column; gap:5px; }
    .mt-row { display:grid; grid-template-columns:minmax(90px,1.4fr) auto minmax(0,1.3fr) auto; gap:10px;
      align-items:center; padding:7px 11px; border:1px solid var(--line); border-radius:8px; font-size:12.5px; }
    .mt-row.is-self { border-color:rgba(34,211,238,.35); background:rgba(34,211,238,.05); }
    .mt-row .nm { font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .mt-row .nm em { font-style:normal; font-size:9.5px; font-weight:800; color:var(--cyan); letter-spacing:.06em; }
    .mt-row .al { font-family:'JetBrains Mono', monospace; font-weight:600; white-space:nowrap; }
    .mt-row .sub { font-size:11px; color:var(--muted-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .mt-row .gr-badge { margin:0; justify-self:end; }
    @media (max-width: 640px) {
      .mt-side { grid-template-columns:1fr 1fr; }
      .mt-row { grid-template-columns:1fr auto; row-gap:3px; }
      .mt-row .sub { grid-column:1 / -1; }
      .mt-row .gr-badge { justify-self:start; grid-column:1 / -1; }
    }
