:root{--font-family:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Nunito Sans", Inter, system-ui, sans-serif;--font-body:15px;--font-label:12px;--font-title:24px;--brand-blue:#07549a;--brand-green:#27b83f;--brand-blue-dark:#063b70;--brand-green-dark:#087f39;--primary:#07549a;--primary-strong:#063b70;--primary-tint:#e6eef7;--ink:#253548;--muted:#617184;--line:#dfe7ed;--surface:#fff;--background:#f7fafc;--gradient-page:linear-gradient(135deg, #f7fbff 0%, #edf7ff 50%, #f8fcff 100%);--gradient-page-fade:linear-gradient(180deg, #fff0 0, #fff0 120px, #ffffff8c 240px, #ffffffb3 100%);--gradient-greeting:linear-gradient(135deg, #eaf4ff 0%, #e2eefb 100%);--gradient-hero:linear-gradient(110deg, #edf7ff 0%, #e2f3ff 100%);--gradient-primary:linear-gradient(135deg, #0875d1 0%, #0055b8 100%);--gradient-primary-hover:linear-gradient(135deg, #0767bb 0%, #00479c 100%);--background-edge:#f8fcff;--good:#087f39;--good-tint:#e4f5e8;--warn:#8a4209;--warn-tint:#fdf0e3;--critical:#a8352a;--critical-tint:#fbe9e6;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--touch-target:44px}*,:before,:after{box-sizing:border-box}html{background:var(--background-edge)}body{min-height:100vh;font-family:var(--font-family);font-size:var(--font-body);color:var(--ink);background:var(--gradient-page-fade) fixed, var(--gradient-page) fixed;margin:0;line-height:1.45}h1,h2,h3,h4{font-family:var(--font-heading)}a{color:var(--primary)}a:hover{color:var(--primary-strong)}:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.button{min-height:var(--touch-target);border-radius:var(--radius-md);background:var(--gradient-primary);color:#fff;font:inherit;cursor:pointer;border:0;justify-content:center;align-items:center;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{background:var(--gradient-primary-hover);color:#fff}.button:disabled{opacity:.6;cursor:not-allowed}label{font-size:var(--font-label);color:var(--muted);margin-bottom:4px;font-weight:700;display:block}input,select{width:100%;min-height:var(--touch-target);border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);font:inherit;padding:0 12px;font-size:16px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;box-shadow:0 1px 2px #063b700d}.card>h2{margin:0 0 8px;font-size:17px}.muted{color:var(--muted)}.badge{font-size:var(--font-label);background:var(--primary-tint);color:var(--primary-strong);border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-weight:700;display:inline-flex}.badge.good{background:var(--good-tint);color:var(--good)}.badge.warn{background:var(--warn-tint);color:var(--warn)}.button.secondary{background:var(--surface);color:var(--primary);border:1px solid var(--line)}.button.secondary:hover{background:var(--primary-tint);color:var(--primary-strong)}.button.small{min-height:36px;padding:0 12px;font-size:14px}.alert{border-radius:var(--radius-sm);background:var(--warn-tint);color:var(--warn);margin:0;padding:12px}.list{gap:8px;margin:0;padding:0;list-style:none;display:grid}textarea{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;resize:vertical;padding:10px 12px}
