/* ============================================================
   Executors CRM · design system "Frosted" (base Radix/Whop), accent LARANJA da marca.
   Dark = padrão (:root). Light = body.theme-light.  Prefixo de classe: fs-.
   ============================================================ */
:root {
  --font-ui: "Inter", -apple-system, "Segoe UI", Roboto, system-ui, sans-serif;
  --font-display: "Poppins", "Inter", system-ui, sans-serif;
  --font-mono: "Geist Mono", "SF Mono", ui-monospace, monospace;
  --fs-0:10px; --fs-1:12px; --fs-2:14px; --fs-3:16px; --fs-4:18px; --fs-5:20px; --fs-6:24px; --fs-7:28px; --fs-8:32px; --fs-9:40px;
  --lh-0:14px; --lh-1:16px; --lh-2:20px; --lh-3:24px; --lh-4:26px; --lh-5:28px; --lh-6:30px; --lh-7:34px; --lh-8:38px; --lh-9:48px;
  --ls-1:.000625em; --ls-2:-.005625em; --ls-3:-.01125em; --ls-4:-.01625em; --ls-5:-.020625em; --ls-6:-.029375em; --ls-7:-.036875em; --ls-8:-.043125em; --ls-9:-.055625em;
  --fw-light:300; --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700;
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px; --space-5:24px; --space-6:32px; --space-7:40px; --space-8:48px; --space-9:64px;
  --radius-1:3px; --radius-2:4px; --radius-3:6px; --radius-4:8px; --radius-5:12px; --radius-6:16px; --radius-cta:14px; --radius-full:9999px;
  --ease-out: cubic-bezier(0,0,.2,1); --ease-pop: cubic-bezier(.34,1.56,.64,1); --dur-fast:150ms; --dur:300ms;
}
/* ================= DARK (padrão) ================= */
:root, body.theme-dark {
  color-scheme: dark;
  --gray-1:#0a0a0a; --gray-2:#121212; --gray-3:#1a1a1a; --gray-4:#222222; --gray-5:#2a2a2a; --gray-6:#343434; --gray-7:#454545;
  --gray-8:#5c5c5c; --gray-9:#6e6e6e; --gray-11:#b0b0b0; --gray-12:#f4f4f4;
  /* accent = LARANJA Executors #f8820f travado no 9 */
  --accent-2:#1a1005; --accent-3:#2a1806; --accent-7:#a8580a; --accent-8:#d96f0c;
  --accent-9:#f8820f; --accent-10:#ff9426; --accent-11:#ffa348; --accent-12:#ffe0bf;
  --accent-contrast:#160a00;
  --bg:var(--gray-1); --surface:var(--gray-2); --surface-hover:var(--gray-3); --card:rgba(255,255,255,.027);
  --border:var(--gray-6); --border-subtle:var(--gray-4);
  --text:var(--gray-12); --text-secondary:var(--gray-11); --text-muted:rgba(255,255,255,.686); --overlay:rgba(0,0,0,.6);
  --success-bg:rgba(34,255,153,.118); --success-fg:rgba(70,254,165,.83);
  --warn-fg:#ffe7b3; --warn-bg:rgba(255,200,80,.15);
  --danger-fg:#ff617b; --danger-bg:rgba(255,97,123,.15);
  --info-fg:#a8eeff; --info-bg:rgba(168,238,255,.12);
  --shadow-2:0 0 0 1px color-mix(in oklab,#ffffff2c,#343434),0 1px 1px #0006,0 2px 1px -1px #0006,0 1px 3px #0009;
  --shadow-3:0 0 0 1px color-mix(in oklab,#ffffff2c,#343434),0 3px 8px -2px #0006,0 4px 12px -4px #00000080;
  --shadow-6:0 0 0 1px color-mix(in oklab,#ffffff2c,#343434),0 12px 60px #0003,0 16px 64px #0006,0 16px 36px -20px #000000e6;
  --shadow-btn:inset 0 0 0 1px rgba(255,255,255,.133),0 1px 2px rgba(0,0,0,.05);
  --shadow-input:inset 0 0 0 1px rgba(255,255,255,.133),0 1px 3px -1px rgba(0,0,0,.4);
  --focus-ring:0 0 0 1px var(--accent-8),0 0 0 4px color-mix(in srgb,var(--accent-9) 30%,transparent);
}
/* ================= LIGHT ================= */
body.theme-light {
  color-scheme: light;
  --gray-1:#fcfcfc; --gray-2:#f9f9f9; --gray-3:#f0f0f0; --gray-4:#e8e8e8; --gray-5:#e0e0e0; --gray-6:#d9d9d9; --gray-7:#cecece;
  --gray-8:#bbbbbb; --gray-9:#8d8d8d; --gray-11:#646464; --gray-12:#141414;
  /* laranja no claro: #c25e00 dá 4,6:1 sobre branco pra texto; o botão continua #f8820f com texto escuro */
  --accent-2:#fff6ec; --accent-3:#ffe9d3; --accent-7:#f0a45a; --accent-8:#e8790c;
  --accent-9:#f8820f; --accent-10:#e8790c; --accent-11:#b85700; --accent-12:#5a2a00;
  --accent-contrast:#160a00;
  --bg:var(--gray-1); --surface:#ffffff; --surface-hover:var(--gray-3); --card:#ffffff;
  --border:rgba(0,0,0,.15); --border-subtle:var(--gray-4);
  --text:var(--gray-12); --text-secondary:var(--gray-11); --text-muted:#646464; --overlay:rgba(0,0,0,.4);
  --danger-fg:#c8102e; --danger-bg:rgba(200,16,46,.10); --warn-fg:#9a5b00; --warn-bg:rgba(154,91,0,.10);
  --success-fg:#0a7d3f; --success-bg:rgba(10,125,63,.10); --info-fg:#0062c4; --info-bg:rgba(0,98,196,.10);
  --shadow-2:0 0 0 1px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.05); --shadow-3:0 0 0 1px rgba(0,0,0,.06),0 4px 12px -4px rgba(0,0,0,.12);
  --shadow-6:0 0 0 1px rgba(0,0,0,.06),0 16px 48px -12px rgba(0,0,0,.25);
  --shadow-input:inset 0 0 0 1px rgba(0,0,0,.12),0 1px 3px -1px rgba(0,0,0,.05); --shadow-btn:inset 0 0 0 1px rgba(0,0,0,.1),0 1px 2px rgba(0,0,0,.05);
  --focus-ring:0 0 0 1px var(--accent-9),0 0 0 4px color-mix(in srgb,var(--accent-9) 25%,transparent);
}
*{box-sizing:border-box}
.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}
/* ---------- Button ---------- */
.fs-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:32px;padding:0 var(--space-3);border:0;border-radius:var(--radius-4);
  font:var(--fw-medium) var(--fs-2)/1 var(--font-ui);cursor:pointer;color:var(--text);white-space:nowrap;text-decoration:none;
  transition:background var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}
.fs-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.fs-btn[disabled]{pointer-events:none;opacity:.5;cursor:not-allowed}
.fs-btn--sm{height:24px;padding:0 var(--space-2);border-radius:var(--radius-3);font-size:var(--fs-1)}
.fs-btn--lg{height:48px;padding:0 var(--space-5);border-radius:var(--radius-cta);font-size:var(--fs-4)}
.fs-btn--solid{background:var(--accent-9);color:var(--accent-contrast);font-weight:var(--fw-semibold)}
.fs-btn--solid:hover{background:var(--accent-10)}
.fs-btn--surface{background:var(--surface);color:var(--text);box-shadow:var(--shadow-btn)}
.fs-btn--surface:hover{background:var(--surface-hover)}
.fs-btn--ghost{background:transparent;color:var(--text-muted);border-radius:var(--radius-3)}
.fs-btn--ghost:hover{background:var(--gray-3);color:var(--text)}
.fs-btn--danger{background:var(--danger-fg);color:#fff}
.fs-btn--block{width:100%}
/* ---------- Input ---------- */
.fs-input{width:100%;height:40px;padding:0 var(--space-3);border:0;border-radius:var(--radius-3);background:var(--surface);color:var(--text);
  font-size:var(--fs-2);font-family:var(--font-ui);box-shadow:var(--shadow-input);transition:box-shadow var(--dur-fast) var(--ease-out);outline:none}
textarea.fs-input{height:auto;min-height:92px;padding:var(--space-3);line-height:1.5;resize:vertical}
select.fs-input{appearance:none;-webkit-appearance:none;padding-right:30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px}
.fs-input::placeholder{color:var(--gray-9)}
.fs-input:focus{box-shadow:var(--focus-ring)}
.fs-input[aria-invalid="true"]{box-shadow:inset 0 0 0 1px var(--danger-fg),0 0 0 4px color-mix(in srgb,var(--danger-fg) 25%,transparent)}
.fs-field{display:flex;flex-direction:column;gap:var(--space-2)}
.fs-label{font-size:var(--fs-1);font-weight:var(--fw-medium);color:var(--text-secondary);letter-spacing:.02em}
/* ---------- Card / Badge / Table / Modal ---------- */
.fs-card{background:var(--card);border:1px solid var(--border-subtle);border-radius:var(--radius-6);padding:var(--space-4)}
.fs-panel{background:var(--surface);border-radius:var(--radius-6);padding:var(--space-4)}
.fs-badge{display:inline-flex;align-items:center;height:20px;padding:2px var(--space-2);border-radius:var(--radius-3);font-size:var(--fs-1);font-weight:var(--fw-medium);line-height:1;background:var(--gray-4);color:var(--gray-11)}
.fs-badge--success{background:var(--success-bg);color:var(--success-fg)}
.fs-badge--warn{background:var(--warn-bg);color:var(--warn-fg)}
.fs-badge--danger{background:var(--danger-bg);color:var(--danger-fg)}
.fs-badge--info{background:var(--info-bg);color:var(--info-fg)}
.fs-badge--accent{background:var(--accent-3);color:var(--accent-11)}
.fs-table{width:100%;border-collapse:collapse;font-size:var(--fs-2)}
.fs-table th{height:40px;padding:0 var(--space-4);text-align:left;font-weight:var(--fw-bold);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary)}
.fs-table td{height:52px;padding:0 var(--space-4)}
.fs-table tbody tr{transition:background var(--dur-fast) var(--ease-out)}
.fs-table tbody tr:hover{background:var(--surface)}
.fs-overlay{position:fixed;inset:0;background:var(--overlay);display:grid;place-items:center;padding:var(--space-4);z-index:50;backdrop-filter:blur(4px)}
.fs-modal{background:var(--surface);border-radius:var(--radius-6);max-width:500px;width:100%;box-shadow:var(--shadow-6);overflow:hidden;animation:fs-pop var(--dur) var(--ease-pop)}
@keyframes fs-pop{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.fs-nav-item{display:flex;align-items:center;gap:var(--space-3);height:40px;padding:0 10px;border-radius:var(--radius-4);color:var(--text-secondary);cursor:pointer;transition:background var(--dur-fast) var(--ease-out)}
.fs-nav-item:hover{background:var(--surface)}
.fs-nav-item[aria-current="page"]{background:var(--surface);color:var(--text)}
