:root{--ink:#243b3d;--accent:#126b63;--paper:#f4f7f4;--edge:#d5dfda;--sub:#647b77;--gold:#ae8148}body.factory-page{margin:0;background:var(--paper);color:var(--ink);font:14px 'Segoe UI',sans-serif}*{box-sizing:border-box}.factory-page button,.factory-page input,.factory-page select{font:inherit}.factory-page button{min-height:38px;cursor:pointer;border:1px solid var(--edge);border-radius:6px;background:#fff;color:var(--ink);padding:9px 12px}.factory-page button:hover{border-color:var(--accent);background:#edf5ef}.factory-page button:disabled{opacity:.4;cursor:not-allowed}.factory-page button.primary{background:var(--accent);color:white;border-color:var(--accent);width:auto}.factory-page button.danger{color:#b04144}.factory-page button:focus-visible,.factory-page a:focus-visible{outline:3px solid #d9a256;outline-offset:3px}.factory-header{height:82px;padding:10px 26px;background:white;border-bottom:1px solid var(--edge);display:flex;align-items:center;justify-content:space-between;gap:20px}.factory-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.factory-brand img{width:52px;height:52px;object-fit:contain}.factory-brand b{font-size:20px}.factory-brand small{display:block;color:var(--sub);font-size:12px;margin-top:3px}.factory-header>a:last-child{color:var(--accent);margin-right:58px;font-size:13px}.factory-layout{display:grid;grid-template-columns:265px minmax(360px,1fr) 310px;height:calc(100dvh - 82px)}.factory-side{background:white;padding:22px 17px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;border-right:1px solid var(--edge)}.factory-side.right{border-right:0;border-left:1px solid var(--edge)}.factory-side h2{font-size:17px;margin:0 0 14px}.factory-side h3{font-size:13px;margin:23px 0 10px}.factory-side p,.factory-side small{font-size:12px;line-height:1.55;color:var(--sub)}.factory-side label{display:grid;gap:6px;font-size:12px;margin:14px 0;color:var(--sub)}.factory-side input,.factory-side select{border:1px solid var(--edge);padding:9px 8px;border-radius:5px;width:100%;background:white;color:var(--ink);min-width:0}.factory-side input[type=checkbox]{width:auto}.factory-side input:focus,.factory-side select:focus{outline:2px solid var(--accent)}.factory-main{overflow:auto;min-width:0;padding:24px;scrollbar-gutter:stable}.kicker{color:var(--accent);letter-spacing:1.5px;font-size:10px;font-weight:700;text-transform:uppercase}.factory-main h1{font-size:27px;letter-spacing:-.6px;margin:8px 0}.factory-main .intro{color:var(--sub);font-size:13px;line-height:1.6;margin-bottom:18px}.toolbar{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin:14px 0}.pill{border:1px solid var(--edge);border-radius:40px;padding:5px 9px;font-size:11px;background:white;color:var(--sub)}.panel{background:white;border:1px solid var(--edge);border-radius:10px;padding:16px;margin:16px 0}.panel h2{font-size:15px;margin:0 0 12px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid var(--edge);border-radius:8px;background:white;margin:18px 0;overflow:hidden}.stat{padding:14px 12px;border-right:1px solid var(--edge)}.stat:last-child{border:0}.stat small{display:block;color:var(--sub);font-size:10px;letter-spacing:.4px}.stat strong{display:block;font-size:20px;margin-top:6px;font-variant-numeric:tabular-nums}.catalogue{display:grid;gap:8px;margin-top:12px}.catalogue button{width:100%;text-align:left;display:flex;align-items:center;gap:10px;padding:11px;min-height:74px}.catalogue button svg{width:55px;height:52px;flex-shrink:0}.catalogue strong{display:block;font-size:12px}.catalogue small{display:block;font-size:10px;margin-top:4px}.catalogue .swatch{width:20px;height:34px;flex-shrink:0;border-radius:4px;border:1px solid #0002}.hint{font-size:11px;color:var(--sub);line-height:1.6}.notice{font-size:12px;line-height:1.6;padding:11px 13px;border-radius:6px;background:#e7f1eb;color:#2a6153;margin:12px 0}.notice.error{background:#fbe9e5;color:#92393e}.legend{display:flex;gap:15px;font-size:10px;color:var(--sub);flex-wrap:wrap;margin:10px 0}.legend i{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:4px}.schematic{border:1px solid var(--edge);border-radius:10px;background-color:#fbfdfb;background-image:radial-gradient(#bccfc6 1px,transparent 1px);background-size:20px 20px;overflow:auto;position:relative}.schematic>svg{display:block;min-width:720px;width:100%}.schematic text{font-family:'Segoe UI',sans-serif}.schematic [data-node]{cursor:grab;touch-action:none}.schematic [data-node]:focus{outline:none;filter:drop-shadow(0 0 3px #126b63)}.schematic .flow-active{stroke-dasharray:12 9;animation:flow 1s linear infinite}@keyframes flow{to{stroke-dashoffset:-42}}.trend{width:100%;display:block;min-height:150px}.trend text{fill:var(--sub);font:10px 'Segoe UI',sans-serif}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.factory-page table{width:100%;border-collapse:collapse;font-size:11px}.factory-page th,.factory-page td{padding:9px 6px;text-align:left;border-bottom:1px solid var(--edge)}.factory-page th{color:var(--sub);font-weight:600}.journal{font-size:11px;line-height:1.7;max-height:190px;overflow:auto;padding-left:20px;color:var(--sub)}.mini-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.mini-actions button{font-size:11px}.equipment-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.equipment-grid button{padding:7px 5px;text-align:center;font-size:10px;min-height:100px}.equipment-grid svg{display:block;width:76px;height:60px;margin:auto auto 5px}.equipment-grid small{display:block;font-size:9px}.port-list{font-size:11px;line-height:1.8;padding:10px;background:#f2f6f3;border-radius:5px}.flow-table{overflow:auto}.scroll-tabs{display:flex;gap:6px;overflow:auto;margin:12px 0}.scroll-tabs button{flex:0 0 auto;font-size:11px}.scroll-tabs button[aria-pressed=true]{background:var(--accent);color:white}.step-list{list-style:none;margin:12px 0;padding:0}.step-list li{padding:11px 9px;border-left:2px solid var(--edge);font-size:12px;margin-left:4px}.step-list li.done{border-color:#248c68;color:#248c68}.step-list li.current{background:#edf5ee;border-color:var(--gold);font-weight:600}.factory-page details{font-size:12px;line-height:1.7;margin:15px 0}.factory-page summary{cursor:pointer;font-weight:600}.factory-page a{color:var(--accent)}.rocket-stage{min-height:470px;overflow:hidden}.rocket-stage svg{min-width:500px}.lab-source-links{font-size:11px;line-height:1.8;margin-top:22px}.lab-source-links a{display:block}.factory-side .full{width:100%}.factory-side .count-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--edge);font-size:12px}.empty{padding:50px 15px;text-align:center;color:var(--sub)}[hidden]{display:none!important}@media(max-width:1200px){.factory-layout{grid-template-columns:220px minmax(320px,1fr) 265px}.factory-main{padding:18px}.factory-side{padding:18px 12px}.stat strong{font-size:17px}}@media(max-width:920px){.factory-layout{grid-template-columns:210px minmax(0,1fr);height:auto;min-height:calc(100dvh - 82px)}.factory-side{max-height:75vh;position:sticky;top:0}.factory-side.right{grid-column:1/-1;position:static;max-height:460px;display:block;border-top:1px solid var(--edge)}.factory-main{max-height:85vh}}@media(max-width:600px){.factory-header{padding:10px 14px}.factory-header>a:last-child{font-size:11px}.factory-layout{display:block}.factory-side{position:static;max-height:340px;border-bottom:1px solid var(--edge)}.factory-main{max-height:none;padding:18px 12px}.factory-side.right{max-height:500px}.catalogue{grid-template-columns:1fr 1fr}.equipment-grid{grid-template-columns:repeat(3,1fr)}.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:0}.factory-main h1{font-size:24px}.catalogue button{min-width:0;padding:6px}.catalogue small{font-size:9px}.two{grid-template-columns:1fr}.factory-brand small{max-width:170px}}@media(prefers-reduced-motion:reduce){.schematic .flow-active{animation:none}}@media print{@page{size:A3 landscape;margin:10mm}.factory-header,.factory-side,.toolbar,.notice,.site-menu-button,.site-cookie-panel{display:none!important}.factory-layout{display:block;height:auto}.factory-main{overflow:visible;max-height:none}.schematic{overflow:visible;break-inside:avoid}.schematic>svg{min-width:0;width:100%}.stats,.panel{break-inside:avoid}.factory-page{background:white}}
