:root{--bg:#f3f4fb;--card:#ffffff;--tx:#1b1f3b;--mut:#6b7194;--bd:#e2e5f5;--in:#f7f8fe;--a1:#6d5dfc;--a2:#22d3ee;--bad:#e5484d;--sh:0 10px 30px rgba(60,60,140,.12);
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media (prefers-color-scheme:dark){:root{--bg:#0d1020;--card:#161a32;--tx:#eceefc;--mut:#98a0cc;--bd:#272c52;--in:#1d2242;--bad:#ff7a80;--sh:0 10px 30px rgba(0,0,0,.4)}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--tx);font-family:system-ui,-apple-system,"Segoe UI",Arial,sans-serif;line-height:1.5}
header{background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;padding:40px 16px 90px;text-align:center}
header .ico{font-size:2.4rem;display:inline-block;background:rgba(255,255,255,.2);border-radius:16px;padding:6px 14px;margin-bottom:8px}
header h1{margin:0;font-size:1.8rem;letter-spacing:-.5px}
header p{margin:6px 0 0;opacity:.92}
main{max-width:760px;margin:-60px auto 0;padding:0 16px 16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:20px;padding:22px;margin-bottom:18px;box-shadow:var(--sh)}
.card[hidden]{display:none}
h2{margin:0 0 14px;font-size:1.05rem}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media (max-width:560px){.grid{grid-template-columns:1fr}}
.full{grid-column:1/-1}
label{display:block;font-size:.8rem;font-weight:600;color:var(--mut);margin-bottom:6px;text-transform:uppercase;letter-spacing:.4px}
input[type=number],input[type=date],input[type=text]{width:100%;min-height:54px;padding:14px 16px;border:2px solid var(--bd);border-radius:14px;background:var(--in);color:var(--tx);font:inherit;font-size:1.15rem;font-weight:600;letter-spacing:.2px;box-shadow:inset 0 2px 4px rgba(60,60,140,.06);transition:border-color .2s,box-shadow .2s,transform .15s}
input:hover{border-color:var(--a1)}
input:focus{outline:0;border-color:var(--a1);box-shadow:0 0 0 4px rgba(109,93,252,.2)}
.seg{display:flex;flex-wrap:wrap;gap:8px}
.seg button{flex:1 1 auto;padding:10px 14px;border:2px solid var(--bd);border-radius:999px;background:var(--in);color:var(--tx);font-size:.9rem;font-weight:600;cursor:pointer;transition:.2s}
.seg button:hover{transform:translateY(-2px);border-color:var(--a1)}
.seg button.on{background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;color:#fff;box-shadow:0 6px 16px rgba(109,93,252,.35)}
.go{margin-top:22px;width:100%;padding:15px;border:0;border-radius:14px;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-size:1.05rem;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(109,93,252,.4);transition:transform .15s,box-shadow .15s,filter .15s}
.go:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(109,93,252,.5);filter:brightness(1.05)}
.go:active{transform:scale(.98)}
.err{color:var(--bad);font-weight:600;margin-top:12px;min-height:1em}
.row{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:12px;background:var(--in);margin-bottom:8px;opacity:0;transform:translateY(8px);animation:in .35s forwards}
.row b{white-space:nowrap}
.row.neg b{color:var(--bad)}
@keyframes in{to{opacity:1;transform:none}}
.total{margin-top:14px;padding:20px;border-radius:16px;text-align:center;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff}
.total span{display:block;font-size:.85rem;opacity:.9}
.total strong{font-size:2.1rem;letter-spacing:-.5px}
.obs{margin:14px 0 0;padding:12px 14px;border-left:4px solid var(--a2);background:var(--in);border-radius:8px;color:var(--mut);font-size:.9rem}
footer{text-align:center;padding:8px 16px 28px;font-size:.8rem;color:var(--mut)}

/* ---------- Páginas de texto, navegação e cookies ---------- */
.nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin-top:14px}
.nav a{color:#fff;text-decoration:none;font-weight:600;opacity:.92;padding:4px 2px;border-bottom:2px solid transparent;transition:.2s}
.nav a:hover{opacity:1;border-color:#fff}
.texto h2{margin-top:22px}
.texto h2:first-child{margin-top:0}
.texto p,.texto li{color:var(--tx)}
.texto a{color:var(--a1)}
.flinks{margin-bottom:6px}
.flinks a{color:var(--mut);margin:0 8px;text-decoration:none}
.flinks a:hover{color:var(--a1);text-decoration:underline}
#cookie{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));max-width:720px;margin:0 auto;background:var(--card);color:var(--tx);border:1px solid var(--bd);border-radius:16px;box-shadow:var(--sh);padding:16px;z-index:50;animation:in .35s forwards}
#cookie p{margin:0 0 12px;font-size:.9rem}
#cookie .bt{display:flex;flex-wrap:wrap;gap:8px}
#cookie button{flex:1 1 120px;padding:11px;border-radius:10px;border:2px solid var(--a1);font-weight:700;cursor:pointer;transition:.15s;font-size:.95rem}
#cookie .ok{background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;color:#fff}
#cookie .no{background:transparent;color:var(--tx)}
#cookie button:hover{transform:translateY(-2px)}

/* ---------- Cartões de calculadoras e artigos ---------- */
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tile{display:block;padding:16px;border:2px solid var(--bd);border-radius:14px;background:var(--in);color:var(--tx);text-decoration:none;transition:.2s}
.tile:hover{transform:translateY(-3px);border-color:var(--a1);box-shadow:var(--sh)}
.tile b{display:block;margin-bottom:4px}
.tile span{color:var(--mut);font-size:.9rem}
.cta{display:inline-block;margin-top:8px;padding:13px 22px;border-radius:12px;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff!important;font-weight:700;text-decoration:none;box-shadow:0 8px 20px rgba(109,93,252,.35);transition:.15s}
.cta:hover{transform:translateY(-2px)}

/* ---------- Destaque: escolha sua calculadora ---------- */
.hub h2{font-size:1.15rem;margin-bottom:14px}
.hubgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.hcard{position:relative;display:flex;align-items:center;gap:12px;padding:14px;border-radius:16px;border:2px solid var(--bd);background:var(--in);color:var(--tx);text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.hcard:hover{transform:translateY(-4px);border-color:var(--a1);box-shadow:0 12px 26px rgba(109,93,252,.28)}
.hic{flex:none;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;font-size:1.5rem;background:linear-gradient(135deg,var(--a1),var(--a2));box-shadow:0 6px 14px rgba(109,93,252,.35)}
.htx{flex:1;min-width:0}
.htx b{display:block;font-size:1rem}
.htx small{display:block;color:var(--mut);font-size:.8rem;line-height:1.3}
.hcard i{font-style:normal;font-weight:700;color:var(--a1);font-size:1.3rem;transition:transform .2s}
.hcard:hover i{transform:translateX(4px)}
.hcard.atual{background:linear-gradient(135deg,var(--a1),var(--a2));border-color:transparent;color:#fff;box-shadow:0 10px 24px rgba(109,93,252,.4)}
.hcard.atual .htx small{color:rgba(255,255,255,.9)}
.hcard.atual .hic{background:rgba(255,255,255,.25);box-shadow:none}
.hcard em{position:absolute;top:-9px;right:12px;font-style:normal;font-size:.68rem;font-weight:700;padding:2px 9px;border-radius:999px;background:#fff;color:var(--a1);box-shadow:0 2px 8px rgba(0,0,0,.2)}

/* ---------- Campos maiores e mais bonitos ---------- */
input[type=text],input[type=number],input[type=date]{
  width:100%;min-height:54px;padding:14px 16px;font:inherit;font-size:1.15rem;font-weight:600;letter-spacing:.2px;
  color:var(--tx);background-color:var(--in);border:2px solid var(--bd);border-radius:14px;
  box-shadow:inset 0 2px 4px rgba(60,60,140,.06);transition:border-color .2s,box-shadow .2s,transform .15s;
  -webkit-appearance:none;appearance:none}
input[type=text]:hover,input[type=number]:hover,input[type=date]:hover{border-color:var(--a1)}
input[type=text]:focus,input[type=number]:focus,input[type=date]:focus{
  outline:0;border-color:var(--a1);background-color:var(--card);transform:translateY(-1px);
  box-shadow:0 0 0 5px rgba(109,93,252,.2),0 8px 18px rgba(109,93,252,.15)}
input::placeholder{color:var(--mut);font-weight:500;opacity:.65}
input[type=number]{-moz-appearance:textfield;appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
/* prefixo R$ nos campos de dinheiro */
input[data-mask]{padding-left:52px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='24'%3E%3Ctext x='4' y='18' font-family='Arial' font-size='15' font-weight='700' fill='%238a90b8'%3ER$%3C/text%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:10px center}
input[type=date]{cursor:pointer}

/* Campos maiores e mais bonitos */
input::placeholder{color:var(--mut);font-weight:400;opacity:.65}
input[type=number],input[type=date],input[type=text]{-webkit-appearance:none;appearance:none}
input[type=number]{-moz-appearance:textfield}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=text]:focus,input[type=number]:focus,input[type=date]:focus{transform:translateY(-1px);box-shadow:0 0 0 4px rgba(109,93,252,.22),0 8px 18px rgba(109,93,252,.15)}
input[data-mask]{padding-left:52px;background-image:linear-gradient(135deg,var(--a1),var(--a2));background-repeat:no-repeat;background-size:0 0}
.moeda{position:relative}
.moeda::before{content:"R$";position:absolute;left:2px;top:2px;bottom:2px;width:44px;display:grid;place-items:center;border-radius:12px 0 0 12px;background:linear-gradient(135deg,var(--a1),var(--a2));color:#fff;font-weight:700;font-size:.9rem;pointer-events:none;z-index:2}
