.equipment-layout { display:grid; grid-template-columns:170px minmax(0,1fr); gap:12px; min-width:0; align-items:start; }
.equipment-layout h4 { margin:0 0 10px; font-size:14px; }
.equipment-tree, .equipment-properties { border:1px solid var(--line); border-radius:6px; background:#fff; padding:12px; min-width:0; }
.equipment-tree ul { list-style:none; padding:0; margin:8px 0 16px; display:grid; gap:5px; }
.equipment-tree button { width:100%; text-align:left; white-space:normal; padding:7px; font-size:12px; }
.equipment-tree button[aria-current="true"] { border-color:#b98600; background:#fff4b9; color:#17202a; }
.equipment-tree small { display:block; font-size:11px; margin-top:4px; color:var(--muted); }
.equipment-tree-stream > strong { font-size:12px; }
.equipment-module-label { font-size:11px; color:#89590e; padding:6px 0 0; border-top:1px dashed #b8955c; }
.equipment-workspace { min-width:0; display:grid; gap:10px; }
.equipment-workspace > * { min-width:0; max-width:100%; }
.equipment-toolbar { display:flex; flex-wrap:wrap; gap:8px; }
.equipment-toolbar [aria-pressed="true"] { background:var(--accent); color:#fff; }
.equipment-properties { display:grid; grid-column:2; gap:10px; }
.equipment-properties[hidden] { display:none; }
.equipment-properties .param-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.equipment-property-fields { display:grid; gap:10px; }
.equipment-properties input, .equipment-properties select { min-width:0; width:100%; }
.equipment-properties input:invalid { border-color:#ae3535; }
.equipment-module-option { display:flex; gap:8px; align-items:center; }
.equipment-module-option input { width:auto; min-height:0; }
.equipment-status { font-size:12px; border-left:3px solid var(--accent); padding:7px 10px; background:#eaf3f6; }
.equipment-issues { color:#9c2929; font-size:12px; overflow-wrap:anywhere; }
.equipment-symbol { display:block; width:100%; height:100%; max-height:125px; }
.assembly-card.is-module-start { border-left:4px solid #b06e18; }
.equipment-drawing-scroll { overflow:auto; min-width:0; max-width:100%; }
.equipment-drawing { width:100%; min-width:650px; display:block; background:#fff; color:#23576b; }
.equipment-drawing text { fill:#173d4b; font:13px Arial,sans-serif; }
.equipment-drawing [data-drawing-token] { cursor:pointer; }
.equipment-drawing [data-drawing-token]:focus { outline:2px solid #b98600; }
.geometry-view-caption { display:grid; gap:5px; font-size:12px; margin-bottom:8px; }
.geometry-view-caption strong { font-size:13px; }
.geometry-drawing { color:var(--ink, #173d4b); }
.geometry-drawing path, .geometry-drawing circle, .geometry-drawing rect { fill:none; stroke:currentColor; stroke-width:1; }
.geometry-drawing text { fill:currentColor; font:12px Arial,sans-serif; }
.geometry-drawing [data-drawing-section] { fill:#f8fafb; stroke:#526a77; stroke-width:1.2; }
.geometry-drawing .is-selected [data-drawing-section] { fill:#fff4b9; stroke:#946500; stroke-width:2; }
.geometry-drawing .geometry-contour { color:#486574; }
.geometry-drawing .geometry-contour path, .geometry-drawing .geometry-contour circle, .geometry-drawing .geometry-contour rect { vector-effect:non-scaling-stroke; }
.geometry-drawing .is-selected .geometry-contour { color:#805800; }
.geometry-drawing .geometry-axis { stroke-dasharray:5 3; stroke-opacity:.65; }
.geometry-drawing .geometry-airflow { color:var(--accent); }
.geometry-drawing .geometry-airflow path { stroke-width:1.5; }
.geometry-drawing .geometry-dimension { color:#50626c; }
.geometry-drawing .geometry-dimension text, .geometry-drawing .geometry-note { font-size:11px; }
.geometry-drawing .geometry-stream-title { font-weight:600; }
.geometry-drawing .geometry-module-boundary { color:#996822; }
.geometry-drawing .geometry-module-boundary path { stroke-dasharray:5 3; }
.geometry-legend { display:flex; flex-wrap:wrap; gap:5px 18px; color:var(--muted); font-size:12px; margin-top:8px; }
.geometry-section-list { font-size:12px; margin-top:7px; overflow-wrap:anywhere; }
.equipment-drawing-scroll { border:1px solid var(--line); border-radius:5px; }
.geometry-library-dialog { width:min(960px,96vw); }
.geometry-library-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:24px; }
.geometry-library-grid section { display:grid; gap:10px; align-content:start; min-width:0; }
.geometry-library-grid h3 { margin:8px 0 0; }
.geometry-library-preview { min-height:120px; max-height:220px; border:1px solid var(--line); padding:12px; background:#fff; }
.geometry-library-preview svg { display:block; width:100%; height:190px; }
.geometry-library-preview polyline { fill:none; stroke:#23576b; stroke-width:1.2; vector-effect:non-scaling-stroke; }
.geometry-frame-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.geometry-binding-panel { display:grid; gap:8px; border-top:1px solid var(--line); padding-top:12px; }
.geometry-drawing [data-library-geometry] polyline { fill:none; stroke:currentColor; stroke-width:1.1; vector-effect:non-scaling-stroke; }
.geometry-drawing .geometry-library-overflow { color:#a12e1c; }
@media(max-width:760px){.geometry-library-grid { grid-template-columns:minmax(0,1fr); }.geometry-frame-fields { grid-template-columns:minmax(0,1fr); }}
[data-equipment-drawing][hidden], [data-equipment-assembly][hidden] { display:none; }
@media(max-width:1200px) { .equipment-layout { grid-template-columns:145px minmax(0,1fr); } .equipment-properties .param-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .equipment-layout { grid-template-columns:minmax(0,1fr); } .equipment-tree { max-height:240px; overflow:auto; } .equipment-properties { grid-column:1; } .equipment-properties .param-grid { grid-template-columns:1fr; } }
