:root{--bg:#f4f6f8;--card:#fff;--text:#171b21;--muted:#6b7280;--line:#e5e7eb;--primary:#111827}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);font-size:15px;font-weight:400;line-height:1.55}
.wrap{max-width:1180px;margin:0 auto;padding:20px}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:14px 0;margin-bottom:24px}
.topbar nav a{margin-left:16px;color:var(--text);text-decoration:none}
.brand{font-weight:600}
.hero,.card,.table-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:28px;margin-bottom:28px}
.auth-card{max-width:520px;margin:40px auto}
h1{margin:0 0 6px;font-size:21px;font-weight:600}
h2{margin:0 0 12px;font-size:17px;font-weight:600}
p{line-height:1.6}
.grid{display:grid;row-gap:22px;column-gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.col-2{grid-column:1 / -1}
label{display:flex;flex-direction:column;gap:6px;font-weight:500;font-size:14px}
input,textarea,select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;font-weight:400;font-family:inherit}
textarea{min-height:120px;resize:vertical}
input[type="color"]{width:56px;height:44px;padding:4px;cursor:pointer}
.btn{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;border:none;padding:11px 18px;border-radius:10px;cursor:pointer;font-size:14px;font-weight:500}
.btn-secondary{background:#eef1f4;color:var(--text)}
.cta-row{display:flex;gap:12px;flex-wrap:wrap}
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.progress{height:10px;background:#eef1f4;border-radius:999px;overflow:hidden;margin:14px 0}
.progress span{display:block;height:100%;background:#111827}
.badge{display:inline-block;background:#eef1f4;padding:6px 10px;border-radius:999px;font-size:12px}
.muted{color:var(--muted)}
.alert,.success{padding:12px 14px;border-radius:12px;margin-bottom:14px}
.alert{background:#fee2e2;color:#991b1b}
.success{background:#dcfce7;color:#166534}
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}
.choice{padding:32px 18px;border:1px solid var(--line);background:#fff;border-radius:18px;cursor:pointer;font-size:16px;font-weight:600}
.center{text-align:center}
.flex-between{display:flex;justify-content:space-between;align-items:center;gap:16px}
.ring{width:60px;height:60px;border-radius:50%;border:5px solid #d1d5db;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:13px}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{padding:14px;border-bottom:1px solid var(--line);text-align:left;font-size:13px}
.kv{padding:10px 0;border-bottom:1px solid var(--line)}
.file-list{padding-left:18px}
@media (max-width:900px){.grid-2,.cards,.cards-2,.choice-grid{grid-template-columns:1fr}.flex-between{flex-direction:column;align-items:flex-start}}


input.error,
textarea.error,
select.error {
    border: 2px solid #e53935;
    background-color: #fff5f5;
}

label.error-label {
    color: #e53935;
}


.payment-block input[type="checkbox"] {
    transform: translateY(2px); /* 👈 micro ajuste fino */
}

.step-indicator{display:flex;align-items:center;gap:6px;margin-top:6px}
.step-dot{width:20px;height:20px;border-radius:50%;background:#e5e7eb;color:#6b7280;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.step-dot.active{background:var(--primary);color:#fff}
.step-dot.done{background:var(--primary);color:#fff;opacity:.55}
.step-line{width:18px;height:2px;background:#e5e7eb;flex:0 0 auto}
.step-label{margin-left:8px;font-size:12px;color:var(--muted);font-weight:500}

.field-hint{display:block;font-size:12px;font-weight:400;color:var(--muted);margin-top:-2px}
.field-note{font-size:13px;font-weight:400;color:var(--muted);margin:0 0 16px 0}