:root{font-family:Inter,ui-sans-serif,system-ui,sans-serif;color:#14342e;background:#effaf7;font-synthesis:none;--accent: #3a8f7d;--accent-soft: #cdefe5;--surface: #fff;--border: #9edccb}*{box-sizing:border-box}html,body,#root{min-height:100%;max-width:100%;margin:0;overflow-x:clip}body{background:linear-gradient(145deg,#effaf7,#cdefe5)}button,input,select{font:inherit}button,input,select{min-height:44px;border:1px solid var(--border);border-radius:.75rem;padding:.7rem .85rem;color:inherit;background:#fff}button{cursor:pointer;font-weight:700}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #14342e;outline-offset:2px}button:disabled{cursor:not-allowed;opacity:.65}.primary,nav .active{color:#fff;background:var(--accent);border-color:var(--accent)}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:20;background:#fff;padding:.75rem}.skip-link:focus{top:1rem}header{position:sticky;top:0;z-index:10;display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:.8rem clamp(1rem,4vw,4rem);color:#fff;background:#216b5e;box-shadow:0 3px 14px #14342e33}.brand{display:flex;align-items:center;gap:.7rem;flex:0 0 auto}.brand>span{display:grid;place-items:center;width:2.8rem;aspect-ratio:1;border-radius:.8rem;font-size:1.5rem;font-weight:900;color:#216b5e;background:#fff}.brand strong,.brand small{display:block}.brand small{opacity:.85}nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}nav button{color:#fff;background:transparent;border-color:#fff6}main{width:min(1180px,calc(100% - 2rem));margin:0 auto;padding:2.5rem 0}.intro{margin-bottom:1.5rem}.intro h1{margin:.15rem 0;font-size:clamp(2.1rem,6vw,4rem)}.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.8rem;font-weight:900}.grid{display:grid;gap:1.25rem}.two-columns{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.stack{display:grid;gap:1.25rem;min-width:0}.card{min-width:0;margin-bottom:1.25rem;padding:clamp(1rem,3vw,1.6rem);border:1px solid var(--border);border-radius:1.25rem;background:color-mix(in srgb,var(--surface) 94%,transparent);box-shadow:0 12px 32px #14342e12}.card h2{margin:.2rem 0 1rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.field{display:grid;gap:.35rem;min-width:0;font-weight:700}.field input,.field select{width:100%;min-width:0}.inline-form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:.6rem;margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--border)}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.metrics article{min-width:0;padding:.8rem;border-radius:.8rem;background:#effaf7}.metrics span,.metrics strong{display:block;overflow-wrap:anywhere}.entry-list,.category-bars{padding:0;list-style:none}.entry-list li{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:.6rem;align-items:center;padding:.8rem 0;border-bottom:1px solid var(--accent-soft)}.entry-list span{display:block;color:#46645f;font-size:.85rem}.category-bars li{position:relative;display:grid;grid-template-columns:1fr auto;gap:.5rem;padding:.55rem 0 1rem;overflow:hidden}.category-bars i{position:absolute;left:0;bottom:.3rem;height:.25rem;border-radius:1rem;background:var(--accent)}.hero-result{display:grid;gap:.25rem;margin-top:1rem;padding:1.3rem;border-radius:1rem;color:#fff;background:#216b5e}.hero-result strong{font-size:clamp(2rem,8vw,4.5rem);overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:.6rem}.error{min-height:1.4rem;color:#a32d2d;font-weight:700}.note,footer{color:#46645f}footer{padding:2rem;text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){header{align-items:flex-start;flex-direction:column}nav{justify-content:flex-start}.two-columns{grid-template-columns:1fr}}@media(max-width:600px){main{width:min(100% - 1rem,1180px);padding-top:1.2rem}header{padding-inline:.75rem}nav{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}nav button{min-width:0}.form-grid,.metrics,.inline-form{grid-template-columns:1fr}.entry-list li{grid-template-columns:minmax(0,1fr) auto}.entry-list button{grid-column:auto}}
