:root{--bg: #f3f5f7;--panel: #ffffff;--panel-muted: #f8faf9;--text: #17212b;--muted: #66717e;--soft: #eef3f1;--line: #dce3e2;--line-strong: #cbd7d5;--accent: #176b5b;--accent-strong: #0f4e43;--accent-soft: #e6f4ef;--ink: #223042;--blue: #2e5f8a;--amber: #a46205;--danger: #b3261e;--warning: #8a5a00;--shadow: 0 16px 40px rgba(32, 45, 55, .08)}*{box-sizing:border-box}body{margin:0;min-width:320px;background:linear-gradient(180deg,#fff 0,#f3f5f7 280px),var(--bg);color:var(--text);font-family:Inter,Arial,Helvetica Neue,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}.page-shell{width:min(100%,1480px);margin:0 auto;padding:24px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:86px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;padding:18px;background:#ffffffe0;box-shadow:var(--shadow)}.brand-lockup{display:flex;align-items:center;gap:14px;min-width:0}.brand-mark{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;width:48px;height:48px;border:1px solid #b9d8cf;border-radius:8px;background:var(--accent-soft);color:var(--accent-strong)}.topbar h1{margin:0 0 6px;color:var(--ink);font-size:26px;line-height:1.15;letter-spacing:0}.topbar p{margin:0;color:var(--muted);font-size:14px;line-height:1.45}.status-strip{display:flex;flex:0 0 auto;flex-wrap:wrap;justify-content:flex-end;gap:8px}.status-pill{display:inline-flex;align-items:center;gap:7px;min-height:32px;border:1px solid var(--line);border-radius:999px;padding:6px 10px;background:#fff;color:var(--ink);font-size:13px;font-weight:700;white-space:nowrap}.status-pill:nth-child(1){border-color:#bad8cf;background:var(--accent-soft);color:var(--accent-strong)}.status-pill:nth-child(2){border-color:#ccd9e8;background:#edf5fb;color:var(--blue)}.layout-grid{display:grid;grid-template-columns:minmax(390px,.95fr) minmax(480px,1.05fr);gap:20px;align-items:start}.stack{display:grid;gap:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:16px;box-shadow:0 8px 24px #2230420b}.panel h2{margin:0 0 14px;color:var(--ink);font-size:17px;line-height:1.25;letter-spacing:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.panel-heading h2{margin:0}.eyebrow{margin:0 0 4px;color:var(--accent);font-size:11px;font-weight:800;letter-spacing:0;text-transform:uppercase}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.form-grid.wide{grid-template-columns:1fr}label{display:grid;gap:6px;color:#536170;font-size:13px;font-weight:700}fieldset{border:0;margin:0;padding:0}legend{color:var(--muted);font-size:13px;font-weight:700;margin-bottom:6px;padding:0}.checkbox-options{grid-column:1 / -1}.checkbox-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.checkbox-option{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid var(--line);border-radius:6px;padding:8px 9px;background:var(--panel-muted);color:var(--text);font-size:13px;font-weight:400;line-height:1.25}.checkbox-option input{flex:0 0 auto;width:15px;height:15px;margin:0;accent-color:var(--accent)}.checkbox-option:has(input:checked){border-color:#a9d2c6;background:var(--accent-soft);color:var(--accent-strong)}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:9px 10px;color:var(--text);background:#fff;font-weight:400;line-height:1.45;outline:none;transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}input:focus,select:focus,textarea:focus{border-color:#7db7a8;box-shadow:0 0 0 3px #176b5b21}input::placeholder,textarea::placeholder{color:#9aa5af}textarea{resize:vertical}.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--accent);border-radius:6px;padding:9px 14px;background:var(--accent);color:#fff;font-weight:700;line-height:1.15;box-shadow:0 10px 22px #176b5b29;transition:transform .12s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}button:hover:not(:disabled){border-color:var(--accent-strong);background:var(--accent-strong);transform:translateY(-1px);box-shadow:0 14px 28px #176b5b33}button.secondary{background:#fff;color:var(--accent-strong);box-shadow:none}button.secondary:hover:not(:disabled){background:var(--accent-soft);box-shadow:none}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}.facts div{border:1px solid var(--line);border-radius:6px;background:var(--panel-muted);padding:10px}.facts dt{color:var(--muted);font-size:12px;font-weight:700}.facts dd{margin:4px 0 0;color:var(--ink);line-height:1.35}.note{color:var(--muted);margin:12px 0 0;border-left:3px solid #d8b46b;padding-left:10px;line-height:1.45}.output-panel{position:sticky;top:16px;border-color:var(--line-strong)}.output-panel textarea{min-height:min(64vh,720px);font-family:Consolas,Courier New,monospace;font-size:13px;line-height:1.55;background:#fbfcfc}.output-tabs{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);border-radius:999px;padding:3px;background:var(--panel-muted)}.tab{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:28px;border-radius:999px;padding:5px 10px;color:var(--muted);font-size:12px;font-weight:800}.tab.active{background:var(--accent);color:#fff}.validation{display:grid;gap:8px;margin-bottom:12px}.validation-item{margin:0;border-radius:6px;padding:9px 10px;font-size:13px;line-height:1.4}.validation-item.error{border:1px solid #efc9c5;background:#fff3f2}.validation-item.warning{border:1px solid #efd9a8;background:#fff8e8}.error{color:var(--danger)}.warning{color:var(--warning)}@media(max-width:980px){.page-shell{padding:18px}.topbar{align-items:flex-start;flex-direction:column}.status-strip{justify-content:flex-start}.layout-grid,.form-grid,.checkbox-grid,.facts{grid-template-columns:1fr}.output-panel{position:static}}@media(max-width:620px){.page-shell{padding:12px}.topbar,.panel{padding:14px}.brand-lockup{align-items:flex-start}.brand-mark{width:42px;height:42px}.topbar h1{font-size:22px}.status-pill,.button-row button{width:100%}.panel-heading{align-items:flex-start;flex-direction:column}.output-tabs{width:100%}.tab{flex:1}}
