:root {
  --brand:#FC3969;--brand-dim:#ff6b8a;
  --bg:#0f0f11;--surface:#1a1a1f;--surface2:#222228;
  --border:rgba(255,255,255,0.08);--text:#f0f0f0;--muted:#888;
  --success:#2ecc71;--warn:#f39c12;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{background:var(--bg);color:var(--text);font-family:'Onest',sans-serif;font-size:14px;line-height:1.6;min-height:100vh;}
.header{padding:22px 40px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:14px;}
.logo{font-family:'Unbounded',sans-serif;font-size:12px;font-weight:700;color:var(--brand);letter-spacing:0.06em;}
.hsep{width:1px;height:16px;background:var(--border);}
.hsub{font-size:13px;color:var(--muted);}
.main{max-width:940px;margin:0 auto;padding:44px 40px 80px;}
.hero{margin-bottom:40px;}
.hero h1{font-family:'Unbounded',sans-serif;font-size:25px;font-weight:700;line-height:1.25;margin-bottom:10px;}
.hero h1 em{font-style:normal;color:var(--brand);}
.hero p{color:var(--muted);font-size:14px;max-width:500px;}
.steps{display:flex;margin-bottom:36px;}
.step{flex:1;padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-right:none;position:relative;transition:all 0.2s;}
.step:first-child{border-radius:12px 0 0 12px;}
.step:last-child{border-radius:0 12px 12px 0;border-right:1px solid var(--border);}
.step.done{border-color:rgba(46,204,113,0.25);background:rgba(46,204,113,0.03);}
.step.active{border-color:rgba(252,57,105,0.3);background:rgba(252,57,105,0.03);}
.step-n{font-family:'Unbounded',sans-serif;font-size:10px;font-weight:700;letter-spacing:0.1em;color:var(--muted);margin-bottom:3px;}
.step.active .step-n{color:var(--brand);}
.step.done .step-n{color:var(--success);}
.step-t{font-size:12px;font-weight:600;}
.step-dot{position:absolute;top:14px;right:14px;width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,0.1);}
.step.active .step-dot{background:var(--brand);box-shadow:0 0 6px var(--brand);}
.step.done .step-dot{background:var(--success);}
.slabel{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.1em;color:var(--muted);margin-bottom:12px;}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:28px;}
.dz{background:var(--surface);border:1.5px dashed rgba(255,255,255,0.12);border-radius:14px;padding:26px 20px;text-align:center;cursor:pointer;transition:all 0.2s;position:relative;overflow:hidden;}
.dz:hover{border-color:var(--brand-dim);background:rgba(252,57,105,0.03);}
.dz.over{border-color:var(--brand);background:rgba(252,57,105,0.07);}
.dz.done{border-style:solid;border-color:rgba(46,204,113,0.35);background:rgba(46,204,113,0.04);}
.dz input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.dz-icon{font-size:28px;margin-bottom:8px;display:block;}
.dz-title{font-size:13px;font-weight:600;margin-bottom:4px;}
.dz-sub{font-size:11px;color:var(--muted);line-height:1.5;}
.dz-badge{margin-top:10px;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;background:rgba(46,204,113,0.12);border-radius:20px;font-size:11px;color:var(--success);font-weight:500;}
.dz-hint{margin-top:8px;display:inline-block;font-size:10px;color:var(--muted);background:rgba(255,255,255,0.04);border-radius:5px;padding:3px 8px;}
.preview-box{display:none;margin-top:12px;background:rgba(0,0,0,0.2);border:1px solid var(--border);border-radius:10px;padding:10px 14px;text-align:left;}
.preview-box.show{display:block;}
.preview-row{display:flex;justify-content:space-between;font-size:11px;margin-bottom:3px;}
.preview-row:last-child{margin-bottom:0;}
.pkey{color:var(--muted);}
.pval{color:var(--text);font-weight:500;font-family:'Unbounded',sans-serif;font-size:10px;}
.inputs-row{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;margin-bottom:28px;}
.icard{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;margin-bottom:16px;}
.ilabel{font-size:11px;color:var(--muted);margin-bottom:8px;font-weight:500;}
.irow{display:flex;align-items:baseline;gap:6px;}
.inp{background:var(--surface2);border:1.5px solid var(--border);border-radius:8px;color:var(--text);font-family:'Unbounded',sans-serif;font-size:16px;font-weight:700;text-align:center;padding:7px 4px;outline:none;width:100%;transition:border-color 0.2s;}
.inp:focus{border-color:var(--brand);}
.iunit{font-size:11px;color:var(--muted);white-space:nowrap;}
.btn{width:100%;padding:15px;background:var(--brand);border:none;border-radius:12px;color:#fff;font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.04em;cursor:pointer;margin-bottom:32px;transition:all 0.2s;}
.btn:hover{background:var(--brand-dim);transform:translateY(-1px);box-shadow:0 8px 24px rgba(252,57,105,0.28);}
.err{background:rgba(231,76,60,0.1);border:1px solid rgba(231,76,60,0.3);border-radius:10px;padding:12px 16px;color:#ff7070;font-size:13px;margin-bottom:20px;display:none;}
.err.show{display:block;}
.results{display:none;}
.results.show{display:block;}
.res-hdr{display:flex;align-items:center;gap:14px;margin-bottom:20px;}
.res-hdr h2{font-family:'Unbounded',sans-serif;font-size:15px;font-weight:700;}
.res-hr{flex:1;height:1px;background:var(--border);}
.res-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px;}
.res-bot{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.rc{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;}
.rc.hl{background:linear-gradient(135deg,rgba(252,57,105,0.1),rgba(252,57,105,0.03));border-color:rgba(252,57,105,0.28);}
.rl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);margin-bottom:8px;}
.rv{font-family:'Unbounded',sans-serif;font-size:26px;font-weight:700;line-height:1;margin-bottom:4px;}
.rc.hl .rv{color:var(--brand);}
.rs{font-size:12px;color:var(--muted);}
.state-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:6px;}
.si .si-l{font-size:11px;color:var(--muted);margin-bottom:3px;}
.si .si-v{font-family:'Unbounded',sans-serif;font-size:16px;font-weight:700;}
.badge{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:7px;font-size:11px;font-weight:600;}
.badge.g{background:rgba(46,204,113,0.12);color:var(--success);}
.badge.w{background:rgba(243,156,18,0.12);color:var(--warn);}
.tbl-wrap{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:20px;}
table{width:100%;border-collapse:collapse;}
thead th{padding:11px 22px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--muted);text-align:left;border-bottom:1px solid var(--border);background:var(--surface2);}
tbody tr{border-bottom:1px solid var(--border);transition:background 0.12s;}
tbody tr:last-child{border-bottom:none;}
tbody tr:hover{background:rgba(255,255,255,0.02);}
tbody td{padding:13px 22px;font-size:13px;}
.td-n{font-family:'Unbounded',sans-serif;font-size:11px;font-weight:700;color:var(--muted);}
.td-num{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:600;}
.td-rat{font-family:'Unbounded',sans-serif;font-size:13px;font-weight:700;color:var(--brand);}
tr.cur-row{background:rgba(252,57,105,0.05)!important;}
.footnote{padding:14px 18px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-size:12px;color:var(--muted);line-height:1.7;}
.footnote strong{color:var(--text);}
/* Language toggle */
.lang-wrap{display:flex;gap:4px;}
.lang-btn{padding:4px 10px;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--muted);font-family:'Unbounded',sans-serif;font-size:10px;font-weight:700;cursor:pointer;transition:all 0.15s;letter-spacing:0.06em;}
.lang-btn.active{background:var(--brand);border-color:var(--brand);color:#fff;}
.lang-btn:hover:not(.active){border-color:var(--brand-dim);color:var(--text);}