:root {
  --bg: #f5fbff;
  --bg-alt: #ebf7ff;
  --fg: #1b2a3a;
  --muted: #5f7390;
  --brand: #10b981;
  --brand-strong: #0e9f6e;
  --accent: #1d4ed8;
  --border: #cfe3f0;
  --card: #ffffff;
  --bad: #dc2626;
  --ok: #15803d;
  --shadow: 0 10px 28px rgba(15, 54, 110, .10);
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;font-family:"Inter",system-ui,-apple-system,sans-serif;background:linear-gradient(180deg,var(--bg),var(--bg-alt));color:var(--fg);line-height:1.5}
.container{max-width:1200px;margin:0 auto;padding:1rem}
.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--border)}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.brand{font-weight:800;color:var(--fg);text-decoration:none;display:flex;align-items:center;gap:.6rem;letter-spacing:.1px}
.brand-logo{width:32px;height:32px;display:block}
.nav{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}
.nav a{color:var(--muted);text-decoration:none;font-weight:600}
.nav a:hover{color:var(--accent)}
.page{padding-top:1.3rem;padding-bottom:2rem}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1rem 1.1rem;margin-bottom:1rem;box-shadow:var(--shadow)}
.narrow{max-width:620px}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:.95rem}
.grid3{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.95rem}
label{display:block;margin-bottom:.75rem;font-size:.93rem;color:var(--muted);font-weight:600}
input,textarea,select{width:100%;padding:.66rem .72rem;border:1px solid var(--border);border-radius:10px;background:#fff;color:var(--fg);font-family:inherit}
textarea{min-height:88px}
.btn,.link-btn{display:inline-block;background:linear-gradient(135deg,var(--brand),#34d399);color:#033423;border:none;padding:.62rem .94rem;border-radius:10px;text-decoration:none;cursor:pointer;font-weight:700}
.btn:hover{filter:brightness(1.06)}
.link-btn{padding:0;background:none;color:var(--bad);font-weight:700}
.badge-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}
.badge{display:inline-block;padding:.3rem .62rem;background:#eef5fb;border:1px solid #d7e6f2;border-radius:999px;font-size:.82rem}
.badge.ok{background:#e7f9ee;color:var(--ok);border-color:#c9efd8}
.badge.bad{background:#fdecec;color:var(--bad);border-color:#f8d0d0}
.alert{padding:.75rem 1rem;border-radius:10px;margin-bottom:1rem;font-weight:700}
.alert-error{background:#fee2e2;color:#991b1b}
.alert-ok{background:#dcfce7;color:#14532d}
.check-row{display:flex;justify-content:space-between;padding:.45rem 0;border-bottom:1px dashed #d9e7f2}
.row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
table{width:100%;border-collapse:collapse} th,td{padding:.6rem;border-bottom:1px solid #ddeaf3;text-align:left;font-size:.9rem;vertical-align:top}
th{color:#57708f;font-weight:700}
.row-emergency{background:#fff1f1}
.quick-header{background:linear-gradient(135deg,#e3f2ff,#ffffff);padding:1rem;border-radius:14px;border:1px solid #cfe3f0}
.emergency-panel{border:2px solid #f87171;background:#fff5f5}
.footnote{color:var(--muted);font-size:.9rem}
code{background:#eef5fb;padding:.12rem .35rem;border-radius:6px}
@media (max-width: 1024px){
  .container{max-width:960px}
}
@media (max-width: 820px){
  .topbar-inner{align-items:flex-start;flex-direction:column}
  .nav{width:100%}
  .grid3{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .grid2,.grid3{grid-template-columns:1fr}
  th,td{font-size:.84rem;padding:.5rem}
  .btn{width:100%;text-align:center}
}
