:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, sans-serif;
  color: #172033;
  background: #f4f7ff;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at top left, #dbeafe, transparent 38%), #f7f8fc; }
button, input, select, textarea { font: inherit; }
.shell { width: min(920px, calc(100% - 32px)); margin: 0 auto; padding: 48px 0; }
.card { border: 1px solid #e1e7f2; border-radius: 24px; background: rgba(255,255,255,.96); padding: 28px; box-shadow: 0 18px 55px rgba(27,55,110,.09); }
.login-card { width: min(440px, 100%); margin: 8vh auto 0; }
.brand-mark { display:grid; place-items:center; width:52px; height:52px; border-radius:16px; color:white; font-size:25px; font-weight:900; background:linear-gradient(135deg,#2563eb,#7c3aed); }
.eyebrow { margin: 18px 0 5px; color:#3158bd; font-size:12px; font-weight:800; letter-spacing:.12em; }
h1 { margin:0; font-size:clamp(27px,5vw,38px); letter-spacing:-.04em; }
h2 { margin:0 0 18px; }
.muted, .hint { color:#6c7484; }
form { display:grid; gap:18px; margin-top:28px; }
label { display:grid; gap:8px; font-size:14px; font-weight:750; color:#374151; }
input, select, textarea { width:100%; border:1px solid #ccd5e4; border-radius:13px; background:white; padding:13px 14px; outline:none; transition:.2s; }
input:focus, select:focus, textarea:focus { border-color:#4f72db; box-shadow:0 0 0 4px #dfe7ff; }
button { border:0; border-radius:13px; padding:13px 18px; color:white; font-weight:800; cursor:pointer; background:linear-gradient(135deg,#2563eb,#6941c6); }
button:hover { filter:brightness(1.05); transform:translateY(-1px); }
.hidden { display:none !important; }
.dashboard { display:grid; gap:22px; }
header, .result-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.header-actions { display:flex; gap:10px; }
.secondary { color:#3158bd; background:#edf2ff; }
.ghost { color:#60697a; background:white; border:1px solid #dfe5ef; }
.two-columns { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.error { min-height:18px; margin:0; color:#c72c41; font-size:14px; font-weight:700; }
.success { min-height:18px; color:#07824b; font-weight:750; }
.result textarea { min-height:150px; resize:vertical; margin-top:18px; font-family:ui-monospace, SFMono-Regular, Consolas, monospace; font-size:12px; line-height:1.6; }
@media (max-width: 640px) {
  .shell { padding:24px 0; }
  .card { padding:20px; border-radius:18px; }
  header, .result-heading { align-items:flex-start; flex-direction:column; }
  .header-actions, .two-columns { width:100%; grid-template-columns:1fr; }
  .header-actions { display:grid; grid-template-columns:1fr 1fr; }
}
