@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

:root{
  --bg:#08090b;
  --bg-panel:#131519;
  --bg-panel-2:#1a1d22;
  --border:#24272e;
  --border-soft:#1c1f25;
  --accent:#cdfb1a;
  --accent-wash:rgba(205,251,26,0.08);
  --text-1:#f3f4f0;
  --text-2:#9a9da6;
  --text-3:#5c6069;
  --success:#3ddc97; --success-wash:rgba(61,220,151,0.1);
  --warn:#f5b942;    --warn-wash:rgba(245,185,66,0.1);
  --danger:#f0665c;  --danger-wash:rgba(240,102,92,0.1);
  --font-display:'Space Grotesk',sans-serif;
  --font-body:'Inter',sans-serif;
  --font-mono:'JetBrains Mono',monospace;
}
*{box-sizing:border-box;}
body{
  background:var(--bg); color:var(--text-1); font-family:var(--font-body);
  margin:0; min-height:100vh;
}
.wrap{max-width:640px;margin:0 auto;padding:48px 24px;}
.wrap-wide{max-width:960px;margin:0 auto;padding:48px 24px;}

.topbar{display:flex;align-items:center;gap:10px;padding:18px 24px;border-bottom:1px solid var(--border-soft);}
.logo-mark{width:30px;height:30px;border-radius:8px;background:var(--accent);color:#0a0a0a;font-family:var(--font-display);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px;}
.logo-text .name{font-family:var(--font-display);font-weight:600;font-size:13.5px;}
.logo-text .sub{font-size:9.5px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;}

.eyebrow{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;}
h1.headline{font-family:var(--font-display);font-weight:600;font-size:26px;margin:8px 0 4px;}
.desc{color:var(--text-2);font-size:13px;line-height:1.6;}

.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:12px;padding:24px;}

.btn{font-family:var(--font-body);font-weight:600;font-size:13px;border-radius:8px;padding:11px 20px;border:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;text-decoration:none;}
.btn-primary{background:var(--accent);color:#0a0a0a;}
.btn-primary:hover{background:#d9ff4d;}
.btn-ghost{background:transparent;color:var(--text-1);border:1px solid var(--border);}
.btn-ghost:hover{border-color:var(--text-3);}
.btn-sm{padding:7px 12px;font-size:11.5px;border-radius:6px;}
.btn-danger{background:var(--danger-wash);color:var(--danger);border:1px solid var(--danger);}
.btn:disabled{opacity:.35;cursor:not-allowed;}

.badge{font-size:10.5px;font-weight:600;padding:3px 9px;border-radius:20px;display:inline-flex;align-items:center;gap:5px;}
.badge-warn{background:var(--warn-wash);color:var(--warn);}
.badge-success{background:var(--success-wash);color:var(--success);}
.badge-danger{background:var(--danger-wash);color:var(--danger);}
.badge-neutral{background:var(--bg-panel-2);color:var(--text-2);}
.dot{width:6px;height:6px;border-radius:50%;background:currentColor;}

label.field-label{font-size:11px;color:var(--text-2);display:block;margin-bottom:6px;font-weight:500;}
input.field, select.field, textarea.field{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px 12px;color:var(--text-1);font-size:12.5px;font-family:var(--font-body);}
.field-group{margin-bottom:14px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:560px){.field-row{grid-template-columns:1fr;}}

.segmented{display:inline-flex;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:3px;margin-bottom:22px;}
.segmented label{cursor:pointer;font-size:11.5px;font-weight:600;padding:7px 16px;border-radius:6px;color:var(--text-2);}
.segmented input{display:none;}
.segmented input:checked + label{background:var(--accent);color:#0a0a0a;}

.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{font-size:11px;padding:6px 12px;border-radius:20px;border:1px solid var(--border);color:var(--text-2);cursor:pointer;}
.chip input{display:none;}
.chip input:checked + span{color:var(--accent);}
.chip:has(input:checked){border-color:var(--accent);background:var(--accent-wash);}

.flash{border-radius:8px;padding:12px 16px;margin-bottom:18px;font-size:12.5px;}
.flash-erro{background:var(--danger-wash);color:var(--danger);border:1px solid var(--danger);}
.flash-sucesso{background:var(--success-wash);color:var(--success);border:1px solid var(--success);}

.profile-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:10px;}
@media(max-width:560px){.profile-cards{grid-template-columns:1fr;}}
.profile-card{border:1px solid var(--border);border-radius:12px;padding:20px;background:var(--bg-panel);cursor:pointer;}
.profile-card input{display:none;}
.profile-card:has(input:checked){border-color:var(--accent);background:var(--accent-wash);}
.profile-card .icon{width:34px;height:34px;border-radius:9px;background:var(--bg-panel-2);display:flex;align-items:center;justify-content:center;font-size:16px;margin-bottom:12px;}
.profile-card:has(input:checked) .icon{background:var(--accent);color:#0a0a0a;}
.profile-card h3{font-family:var(--font-display);font-size:15px;font-weight:600;margin:0;}
.profile-card p{font-size:11.5px;color:var(--text-2);margin-top:6px;line-height:1.5;}

.doc-row{display:flex;align-items:center;justify-content:space-between;border:1px dashed var(--border);border-radius:10px;padding:14px 16px;margin-bottom:10px;flex-wrap:wrap;gap:10px;}
.doc-row.uploaded{border-style:solid;}
.doc-info{display:flex;align-items:center;gap:12px;}
.doc-icon{width:32px;height:32px;border-radius:8px;background:var(--bg-panel-2);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;}
.doc-name{font-size:12.5px;font-weight:500;}
.doc-req{font-size:10.5px;color:var(--text-3);margin-top:2px;}

.timeline{display:flex;align-items:center;margin-top:18px;}
.tl-node{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;position:relative;}
.tl-dot{width:14px;height:14px;border-radius:50%;background:var(--bg-panel-2);border:2px solid var(--border);z-index:2;}
.tl-node.done .tl-dot{background:var(--accent);border-color:var(--accent);}
.tl-node.current .tl-dot{background:var(--bg);border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-wash);}
.tl-line{position:absolute;top:6px;left:-50%;width:100%;height:2px;background:var(--border);z-index:1;}
.tl-node.done .tl-line{background:var(--accent);}
.tl-node:first-child .tl-line{display:none;}
.tl-label{font-size:10.5px;color:var(--text-2);text-align:center;}
.tl-node.current .tl-label{color:var(--text-1);font-weight:600;}

table.kyc-table{width:100%;border-collapse:collapse;}
table.kyc-table th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:8px 10px;border-bottom:1px solid var(--border-soft);font-weight:500;}
table.kyc-table td{padding:11px 10px;border-bottom:1px solid var(--border-soft);font-size:12px;vertical-align:middle;}
.co-cell{display:flex;align-items:center;gap:9px;}
.avatar{width:26px;height:26px;border-radius:7px;background:var(--bg-panel-2);display:flex;align-items:center;justify-content:center;font-size:10.5px;font-family:var(--font-mono);color:var(--text-2);}
.co-doc{font-size:10px;color:var(--text-3);font-family:var(--font-mono);}
.row-actions{display:flex;gap:6px;flex-wrap:wrap;}

.admin-stat .val{font-family:var(--font-display);font-size:22px;font-weight:600;}
.admin-stat .lbl{font-size:10.5px;color:var(--text-3);}
.stats-row{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap;}

a{color:var(--accent);}
.link-muted{color:var(--text-3);font-size:12px;text-decoration:none;}
.link-muted:hover{color:var(--text-2);}
