:root{
  --bg:#f6f9ff;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:#e2e8f0;
  --brand:#4aa3ff;
  --brand2:#1e6fe8;
  --danger:#ef4444;
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:linear-gradient(180deg,var(--bg),#fff);
  color:var(--text);
}
.wrap{max-width:1100px;margin:0 auto;padding:24px}
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px;border:1px solid var(--line);
  background:rgba(255,255,255,.8);backdrop-filter: blur(6px);
  border-radius:16px;
}
.brand{display:flex;gap:12px;align-items:center}
.badge{font-size:12px;color:#fff;background:var(--brand2);padding:4px 10px;border-radius:999px}
.card{
  margin-top:18px;background:var(--card);border:1px solid var(--line);
  border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(15,23,42,.06);
}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.grid{grid-template-columns:1fr}}
label{display:block;font-size:13px;color:var(--muted);margin:10px 0 6px}
input,textarea,select{
  width:100%;padding:12px 12px;border:1px solid var(--line);
  border-radius:12px;font-size:14px;background:#fff;
}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  padding:12px 14px;border-radius:12px;border:0;
  background:var(--brand2);color:#fff;font-weight:700;cursor:pointer;
}
.btn.secondary{background:#fff;color:var(--text);border:1px solid var(--line)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.small{font-size:13px;color:var(--muted)}
hr{border:0;border-top:1px solid var(--line);margin:14px 0}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}
.pill{font-size:12px;padding:3px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}
.pill.open{border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}
.pill.paid{border-color:#86efac;background:#f0fdf4;color:#166534}
.error{color:var(--danger);font-weight:700}
