[hidden]{display:none!important}
body{margin:0;font-family:var(--font-sans);color:var(--ink);background:var(--surface-page)}
*{box-sizing:border-box}
a{color:var(--brand-600)}a:hover{text-decoration:underline}
h1,h2,h3,p,ul,ol{margin:0}
.page{min-height:100vh;display:flex;flex-direction:column}
/* header */
.hd{background:var(--surface-card);box-shadow:var(--shadow-card)}
.hd-in{max-width:1312px;margin:0 auto;padding:0 24px;min-height:64px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}
.brand{display:flex;align-items:center;gap:16px}.brand img{height:32px}
.brand .sep{width:1px;height:24px;background:var(--divider)}
.brand .nm{font-size:20px;line-height:28px;font-weight:500;color:var(--ink-secondary)}
.steps{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-size:14px}
.steps li.st{display:flex;align-items:center;gap:8px;color:var(--ink-secondary)}
.steps .dot{width:28px;height:28px;border-radius:9999px;border:1px solid var(--border);background:var(--surface-white);display:flex;align-items:center;justify-content:center}
.steps .dot svg{display:none}
.steps .st.on{font-weight:700;color:var(--ink)}
.steps .st.on .dot,.steps .st.done .dot{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand)}
.steps .st.done .dot svg{display:block}.steps .st.done .dot span{display:none}
.steps .conn{width:24px;height:2px;background:var(--border)}.steps .conn.done{background:var(--brand-600)}
/* tipografia/utilitários */
.eyebrow{font-size:12px;line-height:16px;font-weight:700;letter-spacing:1.5px;color:var(--ink-secondary);text-transform:uppercase}
.muted{color:var(--ink-secondary)}.small{font-size:14px;line-height:20px}.xs{font-size:12px;line-height:16px}
.card{background:var(--surface-card);border-radius:16px;box-shadow:var(--shadow-card)}
.lbl{display:block;font-size:16px;line-height:24px;margin-bottom:8px;color:var(--ink)}
.inp{width:100%;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-card);font:inherit;font-size:16px;color:var(--ink)}
.inp:focus{outline:2px solid var(--brand-600);outline-offset:2px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 24px;border-radius:8px;border:1px solid var(--brand-600);background:var(--brand-600);color:var(--on-brand);font:inherit;font-size:16px;font-weight:500;cursor:pointer;text-decoration:none}
.btn:hover{filter:brightness(.92);text-decoration:none}
.btn-2{background:transparent;color:var(--ink-secondary);border-color:var(--ink-secondary)}.btn-2:hover{background:var(--brand-100);filter:none}
.btn-o{background:transparent;color:var(--brand-600);padding:0 20px}.btn-o:hover{background:var(--brand-100);filter:none}
.btn-y{background:var(--accent-yellow);border-color:var(--accent-yellow);color:var(--ink)}
.erro{background:#fde7ea;color:var(--danger);border-radius:8px;padding:12px 16px;font-size:14px;line-height:20px}
.ft{background:var(--surface-panel);border-top:1px solid var(--divider)}
.ft div{max-width:1312px;margin:0 auto;padding:24px;font-size:12px;line-height:16px;color:var(--ink-secondary);display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
/* passo 1 */
.main1{flex-grow:1;max-width:1312px;width:100%;margin:0 auto;padding:64px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:64px}
.hero{flex:1 1 480px;min-width:0}
.hero h1{font-size:48px;line-height:56px;font-weight:700;color:var(--ink-secondary)}.hero h1 span{color:var(--brand-600)}
.hero .lead{margin-top:24px;max-width:520px;color:var(--ink-secondary)}
.bul{list-style:none;margin-top:32px;padding:0;display:flex;flex-direction:column;gap:16px}
.bul li{display:flex;align-items:center;gap:12px}
.ico{width:32px;height:32px;flex:none;border-radius:9999px;background:var(--brand-100);color:var(--brand-600);display:flex;align-items:center;justify-content:center}
.form1{flex:0 1 480px;min-width:0;width:100%;padding:32px;display:flex;flex-direction:column;gap:24px}
.form1 h2{font-size:24px;line-height:32px;font-weight:400}
.chk{display:flex;align-items:flex-start;gap:12px;font-size:14px;line-height:20px;color:var(--ink-secondary)}
.chk input{width:20px;height:20px;margin:0;accent-color:var(--brand-600)}
.w100{width:100%}
/* passo 2 */
.main2{flex-grow:1;max-width:1312px;width:100%;margin:0 auto;padding:48px 24px 64px}
.main2 h1{font-size:28px;line-height:36px;font-weight:500}
.cols{display:flex;flex-wrap:wrap;gap:24px;align-items:flex-start}
.form2{flex:1 1 560px;min-width:0;padding:32px;display:flex;flex-direction:column;gap:32px}
.drop{border:2px dashed var(--brand-200);background:var(--brand-100);border-radius:16px;padding:24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;cursor:pointer}
.drop.over{border-color:var(--brand-600)}
.drop .up{width:48px;height:48px;border-radius:9999px;background:var(--surface-white);color:var(--brand-600);box-shadow:var(--shadow-float);display:flex;align-items:center;justify-content:center}
.file{margin-top:12px;display:flex;align-items:center;gap:12px;background:var(--surface-white);border-radius:8px;box-shadow:var(--shadow-card);padding:12px 16px}
.file[hidden]{display:none}
.file .info{flex-grow:1;min-width:0}.file .info b{display:block;font-size:14px;line-height:20px;font-weight:500;overflow-wrap:anywhere}
.file .rm{width:32px;height:32px;border-radius:9999px;border:0;background:transparent;color:var(--ink-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center}
.actions2{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;align-items:center;border-top:1px solid var(--divider);padding-top:24px}
.aside{flex:0 1 400px;min-width:0;width:100%;background:var(--brand-100);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px}
.aside h2{font-size:20px;line-height:28px;font-weight:500}
.item{display:flex;gap:12px;background:var(--surface-white);border-radius:8px;padding:12px 16px;align-items:flex-start;font-size:14px;line-height:20px}
.num{width:32px;height:32px;flex:none;border-radius:9999px;background:var(--brand-600);color:var(--on-brand);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}
/* processando */
.mainp{flex-grow:1;display:flex;align-items:center;justify-content:center;padding:48px 24px}
.procbox{width:100%;max-width:640px;padding:40px;display:flex;flex-direction:column;gap:32px}
.ph{display:flex;align-items:center;gap:16px}
.ph .big{width:56px;height:56px;flex:none;border-radius:9999px;background:var(--brand-100);color:var(--brand-600);display:flex;align-items:center;justify-content:center}
.ph h1{font-size:24px;line-height:32px;font-weight:400}
@keyframes giro{to{transform:rotate(360deg)}}.spin{animation:giro 1s linear infinite;transform-origin:50% 50%}
.bar{height:8px;border-radius:9999px;background:var(--divider)}.bar i{display:block;height:8px;border-radius:9999px;background:var(--brand-600);transition:width .6s}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:16px}
.plist li{display:flex;align-items:center;gap:12px}
.plist .ic{width:28px;height:28px;flex:none;border-radius:9999px;border:1px solid var(--border);background:var(--surface-white);color:var(--ink-secondary);display:flex;align-items:center;justify-content:center;font-size:14px}
.plist .ic svg{display:none}
.plist .tx{flex-grow:1;font-size:16px;line-height:24px;color:var(--ink-secondary)}.plist .tx small{display:block;font-size:12px;line-height:16px;font-weight:400}
.plist .tg{font-size:12px;color:var(--ink-secondary)}
.plist li.done .ic{background:var(--success);border-color:var(--success);color:var(--on-brand)}.plist li.done .ic span{display:none}.plist li.done .ic svg.ck{display:block}
.plist li.done .tx{color:var(--ink)}.plist li.done .tg{font-weight:500;color:var(--ink)}
.plist li.on{background:var(--brand-100);border-radius:8px;padding:12px;margin:-12px}
.plist li.on .ic{background:var(--brand-600);border-color:var(--brand-600);color:var(--on-brand)}.plist li.on .ic span{display:none}.plist li.on .ic svg.sp{display:block}
.plist li.on .tx{color:var(--ink);font-weight:500}.plist li.on .tg{color:var(--brand-600);font-weight:500}
.foot-p{padding-top:24px;border-top:1px solid var(--divider)}
/* diagnóstico */
.maind{max-width:1312px;width:100%;margin:0 auto;padding:40px 24px 64px;display:flex;flex-direction:column;gap:48px}
.top{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:flex-end}
.top h1{font-size:28px;line-height:36px;font-weight:500}
.row{display:flex;flex-wrap:wrap;gap:12px}
.sum{display:flex;flex-wrap:wrap;gap:24px;align-items:stretch}
.sum1{flex:2 1 560px;min-width:0;padding:32px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 32px}
.sum1 .s2{grid-column:span 2}.sum1 .k{display:block;font-size:12px;line-height:16px;color:var(--ink-secondary)}
.sum2{flex:1 1 320px;min-width:0;padding:32px;display:flex;flex-direction:column;gap:16px;justify-content:center}
.big-n{font-size:48px;line-height:56px;font-weight:700}
.cnt{display:flex;align-items:center;gap:16px}
.seg{display:flex;height:8px;border-radius:9999px;overflow:hidden}
.analise{background:var(--brand-100);border-radius:16px;padding:32px;display:flex;flex-direction:column;gap:8px}
.analise h2,.sec h2{font-size:24px;line-height:32px;font-weight:400}
.analise .hl{font-size:20px;line-height:28px;font-weight:500;color:var(--brand-600)}
.analise ul{margin:8px 0 0;padding-left:20px;color:var(--ink-secondary)}
.warn{background:var(--accent-cream);color:var(--accent-olive);border-radius:8px;padding:12px 16px;font-size:14px;line-height:20px;margin-top:8px}
.sec{display:flex;flex-direction:column;gap:24px}.sec .hdr{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.docs{display:flex;flex-wrap:wrap;gap:24px}
.doc{flex:1 1 320px;min-width:0;padding:24px;display:flex;flex-direction:column;gap:12px}
.doc h3{font-size:20px;line-height:28px;font-weight:500}
.tw{background:var(--surface-card);border-radius:16px;box-shadow:var(--shadow-card);overflow-x:auto}
.tb{width:100%;border-collapse:collapse;font-size:14px;line-height:20px;min-width:880px}
.tb.m{min-width:640px}
.tb th{background:var(--brand-100);text-align:left;font-weight:700;padding:12px 16px}
.tb td{padding:16px;vertical-align:top;border-top:1px solid var(--divider)}
.nc{font-style:italic;color:var(--ink-secondary)}
.tag{display:inline-flex;align-items:center;gap:4px;border-radius:9999px;padding:2px 10px;font-size:12px;line-height:16px;font-weight:700;border:1px solid var(--danger);color:var(--danger);background:var(--surface-white)}
.nota{display:block;font-size:12px;line-height:16px;color:var(--ink-secondary);margin-top:4px;font-weight:400}
.cta{background:var(--brand-900);border-radius:16px;padding:48px;display:flex;flex-wrap:wrap;gap:24px;align-items:center;justify-content:space-between;color:var(--on-brand)}
.cta h2{font-size:28px;line-height:36px;font-weight:500}
.legal{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;font-size:12px;line-height:16px;color:var(--ink-secondary)}
dialog{border:0;border-radius:16px;box-shadow:var(--shadow-modal);padding:24px;max-width:720px;width:calc(100% - 32px);font-family:var(--font-sans)}
dialog::backdrop{background:rgba(23,30,50,.5)}
dialog table td,dialog table th{padding:8px 0;text-align:left;border-top:1px solid var(--divider);font-size:14px;vertical-align:top}
@media(max-width:640px){.hero h1{font-size:32px;line-height:40px}.main1{padding:32px 16px;gap:32px}.procbox,.form2,.form1{padding:20px}.cta{padding:24px}.sum1{grid-template-columns:1fr}.sum1 .s2{grid-column:auto}}
@media print{.noprint{display:none!important}body{background:#fff}.maind{padding:0;gap:24px}.card,.tw{box-shadow:none;border:1px solid var(--divider)}tr{break-inside:avoid}.cta{display:none}}
