:root{--nav:#0e243d;--ink:#183149;--muted:#536b80;--bg:#f1f5fa;--surface:white;--line:#cddbe8;--soft:#e8f0f7;--green:#087861;--mint:#62e3c4;--warn:#9d4a10}*{box-sizing:border-box}body{margin:0;font:16px/1.6 Arial,sans-serif;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button{cursor:pointer;padding:10px 15px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--ink);font-weight:600;min-height:44px}button:hover{border-color:var(--green)}button[aria-pressed=true],.primary{background:var(--green);color:white}button:disabled{opacity:.45;cursor:default}a{color:var(--green)}:focus-visible{outline:3px solid #1fae8c;outline-offset:3px}.skip{position:fixed;top:-100px;background:white;padding:10px;z-index:80}.skip:focus{top:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 28px;background:var(--surface);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:800;font-size:15px}.brand small{display:block;color:var(--muted);font-weight:400;font-size:14px}.mark{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;background:var(--nav);color:var(--mint);border-radius:9px;font-size:25px}.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.notice{background:var(--nav);color:#c8dbed;padding:10px 28px;font-size:14px}nav{display:flex;gap:6px;overflow-x:auto;background:var(--surface);padding:10px 28px;border-bottom:1px solid var(--line)}nav a{padding:9px 12px;white-space:nowrap;color:var(--muted);text-decoration:none;font-size:14px;border-radius:5px}nav a[aria-current=page]{background:var(--nav);color:var(--mint)}main{max-width:1440px;margin:auto;padding:24px 28px}h1{font-size:32px;line-height:1.2;margin:6px 0 12px}h2{font-size:23px;line-height:1.3;margin:0 0 12px}h3{font-size:18px;margin:0 0 9px}p{margin:0 0 14px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:1.4px;color:var(--green)}.lead,.muted{color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:22px;margin-bottom:18px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid.three{grid-template-columns:repeat(3,1fr)}.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:20px}.banner{background:var(--nav);color:white;padding:20px;border-radius:9px;margin-bottom:18px}.banner p{color:#c8dbed}.scenario{padding:15px 20px;display:flex;gap:15px;flex-wrap:wrap;align-items:center;margin-bottom:20px;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--green);border-radius:8px}.scenario .actions{flex:1}.scenario p{width:100%;margin:0;color:var(--muted)}label{display:block;font-size:14px;margin:8px 0}input:not([type=checkbox]),select,textarea{width:100%;padding:10px;border-radius:6px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}textarea{min-height:100px;resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--green)}.fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:start;gap:10px;padding:8px 0}.pill{display:inline-block;font-size:14px;background:var(--soft);padding:4px 9px;border-radius:5px}.status{font-weight:800;padding:12px;border-left:4px solid var(--green);background:var(--soft);margin:14px 0}.blocked{border-color:var(--warn)}.gate{display:grid;grid-template-columns:28px 1fr;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.gate strong{font-size:14px}.gate p{font-size:14px;margin:3px 0;color:var(--muted)}.gate-mark{font-size:14px;font-weight:800;color:var(--green)}.gate.fail .gate-mark{color:var(--warn)}.controls{margin:14px 0}.path{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.path button{text-align:left;padding:18px;min-height:120px;border-top:4px solid var(--green)}.path small{display:block;color:var(--muted);font-weight:400}.path button[aria-pressed=true] small{color:white}.flow{font-size:14px;background:var(--soft);padding:15px;margin:16px 0;border-radius:7px}.key{border-left:4px solid var(--green);padding:15px;background:var(--soft);margin:16px 0}details{border:1px solid var(--line);border-radius:7px;margin:12px 0}summary{padding:14px;cursor:pointer;font-weight:700}.detail{padding:16px}pre{background:var(--nav);color:#b8eadc;padding:18px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:14px;border-radius:7px}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line)}th{background:var(--soft)}.progress{background:var(--soft);height:8px;border-radius:8px;overflow:hidden;margin:14px 0}.progress span{display:block;height:100%;background:var(--green)}.test-card{border-left:4px solid var(--warn)}#toast{position:fixed;bottom:20px;right:20px;background:var(--nav);color:white;padding:15px;border-radius:7px;z-index:70}#toast[hidden],#deck[hidden]{display:none}#deck{position:fixed;inset:0;z-index:60;background:var(--bg);padding:22px;overflow:auto;display:flex;flex-direction:column}#deck-content{max-width:1300px;width:100%;margin:20px auto;flex:1}#deck h1{font-size:clamp(28px,4vw,48px)}#report{display:none}[data-theme=dark]{--ink:#e7f0f9;--muted:#b4c8db;--bg:#081724;--surface:#132c40;--line:#37526a;--soft:#203d52;--green:#39b798;--warn:#ffb16e}@media(max-width:900px){.studio,.grid.three{grid-template-columns:1fr}.path{grid-template-columns:1fr 1fr}header{flex-wrap:wrap}.brand{max-width:100%}.brand small{font-size:13px}}@media(max-width:600px){header,main{padding:18px 14px}nav,.notice{padding-left:14px;padding-right:14px}.grid,.fields{grid-template-columns:1fr}.path{grid-template-columns:1fr}.scenario button{flex:1 1 45%}.scenario .actions{width:100%}h1{font-size:28px}.actions button{flex:1}#deck{padding:14px}}@media print{body>*{display:none!important}#report{display:block!important;color:black;background:white;padding:0}#report section{break-before:page}#report section:first-child{break-before:auto}#report pre{color:black;background:white;border:1px solid #aaa}#report button,#report input,#report select,#report textarea{display:none}#report h1{font-size:24pt}#report h2{font-size:18pt}#report .card{break-inside:avoid}#report table{font-size:11pt}}

.hmi-inbox{border-top:5px solid var(--green)}.hmi-inbox h2{margin-top:14px}.source-picker .actions button{flex:1 1 25%}.source-picker{border-left:4px solid var(--green)}@media(max-width:600px){.source-picker .actions button{flex:1 1 100%}}
