:root{
  --cx-bg:#f4f7f6;--cx-surface:#fff;--cx-surface-2:#f8faf9;--cx-text:#142321;--cx-muted:#667975;--cx-line:#dfe8e5;
  --cx-deep:#102522;--cx-primary:#0c8f78;--cx-primary-strong:#08705f;--cx-primary-soft:#e5f6f1;--cx-accent:#d8f35b;
  --cx-danger:#b42318;--cx-danger-soft:#fff0ee;--cx-shadow:0 24px 70px rgba(20,35,33,.12);--cx-radius:18px;
}
.ca-page,.cw-page{min-height:100vh;background:var(--cx-bg);color:var(--cx-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.ca-page *,.cw-page *{box-sizing:border-box}.ca-page a,.cw-page a{text-decoration:none;color:inherit}.ca-page button,.ca-page input,.ca-page select,.ca-page textarea,.cw-page button,.cw-page input,.cw-page select,.cw-page textarea{font:inherit}.ca-page :focus-visible,.cw-page :focus-visible{outline:3px solid rgba(8,112,95,.24);outline-offset:2px}
.cx-skip{position:fixed;z-index:100;left:12px;top:12px;transform:translateY(-160%);background:var(--cx-deep);color:#fff!important;padding:10px 14px;border-radius:10px;font-size:.82rem;font-weight:800;transition:transform .18s ease}.cx-skip:focus{transform:none}
/* Auth */
.ca-page{display:grid;place-items:center;padding:28px 18px}.ca-shell{width:min(1040px,100%);display:grid;grid-template-columns:minmax(0,1fr) 340px;background:var(--cx-surface);border:1px solid var(--cx-line);border-radius:22px;box-shadow:var(--cx-shadow);overflow:hidden}.ca-card{padding:clamp(26px,4vw,48px)}.ca-brand{display:inline-flex;align-items:center;gap:11px;font-weight:900;letter-spacing:-.035em;color:var(--cx-deep)!important}.ca-brand-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--cx-accent);color:var(--cx-deep);font-size:.74rem;font-weight:950}.ca-kicker{margin:38px 0 7px;color:var(--cx-primary-strong);text-transform:uppercase;letter-spacing:.13em;font-size:.7rem;font-weight:900}.ca-heading{margin:0;font-size:clamp(2rem,5vw,3.25rem);line-height:1.02;letter-spacing:-.06em;color:var(--cx-deep)}.ca-intro{max-width:580px;margin:12px 0 0;color:var(--cx-muted);font-size:.92rem;line-height:1.65}.ca-form{margin-top:26px;display:grid;gap:16px}.ca-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ca-field{display:grid;gap:7px}.ca-field.full{grid-column:1/-1}.ca-field label{font-size:.77rem;font-weight:800;color:#40514d}.ca-input,.ca-select{width:100%;min-height:48px;border:1px solid #cddbd7;border-radius:11px;background:#fff;color:var(--cx-text);padding:11px 13px;outline:none;transition:border-color .18s,box-shadow .18s}.ca-input:focus,.ca-select:focus{border-color:var(--cx-primary-strong);box-shadow:0 0 0 3px rgba(8,112,95,.10)}.ca-code{text-align:center;font-size:1.35rem;font-weight:850;letter-spacing:.34em}.ca-button{min-height:48px;border:1px solid var(--cx-primary-strong);border-radius:11px;background:var(--cx-primary-strong);color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;font-weight:850;cursor:pointer;transition:background .18s,opacity .18s}.ca-button:hover{background:#065e50}.ca-button.secondary{background:#fff;color:var(--cx-primary-strong);border-color:#bdd5cf}.ca-button:disabled{opacity:.5;cursor:not-allowed}.ca-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:20px;font-size:.8rem}.ca-links a,.ca-link-button{color:var(--cx-primary-strong)!important;font-weight:800;text-decoration:underline;text-underline-offset:3px}.ca-link-button{border:0;background:transparent;padding:8px 0;cursor:pointer}.ca-error{color:var(--cx-danger);font-size:.73rem;font-weight:700}.ca-alert{padding:12px 14px;border:1px solid var(--cx-line);border-radius:11px;font-size:.8rem;line-height:1.5}.ca-alert.success{background:#eaf8f0;border-color:#c9ead8;color:#155f3d}.ca-alert.error{background:var(--cx-danger-soft);border-color:#ffd1cc;color:#8f271f}.ca-consent{display:grid;gap:9px;padding:14px;border:1px solid var(--cx-line);border-radius:12px;background:var(--cx-surface-2)}.ca-consent label{display:flex;align-items:flex-start;gap:9px;font-size:.77rem;line-height:1.5}.ca-consent input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;accent-color:var(--cx-primary-strong)}.ca-consent a{color:var(--cx-primary-strong)!important;font-weight:800;text-decoration:underline}.ca-side{padding:38px 30px;background:var(--cx-deep);color:#eaf4f1;display:flex;flex-direction:column}.ca-side-label{color:#9cc3b9;text-transform:uppercase;letter-spacing:.12em;font-size:.67rem;font-weight:850}.ca-side h2{margin:12px 0 10px;font-size:1.65rem;line-height:1.1;letter-spacing:-.045em}.ca-side p{margin:0;color:#a9c2bc;font-size:.82rem;line-height:1.6}.ca-side-list{display:grid;gap:12px;margin:26px 0}.ca-side-item{display:flex;gap:10px;align-items:flex-start;padding-top:12px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;line-height:1.5}.ca-side-item svg{width:18px;height:18px;flex:0 0 auto;color:#8de5d4}.ca-side-cta{margin-top:auto;min-height:46px;border:1px solid rgba(255,255,255,.16);border-radius:11px;display:flex;align-items:center;justify-content:center;color:#fff!important;font-size:.8rem;font-weight:800}.ca-side-cta:hover{background:rgba(255,255,255,.07)}
/* Wizard */
.cw-page{padding-bottom:36px}.cw-header{width:min(1180px,calc(100% - 32px));min-height:72px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px}.cw-brand{display:inline-flex;align-items:center;gap:10px;color:var(--cx-deep)!important;font-weight:900;letter-spacing:-.035em}.cw-brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--cx-accent);color:var(--cx-deep);font-size:.7rem;font-weight:950}.cw-header-links{display:flex;align-items:center;gap:14px;color:var(--cx-muted);font-size:.78rem}.cw-header-links a{color:var(--cx-primary-strong);font-weight:800;text-decoration:underline;text-underline-offset:3px}.cw-layout{width:min(1180px,calc(100% - 32px));margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px}.cw-main{min-width:0}.cw-heading-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:16px 0 18px}.cw-kicker{margin:0 0 6px;color:var(--cx-primary-strong);font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.cw-heading-row h1{margin:0;max-width:680px;font-size:clamp(1.85rem,4vw,3.25rem);letter-spacing:-.055em;line-height:1.04}.cw-step-pill{flex:0 0 auto;min-height:32px;padding:7px 10px;border-radius:999px;background:var(--cx-primary-soft);color:var(--cx-primary-strong);font-size:.72rem;font-weight:900}.cw-progress{padding:15px 16px;border:1px solid var(--cx-line);border-radius:14px;background:#fff;margin-bottom:16px}.cw-progress-top{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--cx-muted);font-size:.68rem;font-weight:800}.cw-progress-bar{height:7px;margin-top:10px;border-radius:99px;background:#e7eeec;overflow:hidden}.cw-progress-bar span{display:block;height:100%;background:var(--cx-primary-strong);border-radius:inherit;transition:width .2s ease}.cw-progress-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:9px;color:#788b86;font-size:.62rem}.cw-progress-labels .active{color:var(--cx-primary-strong);font-weight:900}.cw-card{border:1px solid var(--cx-line);border-radius:18px;background:#fff;padding:clamp(20px,4vw,34px);box-shadow:0 10px 30px rgba(20,35,33,.055)}.cw-aside{position:sticky;top:24px;align-self:start;padding:24px;border-radius:18px;background:var(--cx-deep);color:#eaf4f1;overflow:hidden}.cw-aside-label{color:#9cc3b9;font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.cw-aside h2{margin:12px 0 8px;font-size:1.55rem;line-height:1.08;letter-spacing:-.045em}.cw-aside p{color:#a7c0ba;font-size:.78rem;line-height:1.55}.cw-aside-steps{display:grid;gap:0;margin-top:24px}.cw-aside-step{display:flex;gap:10px;padding:13px 0;border-top:1px solid rgba(255,255,255,.10);font-size:.76rem;line-height:1.45}.cw-aside-step strong{color:#96ead9}.cw-section-head{margin-bottom:22px}.cw-section-head .cw-kicker{margin-bottom:7px}.cw-section-head h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.04em}.cw-section-head p{margin:7px 0 0;color:var(--cx-muted);font-size:.84rem;line-height:1.6}.cw-stack{display:grid;gap:14px}.cw-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cw-field{display:grid;gap:6px}.cw-field.full{grid-column:1/-1}.cw-field label{font-size:.74rem;font-weight:800;color:#40514d}.cw-input,.cw-select,.cw-textarea{width:100%;min-height:46px;border:1px solid #cddbd7;border-radius:10px;background:#fff;padding:11px 12px;outline:none;color:var(--cx-text);transition:border-color .18s,box-shadow .18s}.cw-input:focus,.cw-select:focus,.cw-textarea:focus{border-color:var(--cx-primary-strong);box-shadow:0 0 0 3px rgba(8,112,95,.10)}.cw-textarea{min-height:96px;resize:vertical}.cw-help{color:var(--cx-muted);font-size:.7rem;line-height:1.45}.cw-error{color:var(--cx-danger);font-size:.7rem;font-weight:700}.cw-segment{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;border-radius:12px;background:#edf3f1}.cw-segment button{min-height:44px;border:1px solid transparent;border-radius:9px;background:transparent;color:#60726e;font-weight:800;cursor:pointer}.cw-segment button.active{border-color:#cddbd7;background:#fff;color:var(--cx-deep);box-shadow:0 3px 8px rgba(20,35,33,.06)}.cw-step-list{display:grid;gap:9px}.cw-step-card{display:flex;gap:13px;padding:13px;border:1px solid var(--cx-line);border-radius:12px}.cw-step-number{width:30px;height:30px;flex:0 0 auto;border-radius:9px;display:grid;place-items:center;background:var(--cx-primary-soft);color:var(--cx-primary-strong);font-size:.7rem;font-weight:900}.cw-step-card strong{display:block;font-size:.82rem}.cw-step-card p{margin:3px 0 0;color:var(--cx-muted);font-size:.72rem;line-height:1.5}.cw-actions{display:flex;gap:9px;margin-top:22px}.cw-button{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #cbd8d4;border-radius:10px;background:#fff;color:#40514d;padding:10px 14px;font-weight:800;cursor:pointer;transition:background .18s,border-color .18s,opacity .18s}.cw-button.primary{border-color:var(--cx-primary-strong);background:var(--cx-primary-strong);color:#fff}.cw-button.primary:hover{background:#065e50}.cw-button:hover{border-color:#a8bbb6;background:#fafcfb}.cw-button:disabled{opacity:.5;cursor:not-allowed}.cw-actions .cw-button{flex:1}.cw-inline-link{border:0;background:transparent;color:var(--cx-primary-strong);padding:8px 0;font-size:.75rem;font-weight:800;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.cw-info{padding:12px 13px;border-radius:11px;background:var(--cx-primary-soft);color:#365f57;font-size:.76rem;line-height:1.55}.cw-upload{padding:18px;border:1px dashed #8ebeb4;border-radius:13px;background:#f5fbf9}.cw-file{width:100%;font-size:.78rem}.cw-file::file-selector-button{min-height:38px;margin-right:10px;border:0;border-radius:8px;background:var(--cx-deep);color:#fff;padding:8px 11px;font-weight:800;cursor:pointer}.cw-points{display:grid;gap:9px;max-height:410px;overflow:auto;padding-right:2px}.cw-point{display:flex;gap:11px;padding:13px;border:1px solid var(--cx-line);border-radius:12px;background:#fff;cursor:pointer;transition:border-color .18s,background .18s}.cw-point:has(input:checked){border-color:#75ad9f;background:#f0faf7}.cw-point.disabled{opacity:.58;cursor:not-allowed}.cw-point input{width:18px;height:18px;margin-top:3px;accent-color:var(--cx-primary-strong);flex:0 0 auto}.cw-point-main{min-width:0;flex:1}.cw-point-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.cw-point-title{font-size:.82rem;font-weight:900}.cw-point-meta{margin-top:3px;color:var(--cx-muted);font-size:.7rem}.cw-point-data{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:9px}.cw-point-data span{padding:6px 7px;border-radius:7px;background:#f4f7f6;color:#60726e;font-size:.65rem;line-height:1.3}.cw-duration{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cw-duration button{min-height:44px;border:1px solid #cbd8d4;border-radius:9px;background:#fff;color:#536762;font-weight:850;cursor:pointer}.cw-duration button.active{border-color:#9fbcb4;background:var(--cx-accent);color:var(--cx-deep)}.cw-summary{padding:17px;border:1px solid #b9d3cd;border-radius:13px;background:#f1faf7}.cw-summary-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:7px 0;font-size:.81rem}.cw-summary-row+.cw-summary-row{border-top:1px solid #d5e7e2}.cw-summary-row span{color:var(--cx-muted)}.cw-summary-row.total{font-size:.95rem}.cw-summary-row.total strong{color:var(--cx-primary-strong);font-size:1.2rem}.cw-success{text-align:center;padding:20px 4px}.cw-success-icon{width:60px;height:60px;margin:0 auto 18px;border-radius:18px;background:var(--cx-primary-soft);color:var(--cx-primary-strong);display:grid;place-items:center}.cw-success-icon svg{width:30px;height:30px}.cw-success h2{margin:0;font-size:clamp(1.5rem,3vw,2rem);letter-spacing:-.04em}.cw-success p{max-width:500px;margin:9px auto 0;color:var(--cx-muted);font-size:.84rem;line-height:1.6}
@media(max-width:900px){.ca-shell{grid-template-columns:1fr}.ca-side{display:none}.cw-layout{grid-template-columns:1fr}.cw-aside{display:none}.cw-progress-labels{grid-template-columns:repeat(4,1fr)}.cw-progress-labels span:nth-child(n+5){display:none}}
@media(max-width:620px){.ca-page{padding:0}.ca-shell{min-height:100vh;border:0;border-radius:0;box-shadow:none}.ca-card{padding:28px 20px}.ca-grid,.cw-grid{grid-template-columns:1fr}.cw-header,.cw-layout{width:min(100% - 22px,1180px)}.cw-header-links span{display:none}.cw-heading-row{margin-top:10px}.cw-step-pill{font-size:.67rem}.cw-progress-labels{grid-template-columns:repeat(2,1fr)}.cw-progress-labels span:nth-child(n+3){display:none}.cw-card{padding:20px 16px}.cw-actions{flex-direction:column-reverse}.cw-point-data{grid-template-columns:1fr}.cw-point-top{flex-direction:column;gap:5px}.cw-duration{grid-template-columns:1fr}.ca-links{align-items:flex-start;flex-direction:column}}
@media(prefers-reduced-motion:reduce){.ca-page *,.cw-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}.cx-skip{transition:none}}

/* UX de homologação: textos auxiliares permanecem legíveis em telas pequenas. */
.ca-kicker,.ca-error,.ca-side-label,.cw-kicker,.cw-help,.cw-error,.cw-progress-top,.cw-progress-labels,.cw-aside-label,.cw-step-card p,.cw-point-meta,.cw-point-data span{font-size:.75rem}
/* Controles de arquivo também seguem a área mínima de toque do restante do fluxo. */
.cw-file::file-selector-button{min-height:44px}
@media(max-width:620px){.ca-input,.ca-select,.cw-input,.cw-select,.cw-textarea,.cw-file{font-size:1rem}}
