*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --navy:#1e3a5f; --navy-light:#2a4f82; --blue:#2563eb; --blue-light:#3b82f6;
  --bg:#f8fafc; --surface:#ffffff; --border:#e2e8f0; --border-md:#cbd5e1;
  --text:#0f172a; --text-2:#475569; --text-3:#94a3b8;
  --t1:#059669; --t1-bg:#ecfdf5; --t1-border:#a7f3d0;
  --t2:#2563eb; --t2-bg:#eff6ff; --t2-border:#bfdbfe;
  --t3:#d97706; --t3-bg:#fffbeb; --t3-border:#fde68a;
  --t4:#ea580c; --t4-bg:#fff7ed; --t4-border:#fed7aa;
  --t5:#dc2626; --t5-bg:#fef2f2; --t5-border:#fecaca;
}
body { font-family:system-ui,-apple-system,sans-serif; background:var(--bg); color:var(--text); line-height:1.6; min-height:100vh; }
h1 { font-size:1.75rem; font-weight:700; line-height:1.25; }
h2 { font-size:1.25rem; font-weight:600; line-height:1.3; }
h3 { font-size:1rem; font-weight:600; }
p  { color:var(--text-2); }
.page { max-width:720px; margin:0 auto; padding:2rem 1.25rem 4rem; }
.page-wide { max-width:1100px; margin:0 auto; padding:2rem 1.25rem 4rem; }
.navbar { background:var(--navy); padding:0 1.5rem; display:flex; align-items:center; gap:2rem; height:56px; position:sticky; top:0; z-index:100; }
.navbar-brand { color:white; font-weight:700; font-size:1rem; text-decoration:none; letter-spacing:.01em; white-space:nowrap; }
.navbar-links { display:flex; gap:.25rem; margin-left:auto; }
.navbar-link { color:rgba(255,255,255,.75); text-decoration:none; font-size:.875rem; padding:.4rem .75rem; border-radius:6px; transition:background .15s,color .15s; }
.navbar-link:hover,.navbar-link.active { background:rgba(255,255,255,.12); color:white; }
.card { background:var(--surface); border:1px solid var(--border); border-radius:10px; padding:1.5rem; }
.card+.card { margin-top:1rem; }
.btn { display:inline-flex; align-items:center; gap:.4rem; padding:.55rem 1.1rem; border-radius:7px; font-size:.9rem; font-weight:500; cursor:pointer; border:1px solid transparent; transition:background .15s,opacity .15s; text-decoration:none; white-space:nowrap; }
.btn:disabled { opacity:.45; cursor:not-allowed; }
.btn-primary  { background:var(--blue); color:white; }
.btn-primary:hover:not(:disabled)  { background:#1d4ed8; }
.btn-navy     { background:var(--navy); color:white; }
.btn-navy:hover:not(:disabled)     { background:var(--navy-light); }
.btn-outline  { background:white; color:var(--text); border-color:var(--border-md); }
.btn-outline:hover:not(:disabled)  { border-color:var(--blue); color:var(--blue); }
.btn-ghost    { background:transparent; color:var(--text-2); border-color:transparent; }
.btn-ghost:hover:not(:disabled)    { background:var(--bg); }
.btn-danger   { background:white; color:#dc2626; border-color:#fecaca; }
.btn-danger:hover:not(:disabled)   { background:#fef2f2; }
.btn-sm { padding:.35rem .7rem; font-size:.8rem; }
.btn-lg { padding:.75rem 1.5rem; font-size:1rem; font-weight:600; }
.form-group { display:flex; flex-direction:column; gap:.375rem; }
.form-group+.form-group { margin-top:1rem; }
label { font-size:.875rem; font-weight:500; color:var(--text); }
input[type=text],input[type=email],input[type=tel],select,textarea { padding:.55rem .75rem; border:1px solid var(--border-md); border-radius:7px; font-size:.9rem; font-family:inherit; color:var(--text); background:white; width:100%; transition:border-color .15s,box-shadow .15s; }
input:focus,select:focus,textarea:focus { outline:none; border-color:var(--blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
textarea { resize:vertical; min-height:80px; }
.hint { font-size:.78rem; color:var(--text-3); }
.tier-badge { display:inline-flex; align-items:center; gap:.35rem; padding:.25rem .65rem; border-radius:999px; font-size:.78rem; font-weight:600; }
.tier-1 { background:var(--t1-bg); color:var(--t1); border:1px solid var(--t1-border); }
.tier-2 { background:var(--t2-bg); color:var(--t2); border:1px solid var(--t2-border); }
.tier-3 { background:var(--t3-bg); color:var(--t3); border:1px solid var(--t3-border); }
.tier-4 { background:var(--t4-bg); color:var(--t4); border:1px solid var(--t4-border); }
.tier-5 { background:var(--t5-bg); color:var(--t5); border:1px solid var(--t5-border); }
.result-card { border-radius:10px; padding:1.75rem; border-width:1.5px; border-style:solid; }
.result-card.tier-1 { background:var(--t1-bg); border-color:var(--t1-border); }
.result-card.tier-2 { background:var(--t2-bg); border-color:var(--t2-border); }
.result-card.tier-3 { background:var(--t3-bg); border-color:var(--t3-border); }
.result-card.tier-4 { background:var(--t4-bg); border-color:var(--t4-border); }
.result-card.tier-5 { background:var(--t5-bg); border-color:var(--t5-border); }
.tag { display:inline-block; padding:.2rem .55rem; background:var(--bg); border:1px solid var(--border); border-radius:999px; font-size:.78rem; color:var(--text-2); }
.divider { border:none; border-top:1px solid var(--border); margin:1.5rem 0; }
.text-muted { color:var(--text-3); font-size:.875rem; }
.flex { display:flex; }
.flex-between { display:flex; justify-content:space-between; align-items:center; }
.gap-2{gap:.5rem}.gap-3{gap:.75rem}
.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}
.hidden { display:none !important; }
