/* Blindagem.ia — design tokens (herdado do deck de apresentação MAG) */
@import url('https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,500..900;1,500&family=Source+Sans+3:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

:root{
  --bg:#F2EEE4; --surface:#FFFDF8; --surface-2:#E9E3D5;
  --text:#12161D; --text-dim:#5B6472; --text-faint:#8890A0;
  --accent:#8F6A34; --accent-strong:#6E4F21; --accent-soft:rgba(143,106,52,.12); --accent-soft-2:rgba(143,106,52,.22);
  --line:rgba(18,22,29,.13); --line-strong:rgba(18,22,29,.24);
  --shadow: 0 1px 2px rgba(18,22,29,.06), 0 12px 32px -12px rgba(18,22,29,.18);
  --good:#3F6B4C; --bad:#A6432F;
  --radius:14px;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#12161D; --surface:#191F29; --surface-2:#212836;
    --text:#F2EEE4; --text-dim:#A6ADB9; --text-faint:#6E7684;
    --accent:#D6A863; --accent-strong:#EAC28B; --accent-soft:rgba(214,168,99,.14); --accent-soft-2:rgba(214,168,99,.26);
    --line:rgba(242,238,228,.14); --line-strong:rgba(242,238,228,.26);
    --shadow: 0 1px 2px rgba(0,0,0,.3), 0 20px 48px -16px rgba(0,0,0,.6);
    --good:#79B48D; --bad:#E08469;
  }
}
:root[data-theme="dark"]{
  --bg:#12161D; --surface:#191F29; --surface-2:#212836;
  --text:#F2EEE4; --text-dim:#A6ADB9; --text-faint:#6E7684;
  --accent:#D6A863; --accent-strong:#EAC28B; --accent-soft:rgba(214,168,99,.14); --accent-soft-2:rgba(214,168,99,.26);
  --line:rgba(242,238,228,.14); --line-strong:rgba(242,238,228,.26);
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 20px 48px -16px rgba(0,0,0,.6);
  --good:#79B48D; --bad:#E08469;
}
:root[data-theme="light"]{
  --bg:#F2EEE4; --surface:#FFFDF8; --surface-2:#E9E3D5;
  --text:#12161D; --text-dim:#5B6472; --text-faint:#8890A0;
  --accent:#8F6A34; --accent-strong:#6E4F21; --accent-soft:rgba(143,106,52,.12); --accent-soft-2:rgba(143,106,52,.22);
  --line:rgba(18,22,29,.13); --line-strong:rgba(18,22,29,.24);
  --shadow: 0 1px 2px rgba(18,22,29,.06), 0 12px 32px -12px rgba(18,22,29,.18);
  --good:#3F6B4C; --bad:#A6432F;
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--bg); color:var(--text);
  font-family:'Source Sans 3',system-ui,-apple-system,sans-serif;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
}
h1,h2,h3,.disp{font-family:'Archivo',system-ui,sans-serif;text-wrap:balance;letter-spacing:-.01em;font-weight:700;margin:0;}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums;}
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:500;}
a{color:inherit;}

/* wordmark / logo */
.wordmark{display:inline-flex;align-items:center;gap:10px;font-family:'Archivo';font-weight:700;font-size:1.15rem;letter-spacing:-.01em;text-decoration:none;color:var(--text);}
.wordmark .shield{width:22px;height:24px;flex:none;}
.wordmark .dot{color:var(--accent);}

/* layout helpers */
.container{max-width:1120px;margin:0 auto;padding:0 24px;}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:22px 0;}
.topbar nav{display:flex;align-items:center;gap:28px;font-size:.92rem;color:var(--text-dim);}
.topbar nav a:hover{color:var(--text);}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:100px;padding:.75em 1.4em;font-size:.95rem;font-weight:600;font-family:'Source Sans 3',sans-serif;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:transform .12s ease, opacity .12s ease;}
.btn:active{transform:scale(.98);}
.btn-primary{background:var(--accent);color:var(--surface);}
.btn-primary:hover{opacity:.9;}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--line-strong);}
.btn-ghost:hover{background:var(--surface-2);}
.btn[disabled]{opacity:.5;cursor:not-allowed;}
.btn-block{width:100%;}

/* cards / surfaces */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);}
.pad-lg{padding:40px;}
.pad-md{padding:28px;}

/* forms */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.field label{font-size:.82rem;color:var(--text-dim);font-weight:600;}
.field input,.field select{
  font-family:'Source Sans 3',sans-serif;font-size:1rem;padding:.8em .9em;
  background:var(--bg);border:1px solid var(--line-strong);border-radius:10px;color:var(--text);
  outline:none; transition:border-color .12s ease;
}
.field input:focus,.field select:focus{border-color:var(--accent);}
.form-error{background:rgba(166,67,47,.1);border:1px solid var(--bad);color:var(--bad);border-radius:10px;padding:.7em .9em;font-size:.88rem;margin-bottom:16px;display:none;}
.form-error.show{display:block;}
.form-note{font-size:.85rem;color:var(--text-faint);margin-top:14px;text-align:center;}

/* pricing */
.pricing{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
@media (max-width:860px){.pricing{grid-template-columns:1fr;}}
.tier{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;gap:14px;}
.tier.hi{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow);}
.tier .tname{font-family:'IBM Plex Mono';font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);}
.tier .price{font-family:'Archivo';font-size:2rem;font-weight:800;}
.tier .price small{font-family:'Source Sans 3';font-size:.9rem;font-weight:500;color:var(--text-dim);}
.tier ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;color:var(--text-dim);font-size:.92rem;}
.tier ul li{padding-left:20px;position:relative;}
.tier ul li::before{content:'✓';position:absolute;left:0;color:var(--accent);font-weight:700;}

/* badges */
.badge{display:inline-flex;align-items:center;gap:6px;font-family:'IBM Plex Mono';font-size:.75rem;padding:.3em .7em;border-radius:100px;border:1px solid var(--line-strong);}
.badge-active{color:var(--good);border-color:var(--good);}
.badge-trial{color:var(--accent);border-color:var(--accent);}
.badge-off{color:var(--bad);border-color:var(--bad);}

/* auth shell (login/cadastro) */
.auth-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;}
.auth-box{width:100%;max-width:420px;}
.auth-box .wordmark{display:flex;justify-content:center;margin-bottom:28px;}
.auth-tabs{display:flex;gap:4px;background:var(--surface-2);border-radius:100px;padding:4px;margin-bottom:24px;}
.auth-tabs a{flex:1;text-align:center;padding:.55em 0;border-radius:100px;font-size:.88rem;font-weight:600;color:var(--text-dim);text-decoration:none;}
.auth-tabs a.active{background:var(--surface);color:var(--text);box-shadow:var(--shadow);}

/* app shell (painel) */
.app-shell{display:flex;min-height:100vh;}
.sidebar{width:240px;flex:none;background:var(--surface);border-right:1px solid var(--line);padding:24px 18px;display:flex;flex-direction:column;gap:24px;}
.sidebar .wordmark{padding:0 6px;}
.sidebar nav{display:flex;flex-direction:column;gap:4px;}
.sidebar nav a{display:flex;align-items:center;gap:10px;padding:.7em .9em;border-radius:10px;color:var(--text-dim);text-decoration:none;font-size:.92rem;font-weight:600;}
.sidebar nav a:hover{background:var(--surface-2);color:var(--text);}
.sidebar nav a.active{background:var(--accent-soft);color:var(--accent-strong);}
.main{flex:1;padding:36px 40px;max-width:960px;}
@media (max-width:780px){
  .app-shell{flex-direction:column;}
  .sidebar{width:100%;flex-direction:row;align-items:center;justify-content:space-between;border-right:none;border-bottom:1px solid var(--line);}
  .sidebar nav{flex-direction:row;}
  .main{padding:24px;}
}

.skeleton{background:linear-gradient(90deg,var(--surface-2) 25%,var(--line) 37%,var(--surface-2) 63%);background-size:400% 100%;animation:shimmer 1.4s ease infinite;border-radius:8px;}
@keyframes shimmer{0%{background-position:100% 50%}100%{background-position:0 50%}}
