:root{--font-family:Inter, system-ui, -apple-system, "Segoe UI", sans-serif;--font-heading:"Nunito Sans", Inter, system-ui, sans-serif;--font-body:16px;--font-label:14px;--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;--skeleton-base:color-mix(in srgb, var(--primary) 14%, var(--surface));--skeleton-shine:color-mix(in srgb, var(--primary) 6%, var(--surface));--skeleton-sweep:2.4s;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--touch-target:44px;--z-overlay:500;--z-lock:1000;--scrim:#061b306b;--shadow-sheet:0 -8px 40px #061b302e;--shadow-pop:0 1px 2px #061b300f, 0 12px 32px #061b3029;--focus-ring:2px solid var(--primary);--focus-halo:0 0 0 3px #07549a24;--dur-in:.28s;--dur-out:.18s;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-spring:cubic-bezier(.2, 1.1, .3, 1)}*,:before,:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;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{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}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{appearance:none;min-width:0;height:var(--touch-target);text-align:left;align-items:center;line-height:normal;display:flex}input::-webkit-date-and-time-value{text-align:left;line-height:calc(var(--touch-target) - 2px);margin:0}select{min-width:0;height:var(--touch-target);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:var(--touch-target);padding:0 14px;font-size:15px}.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}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.badge.bad{background:var(--critical-tint);color:var(--critical)}.sk-wait [data-sk],.sk-wait [data-sk-block]{visibility:hidden}html:root .sk.sk{background:linear-gradient(90deg, var(--skeleton-base) 0%, var(--skeleton-base) 35%, var(--skeleton-shine) 50%, var(--skeleton-base) 65%, var(--skeleton-base) 100%) 0 0 / 250% 100%;border-radius:var(--radius-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone;pointer-events:none;-webkit-user-select:none;user-select:none;animation:sk-in .25s ease-out, sk-sweep var(--skeleton-sweep) ease-in-out infinite;color:#0000!important;box-shadow:none!important;border-color:#0000!important;text-decoration:none!important}html:root .sk.sk *{visibility:hidden}html:root :is(p,div,li,h1,h2,h3,h4).sk.sk{background-clip:content-box}.sk-fit{max-width:fit-content}@keyframes sk-sweep{0%{background-position:100% 0}to{background-position:0 0}}@keyframes sk-in{0%{opacity:0}}@media (prefers-reduced-motion:reduce){html:root .sk.sk{animation:none}}
