/* ============================================================
   base.css — identidade compartilhada (Paim United Creators)
   fontes reais, tema claro/escuro e componentes comuns
   ============================================================ */

@font-face { font-family:'Saira Condensed'; font-weight:700; font-style:normal;
  src:url('/assets/saira-bold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Saira Condensed'; font-weight:600; font-style:normal;
  src:url('/assets/saira-semibold.ttf') format('truetype'); font-display:swap; }
@font-face { font-family:'Hanken Grotesk'; font-weight:400 700; font-style:normal;
  src:url('/assets/hanken.ttf') format('truetype'); font-display:swap; }

:root {
  --bg:#faf9f7; --surface:#ffffff; --surface-2:#fbfaf8;
  --ink:#1a1a1a; --muted:#777; --line:#e5e5e5; --field-bg:#ffffff;
  --accent:#e7713d; --accent-ink:#ffffff; --danger:#a32d2d;
  --safe-bg:#fbeee7; --safe-ink:#8a4021;
  --warn-bg:#fdf3e7; --warn-ink:#8a5a1f;
}
[data-theme="dark"] {
  --bg:#141210; --surface:#1d1a17; --surface-2:#211d19;
  --ink:#efeae4; --muted:#9c948b; --line:#332e29; --field-bg:#26221f;
  --accent:#e7713d; --accent-ink:#ffffff; --danger:#e88a86;
  --safe-bg:#2a201a; --safe-ink:#e0a583;
  --warn-bg:#2a2216; --warn-ink:#e0b072;
}

* { box-sizing:border-box; }
body { font-family:'Hanken Grotesk',system-ui,sans-serif; color:var(--ink);
       background:var(--bg); margin:0; line-height:1.5; }

/* topbar + logo */
.topbar { background:var(--surface); border-bottom:1px solid var(--line);
          padding:12px 20px; display:flex; align-items:center; justify-content:space-between; }
.logo { height:22px; width:auto; display:block; }
.logo.dark { display:none; }
[data-theme="dark"] .logo.light { display:none; }
[data-theme="dark"] .logo.dark { display:block; }
.topbar-right { display:flex; align-items:center; gap:12px; }

/* botão de tema */
.theme-toggle { background:transparent; border:1px solid var(--line); border-radius:8px;
  width:34px; height:34px; padding:0; cursor:pointer; color:var(--muted);
  display:inline-flex; align-items:center; justify-content:center; }
.theme-toggle:hover { color:var(--ink); }
.theme-toggle svg { width:17px; height:17px; }
.theme-toggle .sun { display:none; }
[data-theme="dark"] .theme-toggle .moon { display:none; }
[data-theme="dark"] .theme-toggle .sun { display:inline; }

/* tipografia */
h1 { font-family:'Saira Condensed',sans-serif; font-weight:700; letter-spacing:.2px; }
.sec-title { font-family:'Saira Condensed',sans-serif; font-weight:600; }

/* controles */
input, select, textarea { font:inherit; font-size:15px; padding:9px 11px;
  border:1px solid var(--line); border-radius:8px; background:var(--field-bg);
  color:var(--ink); width:100%; }
input:focus, select:focus, textarea:focus { outline:none; border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(231,113,61,.18); }
label { color:var(--ink); }

/* botões */
.btn { border-radius:8px; padding:12px; font:inherit; font-size:15px; font-weight:600;
  cursor:pointer; display:inline-flex; align-items:center; justify-content:center; gap:6px; }
.btn:disabled { opacity:.6; cursor:default; }
.btn-primary { background:var(--accent); color:var(--accent-ink); border:none; }
.btn-ghost { background:var(--surface); border:1px solid var(--line); color:var(--ink); }

/* badges de status */
.badge { font-size:12px; padding:3px 10px; border-radius:20px; white-space:nowrap; }
.s-aguardando_preenchimento { background:var(--surface-2); color:var(--muted); border:1px solid var(--line); }
.s-aguardando_revisao { background:var(--safe-bg); color:var(--safe-ink); }
.s-aprovado, .s-concluido { background:#e1f5ee; color:#0f6e56; }
.s-contrato_gerado, .s-aguardando_assinatura { background:#eaf0fb; color:#345; }
.s-cancelado { background:#f4eaea; color:#8a3030; }

.err { color:var(--danger); }
.hidden { display:none !important; }
