:root{
  --bg:#f2f8fc;
  --card:#ffffff;
  --text:#1f2937;
  --muted:#0079c1;
  --border:#e5e7eb;
  --primary:#0a66c2;
  --primary-dark:#084f99;
  --error:#c62828;
}

*{box-sizing:border-box}

html,body{
  margin:0; padding:0;
  background:var(--bg); color:var(--text);
  font-family:system-ui,-apple-system,'Segoe UI',Roboto,Helvetica,Arial,'Apple Color Emoji','Segoe UI Emoji';
}

.container{
  max-width:1080px; margin:40px auto; padding:0 16px;
}

h1{ margin:0 0 6px; font-size:1.7rem; }
.muted{ color:var(--muted); margin:0 0 18px; }

form .form-row{ margin-bottom:14px; }
label{ display:block; font-weight:600; margin-bottom:6px; }
input[type="text"]{
  width:100%; padding:12px 14px; border:1px solid var(--border);
  border-radius:12px; font-size:16px; outline:none; background:#fff;
}
input[type="text"]:focus{ border-color:var(--primary); box-shadow:0 0 0 3px rgba(10,102,194,0.12); }
.error{ color:var(--error); font-size:13px; margin-top:6px; display:block; }

.actions{ margin-top:6px; }
button{
  display:inline-block; background:var(--primary); color:#fff; border:none;
  padding:12px 16px; border-radius:12px; font-size:16px; cursor:pointer;
}
button:hover{ background:var(--primary-dark); }

.card{
  margin-top:18px; padding:16px; background:var(--card); border:1px solid var(--border);
  border-radius:12px; box-shadow:0 8px 28px rgba(0,0,0,.06);
}

.result-grid{
  display:grid; grid-template-columns: 1fr auto;
  row-gap:8px; column-gap:12px;
}
.result-grid .val{ font-weight:700; }

.notes summary{ cursor:pointer; font-weight:600; }
.notes ul{ margin:8px 0 0 18px; color:var(--muted); }
