.lp-pipeline{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap}.lp-station{display:flex;flex-direction:column;align-items:center;gap:14px}.lp-station-icon{width:108px;height:108px;display:flex;align-items:center;justify-content:center;background:var(--plate);border:1px solid var(--rule);border-radius:12px;color:var(--ink-soft)}.lp-station-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}.lp-connector-svg{width:72px;height:16px;margin-bottom:28px;flex-shrink:0}.lp-connector{fill:none;stroke:var(--accent);stroke-width:1.5;stroke-dasharray:2 6;stroke-linecap:round}@media (max-width: 560px){.lp-pipeline{flex-direction:column}.lp-connector-svg{transform:rotate(90deg);margin:0;height:40px}}@media (prefers-reduced-motion: no-preference){.lp-station{opacity:0;transform:translateY(10px);animation:lp-rise .7s cubic-bezier(.16,1,.3,1) forwards}.lp-s1{animation-delay:.1s}.lp-s2{animation-delay:.35s}.lp-s3{animation-delay:.6s}.lp-connector-svg{opacity:0;animation:lp-fade .5s ease-out forwards;animation-delay:.9s}@keyframes lp-rise{to{opacity:1;transform:none}}@keyframes lp-fade{to{opacity:1}}}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #f5f5f7;--paper-2: #ededf0;--surface: #efeff2;--surface-2: #e8e8ec;--plate: #ffffff;--plate-tint: #fafafa;--ink: #1d1d1f;--ink-soft: #48484d;--ink-muted: #6e6e73;--ink-faint: #a1a1a6;--rule: rgba(29, 29, 31, .16);--rule-strong: rgba(29, 29, 31, .34);--line: rgba(29, 29, 31, .09);--accent: #0f62bd;--accent-deep: #0b4c94;--accent-soft: rgba(15, 98, 189, .1);--st-draft-bg: #ececf0;--st-draft-tx: #55565c;--st-sent-bg: #edeff2;--st-sent-tx: #55565c;--st-recv-bg: #e8eef6;--st-recv-tx: #46617f;--st-prog-bg: #e5eef9;--st-prog-tx: #155fa0;--st-mont-bg: #f6ecd9;--st-mont-tx: #8a5a12;--st-ready-bg: #e3f0e5;--st-ready-tx: #1e6b3a;--st-ship-bg: #e4ebf3;--st-ship-tx: #46617f;--st-done-bg: #1d1d1f;--st-done-tx: #f5f5f7;--danger: #b3261e;--danger-soft: rgba(179, 38, 30, .1);--danger-line: rgba(179, 38, 30, .38);--overlay: rgba(20, 20, 22, .42);--font-display: "Hanken Grotesk Variable", system-ui, sans-serif;--font-body: "Hanken Grotesk Variable", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--shadow-1: 0 1px 2px rgba(0, 0, 0, .04);--shadow-2: 0 8px 24px rgba(0, 0, 0, .08);--shadow-overlay: 0 12px 32px rgba(0, 0, 0, .14);--primary: var(--ink);--primary-light: var(--ink-soft);--highlight: var(--accent);--highlight-light: var(--accent-deep);--bg: var(--paper);--bg-secondary: var(--surface);--text: var(--ink);--text-secondary: var(--ink-soft);--text-muted: var(--ink-muted);--border: var(--rule);--border-light: var(--line);--surface-hover: var(--plate-tint);--fs-h1: 30px;--fs-h2: 22px;--fs-h3: 16px;--fs-body: 14.5px;--fs-body-sm: 13.5px;--fs-data: 12.5px;--fs-label: 11px;--fs-label-sm: 10.5px;--fs-caption: 10px;--fs-micro: 9px;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-10: 40px;--sp-12: 48px;--container: 1100px;--radius: 6px;--radius-lg: 10px;--ease: cubic-bezier(.16, 1, .3, 1);--sidebar-width: 240px;--sidebar-collapsed: 64px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--paper);color:var(--ink-soft);font-family:var(--font-body);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--ink)}h1{font-weight:650;letter-spacing:-.01em}::selection{background:var(--accent-soft);color:var(--accent-deep)}.stamp{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-muted)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.chip{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:12px;border-radius:999px;padding:2px 10px;font-weight:500;white-space:nowrap}.chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.chip-sm{font-size:10.5px;padding:1px 8px;gap:5px}.chip-sm:before{width:5px;height:5px}.st-draft{background:var(--st-draft-bg);color:var(--st-draft-tx)}.st-sent{background:var(--st-sent-bg);color:var(--st-sent-tx)}.st-recv{background:var(--st-recv-bg);color:var(--st-recv-tx)}.st-prog{background:var(--st-prog-bg);color:var(--st-prog-tx)}.st-mont{background:var(--st-mont-bg);color:var(--st-mont-tx)}.st-ready{background:var(--st-ready-bg);color:var(--st-ready-tx)}.st-ship{background:var(--st-ship-bg);color:var(--st-ship-tx)}.st-done{background:var(--st-done-bg);color:var(--st-done-tx)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;padding:7px 14px;border:1px solid var(--rule-strong);background:var(--plate);color:var(--ink);border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:background .15s var(--ease),border-color .15s var(--ease)}.btn:hover{background:var(--plate-tint)}.btn.pri{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn.pri:hover{background:var(--ink-soft)}.btn.acc{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.acc:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.btn.dgr{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.dgr:hover{background:color-mix(in srgb,var(--danger) 88%,#000);border-color:color-mix(in srgb,var(--danger) 88%,#000)}.btn:disabled{opacity:.45;cursor:not-allowed}.toolrow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--rule)}.toolbtn{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);font-family:var(--font-body);background:var(--accent);color:#fff;border:1px solid var(--accent);border-radius:var(--radius);cursor:pointer;text-align:left;transition:background .15s var(--ease),border-color .15s var(--ease)}.toolbtn:hover{background:var(--accent-deep);border-color:var(--accent-deep)}.toolbtn.on{background:var(--accent-deep);border-color:var(--accent-deep);box-shadow:inset 0 0 0 1.5px #fff}.toolbtn-lb{display:block;font-size:var(--fs-h3);font-weight:600;line-height:1.2}.toolbtn-sub{display:block;font-size:var(--fs-body-sm);font-weight:400;opacity:.85;margin-top:2px}.link-btn{background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-body-sm);color:var(--ink-muted);text-decoration:underline}.link-btn:hover{color:var(--ink)}.field{display:flex;flex-direction:column;gap:6px}.field label{font-family:var(--font-body);font-size:12.5px;font-weight:500;color:var(--ink-soft)}.field input,.field select,.field textarea{font-family:var(--font-body);font-size:14.5px;color:var(--ink);background:var(--plate);border:1px solid var(--rule);border-radius:var(--radius);padding:9px 12px}.field input::placeholder,.field textarea::placeholder{color:var(--ink-muted)}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.inp{font-family:var(--font-body);font-size:var(--fs-body);color:var(--ink);background:var(--plate);border:1px solid var(--rule);border-radius:var(--radius);padding:6px 10px}.inp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input[type=checkbox]{accent-color:var(--accent-deep)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;color:var(--ink-muted);background:none;border:none;border-radius:var(--radius);cursor:pointer}.icon-btn:hover{color:var(--ink);background:var(--plate-tint)}.hint{background:var(--surface-2);border-radius:var(--radius-lg);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-body-sm);color:var(--ink-muted)}.banner-danger{background:var(--danger-soft);border:1px solid var(--danger-line);border-radius:var(--radius-lg);padding:var(--sp-4) var(--sp-5);color:var(--danger)}.banner-danger .banner-title{font-weight:600;margin-bottom:var(--sp-2)}.plate{background:var(--plate);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-1)}.reticle{position:relative}.reticle:before,.reticle:after{content:"";position:absolute;width:10px;height:10px;border:1px solid var(--rule-strong);pointer-events:none}.reticle:before{top:-1px;left:-1px;border-right:none;border-bottom:none}.reticle:after{bottom:-1px;right:-1px;border-left:none;border-top:none}.lm-table{width:100%;border-collapse:collapse}.lm-table th{text-align:left;font-family:var(--font-mono);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted);padding:10px 14px;border-bottom:1px solid var(--rule)}.lm-table td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:14.5px;color:var(--ink-soft)}.lm-table tbody tr:hover{background:var(--plate-tint)}.lm-table th.num,.lm-table td.num{text-align:right;white-space:nowrap}.lm-table td.data{font-family:var(--font-mono);font-size:var(--fs-data);white-space:nowrap}.lm-table td.data-strong{font-family:var(--font-mono);font-weight:600;color:var(--ink);white-space:nowrap}.lm-table tr.clickable{cursor:pointer}.row-actions{display:inline-flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.plate-scroll{overflow-x:auto}.preview-frame{width:100%;height:68vh;border:1px solid var(--rule);border-radius:var(--radius)}.tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--rule);margin-bottom:var(--sp-4)}.tabs-flush{margin-bottom:0;padding:0 var(--sp-3);flex-wrap:nowrap}.tab{font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;color:var(--ink-muted);padding:9px 14px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;cursor:pointer}.tab:hover{color:var(--ink)}.tab.on{color:var(--accent-deep);border-bottom-color:var(--accent)}.tab-count{color:var(--ink-faint);font-variant-numeric:tabular-nums;margin-left:2px}.btn-sm{padding:4px 10px;font-size:12px;gap:6px}.spinner{width:40px;height:40px;border:4px solid var(--surface-2);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes progress-indeterminate{0%{transform:translate(-120%)}to{transform:translate(320%)}}.page{max-width:var(--container)}.page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--sp-4);flex-wrap:wrap;margin-bottom:var(--sp-6)}.page-title{font-size:var(--fs-h1);margin:var(--sp-1) 0 0}.page-sub{font-size:var(--fs-body);color:var(--ink-muted);margin:var(--sp-1) 0 0}.page-header .stamp{color:var(--accent-deep)}.page-header .page-actions{margin-bottom:0}.panel-head{padding:var(--sp-3) var(--sp-4) var(--sp-2);border-bottom:1px solid var(--rule);margin:0}.stack{display:flex;flex-direction:column;gap:var(--sp-3)}.stack-lg{gap:var(--sp-5)}.toolbar{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;margin-bottom:var(--sp-4)}.asset-toggle{display:inline-flex;align-items:center;flex-shrink:0;padding:var(--sp-2);border-radius:var(--radius);cursor:pointer}.asset-toggle:hover{background:var(--plate-tint)}.list-filter{display:inline-flex;align-items:center;gap:var(--sp-2);margin-left:auto;color:var(--ink-muted);font-size:var(--fs-data);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--ink-muted);font-size:var(--fs-body-sm);margin:0}.error-state{text-align:center;padding:var(--sp-8) var(--sp-4)}.error-state>p{color:var(--ink-soft);margin:0 0 var(--sp-3)}.data-row{display:flex;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-1) 0;border-bottom:1px solid var(--line)}.data-row dt{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.data-row dd{margin:0;font-weight:600;color:var(--ink);font-size:var(--fs-body);text-align:right}.section-head{font-size:var(--fs-h3);font-weight:600;margin:0 0 var(--sp-4)}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-4)}.kpi{display:grid;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);min-width:0}.kpi-label{font-family:var(--font-mono);font-size:var(--fs-label-sm);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-muted)}.kpi-value{font-family:var(--font-mono);font-size:var(--fs-h2);font-weight:500;color:var(--ink)}.kpi-foot{font-size:var(--fs-caption);color:var(--ink-muted)}.kpi-foot.good{color:var(--st-ready-tx)}.kpi-foot.warn{color:var(--st-mont-tx)}.live{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:var(--fs-data);color:var(--st-ready-tx);white-space:nowrap}.live:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}.live.off{color:var(--ink-muted)}.prod-toggle{border:1px solid var(--rule);background:var(--plate);border-radius:999px;padding:5px 12px;font-family:var(--font-body);font-size:var(--fs-body-sm);font-weight:500;color:var(--ink-soft);cursor:pointer;white-space:nowrap;transition:background .15s var(--ease),color .15s var(--ease)}.prod-toggle:hover{background:var(--plate-tint)}.prod-toggle.on{background:var(--ink);border-color:var(--ink);color:var(--paper)}.prod-toggle .cnt{font-family:var(--font-mono);font-size:var(--fs-data);margin-left:5px}.prod-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--sp-3);align-items:center;padding:var(--sp-3) 0;border-top:1px solid var(--line)}.prod-row:first-child{border-top:0}.prod-group{border-top:1px solid var(--line)}.prod-group:first-child{border-top:0}.prod-group-head{padding-bottom:var(--sp-2)}.prod-group-head .prod-meta{margin-top:0}.prod-group-head{grid-template-columns:auto auto minmax(0,1fr) auto}.prod-expander{transition:rotate .18s var(--ease)}.prod-expander.open{rotate:180deg}.prod-order-no{color:var(--ink-soft);margin-right:var(--sp-2)}.prod-pairing{margin-left:var(--sp-2);font-weight:500;font-size:var(--fs-body-sm);color:var(--ink-muted)}.prod-attention{display:flex;align-items:center;gap:var(--sp-1);margin-top:var(--sp-1);color:var(--danger);font-size:var(--fs-body-sm)}.prod-group-body{padding:0 0 var(--sp-2) var(--sp-4)}.prod-part{grid-template-columns:auto minmax(0,1fr) auto;border-top:0;padding:var(--sp-2) 0}.prod-retry-count{color:var(--ink-muted);font-size:var(--fs-data);margin-left:var(--sp-2)}.prod-attempts{margin-top:var(--sp-2);display:flex;flex-direction:column;gap:var(--sp-1)}.prod-attempt{display:flex;align-items:center;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-body-sm);color:var(--ink-muted)}.prod-attempt-no{min-width:96px}.prod-attempt-error{color:var(--danger);font-family:var(--font-mono);font-size:var(--fs-data)}.prod-order-actions{border-top:0;padding-top:var(--sp-2)}.prod-legacy{opacity:.85}.prod-pause-banner{border-left:3px solid var(--accent);padding-left:var(--sp-3)}.icon-btn.danger{color:var(--danger)}.farm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,560px),1fr));gap:var(--sp-6);align-items:start;margin-bottom:var(--sp-6)}@media (max-width: 768px){.farm-grid{grid-template-columns:1fr}}.prod-group-item{padding:var(--sp-2) 0 var(--sp-2) var(--sp-4);border-top:0}.prod-who{font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prod-meta{display:flex;gap:var(--sp-3);flex-wrap:wrap;color:var(--ink-muted);font-size:var(--fs-body-sm);margin-top:2px}.prod-meta .mono{font-family:var(--font-mono);font-size:var(--fs-data)}.prod-side{display:flex;align-items:center;gap:var(--sp-2)}.prod-actions{display:inline-flex;align-items:center;gap:var(--sp-1);justify-self:end}.prod-sub{grid-column:2 / -1;display:flex;align-items:center;gap:var(--sp-3)}.progress{height:7px;border-radius:999px;background:var(--surface-2);overflow:hidden;flex:1;min-width:120px}.progress>i{display:block;height:100%;background:var(--accent);border-radius:inherit;transition:width .35s var(--ease)}.printer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--rule)}.printer-body{padding:var(--sp-4) var(--sp-5) var(--sp-5)}.printer-state{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-2)}.printer-state strong{font-size:var(--fs-h3);font-weight:600}.printer-pct{font-family:var(--font-mono);font-size:var(--fs-data);color:var(--ink-soft)}.printer-bar{margin-bottom:var(--sp-5)}.printer-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--radius);overflow:hidden}.printer-stat{padding:var(--sp-3);background:var(--plate);min-width:0}.printer-stat .stamp{margin-bottom:var(--sp-1)}.printer-stat output{font-family:var(--font-mono);font-size:var(--fs-body);color:var(--ink)}.printer-error{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-4);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);background:var(--danger-soft);color:var(--danger);font-size:var(--fs-body-sm)}.printer-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--sp-2) var(--sp-4);margin-top:var(--sp-4);font-family:var(--font-mono);font-size:var(--fs-data);color:var(--ink-muted)}.enroll-code{font-family:var(--font-mono);font-size:var(--fs-h2);letter-spacing:.08em;margin-top:var(--sp-2)}.toolbar-push{margin-left:auto}.plate-body{padding:var(--sp-4) var(--sp-5) var(--sp-5)}.printer-title{margin:3px 0 0;font-size:var(--fs-h2);font-weight:600}.prod-automatik{display:flex;align-items:center;gap:var(--sp-2);cursor:pointer;font-size:var(--fs-body);color:var(--ink-soft);white-space:nowrap}.printer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-4)}@media (max-width: 768px){.printer-grid{grid-template-columns:1fr}}.printer-grid-muted{opacity:.78;margin-top:var(--sp-3)}.printer-head-side{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--sp-3)}.purpose-switch,.mode-switch{position:relative;display:inline-grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:2px;border:1px solid var(--rule);border-radius:999px;background:var(--surface-2);isolation:isolate}.purpose-switch label,.mode-switch label{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:999px;font-family:var(--font-body);font-size:var(--fs-label);font-weight:500;color:var(--ink-muted);white-space:nowrap;cursor:pointer;transition:color .18s var(--ease)}.purpose-switch label:has(input:checked),.mode-switch label:has(input:checked){color:var(--ink);font-weight:600}.purpose-switch label:has(input:focus-visible),.mode-switch label:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:1px}.purpose-switch label:has(input:disabled),.mode-switch label:has(input:disabled){cursor:default;opacity:.55}.purpose-switch input,.mode-switch input{position:absolute;width:1px;height:1px;margin:-1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap}.purpose-thumb,.mode-thumb{position:absolute;top:2px;bottom:2px;left:2px;z-index:0;width:calc((100% - 4px) / 3);border:1px solid var(--rule);border-radius:999px;background:var(--plate);box-shadow:var(--shadow-1);transition:translate .22s var(--ease)}.purpose-switch[data-value=wartung] .purpose-thumb,.mode-switch[data-value=manual] .mode-thumb{translate:100% 0}.purpose-switch[data-value=probeschuh] .purpose-thumb,.mode-switch[data-value=paused] .mode-thumb{translate:200% 0}.chat-bubble{position:fixed;bottom:24px;right:24px;z-index:1300;width:56px;height:56px;border-radius:50%;background:var(--accent);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-2);transition:background .15s var(--ease),transform .15s var(--ease)}.chat-bubble:hover{background:var(--accent-deep);transform:scale(1.05)}.chat-bubble.open{background:var(--ink)}.chat-popup{position:fixed;bottom:92px;right:24px;z-index:1300;width:380px;max-height:520px;display:flex;flex-direction:column;background:var(--plate);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay);overflow:hidden}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--rule)}.chat-header-title{font-family:var(--font-body);font-size:var(--fs-h3);font-weight:600;color:var(--ink)}.chat-messages{flex:1;overflow-y:auto;padding:var(--sp-4);display:flex;flex-direction:column;gap:var(--sp-3);min-height:280px;max-height:360px}.chat-msg{display:flex}.chat-msg.user{justify-content:flex-end}.chat-msg.assistant{justify-content:flex-start}.chat-msg-bubble{max-width:85%;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:var(--fs-body-sm);line-height:1.5;white-space:pre-wrap}.chat-msg.user .chat-msg-bubble{background:var(--accent);color:#fff}.chat-msg.assistant .chat-msg-bubble{background:var(--surface-2);color:var(--ink)}.chat-typing{display:inline-flex;align-items:center;gap:4px;padding:var(--sp-2) var(--sp-3)}.chat-typing span{width:6px;height:6px;border-radius:50%;background:var(--ink-muted);animation:chat-bounce 1.4s infinite ease-in-out}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes chat-bounce{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.chat-input-row{display:flex;align-items:flex-end;gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--rule)}.chat-input{flex:1;font-family:var(--font-body);font-size:var(--fs-body-sm);color:var(--ink);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3);resize:none;min-height:36px;max-height:100px;line-height:1.4}.chat-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.chat-input::placeholder{color:var(--ink-muted)}.chat-send{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius);background:var(--accent);color:#fff;border:none;cursor:pointer;flex-shrink:0;transition:background .15s var(--ease)}.chat-send:hover{background:var(--accent-deep)}.chat-send:disabled{opacity:.45;cursor:not-allowed}@media (max-width: 768px){.chat-popup{right:12px;bottom:80px;width:calc(100vw - 24px);max-height:60vh}.chat-bubble{bottom:16px;right:16px;width:48px;height:48px}}.shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh;background:var(--paper)}.shell-main{padding:28px 32px 48px;min-width:0}.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column;background:var(--plate);border-right:1px solid var(--rule)}.sb-brand{display:flex;align-items:center;gap:10px;padding:18px 16px;border-bottom:1px solid var(--line);text-decoration:none}.sb-brand img{height:20px;width:auto}.sb-brand>span{display:flex;flex-direction:column;gap:2px}.sb-brand-name{font-family:var(--font-body);font-size:15px;letter-spacing:-.01em;color:var(--ink);font-weight:650}.sb-brand-sub{font-family:var(--font-mono);font-size:8.5px;letter-spacing:.14em;color:var(--ink-muted)}.sb-tools{display:flex;flex-direction:column;gap:8px;padding:14px 12px;border-bottom:1px solid var(--line)}.sb-search{display:flex;align-items:center;gap:8px;font-family:var(--font-body);font-size:13px;color:var(--ink-muted);background:var(--paper);border:1px solid var(--rule);border-radius:var(--radius);padding:8px 10px;cursor:pointer;text-align:left}.sb-search:hover{border-color:var(--rule-strong);color:var(--ink)}.sb-search span{flex:1}.sb-search kbd{font-family:var(--font-mono);font-size:9px;color:var(--ink-muted);border:1px solid var(--line);border-radius:4px;padding:1px 5px}.sb-new{width:100%}.sb-nav{display:flex;flex-direction:column;gap:2px;padding:14px 12px}.sb-group-label{font-family:var(--font-mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-muted);padding:16px 10px 6px}.nl{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:var(--radius);font-family:var(--font-body);font-size:13.5px;font-weight:500;color:var(--ink-muted);text-decoration:none;transition:background .15s var(--ease),color .15s var(--ease)}.nl svg{flex-shrink:0}.nl span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nl:hover{background:var(--plate-tint);color:var(--ink)}.nl.on{background:var(--accent-soft);color:var(--accent-deep)}.sb-foot{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 16px;border-top:1px solid var(--line)}.sb-avatar{width:32px;height:32px;border-radius:50%;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;flex-shrink:0}.sb-foot-id{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.sb-foot-name{font-size:13px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-foot-role{font-family:var(--font-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted)}.sb-logout{background:none;border:none;color:var(--ink-muted);cursor:pointer;padding:6px;border-radius:var(--radius);display:flex}.sb-logout:hover{color:var(--accent-deep);background:var(--accent-soft)}.m-topbar,.sb-backdrop{display:none}@media (max-width: 768px){.shell{display:block}.shell-main{padding:16px 16px 40px}.m-topbar{position:sticky;top:0;z-index:800;display:flex;align-items:center;gap:12px;background:var(--plate);border-bottom:1px solid var(--rule);padding:10px 14px}.m-burger{background:none;border:none;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:-8px}.sb-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:900}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:var(--sidebar-width);z-index:1000;transform:translate(-100%);transition:transform .2s var(--ease)}.sidebar.open{transform:none}}.search-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:1100;display:flex;justify-content:center;padding:12vh 16px 0}.search-palette{width:100%;max-width:520px;height:fit-content;max-height:60vh;display:flex;flex-direction:column;overflow:hidden}.search-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;color:var(--ink-muted)}.search-input-row input{flex:1;border:none;background:none;outline:none;font-family:var(--font-body);font-size:15px;color:var(--ink)}.search-input-row input::placeholder{color:var(--ink-muted)}.search-input-row kbd{font-family:var(--font-mono);font-size:9px;color:var(--ink-faint);border:1px solid var(--line);border-radius:4px;padding:2px 6px}.search-results{border-top:1px solid var(--line);overflow-y:auto;padding:6px 8px 10px}.search-hit{display:flex;align-items:baseline;gap:10px;width:100%;text-align:left;background:none;border:none;border-radius:var(--radius);padding:9px 10px;cursor:pointer}.search-hit.on{background:var(--accent-soft)}.search-hit-title{font-family:var(--font-mono);font-size:13px;font-weight:600;color:var(--ink);white-space:nowrap}.search-hit-meta{flex:1;font-size:13.5px;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-empty{padding:18px 12px;font-size:13.5px;color:var(--ink-muted);text-align:center}.sb-brandrow{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-right:8px}.sb-brandrow .sb-brand{flex:1;border-bottom:none}.sb-collapse{background:none;border:none;color:var(--ink-muted);cursor:pointer;padding:6px;border-radius:var(--radius);display:flex}.sb-collapse:hover{color:var(--ink);background:var(--plate-tint)}@media (min-width: 769px){.shell:has(.sidebar.collapsed){grid-template-columns:var(--sidebar-collapsed) 1fr}.sidebar.collapsed .sb-brand,.sidebar.collapsed .nl span,.sidebar.collapsed .sb-search span,.sidebar.collapsed .sb-search kbd,.sidebar.collapsed .sb-new span,.sidebar.collapsed .sb-foot-id{display:none}.sidebar.collapsed .sb-brandrow{justify-content:center;padding:14px 0}.sidebar.collapsed .sb-tools{padding:14px 10px}.sidebar.collapsed .sb-search,.sidebar.collapsed .sb-new{justify-content:center;padding-left:0;padding-right:0}.sidebar.collapsed .sb-nav{padding:14px 10px}.sidebar.collapsed .nl{justify-content:center;padding:9px 0}.sidebar.collapsed .sb-group-label{height:1px;padding:0;margin:12px 8px;background:var(--line);overflow:hidden;color:transparent}.sidebar.collapsed .sb-foot{flex-direction:column;gap:8px;padding:14px 8px}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);z-index:1200;display:flex;align-items:flex-start;justify-content:center;padding:10vh 16px 16px;overflow-y:auto}.modal-panel{width:100%;max-height:85vh;display:flex;flex-direction:column;background:var(--plate)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;border-bottom:1px solid var(--rule)}.modal-title{margin:0;font-size:20px}.modal-close{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;color:var(--ink-muted);background:none;border:none;border-radius:var(--radius);cursor:pointer}.modal-close:hover{color:var(--ink);background:var(--plate-tint)}.modal-body{padding:24px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:16px 24px;border-top:1px solid var(--rule)}@media (max-width: 768px){.modal-backdrop{padding:5vh 12px 12px}.modal-head,.modal-body,.modal-foot{padding-left:16px;padding-right:16px}}.toast-stack{position:fixed;right:16px;bottom:16px;z-index:1400;display:flex;flex-direction:column;gap:8px;max-width:min(360px,calc(100vw - 32px))}.toast{display:flex;align-items:center;gap:10px;background:var(--plate);border:1px solid var(--rule-strong);border-radius:var(--radius);padding:11px 14px;font-size:13.5px;color:var(--ink);box-shadow:0 6px 20px #1c1a161f}.toast svg{flex-shrink:0}.toast-success svg{color:var(--st-ready-tx)}.toast-error svg{color:var(--danger)}.toast-info svg{color:var(--accent-deep)}
