:root{font-family:system-ui,sans-serif;color:#102a43;background:#f3f6f8;font-synthesis:none;text-rendering:optimizelegibility;--ink: #102a43;--muted: #486581;--accent: #005f73;--border: #bcccdc;--surface: #fff;--radius: .75rem}*{box-sizing:border-box}body{margin:0;line-height:1.6}button,input,select{font:inherit}button{cursor:pointer;border:1px solid var(--accent);border-radius:.4rem;padding:.65rem 1rem;color:#fff;background:var(--accent);font-weight:600;min-height:44px}a{color:var(--accent)}:focus-visible{outline:3px solid #d97706;outline-offset:4px}.skip-link{position:fixed;top:-6rem;left:1rem;padding:1rem;z-index:20;background:#fff}.skip-link:focus{top:1rem}.environment-banner{text-align:center;background:#fff0c2;color:#654400;padding:.4rem 1rem;font-size:.85rem;font-weight:700;letter-spacing:.03em}header{min-height:86px;padding:1rem 3%;display:flex;align-items:center;gap:1.5rem;background:var(--surface);border-bottom:1px solid var(--border)}.brand{font-size:2rem;font-weight:700;letter-spacing:-.08em;text-decoration:none;color:var(--ink)}.brand span{color:var(--accent)}.header-label{color:var(--muted);border-left:1px solid var(--border);padding-left:1.5rem}.status-pill{margin-left:auto;background:#e7f0f3;border-radius:2rem;padding:.35rem .85rem;font-size:.8rem;font-weight:600}.layout{display:grid;grid-template-columns:235px minmax(0,1fr);max-width:1500px;margin:auto;min-height:75vh}nav{min-width:0;padding:2rem 1rem;border-right:1px solid var(--border)}nav ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}nav button{width:100%;text-align:left;border-color:transparent;background:transparent;color:var(--muted)}button:disabled{cursor:not-allowed;opacity:.65}button.secondary{background:transparent;color:var(--accent)}nav button[aria-current]{background:#d9eaf0;color:#003d4b;border-left:3px solid var(--accent)}main{padding:2rem clamp(1rem,4vw,4rem) 4rem;min-width:0}h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:0 0 1.8rem;letter-spacing:-.035em}h2{font-size:1.18rem;margin:0 0 1rem}p{margin:0 0 1rem}.eyebrow{text-transform:uppercase;font-size:.75rem;letter-spacing:.14em;color:var(--muted);font-weight:700;margin-bottom:.5rem}.panel{padding:1.5rem;background:var(--surface);border:1px solid #d9e2ec;border-radius:var(--radius);margin-bottom:1.5rem;box-shadow:0 3px 12px #102a4305}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.metric{font-size:1.65rem;font-weight:600;letter-spacing:-.03em}.notice{border-left:4px solid #27829a;border-radius:.3rem;padding:1rem 1.2rem;margin-bottom:1.5rem;background:#e7f2f5}.notice-warning{border-color:#ad7200;background:#fff6dd}.notice-error{border-color:#b42318;background:#fff0ee}.notice p:last-child,.panel p:last-child{margin-bottom:0}label{display:flex;flex-direction:column;gap:.35rem;font-weight:600;margin-bottom:1.1rem;max-width:34rem}input,select{width:100%;min-height:44px;padding:.55rem .7rem;border:1px solid var(--border);border-radius:.35rem;color:var(--ink);background:#fff}fieldset{border:0;padding:0;margin:0 0 1.2rem}legend{font-weight:600;margin-bottom:.5rem}.money-input{display:flex;align-items:center;gap:.75rem}.money-input span{color:var(--muted);font-size:.85rem}.checkbox{flex-direction:row;align-items:flex-start;font-weight:400}.checkbox input{width:20px;min-height:20px;flex-shrink:0;margin-top:.3rem}.hint{color:var(--muted);font-size:.9rem}.button-row{display:flex;gap:.75rem;flex-wrap:wrap;margin:1rem 0}.table-scroll{overflow-x:auto;margin:1.5rem 0}table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}th,td{padding:.85rem;border-bottom:1px solid #d9e2ec}th{background:#f0f4f8}caption{text-align:left;color:var(--muted);padding:.5rem 0}.identity-form{display:grid;gap:1rem;justify-items:start}.startup{padding:3rem}footer{padding:2rem;text-align:center;color:var(--muted);font-size:.8rem;border-top:1px solid var(--border)}@media(max-width:760px){header{flex-wrap:wrap;padding:1rem;gap:.75rem}.status-pill{margin-left:0}.layout{grid-template-columns:1fr}nav{padding:.75rem;border-right:0;border-bottom:1px solid var(--border)}nav ul{flex-direction:row;overflow-x:auto}nav button{width:max-content}main{padding:1.5rem 1rem}.panel{padding:1.2rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto}}
