:root{
  --bg:#0b1016; --panel:#111922; --panel2:#0e151d; --line:#263340; --line2:#334454;
  --text:#e7edf3; --muted:#8ea0b2; --accent:#41b5ff; --accent2:#79d7ff; --danger:#ff6b6b;
  --sheet:#f7f8fa; --ink:#0d1520;
  --shadow:0 8px 24px rgba(0,0,0,.24);
}
*{box-sizing:border-box} html,body,#app{height:100%;margin:0} body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text);overflow:hidden}
button,input,select{font:inherit} button{color:var(--text);background:#18232e;border:1px solid var(--line);border-radius:6px;padding:7px 10px;cursor:pointer} button:hover{background:#21303d;border-color:#3b4e5d} button:active{transform:translateY(1px)}
.topbar{height:58px;display:flex;align-items:center;gap:18px;padding:0 14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#121b24,#0e151d);box-shadow:var(--shadow);position:relative;z-index:5}
.brand{display:flex;align-items:center;gap:9px;min-width:198px}.brand-mark{width:31px;height:31px;border-radius:8px;display:grid;place-items:center;background:linear-gradient(135deg,#2ca5ff,#7bdcff);color:#082035;font-weight:900}.brand-name{font-weight:800;letter-spacing:.3px}.brand-sub{font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px}
 .doc-title{flex:1;min-width:160px}.doc-title input{background:transparent;border:0;outline:0;color:var(--text);font-size:14px;font-weight:700;width:100%;text-align:center}.workspace-user{display:flex;align-items:center;gap:6px;flex:0 0 auto}.workspace-user span{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.8px}.workspace-user input{width:92px;padding:6px 7px;border-radius:6px;border:1px solid var(--line);background:#0a1117;color:var(--text);font-size:11px;outline:none}.workspace-user input:focus{border-color:var(--accent)}.top-actions{display:flex;gap:6px}.top-actions button{font-size:12px;padding:7px 9px}
.layout{height:calc(100% - 58px);display:grid;grid-template-columns:270px minmax(0,1fr) 285px;gap:0}.panel{background:var(--panel);border-color:var(--line)}.left-panel,.right-panel{display:flex;flex-direction:column;min-width:0}.left-panel{border-right:1px solid var(--line)}.right-panel{border-left:1px solid var(--line);overflow:auto}.panel-head{height:43px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px}.muted{font-size:11px;color:var(--muted);font-weight:500}.search{margin:10px 10px 8px;padding:9px 10px;border-radius:7px;border:1px solid var(--line);background:#0b1219;color:var(--text);outline:none}.search:focus{border-color:var(--accent)}
.tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;padding:0 10px 9px}.tab{border:0;background:transparent;color:var(--muted);font-size:10px;padding:6px 3px}.tab.active{background:#1d2c3a;color:var(--accent2);border-color:#2d4558}.symbol-list{flex:1;overflow:auto;padding:0 9px 12px}.symbol-card{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid transparent;border-radius:7px;margin-bottom:5px;background:#0e151d;cursor:grab}.symbol-card:hover{border-color:#334553;background:#141e28}.symbol-icon{width:46px;height:34px;flex:0 0 auto;background:#0a1117;border:1px solid #2b3945;border-radius:5px;display:grid;place-items:center}.symbol-icon svg{width:40px;height:28px}.symbol-meta{min-width:0}.symbol-name{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.symbol-code{font-size:9px;color:var(--muted);margin-top:2px}.tip{padding:10px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:var(--muted);background:#0c131a}.tip b{color:#cbd8e4}
.workspace-wrap{min-width:0;display:flex;flex-direction:column;background:#0a0e13}.toolbar{height:44px;display:flex;align-items:center;gap:8px;padding:6px 9px;border-bottom:1px solid var(--line);background:#101820}.tool-group{display:flex;gap:5px}.tool{font-size:11px;padding:6px 9px}.tool.active{background:#173b51;border-color:#2a93c9;color:#9be4ff}.tool-group.right{margin-left:auto;align-items:center}.zoom-readout{min-width:46px;text-align:center;color:var(--muted);font-size:11px}.toggle{font-size:10px;padding:6px 8px;color:var(--muted)}.toggle.on{color:#aee8ff;border-color:#2a89b5;background:#153142}
.canvas-holder{position:relative;flex:1;min-height:0;overflow:hidden;background:#0a0e13}.canvas-holder.dragging{cursor:grabbing}.canvas-holder.wiring{cursor:crosshair}.canvas-holder.texting{cursor:text}#sheetBg,#gridBg{pointer-events:none} svg#canvas{position:absolute;inset:0;width:100%;height:100%;background:#0a0e13;user-select:none}.sheet-bg{fill:#f7f8fa;stroke:#aeb7c1;stroke-width:1}.grid-minor{stroke:#e3e7eb;stroke-width:.7}.grid-major{stroke:#cad1d8;stroke-width:1.1}.canvas-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#97a8b8;font-size:13px;background:rgba(13,20,27,.84);padding:10px 14px;border-radius:8px;border:1px solid #26333f;pointer-events:none}.canvas-hint.hidden{display:none}.statusbar{position:absolute;left:0;right:0;bottom:0;height:25px;background:rgba(12,18,24,.86);border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 8px;gap:18px;font-size:10px;color:var(--muted);pointer-events:none}.statusbar #statusMessage{margin-left:auto}.node{cursor:move}.node.selected .node-outline{stroke:#1b9fe0;stroke-width:2.5;filter:url(#shadow)}.node-outline{fill:#fff;stroke:#111b25;stroke-width:1.4}.node text{fill:#12202d;font-family:Arial,sans-serif;pointer-events:none}.node .tag{font-weight:700;font-size:11px}.node .desc{font-size:9px;fill:#344453}.port{fill:#fff;stroke:#0e6fa3;stroke-width:1.4}.port-label{font-size:7px;fill:#5e6f7e}.wire{fill:none;stroke:#162330;stroke-width:2.2;vector-effect:non-scaling-stroke}.wire.power{stroke:#0a72b0;stroke-width:2.6}.wire.control{stroke:#68727d;stroke-width:1.8;stroke-dasharray:7 4}.wire.pipe{stroke:#1b6445;stroke-width:3.4}.wire.utility{stroke:#0a72b0;stroke-width:2.8}.temp-pipe{fill:none;stroke:#1b8e61;stroke-width:3;stroke-dasharray:7 5}.wire.signal{stroke:#7c4ea0;stroke-width:1.8;stroke-dasharray:2 3}.wire.selected{stroke:#ff8a2c;stroke-width:3.2}.wire-label{font-family:Arial,sans-serif;font-size:9px;fill:#102335;font-weight:700;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round}.wire-hit{fill:none;stroke:transparent;stroke-width:12}.temp-wire{fill:none;stroke:#24a6de;stroke-width:2.2;stroke-dasharray:5 4}.note{fill:#fffdf0;stroke:#a88c41;stroke-width:1}.note text{fill:#3e3520;font-size:12px}.note.selected rect{stroke:#ff8a2c;stroke-width:2}.port.hot{fill:#7be5ff;stroke:#0b8db7}.ghost{opacity:.45;pointer-events:none}.selection-box{fill:rgba(46,175,255,.08);stroke:#2faef2;stroke-dasharray:5 4}.titleblock{fill:#fff;stroke:#6a737d}.titleblock text{font-family:Arial,sans-serif;fill:#34414d;font-size:9px}.hidden{display:none!important}
.empty-props{padding:14px;color:var(--muted);font-size:11px;line-height:1.6}.prop-section{padding:11px 12px;border-bottom:1px solid var(--line)}.prop-title{font-size:10px;font-weight:800;color:#9eb0bf;text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.prop-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.prop-grid.full{grid-template-columns:1fr}.field label,.rule-grid label{display:flex;flex-direction:column;gap:4px;font-size:9px;color:var(--muted)}.field input,.field select,.field textarea,.rule-grid input,.rule-grid select{width:100%;padding:7px 8px;border-radius:5px;background:#0a1117;border:1px solid #263641;color:var(--text);outline:0;font-size:11px}.field textarea{min-height:60px;resize:vertical}.field input:focus,.field select:focus,.rule-grid input:focus,.rule-grid select:focus{border-color:#2e91bc}.panel-divider{height:1px;background:var(--line)}.rule-grid{padding:11px 12px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.bom{padding:8px 10px 14px;font-size:10px}.bom-row{display:grid;grid-template-columns:52px 1fr 34px;gap:6px;padding:5px 2px;border-bottom:1px solid #1b2731}.bom-row b{font-size:10px}.bom-row span{color:#a8b6c4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dirty-dot{width:7px;height:7px;border-radius:50%;background:#ffa726}.dirty-dot.hidden{display:none}
@media(max-width:1100px){.layout{grid-template-columns:225px minmax(0,1fr)}.right-panel{display:none}.brand{min-width:170px}.top-actions button:nth-last-child(-n+2){display:none}}
@media(max-width:800px){.left-panel{display:none}.layout{grid-template-columns:1fr}.top-actions button:nth-last-child(-n+3){display:none}.doc-title{text-align:center}.tool:nth-child(4){display:none}}
@media print{body{background:#fff}.topbar,.left-panel,.right-panel,.toolbar,.statusbar,.canvas-hint{display:none!important}.layout{height:100%;display:block}.workspace-wrap{height:100vh;width:100vw}.canvas-holder{height:100vh;width:100vw;overflow:hidden}.canvas-holder svg#canvas{position:absolute;inset:0;width:100vw;height:100vh;background:#fff}}
.printing #gridBg{display:none!important}
@page{margin:0}

.port-hit{fill:transparent;stroke:transparent;cursor:crosshair}.port-hit:hover{fill:rgba(10,114,176,.12)}

.prop-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid #dfe5ea}
.prop-actions button{min-height:34px;padding:6px 9px;border:1px solid #c7d0d8;border-radius:6px;background:#fff;cursor:pointer;font-weight:600}
.prop-actions button:last-child{grid-column:1 / -1}
.prop-actions button.danger{border-color:#d7a3a3;background:#fff4f4;color:#9b2226}

.layers-panel{padding:8px 10px 10px;display:flex;flex-direction:column;gap:5px;max-height:150px;overflow:auto}.layer-row{display:grid;grid-template-columns:18px 1fr 18px 18px;align-items:center;gap:5px;font-size:10px;color:#a9b6c2}.layer-row input{width:100%;background:#0a1117;border:1px solid #263641;color:#fff;padding:4px 5px;border-radius:4px;font-size:10px}.layer-row button{padding:2px 4px;font-size:10px;background:#111b24;color:#cbd7df;border:1px solid #2a3844;border-radius:4px}.mini-btn{font-size:11px;line-height:1;padding:1px 6px;margin-left:auto}.annotation{fill:none;stroke:#546676;stroke-width:1.5;vector-effect:non-scaling-stroke}.annotation.selected{stroke:#ff8a2c;stroke-width:2.5}.dimension-line{stroke:#455867;stroke-width:1.2}.dimension-text{font-size:9px;fill:#253440;paint-order:stroke;stroke:#fff;stroke-width:3px}.selection-handle{fill:#fff;stroke:#178ccb;stroke-width:1.5;cursor:crosshair}.wire-handle{fill:#fff;stroke:#ff8a2c;stroke-width:2;cursor:move}.group-badge{fill:#d9eef8;stroke:#1686bd;stroke-width:1}.node.locked{opacity:.65}.node.locked{cursor:not-allowed}.title-block{fill:#fff;stroke:#53616d;stroke-width:1}.title-block text{font-family:Arial,sans-serif;fill:#263746}.title-block .tb-label{font-size:7px;fill:#687987}.title-block .tb-value{font-size:9px;font-weight:700}
.commandbar,.sheetbar{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:6px;position:relative}.command-label{font-size:11px;font-weight:700;color:#60707f;text-transform:uppercase;letter-spacing:.05em}.commandbar input{flex:1;min-width:180px;padding:8px 10px;border:1px solid #c7d1d9;border-radius:6px}.command-hints{position:absolute;left:75px;right:10px;top:38px;background:#fff;border:1px solid #ccd5dc;border-radius:6px;z-index:20;box-shadow:0 8px 20px rgba(0,0,0,.12);display:none}.command-hints div{padding:7px 10px;font-size:12px;cursor:pointer}.command-hints div:hover{background:#f2f6f8}.sheet-tabs{display:flex;gap:5px;overflow:auto;flex:1}.sheet-tab{border:1px solid #cbd4db;background:#f6f8fa;padding:6px 10px;border-radius:5px;cursor:pointer;font-size:12px}.sheet-tab.active{background:#0a72b0;color:#fff;border-color:#0a72b0}.sheet-tab .closex{margin-left:7px;opacity:.8}.mini-btn{padding:5px 8px}.report-links{display:flex;gap:6px;flex-wrap:wrap}

/* Shared custom symbol library / editor */
#sharedLibraryStatus{font-size:12px;margin-left:2px;color:#b4c0c8}
#sharedLibraryStatus.online{color:#1b8b57}
#sharedLibraryStatus.offline{color:#b05a4a}
.symbol-card.shared{border-left:3px solid #5d8fc1}
.symbol-card.shared .symbol-code::after{content:' • SHARED';color:#35698f}
.modal{position:fixed;inset:0;z-index:200000;background:rgba(15,26,36,.46);display:flex;align-items:center;justify-content:center;padding:20px}
.modal.hidden{display:none}
.modal-card{width:min(1040px,96vw);max-height:92vh;overflow:auto;background:#fff;border:1px solid #b8c5cf;border-radius:10px;box-shadow:0 18px 60px rgba(0,0,0,.28)}
.symbol-editor-card{display:flex;flex-direction:column}
.modal-head,.modal-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #dfe6eb}
.modal-foot{border-top:1px solid #dfe6eb;border-bottom:0}
.modal-title{font-size:17px;font-weight:750;color:#16232f}
.icon-btn{width:34px;height:34px;border:1px solid #c9d3db;border-radius:6px;background:#f7f9fb;font-size:22px;line-height:1}
.icon-btn:hover{background:#edf3f7}
.symbol-editor-grid{display:grid;grid-template-columns:320px 1fr;min-height:560px}
.symbol-editor-form{padding:16px;border-right:1px solid #dfe6eb;background:#fbfcfd;display:flex;flex-direction:column;gap:12px}
.symbol-editor-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#40515d;font-weight:650}
.symbol-editor-form input,.symbol-editor-form select,.symbol-editor-form textarea{font:inherit;font-weight:400;border:1px solid #c8d3dc;border-radius:6px;padding:8px 9px;background:#fff;color:#1a2732}
.editor-toolbar{display:flex;gap:6px;flex-wrap:wrap}
.editor-toolbar button,.modal-foot button{border:1px solid #bfccd5;border-radius:6px;background:#fff;padding:7px 10px;cursor:pointer}
.editor-toolbar button:hover,.modal-foot button:hover{background:#f1f6f9}.editor-toolbar button.active{background:#176f9d;color:#fff;border-color:#176f9d}
.modal-foot .secondary{background:#f7f9fb}
.modal-foot .primary{background:#176f9d;border-color:#176f9d;color:#fff}
.modal-foot .primary:hover{background:#115c84}

.editor-properties{border-top:1px solid #dfe6eb;padding-top:10px}.editor-subtitle{font-size:11px;font-weight:750;color:#40515d;margin-bottom:7px}.editor-style-row{display:grid;grid-template-columns:1fr 1fr .9fr;gap:8px}.editor-style-row label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:650}.editor-style-row input[type=color]{width:34px;height:28px;padding:1px}.editor-style-row input[type=number]{min-width:0;width:70px}.editor-port-list-wrap{border-top:1px solid #dfe6eb;padding-top:10px}.editor-port-list{display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto}.editor-port-row{display:grid;grid-template-columns:1.15fr .55fr .55fr .55fr .55fr 1fr 1fr .8fr 36px 28px;gap:5px;align-items:center}.editor-port-row input,.editor-port-row select{font:inherit;font-size:11px;border:1px solid #c8d3dc;border-radius:5px;padding:5px 6px;background:#fff;min-width:0}.editor-port-row input[type="checkbox"]{width:18px;height:18px;justify-self:center}.editor-port-row-wide{min-width:880px}.editor-port-row button{border:1px solid #c8d3dc;border-radius:5px;background:#fff;cursor:pointer;height:28px}.editor-port-row button:hover{background:#fbecec}.editor-help b{color:#16394d}

.editor-help{font-size:11px;line-height:1.45;color:#62727f;background:#f0f4f7;border:1px solid #d8e0e6;padding:9px;border-radius:6px}
.symbol-editor-preview-wrap{padding:16px;display:flex;flex-direction:column;gap:8px}
.preview-head{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:13px;color:#30424f}
.symbol-editor-preview{flex:1;min-height:480px;border:1px solid #cbd6de;border-radius:7px;background:#fff;overflow:hidden}
#symbolEditorSvg{display:block;width:100%;height:100%;min-height:480px;cursor:crosshair}
.editor-bg{fill:url(#editorGridFallback);fill:#fff;stroke:#e2e8ed}
.editor-graphic{fill:#fff;stroke:#152331;stroke-width:2}
.editor-graphic.selected{stroke:#0a72b0;stroke-width:3}
.editor-port{fill:#fff;stroke:#1b6445;stroke-width:2}
.editor-port-label{font:700 10px Arial,sans-serif;fill:#1b6445}
.editor-port.hot{fill:#dff6e8}
.editor-text{font:700 13px Arial,sans-serif;fill:#152331}
@media (max-width: 860px){.symbol-editor-grid{grid-template-columns:1fr}.symbol-editor-form{border-right:0;border-bottom:1px solid #dfe6eb}.symbol-editor-preview{min-height:380px}#symbolEditorSvg{min-height:380px}}

.editor-grid-toggle{display:flex!important;flex-direction:row!important;align-items:center;gap:6px;font-size:11px;color:#40515d}.editor-grid-toggle input{width:auto!important}

.symbol-card{position:relative}.symbol-edit-btn{position:absolute;right:6px;top:6px;border:1px solid #bccbd5;background:#fff;border-radius:5px;padding:3px 6px;font-size:10px;cursor:pointer}.symbol-edit-btn:hover{background:#eaf4fa}

/* Professional navigation and precision tools */
.project-browser-head{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid var(--line);font-size:12px;background:#101820}
.project-browser-wrap{border-bottom:1px solid var(--line);max-height:235px;display:flex;flex-direction:column;min-height:80px}
.project-browser-wrap .search{margin:5px 8px;padding:7px}
.project-browser{overflow:auto;min-height:45px;padding:4px 9px 9px}
.project-tree-group summary{cursor:pointer;color:#a6bac9;font-size:11px;font-weight:700;padding:5px 2px}
.project-tree-row{display:block;width:100%;text-align:left;font-size:10px;border:0;background:transparent;color:#c5d4de;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;cursor:pointer}
.project-tree-row:hover{background:#254052;color:#fff}
.precisionbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:4px 8px;border-bottom:1px solid var(--line);background:#101820}
.precisionbar button{font-size:10px;padding:4px 7px}
.precisioncheck{display:flex;align-items:center;gap:4px;font-size:10px;color:#c3d4df;margin-right:6px;white-space:nowrap}
.precisioncheck input{accent-color:#2499ce}
@media print{.commandbar,.sheetbar,.precisionbar{display:none!important}}
/* Prevent the extensive symbol library from expanding the drawing canvas vertically. */
.layout{min-height:0;overflow:hidden}
.left-panel,.right-panel,.workspace-wrap{min-height:0;overflow:hidden}
.left-panel .symbol-list{min-height:80px;flex:1 1 0;overflow-y:auto}
.workspace-wrap .canvas-holder{min-height:100px;flex:1 1 0}
.right-panel{overflow-y:auto}
/* Independent, non-overlapping scroll areas for crowded professional toolbars. */
.precisionbar{flex:0 0 auto;min-height:38px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden}
.precisionbar button,.precisionbar label{flex-shrink:0}
.toolbar{flex:0 0 44px;min-height:44px;max-height:44px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}
.toolbar .tool-group{flex:0 0 auto}
.toolbar .tool-group.right{margin-left:auto}
/* SVG patterns must not fill their path outlines: avoids opaque triangular grid tiles. */
.grid-minor,.grid-major{fill:none!important}

/* 2026 professional navigation: readable panels and discoverable controls. */
.topbar{gap:10px;min-width:0}
.brand{min-width:170px;flex:0 0 auto}
.doc-title{min-width:100px;max-width:320px}
.doc-title input{text-align:left;text-overflow:ellipsis}
.workspace-actions{display:flex;align-items:center;gap:5px;flex:0 0 auto}
.workspace-actions button{font-size:11px;white-space:nowrap;padding:6px 9px}
.workspace-actions kbd{font:10px ui-monospace,monospace;color:#b0c2d0;border:1px solid #405466;border-radius:4px;padding:2px 3px;margin-left:5px}
#quickActionBtn{background:#123950;border-color:#2f6585;color:#e2f4ff}
.top-actions{flex:1 1 auto;min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;white-space:nowrap;padding:4px 0}
.top-actions button{flex:0 0 auto;white-space:nowrap}
.tabs{display:flex;gap:3px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;flex:0 0 auto;padding:3px 9px 10px}
.tabs .tab{flex:0 0 auto;min-height:28px;padding:6px 10px;white-space:nowrap;font-size:11px;border:1px solid transparent}
.tabs .tab.active{border-color:#2d4558}
.symbol-card:focus-within{outline:2px solid #41b5ff}
.project-tree-row{font-size:11px;padding:5px 9px}
button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #35b6f7;outline-offset:2px}
.library-collapsed .layout{grid-template-columns:0 minmax(0,1fr) 285px}
.library-collapsed .left-panel{visibility:hidden}
.properties-collapsed .layout{grid-template-columns:270px minmax(0,1fr) 0}
.properties-collapsed .right-panel{visibility:hidden}
.library-collapsed.properties-collapsed .layout,.focus-drawing .layout{grid-template-columns:0 minmax(0,1fr) 0}
.focus-drawing .left-panel,.focus-drawing .right-panel{visibility:hidden}
.quick-palette{position:fixed;inset:0;z-index:210000;display:flex;align-items:flex-start;justify-content:center;padding:13vh 20px 20px}
.quick-palette.hidden{display:none}
.quick-scrim{position:absolute;inset:0;background:rgba(4,12,20,.7);backdrop-filter:blur(3px)}
.quick-dialog,.help-dialog{position:relative;z-index:1;width:min(620px,96vw);max-height:78vh;background:#fafcfe;color:#142b3d;border:1px solid #cad6df;border-radius:12px;box-shadow:0 32px 90px #0008;overflow:hidden;display:flex;flex-direction:column}
.quick-heading{font-size:15px;font-weight:750;padding:17px 20px 13px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #dfe8ef}
.quick-heading span{font-size:11px;color:#617588;font-weight:500}
.quick-dialog input{height:52px;outline:0;border:0;border-bottom:1px solid #e0e7ed;background:#fff;color:#182936;font-size:15px;padding:12px 20px}
#quickResults{overflow:auto;min-height:90px;max-height:min(49vh,420px);padding:7px}
.quick-result{width:100%;display:flex;justify-content:space-between;text-align:left;background:transparent;color:#273e50;border:0;border-radius:7px;padding:10px 14px;font-size:13px}
.quick-result:hover,.quick-result.active{background:#e2f2fb;color:#094970}
.quick-result small{font-size:10px;color:#6d8494}
.quick-footer{padding:10px 18px;color:#748595;font-size:11px;background:#f2f6f9;border-top:1px solid #e2e8ed}
.quick-no-result{padding:18px;color:#64798b;font-size:13px}
.help-dialog{width:min(760px,96vw)}
.help-dialog #closeHelpBtn{font-size:24px;border:0;background:transparent;color:#1b3345;padding:0 8px}
.help-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;padding:17px 20px;overflow:auto}
.help-columns h3{font-size:13px;margin:0 0 10px;color:#15476b}
.help-columns p{font-size:12px;line-height:2;margin:0;color:#415769}
.help-columns kbd{display:inline-block;padding:1px 5px;background:#eaf1f7;border:1px solid #cedde7;border-radius:3px;font:11px ui-monospace,monospace;color:#153f57}
@media(max-width:1450px){.topbar{gap:6px}.brand{min-width:135px}.brand-sub{display:none}.workspace-actions button{padding:6px}.workspace-actions kbd{display:none}.layout{grid-template-columns:245px minmax(0,1fr) 265px}.library-collapsed .layout{grid-template-columns:0 minmax(0,1fr) 265px}.properties-collapsed .layout{grid-template-columns:245px minmax(0,1fr) 0}}
@media(max-width:1050px){.workspace-actions button span{display:none}.brand{min-width:110px}.workspace-user span{display:none}.workspace-user input{width:72px}.layout{grid-template-columns:215px minmax(0,1fr) 230px}.library-collapsed .layout{grid-template-columns:0 minmax(0,1fr) 230px}.properties-collapsed .layout{grid-template-columns:215px minmax(0,1fr) 0}.panel-head{padding:0 8px;font-size:11px}}
@media(max-width:750px){.help-columns{grid-template-columns:1fr}.workspace-user{display:none}.topbar{padding:0 5px}.brand{min-width:104px}.doc-title{min-width:75px}.layout{grid-template-columns:0 minmax(0,1fr) 0}.left-panel,.right-panel{visibility:hidden}.library-collapsed .layout,.properties-collapsed .layout{grid-template-columns:0 minmax(0,1fr) 0}.library-collapsed .left-panel,.properties-collapsed .right-panel{visibility:hidden}}
@media print{.quick-palette,.workspace-actions{display:none!important}}

/* Property editing actions must have readable dark text on their white backgrounds. */
.prop-actions button{color:#193043}
.prop-actions button:hover{background:#e9f4fc;border-color:#6fadd1}
.prop-actions button:disabled{background:#ecf0f3;color:#788c9b;cursor:not-allowed}
.prop-actions button.danger{color:#a22b30}
@media(max-width:750px){
  body.mobile-library-open .left-panel,body.mobile-properties-open .right-panel{visibility:visible;position:absolute;z-index:19;top:58px;bottom:0;left:0;width:min(360px,90vw);box-shadow:9px 10px 30px #0009;background:#111922}
  body.mobile-properties-open .right-panel{left:auto;right:0}
}

.favorite-btn{margin-left:auto;flex:0 0 auto;padding:5px 7px;background:transparent;border:0;color:#8399ac;font-size:18px;line-height:1}
.favorite-btn:hover,.favorite-btn.is-favorite{color:#ffd36b;background:#29353b;border-radius:5px}
.symbol-card.shared .favorite-btn{margin-right:30px}
