/* Identidade Verity: azul da marca, Poppins e logo oficial */
  :root {
    --brand: #1f3cff;
    --brand-dark: #1530d6;
    --brand-soft: #e9edff;
    --brand-line: #b9c3ff;
    --ink: #0b1033;
    --ink-2: #454b6b;
    --ink-3: #7c8199;
    --paper: #f5f6fa;
    --card: #ffffff;
    --line: #e3e5ee;
    --line-2: #cdd1de;
    --good: #12805c;
    --warn: #a15c07;
    --bad: #c4312f;
    --radius: 14px;
    --serif: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
    --sans: 'Poppins', system-ui, -apple-system, 'Segoe UI', sans-serif;
  }
  * { box-sizing: border-box; }
  html, body { margin: 0; padding: 0; }
  body {
    background: var(--paper); color: var(--ink);
    font-family: var(--sans); font-size: 15px; line-height: 1.55;
    -webkit-font-smoothing: antialiased;
  }
  h1, h2, h3 { font-family: var(--sans); font-weight: 600; letter-spacing: -0.02em; margin: 0; }
  button { font: inherit; color: inherit; }
  input, textarea, select { font: inherit; color: var(--ink); }
  a { color: var(--brand); }

  .logo { display: inline-block; background-repeat: no-repeat; background-size: contain; background-position: left center; aspect-ratio: 440 / 132; }
  .logo-azul { background-image: url('/assets/logo-verity-azul.png'); }
  .logo-branco { background-image: url('/assets/logo-verity-branco.png'); }
  .brand { display: flex; align-items: center; gap: 14px; }
  .brand .logo { height: 28px; }
  .brand small { font-size: 13px; font-weight: 500; color: var(--ink-3); padding-left: 14px; border-left: 1px solid var(--line-2); line-height: 1.2; }

  .btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    border: 1px solid var(--brand); background: var(--brand); color: #fff;
    padding: 12px 24px; border-radius: 999px; font-weight: 600; cursor: pointer;
    transition: background .15s ease, transform .08s ease;
  }
  .btn:hover { background: var(--brand-dark); border-color: var(--brand-dark); }
  .btn:active { transform: translateY(1px); }
  .btn[disabled] { opacity: .4; cursor: not-allowed; }
  .btn.ghost { background: #fff; color: var(--ink); border-color: var(--line-2); }
  .btn.ghost:hover { border-color: var(--brand); color: var(--brand); background: #fff; }
  .btn.small { padding: 7px 14px; font-size: 13.5px; }

  .field { display: grid; gap: 6px; }
  .field label { font-weight: 600; font-size: 13.5px; }
  .input {
    width: 100%; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 10px;
    background: #fff; outline: none; transition: border-color .15s, box-shadow .15s;
  }
  .input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px var(--brand-soft); }
  textarea.input { min-height: 110px; resize: vertical; }
  :focus-visible { outline: 2px solid var(--brand); outline-offset: 2px; }

  .muted { color: var(--ink-2); }
  .faint { color: var(--ink-3); }
  .sr { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
