* { box-sizing: border-box; }
    body {
      margin: 0;
      font-family: "Segoe UI", Arial, Helvetica, sans-serif;
      background: var(--bg);
      color: var(--ink);
    }
    header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 14px;
      padding: 7px 16px;
      background: oklch(17% .022 164 / .95);
      border-bottom: 1px solid var(--line);
      position: sticky;
      top: 0;
      z-index: 5;
      backdrop-filter: blur(8px);
    }
    h1, h2, h3, p { margin-top: 0; }
    h1 { margin-bottom: 1px; font-size: 15px; line-height: 1.15; }
    header .muted { font-size: 12px; line-height: 1.2; }
    .header-actions {
      display: flex;
      align-items: center;
      gap: 10px;
    }
    .scope-select {
      width: min(280px, 34vw);
      min-height: 34px;
      padding: 6px 32px 6px 10px;
      font-size: 12px;
    }
    .scope-badge {
      display: inline-flex;
      align-items: center;
      min-height: 28px;
      padding: 0 10px;
      border: 1px solid #31558c;
      border-radius: 999px;
      background: #12284a;
      color: #9fc4ff;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: .02em;
    }
    .mode-switch {
      display: flex;
      gap: 6px;
      padding: 3px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--input);
    }
    .mode-switch button {
      min-height: 26px;
      padding: 0 9px;
      background: transparent;
      color: var(--muted);
      border-color: transparent;
      font-size: 12px;
    }
    .mode-switch button.active {
      background: var(--blue);
      color: #fff;
      border-color: var(--blue);
    }
    body.mode-user .admin-only { display: none !important; }
    body.mode-admin .user-only { display: none !important; }
    main { width: min(1460px, calc(100% - 28px)); margin: 12px auto 44px; }
    label {
      display: block;
      font-size: 11px;
      font-weight: 700;
      color: var(--muted);
      margin: 10px 0 5px;
    }
    input, select, button {
      min-height: 38px;
      border: 1px solid var(--line);
      border-radius: 7px;
      padding: 0 10px;
      font-size: 13px;
      background: var(--input);
    }
    input, select { width: 100%; color: var(--ink); }
    input::placeholder { color: #8391a6; }
    input:focus, select:focus, button:focus-visible, a:focus-visible {
      outline: none;
      border-color: var(--blue);
      box-shadow: 0 0 0 3px var(--focus);
    }
    button {
      cursor: pointer;
      background: linear-gradient(180deg, oklch(72% .15 45) 0%, var(--blue-2) 100%);
      color: #fff;
      border-color: oklch(74% .13 45);
      font-weight: 700;
      white-space: nowrap;
    }
    button:hover { filter: brightness(1.04); transform: translateY(-1px); }
    button:active { transform: translateY(0); }
    button.secondary { background: #101a2b; color: #dce7f5; border-color: #30415c; }
    button.link { width: 100%; margin-top: 8px; background: var(--input); color: var(--blue); border-color: #31568f; }
    button.ghost { background: var(--input); color: var(--ink); border-color: var(--line); }
    button.active { background: var(--blue); border-color: #6aa4ff; color: #fff; }
    .sidebar button.active {
      background: var(--blue);
      border-color: #6aa4ff;
      color: #fff;
      box-shadow: 0 0 0 1px rgba(106,164,255,.32) inset;
    }
    .sidebar .seg button:not(.active), .sidebar .chips button:not(.active) {
      background: var(--input);
      border-color: #243248;
      color: var(--muted);
    }
    .sidebar .seg button:not(.active):hover, .sidebar .chips button:not(.active):hover,
    button.secondary:hover, .card-actions a:hover, .card-actions button:hover {
      border-color: #3b82f6;
      color: var(--ink);
    }
    .sidebar select.active-field, .sidebar input.active-field {
      border-color: #93c5fd;
      box-shadow: 0 0 0 2px rgba(147,197,253,.18);
    }
    button:disabled { opacity: .45; cursor: not-allowed; }
    .login {
      max-width: 420px;
      margin: 64px auto;
      padding: 20px;
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 8px;
    }
    .hint {
      margin-top: 12px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: var(--soft);
      color: var(--muted);
      font-size: 12px;
      line-height: 1.45;
    }
    .error { color: var(--red); margin-top: 10px; font-size: 13px; }
    .hidden { display: none !important; }
    .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;
    }
    .app-shell {
      display: grid;
      grid-template-columns: 320px minmax(0, 1fr);
      gap: 14px;
      align-items: start;
    }
    .sidebar, .content-panel, .diag, .kpis, .modal-card {
      background: var(--panel);
      border: 1px solid var(--line);
      border-radius: 7px;
    }
    .sidebar {
      position: sticky;
      top: 50px;
      max-height: calc(100vh - 64px);
      overflow: auto;
      padding: 13px;
      box-shadow: var(--shadow);
    }
    .sidebar::-webkit-scrollbar { width: 10px; }
    .sidebar::-webkit-scrollbar-thumb { background: #334155; border-radius: 999px; border: 2px solid var(--panel); }
    .sidebar-head {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      align-items: center;
      margin-bottom: 8px;
    }
    .group { border-top: 1px solid #223047; padding-top: 12px; margin-top: 12px; }
    .group h3 { margin-bottom: 8px; font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: #93a4bb; }
    .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .row4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
    .row3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .seg { display: flex; gap: 6px; flex-wrap: wrap; }
    .seg button { flex: 1 1 auto; min-width: 78px; }
    .chips { display: flex; flex-wrap: wrap; gap: 6px; }
    .chips button { min-height: 32px; padding: 0 10px; font-size: 12px; }
    .multi {
      min-height: 38px;
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
      border: 1px solid var(--line);
      border-radius: 6px;
      padding: 6px;
      background: var(--input);
    }
    .multi input { border: 0; min-height: 26px; padding: 0; flex: 1 1 120px; outline: none; }
    .tag {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      border: 1px solid var(--line);
      background: var(--chip);
      border-radius: 999px;
      padding: 3px 8px;
      font-size: 12px;
    }
    .tag button {
      min-height: 0;
      height: 18px;
      width: 18px;
      padding: 0;
      border-radius: 50%;
      background: var(--input);
      color: var(--ink);
      border-color: var(--line);
    }
    .suggestions {
      display: none;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: var(--input);
      max-height: 190px;
      overflow: auto;
      margin-top: 4px;
      box-shadow: 0 10px 24px rgba(16,24,40,.12);
    }
    .suggestions.open { display: block; }
    .suggestions button {
      width: 100%;
      border: 0;
      border-radius: 0;
      background: var(--input);
      color: var(--ink);
      text-align: left;
      font-weight: 400;
    }
    .suggestions button:hover { background: var(--soft); }
    .content { min-width: 0; }
    .diag {
      margin-bottom: 10px;
      padding: 9px 12px;
      font-size: 12px;
      color: var(--muted);
      background: #0f1828;
    }
    .diag strong { color: var(--ink); }
    .kpis {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
      gap: 9px;
    }
    .kpi {
      padding: 10px 11px;
      background: linear-gradient(180deg, #18243a 0%, #131d30 100%);
      min-height: 74px;
      border: 1px solid #30415c;
      border-radius: 7px;
      position: relative;
      overflow: hidden;
    }
    .kpi::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 3px;
      background: #4b8df7;
      opacity: .82;
    }
    .kpi:nth-child(2)::before { background: var(--green); }
    .kpi:nth-child(3)::before { background: var(--amber); }
    .kpi:nth-child(4)::before { background: var(--red); }
    .kpi:nth-child(5)::before { background: #7dd3fc; }
    .kpi:nth-child(6)::before { background: #c4b5fd; }
    button.kpi { cursor: pointer; text-align: left; color: inherit; font: inherit; }
    button.kpi:hover { background: #142038; border-color: #365173; }
    .kpi span { color: #b8c7da; font-size: 12px; font-weight: 700; }
    .kpi strong { display: block; margin-top: 7px; font-size: 22px; line-height: 1.02; letter-spacing: 0; }
    .topbar {
      display: flex;
      flex-wrap: wrap;
      align-items: end;
      gap: 9px;
      padding: 9px;
      margin-bottom: 10px;
      background: linear-gradient(180deg, #101a2b 0%, #0e1727 100%);
      border: 1px solid #2b3b55;
      border-radius: 7px;
    }
    .topbar .search { flex: 1 1 280px; }
    .topbar .compact { width: 120px; }
    .list {
      display: grid;
      gap: 9px;
    }
    .card {
      display: grid;
      grid-template-columns: 142px minmax(0, 1fr);
      gap: 12px;
      padding: 11px;
      background: linear-gradient(180deg, #121d30 0%, #0e1727 100%);
      border: 1px solid #2b3b55;
      border-radius: 7px;
      transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease;
    }
    .card:hover {
      border-color: #4a6388;
      background: #101a2d;
      box-shadow: 0 10px 28px rgba(0,0,0,.2);
      transform: translateY(-1px);
    }
    .thumb {
      width: 142px;
      height: 108px;
      border-radius: 7px;
      object-fit: cover;
      background: var(--soft);
      border: 1px solid #33445f;
    }
    .no-photo {
      width: 142px;
      height: 108px;
      border-radius: 7px;
      display: grid;
      place-items: center;
      background: var(--soft);
      color: var(--muted);
      font-size: 12px;
      border: 1px solid var(--line);
    }
    .card-title {
      font-size: 15px;
      line-height: 1.25;
      font-weight: 700;
      margin-bottom: 4px;
      color: #f6f9fd;
    }
    .card-address {
      color: #d9e8fb;
      font-size: 12px;
      line-height: 1.38;
      margin-bottom: 4px;
    }
    .sub { color: #aebacc; font-size: 12px; line-height: 1.35; }
    .price {
      font-size: 18px;
      font-weight: 800;
      margin: 4px 0 5px;
      color: #f8fafc;
    }
    .pill {
      display: inline-block;
      padding: 3px 8px;
      border-radius: 999px;
      font-size: 11px;
      font-weight: 700;
      border: 1px solid var(--line);
      white-space: nowrap;
      background: #19263a;
      color: #d7e5f6;
    }
    .CONFIRMADO, .green { color: var(--green); border-color: #2d8f6a; background: #0f2a21; }
    .PROVAVEL, .amber { color: var(--amber); border-color: #8a681a; background: #2b220f; }
    .SUSPEITO, .red { color: var(--red); border-color: #8d3948; background: #2b1218; }
    .IGNORADO { color: var(--muted); background: var(--soft); }
    .stage-monitorar { color: #7dd3fc; border-color: #256b95; background: #0d2333; }
    .stage-contatar { color: var(--amber); border-color: #8a681a; background: #2b220f; }
    .stage-descartar { color: var(--red); border-color: #8d3948; background: #2b1218; }
    .note-box {
      width: 100%;
      min-height: 74px;
      resize: vertical;
      margin-top: 8px;
    }
    .score-high { color: var(--green); border-color: #2d8f6a; background: #0f2a21; }
    .score-mid { color: #7dd3fc; border-color: #256b95; background: #0d2333; }
    .score-low { color: var(--muted); background: var(--soft); }
    .mini-summary {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin: 0 0 10px;
    }
    .mini-summary div {
      border: 1px solid var(--line);
      border-radius: 7px;
      background: linear-gradient(180deg, #132036 0%, #101827 100%);
      padding: 10px 11px;
      font-size: 12px;
      color: var(--muted);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    }
    .mini-summary div:first-child {
      border-color: #31568f;
      background: linear-gradient(180deg, #172a48 0%, #101c31 100%);
    }
    .mini-summary div:last-child {
      border-color: #4b2834;
      background: linear-gradient(180deg, #221722 0%, #15131c 100%);
    }
    .mini-summary strong {
      display: block;
      color: var(--ink);
      font-size: 18px;
      margin-top: 3px;
      line-height: 1;
    }
    .workspace-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: baseline;
      margin: 0 2px 9px;
      color: #cbd5e1;
      font-size: 12px;
    }
    .workspace-head strong {
      color: #f8fafc;
      font-size: 14px;
    }
    .quick-desk {
      display: grid;
      grid-template-columns: repeat(5, minmax(0, 1fr));
      gap: 9px;
      margin: 0 0 10px;
    }
    .quick-desk button {
      min-height: 50px;
      text-align: left;
      background: #0f1828;
      border-color: #263852;
      color: var(--ink);
      padding: 8px 10px;
      line-height: 1.15;
      box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
    }
    .quick-desk button:hover { border-color: #45658f; }
    .quick-desk button.active {
      background: linear-gradient(180deg, #1d3a63 0%, #122646 100%);
      border-color: #5d9bff;
    }
    .quick-desk span {
      display: block;
      color: #9fb3ca;
      font-size: 11px;
      font-weight: 700;
      margin-top: 3px;
    }
    .commercial-brief {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin: 12px 0 0;
    }
    .commercial-brief div {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: #101a2b;
      padding: 10px;
      font-size: 12px;
      color: var(--muted);
    }
    .commercial-brief span {
      display: block;
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .04em;
      color: #93a4bb;
    }
    .commercial-brief strong {
      display: block;
      color: var(--ink);
      font-size: 13px;
      margin-top: 3px;
    }
    .snapshot-panel {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: #0f1828;
      padding: 11px;
      margin-bottom: 12px;
      box-shadow: var(--shadow);
    }
    .snapshot-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: baseline;
      margin-bottom: 10px;
    }
    .snapshot-head strong { font-size: 14px; }
    .snapshot-meta {
      margin-top: 7px;
      font-size: 12px;
      color: var(--muted);
      white-space: normal;
      line-height: 1.35;
    }
    .quality-panel {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: #0f1828;
      padding: 12px;
      margin-bottom: 12px;
    }
    .quality-head {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      align-items: baseline;
      margin-bottom: 10px;
    }
    .quality-head strong { font-size: 14px; }
    .quality-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
    }
    .health-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
      margin-bottom: 8px;
    }
    .health-stat {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: #111c2e;
      padding: 10px;
      min-width: 0;
    }
    .health-stat span, .health-stat small { display: block; color: var(--muted); }
    .health-stat span { font-size: 11px; font-weight: 800; text-transform: uppercase; }
    .health-stat strong { display: block; margin: 5px 0; font-size: 20px; }
    .health-stat small { line-height: 1.3; }
    .health-stat.healthy { border-color: rgba(34,197,94,.65); }
    .health-stat.attention { border-color: rgba(245,158,11,.75); }
    .health-stat.critical { border-color: rgba(239,68,68,.75); }
    .quality-limitations {
      margin-top: 8px;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.4;
    }
    .saas-admin-panel {
      border: 1px solid #31568f;
      border-radius: 7px;
      background: #0f1828;
      padding: 12px;
      margin-bottom: 12px;
    }
    .saas-admin-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 8px;
    }
    .saas-admin-card {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: #111c2e;
      padding: 10px;
      min-width: 0;
    }
    .saas-admin-card h3 { font-size: 12px; margin-bottom: 8px; }
    .saas-admin-card .sub { line-height: 1.4; }
    .admin-inline { display: flex; gap: 7px; align-items: end; }
    .admin-inline > * { min-width: 0; }
    .admin-inline input { flex: 1 1 auto; }
    .member-form {
      display: grid;
      grid-template-columns: minmax(180px, 1fr) 160px auto;
      gap: 8px;
      align-items: end;
      margin-top: 10px;
    }
    .member-list { display: grid; gap: 7px; margin-top: 10px; }
    .member-row {
      display: grid;
      grid-template-columns: minmax(180px, 1fr) 145px 110px auto;
      gap: 8px;
      align-items: center;
      border: 1px solid #2a3a55;
      border-radius: 7px;
      padding: 8px;
      background: #111c2e;
    }
    .member-row .email { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .onboarding-list { display: grid; gap: 5px; }
    .onboarding-item { color: var(--muted); font-size: 12px; }
    .onboarding-item.ok { color: var(--green); }
    .platform-onboard-grid {
      display: grid;
      grid-template-columns: minmax(180px, 1.4fr) minmax(220px, 1.4fr) 130px 150px auto;
      gap: 8px;
      align-items: end;
    }
    .platform-customer-list { display: grid; gap: 7px; margin-top: 10px; }
    .platform-customer-row {
      display: grid;
      grid-template-columns: minmax(180px, 1.4fr) minmax(200px, 1.2fr) 100px 120px;
      gap: 8px;
      align-items: center;
      border: 1px solid #2a3a55;
      border-radius: 7px;
      padding: 8px;
      background: #111c2e;
    }
    .saved-filter-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 7px; }
    .priority-reasons { margin-top: 7px; color: var(--muted); font-size: 12px; line-height: 1.35; }
    .quality-card {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: linear-gradient(180deg, #18243a 0%, #131d30 100%);
      color: var(--ink);
      text-align: left;
      padding: 10px;
      min-height: 78px;
      cursor: pointer;
    }
    .quality-card.active {
      border-color: var(--blue);
      box-shadow: 0 0 0 1px rgba(59,130,246,.45) inset;
    }
    .quality-card span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .quality-card strong {
      display: block;
      font-size: 20px;
      line-height: 1;
      margin-bottom: 6px;
    }
    .quality-card small { color: var(--muted); line-height: 1.25; }
    .validation-panel {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: #0f1828;
      padding: 12px;
      margin-bottom: 12px;
    }
    .validation-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin-top: 10px;
    }
    .validation-stat, .validation-table {
      border: 1px solid #2a3a55;
      border-radius: 7px;
      background: linear-gradient(180deg, #18243a 0%, #131d30 100%);
      padding: 10px;
      min-width: 0;
    }
    .validation-stat span, .validation-table span {
      display: block;
      color: var(--muted);
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      margin-bottom: 6px;
    }
    .validation-stat strong { display: block; font-size: 19px; line-height: 1.05; }
    .validation-table { margin-top: 8px; }
    .validation-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 74px;
      gap: 10px;
      padding: 7px 0;
      border-top: 1px solid var(--line);
      font-size: 12px;
    }
    .validation-row:first-of-type { border-top: 0; }
    .validation-row strong { text-align: right; }
    .card-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 9px; }
    .card-actions a, .card-actions button {
      min-height: 31px;
      padding: 5px 10px;
      border: 1px solid #2d4260;
      border-radius: 7px;
      text-decoration: none;
      font-size: 12px;
      font-weight: 700;
      background: #101a2b;
      color: var(--ink);
      cursor: pointer;
    }
    .card-actions a {
      background: #13233a;
      border-color: #31527a;
      color: #dbeafe;
    }
    .card-actions [data-detail] {
      background: #162640;
      border-color: #34527a;
      color: #dbeafe;
    }
    body.mode-user .card-actions [data-primary="true"] {
      background: linear-gradient(180deg, #4f8ffc 0%, #2563eb 100%);
      border-color: #76a9ff;
      color: #fff;
      order: -2;
    }
    .card-actions [data-stage="descartar"] {
      color: #fecdd3;
      border-color: #5d2633;
      background: #23131a;
    }
    body.mode-user .card-actions a {
      order: -1;
    }
    body.mode-user .card-actions [data-detail],
    body.mode-user .card-actions [data-photos],
    body.mode-user .card-actions [data-stage="descartar"] {
      background: transparent;
    }
    .card-main {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 12px;
      align-items: start;
    }
    .card-meta {
      text-align: right;
      min-width: 148px;
    }
    .card-meta .sub { margin-top: 4px; }
    .sync-dot {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      font-size: 12px;
      color: #9fb3ca;
      margin-left: auto;
    }
    .sync-dot::before {
      content: "";
      width: 7px;
      height: 7px;
      border-radius: 50%;
      background: var(--green);
      box-shadow: 0 0 0 3px rgba(52,211,153,.12);
    }
    .sync-dot.local::before { background: var(--amber); box-shadow: 0 0 0 3px rgba(251,191,36,.12); }
    .count-line {
      margin: 0 0 8px 2px;
      font-size: 12px;
      color: #c2d0e2;
    }
    .pager {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 10px;
      margin-top: 12px;
      padding: 10px 12px;
      background: linear-gradient(180deg, #101a2b 0%, #0e1727 100%);
      border: 1px solid #2b3b55;
      border-radius: 7px;
    }
    .muted { color: var(--muted); }
    .empty {
      padding: 34px 22px;
      text-align: center;
      color: #aebacc;
      background: linear-gradient(180deg, #101a2b 0%, #0d1524 100%);
      border: 1px dashed #344966;
      border-radius: 7px;
      line-height: 1.45;
    }
    .empty strong { display: block; color: #f3f7fb; font-size: 16px; margin-bottom: 7px; }
    .empty span { display: block; max-width: 520px; margin: 0 auto; }
    .modal {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(15,23,42,.62);
      z-index: 20;
      padding: 22px;
    }
    .modal.open { display: grid; place-items: center; }
    .modal-card { width: min(980px, 100%); max-height: calc(100vh - 44px); overflow: auto; }
    .modal-card.wide { width: min(1180px, 100%); }
    .modal-head {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 12px;
      padding: 12px 14px;
      border-bottom: 1px solid var(--line);
    }
    .gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; padding: 12px; }
    .gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
    .detail-body { padding: 14px; }
    .detail-hero {
      display: grid;
      grid-template-columns: 280px minmax(0, 1fr);
      gap: 14px;
      align-items: start;
    }
    .detail-hero img, .detail-photo-empty {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: var(--soft);
    }
    .detail-photo-empty { display: grid; place-items: center; color: var(--muted); }
    .detail-title { font-size: 20px; font-weight: 850; line-height: 1.2; margin-bottom: 6px; }
    .detail-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 8px;
      margin: 14px 0;
    }
    .detail-stat, .detail-section {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel-2);
    }
    .detail-stat { padding: 10px; }
    .detail-stat span, .detail-section h3 { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
    .detail-stat strong { display: block; margin-top: 4px; font-size: 15px; }
    .detail-sections { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .detail-sections.single { grid-template-columns: 1fr; }
    .detail-section { padding: 12px; min-width: 0; }
    .detail-section h3 { margin: 0 0 10px; }
    .detail-list { display: grid; gap: 8px; }
    .detail-row {
      display: grid;
      grid-template-columns: 88px minmax(0, 1fr);
      gap: 10px;
      padding: 8px 0;
      border-top: 1px solid var(--line);
      font-size: 13px;
    }
    .detail-row:first-child { border-top: 0; padding-top: 0; }
    .photo-strip { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; margin-top: 10px; }
    .photo-strip img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; border: 1px solid var(--line); }
    .kv { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 14px; margin-top: 10px; font-size: 13px; }
    .kv div { min-width: 0; }
    .kv span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; margin-bottom: 2px; }
    .product-nav {
      display: flex;
      gap: 7px;
      margin-bottom: 12px;
      padding: 5px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: #0f1828;
      box-shadow: var(--shadow);
    }
    .product-nav button {
      flex: 1 1 0;
      min-height: 44px;
      background: transparent;
      color: #91a4bd;
      border-color: transparent;
    }
    .product-nav button.active {
      background: linear-gradient(180deg, #23477d 0%, #1c3760 100%);
      color: #fff;
      border-color: #3d67a3;
      box-shadow: 0 5px 18px rgba(0,0,0,.18);
    }
    .product-page { min-width: 0; }
    .tool-page {
      padding: 20px;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: var(--panel);
      box-shadow: var(--shadow);
    }
    .tool-head {
      display: flex;
      align-items: flex-start;
      justify-content: space-between;
      gap: 20px;
      margin-bottom: 20px;
    }
    .tool-head h2 { margin: 0 0 6px; font-size: 24px; letter-spacing: -.02em; }
    .tool-head p { max-width: 720px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .tool-badge {
      flex: 0 0 auto;
      padding: 7px 10px;
      border: 1px solid #31568f;
      border-radius: 999px;
      color: #a9c8f7;
      background: rgba(37,99,235,.12);
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    .tool-filters {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
      gap: 10px;
      align-items: end;
      margin-bottom: 16px;
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #101a2b;
    }
    .tool-filters.market-filters { grid-template-columns: repeat(5, minmax(0, 1fr)) auto; }
    .tool-filters.advertiser-filters { grid-template-columns: repeat(6, minmax(0, 1fr)) auto; }
    .tool-filters label, .valuation-form label { margin-top: 0; }
    .analytics-filterbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      margin: -6px 0 16px;
    }
    .analytics-chips, .analytics-actions { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
    .analytics-chip {
      padding: 5px 8px;
      border: 1px solid #315077;
      border-radius: 999px;
      background: #101c2e;
      color: #a9bad0;
      font-size: 10px;
    }
    .analytics-actions select { width: auto; min-width: 150px; min-height: 32px; padding: 5px 8px; }
    .analytics-actions button { min-height: 32px; padding: 5px 9px; font-size: 11px; }
    .decision-hero {
      display: grid;
      grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
      gap: 12px;
      margin-bottom: 16px;
    }
    .decision-summary, .decision-opportunity {
      padding: 18px;
      border: 1px solid #31568f;
      border-radius: 9px;
      background: linear-gradient(135deg, rgba(37,99,235,.17), rgba(15,24,40,.88));
    }
    .decision-opportunity { border-color: #2d654b; background: linear-gradient(135deg, rgba(34,197,94,.10), rgba(15,24,40,.88)); }
    .decision-eyebrow { color: #86a9da; font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
    .decision-summary h3, .decision-opportunity h3 { margin: 7px 0 6px; font-size: 19px; line-height: 1.25; }
    .decision-summary p, .decision-opportunity p { margin: 0; color: #aabbd0; font-size: 12px; line-height: 1.6; }
    .decision-action {
      display: inline-flex;
      margin-top: 13px;
      padding: 7px 10px;
      border: 1px solid #4775b7;
      border-radius: 6px;
      color: #cfe2ff;
      background: rgba(37,99,235,.18);
      font-size: 11px;
      font-weight: 800;
      cursor: pointer;
    }
    .market-kpis {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
      gap: 10px;
      margin-bottom: 16px;
    }
    .market-kpi, .market-card, .valuation-card {
      border: 1px solid var(--line);
      border-radius: 8px;
      background: linear-gradient(180deg, #18243a 0%, #131d30 100%);
    }
    .market-kpi { min-height: 104px; padding: 15px; }
    .market-kpi span { display: block; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
    .market-kpi strong { display: block; margin-top: 11px; font-size: 25px; letter-spacing: -.03em; }
    .market-kpi small { display: block; margin-top: 5px; color: #7890ad; font-size: 11px; }
    .metric-delta {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      margin-top: 7px;
      padding: 3px 6px;
      border-radius: 999px;
      color: #a8bad0;
      background: #0f1828;
      font-size: 9px;
      font-weight: 800;
    }
    .metric-delta.up { color: #83d7a4; background: rgba(34,197,94,.09); }
    .metric-delta.down { color: #f0a3a8; background: rgba(239,68,68,.08); }
    .market-insight {
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      margin-bottom: 16px;
      padding: 14px 15px;
      border: 1px solid #31568f;
      border-radius: 8px;
      background: linear-gradient(135deg, rgba(37,99,235,.16), rgba(15,24,40,.7));
    }
    .market-insight .signal {
      display: grid;
      place-items: center;
      width: 34px;
      height: 34px;
      border-radius: 9px;
      background: #2563eb;
      color: #fff;
      font-weight: 900;
    }
    .market-insight strong { display: block; margin-bottom: 4px; font-size: 13px; }
    .market-insight p { margin: 0; color: #a8bad0; font-size: 12px; line-height: 1.55; }
    .market-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 12px; }
    .market-card { padding: 16px; min-width: 0; }
    .market-card h3 { margin: 0 0 4px; font-size: 15px; }
    .market-card > p { margin: 0 0 16px; color: var(--muted); font-size: 11px; }
    .market-row {
      display: grid;
      grid-template-columns: minmax(120px, 1fr) 2fr auto;
      gap: 12px;
      align-items: center;
      padding: 9px 0;
      border-top: 1px solid var(--line);
      font-size: 12px;
    }
    .market-row:first-of-type { border-top: 0; }
    .market-row > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .market-bar { height: 8px; overflow: hidden; border-radius: 999px; background: #26344a; }
    .market-bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #60a5fa); }
    .market-row strong { font-size: 11px; text-align: right; }
    .market-row.actionable { cursor: pointer; border-radius: 5px; transition: background .15s ease; }
    .market-row.actionable:hover { background: rgba(59,130,246,.08); }
    .market-row button {
      min-height: 28px;
      padding: 4px 7px;
      border-color: #36557f;
      background: #14233a;
      color: #b9cbe1;
      font-size: 10px;
    }
    .trend-chart {
      display: grid;
      grid-template-columns: repeat(8, minmax(34px, 1fr));
      gap: 8px;
      align-items: end;
      min-height: 190px;
      padding: 15px 4px 2px;
    }
    .trend-week { display: grid; grid-template-rows: 140px auto; gap: 7px; min-width: 0; }
    .trend-bars { display: flex; align-items: end; justify-content: center; gap: 3px; height: 140px; border-bottom: 1px solid #30415c; }
    .trend-bars i { display: block; width: 8px; min-height: 3px; border-radius: 3px 3px 0 0; background: #3b82f6; }
    .trend-bars i.exit { background: #ef747d; }
    .trend-bars i.price { background: #f3b64e; }
    .trend-week span { overflow: hidden; color: #7389a5; font-size: 9px; text-align: center; white-space: nowrap; }
    .chart-legend { display: flex; flex-wrap: wrap; gap: 12px; color: #91a4bd; font-size: 10px; }
    .chart-legend i { display: inline-block; width: 8px; height: 8px; margin-right: 4px; border-radius: 2px; background: #3b82f6; }
    .chart-legend .exit i { background: #ef747d; }
    .chart-legend .price i { background: #f3b64e; }
    .opportunity-list { display: grid; gap: 8px; }
    .opportunity-item {
      display: grid;
      grid-template-columns: minmax(0, 1fr) auto;
      gap: 10px;
      padding: 10px;
      border: 1px solid #2d4e43;
      border-radius: 7px;
      background: rgba(18,39,34,.55);
      cursor: pointer;
    }
    .opportunity-item strong { display: block; font-size: 12px; }
    .opportunity-item span { display: block; margin-top: 3px; color: #8fa9a0; font-size: 10px; }
    .opportunity-score { color: #87d6aa; font-size: 11px; font-weight: 850; }
    .advertiser-compare {
      margin-bottom: 16px;
      padding: 16px;
      border: 1px solid #31568f;
      border-radius: 9px;
      background: #101a2b;
    }
    .advertiser-compare-head { display: flex; justify-content: space-between; gap: 12px; align-items: center; margin-bottom: 12px; }
    .advertiser-compare-head h3 { margin: 0; font-size: 15px; }
    .compare-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
    .compare-card { padding: 13px; border: 1px solid #30415c; border-radius: 8px; background: #152139; }
    .compare-card h4 { min-height: 36px; margin: 0 0 9px; font-size: 13px; }
    .compare-metric { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-top: 1px solid #2a3952; font-size: 10px; }
    .compare-metric span { color: #8195af; }
    .compare-metric strong { text-align: right; }
    .analytics-method { margin-top: 14px; border: 1px solid #30415c; border-radius: 7px; background: #0f1828; }
    .analytics-method summary { cursor: pointer; padding: 11px 12px; color: #a9bad0; font-size: 11px; font-weight: 800; }
    .analytics-method p { margin: 0; padding: 0 12px 12px; color: #7f93ad; font-size: 10px; line-height: 1.55; }
    .market-quality { display: grid; gap: 10px; margin-top: 14px; }
    .market-quality-row { display: grid; grid-template-columns: minmax(110px, 1fr) 2fr auto; gap: 10px; align-items: center; font-size: 11px; }
    .market-quality-row strong { min-width: 38px; text-align: right; }
    .market-updated { margin-top: 10px; color: #7187a3; font-size: 10px; text-align: right; }
    .market-note {
      margin-top: 14px;
      padding: 11px 12px;
      border: 1px solid #30415c;
      border-radius: 7px;
      background: #0f1828;
      color: #91a4bd;
      font-size: 11px;
      line-height: 1.5;
    }
    .valuation-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .8fr); gap: 14px; align-items: start; }
    .valuation-form { padding: 17px; border: 1px solid var(--line); border-radius: 8px; background: #101a2b; }
    .valuation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; }
    .valuation-grid .wide { grid-column: 1 / -1; }
    .valuation-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin: 10px 0 15px; }
    .valuation-checks label {
      display: flex;
      align-items: center;
      gap: 8px;
      min-height: 36px;
      margin: 0;
      padding: 0 9px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: var(--input);
      color: #c7d4e5;
      font-size: 12px;
      text-transform: none;
    }
    .valuation-checks input { width: auto; min-height: 0; }
    .valuation-actions { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; margin-top: 4px; }
    .valuation-actions button { width: 100%; }
    .valuation-preview { margin: 4px 0 13px; color: #8da2bd; font-size: 11px; line-height: 1.5; }
    .valuation-field-hint { display: block; margin-top: -5px; color: #7187a3; font-size: 10px; line-height: 1.4; }
    .valuation-card { position: sticky; top: 60px; padding: 18px; }
    .valuation-empty { padding: 50px 12px; text-align: center; color: var(--muted); font-size: 13px; line-height: 1.6; }
    .valuation-result .estimate-label { color: #8da2bd; font-size: 11px; text-transform: uppercase; letter-spacing: .05em; }
    .valuation-result .estimate { display: block; margin: 9px 0 2px; font-size: 32px; letter-spacing: -.04em; color: #fff; }
    .valuation-result .range { color: #80b5ff; font-size: 14px; font-weight: 750; }
    .valuation-range-visual { position: relative; height: 10px; margin: 18px 0 5px; border-radius: 999px; background: #26344a; }
    .valuation-range-visual i { position: absolute; inset: 0; border-radius: inherit; background: linear-gradient(90deg, #60a5fa, #2563eb, #60a5fa); opacity: .85; }
    .valuation-range-visual b { position: absolute; top: 50%; left: 50%; width: 4px; height: 18px; transform: translate(-50%, -50%); border-radius: 999px; background: #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.13); }
    .valuation-range-labels { display: flex; justify-content: space-between; gap: 10px; color: #7187a3; font-size: 10px; }
    .valuation-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 17px; }
    .valuation-stat { padding: 11px; border: 1px solid var(--line); border-radius: 7px; background: #101a2b; }
    .valuation-stat span { display: block; color: var(--muted); font-size: 10px; text-transform: uppercase; }
    .valuation-stat strong { display: block; margin-top: 5px; font-size: 14px; }
    .confidence { display: inline-flex; align-items: center; gap: 7px; margin-top: 15px; color: #a9bad0; font-size: 11px; }
    .confidence i { width: 8px; height: 8px; border-radius: 50%; background: #f59e0b; }
    .confidence.high i { background: #22c55e; }
    .confidence.low i { background: #ef4444; }
    .valuation-alert {
      padding: 14px;
      border: 1px solid #61451e;
      border-radius: 8px;
      background: rgba(245,158,11,.08);
      color: #d7b477;
      font-size: 12px;
      line-height: 1.55;
    }
    .valuation-alert strong { display: block; margin-bottom: 5px; color: #f4ca80; font-size: 13px; }
    .valuation-audit { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
    .valuation-audit span {
      padding: 5px 7px;
      border: 1px solid #30415c;
      border-radius: 999px;
      background: #101a2b;
      color: #8498b2;
      font-size: 10px;
    }
    .pricing-position {
      margin-top: 16px;
      padding: 14px;
      border: 1px solid #31568f;
      border-radius: 8px;
      background: linear-gradient(135deg, rgba(37,99,235,.13), rgba(16,26,43,.88));
    }
    .pricing-position.good { border-color: #246744; background: linear-gradient(135deg, rgba(34,197,94,.11), rgba(16,26,43,.88)); }
    .pricing-position.warning { border-color: #76551e; background: linear-gradient(135deg, rgba(245,158,11,.10), rgba(16,26,43,.88)); }
    .pricing-position.risk { border-color: #79353b; background: linear-gradient(135deg, rgba(239,68,68,.09), rgba(16,26,43,.88)); }
    .pricing-position-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
    .pricing-position-head span { color: #8da2bd; font-size: 10px; text-transform: uppercase; letter-spacing: .05em; }
    .pricing-position-head strong { display: block; margin-top: 4px; font-size: 16px; }
    .pricing-fit {
      flex: 0 0 auto;
      padding: 5px 8px;
      border: 1px solid currentColor;
      border-radius: 999px;
      color: #9fc2fa;
      font-size: 10px;
      font-weight: 800;
      text-transform: uppercase;
    }
    .pricing-position.good .pricing-fit { color: #83d7a4; }
    .pricing-position.warning .pricing-fit { color: #edc16d; }
    .pricing-position.risk .pricing-fit { color: #f49a9f; }
    .pricing-position p { margin: 10px 0 0; color: #a7b7cb; font-size: 11px; line-height: 1.55; }
    .pricing-position-numbers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; margin-top: 12px; }
    .pricing-position-numbers div { padding: 9px; border: 1px solid #30415c; border-radius: 6px; background: rgba(15,24,40,.68); }
    .pricing-position-numbers span { display: block; color: #7187a3; font-size: 9px; text-transform: uppercase; }
    .pricing-position-numbers strong { display: block; margin-top: 4px; font-size: 12px; }
    .valuation-report-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
    .valuation-report-actions button { flex: 1 1 180px; }
    .valuation-evidence {
      margin-top: 14px;
      border: 1px solid #30415c;
      border-radius: 8px;
      background: #0f1828;
    }
    .valuation-evidence summary {
      cursor: pointer;
      padding: 12px 14px;
      color: #c9d8ea;
      font-size: 12px;
      font-weight: 800;
      list-style-position: inside;
    }
    .valuation-evidence-body { padding: 0 14px 14px; }
    .valuation-evidence-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .valuation-evidence-item { padding: 9px; border: 1px solid #263750; border-radius: 6px; background: #101a2b; }
    .valuation-evidence-item span { display: block; color: #7187a3; font-size: 9px; text-transform: uppercase; }
    .valuation-evidence-item strong { display: block; margin-top: 4px; font-size: 12px; }
    .valuation-comparables { margin-top: 12px; overflow-x: auto; border: 1px solid #263750; border-radius: 7px; }
    .valuation-comparables table { width: 100%; min-width: 680px; border-collapse: collapse; font-size: 10px; }
    .valuation-comparables th, .valuation-comparables td { padding: 8px; border-bottom: 1px solid #263750; text-align: left; white-space: nowrap; }
    .valuation-comparables th { color: #8ea5c1; background: #111d30; text-transform: uppercase; }
    .valuation-comparables td { color: #bdcadd; }
    .valuation-comparables tr:last-child td { border-bottom: 0; }
    .valuation-disclaimer { margin-top: 11px; color: #7f93ad; font-size: 10px; line-height: 1.55; }
    .valuation-method { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); color: #8498b2; font-size: 11px; line-height: 1.55; }
    .tool-loading { padding: 34px; text-align: center; color: var(--muted); }
    @media (max-width: 980px) {
      .app-shell { grid-template-columns: 1fr; }
      .sidebar { position: static; max-height: none; }
      .kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .quick-desk { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .mini-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .topbar .search { flex-basis: 100%; }
      .card { grid-template-columns: 118px minmax(0, 1fr); }
      .card-main { grid-template-columns: 1fr; }
      .card-meta { text-align: left; }
      .thumb, .no-photo { width: 118px; height: 96px; }
      .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .detail-hero, .detail-sections { grid-template-columns: 1fr; }
      .detail-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .commercial-brief { grid-template-columns: 1fr; }
      .photo-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
      .quality-grid, .health-grid, .saas-admin-grid, .platform-onboard-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .platform-customer-row { grid-template-columns: minmax(160px, 1.4fr) minmax(180px, 1.2fr); }
      .member-row { grid-template-columns: minmax(160px, 1fr) 130px 100px auto; }
      .validation-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .tool-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .tool-filters button { width: 100%; }
      .market-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .market-grid, .valuation-layout { grid-template-columns: 1fr; }
      .decision-hero { grid-template-columns: 1fr; }
      .compare-grid { grid-template-columns: 1fr; }
      .valuation-card { position: static; }
    }
    @media (max-width: 620px) {
      main { width: calc(100% - 16px); margin-top: 8px; }
      header { align-items: flex-start; }
      .header-actions { gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
      .mode-switch button { padding: 0 8px; }
      .sidebar { padding: 11px; }
      .quick-desk, .mini-summary, .kpis, .quality-grid, .health-grid, .saas-admin-grid, .validation-grid, .member-form, .member-row, .platform-onboard-grid, .platform-customer-row { grid-template-columns: 1fr; }
      .quick-desk button { min-height: 44px; }
      .topbar { align-items: stretch; }
      .topbar .compact { width: calc(50% - 5px); }
      .topbar button { flex: 1 1 140px; }
      .card { grid-template-columns: 1fr; padding: 10px; }
      .thumb, .no-photo { width: 100%; height: auto; aspect-ratio: 4 / 3; }
      .card-actions a, .card-actions button { flex: 1 1 132px; text-align: center; }
      .empty { padding: 28px 16px; }
      .product-nav { overflow-x: auto; }
      .product-nav button { min-width: 150px; }
      .tool-page { padding: 13px; }
      .tool-head { flex-direction: column; }
      .tool-filters, .market-kpis, .valuation-grid { grid-template-columns: 1fr; }
      .analytics-filterbar { align-items: stretch; flex-direction: column; }
      .analytics-actions select { flex: 1 1 140px; }
      .trend-chart { overflow-x: auto; grid-template-columns: repeat(8, 46px); }
      .market-row { grid-template-columns: minmax(100px, 1fr) 1fr; }
      .market-row strong { grid-column: 1 / -1; text-align: left; }
      .market-quality-row { grid-template-columns: 1fr auto; }
      .market-quality-row .market-bar { grid-column: 1 / -1; grid-row: 2; }
      .valuation-checks { grid-template-columns: 1fr; }
      .valuation-actions { grid-template-columns: 1fr; }
      .valuation-evidence-grid { grid-template-columns: 1fr; }
      .pricing-position-head { flex-direction: column; }
    }

    /* Admin da plataforma: experiencia separada do produto */
    .brand-lockup { display: flex; align-items: center; gap: 10px; }
    .brand-mark {
      width: 30px;
      height: 30px;
      display: grid;
      place-items: center;
      border-radius: 9px;
      background: linear-gradient(145deg, #60a5fa, #2563eb);
      color: #fff;
      font-weight: 900;
      box-shadow: none;
    }
    .brand-copy strong { display: block; font-size: 13px; letter-spacing: .01em; }
    .brand-copy span { display: block; margin-top: 1px; font-size: 10px; color: var(--muted); }
    body.mode-admin main { width: 100%; margin: 0; }
    .admin-workspace {
      display: grid;
      grid-template-columns: 238px minmax(0, 1fr);
      min-height: calc(100vh - 45px);
      background: #0a1220;
    }
    .admin-nav {
      position: sticky;
      top: 45px;
      align-self: start;
      height: calc(100vh - 45px);
      padding: 20px 14px;
      border-right: 1px solid #22304a;
      background: linear-gradient(180deg, #0b1526 0%, #09111e 100%);
    }
    .admin-nav-title {
      padding: 0 10px 18px;
      color: #f8fafc;
      font-size: 17px;
      font-weight: 850;
    }
    .admin-nav-title span { display: block; margin-top: 5px; color: #7890ad; font-size: 11px; font-weight: 600; }
    .admin-nav-list { display: grid; gap: 5px; }
    .admin-nav-list button {
      width: 100%;
      min-height: 42px;
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 0 12px;
      border-color: transparent;
      background: transparent;
      color: #9fb0c7;
      text-align: left;
    }
    .admin-nav-list button::before {
      content: "";
      width: 8px;
      height: 8px;
      border-radius: 3px;
      background: #43536a;
    }
    .admin-nav-list button.active {
      border-color: #315b98;
      background: linear-gradient(90deg, rgba(37,99,235,.24), rgba(37,99,235,.06));
      color: #fff;
      box-shadow: inset 3px 0 0 #60a5fa;
    }
    .admin-nav-list button.active::before { background: #60a5fa; box-shadow: 0 0 0 4px rgba(96,165,250,.12); }
    .admin-nav-note {
      position: absolute;
      left: 16px;
      right: 16px;
      bottom: 18px;
      padding: 12px;
      border: 1px solid #253652;
      border-radius: 10px;
      background: #0e1a2d;
      color: #8295ae;
      font-size: 11px;
      line-height: 1.45;
    }
    .admin-main { min-width: 0; padding: 26px clamp(18px, 3vw, 42px) 54px; }
    .admin-page { width: min(1180px, 100%); margin: 0 auto; }
    .admin-page-head {
      display: flex;
      justify-content: space-between;
      gap: 18px;
      align-items: end;
      margin-bottom: 20px;
    }
    .admin-page-head h2 { margin-bottom: 5px; font-size: 24px; letter-spacing: -.02em; }
    .admin-page-head p { margin: 0; color: #8fa1b9; font-size: 13px; }
    .admin-badge {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 7px 10px;
      border: 1px solid #29466f;
      border-radius: 999px;
      color: #bfdbfe;
      background: #10223a;
      font-size: 11px;
      font-weight: 800;
    }
    .admin-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #34d399; }
    .admin-hero {
      display: grid;
      grid-template-columns: minmax(0, 1.55fr) minmax(260px, .7fr);
      gap: 14px;
      margin-bottom: 14px;
    }
    .admin-hero-copy, .admin-hero-action, .admin-section {
      border: 1px solid #283a56;
      border-radius: 13px;
      background: linear-gradient(150deg, #111d31 0%, #0e1829 100%);
      box-shadow: 0 18px 50px rgba(0,0,0,.16);
    }
    .admin-hero-copy { padding: 24px; }
    .admin-eyebrow { color: #60a5fa; font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
    .admin-hero-copy h3 { margin: 9px 0 8px; font-size: 24px; letter-spacing: -.025em; }
    .admin-hero-copy p { max-width: 650px; margin: 0; color: #9bacbf; line-height: 1.55; }
    .admin-hero-action { display: flex; flex-direction: column; justify-content: space-between; padding: 20px; }
    .admin-hero-action strong { font-size: 15px; }
    .admin-hero-action p { margin: 7px 0 16px; color: #8fa1b9; font-size: 12px; line-height: 1.45; }
    .admin-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px; }
    .admin-stat {
      min-width: 0;
      padding: 16px;
      border: 1px solid #283a56;
      border-radius: 11px;
      background: #101b2d;
    }
    .admin-stat span { display: block; color: #8295ae; font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
    .admin-stat strong { display: block; margin: 8px 0 4px; font-size: 27px; line-height: 1; }
    .admin-stat small { color: #70839e; font-size: 11px; }
    .admin-stat.active { border-color: rgba(52,211,153,.42); }
    .admin-stat.pending { border-color: rgba(251,191,36,.42); }
    .admin-stat.failed { border-color: rgba(248,113,113,.42); }
    .admin-section { padding: 18px; margin-bottom: 14px; }
    .admin-section-head { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 14px; }
    .admin-section-head h3 { margin: 0; font-size: 15px; }
    .admin-section-head span { color: #8093ab; font-size: 11px; }
    .admin-search { max-width: 340px; }
    .admin-empty { padding: 28px; border: 1px dashed #334967; border-radius: 10px; color: #8295ae; text-align: center; }
    .platform-customer-list { gap: 9px; }
    .platform-customer-row {
      grid-template-columns: minmax(190px, 1.35fr) minmax(210px, 1.15fr) 110px 140px 145px;
      padding: 12px 14px;
      border-radius: 10px;
      background: #111d30;
    }
    .platform-customer-row.has-actions { grid-template-columns: minmax(170px, 1.25fr) minmax(190px, 1.1fr) 105px 130px 135px 150px; }
    .platform-customer-row .customer-dates { color: #8193a9; font-size: 11px; line-height: 1.45; }
    .customer-actions { display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
    .customer-actions button { min-height: 32px; padding: 0 9px; font-size: 11px; }
    .customer-actions .danger { border-color: rgba(248,113,113,.55); background: rgba(127,29,29,.2); color: #fca5a5; }
    .customer-actions .danger:hover { border-color: #f87171; background: rgba(153,27,27,.34); }
    .customer-action-message { min-height: 18px; margin-top: 10px; color: #93a6be; font-size: 12px; }
    .organization-detail-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .organization-detail-card { padding: 14px; border: 1px solid #2a3c58; border-radius: 10px; background: #101b2d; }
    .organization-detail-card span { display: block; margin-bottom: 6px; color: #7f93ac; font-size: 10px; font-weight: 850; text-transform: uppercase; }
    .organization-detail-card strong { font-size: 14px; overflow-wrap: anywhere; }
    .organization-tools { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
    .organization-tool { padding: 14px; border: 1px solid #2a3c58; border-radius: 10px; background: #101b2d; }
    .organization-tool h3 { margin: 0 0 6px; font-size: 14px; }
    .organization-tool p { margin: 0 0 12px; color: #8093ab; font-size: 12px; line-height: 1.45; }
    .organization-tool-row { display: flex; gap: 8px; align-items: end; }
    .organization-tool-row > div { flex: 1 1 auto; }
    .danger-zone { margin-top: 14px; padding: 15px; border: 1px solid rgba(248,113,113,.48); border-radius: 10px; background: rgba(127,29,29,.13); }
    .danger-zone h3 { margin: 0 0 6px; color: #fca5a5; font-size: 14px; }
    .danger-zone p { margin: 0 0 12px; color: #c89494; font-size: 12px; line-height: 1.45; }
    .danger-zone button { border-color: rgba(248,113,113,.6); background: rgba(153,27,27,.3); color: #fecaca; }
    .platform-activity-list { display: grid; gap: 8px; }
    .platform-activity-row { display: grid; grid-template-columns: 150px minmax(170px, 1fr) minmax(180px, 1fr) 145px; gap: 10px; align-items: center; padding: 11px 13px; border: 1px solid #293b57; border-radius: 9px; background: #111d30; }
    .platform-activity-row .activity-time { color: #8295ae; font-size: 11px; }
    .first-access-guide { margin: 14px; padding: 18px; border: 1px solid rgba(59,130,246,.5); border-radius: 12px; background: linear-gradient(135deg, rgba(30,64,175,.2), rgba(15,23,42,.96)); }
    .first-access-head { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; }
    .first-access-head h2 { margin: 0 0 6px; font-size: 18px; }
    .first-access-head p { margin: 0; color: #91a4bc; font-size: 12px; }
    .first-access-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 14px 0; }
    .first-access-step { padding: 10px; border: 1px solid #30435f; border-radius: 9px; color: #8598b1; font-size: 11px; background: #101b2d; }
    .first-access-step.done { border-color: rgba(52,211,153,.5); color: #86efac; }
    .first-access-actions { display: flex; gap: 8px; justify-content: flex-end; }
    .platform-onboard-grid { grid-template-columns: minmax(170px, 1.25fr) minmax(220px, 1.3fr) 130px 150px; }
    .platform-onboard-action { display: flex; justify-content: flex-end; margin-top: 12px; }
    .platform-onboard-action button { min-width: 190px; }
    .saas-admin-panel.admin-card-reset { margin: 0; border: 0; background: transparent; padding: 0; }
    .admin-operation-note { margin-bottom: 12px; padding: 12px 14px; border: 1px solid #334762; border-radius: 9px; background: #101c2e; color: #91a3ba; font-size: 12px; }
    @media (max-width: 980px) {
      .admin-workspace { grid-template-columns: 1fr; }
      .admin-nav { position: static; height: auto; padding: 12px; border-right: 0; border-bottom: 1px solid #22304a; }
      .admin-nav-title, .admin-nav-note { display: none; }
      .admin-nav-list { grid-template-columns: repeat(5, minmax(0, 1fr)); }
      .admin-nav-list button { justify-content: center; padding: 0 8px; }
      .admin-nav-list button::before { display: none; }
      .admin-hero { grid-template-columns: 1fr; }
      .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .platform-customer-row { grid-template-columns: 1fr 1fr; }
      .organization-detail-grid { grid-template-columns: 1fr 1fr; }
      .platform-activity-row { grid-template-columns: 130px 1fr; }
      .first-access-steps { grid-template-columns: 1fr 1fr; }
    }
    @media (max-width: 620px) {
      .brand-copy span { display: none; }
      .admin-main { padding: 18px 10px 38px; }
      .admin-nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .admin-page-head { align-items: flex-start; flex-direction: column; }
      .admin-stat-grid, .platform-customer-row { grid-template-columns: 1fr; }
      .organization-detail-grid, .organization-tools, .platform-activity-row, .first-access-steps { grid-template-columns: 1fr; }
      .organization-tool-row { align-items: stretch; flex-direction: column; }
      .first-access-head, .first-access-actions { flex-direction: column; }
      .platform-onboard-grid { grid-template-columns: 1fr; }
      .platform-onboard-action button { width: 100%; }
    }

/* Urban Blueprint 2026: claro, arquitetonico e orientado a dados */
    :root {
      color-scheme: light;
      --space-1: 4px;
      --space-2: 8px;
      --space-3: 12px;
      --space-4: 16px;
      --space-5: 24px;
      --space-6: 32px;
      --space-7: 48px;
      --bg: oklch(96.8% .007 258);
      --panel: oklch(99.4% .003 258);
      --panel-2: oklch(94.8% .012 258);
      --input: oklch(99.6% .002 258);
      --ink: oklch(22% .025 258);
      --muted: oklch(49% .025 258);
      --line: oklch(87% .014 258);
      --blue: oklch(55% .235 266);
      --blue-2: oklch(48% .22 266);
      --green: oklch(58% .15 158);
      --amber: oklch(72% .15 78);
      --red: oklch(58% .19 25);
      --info: oklch(55% .235 266);
      --clay-soft: oklch(96% .018 266);
      --leaf-soft: oklch(96% .025 158);
      --gold-soft: oklch(96% .028 78);
      --soft: oklch(95% .01 258);
      --chip: oklch(93.5% .017 258);
      --panel-glow: transparent;
      --focus: oklch(55% .235 266 / .2);
      --shadow: 0 1px 2px oklch(22% .025 258 / .06);
    }
    body {
      min-height: 100vh;
      background: var(--bg);
      color: var(--ink);
      font-family: "Segoe UI Variable", "Segoe UI", Arial, Helvetica, sans-serif;
    }
    header {
      min-height: 58px;
      padding: 8px 20px;
      border-color: var(--line);
      background: var(--panel);
      color: var(--ink);
    }
    main {
      width: min(1520px, calc(100% - 32px));
      margin-top: var(--space-4);
    }
    h1, h2, h3, strong { color: var(--ink); }
    .muted, .sub { color: var(--muted); }
    label { color: oklch(42% .025 258); }
    input, select {
      min-height: 40px;
      border-color: var(--line);
      background: var(--input);
      color: var(--ink);
    }
    input::placeholder { color: oklch(58% .022 258); }
    input:hover, select:hover { border-color: oklch(74% .03 258); }
    input:focus, select:focus, button:focus-visible, a:focus-visible {
      border-color: var(--blue);
      box-shadow: 0 0 0 3px var(--focus);
    }
    button {
      min-height: 40px;
      border-color: var(--blue);
      border-radius: 6px;
      background: var(--blue);
      color: white;
      box-shadow: none;
    }
    button:hover {
      border-color: var(--blue-2);
      background: var(--blue-2);
      transform: none;
    }
    button.secondary, button.ghost {
      border-color: var(--line);
      background: var(--panel);
      color: var(--ink);
    }
    button.secondary:hover, button.ghost:hover {
      border-color: oklch(72% .04 266);
      background: oklch(96% .018 266);
      color: var(--blue-2);
    }
    button.link {
      border-color: oklch(82% .045 266);
      background: oklch(96% .018 266);
      color: var(--blue-2);
    }
    .scope-badge {
      border-color: oklch(82% .045 266);
      background: oklch(96% .018 266);
      color: var(--blue-2);
    }
    .login,
    .sidebar,
    .content-panel,
    .diag,
    .kpis,
    .modal-card,
    .topbar,
    .quick-desk,
    .mini-summary,
    .card,
    .detail,
    .detail-section,
    .gallery,
    .first-access-guide {
      border-color: var(--line);
      background: var(--panel);
      color: var(--ink);
      box-shadow: var(--shadow);
    }
    .login { padding: var(--space-5); border-radius: 10px; }
    .app-shell {
      grid-template-columns: 304px minmax(0, 1fr);
      gap: var(--space-4);
    }
    .sidebar {
      top: 70px;
      max-height: calc(100vh - 86px);
      padding: var(--space-4);
      border-radius: 8px;
    }
    .sidebar::-webkit-scrollbar-thumb {
      border-color: var(--panel);
      background: oklch(78% .018 258);
    }
    .group { border-color: var(--line); }
    .group h3 {
      color: oklch(42% .025 258);
      letter-spacing: 0;
      text-transform: none;
    }
    .sidebar .seg button:not(.active),
    .sidebar .chips button:not(.active) {
      border-color: var(--line);
      background: var(--panel);
      color: oklch(42% .025 258);
    }
    .sidebar button.active,
    button.active,
    .mode-switch button.active {
      border-color: var(--blue);
      background: var(--blue);
      color: white;
      box-shadow: none;
    }
    .mode-switch { border-color: var(--line); background: var(--soft); }
    .topbar {
      padding: var(--space-3);
      border-radius: 8px;
    }
    .content-panel { border-radius: 8px; }
    .kpis {
      gap: 0;
      overflow: hidden;
      padding: 0;
    }
    .kpi {
      border: 0;
      border-right: 1px solid var(--line);
      border-radius: 0;
      background: var(--panel);
    }
    .kpi:last-child { border-right: 0; }
    .kpi::before { height: 2px; background: var(--blue); }
    .kpi:nth-child(2)::before { background: var(--green); }
    .kpi:nth-child(3)::before { background: var(--amber); }
    .kpi:nth-child(4)::before { background: var(--red); }
    .kpi span, .kv span { color: var(--muted); }
    .card {
      border-radius: 8px;
      background: var(--panel);
    }
    .card:hover { border-color: oklch(75% .035 266); background: var(--panel); }
    .card h3, .card .title { color: var(--ink); }
    .tag {
      border-color: var(--line);
      background: var(--soft);
      color: oklch(42% .025 258);
    }
    .CONFIRMADO, .green, .score-high {
      border-color: oklch(80% .07 158);
      background: oklch(95% .035 158);
      color: oklch(42% .12 158);
    }
    .PROVAVEL, .amber, .stage-contatar {
      border-color: oklch(82% .08 78);
      background: oklch(96% .04 78);
      color: oklch(45% .11 78);
    }
    .SUSPEITO, .red, .stage-descartar {
      border-color: oklch(84% .06 25);
      background: oklch(96% .028 25);
      color: oklch(47% .16 25);
    }
    .stage-monitorar, .score-mid {
      border-color: oklch(82% .06 235);
      background: oklch(96% .025 235);
      color: oklch(45% .11 235);
    }
    .empty, .hint, .market-note, .admin-operation-note {
      border-color: var(--line);
      background: var(--soft);
      color: var(--muted);
    }
    .empty strong { color: var(--ink); }
    body.mode-user .brand-mark,
    body.mode-admin .brand-mark {
      width: 34px;
      height: 34px;
      border-radius: 0;
      clip-path: polygon(0 0, 100% 0, 100% 73%, 73% 100%, 0 100%);
      background: var(--blue);
      color: transparent;
    }
    body.mode-user .brand-mark::before,
    body.mode-admin .brand-mark::before {
      content: "";
      position: absolute;
      inset: 8px 9px 8px;
      border: 2px solid white;
      border-bottom-color: transparent;
    }
    body.mode-user .brand-copy strong,
    body.mode-admin .brand-copy strong {
      color: var(--ink);
      font-size: 15px;
      font-weight: 760;
    }
    body.mode-user .brand-copy span,
    body.mode-admin .brand-copy span { color: var(--muted); }
    body.mode-user .product-nav {
      padding: 4px;
      border-color: var(--line);
      border-radius: 8px;
      background: var(--panel);
      box-shadow: var(--shadow);
    }
    body.mode-user .product-nav button {
      min-height: 46px;
      border: 0;
      border-radius: 5px;
      background: transparent;
      color: var(--muted);
    }
    body.mode-user .product-nav button:last-child { border-right: 0; }
    body.mode-user .product-nav button:hover {
      background: var(--soft);
      color: var(--ink);
    }
    body.mode-user .product-nav button.active {
      background: oklch(95.5% .025 266);
      color: var(--blue-2);
    }
    body.mode-user .product-nav button::after {
      left: 20%;
      right: 20%;
      bottom: 1px;
      height: 2px;
      background: transparent;
    }
    body.mode-user .product-nav button[data-product-view].active::after { background: var(--blue); }
    body.mode-user .tool-page {
      padding: var(--space-6) var(--space-5) var(--space-7);
      border: 0;
      border-radius: 0;
      background: transparent;
    }
    body.mode-user .tool-head {
      margin-bottom: var(--space-5);
      padding-bottom: var(--space-5);
      border-color: var(--line);
    }
    body.mode-user .tool-head h2 {
      color: var(--ink);
      font-size: 30px;
      font-weight: 740;
      letter-spacing: -.035em;
    }
    body.mode-user .tool-head p {
      color: var(--muted);
      font-size: 14px;
    }
    body.mode-user .tool-badge,
    body.mode-user [data-product-page="advertisers"] .tool-badge,
    body.mode-user [data-product-page="valuation"] .tool-badge {
      border-color: oklch(82% .045 266);
      background: oklch(96% .018 266);
      color: var(--blue-2);
    }
    body.mode-user .tool-filters {
      gap: var(--space-3);
      padding: var(--space-4);
      border-color: var(--line);
      border-radius: 8px;
      background: var(--panel);
      box-shadow: var(--shadow);
    }
    body.mode-user .tool-filters.market-filters,
    body.mode-user .tool-filters.advertiser-filters {
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    }
    body.mode-user .tool-filters > button {
      align-self: end;
      min-width: 170px;
    }
    body.mode-user input,
    body.mode-user select {
      border-color: var(--line);
      background: var(--input);
      color: var(--ink);
    }
    body.mode-user label { color: oklch(42% .025 258); }
    body.mode-user .analytics-filterbar { margin: var(--space-3) 0 var(--space-5); }
    body.mode-user details.analytics-secondary {
      display: block;
      padding: 0;
      border: 0;
      background: transparent;
      box-shadow: none;
    }
    body.mode-user details.analytics-secondary summary {
      width: fit-content;
      padding: var(--space-2) 0;
      color: var(--muted);
      cursor: pointer;
      font-size: 12px;
      font-weight: 700;
    }
    body.mode-user details.analytics-secondary[open] {
      padding: var(--space-3) var(--space-4);
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
    }
    body.mode-user details.analytics-secondary[open] summary {
      margin-bottom: var(--space-3);
      padding-top: 0;
    }
    body.mode-user details.analytics-secondary .analytics-actions {
      margin-top: var(--space-3);
    }
    body.mode-user .analytics-chip {
      border-color: oklch(82% .035 266);
      background: oklch(96% .018 266);
      color: var(--blue-2);
    }
    body.mode-user .decision-hero {
      grid-template-columns: minmax(0, 1.3fr) minmax(300px, .7fr);
      gap: var(--space-3);
      margin-top: var(--space-5);
    }
    body.mode-user .decision-summary,
    body.mode-user .decision-opportunity {
      min-height: 172px;
      padding: var(--space-5);
      border-radius: 8px;
      box-shadow: none;
    }
    body.mode-user .decision-summary {
      border-color: var(--blue);
      background: var(--blue);
    }
    body.mode-user .decision-opportunity {
      border-color: var(--line);
      background: var(--panel);
    }
    body.mode-user .decision-summary .decision-eyebrow,
    body.mode-user .decision-summary h3,
    body.mode-user .decision-summary p { color: white; }
    body.mode-user .decision-summary .decision-eyebrow { color: oklch(88% .055 266); }
    body.mode-user .decision-opportunity .decision-eyebrow { color: oklch(42% .12 158); }
    body.mode-user .decision-summary h3,
    body.mode-user .decision-opportunity h3 {
      max-width: 32ch;
      color: var(--ink);
      font-size: 22px;
    }
    body.mode-user .decision-summary h3 { color: white; }
    body.mode-user .decision-summary p { color: oklch(91% .025 266); }
    body.mode-user .decision-opportunity p { color: var(--muted); }
    body.mode-user .decision-summary .decision-action {
      border-color: oklch(82% .07 266);
      background: white;
      color: var(--blue-2);
    }
    body.mode-user .decision-opportunity .decision-action {
      border-color: oklch(78% .065 158);
      background: oklch(95% .035 158);
      color: oklch(40% .12 158);
    }
    body.mode-user .market-kpis {
      margin-top: var(--space-3);
      gap: 1px;
      border-color: var(--line);
      border-radius: 8px;
      background: var(--line);
      box-shadow: var(--shadow);
    }
    body.mode-user .market-kpi,
    body.mode-user .market-kpi:nth-child(4n + 1),
    body.mode-user .market-kpi:nth-child(4n + 2),
    body.mode-user .market-kpi:nth-child(4n + 3),
    body.mode-user .market-kpi:nth-child(4n) {
      min-height: 112px;
      border: 0;
      background: var(--panel);
    }
    body.mode-user .market-kpi span { color: var(--muted); }
    body.mode-user .market-kpi strong {
      color: var(--ink);
      font-size: 25px;
    }
    body.mode-user .market-kpi small { color: oklch(55% .022 258); }
    body.mode-user .market-grid { gap: var(--space-3); margin-top: var(--space-3); }
    body.mode-user [data-product-page="market"] .market-grid .market-card:first-child {
      grid-column: 1 / -1;
    }
    body.mode-user [data-product-page="advertisers"] .market-grid {
      grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr);
      align-items: start;
    }
    body.mode-user [data-product-page="advertisers"] .market-grid .market-card:first-child {
      grid-row: span 2;
    }
    body.mode-user .market-card,
    body.mode-user .valuation-card,
    body.mode-user .valuation-form {
      border-color: var(--line);
      border-radius: 8px;
      background: var(--panel);
      color: var(--ink);
      box-shadow: var(--shadow);
    }
    body.mode-user .market-card h3 { color: var(--ink); }
    body.mode-user .market-card > p { color: var(--muted); }
    body.mode-user .market-row { border-color: var(--line); color: var(--ink); }
    body.mode-user .market-row.actionable:hover { background: oklch(96% .018 266); }
    body.mode-user .market-bar { background: oklch(91% .014 258); }
    body.mode-user .market-bar i { background: var(--blue); }
    body.mode-user [data-product-page="advertisers"] .market-bar i { background: var(--green); }
    body.mode-user .trend-week span,
    body.mode-user .chart-legend,
    body.mode-user .market-updated { color: var(--muted); }
    body.mode-user .opportunity-item {
      border-color: var(--line);
      background: var(--panel);
    }
    body.mode-user .opportunity-item:hover {
      border-color: oklch(76% .07 158);
      background: oklch(96% .025 158);
    }
    body.mode-user .opportunity-item span { color: oklch(47% .05 158); }
    body.mode-user .opportunity-score { color: oklch(42% .12 158); }
    body.mode-user .advertiser-compare {
      border-color: var(--line);
      background: var(--panel);
    }
    body.mode-user .compare-card,
    body.mode-user .compare-card:nth-child(1),
    body.mode-user .compare-card:nth-child(2),
    body.mode-user .compare-card:nth-child(3) {
      border-color: var(--line);
      background: var(--soft);
      color: var(--ink);
    }
    body.mode-user .compare-metric,
    body.mode-user .valuation-method { border-color: var(--line); }
    body.mode-user .compare-metric span,
    body.mode-user .valuation-preview,
    body.mode-user .valuation-field-hint,
    body.mode-user .valuation-range-labels,
    body.mode-user .valuation-disclaimer,
    body.mode-user .valuation-method { color: var(--muted); }
    body.mode-user .valuation-checks label,
    body.mode-user .valuation-stat,
    body.mode-user .pricing-position-numbers div,
    body.mode-user .valuation-evidence-item {
      border-color: var(--line);
      background: var(--soft);
      color: var(--ink);
    }
    body.mode-user .valuation-result .estimate { color: var(--ink); }
    body.mode-user .valuation-result .range { color: var(--blue-2); }
    body.mode-user .valuation-range-visual { background: oklch(91% .014 258); }
    body.mode-user .valuation-range-visual i { background: var(--blue); }
    body.mode-user .valuation-range-visual b {
      background: white;
      box-shadow: 0 0 0 3px oklch(55% .235 266 / .2);
    }
    body.mode-user .pricing-position {
      border-color: oklch(80% .06 266);
      background: oklch(96% .018 266);
    }
    body.mode-user .pricing-position.good {
      border-color: oklch(80% .07 158);
      background: oklch(96% .025 158);
    }
    body.mode-user .pricing-position.warning {
      border-color: oklch(82% .08 78);
      background: oklch(96% .035 78);
    }
    body.mode-user .pricing-position.risk {
      border-color: oklch(84% .06 25);
      background: oklch(96% .028 25);
    }
    body.mode-user .pricing-position p { color: oklch(45% .03 258); }
    body.mode-user .valuation-alert {
      border-color: oklch(82% .08 78);
      background: oklch(96% .035 78);
      color: oklch(45% .1 78);
    }
    body.mode-user .valuation-alert strong { color: oklch(42% .11 78); }
    body.mode-user .valuation-audit span {
      border-color: var(--line);
      background: var(--soft);
      color: var(--muted);
    }
    body.mode-user .valuation-evidence,
    body.mode-user .valuation-comparables {
      border-color: var(--line);
      background: var(--panel);
    }
    body.mode-user .valuation-evidence summary { color: var(--ink); }
    body.mode-user .valuation-comparables th {
      border-color: var(--line);
      background: var(--soft);
      color: oklch(42% .025 258);
    }
    body.mode-user .valuation-comparables td {
      border-color: var(--line);
      color: var(--ink);
    }
    body.mode-user .analytics-method,
    body.mode-user .market-note {
      border-color: var(--line);
      background: var(--soft);
      color: var(--muted);
    }
    body.mode-user .analytics-method summary { color: oklch(38% .025 258); }
    body.mode-user .tool-loading,
    body.mode-user .valuation-empty { color: var(--muted); }
    body.mode-admin main { background: var(--bg); }
    .admin-workspace {
      min-height: calc(100vh - 58px);
      background: var(--bg);
    }
    .admin-nav {
      top: 58px;
      height: calc(100vh - 58px);
      padding: var(--space-5) var(--space-4);
      border-color: oklch(31% .055 266);
      background: oklch(25% .08 266);
    }
    .admin-nav-title { color: white; }
    .admin-nav-title span { color: oklch(78% .035 266); }
    .admin-nav-list { gap: var(--space-1); }
    .admin-nav-list button {
      border-color: transparent;
      background: transparent;
      color: oklch(82% .025 266);
    }
    .admin-nav-list button::before { background: oklch(59% .07 266); }
    .admin-nav-list button:hover {
      border-color: transparent;
      background: oklch(31% .085 266);
      color: white;
    }
    .admin-nav-list button.active {
      border-color: white;
      background: white;
      color: oklch(30% .12 266);
      box-shadow: none;
    }
    .admin-nav-list button.active::before {
      background: var(--blue);
      box-shadow: none;
    }
    .admin-nav-note {
      border-color: oklch(38% .065 266);
      background: oklch(29% .075 266);
      color: oklch(79% .03 266);
    }
    .admin-main { padding: var(--space-6) clamp(20px, 3vw, 48px) var(--space-7); }
    .admin-page-head { margin-bottom: var(--space-5); }
    .admin-page-head h2 { color: var(--ink); font-size: 28px; }
    .admin-page-head p { color: var(--muted); }
    .admin-badge {
      border-color: oklch(80% .07 158);
      background: oklch(95% .035 158);
      color: oklch(42% .12 158);
    }
    .admin-hero { gap: var(--space-3); margin-bottom: var(--space-3); }
    .admin-hero-copy,
    .admin-hero-action,
    .admin-section {
      border-color: var(--line);
      border-radius: 8px;
      background: var(--panel);
      color: var(--ink);
      box-shadow: var(--shadow);
    }
    .admin-eyebrow {
      color: var(--blue-2);
      letter-spacing: 0;
      text-transform: none;
    }
    .admin-hero-copy p,
    .admin-hero-action p,
    .admin-section-head span { color: var(--muted); }
    .admin-stat-grid {
      gap: 0;
      overflow: hidden;
      margin-bottom: var(--space-3);
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--panel);
    }
    .admin-stat {
      border: 0;
      border-right: 1px solid var(--line);
      border-radius: 0;
      background: var(--panel);
      color: var(--ink);
    }
    .admin-stat:last-child { border-right: 0; }
    .admin-stat span {
      color: var(--muted);
      letter-spacing: 0;
      text-transform: none;
    }
    .admin-stat small { color: var(--muted); }
    .admin-stat.active { border-color: var(--line); }
    .admin-stat.pending { border-color: var(--line); }
    .admin-stat.failed { border-color: var(--line); }
    .admin-section { margin-bottom: var(--space-3); }
    .admin-empty {
      border-color: var(--line);
      color: var(--muted);
    }
    .platform-customer-row,
    .organization-detail-card,
    .organization-tool,
    .platform-activity-row,
    .first-access-step,
    .admin-operation-note {
      border-color: var(--line);
      background: var(--soft);
      color: var(--ink);
      box-shadow: none;
    }
    .platform-customer-row .customer-dates,
    .customer-action-message,
    .organization-detail-card span,
    .organization-tool p,
    .platform-activity-row .activity-time,
    .first-access-head p { color: var(--muted); }
    .organization-detail-card span {
      letter-spacing: 0;
      text-transform: none;
    }
    .danger-zone {
      border-color: oklch(84% .06 25);
      background: oklch(96% .028 25);
    }
    .danger-zone h3 { color: oklch(45% .16 25); }
    .danger-zone p { color: oklch(48% .08 25); }
    .danger-zone button,
    .customer-actions .danger {
      border-color: oklch(75% .11 25);
      background: white;
      color: oklch(47% .16 25);
    }
    .first-access-guide {
      border-color: oklch(82% .045 266);
      background: oklch(96% .018 266);
    }
    .first-access-step.done {
      border-color: oklch(78% .07 158);
      background: oklch(95% .035 158);
      color: oklch(42% .12 158);
    }
    @media (max-width: 980px) {
      .app-shell { grid-template-columns: 1fr; }
      .sidebar { position: static; max-height: none; }
      body.mode-user .decision-hero { grid-template-columns: 1fr; }
      body.mode-user [data-product-page="advertisers"] .market-grid { grid-template-columns: 1fr; }
      body.mode-user [data-product-page="advertisers"] .market-grid .market-card:first-child { grid-row: auto; }
      body.mode-user .market-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      body.mode-user .market-kpi:nth-child(n) {
        border: 0;
      }
      .admin-stat:nth-child(n) { border-right: 0; }
    }
    @media (max-width: 620px) {
      main { width: min(100% - 20px, 1520px); }
      header { padding-inline: 10px; }
      body.mode-user .tool-page { padding: var(--space-5) var(--space-1) var(--space-6); }
      body.mode-user .tool-head h2 { font-size: 26px; }
      body.mode-user .market-kpis { grid-template-columns: 1fr; }
      .admin-nav { background: oklch(25% .08 266); }
      .admin-stat-grid { grid-template-columns: 1fr; }
    }
    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
    }
    @media (max-width: 620px) {
      button, input, select, textarea { min-height: 44px; }
    }
