/* Estilo comum das páginas de ferramenta (/ferramentas/*). Tokens vêm do tmc-ds.css. */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth}
body{font-family:'Outfit',system-ui,sans-serif;background:var(--off-white);color:var(--ink);min-height:100vh;overflow-x:clip}
.ft-hero{padding:150px 2rem 60px;text-align:center;position:relative}
.ft-hero-inner{position:relative;z-index:1;max-width:720px;margin:0 auto}
.ft-back{display:inline-flex;align-items:center;gap:.5rem;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-premium);text-decoration:none;margin-bottom:1.8rem;transition:color .3s ease}
.ft-back:hover{color:var(--magenta)}
.ft-hero h1{font-size:clamp(40px,6vw,84px);font-weight:200;line-height:1;letter-spacing:-.025em;color:var(--ink);margin-bottom:1.4rem}
.ft-hero-desc{font-size:1.05rem;font-weight:300;line-height:1.7;color:var(--gray-premium);max-width:560px;margin:0 auto}
.ft-section{padding:40px 1.25rem 120px}
.ft-card{max-width:640px;margin:0 auto;background:var(--white);border-radius:24px;padding:2.6rem 2.2rem;box-shadow:var(--shadow-card)}
.ft-card--largo{max-width:880px}
@media(max-width:520px){.ft-card{padding:2rem 1.3rem;border-radius:20px}}
.ft-field{margin-bottom:1.5rem}
.ft-label{display:block;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.7rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--gray-premium);margin-bottom:.7rem}
.ft-input,.ft-select,.ft-textarea{width:100%;background:var(--white);border:1px solid rgba(23,22,26,.14);border-radius:12px;padding:15px 16px;color:var(--ink);font-family:'Outfit',system-ui,sans-serif;font-size:1rem;font-weight:400;outline:none;transition:border-color .25s ease,box-shadow .25s ease}
.ft-textarea{min-height:220px;resize:vertical;line-height:1.6}
.ft-input::placeholder,.ft-textarea::placeholder{color:rgba(23,22,26,.35)}
.ft-input:focus,.ft-select:focus,.ft-textarea:focus{border-color:var(--magenta);box-shadow:0 0 0 3px rgba(195,6,228,.12)}
.ft-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.ft-row--3{grid-template-columns:1fr 1fr 1fr}
@media(max-width:520px){.ft-row,.ft-row--3{grid-template-columns:1fr}}
.ft-check{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--ink);cursor:pointer;margin-bottom:.8rem}
.ft-check input{width:18px;height:18px;accent-color:var(--magenta)}
.ft-btn{width:100%;padding:17px;border-radius:999px;background:var(--grad-primary);color:#fff;font-family:'Outfit',system-ui,sans-serif;font-size:1rem;font-weight:500;letter-spacing:.03em;border:none;cursor:pointer;box-shadow:var(--shadow-btn);transition:transform .35s var(--ease-out-expo),box-shadow .35s var(--ease-out-expo);margin-top:.6rem;text-align:center;text-decoration:none;display:inline-block}
.ft-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow-btn-hover)}
.ft-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.ft-btn--sec{background:var(--white);color:var(--ink);border:1px solid rgba(23,22,26,.16);box-shadow:none}
.ft-btn--sec:hover{border-color:var(--magenta);color:var(--magenta);box-shadow:none}
.ft-acoes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.ft-acoes .ft-btn{flex:1 1 180px;width:auto;margin-top:0}
.ft-result{margin-top:2.2rem;padding-top:2.2rem;border-top:1px solid rgba(23,22,26,.1);display:none}
.ft-result.show{display:block}
.ft-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:1.5rem}
.ft-result-item{background:var(--off-white);border:1px solid rgba(23,22,26,.08);border-radius:16px;padding:1.3rem;text-align:center}
.ft-result-item--destaque{background:var(--grad-primary);border:none}
.ft-result-item--destaque .ft-result-label,.ft-result-item--destaque .ft-result-value{color:#fff}
.ft-result-label{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.65rem;font-weight:400;text-transform:uppercase;letter-spacing:.14em;color:var(--gray-premium);margin-bottom:.6rem}
.ft-result-value{font-size:1.6rem;font-weight:300;color:var(--magenta);line-height:1.15;letter-spacing:-.01em;word-break:break-word}
.ft-result-note{font-size:.85rem;color:var(--gray-premium);text-align:center;line-height:1.65;margin-top:.5rem}
.ft-hint{font-size:.8rem;color:var(--gray-premium);margin-top:.45rem;line-height:1.5}
.ft-tabela-wrap{overflow-x:auto;margin:1rem 0}
.ft-tabela{width:100%;border-collapse:collapse;font-size:.92rem}
.ft-tabela th,.ft-tabela td{padding:.7rem .6rem;border-bottom:1px solid rgba(23,22,26,.08);text-align:left}
.ft-tabela th{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray-premium);font-weight:400}
.ft-tabela td.num,.ft-tabela th.num{text-align:right;white-space:nowrap}
.ft-tabela tr.total td{font-weight:500;border-bottom:none}
.ft-tabela .neg{color:#b42318}
.ft-drop{display:block;border:2px dashed rgba(23,22,26,.18);border-radius:18px;padding:2.4rem 1.2rem;text-align:center;cursor:pointer;transition:border-color .25s ease,background .25s ease;color:var(--gray-premium)}
.ft-drop:hover,.ft-drop.arrastando{border-color:var(--magenta);background:rgba(195,6,228,.04)}
.ft-drop strong{display:block;color:var(--ink);font-weight:400;font-size:1.05rem;margin-bottom:.35rem}
.ft-drop input{display:none}
.ft-progresso{height:6px;border-radius:999px;background:rgba(23,22,26,.08);overflow:hidden;margin-top:1rem;display:none}
.ft-progresso.show{display:block}
.ft-progresso span{display:block;height:100%;width:0;background:var(--grad-primary);transition:width .2s ease}
.ft-aviso{font-size:.82rem;line-height:1.6;color:var(--gray-premium);background:var(--off-white);border-radius:12px;padding:.9rem 1rem;margin-top:1.4rem}
.ft-privacidade{display:flex;gap:.6rem;align-items:flex-start;font-size:.85rem;color:var(--gray-premium);margin-top:1rem;line-height:1.55}
.ft-seo{max-width:680px;margin:3.5rem auto 0;padding:0 .5rem}
.ft-seo h2{font-size:1.45rem;font-weight:200;letter-spacing:-.015em;color:var(--ink);margin-bottom:.7rem}
.ft-seo p,.ft-seo li{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--gray-premium)}
.ft-seo p{margin-bottom:1.6rem}
.ft-seo ul,.ft-seo ol{margin:0 0 1.6rem 1.2rem}
.ft-relacionadas{max-width:680px;margin:3rem auto 0;padding:0 .5rem}
.ft-relacionadas h2{font-size:1.2rem;font-weight:300;margin-bottom:1rem}
.ft-relacionadas ul{list-style:none;display:flex;flex-wrap:wrap;gap:.6rem}
.ft-relacionadas a{display:inline-block;padding:.55rem 1rem;border-radius:999px;border:1px solid rgba(23,22,26,.14);color:var(--ink);text-decoration:none;font-size:.9rem;transition:border-color .25s ease,color .25s ease}
.ft-relacionadas a:hover{border-color:var(--magenta);color:var(--magenta)}
