:root{--bg-0: oklch(.145 .012 256);--bg-1: oklch(.178 .014 256);--panel: oklch(.197 .015 256);--panel-2: oklch(.224 .017 256);--panel-3: oklch(.255 .018 256);--inset: oklch(.165 .013 256);--line: oklch(.3 .016 256);--line-2: oklch(.37 .02 256);--line-strong: oklch(.46 .025 256);--ink: oklch(.93 .008 256);--ink-2: oklch(.74 .014 256);--ink-3: oklch(.58 .016 256);--ink-4: oklch(.46 .016 256);--acc: oklch(.74 .125 195);--acc-dim: oklch(.62 .1 195);--acc-ink: oklch(.18 .04 220);--acc-glow: oklch(.74 .125 195 / .16);--ok: oklch(.76 .15 152);--warn: oklch(.8 .135 82);--alarm: oklch(.68 .17 25);--info: oklch(.72 .12 248);--viol: oklch(.7 .13 300);--ok-bg: oklch(.76 .15 152 / .14);--warn-bg: oklch(.8 .135 82 / .14);--alarm-bg: oklch(.68 .17 25 / .15);--info-bg: oklch(.72 .12 248 / .14);--viol-bg: oklch(.7 .13 300 / .14);--ph-capture: oklch(.72 .12 248);--ph-engineer: oklch(.74 .125 195);--ph-document: oklch(.7 .13 300);--ph-deliver: oklch(.8 .135 82);--ph-system: oklch(.66 .012 256);--sans: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "SF Mono", monospace;--grid-dot: oklch(1 0 0 / .05);--grid-line: oklch(1 0 0 / .045);--grid-line-major: oklch(1 0 0 / .09);--grid-size: 24px;--glow-1: oklch(.74 .125 195 / .05);--glow-2: oklch(.7 .13 300 / .04);--r: 6px;--r-sm: 4px;--r-lg: 10px;--h-top: 52px;--h-status: 26px;--w-rail: 248px;--density: 1;--shadow: 0 1px 0 oklch(1 0 0 / .03) inset, 0 8px 24px -12px oklch(0 0 0 / .6);--shadow-pop: 0 16px 50px -16px oklch(0 0 0 / .7), 0 0 0 1px var(--line)}[data-theme=light]{--bg-0: oklch(.955 .004 256);--bg-1: oklch(.985 .002 256);--panel: oklch(1 0 0);--panel-2: oklch(.975 .003 256);--panel-3: oklch(.935 .006 256);--inset: oklch(.965 .004 256);--line: oklch(.88 .006 256);--line-2: oklch(.8 .009 256);--line-strong: oklch(.7 .012 256);--ink: oklch(.26 .02 256);--ink-2: oklch(.4 .02 256);--ink-3: oklch(.52 .018 256);--ink-4: oklch(.64 .015 256);--acc: oklch(.58 .12 205);--acc-dim: oklch(.5 .11 205);--acc-ink: oklch(1 0 0);--acc-glow: oklch(.58 .12 205 / .13);--ok: oklch(.54 .14 152);--warn: oklch(.58 .13 70);--alarm: oklch(.54 .18 25);--info: oklch(.52 .14 248);--viol: oklch(.5 .16 300);--ok-bg: oklch(.54 .14 152 / .12);--warn-bg: oklch(.58 .13 70 / .13);--alarm-bg: oklch(.54 .18 25 / .11);--info-bg: oklch(.52 .14 248 / .11);--viol-bg: oklch(.5 .16 300 / .11);--ph-capture: oklch(.52 .14 248);--ph-engineer: oklch(.55 .12 205);--ph-document: oklch(.5 .16 300);--ph-deliver: oklch(.58 .13 70);--ph-system: oklch(.55 .01 256);--grid-dot: oklch(.45 .02 256 / .07);--grid-line: oklch(.45 .04 256 / .09);--grid-line-major: oklch(.45 .07 256 / .17);--glow-1: oklch(.58 .12 205 / .06);--glow-2: oklch(.5 .16 300 / .04);--shadow: 0 1px 2px oklch(.4 .02 256 / .06), 0 8px 24px -16px oklch(.4 .02 256 / .22);--shadow-pop: 0 18px 48px -18px oklch(.3 .02 256 / .28), 0 0 0 1px var(--line)}html,body{margin:0;height:100%;overflow:hidden}body{background:var(--bg-0);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;letter-spacing:.005em}#app{height:100%}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px;border:3px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--line-strong);background-clip:content-box}button{font:inherit;color:inherit;cursor:pointer}input,select,textarea{font:inherit}h1,h2,h3,h4,p{margin:0}a{color:var(--acc);text-decoration:none}.mono{font-family:var(--mono);font-feature-settings:"zero" 1}.cap{text-transform:uppercase;letter-spacing:.09em;font-size:10.5px;font-weight:600;color:var(--ink-3)}.muted{color:var(--ink-3)}.faint{color:var(--ink-4)}.shell{display:grid;grid-template-columns:var(--w-rail) 1fr;grid-template-rows:var(--h-top) 1fr var(--h-status);height:100%;min-height:0}.shell.railCollapsed{grid-template-columns:64px 1fr}.statusbar{grid-column:1 / -1;grid-row:3;display:flex;align-items:center;gap:0;padding:0 14px;font-family:var(--mono);font-size:10.5px;background:linear-gradient(180deg,oklch(.16 .013 256),var(--bg-1));border-top:1px solid var(--line);color:var(--ink-3);white-space:nowrap;overflow:hidden}[data-theme=light] .statusbar{background:linear-gradient(180deg,var(--panel-2),var(--bg-1))}.statusbar .seg{display:flex;align-items:center;gap:7px;padding:0 13px;height:100%;border-right:1px solid var(--line)}.statusbar .seg:first-child{padding-left:2px}.statusbar .seg.end{border-right:none;border-left:1px solid var(--line)}.statusbar .spacer{flex:1}.statusbar b{color:var(--ink-2);font-weight:600}.statusbar .k{color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em}.statusbar .live{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg);animation:pulse 2.4s ease-in-out infinite}.statusbar .acc{color:var(--acc)}@media (max-width: 1000px){.statusbar .seg.opt{display:none}}.topbar{grid-column:1 / -1;grid-row:1;display:flex;align-items:center;gap:14px;padding:0 16px 0 14px;background:linear-gradient(180deg,var(--bg-1),oklch(.16 .013 256));border-bottom:1px solid var(--line);z-index:30}.brand{display:flex;align-items:center;gap:10px;width:calc(var(--w-rail) - 14px);flex-shrink:0;min-width:0}.brandMark{width:30px;height:30px;border-radius:8px;flex-shrink:0;display:grid;place-items:center;background:linear-gradient(150deg,var(--acc),var(--acc-dim));box-shadow:0 0 0 1px #0cc3c366,0 4px 14px -4px var(--acc-glow)}.brandMark svg{display:block}.brandName{font-weight:700;font-size:15px;letter-spacing:-.01em}.brandName b{color:var(--acc);font-weight:700}.brandName span{color:var(--ink-3);font-weight:500}.topProject{display:flex;align-items:center;gap:10px;padding:5px 10px 5px 12px;margin-left:4px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);cursor:pointer;transition:border-color .14s,background .14s}.topProject:hover{border-color:var(--line-2);background:var(--panel-2)}[data-theme=light] .topbar{background:linear-gradient(180deg,var(--panel),var(--bg-1))}.topProject .pj{display:grid;line-height:1.2;min-width:0}.topProject .pj b{font-size:12.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topProject .pj small{font-size:10.5px;color:var(--ink-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.topProject .chev{color:var(--ink-3);font-size:11px}.topSpacer{flex:1}.busPill{display:flex;align-items:center;gap:9px;padding:6px 12px;border-radius:999px;background:var(--panel);border:1px solid var(--line);font-size:11.5px;color:var(--ink-2)}.busPill .busDot{width:7px;height:7px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg);animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}.busPill b{color:var(--ink);font-weight:600}.busPill{flex-shrink:0}@media (max-width: 1180px){.busPill .mono{display:none}}@media (max-width: 1040px){.busFlow,.brandName span{display:none}}@media (max-width: 900px){.topProject .pj small{display:none}}.busFlow{display:flex;gap:3px;align-items:center}.busFlow i{width:3px;height:11px;border-radius:2px;background:var(--acc);opacity:.25;animation:flow 1.4s linear infinite}.busFlow i:nth-child(2){animation-delay:.18s}.busFlow i:nth-child(3){animation-delay:.36s}.busFlow i:nth-child(4){animation-delay:.54s}@keyframes flow{0%,to{opacity:.2}50%{opacity:.9}}.iconBtn{width:34px;height:34px;display:grid;place-items:center;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);color:var(--ink-2);transition:.14s}.iconBtn:hover{border-color:var(--line-2);color:var(--ink);background:var(--panel-2)}.userChip{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:600;font-size:12px;color:var(--acc-ink);background:linear-gradient(150deg,var(--acc),var(--acc-dim))}.rail{grid-row:2;grid-column:1;background:var(--bg-1);border-right:1px solid var(--line);overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;padding:10px 10px 16px;min-height:0}.railSearch{display:flex;align-items:center;gap:8px;background:var(--inset);border:1px solid var(--line);border-radius:var(--r);padding:7px 10px;margin-bottom:4px;color:var(--ink-3)}.railSearch input{background:none;border:none;outline:none;color:var(--ink);width:100%;font-size:12.5px}.railSearch kbd{font-family:var(--mono);font-size:10px;color:var(--ink-3);border:1px solid var(--line-2);border-radius:4px;padding:1px 5px;background:var(--panel)}.railGroup{margin-top:12px}.railGroupHd{display:flex;align-items:center;gap:8px;padding:0 8px 6px}.railGroupHd .ph{width:6px;height:6px;border-radius:2px}.railGroupHd span{text-transform:uppercase;letter-spacing:.1em;font-size:9.5px;font-weight:700;color:var(--ink-4)}.railGroupHd .ct{margin-left:auto;font-family:var(--mono);font-size:9.5px;color:var(--ink-4)}.navItem{display:flex;align-items:center;gap:10px;width:100%;padding:7px 9px;border-radius:var(--r-sm);border:1px solid transparent;color:var(--ink-2);background:none;text-align:left;transition:background .12s,color .12s,border-color .12s;position:relative}.navItem:hover{background:var(--panel);color:var(--ink)}.navItem .ni-ic{width:18px;height:18px;flex-shrink:0;color:var(--ink-3);display:grid;place-items:center}.navItem .ni-label{font-size:12.5px;font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.navItem .ni-badge{font-family:var(--mono);font-size:9.5px;font-weight:600;padding:1px 6px;border-radius:999px;background:var(--panel-3);color:var(--ink-2)}.navItem .ni-badge.alarm{background:var(--alarm-bg);color:var(--alarm)}.navItem .ni-badge.warn{background:var(--warn-bg);color:var(--warn)}.navItem.active{background:linear-gradient(90deg,var(--acc-glow),transparent 70%),var(--panel);color:var(--ink);border-color:var(--line)}.navItem.active:before{content:"";position:absolute;left:-10px;top:6px;bottom:6px;width:3px;border-radius:0 3px 3px 0;background:var(--phc, var(--acc))}.navItem.active .ni-ic{color:var(--phc, var(--acc))}.railCollapsed .ni-label,.railCollapsed .ni-badge,.railCollapsed .railGroupHd span,.railCollapsed .railGroupHd .ct,.railCollapsed .railSearch input,.railCollapsed .railSearch kbd{display:none}.railCollapsed .navItem{justify-content:center;padding:8px}.railCollapsed .railSearch{justify-content:center}.railFoot{margin-top:auto;padding-top:12px}.engineCard{background:linear-gradient(180deg,var(--panel),var(--inset));border:1px solid var(--line);border-radius:var(--r);padding:10px}.engineCard .ec-hd{display:flex;align-items:center;gap:7px;margin-bottom:9px}.engineCard .ec-hd b{font-size:11px;font-weight:600}.engineCard .ec-hd .busDot{width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.engineCard .ec-row{display:flex;justify-content:space-between;align-items:center;font-size:11px;padding:2px 0;color:var(--ink-3)}.engineCard .ec-row b{color:var(--ink);font-family:var(--mono);font-weight:600}.railCollapsed .engineCard{display:none}.workspace{grid-row:2;grid-column:2;overflow:auto;min-height:0;position:relative;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(var(--grid-line-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4);background-position:-1px -1px}.shell.glow .workspace{background-image:radial-gradient(1100px 640px at 82% -10%,var(--glow-1),transparent 60%),radial-gradient(820px 560px at -6% 112%,var(--glow-2),transparent 55%),linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(var(--grid-line-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major) 1px,transparent 1px);background-size:100% 100%,100% 100%,var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4);background-position:0 0,0 0,-1px -1px,-1px -1px,-1px -1px,-1px -1px}.shell.noGrid .workspace{background-image:none}.shell.noGrid.glow .workspace{background-image:radial-gradient(1100px 640px at 82% -10%,var(--glow-1),transparent 60%),radial-gradient(820px 560px at -6% 112%,var(--glow-2),transparent 55%);background-size:100% 100%,100% 100%}.sheetMarks{grid-row:2;grid-column:2;position:relative;pointer-events:none;z-index:6}.shell.noGrid .sheetMarks{display:none}.sheetMarks i{position:absolute;width:13px;height:13px;color:var(--line-strong);opacity:.7}.sheetMarks i:before,.sheetMarks i:after{content:"";position:absolute;background:currentColor}.sheetMarks i:before{left:6px;top:0;width:1px;height:13px}.sheetMarks i:after{top:6px;left:0;height:1px;width:13px}.sheetMarks i.tl{left:12px;top:12px}.sheetMarks i.tr{right:24px;top:12px}.sheetMarks i.bl{left:12px;bottom:12px}.sheetMarks i.br{right:24px;bottom:12px}.work-inner{padding:22px 26px 60px;max-width:1480px;margin:0 auto}.pageHead{display:flex;align-items:flex-start;gap:18px;margin-bottom:18px}.pageHead .ph-ic{width:42px;height:42px;border-radius:var(--r);flex-shrink:0;display:grid;place-items:center;background:var(--panel-2);border:1px solid var(--line);color:var(--phc, var(--acc))}.pageHead h1{font-size:20px;font-weight:600;letter-spacing:-.015em}.pageHead .ph-lead{color:var(--ink-3);font-size:13px;margin-top:2px;max-width:70ch}.pageHead .ph-act{margin-left:auto;display:flex;gap:8px;align-items:center;flex-shrink:0}.crumb{display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--ink-4);margin-bottom:12px}.crumb b{color:var(--ink-2);font-weight:500}.crumb .sep{opacity:.5}.btn{display:inline-flex;align-items:center;gap:7px;justify-content:center;padding:7px 13px;border-radius:var(--r-sm);background:var(--panel-2);border:1px solid var(--line-2);color:var(--ink);font-size:12.5px;font-weight:500;transition:.13s;white-space:nowrap}.btn:hover{background:var(--panel-3);border-color:var(--line-strong)}.btn.sm{padding:5px 10px;font-size:11.5px}.btn.ghost{background:transparent;border-color:transparent;color:var(--ink-2)}.btn.ghost:hover{background:var(--panel);color:var(--ink)}.btn.primary{background:linear-gradient(180deg,var(--acc),var(--acc-dim));border-color:transparent;color:var(--acc-ink);font-weight:600;box-shadow:0 4px 14px -6px var(--acc-glow)}.btn.primary:hover{filter:brightness(1.08)}.btn.danger{color:var(--alarm);border-color:#ef666166;background:var(--alarm-bg)}.btn svg{display:block}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow)}.card-hd{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}.card-hd h3{font-size:13px;font-weight:600}.card-hd .sub{font-size:11px;color:var(--ink-3)}.card-hd .hd-act{margin-left:auto;display:flex;gap:6px;align-items:center}.card-bd{padding:14px}.chip{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:500;background:var(--panel-3);color:var(--ink-2);border:1px solid var(--line)}.chip .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.chip.ok{color:var(--ok);background:var(--ok-bg);border-color:#5bcc804d}.chip.warn{color:var(--warn);background:var(--warn-bg);border-color:#e9b44b4d}.chip.alarm{color:var(--alarm);background:var(--alarm-bg);border-color:#ef66614d}.chip.info{color:var(--info);background:var(--info-bg);border-color:#63aaec4d}.chip.viol{color:var(--viol);background:var(--viol-bg);border-color:#ab8be34d}.chip.acc{color:var(--acc);background:var(--acc-glow);border-color:#0cc3c34d}.tag{font-family:var(--mono);font-size:11px;font-weight:500;padding:1px 6px;border-radius:var(--r-sm);background:var(--inset);border:1px solid var(--line);color:var(--ink-2)}.bar{height:6px;border-radius:999px;background:var(--inset);overflow:hidden}.bar>i{display:block;height:100%;border-radius:999px;background:var(--acc)}.dtable{width:100%;border-collapse:collapse;font-size:12px}.dtable th{text-align:left;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);padding:8px 12px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel-2);z-index:1;white-space:nowrap}.dtable td{padding:9px 12px;border-bottom:1px solid var(--line);vertical-align:middle}.dtable tbody tr{transition:background .1s}.dtable tbody tr:hover{background:var(--panel-2)}.dtable tbody tr.sel{background:var(--acc-glow)}.dtable tbody tr:last-child td{border-bottom:none}.tableWrap{overflow:auto}.field{display:grid;gap:5px}.field>label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;font-weight:600;color:var(--ink-3)}.input,.select{width:100%;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 10px;color:var(--ink);outline:none;transition:.13s;font-size:12.5px}.input:focus,.select:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-glow);background:var(--bg-0)}.input::placeholder{color:var(--ink-4)}select.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%237c8aa3' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}.kpi-spark{display:flex;align-items:flex-end;gap:2px;height:26px}.kpi-spark i{flex:1;background:var(--acc);border-radius:1px;opacity:.55;min-height:2px}.segbar{display:inline-flex;background:var(--inset);border:1px solid var(--line);border-radius:var(--r-sm);padding:2px;gap:2px}.segbar button{padding:5px 11px;border-radius:3px;background:none;border:none;color:var(--ink-3);font-size:11.5px;font-weight:500;transition:.12s}.segbar button.on{background:var(--panel-3);color:var(--ink);box-shadow:0 1px 3px #0000004d}.empty{display:grid;place-items:center;gap:8px;padding:40px;color:var(--ink-4);text-align:center}.scroll-y{overflow-y:auto}.grid{display:grid;gap:16px}.grid>*,.row>*{min-width:0}.work-inner{min-width:0}.row{display:flex;gap:12px}.between{display:flex;align-items:center;justify-content:space-between;gap:12px}.wrap{flex-wrap:wrap}.center{align-items:center}.sdot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.sdot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--ok-bg)}.sdot.warn{background:var(--warn);box-shadow:0 0 0 3px var(--warn-bg)}.sdot.alarm{background:var(--alarm);box-shadow:0 0 0 3px var(--alarm-bg)}.sdot.info{background:var(--info);box-shadow:0 0 0 3px var(--info-bg)}.sdot.off{background:var(--ink-4)}.shell{font-size:calc(13px * var(--density))}.split{display:grid;gap:16px;align-items:start}.split.l{grid-template-columns:340px minmax(0,1fr)}.split.r{grid-template-columns:minmax(0,1fr) 320px}.split.lr{grid-template-columns:280px minmax(0,1fr) 300px}.split>*{min-width:0}.card{min-width:0}.listCard{display:flex;flex-direction:column;max-height:calc(100vh - 220px)}.listScroll{overflow-y:auto;overflow-x:hidden}.listRow>*{min-width:0}@media (max-width: 1120px){.split.l,.split.r,.split.lr{grid-template-columns:1fr}.listCard{max-height:460px}}.listRow{display:grid;gap:2px;padding:10px 13px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .1s;border-left:2px solid transparent}.listRow:hover{background:var(--panel-2)}.listRow.sel{background:var(--acc-glow);border-left-color:var(--acc)}.listRow .lr-top{display:flex;align-items:center;gap:8px}.listRow .lr-tag{font-family:var(--mono);font-size:12px;font-weight:600}.listRow .lr-sub{font-size:11px;color:var(--ink-3)}.listRow .lr-meta{margin-left:auto;display:flex;gap:6px;align-items:center}.statStrip{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.statStrip .st{background:var(--panel);padding:11px 14px}.statStrip .st .cap{font-size:9.5px}.statStrip .st .v{font-family:var(--mono);font-size:19px;font-weight:600;margin-top:3px;letter-spacing:-.01em}.statStrip .st .d{font-size:10.5px;color:var(--ink-4);margin-top:1px}.pill{display:inline-flex;align-items:center;gap:5px;font-family:var(--mono);font-size:10px;font-weight:600;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.pill.high,.pill.alarm,.pill.fail,.pill.open{background:var(--alarm-bg);color:var(--alarm)}.pill.medium,.pill.warn,.pill.draft,.pill.checking,.pill.answered{background:var(--warn-bg);color:var(--warn)}.pill.low,.pill.ok,.pill.pass,.pill.done,.pill.closed,.pill.current{background:var(--ok-bg);color:var(--ok)}.pill.info,.pill.none{background:var(--panel-3);color:var(--ink-3)}.pill.acc{background:var(--acc-glow);color:var(--acc)}.props{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.props .prop{background:var(--panel);padding:9px 12px}.props .prop.full{grid-column:1 / -1}.props .prop .k{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-4)}.props .prop .v{font-size:12.5px;margin-top:2px}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs button{padding:9px 13px;background:none;border:none;border-bottom:2px solid transparent;color:var(--ink-3);font-size:12.5px;font-weight:500;margin-bottom:-1px;transition:.12s}.tabs button:hover{color:var(--ink)}.tabs button.on{color:var(--ink);border-bottom-color:var(--acc)}.topo{position:relative;background:var(--inset);border:1px solid var(--line);border-radius:var(--r);padding:18px;overflow:auto}.topoNode{background:var(--panel-2);border:1px solid var(--line-2);border-radius:var(--r);padding:9px 11px;min-width:130px}.topoNode.sup{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc-glow)}.topoNode.off{opacity:.55;border-style:dashed}.docPage{background:#fbfbf9;color:#1a1d23;width:820px;max-width:100%;margin:0 auto;padding:64px 72px;font-family:Cambria,Georgia,serif;font-size:14px;line-height:1.6;box-shadow:0 24px 60px -20px #0009;border-radius:2px}.docPage h2{font-family:Arial,sans-serif;color:#163f79;font-size:19px;margin:26px 0 10px}.docPage h3{font-family:Arial,sans-serif;color:#1e3a5f;font-size:15px;margin:16px 0 7px;font-weight:600}.docPage p{margin:0 0 11px}.docPage .docBullet{padding-left:20px;position:relative}.docPage .docBullet:before{content:"•";position:absolute;left:4px;color:#163f79}.docPage .placeholder{color:#b1581a;font-style:italic}.iochip{font-family:var(--mono);font-size:10px;font-weight:600;padding:1px 6px;border-radius:4px}.iochip.AI{background:var(--info-bg);color:var(--info)}.iochip.AO{background:var(--acc-glow);color:var(--acc)}.iochip.DI{background:var(--viol-bg);color:var(--viol)}.iochip.DO{background:var(--warn-bg);color:var(--warn)}.iochip.BAC,.iochip.SW{background:var(--ok-bg);color:var(--ok)}.gantt{background:var(--inset);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.ganttHd{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line)}.ganttWeeks{display:grid}.ganttWeeks .wk{border-left:1px solid var(--line);font-size:9px;color:var(--ink-4);padding:4px 3px;text-align:center;font-family:var(--mono)}.ganttRow{display:grid;grid-template-columns:220px 1fr;border-bottom:1px solid var(--line);align-items:center}.ganttRow:hover{background:var(--panel-2)}.ganttRow .gname{padding:9px 13px;font-size:12px;display:flex;align-items:center;gap:8px}.ganttTrack{position:relative;height:38px}.ganttBar{position:absolute;top:9px;height:20px;border-radius:4px;display:flex;align-items:center;overflow:hidden}.ganttBar .fill{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.3}.ganttBar .lbl{position:relative;font-size:9.5px;padding:0 7px;font-family:var(--mono);font-weight:600;color:var(--bg-0);z-index:1}.ganttGrid{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;pointer-events:none}.ganttGrid i{border-left:1px solid var(--line)}.steps{display:flex;gap:0;margin-bottom:18px}.step{display:flex;align-items:center;gap:10px;flex:1}.step .num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;background:var(--inset);border:1px solid var(--line);color:var(--ink-3);flex-shrink:0}.step.done .num{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}.step.on .num{border-color:var(--acc);color:var(--acc);box-shadow:0 0 0 3px var(--acc-glow)}.step .stxt{font-size:12px;font-weight:500}.step.pending .stxt{color:var(--ink-4)}.step .line{flex:1;height:1px;background:var(--line);margin:0 4px}.step.done .line{background:var(--acc-dim)}.dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--r);padding:32px;text-align:center;color:var(--ink-3);background:var(--inset);transition:.15s}.dropzone:hover{border-color:var(--acc);color:var(--ink-2);background:var(--bg-0)}.heatcell{aspect-ratio:1;border-radius:2px}.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11px;color:var(--ink-3)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}.chk{width:16px;height:16px;border-radius:4px;border:1px solid var(--line-strong);background:var(--inset);display:grid;place-items:center;cursor:pointer;flex-shrink:0}.chk.on{background:var(--acc);border-color:var(--acc);color:var(--acc-ink)}.tog{width:34px;height:19px;border-radius:999px;background:var(--inset);border:1px solid var(--line-2);position:relative;cursor:pointer;transition:.14s;flex-shrink:0}.tog.on{background:var(--acc);border-color:var(--acc)}.tog i{position:absolute;top:1.5px;left:1.5px;width:14px;height:14px;border-radius:50%;background:var(--ink);transition:.14s}.tog.on i{left:16px;background:var(--acc-ink)}.flowDots{display:flex;align-items:center;gap:4px;color:var(--ink-4)}.flowDots i{width:4px;height:4px;border-radius:50%;background:var(--line-strong)}.schematicCanvas{padding:18px 16px;overflow-x:auto;overflow-y:hidden;background:linear-gradient(var(--grid-dot) 1px,transparent 1px),linear-gradient(90deg,var(--grid-dot) 1px,transparent 1px);background-size:16px 16px,16px 16px}.schematicCanvas svg{min-width:520px}.schematicCanvas.hero{min-height:340px;display:flex;align-items:center;overflow-x:auto}.schematicCanvas.hero svg{min-width:0;width:100%;max-height:480px}.flowline{animation:flowdash 1.1s linear infinite}@keyframes flowdash{to{stroke-dashoffset:-18}}@media (prefers-reduced-motion: reduce){.flowline{animation:none}}.plantStrip{display:flex;gap:8px;overflow-x:auto;padding-bottom:10px;margin-bottom:16px}.plantPick{flex:0 0 auto;width:150px;text-align:left;display:grid;gap:3px;padding:9px 11px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);color:var(--ink-2);transition:.12s}.plantPick:hover{border-color:var(--line-2);background:var(--panel-2)}.plantPick.sel{border-color:var(--acc);background:var(--acc-glow);color:var(--ink);box-shadow:0 0 0 1px var(--acc-glow)}.plantPick .pp-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.schematicMain{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}@media (max-width: 1100px){.schematicMain{grid-template-columns:1fr}}.valveCard{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:12px;min-width:0}.valveCard .vSpec{display:grid;grid-template-columns:1fr 1fr;gap:3px 12px}.valveCard .vSpec>div{display:flex;justify-content:space-between;align-items:baseline;gap:6px;font-size:11px;padding:1px 0}.valveCard .vSpec .k{color:var(--ink-4);text-transform:uppercase;letter-spacing:.04em;font-size:9.5px}.valveCard .vSpec b{font-family:var(--mono);font-weight:600;font-size:11px;text-align:right}.recGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}@media (max-width: 980px){.recGrid{grid-template-columns:1fr}}.riser{overflow:auto;background:linear-gradient(var(--grid-dot) 1px,transparent 1px),linear-gradient(90deg,var(--grid-dot) 1px,transparent 1px);background-size:18px 18px,18px 18px}.floorRow{display:grid;grid-template-columns:138px 1fr;border-bottom:1px dashed var(--line)}.floorRow:last-child{border-bottom:none}.floorTab{padding:14px 12px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:3px;justify-content:center;background:var(--panel-2);position:sticky;left:0;z-index:2}.floorTab b{font-size:12.5px;font-weight:600}.floorTab span{font-size:10px;color:var(--ink-3)}.floorLane{padding:14px 16px;display:flex;gap:14px;align-items:stretch;flex-wrap:wrap;position:relative}.boardNode{width:190px;background:var(--panel);border:1px solid var(--line-2);border-radius:var(--r);overflow:hidden;transition:.13s;align-self:flex-start}.boardNode:hover,.boardNode.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc-glow)}.boardNode .bn-hd{display:flex;align-items:center;gap:7px;padding:8px 10px;border-bottom:1px solid var(--line);background:var(--panel-2);cursor:pointer}.boardNode .bn-bd{padding:8px 10px;display:grid;gap:5px}.boardNode .bn-plant{display:flex;align-items:center;gap:6px;font-size:11px;padding:3px 6px;border-radius:4px;background:var(--inset);cursor:pointer}.boardNode .bn-plant:hover{background:var(--panel-3)}.roomBracket{align-self:flex-start;border:1px dashed var(--line-2);border-radius:var(--r);padding:14px 8px 8px;display:flex;gap:12px;align-items:flex-start;position:relative}.roomBracket>.rb-lbl{position:absolute;top:-8px;left:10px;background:var(--panel-2);padding:0 6px;font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:600}:root{--blue-900: #0d2a64;--blue-800: #133c78;--blue-700: #1e5b9d;--blue-400: #315d9a;--blue-300: #3268b8;--blue-200: #1e4db7;--ink-900: #001f4d;--ink-600: #12315f;--ink-400: #263858;--ink-100: #5b687d;--bg: #dfe3eb;--surface-0: #ffffff;--surface-2: #f7f7f7;--surface-3: #f2f2f2;--surface-4: #eef4ff;--surface-5: #dbe8fb;--surface-6: #dbe6f8;--border-mid: #9daabd;--border-soft: #b8c2cf;--border-table: #dde3ee;--border-row: #c9c9c9;--chrome-gradient: linear-gradient(180deg, #1e5b9d, #133c78 52%, #0d2a64);--chrome-gradient-panel: linear-gradient(180deg, #1d5a9e, #123f80 58%, #0b2a67);--chrome-gradient-sidebar:linear-gradient(180deg, #1c5a9e, #123f81 58%, #0d2b69);--button-gradient: linear-gradient(#ffffff, #e8e8e8);--font-ui: "Segoe UI", Tahoma, Arial, sans-serif;--font-doc: Cambria, Georgia, "Times New Roman", serif;--font-mono: Consolas, "Courier New", monospace;--h-header: 44px;--h-menubar: 30px;--w-sidebar: 230px;--h-input: 24px;--h-button: 24px;--shadow-doc: 0 18px 42px #1922322e;color:#182235;background:#f4f6f9;font-family:Segoe UI,Tahoma,Arial,sans-serif;font-synthesis:none}body{margin:0;background:linear-gradient(180deg,#eaeff7e6,#f4f6f9cc 220px),#f4f6f9}button,input,select,textarea{font:inherit}button{min-height:34px;border:1px solid #c5cfdd;background:#fff;color:#162238;border-radius:6px;padding:var(--space-2) 11px;cursor:pointer;font-size:13px;font-weight:600;transition:border-color .16s ease,background .16s ease,transform .16s ease}button:hover{border-color:#3367b2;background:#f8fbff}button:active{transform:translateY(1px)}input,select,textarea{width:100%;border:1px solid #cbd4e2;border-radius:6px;padding:var(--space-2) 10px;background:#fbfcfe;color:#172235;font-size:13px}input:focus,select:focus,textarea:focus{border-color:#3268b8;outline:3px solid rgba(50,104,184,.14)}label{display:grid;gap:6px;color:#48576f;font-size:12px;font-weight:650}h1,h2,h3,p{margin-top:0}.appShell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{position:sticky;top:0;height:100vh;background:#111a2b;color:#ecf2fb;padding:var(--space-4);display:flex;flex-direction:column;gap:18px;border-right:1px solid rgba(255,255,255,.08)}.brandBlock{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;padding-bottom:15px;border-bottom:1px solid rgba(255,255,255,.14)}.brandMark{width:42px;height:42px;border-radius:7px;display:grid;place-items:center;background:#f5f8ff;color:#11203a;font-size:14px;font-weight:800;letter-spacing:0}.brandTitle{font-weight:750;font-size:17px;line-height:1.2}.brandSub{color:#9fadc2;margin-top:3px;font-size:12px}.navList{display:grid;gap:6px}.navSectionTitle{margin-top:6px;padding:var(--space-2) 4px 3px;color:#8fa2bd;font-size:11px;font-weight:800;text-transform:uppercase}.navList button{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:9px;min-height:38px;background:transparent;color:#dce6f5;border-color:transparent;text-align:left;font-weight:650}.navList button span{width:24px;height:24px;display:grid;place-items:center;border-radius:5px;color:#9fadc2;background:#ffffff0f;font-size:12px}.navList button.active{background:#edf4ff;color:#12203a}.navList button.active span{background:#244f90;color:#fff}.fdReviewList{display:flex;flex-direction:column;gap:6px;margin-top:var(--space-3);overflow-y:auto;max-height:calc(100vh - 260px)}.fdReviewListHeader{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#6b7a99;padding-bottom:6px;border-bottom:1px solid #e8edf5}.linkBtn{background:none;border:none;color:#2a5fbc;cursor:pointer;font-size:12px;padding:0;text-decoration:underline}.fdReviewItem{display:flex;align-items:flex-start;gap:10px;padding:var(--space-2) 10px;background:#f8fafc;border:1px solid #e4eaf4;border-radius:6px;cursor:pointer}.fdReviewItem:hover{background:#f0f4fb;border-color:#c8d8f0}.fdReviewItem input[type=checkbox]{margin-top:3px;flex-shrink:0;width:15px;height:15px}.fdReviewItemBody{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.fdReviewItemBody strong{font-size:13px;color:#1a2a4a}.fdReviewItemType{font-size:12px;color:#5a6a8a}.fdReviewItemLib{font-size:11px;background:#e8f0fe;color:#2a52a0;padding:1px 5px;border-radius:3px;width:fit-content}.fdReviewItemUnmapped{font-size:11px;color:#c05000}.fdReviewSection{padding:5px 0;border-bottom:1px solid #f0f0f0}.fdReviewSnippet{align-items:flex-start}.fdReviewSnippetText{font-size:12px;color:#444;margin:4px 0 0;line-height:1.5;max-height:100px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}.libraryHealth{margin-top:auto;display:grid;gap:var(--space-2)}.libraryHealth div{display:grid;grid-template-columns:70px 1fr;align-items:baseline;gap:var(--space-2);padding:9px 10px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#ffffff0a}.libraryHealth strong{font-size:21px;line-height:1}.libraryHealth span{color:#aab8cc;font-size:12px}.workspace{min-width:0;padding:18px;display:grid;gap:14px;align-content:start}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.topbar h1{margin-bottom:3px;font-size:clamp(24px,2.4vw,34px);line-height:1.05;letter-spacing:0}.topbar p{color:#5b687d;margin-bottom:0;font-size:14px;max-width:780px}.topActions{display:flex;gap:8px;align-items:center;min-width:330px}.statusRail{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:10px}.statusCard{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label value" "detail value";gap:2px 10px;align-items:center;border:1px solid #dbe2ec;background:#ffffffd1;border-radius:8px;padding:var(--space-3);box-shadow:0 7px 22px #141f330d}.statusCard span{grid-area:label;font-size:12px;color:#59677c;font-weight:700}.statusCard strong{grid-area:value;font-size:28px;line-height:1}.statusCard small{grid-area:detail;color:#7b8798;font-size:12px}.statusCard.ok{border-color:#b8dfc8}.statusCard.warn{border-color:#edd2a8}.grid{display:grid;gap:14px}.grid.two{grid-template-columns:minmax(320px,.85fr) 1.15fr}.reviewGrid{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr)}.plantsGrid{grid-template-columns:250px minmax(520px,1fr);align-items:start}.previewGrid{grid-template-columns:minmax(560px,1fr) 340px}.editorGrid{grid-template-columns:minmax(680px,1fr) 360px;align-items:start}.systemsGrid{grid-template-columns:360px minmax(560px,1fr);align-items:start}.libraryGrid{grid-template-columns:1fr}.panel{min-width:0;background:#ffffffe6;border:1px solid #dce3ed;border-radius:8px;padding:15px;box-shadow:0 10px 28px #141f330f;display:grid;gap:var(--space-3)}.panel h2{font-size:17px;line-height:1.2;margin-bottom:0}.panel h3{font-size:13px;margin:var(--space-2) 0 0;color:#263858;text-transform:uppercase;letter-spacing:.04em}.panelLead{color:#66748a;font-size:13px;line-height:1.4;margin-bottom:0}.buttonRow{display:flex;gap:var(--space-2);flex-wrap:wrap}.hiddenFile{display:none}.workflowStep{display:grid;gap:var(--space-1);text-align:left;border-color:#dfe6f1;background:#fbfcff}.workflowStep.ready{border-color:#bdd8c6;background:#f4fbf6}.workflowStep strong{font-size:14px}.workflowStep span{color:#65748c;font-size:12px}.metric{border-bottom:1px solid #edf0f5;padding-bottom:10px;display:grid;gap:var(--space-1)}.metric span{color:#66758d;font-size:12px}.metric strong{font-size:14px;overflow-wrap:anywhere}.bucketSelector{display:flex;gap:5px;flex-wrap:wrap}.bucketBtn{min-height:28px;padding:var(--space-1) 10px;font-size:12px;font-weight:600;border-radius:5px;border:1px solid #c5cfdd;background:#f4f7fc;color:#3a5070;cursor:pointer;transition:background .14s,border-color .14s}.bucketBtn:hover{border-color:#3367b2;background:#eaf2ff}.bucketBtn.active{background:#1e4db7;border-color:#1e4db7;color:#fff}.docList{display:flex;flex-direction:column;gap:var(--space-1)}.docListRow{display:flex;align-items:center;gap:var(--space-2);padding:6px 8px;border:1px solid #dbe4ef;border-radius:6px;background:#f8fafd;cursor:pointer;transition:background .13s,border-color .13s;-webkit-user-select:none;user-select:none}.docListRow:hover{background:#eef4fc;border-color:#b0c6e0}.docListRow.active{background:#e6f0ff;border-color:#4878cc}.docListName{flex:1;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#182235}.docListStatus{font-size:11px;color:#7a8fa8;flex-shrink:0}.docListStatus.reviewed{color:#267a45;font-weight:600}.docDeleteBtn{min-height:22px;padding:0 7px;font-size:14px;font-weight:700;line-height:1;border-radius:4px;border:1px solid transparent;background:transparent;color:#8a9ab5;flex-shrink:0;cursor:pointer}.docDeleteBtn:hover:not(:disabled){background:#fee8e8;border-color:#e05252;color:#c0392b}.docTypeBadge{display:inline-block;padding:2px 7px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;flex-shrink:0;background:#e0e8f4;color:#3a5070}.docTypeBadge--worksheet{background:#dff4e8;color:#1e6840}.docTypeBadge--plans{background:#fff3d6;color:#7a5500}.docTypeBadge--specification{background:#e8e4ff;color:#4b2fa0}.docTypeBadge--quote{background:#fde9d4;color:#8a3a00}.docTypeBadge--general{background:#e4eaf3;color:#3a5070}.docBucketRow{display:flex;align-items:center;gap:10px;font-size:13px;color:#3a5070}.docBucketRow select{width:auto;flex:1}.scanBox{min-height:330px;resize:vertical;line-height:1.45}.uploadZone{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;border:1px dashed #b8c6d9;background:#f8fbff;border-radius:7px;padding:10px}.inlineStatus{align-self:center;background:#eef4fc;border:1px solid #d3e0f0;border-radius:6px;color:#365170;font-size:12px;line-height:1.35;padding:8px 10px}.tableWrap{overflow:auto;max-height:630px;border:1px solid #e3e8f0;border-radius:7px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;border-bottom:1px solid #e8edf4;padding:8px;vertical-align:top}th{position:sticky;top:0;background:#f5f7fb;color:#42526d;z-index:1;font-weight:750}td small{display:block;color:#697891;margin-top:2px;overflow-wrap:anywhere}.badge{display:inline-flex;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:750;background:#e9edf4;color:#40506a}.badge.high{background:#d9f2e6;color:#17643d}.badge.medium{background:#fff0cf;color:#8a5a00}.badge.low{background:#fde1e1;color:#9d2222}.listPanel{max-height:calc(100vh - 178px);overflow:hidden}.plantList,.libraryList,.assemblyList,.snippetList,.warningList{display:grid;gap:7px;overflow:auto}.plantList,.libraryList{max-height:620px}.plantItem,.libraryList button{display:grid;gap:3px;text-align:left;width:100%}.plantItem span,.libraryList span,.assembly span,.systemCard span,.editorMeta span{color:#697891;font-size:11px;overflow-wrap:anywhere}.plantItem.selected{background:#e9f1fb;border-color:#2f64b7}.editorMeta{display:flex;gap:7px;flex-wrap:wrap}.editorMeta span{background:#edf2f8;border:1px solid #dce4ef;border-radius:999px;padding:var(--space-1) var(--space-2);font-weight:700}.optionGrid,.paramGrid{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:9px}.paramGrid small{color:#7a879a;font-weight:500}.pointChips{display:flex;flex-wrap:wrap;gap:6px}.pointChips span{background:#f0f4f9;border:1px solid #dce5f0;border-radius:999px;padding:var(--space-1) var(--space-2);font-size:11px;font-weight:650}.snippetList article{border:1px solid #e1e7f0;border-radius:7px;padding:10px;background:#fbfcff}.snippetList p{margin:8px 0 0;color:#273750;line-height:1.45;font-size:13px}.snippetList small{display:block;margin-top:8px;color:#9d5b19}.snippetBlock{border:1px solid #e1e7f0;border-radius:7px;padding:10px;background:#fbfcff}.snippetBlock.overridden{border-color:#a7c5ec;background:#f0f6ff}.snippetMeta{display:flex;gap:var(--space-2);align-items:center;font-size:12px;margin-bottom:6px}.snippetMeta strong{color:#273750}.snippetMeta span{color:#7a8eaa;font-size:11px}.overrideBadge{color:#1f5fa6;background:#def;border-radius:4px;padding:1px 6px;font-size:11px;font-style:normal}.snippetOverrideArea{width:100%;resize:vertical;font-size:13px;line-height:1.45;border:1px solid #d0d8e8;border-radius:5px;padding:6px var(--space-2);color:#273750;background:#fff;box-sizing:border-box}.clearOverride{margin-top:6px;font-size:11px;color:#c0392b;background:none;border:1px solid #e4b3ae;border-radius:4px;padding:2px var(--space-2);cursor:pointer}.manualMapRow{margin-top:4px}.evidenceToggle{display:block;margin-top:3px;font-size:11px;color:#1f5fa6;background:#e8f0fb;border:1px solid #b8d0f0;border-radius:10px;padding:2px 8px;cursor:pointer;white-space:nowrap}.evidenceToggle:hover,.evidenceToggle.active{background:#ccdff8;border-color:#7aabea}.evidenceRow td{background:#f5f9ff;border-top:none;padding:0 12px 10px}.evidencePanel{padding:10px 0 4px}.evidencePanelTitle{font-size:12px;color:#4a6080;margin-bottom:8px}.evidenceItem{border:1px solid #d0e0f4;border-radius:6px;padding:8px 10px;margin-bottom:6px;background:#fff}.evidenceItemHeader{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}.evidenceDocName{font-weight:600;font-size:12px;color:#273750}.evidenceRawTag{font-size:11px;color:#5a7090;font-style:italic}.evidenceCount{font-size:11px;background:#e8f0fb;color:#1f5fa6;border-radius:8px;padding:1px 7px;font-weight:600}.evidenceContext{margin:4px 0 0;padding:5px 8px;border-left:3px solid #b8d0f0;font-size:12px;color:#3a5070;line-height:1.4;background:#f0f6ff;border-radius:0 4px 4px 0}.bulkActionBar{display:flex;align-items:center;gap:var(--space-2);margin:0 10px 4px;padding:7px 10px;background:#1e4db7;border-radius:6px;color:#fff}.bulkCount{font-weight:700;font-size:13px;margin-right:4px;flex-shrink:0}.bulkActionBar button{min-height:26px;padding:3px 10px;font-size:12px;font-weight:600;border-radius:4px;border:1px solid rgba(255,255,255,.35);background:#ffffff26;color:#fff;cursor:pointer}.bulkActionBar button:hover{background:#ffffff47;border-color:#fff9}.bulkClearBtn{margin-left:auto!important;background:transparent!important;border-color:transparent!important;opacity:.75}.bulkClearBtn:hover{opacity:1!important}.deleteBtn{background:#c8323280!important;border-color:#ff787866!important}.deleteBtn:hover{background:#c83232bf!important}.checkCol{width:32px;text-align:center;padding:0 4px!important}.checkCol input[type=checkbox]{width:auto;cursor:pointer}tr.rowSelected td{background:#ebf1ff}.dismissBtn{margin-left:4px;color:#a83228;border-color:#e4b3ae;background:none}.dismissBtn:hover{background:#fdf0ee}.reassignBtn{margin-left:4px;color:#3b5ea6;border-color:#b5c8e8;background:none}.reassignBtn:hover{background:#eef3fc;border-color:#3367b2}.candidateHint{display:block;margin-top:3px;color:#7a8fae;font-size:11px;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.assembly,.systemCard{border:1px solid #e1e7f0;border-radius:5px;padding:6px 9px;background:#fbfcff}.assembly{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);align-items:start}.assembly div,.systemCard{display:grid;gap:2px}.assemblyPanelHeader{display:flex;align-items:baseline;gap:var(--space-2);padding:10px 10px 0}.assemblyPanelHeader h2{margin:0}.assemblyCount{font-size:11px;color:#889;font-weight:400}.assemblyToolbar{display:flex;gap:6px;padding:6px 10px;align-items:center;border-bottom:1px solid #e8edf5}.assemblySearch{flex:1;font-size:12px;padding:4px 8px;border:1px solid #c8d2e2;border-radius:4px;min-width:0}.assemblySort{font-size:11px;padding:4px 5px;border:1px solid #c8d2e2;border-radius:4px;background:#fff;flex-shrink:0}.assemblyAddBtn{font-size:12px;font-weight:600;padding:4px 10px;border-radius:4px;background:linear-gradient(#2e6fcb,#1a5ab8);color:#fff;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}.assemblyAddBtn:hover{background:linear-gradient(#3479d6,#2060c0)}.assemblyNewForm{margin:0 10px 6px;padding:10px;background:#f0f4ff;border:1px dashed #92a8d8;border-radius:6px;display:flex;flex-direction:column;gap:var(--space-1)}.assemblyNewForm input{font-size:12px;padding:var(--space-1) 7px;border:1px solid #c0ccdf;border-radius:4px;width:100%}.assemblyPanel .assemblyList{max-height:540px;overflow-y:auto;padding:6px 10px 10px;gap:5px}.assembly strong{font-size:12px;font-weight:700;color:#1e2d4d;line-height:1.3}.assemblyPlantCount{font-size:10px;font-weight:600;color:#3268b8;letter-spacing:.02em}.assemblyPlantList{font-size:10px!important;color:#8899b8!important;line-height:1.4;word-break:break-word}.assembly button{font-size:11px;padding:var(--space-1) 10px;margin-top:2px;white-space:nowrap}.groupEditorList{display:grid;gap:var(--space-3)}.systemListPanel{align-content:start}.groupSelectList .plantItem{width:100%;text-align:left}.systemWorkspace{display:grid;gap:14px;min-width:0}.systemAddBar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2);align-items:end;margin:10px}.systemAddBar>button:last-child{grid-column:1 / -1}.groupCard{display:grid;gap:11px;border:1px solid #dfe7f1;background:#fbfcff;border-radius:8px;padding:var(--space-3)}.groupHeader{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:9px;align-items:end}.groupStatusRow{display:flex;gap:6px;align-items:center}.groupMethodGrid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:8px}.methodOption{display:grid;gap:var(--space-1);min-height:74px;padding:9px 10px;text-align:left;border:1px solid #d7e0ec;border-radius:7px;background:#fff;color:#263858;cursor:pointer}.methodOption strong{font-size:12px}.methodOption span{font-size:11px;line-height:1.35;color:#64748b}.methodOption.active{border-color:#2563eb;background:#eff6ff}.groupFormGrid{display:grid;grid-template-columns:repeat(2,minmax(210px,1fr));gap:9px}.groupNarrative{min-height:110px;resize:vertical}.groupPlantHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;border-bottom:1px solid #d8e1ed}.groupPlantHeader strong{font-size:13px;color:#263858}.groupPlantHeader span{font-size:11px;color:#64748b}.groupPlantTools{display:grid;grid-template-columns:minmax(170px,1fr) 74px minmax(190px,1fr) 74px;gap:var(--space-2);align-items:end}.selectedPlantOrder{display:grid;gap:6px}.groupPlantRow{display:grid;grid-template-columns:minmax(190px,1fr) auto auto auto;gap:7px;align-items:center;min-height:34px;border:1px solid #d8e1ed;background:#fff;padding:6px var(--space-2);color:#263858;font-size:12px}.groupPlantRow small{display:block;color:#718096;font-size:10px;margin-top:2px}.confirmBtn{padding:5px 10px;background:#16a34a;color:#fff;border:none;border-radius:5px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap}.confirmBtn:hover{background:#15803d}.membershipGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:7px}.checkRow{display:grid;grid-template-columns:18px 1fr;gap:7px;align-items:center;min-height:32px;border:1px solid #e4eaf3;border-radius:6px;background:#fff;padding:6px var(--space-2);color:#263858;font-size:12px}.checkRow input{width:16px;height:16px;padding:0}.checkRow small{display:block;color:#718096;font-size:10px;margin-top:2px}.sectionHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.previewText{white-space:pre-wrap;margin:0;background:#111827;color:#eef6ff;border-radius:7px;padding:14px;line-height:1.45;max-height:calc(100vh - 236px);overflow:auto;font-size:12px}.previewText.compact{max-height:300px;background:#f6f8fb;color:#233044;border:1px solid #dce3ed}.blockEditor{display:grid;gap:9px}.fdHeading{margin:var(--space-2) 0 0;color:#162238}.fdHeading.level1{border-top:1px solid #dfe7f1;padding-top:14px;font-size:18px}.fdHeading.level2{font-size:15px;color:#243a5c}.fdBlock{display:grid;gap:7px;border:1px solid #dfe6f1;border-radius:8px;background:#fbfcff;padding:10px}.fdBlock textarea{min-height:82px;resize:vertical;line-height:1.45}.blockMeta{display:flex;justify-content:space-between;gap:10px;align-items:center;color:#6a7890;font-size:11px}.blockMeta button{min-height:28px;padding:5px 8px;font-size:11px}.fdWarning{margin:0}.fdTable{max-height:320px}.topologyCanvas{display:grid;gap:var(--space-3);padding:var(--space-3);border:1px solid #d9e2ef;background:#f7faff}.topologyLane{display:grid;gap:5px;padding:var(--space-3);border:1px solid #cbd8ea;background:#fff}.topologyLane strong{color:#173865}.topologyLane span{color:#65758d;font-size:12px}.documentPreviewPanel{background:#d8d6cf;align-content:start}.documentPreviewPanel>h2,.documentPreviewPanel>.panelLead{color:#152743}.documentPage{width:min(100%,820px);min-height:1050px;margin:0 auto;padding:58px 64px;background:#fff;border:1px solid #c7cdd8;box-shadow:0 18px 42px #1922322e;color:#1f2937;font-family:Cambria,Georgia,Times New Roman,serif}.documentPage h2{margin:22px 0 9px;color:#163f79;font-family:Arial,sans-serif;font-size:18px;line-height:1.25}.documentPage p{margin:0 0 9px;font-size:12.5px;line-height:1.55}.documentPage .docBullet:before{content:"•";position:absolute;left:3px;color:#163f79}.documentPage h3{margin:14px 0 6px;color:#1e3a5f;font-family:Arial,sans-serif;font-size:14px;font-weight:600}.documentPage .docTableRow{font-family:Courier New,monospace;font-size:11px;background:#f7f8fa;border-left:3px solid #cbd5e1;padding:2px 8px;margin:1px 0}@media print{.appShell{display:block}.v6Header,.menuBar,.sidebar,.topbar,.statusRail,.documentPreviewPanel>h2,.documentPreviewPanel>.panelLead,.panel:not(.documentPreviewPanel){display:none!important}.documentPreviewPanel{box-shadow:none;padding:0}.documentPage{box-shadow:none;width:100%;padding:20px 40px}}.formatBar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto auto;gap:8px;align-items:end}.outputEditor{min-height:calc(100vh - 320px);resize:vertical;line-height:1.45;font-family:Segoe UI,Arial,sans-serif}.warning{border-left:3px solid #d08b21;background:#fff8eb;padding:9px 10px;color:#734600;border-radius:5px;font-size:12px;line-height:1.35}.warningBanner{border-left:4px solid #d08b21;background:#fef3c7;padding:10px 12px;color:#7c2d12;border-radius:5px;font-size:12px;line-height:1.4;margin-bottom:12px}.optionField,.optionFieldWithWarning{display:grid;gap:5px}.optionFieldWithWarning{border:1px solid #fed7aa;background:#fef3c7;padding:8px;border-radius:5px}.optionField label,.optionFieldWithWarning label{display:grid;grid-template-columns:1fr auto;gap:6px;align-items:center;font-weight:500;font-size:12px;color:#263858}.optInBadge{background:#dbeafe;color:#0c4a6e;padding:2px 6px;border-radius:3px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.conflictNotice{color:#d08b21;font-size:11px;margin-top:3px;padding:4px 6px;background:#fff8eb;border-radius:3px;border-left:2px solid #d08b21}.statusOk{border-left:3px solid #2f8f53;background:#edf8f1;padding:9px 10px;color:#17643d;border-radius:5px;font-size:12px;line-height:1.35}.okBox{background:#e8f7ee;color:#17643d;border-radius:7px;padding:12px}@media (max-width: 1180px){.appShell{grid-template-columns:1fr}.sidebar{position:static;height:auto}.navList{grid-template-columns:repeat(3,minmax(0,1fr))}.libraryHealth{grid-template-columns:repeat(3,1fr)}.plantsGrid,.reviewGrid,.systemsGrid,.editorGrid,.previewGrid,.grid.two{grid-template-columns:1fr}.listPanel{max-height:none}.systemAddBar{grid-template-columns:minmax(0,1fr) auto}}@media (max-width: 720px){.workspace{padding:12px}.topbar,.topActions{display:grid;min-width:0;width:100%}.statusRail,.navList,.libraryHealth,.optionGrid,.paramGrid,.groupHeader,.groupMethodGrid,.groupFormGrid,.systemAddBar,.groupPlantTools,.formatBar,.uploadZone{grid-template-columns:1fr}.brandBlock{grid-template-columns:42px 1fr}.groupPlantRow{grid-template-columns:minmax(0,1fr)}}:root{color:#001f4d;background:#d2cec8;font-family:Segoe UI,Tahoma,Arial,sans-serif}body{background:#dfe3eb;font-size:12px}button{min-height:24px;border-radius:0;border:1px solid #9eabbc;background:linear-gradient(#fff,#e8e8e8);color:#001f4d;padding:4px 10px;font-size:12px;font-weight:650;box-shadow:none}button:hover{background:#eef4ff;border-color:#315d9a}input,select,textarea{border-radius:0;border:1px solid #9eb0c8;background:#fff;padding:4px 7px;min-height:24px;font-size:12px;color:#001f4d}label{gap:3px;color:#12315f;font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.04em}.appShell{min-height:100vh;display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-rows:44px 30px 1fr;background:#dfe3eb}.v6Header{grid-column:1 / -1;display:grid;grid-template-columns:auto minmax(280px,1fr) minmax(360px,auto);align-items:center;gap:14px;min-height:44px;padding:5px var(--space-2);background:linear-gradient(180deg,#1e5b9d,#133c78 52%,#0d2a64);color:#fff;border-bottom:1px solid #082151}.v6Brand{display:flex;align-items:center;gap:var(--space-2);white-space:nowrap}.v6BrandStack{display:flex;flex-direction:column;gap:2px}.v6BrandName{font-size:15px;font-weight:800;line-height:1}.v6VersionRow{display:flex;gap:4px;align-items:center}.v6VersionChip{font-size:10px;font-weight:600;padding:1px 6px;border-radius:8px;background:#ffffff26;color:#d4e8ff;border:1px solid rgba(255,255,255,.2);letter-spacing:.03em;cursor:default;white-space:nowrap}.v6VersionChip.backend{background:#64ff8c2e;color:#b6ffca;border-color:#64ff8c40}.v6VersionChip.offline{background:#ff64642e;color:#ffb4b4;border-color:#ff646440}.v6ProjectTitle{display:grid;gap:1px;min-width:0}.v6ProjectTitle strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v6ProjectTitle span{color:#e8f1ff;font-size:11px}.v6HeaderActions{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:5px;align-items:center}.v6HeaderActions select{min-height:28px}.headerTitleInput{min-height:28px;background:#ffffff1f;border:1px solid rgba(255,255,255,.25);border-radius:4px;color:#fff;padding:0 8px;font-size:13px;width:100%}.headerTitleInput::placeholder{color:#ffffff73}.headerTitleInput:focus{outline:none;background:#fff3;border-color:#ffffff80}.menuBar{grid-column:1 / -1;display:flex;gap:0;align-items:center;min-height:30px;padding:0 8px;background:#eee;border-top:1px solid #fafafa;border-bottom:1px solid #b9b9b9}.menuBar button{border-color:transparent;background:transparent;min-height:26px;padding:4px 12px;font-weight:500;color:#111}.menuBar button.active{background:#d8d8d8}.menuDropdownPanel{position:absolute;top:100%;left:0;z-index:200;background:#f5f5f5;border:1px solid #b9b9b9;box-shadow:0 4px 12px #00000026;min-width:180px;display:flex;flex-direction:column;padding:4px 0}.menuDropdownPanel button{display:block;width:100%;text-align:left;padding:6px 16px;border:none;background:transparent;font-size:13px;color:#111;cursor:pointer;border-radius:0}.menuDropdownPanel button:hover{background:#e0e0e0}.menuDropdownPanel button.active{background:#d0d8e8;font-weight:600}.releaseOverlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:start center;padding:72px 16px 16px;background:#0010267a}.releasePanel{width:min(760px,100%);max-height:calc(100vh - 96px);overflow:auto;background:#f7f9fc;border:1px solid #5878a4;box-shadow:0 16px 38px #00000047;color:#001f4d}.releaseHeader{position:sticky;top:0;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 14px;background:linear-gradient(180deg,#1e5b9d,#123f81);color:#fff;border-bottom:1px solid #082151}.releaseHeader h2{margin:0 0 4px;font-size:16px;line-height:1.2}.releaseHeader p{margin:0;color:#e8f1ff;font-size:12px}.releaseBody{display:grid;gap:10px;padding:12px}.releaseEntry{background:#fff;border:1px solid #c5cfdf;padding:10px 12px}.releaseEntryTitle{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#315d9a;font-size:11px;font-weight:750;text-transform:uppercase}.releaseEntryTitle strong{color:#001f4d;font-size:13px}.releaseEntry h3{margin:6px 0 8px;font-size:14px}.releaseEntry ul{margin:0;padding-left:18px;line-height:1.45}.sidebar{grid-row:3;position:sticky;top:0;height:calc(100vh - 74px);overflow:auto;background:#f2f2f2;color:#000;padding:0;gap:0;border-right:1px solid #8f9aad}.brandBlock,.pipelineBox h3,.libraryHealth h3{min-height:28px;background:linear-gradient(180deg,#1c5a9e,#123f81 58%,#0d2b69);color:#fff;border-bottom:1px solid #071f54}.brandBlock{display:grid;grid-template-columns:1fr auto;padding:6px 9px;align-items:center}.brandTitle{font-size:13px;line-height:1;font-weight:800}.collapseButton{min-width:24px;min-height:20px;padding:0 5px;background:#294f87;color:#fff;border-color:#7f9fc8}.appShell.sidebarCollapsed{grid-template-columns:36px minmax(0,1fr)}.appShell.sidebarCollapsed .sidebar>*:not(.brandBlock){display:none}.appShell.sidebarCollapsed .brandBlock{grid-template-columns:1fr;padding:6px 4px}.appShell.sidebarCollapsed .brandTitle{display:none}.backendChip{display:flex;align-items:center;gap:5px;padding:0 8px;min-height:26px;font-size:11px;font-weight:600;border-radius:4px;border:1px solid transparent;cursor:pointer;letter-spacing:.02em}.backendChipDot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.backendChip--online{background:#e6f4ea;color:#1a6630;border-color:#a8d5b2}.backendChip--online .backendChipDot{background:#27a84a}.backendChip--offline{background:#fdecea;color:#922b21;border-color:#f5b7b1}.backendChip--offline .backendChipDot{background:#e53e3e}.backendChip--checking{background:#fef9e7;color:#7d6608;border-color:#f9e79f}.backendChip--checking .backendChipDot{background:#f0b429}.navList{gap:0}.navSectionTitle{display:none}.navList button{display:grid;grid-template-columns:23px 1fr;min-height:32px;padding:6px 8px;gap:5px;background:#f2f2f2;border:0;border-bottom:1px solid #e0e0e0;border-left:4px solid transparent;color:#000;font-size:13px;font-weight:500}.navList button span{width:18px;height:18px;border-radius:0;background:transparent;color:#001f4d;font-size:11px}.navList button.active{background:#dbe8fb;color:#001f4d;border-left-color:#153f80;font-weight:750}.navList button.active span{background:transparent;color:#001f4d}.pipelineBox,.libraryHealth{margin-top:0;display:grid;gap:0;border-top:1px solid #9ca9ba}.pipelineBox h3,.libraryHealth h3{margin:0;padding:7px 10px;font-size:12px;line-height:1}.pipelineBox strong,.pipelineBox p,.libraryHealth small{padding:7px 10px;margin:0;font-size:12px;color:#1b2b43}.libraryHealth div{grid-template-columns:60px 1fr;padding:6px 10px;border:0;border-bottom:1px solid #d0d0d0;border-radius:0;background:#f7f7f7}.libraryHealth strong{font-size:16px;color:#001f4d}.libraryHealth span{color:#333;font-size:11px}.workspace{grid-row:3;padding:10px 14px;gap:10px;background:#dfe3eb}.topbar{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:stretch;background:#fff;border:1px solid #9aaabd;padding:0}.topbar>div:first-child{display:grid;gap:2px}.topbar h1{margin:0;padding:8px 10px 2px;color:#001f4d;font-size:18px;line-height:1.1}.topbar p{margin:0;padding:0 10px 8px;color:#263858;font-size:12px}.topActions{min-width:300px;padding:7px;align-items:end}.statusRail{grid-template-columns:repeat(4,minmax(130px,1fr));gap:6px}.statusCard{border-radius:0;border:1px solid #aab8ca;background:#eee;box-shadow:none;padding:6px 8px}.statusCard strong{font-size:18px}.statusCard span,.statusCard small{font-size:11px}.grid{gap:10px}.grid.two{grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr)}.reviewGrid{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr)}.systemsGrid{grid-template-columns:280px minmax(0,1fr)}.plantsGrid{grid-template-columns:300px minmax(660px,1fr)}.plantEditorTabs{display:flex;gap:2px;border-bottom:2px solid #d4dbe8;margin:10px 0 0;flex-wrap:wrap}.plantEditorTab{background:#edf0f5;border:1px solid #d4dbe8;border-bottom:none;border-radius:4px 4px 0 0;padding:6px 14px;font-size:13px;font-weight:500;color:#555;cursor:pointer;display:flex;align-items:center;gap:5px}.plantEditorTab:hover{background:#dce3ef;color:#1a2a4a}.plantEditorTab.active{background:#fff;border-color:#d4dbe8;border-bottom-color:#fff;color:#1a2a4a;font-weight:600;margin-bottom:-2px;z-index:1}.tabBadge{background:#c5d0e0;border-radius:10px;font-size:10px;font-weight:700;padding:1px 6px;color:#3a4f70;min-width:18px;text-align:center}.plantEditorTab.active .tabBadge{background:#1a4fbc;color:#fff}.plantEditorTabPanel{padding:14px 0 0}.tabHint{font-size:12px;color:#6b7a99;margin:0 0 12px;padding:8px 10px;background:#f0f3f9;border-left:3px solid #a8b8d8;border-radius:0 4px 4px 0}.tabHint strong{color:#2a4a8a}.tabEmpty{color:#999;font-style:italic;margin:16px 0}.noPlantSelected{padding:40px 24px;color:#888;text-align:center}.libraryList.compact button.addMasterBtn{padding:5px 8px;font-size:12px}.editorGrid{grid-template-columns:minmax(760px,1fr) 320px}.panel,.groupCard,.fdBlock,.snippetList article,.assembly,.systemCard,.topologyLane{border-radius:0;box-shadow:none}.panel{background:#f7f7f7;border:1px solid #9daabd;padding:0;gap:0}.panel>h2{margin:0;padding:8px 10px;color:#fff;background:linear-gradient(180deg,#1d5a9e,#123f80 58%,#0b2a67);font-size:13px;line-height:1;text-transform:uppercase}.panel>h3,.panel>p,.panel>label,.panel>.buttonRow,.panel>.inlineStatus,.panel>.metric,.panel>.workflowStep,.panel>.warningList,.panel>.optionGrid,.panel>.paramGrid,.panel>.pointChips,.panel>.snippetList,.panel>.groupEditorList,.panel>.groupMethodGrid,.panel>.groupFormGrid,.panel>.groupPlantHeader,.panel>.groupPlantTools,.panel>.selectedPlantOrder,.panel>.systemAddBar,.panel>.tableWrap,.panel>.bucketSelector,.panel>.docList,.panel>.docBucketRow,.panel>.uploadZone,.panel>.scanBox,.panel>.plantList,.panel>.libraryList,.panel>.assemblyList,.panel>.blockEditor,.panel>.formatBar,.panel>.documentPage,.panel>.topologyCanvas,.panel>.okBox,.panel>.warning,.panel>.membershipGrid,.panel>.sectionHeader,.panel>.editorMeta{margin:10px}.panelLead{color:#263858;font-size:12px}.sectionHeader{padding:0}.sectionHeader h2{margin:0 0 5px;color:#001f4d;font-size:16px}.tableWrap{border-radius:0;max-height:610px}th,td{padding:5px 7px}th{background:#e3e7ed;color:#001f4d}.plantList,.libraryList{max-height:calc(100vh - 230px)}.plantItem,.libraryList button{min-height:56px;border:0;border-bottom:1px solid #c9c9c9;background:#fff;padding:8px 10px}.plantItem.selected{background:#dbe6f8;border-color:#c9c9c9}.groupSelectList .plantItem{display:block;min-height:54px}.groupSelectList .plantItem span{display:block;min-width:0}.groupSelectList .plantItem strong,.groupSelectList .plantItem small{display:block}.editorMeta span,.pointChips span,.badge{border-radius:0}.optionGrid,.paramGrid{gap:7px}.groupCard{margin:0;background:#fff;border:1px solid #b8c2cf;padding:10px}.groupCard.suggested{border-left:3px solid #f59e0b;background:#fffdf7}.groupHeader{grid-template-columns:minmax(260px,1fr) auto auto}.checkRow{border-radius:0;min-height:28px}.fdHeading.level1{margin:0;padding:8px 10px;border-top:0;background:#e4e8ee;font-size:13px;text-transform:uppercase}.fdHeading.level2,.fdHeading.level3{margin:8px 10px 0}.fdBlock{margin:0 10px 8px;padding:8px}.fdBlock textarea{min-height:70px}.formatBar{grid-template-columns:minmax(220px,1fr) auto auto}.documentPreviewPanel{background:#bdb9b3}.previewPageLayout{display:flex;flex-direction:column;height:100%;background:#e8e4dd;overflow:hidden}.previewTopBar{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#1e3a5f;border-bottom:2px solid #0d2240;flex-shrink:0}.prevTopBtn{padding:5px 13px;font-size:12px;background:#ffffff1f;color:#c8d8f0;border:1px solid rgba(255,255,255,.18);border-radius:4px;cursor:pointer;transition:background .15s}.prevTopBtn:hover{background:#ffffff38}.prevTopBtnPrimary{padding:5px 14px;font-size:12px;background:#e63946;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background .15s}.prevTopBtnPrimary:hover{background:#c1121f}.prevTopSpacer{flex:1}.prevTopMeta{display:flex;gap:16px;font-size:11px;color:#9ab0d0}.prevTopMetaItem strong{color:#c8d8f0}.previewMainArea{display:grid;grid-template-columns:minmax(540px,1fr) 300px;flex:1;overflow:hidden}.previewDocPanel{display:flex;flex-direction:column;overflow-y:auto;padding:0 0 40px;background:#d8d5cf}.previewDocLabel{background:#2b3a6e;color:#aabde0;font-size:10px;font-weight:700;letter-spacing:.07em;padding:5px 18px;flex-shrink:0}.previewControlsPanel{background:#f2f0ed;border-left:1px solid #ccc;overflow-y:auto;display:flex;flex-direction:column;gap:0}.prevCtrlTitle{background:#2b3a6e;color:#c8d8f0;font-size:10.5px;font-weight:700;letter-spacing:.07em;padding:7px 14px;flex-shrink:0}.prevCtrlGroup{padding:10px 14px 6px;border-bottom:1px solid #ddd}.prevCtrlLabel{font-size:9.5px;font-weight:700;letter-spacing:.08em;color:#6a7a96;margin-bottom:5px;text-transform:uppercase}.prevCtrlSelect{width:100%;font-size:12px;padding:5px 8px;border:1px solid #c8cdd8;border-radius:4px;background:#fff;color:#1a2a46;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.prevSecList{display:flex;flex-direction:column;gap:3px;margin-bottom:8px}.prevSecRow{display:flex;align-items:center;flex-wrap:wrap;gap:4px;background:#fff;border:1px solid #dce1ec;border-radius:4px;padding:4px 6px;font-size:11.5px}.prevSecReorder{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.prevSecArrow{display:block;padding:0;width:16px;height:12px;font-size:7px;line-height:12px;text-align:center;background:none;border:none;color:#7a8faa;cursor:pointer;border-radius:2px}.prevSecArrow:hover:not(:disabled){background:#e8f0ff;color:#2b5ba8}.prevSecArrow:disabled{opacity:.25;cursor:default}.prevSecNum{width:16px;text-align:right;font-size:11px;color:#89b;font-weight:600;flex-shrink:0}.prevSecTitle{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1a2a46;font-size:11.5px}.prevSecTitleInput{flex:1;min-width:0;border:1px solid transparent;background:transparent;color:#1a2a46;font-size:11.5px;padding:2px 3px}.prevSecTitleInput:focus{background:#f8fbff;border-color:#9bb8df;outline:none}.prevSecEdit{height:18px;padding:0 6px;font-size:10px;line-height:16px;border:1px solid #cdd8e7;background:#f8fafc;color:#31547c;border-radius:3px;cursor:pointer;flex-shrink:0}.prevSecEdit:hover{background:#e8f0ff}.prevSecBodyEditor{flex:0 0 100%;min-height:92px;resize:vertical;border:1px solid #ccd8e6;border-radius:4px;padding:7px 8px;font-size:11.5px;line-height:1.45;color:#1a2a46;background:#fbfdff}.prevSecRemove{width:18px;height:18px;padding:0;font-size:10px;line-height:18px;text-align:center;background:none;border:none;color:#aaa;cursor:pointer;border-radius:3px;flex-shrink:0}.prevSecRemove:hover{background:#fee;color:#c00}.prevSecEmpty{font-size:11px;color:#aaa;text-align:center;padding:8px 0;font-style:italic}.prevAddSecBtn{width:100%;padding:5px 10px;font-size:11.5px;background:#f0f4ff;color:#2b5ba8;border:1px dashed #a0b8e0;border-radius:4px;cursor:pointer;text-align:center;transition:background .15s}.prevAddSecBtn:hover{background:#dce8ff;border-style:solid}.prevSecPicker{border:1px solid #b8c8e8;border-radius:5px;background:#fff;overflow:hidden;display:flex;flex-direction:column}.prevSecPickerTitle{padding:5px 10px;background:#2b3a6e;color:#c8d8f0;font-size:10px;font-weight:700;letter-spacing:.06em}.prevSecPickerOpt{padding:6px 10px;text-align:left;font-size:11.5px;background:none;border:none;border-bottom:1px solid #eef0f6;color:#1a2a46;cursor:pointer;transition:background .12s}.prevSecPickerOpt:last-of-type{border-bottom:none}.prevSecPickerOpt:hover:not(:disabled){background:#e8f0ff}.prevSecPickerOpt.prevSecPickerUsed{color:#9aab9a;cursor:default;font-style:italic}.prevSecPickerOpt:disabled{cursor:default}.prevSecPickerCancel{padding:5px 10px;font-size:11px;background:#f5f5f5;border:none;border-top:1px solid #ddd;color:#888;cursor:pointer;text-align:center}.prevSecPickerCancel:hover{background:#eee}.prevCustomSecInput{border:1px solid #b8c8e8;border-radius:5px;background:#fff;padding:8px;display:flex;flex-direction:column;gap:6px}.prevCustomSecField{width:100%;padding:5px 8px;font-size:12px;border:1px solid #c8d0e0;border-radius:4px;box-sizing:border-box}.prevCustomSecField:focus{outline:none;border-color:#4a6fa5;box-shadow:0 0 0 2px #d0e0ff}.prevCustomSecActions{display:flex;gap:6px}.prevCustomSecAdd{flex:1;padding:4px;font-size:11.5px;background:#2b5ba8;color:#fff;border:none;border-radius:4px;cursor:pointer}.prevCustomSecAdd:hover:not(:disabled){background:#1e4080}.prevCustomSecAdd:disabled{background:#c0c8d8;cursor:default}.prevCustomSecCancel{padding:4px 8px;font-size:11.5px;background:none;border:1px solid #ddd;border-radius:4px;color:#888;cursor:pointer}.prevResetSections{margin:4px 14px 10px;padding:4px 10px;font-size:10.5px;background:none;border:1px solid #ddd;border-radius:4px;color:#89a;cursor:pointer;align-self:flex-start}.prevResetSections:hover{color:#c05000;border-color:#f0b090}@media print{.previewTopBar,.previewControlsPanel{display:none!important}.previewMainArea{display:block}.previewDocPanel{overflow:visible}}.trainingGrid{grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr)}.trainingTextArea.source{min-height:230px}.trainingTextArea.expected{min-height:150px;font-family:Consolas,Courier New,monospace}.saveTrainingBtn{background:#1a5c2e;border-color:#1a5c2e;color:#fff;margin-left:auto}.saveTrainingBtn:hover:not(:disabled){background:#236b38;border-color:#236b38}.trainingSourceBanner{display:flex;align-items:center;gap:8px;margin:10px;padding:7px 10px;background:#f0f5ff;border:1px solid #c4d5f0;border-radius:6px;font-size:13px}.trainingSourceHint{color:#7a8fa8;font-size:12px}.trainingHint{margin:10px;padding:8px 10px;border:1px solid #b8c8e6;background:#eef4ff;color:#263858;font-size:12px;line-height:1.5}.trainingHint code{font-family:Consolas,Courier New,monospace;background:#dce8fa;border-radius:3px;padding:1px 4px;font-size:11px}.scoreBoard{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:8px;margin:10px}.scoreBox{border:1px solid #b8c2cf;background:#fff;padding:10px}.scoreBox strong{display:block;color:#001f4d;font-size:20px}.scoreBox span{color:#263858;font-size:12px}.trainingDiff{margin:10px;border:1px solid #c3c9d1;background:#fff}.trainingDiff h3{margin:0;padding:7px 9px;background:#e3e7ed;color:#001f4d;font-size:12px;text-transform:uppercase}.trainingDiff h3 span{display:inline-block;margin-left:6px;padding:1px 5px;background:#dbe6f8;color:#0f3f86}.diffList{max-height:180px;overflow:auto}.diffItem{display:grid;gap:2px;padding:7px 9px;border-top:1px solid #d4d8dd}.diffItem strong{color:#001f4d}.diffItem span{color:#38445a;font-size:12px}.diffItem.missing{border-left:4px solid #b00020}.diffItem.wrong{border-left:4px solid #a75f00}.diffItem.extra{border-left:4px solid #6b7280}.diffItem.ok{border-left:4px solid #0b7a3b}@media (max-width: 1180px){.appShell{grid-template-columns:1fr;grid-template-rows:auto auto auto 1fr}.v6Header,.menuBar,.sidebar,.workspace{grid-column:1;grid-row:auto}.sidebar{height:auto;position:static}}.pointsTable{width:100%;border-collapse:collapse;font-size:12px}.pointsTable th,.pointsTable td{border:1px solid #dde3ee;padding:5px 7px}.pointsTable th{background:#f0f3f8;font-weight:600}.pointsTable input[type=checkbox]{width:auto}.pointsTable input[type=text]{border:none;background:transparent;padding:2px 4px;font-size:12px;min-height:unset;width:100%}.bulkReId{margin-top:12px;border-top:1px solid #e0e6f0;padding-top:10px}.bulkReIdInput{width:100%;font-size:12px;min-height:unset;padding:3px 6px}.topologyCard{border:1px solid #dde3ee;border-radius:6px;padding:10px 12px;margin-bottom:10px}.topologyCard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.topologyCard-meta{font-size:11px;color:#666}.hardwareTabs{display:flex;gap:0;border-bottom:1px solid #9daabd;margin-bottom:10px;background:#e8ecf2}.hardwareTab{padding:6px 18px;border:1px solid transparent;border-bottom:none;background:transparent;font-size:12px;font-weight:600;color:#3a5070;cursor:pointer;border-radius:0;margin-bottom:-1px}.hardwareTab:hover{background:#dde6f5}.hardwareTab.stale{color:#9a5500}.hardwareTab.stale:not(.active){border-bottom-color:#f0c040}.hardwareTab.active{background:#f7f7f7;color:#001f4d;font-weight:750;border-color:#9daabd;border-bottom-color:#f7f7f7}.hardwareLinkSummary{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 10px}.hardwareLinkSummary span{border:1px solid #b8c5d8;background:#f3f6fa;color:#243b61;padding:4px 8px;font-size:11px;font-weight:700}.hwCardGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;margin-bottom:8px}.hwCard{border-radius:0;padding:10px;display:flex;flex-direction:column;gap:6px}.hwCardHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.hwCardHeader strong{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#888}.deleteBtn{padding:2px 6px;background:transparent;border:1px solid #e0c0c0;border-radius:0;color:#c0392b;font-size:11px;cursor:pointer}.deleteBtn:hover{background:#fef2f2}.serverCard{background:#eff6ff;border:1px solid #bfdbfe}.networkDeviceCard{background:#f0fdf4;border:1px solid #bbf7d0}.controllerCard{background:#fefce8;border:1px solid #fde68a}.panelCard{background:#faf5ff;border:1px solid #e9d5ff}.panelCardFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px;padding-top:7px;border-top:1px dashed #d8c8f0}.panelCardMeta{font-size:10px;color:#8870b8;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.panelLayoutBtn{font-size:11px;font-weight:600;padding:4px 10px;border-radius:4px;background:linear-gradient(#7e57c2,#5e35b1);color:#fff;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}.panelLayoutBtn:hover{background:linear-gradient(#9575cd,#7e57c2)}.diagramStaleBanner{display:flex;align-items:center;gap:12px;padding:7px 12px;background:#fff8e1;border:1px solid #f0c040;border-bottom:none;font-size:12px;color:#7a4f00}.diagramStaleBanner button{padding:3px 10px;font-size:11px;border-radius:0;border:1px solid #c09020;background:#fff3c0;color:#5a3800;cursor:pointer}.diagramStaleBanner button:hover{background:#ffe080}.diagramTabPanel{display:flex;flex-direction:column;gap:0}.diagramToolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:6px 10px;background:#e8ecf2;border:1px solid #9daabd;border-bottom:none;border-radius:0}.diagramToolbar button{padding:4px 10px;font-size:12px;border-radius:0}.diagramOptions,.diagramAddMenu{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-left:8px;border-left:1px solid #bcc7d5}.diagramOptions label{display:inline-flex;align-items:center;gap:4px;min-height:24px;margin:0;color:#263858;font-size:11px;font-weight:650;white-space:nowrap}.diagramOptions input{width:auto;min-height:0;margin:0}.diagramAddMenu button{padding:3px 8px;font-size:11px}.diagramStatus{font-size:12px;color:#555;margin-left:8px}.diagramFrame{width:100%;height:680px;border:1px solid #9daabd;border-radius:0;background:#fff}.ioSummary{display:flex;gap:6px;flex-wrap:wrap;align-items:center;padding:4px 0;font-size:11px;font-weight:700;color:#334}.ioSummary span{background:#e8ecf5;border:1px solid #b8c4d8;padding:1px 7px;letter-spacing:.03em}.ioSummary .ioTotal{background:#002060;color:#fff;border-color:#001040;margin-left:4px}.ioScheduleView{padding:0 4px}.ioScheduleHeader{display:flex;align-items:center;gap:16px;padding:10px 0 12px;border-bottom:1px solid #9daabd;flex-wrap:wrap}.ioScheduleHeader>button:first-child{padding:4px 12px;font-size:12px;background:#e8ecf5;border:1px solid #9daabd;color:#001f4d;cursor:pointer;border-radius:0;white-space:nowrap}.ioScheduleHeader>button:first-child:hover{background:#d8e0f0}.ioScheduleTitle{font-size:14px;font-weight:700;color:#001f4d}.ioScheduleModel{font-size:11px;font-weight:400;color:#556}.ioScheduleTable{width:100%;border-collapse:collapse;font-size:12px}.ioScheduleTable th{background:#e8ecf5;border:1px solid #b8c4d8;padding:5px 8px;text-align:left;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#334}.ioScheduleTable td{border:1px solid #d4dae6;padding:4px 6px;vertical-align:middle}.ioScheduleTable tr:nth-child(2n) td{background:#f5f7fb}.ioScheduleTable tr:hover td{background:#eef2fa}.netTierHeader{display:flex;align-items:baseline;gap:10px;padding:7px 12px;border-radius:6px;margin-bottom:10px;font-size:13px;font-weight:700;border-left:4px solid transparent}.netTierHeader.bms{background:#edf6ee;border-left-color:#4caf50;color:#2e7d32}.netTierHeader.ip{background:#f3eef7;border-left-color:#9673a6;color:#6a1b9a}.netTierDesc{font-weight:400;font-size:11px;color:#666}.hwCard.bmsDevice{border-top:3px solid #82b366}.hwCard.ipDevice{border-top:3px solid #9673a6}.multiProtocolStrip{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0 6px;padding:5px 8px;background:#f0f8f0;border:1px solid #c3dfc3;border-radius:5px;font-size:11px}.multiProtocolLabel{font-weight:600;color:#3a6e3a;margin-right:2px;flex-shrink:0}.protocolBadge{display:inline-block;padding:1px 7px;border-radius:10px;background:#d5e8d4;border:1px solid #82b366;color:#2e5e2e;font-size:10px;font-weight:600;white-space:nowrap}.portInfoStrip{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 6px;padding:5px 8px;background:#f5f7fb;border:1px solid #d0d8e8;border-radius:5px;font-size:11px;color:#445}.portInfoStrip span{display:inline-flex;align-items:center;gap:3px;white-space:nowrap}.portInfoStrip span:not(:last-child):after{content:"·";margin-left:6px;color:#aab}.plRoot{display:flex;flex-direction:column;height:calc(100vh - 130px);min-height:560px;overflow:hidden}.plSelectorBar{display:flex;align-items:center;gap:12px;padding:8px 16px;background:#f5f7fc;border-bottom:1px solid #d0d8e8;flex-shrink:0}.plSelectorBar label{display:flex;align-items:center;gap:6px;font-weight:600;font-size:13px}.plSelectorBar select{font-size:13px;padding:3px 8px;min-width:240px}.plVersionBadge{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;background:#fff3e0;color:#e65100;border:1px solid #ffcc80}.plVersionBadge.approved{background:#e8f5e9;color:#2e7d32;border-color:#a5d6a7}.plEmptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center;color:#666}.plEmptyIcon{font-size:48px;margin-bottom:16px}.plEmptyState h3{font-size:18px;font-weight:700;margin:0 0 8px;color:#334}.plEmptyState p{font-size:13px;max-width:440px;line-height:1.5}.plEmptyHint{font-size:11px;color:#888;font-style:italic;margin:4px 0}.plLayout{display:flex;flex:1;overflow:hidden;gap:0}.plSidebar{width:420px;flex-shrink:0;overflow-y:auto;border-right:1px solid #d0d8e8;background:#fafbfd;padding:12px;display:flex;flex-direction:column;gap:4px}.plSection{background:#fff;border:1px solid #dde4f0;border-radius:6px;padding:10px 14px;margin-bottom:8px}.plSectionTitle{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2b3a6e;margin:0 0 8px;padding-bottom:6px;border-bottom:1px solid #e4e8f5}.plSectionDesc{font-size:12px;color:#555;margin:0 0 10px;line-height:1.5}.plFieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.plFieldGrid label{display:flex;flex-direction:column;gap:4px;font-size:12px;font-weight:600;color:#334}.plFieldGrid select{font-size:13px;padding:4px 6px;border:1px solid #c0c8d8;border-radius:4px}.plDimGrid{display:flex;flex-direction:column;gap:6px}.plDimLabel{font-size:12px;font-weight:600;color:#446;margin-top:4px}.plDimRow{display:flex;align-items:center;gap:6px;font-size:13px;color:#556}.plNumInput{width:68px;font-size:13px;padding:3px 6px;border:1px solid #c0c8d8;border-radius:4px;text-align:right}.plNumInputSm{width:46px;font-size:12px;padding:2px 5px;border:1px solid #c0c8d8;border-radius:4px;text-align:right}.plWarningList{margin:8px 0 0;padding:8px 12px;background:#fff8e1;border:1px solid #ffe082;border-radius:5px;font-size:12px;color:#6d4c00;list-style:none}.plWarningList li{margin:3px 0}.plMetricRow{display:flex;justify-content:space-between;align-items:center;padding:6px 0;font-size:13px;border-top:1px dashed #e4e8f5;margin-top:8px}.plMetricLabel{color:#556}.plMetricValue{font-weight:700;color:#2b3a6e;font-size:14px}.plMetricRow.plMetricWarn .plMetricLabel{color:#9a5200}.plMetricRow.plMetricWarn .plMetricValue{color:#c05000}.plHwGroup{margin-bottom:10px}.plHwGroupLabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#667;margin-bottom:5px;padding-bottom:3px;border-bottom:1px dashed #e0e6f0}.plHwRow{display:flex;align-items:flex-start;gap:8px;padding:5px 8px;border-radius:4px;font-size:13px;cursor:pointer;transition:background .1s}.plHwRow:hover{background:#f0f3fb}.plHwRow.inPanel{background:#eef8ee}.plHwRow input[type=checkbox]{flex-shrink:0;margin-left:auto;width:14px;height:14px;cursor:pointer;accent-color:#4a6fa5}.plHwName{font-weight:700;color:#223;min-width:64px;flex-shrink:0}.plHwDetail{color:#556;font-size:12px;flex:1;line-height:1.4}.plCustomItemRow{display:flex;gap:8px;margin-bottom:10px}.plCustomItemInput{flex:1;font-size:13px;padding:5px 8px;border:1px solid #c0c8d8;border-radius:4px}.plCustomItemList{display:flex;flex-direction:column;gap:5px}.plCustomItem{display:flex;align-items:center;gap:8px;padding:5px 8px;background:#f5f7fb;border:1px solid #e0e6f0;border-radius:4px;font-size:13px}.plCustomItemLabel{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plCustomItemQty{display:flex;align-items:center;gap:3px;color:#667;flex-shrink:0}.plCustomItemRemove{font-size:11px;color:#c62828;background:none;border:none;cursor:pointer;padding:1px 4px;border-radius:3px}.plCustomItemRemove:hover{background:#ffcdd2}.plFeatureGroup{margin-bottom:12px}.plFeatureGroupLabel{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#667;margin-bottom:5px;padding-bottom:3px;border-bottom:1px dashed #e4e8f5}.plFeatureRow{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:4px;font-size:13px;cursor:pointer;transition:background .1s}.plFeatureRow:hover{background:#f0f3fb}.plFeatureRow.enabled{background:#eef5ff}.plFeatureRow input[type=checkbox]{flex-shrink:0;margin-left:auto;width:14px;height:14px;cursor:pointer;accent-color:#4a6fa5}.plFeatureLabel{flex:1;color:#223}.plFeatureQty{display:flex;align-items:center;gap:5px;flex-shrink:0}.plFeatureQtyLabel{font-size:11px;color:#778}.plCanvas{flex:1;display:flex;flex-direction:column;min-width:0;background:#f0f2f7}.plCanvasToolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;background:#fff;border-bottom:1px solid #d0d8e8;flex-shrink:0}.plStatus{font-size:13px;color:#2e7d32;font-weight:600}.plDiagramFrame{flex:1;width:100%;border:none;min-height:500px}.plApproveModal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:9999}.plApproveDialog{background:#fff;border-radius:8px;padding:28px 32px;max-width:420px;width:100%;box-shadow:0 12px 40px #00000040}.plApproveDialog h4{font-size:16px;font-weight:700;margin:0 0 10px;color:#2b3a6e}.plApproveDialog p{font-size:13px;color:#556;margin:0 0 18px;line-height:1.5}.schematicsPage{display:flex;height:calc(100vh - 48px);overflow:hidden}.schSidebar{width:260px;flex-shrink:0;background:#f7f9fc;border-right:1px solid #d8dff0;display:flex;flex-direction:column;overflow-y:auto;padding:0 0 16px}.schSidebarTitle{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#2b3a6e;padding:14px 12px 8px;border-bottom:1px solid #d8dff0}.schGroupLabel{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#4a6fa5;padding:10px 12px 4px}.schGroupLabelOther{color:#aaa;border-top:1px dashed #ddd;margin-top:8px}.schPlantRow{display:flex;align-items:center;gap:6px;padding:7px 12px;font-size:12px;cursor:pointer;background:none;border:none;text-align:left;width:100%;transition:background .1s}.schPlantRow:hover{background:#eef3fb}.schPlantRow.active{background:#e0eaff;border-left:3px solid #4a6fa5}.schPlantRow.generated .schPlantTag{color:#2a7a2a}.schPlantRowRoadmap{opacity:.78;cursor:pointer;padding:5px 12px;font-size:12px;display:flex;flex-wrap:wrap;gap:6px}.schPlantTag{font-weight:700;color:#223;min-width:60px;flex-shrink:0}.schPlantName{color:#445;flex:1;font-size:11px;text-transform:capitalize}.schPlantRoadmap{display:block;flex-basis:100%;margin-left:66px;color:#6c7588;font-size:10px;line-height:1.25}.schPlantCtrl{font-size:10px;color:#4a6fa5;background:#e8f0ff;border-radius:3px;padding:1px 5px;flex-shrink:0}.schSavedDot{color:#3a9a3a;font-size:9px;flex-shrink:0}.schEmptyHint{font-size:12px;color:#888;padding:16px 12px;line-height:1.5}.schCanvas{flex:1;display:flex;flex-direction:column;min-width:0;background:#f0f2f7}.schToolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:#fff;border-bottom:1px solid #d8dff0;height:46px;flex-shrink:0}.schToolbarTitle{font-weight:700;font-size:13px;color:#2b3a6e;flex:1}.schStatus{font-size:12px;color:#2a7a2a;font-weight:600}.schFrame{flex:1;border:none;width:100%;height:100%}.schOptionsPanel{width:380px;flex-shrink:0;background:var(--surface-2);border-left:1px solid var(--border-soft-2);border-right:1px solid var(--border-soft-2);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;padding:0}.schOptionsPanel .sectionHeader{padding:12px 16px;border-bottom:1px solid var(--border-soft-2);background:var(--surface-4);flex-shrink:0}.schOptionsPanel .sectionHeader h2{margin:0;font-size:13px;font-weight:700;color:var(--ink-900)}.schOptionsPanel .plantEditorTabs{padding:8px 12px;border-bottom:1px solid var(--border-soft-2);display:flex;gap:4px;flex-wrap:wrap;background:var(--surface-0);flex-shrink:0}.schOptionsPanel .plantEditorTab{padding:6px 10px;font-size:11px;font-weight:600;border-radius:var(--r-0);cursor:pointer;background:var(--surface-2);border:none;color:var(--ink-600);transition:background .2s}.schOptionsPanel .plantEditorTab:hover{background:var(--workspace-200)}.schOptionsPanel .plantEditorTab.active{background:var(--blue-600);color:var(--fg-on-chrome)}.schOptionsPanel .plantEditorTabPanel{padding:12px 16px;overflow-y:auto}.authShell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e2a3a,#2b3a6e);padding:24px}.authCard{width:100%;max-width:360px;background:#fff;border-radius:8px;padding:32px;box-shadow:0 10px 40px #0003;display:flex;flex-direction:column;gap:12px}.authCard h1{margin:0 0 4px;font-size:20px}.authSubtitle{margin:0 0 12px;color:#555;font-size:13px}.authCard label{display:flex;flex-direction:column;font-size:12px;color:#444;gap:4px}.authCard input[type=email],.authCard input[type=password],.authCard input[type=text]{font-size:14px;padding:8px 10px;border:1px solid #ccc;border-radius:4px}.authCard button[type=submit]{margin-top:8px;padding:10px 16px;background:#2b3a6e;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer}.authCard button[type=submit]:disabled{opacity:.6;cursor:progress}.authLinkBtn{background:transparent;border:none;color:#2b3a6e;text-decoration:underline;cursor:pointer;font-size:12px;padding:4px 0}.authStatus{margin:8px 0 0;padding:8px 10px;font-size:12px;background:#fff3cd;border:1px solid #ffeeba;border-radius:4px;color:#856404}.authBackend{margin:12px 0 0;font-size:11px;color:#888;text-align:center}.appShell{display:grid;grid-template-columns:var(--w-sidebar) 1fr;grid-template-rows:var(--h-header) 1fr;height:100vh;width:100vw;background:var(--bg);font-family:var(--font-ui)}.appHeader{grid-column:1 / -1;grid-row:1;background:var(--chrome-gradient);color:#fff;padding:0 16px;display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;letter-spacing:.5px;z-index:100}.headerLeft{display:flex;align-items:center;gap:8px;flex:1}.headerBrand{font-size:13px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;white-space:nowrap}.headerSeparator{opacity:.6}.headerProjectName{font-size:13px;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:300px}.headerCenter{flex:1}.headerRight{display:flex;align-items:center;gap:12px}.statusChip{display:flex;align-items:center;gap:6px;padding:4px 10px;border-radius:3px;background:#ffffff26;font-size:11px;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.statusDot{width:7px;height:7px;border-radius:50%;flex-shrink:0;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.statusLabel{white-space:nowrap}.appSidebar{grid-column:1;grid-row:2;background:var(--surface-3);border-right:1px solid var(--border-mid);position:sticky;height:calc(100vh - var(--h-header));overflow-y:auto;overflow-x:hidden;width:var(--w-sidebar);padding:0;display:flex;flex-direction:column}.sidebarHeader{padding:12px 10px;border-bottom:1px solid var(--border-mid);flex-shrink:0;background:var(--surface-2)}.sidebarTitle{font-size:12px;font-weight:700;color:var(--ink-900);letter-spacing:.6px;text-transform:uppercase;margin:0}.sidebarNav{flex:1;padding:8px 0;overflow-y:auto}.sidebarSection{margin-bottom:12px}.sidebarSectionLabel{padding:8px 10px;font-size:10px;font-weight:700;color:var(--ink-100);letter-spacing:.4px;text-transform:uppercase;margin:4px 0}.sidebarList{list-style:none;margin:0;padding:0}.sidebarList li{margin:0;padding:0}.sidebarItem{width:100%;padding:8px 10px;text-align:left;border:none;border-left:4px solid transparent;background:#fff;color:var(--ink-400);font-size:12px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .13s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebarItem:hover{background:var(--surface-4);color:var(--blue-400);border-left-color:var(--blue-400)}.sidebarItem:active{background:var(--surface-4)}.sidebarItem.active{background:var(--surface-5);color:var(--ink-900);border-left-color:#153f80;font-weight:750}.sidebarItemIcon{display:inline-block;width:23px;height:18px;flex-shrink:0}.sidebarItemLabel{flex:1;overflow:hidden;text-overflow:ellipsis}.workspace{grid-column:2;grid-row:2;background:var(--bg);overflow:auto;padding:12px;display:flex;flex-direction:column}.placeholderTool{display:flex;align-items:center;justify-content:center;height:100%;padding:24px}.placeholderToolContent{max-width:600px;text-align:center}.placeholderToolTitle{margin:0 0 12px;font-size:28px;font-weight:600;color:var(--ink-900)}.placeholderToolDescription{margin:0 0 8px;font-size:15px;color:var(--ink-600)}.placeholderToolNote{margin:0;font-size:12px;color:var(--ink-100)}.sequenceCard{margin-bottom:24px;background:#fff;border:1px solid #ddd;border-radius:6px;padding:16px}.sequenceCard h3{margin:0 0 12px;font-size:15px;font-weight:600;color:#273750}.activeOptionsList{display:flex;flex-direction:column;gap:8px;font-size:13px}.activeOptionRow{display:flex;align-items:baseline;gap:8px;padding:4px 0;color:#555}.activeOptionRow strong{min-width:140px;font-weight:600}.activeOptionRow span{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-family:monospace}.activeOptionRow em{color:#888;font-style:normal;font-size:12px}.sequenceNarrative{display:flex;flex-direction:column;gap:16px}.sequenceSection{padding:12px;border-left:3px solid #4a90e2;background:#fafafa;border-radius:2px}.sequenceSection.hiddenSection{opacity:.6;border-left-color:#ccc;background:#f5f5f5}.sequenceSection.hiddenCondition{opacity:.5;border-left-color:#ddd;background:#f9f9f9}.sequenceSection .sectionHeader{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.sequenceSection h4{margin:0;font-size:14px;font-weight:600;color:#273750;flex:1}.sectionBadges{display:flex;gap:6px;align-items:center}.sectionBadges .badge{display:inline-block;padding:3px 8px;font-size:11px;font-weight:600;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.sectionBadges .pinnedBadge{background:#e8e8e8;color:#555}.sectionBadges .overrideBadge{background:#fff4e6;color:#d97706}.sectionBadges .hiddenBadge{background:#f3f4f6;color:#6b7280}.sectionBadges .hiddenConditionBadge{background:#f9fafb;color:#9ca3af}.sequenceText{margin:8px 0;font-size:13px;line-height:1.6;color:#333;font-family:Georgia,serif;white-space:pre-wrap;word-wrap:break-word}.sectionControls{display:flex;gap:6px;margin-top:8px;justify-content:flex-end}.sectionButton{padding:4px 10px;font-size:11px;border:1px solid #ddd;border-radius:3px;background:#fff;cursor:pointer;color:#555;transition:all .2s}.sectionButton:hover{background:#f5f5f5;border-color:#999}.sectionButton.edit{color:#1f5fa6;border-color:#b8d0f0}.sectionButton.edit:hover{background:#e8f0fb}.sectionButton.hide{color:#c0392b;border-color:#e4b3ae}.sectionButton.hide:hover{background:#fdf0ee}.sectionButton.revert{color:#666;border-color:#ddd}.sectionButton.revert:hover{background:#f9f9f9}.sequenceEditOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.sequenceEditModal{background:#fff;border-radius:6px;padding:24px;max-width:900px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 10px 40px #0003;position:relative}.sequenceEditModal h3{margin:0 0 16px;font-size:16px;font-weight:600;color:#273750}.closeModal{position:absolute;top:12px;right:12px;background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center}.closeModal:hover{color:#333}.editContent{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}@media (max-width: 768px){.editContent{grid-template-columns:1fr}}.editPane{display:flex;flex-direction:column}.editPane label{font-size:12px;font-weight:600;margin-bottom:6px;color:#555;text-transform:uppercase;letter-spacing:.5px}.templateBox{background:#f5f5f5;border:1px solid #ddd;border-radius:4px;padding:12px;font-size:13px;font-family:monospace;color:#333;line-height:1.5;min-height:200px;white-space:pre-wrap;word-wrap:break-word;max-height:300px;overflow-y:auto}.sequenceEditArea{font-size:13px;font-family:Georgia,serif;border:1px solid #ddd;border-radius:4px;padding:12px;resize:vertical;min-height:200px;line-height:1.5;color:#333}.sequenceEditArea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.placeholdersBox{background:#f9f9f9;border:1px solid #eee;border-radius:4px;padding:12px;margin-bottom:16px}.placeholdersBox strong{display:block;font-size:12px;margin-bottom:8px;color:#555;text-transform:uppercase;letter-spacing:.5px}.placeholderChips{display:flex;flex-wrap:wrap;gap:6px}.placeholderChip{display:inline-block;background:#e8e8e8;color:#333;padding:4px 8px;border-radius:3px;font-size:12px;font-family:monospace}.editButtons{display:flex;gap:8px;justify-content:flex-end}.clearOverride{background:none;border:1px solid #e4b3ae;color:#c0392b;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.clearOverride:hover{background:#fdf0ee}.cancelButton{background:#f5f5f5;border:1px solid #ddd;color:#555;padding:6px 16px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s}.cancelButton:hover{background:#eee}.saveButton{background:#4a90e2;border:1px solid #4a90e2;color:#fff;padding:6px 16px;border-radius:4px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s}.saveButton:hover{background:#3d7bc4;border-color:#3d7bc4}:root{--blue-900: #0d2a64;--blue-800: #133c78;--blue-700: #1e5b9d;--blue-600: #1d5a9e;--blue-500: #294f87;--blue-400: #315d9a;--blue-300: #3268b8;--blue-200: #1e4db7;--blue-100: #244f90;--blue-050: #082151;--ink-900: #001f4d;--ink-800: #11203a;--ink-700: #12203a;--ink-600: #12315f;--ink-500: #162238;--ink-400: #263858;--ink-300: #3a5070;--ink-200: #48576f;--ink-100: #5b687d;--workspace-300: #bcc4d2;--workspace-200: #dfe3eb;--workspace-100: #eaedf2;--beige-300: var(--workspace-300);--beige-200: var(--workspace-200);--beige-100: var(--workspace-100);--surface-0: #ffffff;--surface-1: #fbfcff;--surface-2: #f7f7f7;--surface-3: #f2f2f2;--surface-4: #eef4ff;--surface-5: #dbe8fb;--surface-6: #dbe6f8;--border-strong: #8f9aad;--border-mid: #9daabd;--border-soft: #b8c2cf;--border-table: #dde3ee;--border-row: #c9c9c9;--border-soft-2: #dce3ed;--badge-default-bg: #e0e8f4;--badge-default-fg: #3a5070;--badge-worksheet-bg: #dff4e8;--badge-worksheet-fg: #1e6840;--badge-plans-bg: #fff3d6;--badge-plans-fg: #7a5500;--badge-spec-bg: #e8e4ff;--badge-spec-fg: #4b2fa0;--badge-quote-bg: #fde9d4;--badge-quote-fg: #8a3a00;--badge-general-bg: #e4eaf3;--badge-general-fg: #3a5070;--status-ok-bg: #e6f4ea;--status-ok-fg: #1a6630;--status-ok-border: #a8d5b2;--status-ok-dot: #27a84a;--status-checking-bg:#fef9e7;--status-checking-fg:#7d6608;--status-checking-border:#f9e79f;--status-checking-dot:#f0b429;--status-error-bg: #fdecea;--status-error-fg: #922b21;--status-error-border: #f5b7b1;--status-error-dot: #e53e3e;--severity-high-bg: #d9f2e6;--severity-high-fg: #17643d;--severity-medium-bg: #fff0cf;--severity-medium-fg: #8a5a00;--severity-low-bg: #fde1e1;--severity-low-fg: #9d2222;--warning-rule: #d08b21;--warning-bg: #fff8eb;--warning-fg: #734600;--doc-ink: #1f2937;--doc-heading-fg: #163f79;--doc-heading-fg2: #1e3a5f;--doc-table-rule: #cbd5e1;--doc-table-bg: #f7f8fa;--doc-page-border: #c7cdd8;--doc-shadow: 0 18px 42px #1922322e;--green-900: #0f2b1a;--green-700: #134522;--green-600: #1a5c2e;--green-500: #228040;--green-400: #2c9450;--red-900: #5c0d0d;--red-700: #b42828;--red-600: #c1121f;--red-500: #dc4646;--red-400: #e63946;--gray-900: #1f2937;--gray-700: #6b7280;--gray-600: #9ca3af;--gray-500: #d1d5db;--gray-400: #f3f4f6;--diff-missing: #b00020;--diff-wrong: #a75f00;--diff-extra: #6b7280;--diff-ok: #0b7a3b;--bg: var(--workspace-200);--fg: var(--ink-900);--fg-muted: var(--ink-400);--fg-faint: var(--ink-100);--fg-on-chrome: #ffffff;--fg-on-chrome-soft:#e8f1ff;--surface: var(--surface-2);--surface-alt: var(--surface-3);--surface-input: var(--surface-0);--border: var(--border-mid);--border-input: #9eb0c8;--accent: var(--blue-200);--accent-strong: var(--blue-800);--link: #1f5fa6;--chrome-gradient: linear-gradient(180deg, #1e5b9d, #133c78 52%, #0d2a64);--chrome-gradient-panel: linear-gradient(180deg, #1d5a9e, #123f80 58%, #0b2a67);--chrome-gradient-sidebar-strip: linear-gradient(180deg, #1c5a9e, #123f81 58%, #0d2b69);--button-gradient: linear-gradient(#ffffff, #e8e8e8);--font-ui: "Segoe UI", Tahoma, Arial, sans-serif;--font-doc: Cambria, Georgia, "Times New Roman", serif;--font-doc-heading: Arial, sans-serif;--font-mono: Consolas, "Courier New", monospace;--fs-9: 10px;--fs-10: 11px;--fs-11: 12px;--fs-12: 13px;--fs-13: 14px;--fs-14: 16px;--fs-15: 18px;--fs-16: 20px;--fs-17: 28px;--fs-doc-body: 12.5px;--fw-regular: 500;--fw-medium: 600;--fw-semi: 650;--fw-bold: 750;--fw-heavy: 800;--lh-tight: 1;--lh-title: 1.1;--lh-snug: 1.25;--lh-body: 1.45;--lh-doc: 1.55;--tracking-cap: .04em;--tracking-chip: .02em;--tracking-badge: .03em;--sp-1: 2px;--sp-2: 4px;--sp-3: 6px;--sp-4: 8px;--sp-5: 10px;--sp-6: 12px;--sp-7: 14px;--sp-8: 18px;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 40px;--space-8: 48px;--h-header: 44px;--h-menubar: 30px;--w-sidebar: 230px;--h-input: 24px;--h-input-lg: 28px;--h-button: 24px;--h-nav-row: 32px;--h-plant-row: 56px;--r-0: 0;--r-1: 4px;--r-pill: 999px;--shadow-none: none;--shadow-doc: 0 18px 42px #1922322e;--shadow-input-focus: 0 0 0 3px rgba(50,104,184,.14);--t-fast: .13s ease;--t-base: .14s ease;--t-mid: .16s ease}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:var(--fs-11);font-synthesis:none}*{box-sizing:border-box}h1,h2,h3,h4,p{margin-top:0}h1{font-size:var(--fs-15);line-height:var(--lh-title);color:var(--ink-900);font-weight:var(--fw-heavy);letter-spacing:0;margin-bottom:var(--sp-1)}h2{font-size:var(--fs-12);line-height:var(--lh-tight);color:var(--fg-on-chrome);background:var(--chrome-gradient-panel);text-transform:uppercase;padding:var(--sp-4) var(--sp-5);font-weight:var(--fw-heavy);margin:0}h3{font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-cap);color:var(--ink-400);font-weight:var(--fw-bold);margin:var(--sp-4) 0 0}p{font-size:var(--fs-11);line-height:var(--lh-body);color:var(--ink-400)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}label{display:grid;gap:var(--sp-1);color:var(--ink-600);font-size:var(--fs-9);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-cap)}button{font:inherit;min-height:var(--h-button);border:1px solid #9eabbc;background:var(--button-gradient);color:var(--ink-900);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-0);font-size:var(--fs-11);font-weight:var(--fw-semi);cursor:pointer;box-shadow:var(--shadow-none)}button:hover{background:var(--surface-4);border-color:var(--blue-400)}input,select,textarea{font:inherit;width:100%;border:1px solid var(--border-input);background:var(--surface-input);border-radius:var(--r-0);padding:var(--sp-2) 7px;min-height:var(--h-input);font-size:var(--fs-11);color:var(--ink-900)}input:focus,select:focus,textarea:focus{border-color:var(--blue-300);outline:var(--shadow-input-focus)}table{width:100%;border-collapse:collapse;font-size:var(--fs-11)}th,td{text-align:left;padding:5px 7px;vertical-align:top;border-bottom:1px solid #e8edf4}th{background:#e3e7ed;color:var(--ink-900);font-weight:var(--fw-bold);position:sticky;top:0}code,pre{font-family:var(--font-mono);font-size:var(--fs-10)}.doc{font-family:var(--font-doc);color:var(--doc-ink);font-size:var(--fs-doc-body);line-height:var(--lh-doc);background:#fff}.doc h2{font-family:var(--font-doc-heading);color:var(--doc-heading-fg);font-size:var(--fs-15);background:transparent;padding:0;margin:22px 0 9px;text-transform:none;line-height:var(--lh-snug)}.doc h3{font-family:var(--font-doc-heading);color:var(--doc-heading-fg2);font-size:var(--fs-13);text-transform:none;letter-spacing:0;font-weight:var(--fw-medium);margin:14px 0 6px}.doc p{color:var(--doc-ink);font-size:var(--fs-doc-body);margin:0 0 9px;line-height:var(--lh-doc)}.doc .docBullet{padding-left:18px;position:relative}.doc .docBullet:before{content:"•";position:absolute;left:3px;color:var(--doc-heading-fg)}.doc .docTableRow{font-family:var(--font-mono);font-size:var(--fs-10);background:var(--doc-table-bg);border-left:3px solid var(--doc-table-rule);padding:2px 8px;margin:1px 0}html,body,#root{background:var(--bg);color:var(--fg);font-family:var(--font-ui);font-size:var(--fs-11);font-synthesis:none;-webkit-font-smoothing:antialiased}.appShell,.panel,.panelCard,.groupCard,.fdBlock,.assembly,.systemCard,.statusCard,.scoreBox,.controllerCard,.hwCardGrid>*,.evidencePanel,.assemblyPanel{border-radius:var(--r-0);box-shadow:var(--shadow-none)}.documentPage{box-shadow:var(--shadow-doc);border-radius:var(--r-0)}:focus-visible{outline:2px solid var(--blue-300);outline-offset:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--blue-300);outline-offset:2px}.appShell{display:grid;grid-template-columns:var(--w-sidebar) 1fr;grid-template-rows:var(--h-header) var(--h-menubar) 1fr;min-height:100vh;background:var(--bg)}.appShell.sidebarCollapsed{grid-template-columns:44px 1fr}.v6Header{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:var(--w-sidebar) 1fr auto;align-items:center;height:var(--h-header);padding:0;background:var(--chrome-gradient);border-bottom:1px solid var(--blue-050);color:var(--fg-on-chrome);z-index:5}.appShell.sidebarCollapsed .v6Header{grid-template-columns:44px 1fr auto}.v6Brand{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5);height:100%;border-right:1px solid var(--blue-050)}.v6BrandStack{display:flex;flex-direction:column;line-height:var(--lh-tight)}.v6BrandName{font-size:var(--fs-13);font-weight:var(--fw-heavy);color:var(--fg-on-chrome);letter-spacing:var(--tracking-chip)}.v6VersionRow{display:flex;align-items:center;gap:4px;margin-top:2px}.v6VersionChip{display:inline-block;background:#ffffff24;color:var(--fg-on-chrome-soft);border:1px solid rgba(255,255,255,.22);padding:0 5px;height:14px;line-height:13px;font-size:9px;font-weight:var(--fw-semi);letter-spacing:var(--tracking-cap);text-transform:uppercase;border-radius:var(--r-1)}.v6VersionChip.backend{background:#46dc822e;border-color:#46dc8259}.v6VersionChip.offline{background:#e53e3e33;border-color:#e53e3e73}.v6ProjectTitle{display:flex;flex-direction:column;justify-content:center;padding:0 var(--sp-5);color:var(--fg-on-chrome);line-height:var(--lh-tight)}.v6ProjectTitle strong{font-size:var(--fs-12);font-weight:var(--fw-heavy)}.v6ProjectTitle span{font-size:var(--fs-9);color:var(--fg-on-chrome-soft);margin-top:2px;letter-spacing:var(--tracking-cap);text-transform:uppercase}.v6HeaderActions{display:flex;align-items:center;gap:var(--sp-3);padding:0 var(--sp-5)}.headerTitleInput{background:#fffffff0;border:1px solid rgba(255,255,255,.4);color:var(--ink-900);height:22px;padding:0 6px;font-size:var(--fs-10);border-radius:var(--r-1);min-width:200px}.menuBar{grid-column:1 / -1;grid-row:2;display:flex;align-items:stretch;height:var(--h-menubar);background:var(--surface-2);border-bottom:1px solid var(--border-strong);padding:0 var(--sp-3);gap:0}.menuBar button{height:var(--h-menubar);min-height:var(--h-menubar);border:0;background:transparent;color:var(--ink-900);padding:0 var(--sp-5);font-size:var(--fs-11);font-weight:var(--fw-medium);cursor:pointer;border-radius:0}.menuBar button:hover{background:var(--surface-4);color:var(--ink-900)}.menuDropdown{position:relative}.menuDropdownPanel{position:absolute;top:var(--h-menubar);left:0;min-width:220px;background:var(--surface-0);border:1px solid var(--border-mid);border-top:0;box-shadow:var(--shadow-none);z-index:10}.menuDropdownPanel button{width:100%;text-align:left;height:26px;padding:0 var(--sp-5)}.sidebar{grid-column:1;grid-row:3;position:sticky;top:calc(var(--h-header) + var(--h-menubar));align-self:stretch;height:calc(100vh - var(--h-header) - var(--h-menubar));background:var(--surface-3);border-right:1px solid var(--border-strong);overflow-y:auto;z-index:4}.collapseButton{width:24px;height:24px;background:var(--blue-500);color:var(--fg-on-chrome);border:0;font-size:var(--fs-12);font-weight:var(--fw-bold);cursor:pointer;margin:var(--sp-3) auto;display:block}.navSectionTitle{font-size:var(--fs-9);text-transform:uppercase;letter-spacing:var(--tracking-cap);color:var(--fg-on-chrome);background:var(--chrome-gradient-sidebar-strip);padding:6px var(--sp-5);font-weight:var(--fw-heavy);margin:0;border-bottom:1px solid var(--blue-050)}.navList{list-style:none;padding:0;margin:0;border-bottom:1px solid var(--border-mid)}.navList li{display:grid;grid-template-columns:23px 1fr auto;align-items:center;min-height:var(--h-nav-row);padding:0 var(--sp-5);border-left:4px solid transparent;font-size:var(--fs-12);color:var(--ink-700);cursor:pointer;transition:background var(--t-fast),border-color var(--t-fast);border-bottom:1px solid #e5e9ee}.navList li:hover{background:var(--surface-4)}.navList li.active{background:var(--surface-5);border-left-color:#153f80;color:var(--ink-900);font-weight:var(--fw-bold)}.navList li>span:first-child{font-size:var(--fs-9);color:var(--ink-300);font-weight:var(--fw-bold);text-align:right;padding-right:var(--sp-3)}.workspace,main.workspace,[class*=workspaceContent]{grid-column:2;grid-row:3;background:var(--bg);padding:var(--sp-5);overflow:auto}.panel{background:var(--surface-2);border:1px solid var(--border-mid);padding:0;margin:0;display:flex;flex-direction:column}.panel>*{margin:var(--sp-5)}.panel>h2,.panel>.panelHeader{margin:0;background:var(--chrome-gradient-panel);color:var(--fg-on-chrome);text-transform:uppercase;letter-spacing:var(--tracking-chip);padding:var(--sp-4) var(--sp-5);font-size:var(--fs-12);font-weight:var(--fw-heavy);line-height:var(--lh-tight);border-bottom:1px solid var(--blue-050);display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.panel>h2 button,.panel>.panelHeader button{background:#ffffff24;border:1px solid rgba(255,255,255,.3);color:var(--fg-on-chrome);height:20px;min-height:20px;padding:0 var(--sp-3);font-size:var(--fs-10);text-transform:none;letter-spacing:0;font-weight:var(--fw-medium)}.panel>h2 button:hover,.panel>.panelHeader button:hover{background:#ffffff42;border-color:#ffffff80}.panelLead{font-size:var(--fs-11);color:var(--ink-400);margin:var(--sp-3) var(--sp-5) var(--sp-5);line-height:var(--lh-body)}.groupCard,.fdBlock,.assembly,.systemCard,.panelCard,.controllerCard{background:var(--surface-0);border:1px solid var(--border-soft);padding:var(--sp-4) var(--sp-5);margin-bottom:var(--sp-3)}label{display:block;color:var(--ink-600);font-size:var(--fs-9);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-cap);margin-bottom:3px}input[type=text],input[type=email],input[type=password],input[type=search],input[type=number],select,textarea{width:100%;border:1px solid var(--border-input);background:var(--surface-input);color:var(--ink-900);border-radius:var(--r-0);padding:var(--sp-2) 7px;min-height:var(--h-input);font-size:var(--fs-11);font-family:var(--font-ui)}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=number]:focus,select:focus,textarea:focus{border-color:var(--blue-300);outline:var(--shadow-input-focus)}input[type=text]:hover:not(:focus),select:hover:not(:focus){border-color:var(--blue-400)}button{min-height:var(--h-button);background:var(--button-gradient);border:1px solid #9eabbc;color:var(--ink-900);padding:var(--sp-2) var(--sp-5);border-radius:var(--r-0);font-size:var(--fs-11);font-weight:var(--fw-semi);cursor:pointer;box-shadow:var(--shadow-none)}button:hover:not(:disabled){background:var(--surface-4);border-color:var(--blue-400)}button:disabled{opacity:.45;cursor:not-allowed}button.primary,button[data-variant=primary],.buttonRow button[type=submit],.confirmBtn{background:#1a5c2e;background-image:linear-gradient(180deg,#228040,#1a5c2e 60%,#134522);color:var(--fg-on-chrome);border-color:#134522;font-weight:var(--fw-bold)}button.primary:hover:not(:disabled),.confirmBtn:hover:not(:disabled){background-image:linear-gradient(180deg,#2c9450,#236b38 60%,#185228);border-color:#0e391b}button.danger,button[data-variant=danger]{background:#c8323280;background-image:linear-gradient(180deg,#dc46468c,#b428288c);border-color:#ff787866;color:var(--fg-on-chrome);font-weight:var(--fw-bold)}button.danger:hover:not(:disabled){background-image:linear-gradient(180deg,#dc4646d9,#b42828d9);border-color:#ff7878b3}.deleteBtn,.dismissBtn,.docDeleteBtn{background:transparent;border:1px solid transparent;color:var(--status-error-fg);min-height:20px;padding:0 var(--sp-3);font-size:var(--fs-11);font-weight:var(--fw-bold)}.deleteBtn:hover,.dismissBtn:hover{background:var(--status-error-bg);border-color:var(--status-error-border)}.docDeleteBtn{font-size:var(--fs-13);line-height:1}table{width:100%;border-collapse:collapse;font-size:var(--fs-11);background:var(--surface-0)}th,td{text-align:left;padding:5px 7px;vertical-align:top;border-bottom:1px solid var(--border-table)}th{background:#e3e7ed;color:var(--ink-900);font-weight:var(--fw-bold);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-cap);position:sticky;top:0}tbody tr:hover{background:var(--surface-4)}.statusRail,.scoreBoard{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:var(--sp-3);margin:0 0 var(--sp-5)}@media (max-width: 1180px){.statusRail,.scoreBoard{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){.statusRail,.scoreBoard{grid-template-columns:1fr}}.scoreBox,.statusCard{display:grid;grid-template-columns:1fr auto;grid-template-areas:"lab val" "det val";gap:1px var(--sp-4);align-items:center;padding:6px var(--sp-4);background:#eee;border:1px solid #aab8ca}.scoreBox>span:first-child,.statusCard>span:first-child,.scoreBox .label,.statusCard .label{grid-area:lab;font-size:var(--fs-10);color:#59677c;font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-cap)}.scoreBox>strong,.statusCard>strong,.scoreBox .value,.statusCard .value{grid-area:val;font-size:var(--fs-15);font-weight:var(--fw-heavy);color:var(--ink-900);line-height:var(--lh-tight)}.scoreBox>small,.statusCard>small,.scoreBox .hint,.statusCard .hint,.scoreBox em,.statusCard em{grid-area:det;font-size:var(--fs-10);color:#7b8798;font-style:normal}.statusCard.ok,.scoreBox.ok{border-color:#b8dfc8}.statusCard.warn,.scoreBox.warn{border-color:#edd2a8;background:#fff8eb}.statusCard.error,.scoreBox.error{border-color:#f5b7b1;background:var(--status-error-bg)}.backendChip{display:inline-flex;align-items:center;gap:5px;min-height:28px;padding:0 8px;border:1px solid var(--status-checking-border);background:var(--status-checking-bg);color:var(--status-checking-fg);font-size:var(--fs-10);font-weight:var(--fw-medium);letter-spacing:var(--tracking-chip);text-transform:uppercase;border-radius:var(--r-1)}.backendChip--online{border-color:var(--status-ok-border);background:var(--status-ok-bg);color:var(--status-ok-fg)}.backendChip--offline{border-color:var(--status-error-border);background:var(--status-error-bg);color:var(--status-error-fg)}.backendChip--checking{border-color:var(--status-checking-border);background:var(--status-checking-bg);color:var(--status-checking-fg)}.backendChipDot{width:7px;height:7px;border-radius:50%;background:var(--status-checking-dot)}.backendChip--online .backendChipDot{background:var(--status-ok-dot)}.backendChip--offline .backendChipDot{background:var(--status-error-dot)}.docTypeBadge{display:inline-block;font-size:var(--fs-10);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-badge);padding:1px var(--sp-3);border-radius:var(--r-0);border:1px solid transparent;background:var(--badge-default-bg);color:var(--badge-default-fg)}.docTypeBadge--worksheet{background:var(--badge-worksheet-bg);color:var(--badge-worksheet-fg)}.docTypeBadge--plans{background:var(--badge-plans-bg);color:var(--badge-plans-fg)}.docTypeBadge--specification{background:var(--badge-spec-bg);color:var(--badge-spec-fg)}.docTypeBadge--quote{background:var(--badge-quote-bg);color:var(--badge-quote-fg)}.docTypeBadge--general{background:var(--badge-general-bg);color:var(--badge-general-fg)}.badge{border-radius:var(--r-0)}.warning,.diagramStaleBanner{background:var(--warning-bg);border:1px solid #f0d8a6;border-left:3px solid var(--warning-rule);color:var(--warning-fg);padding:var(--sp-4) var(--sp-5);margin:var(--sp-5);font-size:var(--fs-11);line-height:var(--lh-body)}.inlineStatus{background:#eef4fc;border:1px solid #d3e0f0;color:#365170;padding:var(--sp-4) var(--sp-5);margin:var(--sp-5);font-size:var(--fs-11);line-height:var(--lh-body)}.demoHint{background:var(--warning-bg);border-left:3px solid var(--warning-rule);color:var(--warning-fg);padding:6px var(--sp-4);margin:0;font-size:var(--fs-10);line-height:var(--lh-body)}.plantsGrid{display:grid;grid-template-columns:300px minmax(660px,1fr) 280px;gap:var(--sp-3);align-items:start}@media (max-width: 1180px){.plantsGrid{grid-template-columns:280px 1fr}.plantsGrid>:nth-child(3){display:none}}@media (max-width: 720px){.plantsGrid{grid-template-columns:1fr}}.plSidebar{background:var(--surface-2);border:1px solid var(--border-mid);display:flex;flex-direction:column}.plSidebar>h2,.plSidebar>.panelHeader{background:var(--chrome-gradient-panel);color:var(--fg-on-chrome);text-transform:uppercase;letter-spacing:var(--tracking-chip);font-size:var(--fs-12);font-weight:var(--fw-heavy);padding:var(--sp-4) var(--sp-5);margin:0;line-height:var(--lh-tight)}.plantList{list-style:none;margin:0;padding:0;border-top:1px solid var(--border-mid);max-height:64vh;overflow-y:auto}.plantListControls{display:grid;grid-template-columns:minmax(0,1fr) 118px;gap:var(--sp-3);align-items:end;margin-bottom:var(--sp-4)}.plantSearchBox{position:relative}.plantSearchBox input{padding-right:30px}.clearSearchBtn{position:absolute;right:4px;top:50%;width:22px;height:22px;min-height:0;padding:0;border:0;transform:translateY(-50%);background:transparent;color:var(--ink-400);font-size:var(--fs-12);font-weight:var(--fw-bold)}.clearSearchBtn:hover{color:var(--ink-900);background:var(--surface-4)}.plantSortControl{display:grid;gap:3px;font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--ink-500);text-transform:uppercase;letter-spacing:var(--tracking-chip)}.plantItem{display:grid;grid-template-columns:18px minmax(0,1fr) 38px 18px;align-items:center;gap:var(--sp-3);padding:6px var(--sp-5);border-bottom:1px solid var(--border-row);cursor:pointer;background:var(--surface-0);border-left:3px solid transparent;line-height:var(--lh-snug);transition:background var(--t-fast),border-color var(--t-fast);width:100%;text-align:left}.plantItem:hover{background:var(--surface-4)}.plantItem.selected,.plantItem.active{background:var(--surface-6);border-left-color:#153f80}.plantItem .plantTag,.plantItem strong{font-size:var(--fs-12);font-weight:var(--fw-bold);color:var(--ink-900)}.plantItem .plantLibraryType,.plantItem small,.plantItem em{font-size:var(--fs-10);color:var(--ink-300);font-style:normal;letter-spacing:0}.plantItem .plantRowCheck{width:14px;height:14px;min-height:0;margin:0;padding:0;cursor:pointer;accent-color:#153f80}.plantItem .plantRowMain{display:grid;gap:2px;min-width:0}.plantItem .plantRowMain>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plantItem .plantRowPts{justify-self:end;min-width:28px;padding:1px 4px;border:1px solid var(--border-soft);background:var(--surface-2);color:var(--ink-700);font-size:var(--fs-10);font-weight:var(--fw-bold);text-align:center}.plantItem .plantRowStatus{justify-self:center;width:9px;height:9px;border:1px solid var(--border-mid);background:#a8b3c5}.plantItem .plantRowStatus.ok{background:#2f9e44;border-color:#1f7a33}.plantItem .plantRowStatus.warn{background:#d08b21;border-color:#a66f17}.plantItem .plantRowStatus.error{background:#d1242f;border-color:#a40e1f}.plantItem.checked:not(.selected){background:var(--surface-4)}.plantFilterBar{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-3)}.plantFilterAdd{font-size:var(--fs-10);padding:2px 4px;min-height:0}.plantFilterPills{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-4)}.filterPill{display:inline-flex;align-items:center;gap:4px;padding:2px 4px 2px 8px;background:var(--surface-5);border:1px solid var(--blue-200);color:var(--ink-900);font-size:var(--fs-10)}.filterPill em{font-style:normal;font-weight:var(--fw-bold);color:var(--blue-200);text-transform:uppercase;letter-spacing:var(--tracking-chip)}.filterPill button{min-height:0;padding:0 3px;border:0;background:transparent;color:var(--ink-400);font-weight:var(--fw-bold);cursor:pointer}.filterPill button:hover{color:var(--ink-900)}.filterPillClear{min-height:0;padding:2px 6px;border:0;background:transparent;color:var(--ink-300);font-size:var(--fs-10);text-decoration:underline;cursor:pointer}.plantSelectFooter{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border-mid);background:var(--surface-2);font-size:var(--fs-11)}.plantSelectCount{font-weight:var(--fw-bold);color:var(--ink-700);margin-right:auto}.plantSelectFooter button{min-height:0;padding:3px 8px;font-size:var(--fs-10)}.plantBulkBar{display:flex;flex-wrap:wrap;align-items:end;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);border-top:1px dashed var(--blue-200);background:var(--surface-4)}.plantBulkBar>strong{flex-basis:100%;font-size:var(--fs-11);color:var(--blue-200)}.plantBulkBar label{display:grid;gap:2px;font-size:var(--fs-10);font-weight:var(--fw-bold);color:var(--ink-500);text-transform:uppercase;letter-spacing:var(--tracking-chip)}.plantBulkBar input,.plantBulkBar select{min-height:0;font-size:var(--fs-11)}.plantBulkBar button.danger{align-self:end;min-height:0;padding:3px 8px;font-size:var(--fs-10)}.editorSeverityBadge{text-transform:uppercase;letter-spacing:var(--tracking-chip);font-size:var(--fs-10);font-weight:var(--fw-bold);padding:1px 6px;border:1px solid transparent}.editorSeverityBadge.ok{background:#e7f6ec;color:#1a7f37;border-color:#b8dfc8}.editorSeverityBadge.warn{background:var(--warning-bg);color:var(--warning-fg);border-color:#edd2a8}.editorSeverityBadge.error{background:#fdeceb;color:#a40e1f;border-color:#f5b7b1}.telemetryTable input,.telemetryTable select{width:100%;min-height:0;font-size:var(--fs-11);padding:1px 3px}.telemetryTable input[type=number]{width:64px}.telemetryTable th{white-space:nowrap}.fdPreview{margin-top:var(--sp-4);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-soft-2);background:var(--surface-1)}.fdPreview h4{margin:0 0 var(--sp-2);font-size:var(--fs-11);text-transform:uppercase;letter-spacing:var(--tracking-chip);color:var(--ink-500)}.fdPreview p{margin:2px 0;font-size:var(--fs-11);color:var(--ink-700)}.alarmMessageRow{display:grid;grid-template-columns:180px minmax(0,1fr);gap:var(--sp-3);align-items:center;margin-bottom:3px}.alarmMessageRow span{font-size:var(--fs-10);color:var(--ink-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alarmMessageRow input{font-family:monospace;font-size:var(--fs-10);min-height:0}@media (max-width: 900px){.plantListControls{grid-template-columns:1fr}}.plantEditorTabs{display:flex;border-bottom:1px solid var(--border-mid);background:var(--surface-2);margin:0;padding:0 var(--sp-3);gap:0}.plantEditorTab{background:transparent;border:0;border-bottom:2px solid transparent;height:30px;padding:0 var(--sp-5);font-size:var(--fs-11);font-weight:var(--fw-bold);color:var(--ink-400);cursor:pointer;text-transform:uppercase;letter-spacing:var(--tracking-chip);border-radius:0;display:inline-flex;align-items:center;gap:var(--sp-3)}.plantEditorTab:hover{color:var(--ink-900);background:var(--surface-4)}.plantEditorTab.active,.plantEditorTab[aria-selected=true]{color:var(--ink-900);border-bottom-color:var(--blue-200);background:var(--surface-0)}.plantEditorTab>.tabBadge,.plantEditorTab>.count,.plantEditorTab>[data-count]{background:#a8b3c5;color:var(--fg-on-chrome);font-size:9.5px;font-weight:var(--fw-bold);padding:0 5px;border-radius:var(--r-0);min-width:14px;text-align:center;letter-spacing:var(--tracking-cap)}.plantEditorTab.active>.tabBadge,.plantEditorTab.active>.count{background:var(--blue-200);color:var(--fg-on-chrome)}.plantEditorTabPanel{background:var(--surface-2);padding:var(--sp-5) var(--sp-5);border:0}.plFieldGrid,.plDimGrid,.optionGrid,.paramGrid,.membershipGrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp-4) var(--sp-5)}@media (max-width: 900px){.plFieldGrid,.plDimGrid,.optionGrid,.paramGrid,.membershipGrid{grid-template-columns:1fr}}.plFieldGrid>label,.plDimGrid>label,.optionGrid>label,.paramGrid>label,.membershipGrid>label{display:grid;gap:3px}.checkRow{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-soft);background:var(--surface-0);font-size:var(--fs-11);font-weight:var(--fw-medium);color:var(--ink-700);text-transform:uppercase;letter-spacing:var(--tracking-chip)}.checkRow input[type=checkbox]{width:14px;height:14px;min-height:14px;margin:0}.plMetricRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--sp-3);margin-bottom:var(--sp-5)}.plMetricLabel{font-size:var(--fs-9);text-transform:uppercase;letter-spacing:var(--tracking-cap);color:var(--ink-400);font-weight:var(--fw-bold)}.plMetricValue{font-size:var(--fs-16);font-weight:var(--fw-heavy);color:var(--ink-900)}.assemblyPanel{background:var(--surface-2);border:1px solid var(--border-mid)}.assemblyPanelHeader{background:var(--chrome-gradient-panel);color:var(--fg-on-chrome);text-transform:uppercase;letter-spacing:var(--tracking-chip);font-size:var(--fs-12);font-weight:var(--fw-heavy);padding:var(--sp-4) var(--sp-5);display:flex;justify-content:space-between;align-items:center}.schSidebar{background:var(--surface-2);border:1px solid var(--border-mid)}.schSidebarTitle{background:var(--chrome-gradient-panel);color:var(--fg-on-chrome);text-transform:uppercase;letter-spacing:var(--tracking-chip);font-size:var(--fs-12);font-weight:var(--fw-heavy);padding:var(--sp-4) var(--sp-5);line-height:var(--lh-tight)}.schPlantRow{display:grid;grid-template-columns:60px 1fr auto;gap:var(--sp-3);align-items:center;padding:5px var(--sp-5);border-bottom:1px solid var(--border-row);cursor:pointer;background:var(--surface-0);border-left:3px solid transparent;font-size:var(--fs-11);transition:background var(--t-fast)}.schPlantRow:hover{background:var(--surface-4)}.schPlantRow.active,.schPlantRow[aria-selected=true]{background:var(--surface-6);border-left-color:#153f80}.schPlantTag{font-weight:var(--fw-bold);color:var(--ink-900);font-size:var(--fs-12)}.schPlantName{color:var(--ink-400);font-size:var(--fs-10)}.schPlantCtrl{background:var(--surface-5);color:var(--ink-900);padding:0 5px;font-size:var(--fs-9);font-weight:var(--fw-bold);letter-spacing:var(--tracking-cap)}.schPlantRowDisabled{opacity:.55;cursor:not-allowed}.schPlantRowDisabled:hover{background:var(--surface-0)}.schPlantRowRoadmap{opacity:.78;cursor:pointer}.schPlantRowRoadmap:hover{background:var(--surface-2)}.schStatus{font-size:var(--fs-10);color:var(--ink-300);font-style:normal}.diagramFrame,.diagramTabPanel iframe{width:100%;height:72vh;min-height:540px;border:1px solid var(--border-mid);background:var(--surface-0)}.diagramToolbar{display:flex;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5);background:var(--surface-2);border:1px solid var(--border-mid);border-bottom:0;font-size:var(--fs-11)}.documentPreviewPanel{background:var(--workspace-300);padding:var(--sp-7);border:1px solid var(--border-mid)}.documentPage{width:820px;max-width:100%;margin:0 auto;padding:48px 64px;background:var(--surface-0);border:1px solid var(--doc-page-border);box-shadow:var(--shadow-doc);font-family:var(--font-doc);color:var(--doc-ink);font-size:var(--fs-doc-body);line-height:var(--lh-doc)}.documentPage h1{font-family:var(--font-doc-heading);font-size:22px;color:var(--doc-heading-fg);margin-bottom:12px;font-weight:var(--fw-heavy)}.documentPage h2{font-family:var(--font-doc-heading);font-size:var(--fs-15);color:var(--doc-heading-fg);background:transparent;padding:0;margin:22px 0 9px;text-transform:none;letter-spacing:0;font-weight:var(--fw-heavy)}.documentPage h3{font-family:var(--font-doc-heading);font-size:var(--fs-13);color:var(--doc-heading-fg2);margin:14px 0 6px;text-transform:none;letter-spacing:0;font-weight:var(--fw-medium)}.documentPage .docBullet{padding-left:18px;position:relative}.documentPage .docBullet:before{content:"•";position:absolute;left:3px;color:var(--doc-heading-fg)}.documentPage .docTableRow{font-family:var(--font-mono);font-size:var(--fs-10);background:var(--doc-table-bg);border-left:3px solid var(--doc-table-rule);padding:2px 8px;margin:1px 0}.authShell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--chrome-gradient);padding:var(--sp-7)}.authCard{width:100%;max-width:360px;background:var(--surface-2);border:1px solid var(--border-mid);border-radius:var(--r-0);padding:0;box-shadow:var(--shadow-none);display:flex;flex-direction:column}.authCard>*{margin:var(--sp-5) var(--sp-5) 0}.authCard>*:last-child{margin-bottom:var(--sp-5)}.authCard h1{margin:0;background:var(--chrome-gradient-panel);color:var(--fg-on-chrome);text-transform:uppercase;letter-spacing:var(--tracking-chip);font-size:var(--fs-12);font-weight:var(--fw-heavy);padding:var(--sp-4) var(--sp-5)}.authSubtitle{margin:var(--sp-5) var(--sp-5) 0;color:var(--ink-400);font-size:var(--fs-11)}.authCard label{margin:var(--sp-3) var(--sp-5) 0}.authCard input[type=email],.authCard input[type=password],.authCard input[type=text]{font-size:var(--fs-11);padding:var(--sp-2) 7px;min-height:var(--h-input-lg);margin-top:3px}.authCard button[type=submit]{margin:var(--sp-5) var(--sp-5) 0;background-image:linear-gradient(180deg,#2864d5,#1e4db7 60%,#163f88);background-color:var(--blue-200);color:var(--fg-on-chrome);border-color:var(--blue-050);min-height:var(--h-input-lg);padding:0 var(--sp-5);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-cap)}.authLinkBtn{background:transparent;border:0;color:var(--link);text-decoration:underline;cursor:pointer;font-size:var(--fs-10);padding:var(--sp-3) 0;margin:0 var(--sp-5)}.authStatus{margin:var(--sp-3) var(--sp-5) 0;padding:var(--sp-3) var(--sp-4);font-size:var(--fs-10);background:var(--warning-bg);border:1px solid #f0d8a6;border-left:3px solid var(--warning-rule);color:var(--warning-fg)}.authBackend{margin:var(--sp-5) var(--sp-5) var(--sp-5);font-size:9px;color:var(--ink-100);text-align:center;text-transform:uppercase;letter-spacing:var(--tracking-cap)}.bucketBtn{background:var(--surface-0);border:1px solid var(--border-soft);padding:var(--sp-3) var(--sp-4);font-size:var(--fs-11);color:var(--ink-700);cursor:pointer;text-transform:uppercase;letter-spacing:var(--tracking-chip);font-weight:var(--fw-bold);border-radius:var(--r-0);transition:background var(--t-base),border-color var(--t-base)}.bucketBtn:hover{background:var(--surface-4);border-color:var(--blue-400)}.bucketBtn.active,.bucketBtn[aria-pressed=true]{background:var(--blue-200);color:var(--fg-on-chrome);border-color:var(--blue-050)}.docList,.docListRow{border-radius:var(--r-0);box-shadow:var(--shadow-none)}.docListRow{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:var(--sp-3);padding:5px var(--sp-5);border-bottom:1px solid var(--border-row);background:var(--surface-0);font-size:var(--fs-11)}.docListRow:hover{background:var(--surface-4)}.docListName{font-weight:var(--fw-bold);color:var(--ink-900)}.docListStatus{font-size:var(--fs-10);color:var(--ink-300)}.severity-high{background:var(--severity-high-bg);color:var(--severity-high-fg);padding:1px 6px;font-size:var(--fs-10);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-badge);border-radius:var(--r-0)}.severity-medium{background:var(--severity-medium-bg);color:var(--severity-medium-fg);padding:1px 6px;font-size:var(--fs-10);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-badge);border-radius:var(--r-0)}.severity-low{background:var(--severity-low-bg);color:var(--severity-low-fg);padding:1px 6px;font-size:var(--fs-10);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-badge);border-radius:var(--r-0)}code,pre,kbd,samp{font-family:var(--font-mono);font-size:var(--fs-10)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--surface-2)}::-webkit-scrollbar-thumb{background:var(--border-mid);border:2px solid var(--surface-2)}::-webkit-scrollbar-thumb:hover{background:var(--ink-300)}.topbar{display:grid;grid-template-columns:1fr auto;gap:var(--sp-4);background:var(--surface-0);border:1px solid #9aaabd;padding:0;align-items:stretch;margin:0 0 var(--sp-3)}.topbar>div:first-child{display:grid;gap:2px;min-width:0}.topbar h1{margin:0;padding:var(--sp-4) var(--sp-5) 2px;color:var(--ink-900);font-size:var(--fs-15);font-weight:var(--fw-heavy);line-height:var(--lh-title);background:transparent;text-transform:none;letter-spacing:0}.topbar p{margin:0;padding:0 var(--sp-5) var(--sp-4);color:var(--ink-400);font-size:var(--fs-11);line-height:var(--lh-body)}.topActions{display:flex;gap:6px;justify-content:flex-end;align-items:center;flex-wrap:wrap;padding:7px;min-width:300px}.reviewGrid{display:grid;gap:var(--sp-3);grid-template-columns:minmax(420px,.95fr) minmax(520px,1.05fr);align-items:start}.editorGrid{display:grid;gap:var(--sp-3);grid-template-columns:minmax(680px,1fr) 320px;align-items:start}.systemsGrid{display:grid;gap:var(--sp-3);grid-template-columns:340px minmax(560px,1fr);align-items:start}.previewGrid{display:grid;gap:var(--sp-3);grid-template-columns:minmax(560px,1fr) 320px;align-items:start}.libraryGrid{display:grid;gap:var(--sp-3);grid-template-columns:280px minmax(560px,1fr);align-items:start}.hwCardGrid{display:grid;gap:var(--sp-3);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}@media (max-width: 1180px){.reviewGrid,.editorGrid,.systemsGrid,.previewGrid,.libraryGrid{grid-template-columns:1fr}.editorGrid>:nth-child(2),.previewGrid>:nth-child(2){width:100%}}.fdHeading{margin:0;font-weight:var(--fw-bold)}.fdHeading.level1{padding:var(--sp-4) var(--sp-5);background:#e4e8ee;font-size:var(--fs-12);color:var(--ink-900);text-transform:uppercase;letter-spacing:var(--tracking-cap);font-weight:var(--fw-heavy)}.fdHeading.level2{margin:var(--sp-4) var(--sp-5) 0;font-size:var(--fs-12);color:#243a5c;font-weight:var(--fw-bold)}.fdBlock{display:grid;gap:6px;border:1px solid #dfe6f1;background:var(--surface-1);padding:var(--sp-4);margin:0 var(--sp-5) var(--sp-4)}.fdBlock.overridden{border-color:#a7c5ec;background:#f5f9ff}.fdBlock textarea{width:100%;min-height:70px;resize:vertical;line-height:var(--lh-body);font-size:var(--fs-11);font-family:var(--font-ui);padding:6px var(--sp-4);border:1px solid #d0d8e8;color:#273750;background:var(--surface-0)}.blockMeta{display:flex;justify-content:space-between;gap:var(--sp-5);align-items:center;color:#6a7890;font-size:var(--fs-11)}.blockMeta strong{color:#273750}.blockMeta button{min-height:26px;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-11)}.overrideBadge{background:#def;color:#1f5fa6;padding:1px 6px;font-size:var(--fs-11);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--tracking-chip);border-radius:var(--r-0)}.editorMeta{display:flex;flex-wrap:wrap;gap:7px;padding:var(--sp-5)}.editorMeta>span{background:#edf2f8;border:1px solid #dce4ef;padding:var(--sp-2) var(--sp-4);font-weight:var(--fw-bold);font-size:var(--fs-10);color:var(--ink-400);text-transform:uppercase;letter-spacing:var(--tracking-chip)}.pointChips{display:flex;flex-wrap:wrap;gap:6px;padding:0 var(--sp-5) var(--sp-5)}.pointChips>span{background:#f0f4f9;border:1px solid #dce5f0;padding:var(--sp-2) var(--sp-4);font-size:var(--fs-10);font-weight:var(--fw-semi);color:var(--ink-400);font-family:var(--font-mono)}.documentPreviewPanel{background:var(--workspace-300);padding:0;align-content:start}.documentPreviewPanel>h2{background:var(--chrome-gradient-panel);color:var(--fg-on-chrome)}.documentPage{width:min(100%,720px);margin:18px auto;padding:38px 44px;background:var(--surface-0);border:1px solid var(--doc-page-border);box-shadow:var(--shadow-doc);color:var(--doc-ink);font-family:var(--font-doc);font-size:var(--fs-doc-body);line-height:var(--lh-doc)}.documentPage h1{font-family:var(--font-doc-heading);font-size:22px;margin:0 0 18px;color:var(--ink-900);font-weight:var(--fw-heavy);line-height:1.15;background:transparent;padding:0;text-transform:none;letter-spacing:0}.documentPage h2{font-family:var(--font-doc-heading);font-size:var(--fs-15);color:var(--doc-heading-fg);margin:22px 0 9px;background:transparent;padding:0;text-transform:none;letter-spacing:0;font-weight:var(--fw-bold);line-height:var(--lh-snug)}.documentPage h3{font-family:var(--font-doc-heading);font-size:var(--fs-13);color:var(--doc-heading-fg2);margin:14px 0 6px;font-weight:var(--fw-medium);text-transform:none;letter-spacing:0}.documentPage p{margin:0 0 9px}.topologyCanvas{display:grid;gap:var(--sp-5);padding:var(--sp-6);background:#f7faff;border:1px solid #d9e2ef;margin:var(--sp-5)}.topologyLane{background:var(--surface-0);border:1px solid #cbd8ea;padding:var(--sp-5) var(--sp-6);display:grid;gap:var(--sp-2)}.topologyLane>strong{color:#173865;font-size:var(--fs-12);font-weight:var(--fw-bold)}.topologyLane>span{color:#65758d;font-size:var(--fs-11)}.topologyLane ul{margin:var(--sp-2) 0 0;padding:0 0 0 var(--sp-8);color:#1b2b43;font-size:var(--fs-11)}.netTierHeader{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding:4px var(--sp-5);background:#e3e8f0;border:1px solid #c5d0df;color:var(--ink-900);font-size:var(--fs-10);text-transform:uppercase;letter-spacing:var(--tracking-cap);font-weight:var(--fw-bold)}.bucketSelector{display:flex;gap:5px;flex-wrap:wrap;margin:var(--sp-5)}.bucketBtn{min-height:var(--h-input-lg);padding:var(--sp-2) var(--sp-5);font-size:var(--fs-11);font-weight:var(--fw-medium);border:1px solid #c5cfdd;background:#f4f7fc;color:var(--ink-300);text-transform:none;letter-spacing:0}.bucketBtn:hover{border-color:#3367b2;background:#eaf2ff;color:var(--ink-900)}.bucketBtn.active,.bucketBtn[aria-pressed=true]{background:var(--blue-200);border-color:var(--blue-200);color:var(--fg-on-chrome)}.btn{display:inline-block;padding:7px 18px;border:none;border-radius:var(--r-0);cursor:pointer;font-size:var(--fs-12);font-weight:var(--fw-semi);transition:background-color .14s ease,border-color .14s ease;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:focus-visible{outline:2px solid var(--blue-300);outline-offset:2px}.btn--primary{background:linear-gradient(180deg,#1e5b9d,#133c78 52%,#0d2a64);color:var(--fg-on-chrome);border:1px solid #082151;font-weight:var(--fw-semi)}.btn--primary:hover:not(:disabled){background:linear-gradient(180deg,#2e6fcb,#1a5ab8);border-color:#0d2a64}.btn--primary:active:not(:disabled){background:linear-gradient(180deg,#1a5ab8,#0d2a64)}.btn--approve{background:linear-gradient(180deg,#228040,#1a5c2e 60%,#134522);color:var(--fg-on-chrome);border:1px solid var(--green-700);font-weight:var(--fw-semi)}.btn--approve:hover:not(:disabled){background:linear-gradient(180deg,#2c9450,#236b38 60%,#185228);border-color:var(--green-900)}.btn--approve:active:not(:disabled){background:linear-gradient(180deg,#1a5c2e,#134522)}.btn--default{background:linear-gradient(180deg,#fff,#e8e8e8);color:var(--ink-900);border:1px solid #9eabbc}.btn--default:hover:not(:disabled){background:linear-gradient(180deg,#f5f7fc,#e8e8e8);border-color:var(--blue-400)}.btn--default:active:not(:disabled){background:linear-gradient(180deg,#e8e8e8,#dcdcdc)}.btn--danger{background:linear-gradient(180deg,#dc46468c,#b428288c);color:var(--fg-on-chrome);border:1px solid rgba(255,120,120,.4);font-weight:var(--fw-semi)}.btn--danger:hover:not(:disabled){background:linear-gradient(180deg,#dc4646d9,#b42828d9);border-color:#ff7878b3}.btn--danger:active:not(:disabled){background:linear-gradient(180deg,#b42828d9,#8c1414d9)}.ds-shell{width:100%;height:100%;overflow:hidden}.ds-shell .topbar{display:flex;align-items:center;gap:14px;padding:0 16px 0 14px;background:linear-gradient(180deg,var(--bg-1),oklch(.16 .013 256));border-bottom:1px solid var(--line);border-top:none;border-left:none;border-right:none;grid-column:1 / -1;grid-row:1;z-index:30}[data-theme=light] .ds-shell .topbar{background:linear-gradient(180deg,var(--panel),var(--bg-1))}.ds-shell .ds-workspace{display:block;grid-row:2;grid-column:2;overflow:auto;min-height:0;padding:0;position:relative}.ds-shell .ds-workspace{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(var(--grid-line-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4);background-position:-1px -1px}.ds-shell .sheetMarks{grid-row:2;grid-column:2;position:relative;pointer-events:none;z-index:6}.ds-shell .statusbar{grid-column:1 / -1;grid-row:3}@media (max-width: 1180px){.ds-shell:not(.railCollapsed) .rail{width:var(--w-rail)}}[data-theme=light] .ds-shell .ds-workspace{background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px),linear-gradient(var(--grid-line-major) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line-major) 1px,transparent 1px);background-size:var(--grid-size) var(--grid-size),var(--grid-size) var(--grid-size),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4),calc(var(--grid-size) * 4) calc(var(--grid-size) * 4);background-position:-1px -1px}
