:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#243f50;background:#edf2f5;font-synthesis:none;font-size:13px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{border:1px solid #d4dfe5;background:#fff;color:#365164;border-radius:5px;padding:9px 12px;min-height:38px;cursor:pointer;font-weight:600;transition:background .15s}button:hover{background:#edf5f7;border-color:#a6bdc9}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #00a695;outline-offset:2px}button:disabled{opacity:.4;cursor:not-allowed}input,select,textarea{border:1px solid #cedce3;border-radius:4px;padding:10px;color:#243f50;background:#fff;width:100%;min-height:40px}textarea{resize:vertical}label{display:flex;flex-direction:column;gap:7px;font-size:12px;font-weight:600}h1,h2,h3,p{margin:0}h1{font-size:21px;font-weight:650;letter-spacing:-.5px}h2{font-size:16px;letter-spacing:-.3px}h3{font-size:15px}p{line-height:1.6}hr{border:0;border-top:1px solid #e1e8ed;margin:22px 0}.app-shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{height:68px;background:#132c3b;color:#f7fafc;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.brand{display:flex;gap:12px;align-items:center;font-size:14px;font-weight:700;letter-spacing:2px}.brand>div>span{display:block;font-size:10px;letter-spacing:3px;margin-top:3px;color:#9eb9c8}.brand small{font-size:8px;letter-spacing:1.2px;color:#7597a9}.brand-icon{border:1px solid #5c8194;width:34px;height:35px;padding:3px 7px;position:relative;font-size:25px;line-height:26px;font-weight:400}.brand-icon span{position:absolute;font-size:25px;left:15px;top:8px;color:#3cc1b0}.top-actions,.button-row{display:flex;gap:8px;align-items:center}.dark-button{background:#243f50;color:#e1ebf0;border-color:#3a5464}.export-button{background:#19a391;color:#fff;border-color:#19a391}.export-button:hover{background:#118578;color:#fff}.draft-banner{background:#fff5df;border-bottom:1px solid #eddcb5;color:#8e651e;font-size:11px;padding:8px 24px;display:flex;justify-content:space-between;letter-spacing:.2px}.draft-banner b{letter-spacing:.65px;font-size:10px}.version{font-family:monospace}.project-bar{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:#fff;gap:18px}.eyebrow{display:block;color:#708998;font-size:9px;letter-spacing:1.4px;font-weight:700;margin-bottom:8px}.project-title p{font-size:11px;color:#758995;margin-top:5px}.project-controls{display:flex;gap:7px;flex-wrap:wrap}.project-controls button{font-size:11px}.stage-bar{display:flex;background:#f9fbfc;border-top:1px solid #e0e7eb;border-bottom:1px solid #d6e1e7;padding:0 20px;align-items:center;gap:10px}.stage-tabs{display:flex;overflow-x:auto;flex:1;scrollbar-width:thin}.stage-tab{border:0;border-radius:0;background:transparent;white-space:nowrap;min-height:57px;font-size:11px;border-bottom:3px solid transparent;padding:10px 16px;color:#708593;display:flex;gap:10px;align-items:center}.stage-tab span{border:1px solid #d2dfe6;font-size:10px;border-radius:50%;padding:4px;width:24px;height:24px}.stage-tab.active{background:#edf6f5;border-bottom-color:#0b9588;color:#137e75}.stage-tab.active span{background:#168f83;color:#fff;border-color:#168f83}.add-stage{white-space:nowrap;font-size:11px;background:transparent;border:0}.workspace-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#fff;border-bottom:1px solid #dce5ea;gap:8px}.mode-switch{display:flex;background:#eef3f6;padding:3px;border-radius:6px;gap:3px}.mode-switch button{border:0;background:transparent;font-size:11px;min-height:32px;padding:7px 13px}.mode-switch button.active{background:#fff;box-shadow:0 1px 4px #19374915;color:#157c76}.mode-switch span{background:#e5edf1;padding:1px 5px;border-radius:4px;font-size:10px}.stage-actions{display:flex;gap:3px}.stage-actions button{border:0;background:transparent;color:#718693;font-size:10px;padding:6px 9px}.drawing-workspace{display:grid;grid-template-columns:240px minmax(300px,1fr) 264px;flex:1;min-height:540px;height:calc(100dvh - 306px)}.panel{background:#fff;overflow-y:auto}.library{border-right:1px solid #d8e2e8}.properties{border-left:1px solid #d8e2e8}.panel-heading{padding:22px 18px 15px;border-bottom:1px solid #e8eef1}.panel-heading p{font-size:11px;color:#8699a5;margin-top:7px}.equipment-list{padding:9px}.library-item{display:flex;align-items:center;width:100%;border:1px solid transparent;gap:10px;padding:7px;text-align:left;min-height:58px;font-weight:400}.library-item svg{width:42px;height:42px;background:#f4f7f9;border-radius:4px;flex-shrink:0;padding:4px}.library-item strong{font-size:11px;display:block}.library-item small{font-size:9px;display:block;color:#8b9ba5;margin-top:5px}.add-sign{margin-left:auto;color:#849aa7}.library-note{margin:15px 18px;padding-top:18px;border-top:1px solid #e7edf0;font-size:10px;color:#8a9ca7}.canvas{position:relative;min-height:520px;overflow:hidden;background:#f1f5f8;touch-action:none}.canvas-label{position:absolute;z-index:5;top:18px;left:20px;pointer-events:none;background:#f1f5f8e8;padding:8px 12px;border-left:2px solid #168e84}.canvas-label b{font-size:11px;display:block}.canvas-label span{font-size:9px;color:#8297a4;display:block;margin-top:5px}.canvas-note{position:absolute;bottom:20px;right:20px;pointer-events:none;font-size:8px;font-weight:700;letter-spacing:1px;color:#91a4af}.canvas-note span{display:block;font-weight:400;letter-spacing:0;margin-top:4px;text-align:right}.equipment-node{width:120px;height:120px;border-radius:8px;outline:2px solid transparent}.equipment-node.selected{outline:2px dashed #12a292;background:#14a28e0b}.node-tag{position:absolute;top:126px;text-align:center;left:50%;transform:translate(-50%);white-space:nowrap;font-family:ui-monospace,Consolas,monospace;font-size:12px;color:#405f72;background:#f5f9fbe6;padding:2px 5px;border-radius:3px}.react-flow__handle{width:13px!important;height:13px!important;background:#fff!important;border:2px solid #548c9e!important;min-width:13px!important;min-height:13px!important}.react-flow__handle:hover{background:#18b69f!important}.react-flow__controls{box-shadow:0 2px 8px #1c45551a!important}.react-flow__controls-button{width:36px!important;height:36px!important}.empty-selection{text-align:center;padding:35px 23px;color:#91a2ad}.crosshair{font-size:40px;color:#b4c7d1;margin-bottom:18px}.empty-selection h3{color:#587384;font-size:13px;margin-bottom:12px}.empty-selection p{font-size:11px}.help-card{margin:12px 18px;background:#f3f7f9;border:1px solid #e0e9ee;padding:14px;font-size:10px;color:#8399a6;border-radius:5px}.help-card strong{color:#526f80}.help-card p{margin-top:8px}.property-body{padding:17px;display:flex;flex-direction:column;gap:15px}.property-body hr{margin:4px 0}.property-body .eyebrow{margin:0}.property-body .button-row button{flex:1;font-size:11px}.equipment-id{font-size:9px;line-height:1.7;word-break:break-all;color:#91a4ae;font-weight:400}.state-badge{display:inline-block;padding:5px 7px;background:#edf2f5;color:#748a97;font-size:10px;border-radius:4px;margin-top:12px}.state-badge.closedLocked{background:#fff2d9;color:#9b6c24}.state-badge.open{background:#def6ef;color:#147e70}.state-badge.removed{background:#f9e9e3;color:#ae6347}.coordinates{display:flex;gap:15px;font-family:monospace;font-size:10px;color:#8ca0ad}.coordinates b{font-weight:400;color:#466577;margin-left:8px}.muted{font-size:11px;color:#8295a1}.danger{color:#b36b60}.action-button{display:flex;justify-content:space-between;color:#117e73;border-color:#c6dfdb;background:#f5fbf9;font-size:11px}.notice{background:#fff8eb;border-left:3px solid #dab26b;color:#9b7d48;font-size:10px;line-height:1.6;padding:12px}.connection-row{display:flex;align-items:center;justify-content:space-between}.connection-row button{font-size:9px;min-height:32px}.report-workspace{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:28px 36px;min-height:540px}.report-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;gap:20px}.report-heading h2{font-size:24px}.report-heading p{font-size:11px;color:#7a919f;margin-top:6px}.report-heading button{font-size:11px}.report-step{background:#fff;border:1px solid #dce6eb;border-radius:7px;margin-top:14px;padding:20px;display:flex;gap:18px}.step-number{background:#edf6f4;color:#278b7f;width:32px;height:32px;display:grid;place-items:center;border-radius:5px;font-family:monospace;flex-shrink:0}.step-content{flex:1;min-width:0}.step-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.8px;color:#8da0ab;margin-bottom:10px}.step-content textarea{width:100%;min-height:70px;line-height:1.6;font-size:13px;border-color:#e3ebef}.step-content small{display:block;color:#94a5af;font-size:9px;margin-top:8px;word-break:break-all}.step-tools{display:flex;flex-direction:column;gap:4px}.step-tools button{padding:3px 10px;min-height:30px}.edited-note{font-size:10px;color:#9d762e;margin-top:5px}.report-empty{text-align:center;padding:65px 20px;color:#7d96a4}.report-empty>span{font-size:55px;color:#b3c6d1}.report-empty h3{margin:18px 0 8px;color:#526f81}.report-empty p{font-size:12px}footer{display:flex;justify-content:space-between;gap:18px;background:#fff;border-top:1px solid #dbe5eb;padding:10px 20px;font-size:9px;color:#8397a3;line-height:1.5}footer>span:first-child{color:#4e7d78;max-width:70%}.project-details{display:grid;grid-template-columns:2fr 2fr 1fr 80px;gap:15px;padding:20px 24px;background:#f5f9fa;border-top:1px solid #e0e9ed}.notes-field{grid-column:span 3}.project-details button{align-self:end}@media(min-width:1600px){.drawing-workspace{grid-template-columns:260px minmax(300px,1fr) 290px}.library-item{min-height:65px}.library-item strong{font-size:12px}}@media(max-width:1150px){.drawing-workspace{grid-template-columns:190px minmax(260px,1fr) 220px}.library-item{gap:6px;padding:6px 3px}.library-item svg{width:34px;height:34px}.library-item small{display:none}.panel-heading{padding:18px 12px}.panel-heading h2{font-size:14px}.project-title h1{font-size:18px}.brand small{display:none}.stage-tab{padding:10px 12px;font-size:10px}.property-body{padding:12px}.project-bar{padding:16px 18px}.report-workspace{padding:24px}.stage-actions button{min-height:40px}.library-item{min-height:55px}}@media(pointer:coarse){button{min-height:44px}.react-flow__handle{width:20px!important;height:20px!important}.step-tools button{min-height:44px}.react-flow__controls-button{width:44px!important;height:44px!important}}@media(max-width:850px){.topbar{padding:0 15px;height:62px}.brand{font-size:11px}.brand>div>span{font-size:8px}.top-actions button{font-size:10px;padding:8px}.project-bar{align-items:flex-start;flex-direction:column;gap:14px}.project-controls{width:100%}.project-controls button{flex:1}.drawing-workspace{grid-template-columns:150px minmax(250px,1fr);height:auto;min-height:570px}.properties{grid-column:1/-1;max-height:400px;border-top:1px solid #d8e2e8;display:grid;grid-template-columns:200px 1fr}.properties .panel-heading{border-bottom:0}.property-body{display:grid;grid-template-columns:1fr 1fr;align-items:start}.property-body hr{display:none}.property-body .notice{grid-column:1/-1}.empty-selection{padding:20px}.crosshair{display:none}.help-card{margin:15px}.canvas{height:570px}.library-note{margin:12px}.library-item strong{font-size:10px}.library-item svg{width:28px;height:28px}.workspace-toolbar{padding:8px;flex-wrap:wrap}.stage-actions{margin-left:auto}.stage-bar{padding:0 8px}.stage-tab{min-height:52px}.stage-tab span{display:none}.draft-banner{padding:8px 15px}.banner-detail{font-size:9px}.project-details{grid-template-columns:1fr 1fr}.notes-field{grid-column:1/-1}.report-heading{align-items:flex-start;flex-direction:column}footer{flex-direction:column;gap:4px}footer>span:first-child{max-width:100%}}@media(max-width:520px){.brand-icon,.banner-detail{display:none}.drawing-workspace{grid-template-columns:1fr}.library{max-height:160px;border-bottom:1px solid #d8e2e8}.library .panel-heading{display:none}.equipment-list{display:flex;overflow-x:auto;gap:5px}.library-item{min-width:100px;display:flex;flex-direction:column;justify-content:center;border-color:#e1e9ed;height:90px}.library-item svg{width:40px;height:40px}.add-sign,.library-note{display:none}.canvas{height:500px;min-height:500px}.properties{grid-template-columns:1fr;max-height:none}.report-workspace{padding:16px}.report-step{padding:12px;gap:10px}.report-heading h2{font-size:20px}.project-title h1{font-size:17px}.stage-actions button{font-size:9px}.stage-actions{margin-left:0}.stage-bar .add-stage{font-size:10px}.top-actions{gap:5px}}
