:root{color-scheme:light;--aio-teal: #3d6359;--aio-teal-dark: #2d4a42;--aio-burgundy: #961e3c;--aio-burgundy-dark: #73152e;--aio-text-grey: #555555;--aio-silver: #999999;--bg: #f0f4f3;--bg-gradient-mid: #f6f8f7;--surface: #ffffff;--border: #d4dcd9;--text: #1a1d24;--muted: var(--aio-text-grey);--accent: var(--aio-teal);--accent-hover: var(--aio-teal-dark);--accent-secondary: var(--aio-burgundy);--danger: #b42318;--radius: 12px;--shadow: 0 10px 36px rgba(45, 74, 66, .08);--shadow-soft: 0 4px 20px rgba(20, 30, 50, .05);font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,sans-serif;line-height:1.45;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:linear-gradient(165deg,var(--bg) 0%,var(--bg-gradient-mid) 45%,#eef1f4 100%)}a{color:var(--accent)}a:hover{color:var(--aio-burgundy)}.shell{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.site-header{margin-bottom:1.5rem}.brand-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:1.35rem 1.5rem;border-top:4px solid var(--aio-teal);position:relative;overflow:hidden}.brand-card:after{content:"";position:absolute;top:0;right:0;width:120px;height:4px;background:linear-gradient(90deg,transparent,var(--aio-burgundy));opacity:.85}.brand-row{display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem}.brand-logo{display:block;height:auto;max-height:76px;width:auto;max-width:min(280px,100%);object-fit:contain}.brand-copy{flex:1;min-width:220px}.brand-copy h1{margin:0;font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:var(--aio-teal-dark);line-height:1.2}.brand-badge{display:inline-block;margin-top:.35rem;padding:.2rem .55rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;background:var(--aio-burgundy);border-radius:4px}.brand-tagline{margin:.5rem 0 0;font-size:.95rem;color:var(--aio-text-grey);max-width:36rem}.brand-note{margin:.65rem 0 0;font-size:.82rem;color:var(--aio-silver);max-width:40rem;line-height:1.4}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem 1.35rem;border-left:3px solid var(--aio-teal)}.field-grid{display:grid;gap:.85rem 1rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}label.field{display:flex;flex-direction:column;gap:.3rem;font-size:.88rem;font-weight:600}label.field span.hint{font-weight:400;color:var(--muted);font-size:.8rem}input[type=text],input[type=number],input[type=date],textarea{font:inherit;padding:.55rem .65rem;border-radius:8px;border:1px solid var(--border);background:#fff}textarea{min-height:72px;resize:vertical}input:focus-visible,textarea:focus-visible,button:focus-visible{outline:2px solid var(--aio-teal);outline-offset:2px}button:focus-visible{outline-offset:3px}.row-check{display:flex;align-items:center;gap:.5rem;font-weight:600}.steps{display:flex;flex-wrap:wrap;gap:.35rem;margin:0 0 1rem}.steps button{border:1px solid var(--border);background:#fff;padding:.35rem .65rem;border-radius:999px;font-size:.82rem;cursor:pointer}.steps button.active{border-color:var(--accent);color:var(--accent);font-weight:700}.nav-row{display:flex;justify-content:space-between;gap:.75rem;margin-top:1.25rem}button.primary,button.secondary{font:inherit;cursor:pointer;border-radius:10px;padding:.6rem 1rem;border:1px solid transparent}button.primary{background:linear-gradient(180deg,var(--aio-teal) 0%,var(--aio-teal-dark) 100%);color:#fff;box-shadow:0 2px 8px #3d635959}button.primary:hover:not(:disabled){background:linear-gradient(180deg,var(--aio-teal-dark) 0%,#243830 100%);box-shadow:0 3px 12px #3d635973}button.secondary{background:#fff;border-color:var(--border)}button:disabled{opacity:.55;cursor:not-allowed}.error-banner{margin-top:.75rem;padding:.65rem .75rem;border-radius:8px;background:#fde8e6;color:var(--danger);font-size:.88rem;white-space:pre-wrap}.list-editor{display:flex;flex-direction:column;gap:.65rem}.list-row{display:grid;grid-template-columns:1fr 1fr auto;gap:.5rem;align-items:end}@media(max-width:640px){.list-row{grid-template-columns:1fr}}.muted{color:var(--muted);font-size:.9rem}
