/* ---------- Base ---------- */
:root{
  --bg:#0f172a;
  --card:#0b1224;
  --muted:#94a3b8;
  --text:#e2e8f0;
  --primary:#3b82f6;
  --success:#22c55e;
  --border:#1e293b;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  background:linear-gradient(180deg,#0b1020,#0f172a 60%);
  color:var(--text);
}

.app{max-width:1200px;margin:0 auto;padding:24px}

/* ---------- Header ---------- */
.app-header{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
.brand{display:flex;gap:12px;align-items:center}
.logo{font-size:32px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.4))}
.brand h1{margin:0;font-size:24px}
.sub{margin:0;color:var(--muted);font-size:13px}

.steps{display:flex;gap:8px;flex-wrap:wrap}
.step{
  background:transparent;border:1px solid var(--border);color:var(--text);
  padding:10px 12px;border-radius:12px;cursor:pointer;transition:.2s;
}
.step.active,.step:hover{background:var(--primary);border-color:transparent}

/* ---------- Layout ---------- */
.layout{display:grid;grid-template-columns:1fr 340px;gap:20px}
@media (max-width:1024px){.layout{grid-template-columns:1fr}}

/* ---------- Cards ---------- */
.card{
  background:var(--card);border:1px solid var(--border);
  border-radius:16px;padding:18px;box-shadow:0 8px 24px rgba(0,0,0,.25);
}

/* ---------- Form ---------- */
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
label{font-weight:600}
input, select, textarea{
  background:#0e1832;color:var(--text);border:1px solid #1e2a44;
  padding:12px 12px;border-radius:12px;outline:none;transition:.2s;
}
input:focus,select:focus,textarea:focus{border-color:var(--primary)}

.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media (max-width:720px){.grid-2,.grid-3{grid-template-columns:1fr}}

.actions{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
.btn{
  background:#152038;border:1px solid #1f2a47;color:var(--text);
  padding:12px 14px;border-radius:12px;cursor:pointer;transition:.2s;font-weight:600
}
.btn:hover{transform:translateY(-1px)}
.btn.primary{background:var(--primary);border-color:transparent}
.btn.success{background:var(--success);border-color:transparent;color:#052e10}

/* ---------- Table-like rows ---------- */
.table{margin:8px 0;border:1px solid var(--border);border-radius:12px;overflow:hidden}
.table-row{display:grid;grid-template-columns:1.2fr .6fr .8fr .4fr;gap:8px;padding:10px;border-bottom:1px solid var(--border)}
.table-row:last-child{border-bottom:none}
.table-row.head{background:#0f1a33;color:var(--muted);font-weight:600}
.add-row{display:flex;gap:10px;align-items:center;margin-top:10px}

/* ---------- Addons ---------- */
.addons{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:10px 0}
.addons label{display:flex;gap:10px;align-items:center}
@media (max-width:720px){.addons{grid-template-columns:1fr}}

/* ---------- Summary ---------- */
.summary h3{margin-top:0}
.hint{color:var(--muted);font-size:12px}
.summary .totals{margin-top:14px;border-top:1px dashed var(--border);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.summary .totals>div{display:flex;justify-content:space-between}
.summary .totals .grand{font-size:18px}

/* ---------- Alerts ---------- */
.alert{padding:10px 12px;border-radius:12px}
.alert.info{background:#0f1a33;border:1px solid #233252;color:#c7d2fe}

/* ---------- Wizard panes ---------- */
.step-pane{display:none}
.step-pane.active{display:block}

/* ---------- Review ---------- */
.review{display:flex;flex-direction:column;gap:8px}
.review .row{display:flex;justify-content:space-between;border-bottom:1px dashed var(--border);padding:6px 0}
.form-msg{margin-top:10px}
 
  section {
    padding: 15px;
  }
  h1 {
    font-size: 22px;
  }
  h2 {
    font-size: 18px;
  }

 
  section {
    padding: 15px;
  }
  h1 {
    font-size: 22px;
  }
  h2 {
    font-size: 18px;
  }
 
  section {
    padding: 15px;
  }
  h1 {
    font-size: 22px;
  }
  h2 {
    font-size: 18px;
  }

