@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-ext-400-normal.0fqyy_rzir8wk.woff2)format("woff2"),url(../media/dm-sans-latin-ext-400-normal.2wgrmp5e19scw.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-sans-latin-400-normal.0471snlmja818.woff2)format("woff2"),url(../media/dm-sans-latin-400-normal.40quu04grbhf8.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-ext-600-normal.2h9q_0618j3sz.woff2)format("woff2"),url(../media/dm-sans-latin-ext-600-normal.2uv0s9c16r-jh.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/dm-sans-latin-600-normal.0oone78si629l.woff2)format("woff2"),url(../media/dm-sans-latin-600-normal.40ad7xuawyzt9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-ext-400-normal.0_-sohr84qyir.woff2)format("woff2"),url(../media/dm-mono-latin-ext-400-normal.17hicw0t-pj96.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(../media/dm-mono-latin-400-normal.3--he8xuwzehy.woff2)format("woff2"),url(../media/dm-mono-latin-400-normal.20yxb24gp-vsx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-mono-latin-ext-500-normal.3a8zr77el0ebr.woff2)format("woff2"),url(../media/dm-mono-latin-ext-500-normal.18ptt7gd5u8o6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url(../media/dm-mono-latin-500-normal.03h2ib040oua6.woff2)format("woff2"),url(../media/dm-mono-latin-500-normal.3kj_vp6qk8arx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--accent:#f6841c;--accent-soft:#fff4e6;--ink:#212529;--ink-2:#495057;--muted:#868e96;--line:#e9ecef;--line-2:#dee2e6;--bg:#f6f7f9;--card:#fff;--sans:"DM Sans", system-ui, sans-serif;--mono:"DM Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:var(--sans);color:var(--ink);background:var(--bg);font-size:13px;font-weight:400}b,strong,h1,h2,h3,h4{font-weight:600}button{font:inherit;color:inherit}a{color:var(--ink)}.muted{color:var(--muted)}.small{font-size:12px}.mono,.mono-sm{font-family:var(--mono)}.hint{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.4}.app{grid-template-rows:52px 1fr;grid-template-columns:250px 1fr 360px;height:100vh;display:grid}.topbar{background:var(--card);border-bottom:1px solid var(--line);grid-column:1/4;align-items:center;gap:16px;padding:0 14px;display:flex}.brand{white-space:nowrap;align-items:center;gap:8px;font-size:15px;font-weight:600;display:flex}.brand-mark{background:var(--accent);border-radius:3px;width:12px;height:12px;display:inline-block}.topbar-right{align-items:center;gap:8px;margin-left:auto;display:flex}.rail{background:var(--card);border-right:1px solid var(--line);padding:8px 12px 24px;overflow-y:auto}.stage{background:var(--bg);position:relative;overflow:hidden}.panel{background:var(--card);border-left:1px solid var(--line);flex-direction:column;min-height:0;display:flex}.panel-body{flex:1;padding:12px 14px 32px;overflow-y:auto}.group{border-bottom:1px solid var(--line);padding:10px 0}.group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 8px;font-size:11px}.segs{flex-wrap:wrap;gap:4px;margin-bottom:6px;display:flex}.seg{border:1px solid var(--line-2);background:var(--card);cursor:pointer;border-radius:6px;padding:5px 9px;font-size:12px}.seg:hover{border-color:var(--muted)}.seg.active{border-color:var(--accent);background:var(--accent-soft)}.presets{flex-wrap:wrap;gap:4px;display:flex}.select{border:1px solid var(--line-2);background:var(--card);width:100%;font:inherit;border-radius:6px;margin-bottom:6px;padding:6px 8px}.toggle{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:4px 0;display:flex}.toggle input{opacity:0;pointer-events:none;position:absolute}.toggle .track{background:var(--line-2);border-radius:8px;flex:none;width:26px;height:15px;transition:background .15s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:left .15s;position:absolute;top:2px;left:2px}.toggle input:checked+.track{background:var(--accent)}.toggle input:checked+.track:after{left:13px}.toggle input:focus-visible+.track{outline:2px solid var(--ink);outline-offset:2px}.toggle.disabled{color:var(--muted);cursor:default}.btn{border:1px solid var(--line-2);background:var(--card);cursor:pointer;border-radius:6px;padding:7px 12px;text-decoration:none;display:inline-block}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn-ghost{background:0 0}.btn:disabled{opacity:.6;cursor:default}.linklike{text-align:left;cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--line-2);text-decoration-color:var(--line-2);background:0 0;border:none;padding:0}.model-tag{position:relative}.model-btn{border:1px solid var(--line-2);background:var(--card);cursor:pointer;font-family:var(--mono);border-radius:6px;align-items:center;gap:6px;padding:5px 10px;font-size:12px;display:flex}.popover{z-index:20;background:var(--card);border:1px solid var(--line-2);border-radius:8px;width:380px;padding:8px;position:absolute;top:36px;left:0}.popover-title{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:4px 4px 6px;font-size:11px}.version-row{cursor:pointer;width:100%;font-family:var(--mono);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:6px;display:flex}.version-row:hover{background:var(--bg)}.version-row.active{background:var(--accent-soft)}.warn-list{border-top:1px solid var(--line);gap:4px;margin-top:6px;padding:4px;display:grid}.tabs{border-bottom:1px solid var(--line);display:flex}.tab{cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:11px 4px;font-size:12px}.tab.active{border-bottom-color:var(--accent);font-weight:600}.panel h4{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:14px 0 6px;font-size:11px}.plain{gap:6px;margin:0;padding:0;list-style:none;display:grid}.indent{margin-left:40px}pre.block{white-space:pre-wrap;font-family:var(--sans);background:var(--bg);border-radius:6px;margin:0 0 8px;padding:10px;font-size:12px;line-height:1.5}.detail-head{justify-content:space-between;align-items:baseline;display:flex}.detail-num{font-family:var(--mono);font-size:22px;font-weight:500}.detail-text{font-size:13px;line-height:1.5}.kv{grid-template-columns:92px 1fr;gap:4px 8px;margin:0;display:grid}.kv dt{color:var(--muted)}.kv dd{margin:0}.swatch{vertical-align:-1px;border-radius:2px;width:10px;height:10px;display:inline-block}.st-grey{background:#adb5bd}.st-amber{background:#e8a33d}.st-red{background:#e03131}.st-decision{background:#9775fa}.st-record{background:#4dabf7}.st-retired{background:#fff;border:1px dashed #adb5bd}.dot{vertical-align:-1px;border-radius:50%;width:10px;height:10px;display:inline-block}.badge{font-family:var(--mono);border-radius:4px;padding:1px 6px;font-size:11px;display:inline-block}.pills{flex-wrap:wrap;gap:4px;display:flex}.pill{border:1px solid var(--line-2);background:var(--card);border-radius:10px;margin-left:4px;padding:1px 8px;font-size:11px;display:inline-block}.pills .pill{margin-left:0}.pk-notice{color:#c92a2a;border-color:#e03131}.pk-optout{color:#6741d9;border-color:#7048e8}.pk-naid{color:#2b8a3e;border-color:#2f9e44}.pk-clause{background:#f8f9fa}.pk-new{border-color:var(--accent);background:var(--accent-soft)}.pk-track{color:#1864ab;background:#e7f5ff;border-color:#74c0fc}.route-row{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;width:100%;padding:3px 4px;display:flex}.route-row.active{border-color:var(--accent);background:var(--accent-soft)}.profile-card{text-align:left;border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:8px;width:100%;margin-bottom:8px;padding:10px;display:block}.profile-card.active{border-color:var(--accent)}.profile-title{margin-bottom:6px;font-weight:600}.detail .btn{margin-top:16px}.canvas-wrap{position:absolute;inset:0;overflow:hidden}.stage-row{pointer-events:none;height:24px;position:absolute;top:0;left:0;right:0}.stage-chip{height:18px;color:var(--ink-2);text-align:center;white-space:nowrap;text-overflow:ellipsis;background:#eef0f3;border-radius:4px;padding:0 4px;font-size:11px;font-weight:600;line-height:18px;position:absolute;top:3px;overflow:hidden}.lane-chip{color:var(--ink-2);border:1px solid var(--line);white-space:nowrap;pointer-events:none;background:#ffffffeb;border-radius:4px;padding:0 5px;font-size:11px;font-weight:600;line-height:16px;position:absolute;overflow:hidden}.canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block}.canvas:active{cursor:grabbing}.lane-label,.stage-label{fill:var(--ink-2);font-family:var(--sans);font-weight:600}.step-num{font-family:var(--mono);fill:var(--ink);font-weight:500}.step-num.dim{fill:#ced4da}.step-text{font-family:var(--sans);color:var(--ink);word-break:break-word;height:100%;line-height:1.22;overflow:hidden}.step-text.dim{color:#ced4da}.step-text.clamp{-webkit-box-orient:vertical;height:auto;display:-webkit-box;overflow:hidden}.step-text.center.clamp{text-align:center;display:-webkit-box}.step-text.center{text-align:center;white-space:pre-line;justify-content:center;align-items:center;display:flex}.badge-text,.pill-text{font-family:var(--mono)}.bar-label{color:#212529;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-family:var(--sans);overflow:hidden}.naid-label{fill:#2b8a3e;font-weight:600;font-family:var(--sans)}.node{cursor:pointer;transition:transform .9s cubic-bezier(.4,0,.2,1),opacity .6s}.node .shape{transition:width .9s cubic-bezier(.4,0,.2,1),height .9s cubic-bezier(.4,0,.2,1),fill .4s,stroke .4s}.node-hidden{opacity:0;pointer-events:none}.fade-in{animation:.5s both fade}.fade-in-late{animation:.5s .6s both fade}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.node,.node .shape{transition:none}.fade-in,.fade-in-late{animation:none}}.metrics{z-index:5;gap:8px;display:flex;position:absolute;bottom:52px;left:10px}.metric{background:var(--card);border:1px solid var(--line-2);border-radius:8px;min-width:190px;padding:8px 12px}.metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.metric-big{font-size:20px;font-weight:600}.metric-big .muted{font-size:12px;font-weight:400}.clock-key{z-index:5;background:var(--card);border:1px solid var(--line-2);border-radius:6px;gap:4px;max-width:460px;padding:8px 10px;display:grid;position:absolute;bottom:10px;right:10px}.key-line{vertical-align:middle;border-top:4px solid #e03131;width:22px;height:0;margin-right:4px;display:inline-block}.key-line.dashed{border-top:3px dashed #343a40}.compare-note{z-index:5;background:var(--card);border:1px solid var(--line-2);border-radius:6px;padding:6px 10px;position:absolute;bottom:10px;left:10px}.overlay{z-index:10;background:#f6f7f9f7;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;display:flex;position:absolute;inset:0}.strip{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;width:100%;max-width:1200px;display:grid}.strip-step{background:var(--card);border:1px solid var(--line-2);border-top:3px solid var(--accent);border-radius:8px;padding:12px}.strip-title{margin-bottom:6px;font-weight:600}.strip-step p{color:var(--ink-2);margin:0;font-size:12px;line-height:1.5}.signin,.empty{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;display:flex}.signin-card{background:var(--card);border:1px solid var(--line);border-radius:10px;gap:12px;width:360px;padding:28px;display:grid}.err{color:#c92a2a}.admin{max-width:980px;margin:0 auto;padding:24px}.upload{background:var(--card);border:1px solid var(--line);border-radius:8px;gap:10px;margin:16px 0;padding:16px;display:grid}.result{background:var(--bg);border-radius:6px;padding:10px 12px}.result-rejected,.result-error{border-left:3px solid #e03131}.result-imported{border-left:3px solid #2f9e44}.result-duplicate{border-left:3px solid var(--muted)}.table{border-collapse:collapse;background:var(--card);border:1px solid var(--line);width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:8px 10px}.table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}@media print{.rail,.panel,.presets,.topbar-right,.clock-key{z-index:5;background:var(--card);border:1px solid var(--line-2);border-radius:6px;gap:4px;max-width:460px;padding:8px 10px;display:grid;position:absolute;bottom:10px;right:10px}.key-line{vertical-align:middle;border-top:4px solid #e03131;width:22px;height:0;margin-right:4px;display:inline-block}.key-line.dashed{border-top:3px dashed #343a40}.compare-note{display:none}.app{grid-template-rows:auto 1fr;grid-template-columns:1fr;height:auto}.stage{height:90vh}}
