/* BANK CALC PRO 4.1 — Identidade visual oficial (azul-marinho + dourado + branco, Sora/Manrope).
   Carregado depois de app.css: redefine tokens e padroniza todas as telas sem alterar a lógica. */
:root{
  --navy:#081328;--navy-2:#10213e;--navy-3:#104a97;--side-acc:#14243e;--side-line:#1a2941;--side-fg:#d8dfe8;
  --bg:#f4f7fb;--card:#fff;--ink:#0b1628;--muted:#596475;--line:#d9dfe6;--input:#d1d8e1;--soft:#e5ecf5;
  --gold:#deaf56;--gold-ink:#261704;--gold-soft:#f1e7d2;--gold-deep:#8a6416;--primary:#104a97;--accent:var(--gold);
  --ok:#1c985a;--err:#db2c2b;--radius:12px;
  --shadow:0 1px 2px rgba(8,19,40,.04),0 6px 20px -8px rgba(8,19,40,.12);
  --f-display:"Sora",ui-sans-serif,system-ui,sans-serif;--f-sans:"Manrope",ui-sans-serif,system-ui,sans-serif;
}
body{font:14.5px/1.55 var(--f-sans);background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);letter-spacing:-.01em;font-weight:700}
h1{font-size:26px;font-weight:800}h2{font-size:20px}
a{color:var(--primary)}
input,select,textarea{font:14.5px var(--f-sans);border:1px solid var(--input);border-radius:10px;padding:10px 12px;min-height:42px}
textarea{min-height:80px}
input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(16,74,151,.16)}
label{font-size:11.5px;letter-spacing:.06em;color:var(--muted);font-weight:700}

/* Botões */
.btn{font:600 13.5px var(--f-sans);border-radius:10px;padding:9px 16px;border:1px solid var(--line);color:var(--ink);background:#fff;transition:background .15s,transform .05s,box-shadow .15s}
.btn:active{transform:translateY(1px)}
.btn.primary{background:var(--navy-2);border-color:var(--navy-2);color:#fff}.btn.primary:hover{background:var(--navy)}
.btn.gold,.btn.accent{background:var(--gold);border-color:var(--gold);color:var(--gold-ink)}.btn.gold:hover,.btn.accent:hover{background:#d4a346}
.btn.danger{color:var(--err);border-color:#f2c9c8}.btn.danger:hover{background:#fdeeee}
.btn.sm{padding:5px 11px;font-size:12.5px;border-radius:8px}
.btn.full{display:flex;justify-content:center;min-height:44px}

/* Marca */
.marca{display:inline-flex;align-items:center;gap:10px;text-decoration:none}
.marca-ico{width:38px;height:38px;border-radius:10px;background:var(--gold);color:var(--gold-ink);display:grid;place-items:center;flex:none}
.marca-ico svg{width:21px;height:21px}
.marca-txt{font:700 19px/1 var(--f-display);color:#fff;letter-spacing:-.01em;white-space:nowrap}
.marca-txt em{font-style:normal;color:var(--gold)}
.marca.dark .marca-txt{color:var(--ink)}

/* Fundo azul-marinho com brilhos azul e dourado (igual à versão aprovada) */
.auth-bg{min-height:100vh;color:var(--side-fg);background:
  radial-gradient(60rem 40rem at 85% -10%,rgba(16,74,151,.45),transparent 60%),
  radial-gradient(40rem 30rem at -10% 110%,rgba(222,175,86,.18),transparent 60%),
  linear-gradient(160deg,var(--navy),var(--navy-2))}

/* Página inicial */
.land{display:flex;flex-direction:column}
.land-head,.land-main,.land-foot{width:100%;max-width:1152px;margin:0 auto;padding-left:20px;padding-right:20px}
.land-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:24px;padding-bottom:24px}
.land-nav{display:flex;gap:8px}
.lbtn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 18px;border-radius:10px;font:600 14.5px var(--f-sans);text-decoration:none;border:1px solid transparent;transition:background .15s,color .15s;white-space:nowrap}
.lbtn.lg{height:46px;padding:0 30px;font-size:15.5px}
.lbtn.gold{background:var(--gold);color:var(--gold-ink)}.lbtn.gold:hover{background:#e4bb6d}
.lbtn.ghost{color:var(--side-fg)}.lbtn.ghost:hover{background:var(--side-acc);color:#fff}
.lbtn.outline{border-color:var(--side-line);color:#f4f7fb;background:transparent}.lbtn.outline:hover{background:var(--side-acc)}
.land-main{flex:1;padding-top:80px;padding-bottom:80px}
.eyebrow{margin:0;color:var(--gold);font:600 14px var(--f-sans);text-transform:uppercase;letter-spacing:.2em}
.land-h1{margin:16px 0 0;max-width:768px;font:800 60px/1.12 var(--f-display);color:#f4f7fb;letter-spacing:-.02em}
.land-lead{margin:24px 0 0;max-width:672px;font-size:18px;line-height:1.6;color:rgba(216,223,232,.8)}
.land-cta{margin-top:32px;display:flex;flex-wrap:wrap;gap:12px}
.land-list{list-style:none;padding:0;margin:48px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.land-list li{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--side-fg)}
.land-list svg{width:16px;height:16px;color:var(--gold);flex:none}
.land-foot{display:flex;flex-wrap:wrap;gap:20px;padding-top:20px;padding-bottom:28px;border-top:1px solid var(--side-line);font-size:13px}
.land-foot a{color:rgba(216,223,232,.7);text-decoration:none}.land-foot a:hover{color:var(--gold)}
@media(max-width:900px){.land-h1{font-size:44px}}
@media(max-width:640px){.land-main{padding-top:40px}.land-h1{font-size:36px}.land-lead{font-size:16.5px}.land-list{grid-template-columns:1fr}.land-cta .lbtn{flex:1 1 100%}.marca-txt{font-size:17px}.lbtn{padding:0 14px}}
@media(max-width:380px){.land-nav .ghost{display:none}}

/* Login, cadastro, recuperação, confirmação, planos, termos e privacidade */
.auth-page{display:flex}
.auth-grid{width:100%;max-width:1152px;margin:0 auto;padding:40px 20px;display:grid;grid-template-columns:1fr 440px;gap:40px;align-items:center;min-height:100vh}
.auth-grid.one{grid-template-columns:minmax(0,440px);justify-content:center}
.auth-grid:has(.pub-wide){grid-template-columns:1fr minmax(0,720px)}
.auth-aside-txt{margin-top:40px}
.auth-aside-txt h1{font-size:36px;font-weight:800;color:#f4f7fb;margin:0}
.auth-aside-txt p{margin:16px 0 0;max-width:430px;color:rgba(216,223,232,.8);font-size:16px}
.auth-aside-txt .land-list{grid-template-columns:1fr;margin-top:28px}
.auth-card{background:#fff;color:var(--ink);border:1px solid var(--side-line);border-radius:16px;padding:32px;box-shadow:0 25px 50px -12px rgba(0,0,0,.45);min-width:0}
.auth-card .auth-title,.auth-card h2{font-size:24px;margin:4px 0 18px;color:var(--ink)}
.auth-card .marca{margin-bottom:18px}
.auth-card .btn.primary{background:var(--gold);border-color:var(--gold);color:var(--gold-ink);font-weight:800;letter-spacing:.02em;min-height:46px}
.auth-card .btn.primary:hover{background:#d4a346}
.auth-card .btn.ghost{color:var(--primary);border-color:var(--line);background:#fff}
.tabs-pub{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 18px;padding:4px;background:var(--soft);border-radius:12px}
.tabs-pub a{flex:0 0 auto;text-align:center;padding:7px 10px;border-radius:9px;font-size:12.5px;font-weight:700;color:var(--muted);text-decoration:none;cursor:pointer}
.tabs-pub a:hover{color:var(--ink)}
.tabs-pub a.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(8,19,40,.12)}
.auth-card .legal{background:var(--bg);border:1px solid var(--line)}
.auth-card .chk{font-size:13px;letter-spacing:0;font-weight:500}
@media(max-width:1000px){.auth-grid,.auth-grid:has(.pub-wide){grid-template-columns:1fr;gap:28px;align-items:start;align-content:start;min-height:0}.auth-aside-txt{display:none}}
@media(max-width:520px){.auth-card{padding:22px}.auth-grid{padding:20px 14px}}

/* Menu lateral do sistema */
.side{background:var(--navy);color:var(--side-fg);border-right:1px solid var(--side-line)}
.brand{display:block;padding:4px 8px 18px;border-bottom:1px solid var(--side-line)}
.brand .marca-txt{font-size:17px}.brand small{display:block;margin-top:10px;color:var(--gold);font:700 10.5px var(--f-sans);letter-spacing:.14em;text-transform:uppercase}
#nav .sec{color:#7d8aa3;font-weight:700}
#nav a{color:var(--side-fg);border-radius:10px;border-left:0;font-weight:600;font-size:14px}
#nav a:hover{background:var(--side-acc);color:#fff}
#nav a.active{background:var(--side-acc);color:#fff;box-shadow:inset 3px 0 0 var(--gold)}
#nav a i{color:var(--gold);opacity:1}
.user{border-top:1px solid var(--side-line)}
.user .btn.ghost{color:var(--side-fg);border-color:var(--side-line)}

/* Conteúdo */
.toolbar{background:rgba(244,247,251,.92)}
.card{border-radius:var(--radius);border-color:var(--line);box-shadow:var(--shadow)}
.card h3{font-family:var(--f-display);font-size:15.5px}
.card h3::before{background:var(--gold)}
.kpi{border-radius:var(--radius);border-top:3px solid var(--primary)}
.kpi b{font-family:var(--f-display);color:var(--ink)}
.kpi.gold{border-top-color:var(--gold);background:linear-gradient(180deg,var(--gold-soft),#fff 65%)}.kpi.gold b{color:var(--gold-deep)}
.fin{border-radius:10px}.fin b{color:var(--ink)}.fin.hl b,.kv.hl span:last-child{color:var(--gold-deep)}
th{background:var(--navy-2);font-family:var(--f-sans);font-weight:700}
table{border-radius:10px}
tr.click:hover td{background:var(--gold-soft)}
.err-box{background:#fdeeee;color:#a51d1c;border-left-color:var(--err);border-radius:10px}
.ok-box{background:#e6f5ed;color:#126b3e;border-radius:10px;border-left:3px solid var(--ok)}
.badge,.pill{font-family:var(--f-sans);font-weight:700}
.pill.ok{background:#e6f5ed;color:#126b3e}.pill.warn{background:var(--gold-soft);color:var(--gold-deep)}.pill.bad{background:#fdeeee;color:#a51d1c}
#status-bar{background:var(--gold-soft);color:#5e430d;border-color:#ead9b4}
#toast div{background:var(--navy-2);border-left-color:var(--gold);border-radius:12px;font-weight:600}
#toast div.err{background:var(--err)}
.modal{background:rgba(8,19,40,.6);backdrop-filter:blur(2px)}
.modal-box{border-radius:16px}
.plan{border-radius:14px;border-top:3px solid var(--gold)}.plan .price{font-family:var(--f-display);color:var(--ink)}
.plan-tag{background:var(--gold);color:var(--gold-ink)}
.ck-tabs button.active{color:var(--ink);border-bottom-color:var(--gold)}
.a4-title,.a4-h,.a4-id b{color:var(--navy-2)!important}
.login-wrap{background:linear-gradient(160deg,var(--navy),var(--navy-2))}
.login-wrap .card{border-top:4px solid var(--gold);border-radius:16px}
@media(max-width:480px){.land-head{padding-top:18px;padding-bottom:18px}.land-head .marca-ico{width:32px;height:32px}.land-head .marca-ico svg{width:18px;height:18px}.land-head .marca-txt{font-size:15px}.land-head .marca{gap:8px}.land-nav{gap:4px}.land-nav .lbtn{height:36px;padding:0 12px;font-size:13.5px}}
