:root{--bg:#f4f6f8;--panel:#fff;--panel2:#eef2f6;--text:#142033;--muted:#6a778b;--border:#d8e0e9;--accent:#2563eb;--accent2:#1d4ed8;--danger:#c0392b;--shadow:0 8px 26px rgba(22,34,51,.08);--grid:#dbe4ef;--canvas:#fbfcfe}
[data-theme=dark]{--bg:#0e1520;--panel:#151f2d;--panel2:#1b2838;--text:#e8eef7;--muted:#93a4b9;--border:#2b3b4e;--accent:#4f8cff;--accent2:#6ea1ff;--danger:#ff7067;--shadow:0 8px 26px rgba(0,0,0,.22);--grid:#243346;--canvas:#111a26}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit;color:inherit}.topbar{height:68px;background:var(--panel);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 22px;position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px}.brand-mark{width:42px;height:42px;border-radius:12px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}.brand strong,.brand small{display:block}.brand small{color:var(--muted);margin-top:2px}.shell{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:calc(100vh - 68px)}.sidebar{border-right:1px solid var(--border);background:var(--panel);padding:18px 14px}.panel-head{display:flex;align-items:center;justify-content:space-between}.panel-head h2,.panel-head h3{margin:0}.icon-btn{border:0;background:var(--panel2);border-radius:9px;width:34px;height:34px;cursor:pointer}.lan-list{display:flex;flex-direction:column;gap:8px;margin-top:14px}.lan-item{width:100%;border:1px solid transparent;background:transparent;border-radius:10px;padding:10px;text-align:left;cursor:pointer}.lan-item:hover{background:var(--panel2)}.lan-item.active{border-color:color-mix(in srgb,var(--accent),transparent 55%);background:color-mix(in srgb,var(--accent),transparent 90%)}.lan-item strong,.lan-item span{display:block}.lan-item span{font-size:12px;color:var(--muted);margin-top:3px}.tip{font-size:12px;line-height:1.45;color:var(--muted);padding:14px 4px}.main{padding:22px;min-width:0}.hidden{display:none!important}.empty-state{min-height:68vh;display:grid;place-content:center;text-align:center}.empty-state h1{font-size:36px;margin:0 0 8px}.empty-state p{color:var(--muted);max-width:500px}.workspace-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.workspace-head h1{margin:2px 0 4px}.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.muted{color:var(--muted);font-size:13px}.head-actions,.toolbar-actions,.canvas-toolbar>div:last-child{display:flex;gap:8px}.btn{border:1px solid var(--border);background:var(--panel);border-radius:9px;padding:9px 13px;cursor:pointer;font-weight:650}.btn:hover{filter:brightness(.98)}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover{background:var(--accent2)}.btn.ghost{background:var(--panel)}.btn.danger-soft{color:var(--danger);background:color-mix(in srgb,var(--danger),transparent 92%);border-color:color-mix(in srgb,var(--danger),transparent 74%)}.btn.full{width:100%;margin-top:12px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:22px 0}.tab{border:0;background:none;padding:10px 16px;cursor:pointer;color:var(--muted);border-bottom:2px solid transparent}.tab.active{color:var(--accent);border-bottom-color:var(--accent)}.card{background:var(--panel);border:1px solid var(--border);border-radius:13px;box-shadow:var(--shadow)}.toolbar-card{padding:12px;display:flex;justify-content:space-between;gap:12px}.search-wrap{flex:1}.toolbar-card input,.device-palette input{width:100%}.table-card{margin-top:12px;overflow:hidden}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--border);font-size:13px}th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.status-dot{width:9px;height:9px;border-radius:50%;background:#29a867;display:inline-block;margin-right:6px}.row-action{border:0;background:none;cursor:pointer;color:var(--accent);font-weight:700}.scan-status{padding:12px;background:color-mix(in srgb,var(--accent),transparent 90%);color:var(--accent);font-weight:650}.blueprint-shell{display:grid;grid-template-columns:200px minmax(0,1fr) 230px;gap:12px;min-height:650px}.drawing-tools,.device-palette{padding:14px;height:max-content}.drawing-tools h3{margin-top:0}.tool-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tool{border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px 5px;cursor:pointer;font-size:18px}.tool span{display:block;font-size:11px;margin-top:3px}.tool.active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 90%)}hr{border:0;border-top:1px solid var(--border);margin:14px 0}.switch-row{display:flex!important;align-items:center;gap:8px;margin:10px 0!important}.drawing-tools label,.dialog label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:11px 0}.drawing-tools input[type=number],.dialog input,.dialog textarea,.toolbar-card input,.device-palette input{border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px 10px;outline:none}.drawing-tools input[type=number]{width:100%;margin-top:5px}.canvas-card{min-width:0;overflow:hidden}.canvas-toolbar{min-height:58px;border-bottom:1px solid var(--border);padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.canvas-toolbar strong,.canvas-toolbar span{display:block}.canvas-viewport{overflow:auto;max-height:calc(100vh - 270px);background:var(--panel2);padding:14px}#blueprintCanvas{display:block;background:var(--canvas);border:1px solid var(--border);box-shadow:0 4px 15px rgba(0,0,0,.07);touch-action:none}.badge{background:var(--panel2);border-radius:20px;padding:3px 8px;font-size:12px}.palette-list{display:flex;flex-direction:column;gap:7px;margin-top:10px;max-height:570px;overflow:auto}.palette-device{border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px;cursor:grab}.palette-device strong,.palette-device span{display:block}.palette-device span{font-size:11px;color:var(--muted);margin-top:3px}.dialog{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:14px;box-shadow:0 20px 70px rgba(0,0,0,.3);width:min(520px,calc(100vw - 24px))}.dialog::backdrop{background:rgba(3,8,18,.48)}.dialog-head,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog h2{margin:0}.dialog input,.dialog textarea{width:100%;margin-top:5px}.dialog .inline{display:flex;gap:7px}.dialog .inline input{flex:1}.dialog-actions{margin-top:18px}.dialog-actions.spread>div{display:flex;gap:8px}.interface-choices{display:flex;flex-direction:column;gap:7px;margin-top:8px}.interface-choice{border:1px solid var(--border);background:var(--panel2);padding:8px;border-radius:8px;cursor:pointer;text-align:left}.toast{position:fixed;right:20px;bottom:20px;background:#152035;color:white;padding:10px 14px;border-radius:10px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.2s;z-index:100}.toast.show{opacity:1;transform:none}@media(max-width:1100px){.blueprint-shell{grid-template-columns:170px minmax(0,1fr)}.device-palette{grid-column:1/-1}.palette-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));max-height:none}}@media(max-width:760px){.shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border)}.lan-list{flex-direction:row;overflow:auto}.lan-item{min-width:170px}.main{padding:14px}.workspace-head,.toolbar-card,.canvas-toolbar{align-items:flex-start;flex-direction:column}.blueprint-shell{display:block}.drawing-tools,.device-palette,.canvas-card{margin-bottom:10px}.tool-grid{grid-template-columns:repeat(3,1fr)}.toolbar-actions{flex-wrap:wrap}.topbar{padding:0 12px}}

/* Blueprint page sizing + object library */
.drawing-tools select{width:100%;margin-top:5px;border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px 10px;color:var(--text)}
.section-title{font-size:13px!important;margin:0 0 6px!important}.custom-size{display:grid;grid-template-columns:1fr 1fr;gap:7px}.custom-size label{margin:4px 0!important}.btn.compact{padding:7px 9px;margin-top:6px}.object-palette{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px;max-height:330px;overflow:auto}.object-item{border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:8px 5px;cursor:grab;text-align:center;user-select:none}.object-item:hover{border-color:var(--accent)}.object-symbol{display:grid;place-items:center;height:31px;font-size:23px;line-height:1}.object-item strong{display:block;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-size-note{font-size:11px;color:var(--muted)}

/* Blueprint interaction upgrades */
.top-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.canvas-actions{display:flex;gap:7px;flex-wrap:wrap}.zoom-row{display:grid;grid-template-columns:42px 1fr 42px;gap:6px}.zoom-row select,.device-palette select{width:100%;border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px 10px;color:var(--text)}.selection-inspector label{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:10px 0}.selection-inspector input{width:100%;border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px 10px;margin-top:5px}.linked-info{padding:9px;border:1px solid var(--border);background:var(--panel2);border-radius:9px}.linked-info strong,.linked-info span{display:block}.linked-info span{font-size:11px;color:var(--muted);margin-top:3px}.inspector-actions{display:flex;gap:7px;margin-top:9px}.inspector-actions .btn{flex:1}.custom-preview{margin:14px auto 4px;width:140px;height:90px;border:2px solid #41566f;display:grid;place-items:center;font-size:34px;font-weight:800}.object-item.custom{outline:1px dashed color-mix(in srgb,var(--accent),transparent 55%)}#blueprintCanvas{transform-origin:top left}.canvas-viewport{overscroll-behavior:contain}.palette-device,.object-item{touch-action:manipulation}.palette-device:active,.object-item:active{cursor:grabbing}@media(max-width:760px){.top-actions{gap:5px}.top-actions .btn{padding:7px 9px}.canvas-actions{width:100%}.canvas-actions .btn{flex:1}.selection-inspector{margin-top:8px}}

/* Office asset register + multi attachment inspector */
.form-grid{display:grid;gap:10px}.form-grid.two{grid-template-columns:1fr 1fr}.wide-dialog{width:min(780px,calc(100vw - 24px))}.column-list{display:flex;flex-direction:column;gap:8px;max-height:420px;overflow:auto}.column-row{display:grid;grid-template-columns:1.4fr 1fr 1.2fr .8fr auto;gap:7px;align-items:end;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}.column-row label{margin:0!important}.asset-details{display:grid;grid-template-columns:150px 1fr;gap:8px 12px;margin-top:14px}.asset-details dt{color:var(--muted);font-weight:700}.asset-details dd{margin:0;word-break:break-word}.selection-inspector select[multiple]{min-height:118px}.attachment-chip{display:block;padding:5px 7px;margin:4px 0;border:1px solid var(--border);border-radius:7px;background:var(--panel)}.attachment-chip small{display:block;color:var(--muted)}.ruler-note{font-size:11px;color:var(--muted)}
@media(max-width:760px){.form-grid.two,.column-row{grid-template-columns:1fr}.asset-details{grid-template-columns:1fr}.asset-details dt{margin-top:6px}}

/* v1.4 designer usability */
.palette-section{border:0;margin:0}.palette-section summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:750;padding:4px 0 8px}.compact-palette{max-height:310px}.compact-palette .palette-device{padding:7px 8px}.object-item{position:relative;padding-right:34px}.object-item .object-manage{position:absolute;right:4px;top:4px;display:flex;gap:3px}.object-mini-btn{border:0;background:var(--panel);border-radius:6px;cursor:pointer;padding:3px 5px;font-size:11px}.object-mini-btn:hover{background:var(--panel2)}.attachment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:7px 0}.attachment-row .btn{padding:6px 8px}.attachment-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.palette-help{font-size:12px;margin:4px 0 8px}.object-view-body{display:grid;gap:12px}.object-view-preview{min-height:120px;display:grid;place-items:center;border:1px solid var(--border);border-radius:12px;background:var(--surface-2)}.object-view-preview span{font-size:44px}.multi-selection-note{padding:8px;border-radius:8px;background:var(--surface-2);font-size:12px}

/* v1.5 library, details, multi-select */
.dialog-scroll{max-height:min(66vh,620px);overflow:auto;padding:4px 2px 8px}.details-body{margin-top:12px;display:block}.details-body .asset-details{display:grid}.object-palette .object-item{padding:9px 6px;cursor:grab}.object-palette .object-item .object-manage{display:none}.object-view-preview{background:var(--panel2)}.object-view-meta{display:grid;grid-template-columns:1fr 1fr;gap:8px}.object-view-meta>div{padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--panel2)}.selection-box{position:absolute;border:1px dashed var(--accent);background:color-mix(in srgb,var(--accent),transparent 92%);pointer-events:none}.multi-selection-note{margin-top:8px}.layer-grid .btn{margin-top:0}.shape-style-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.details-empty{padding:18px;text-align:center;color:var(--muted)}

/* v1.5 designer layout refinements */
.shell{grid-template-columns:190px minmax(0,1fr);transition:grid-template-columns .18s ease}.shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.shell.sidebar-collapsed>.sidebar{overflow:hidden;padding-left:0;padding-right:0;border-right:0}.sidebar{min-width:0;transition:padding .18s ease}.sidebar-toggle{flex:0 0 auto}.blueprint-shell{grid-template-columns:172px minmax(0,1fr) 210px}.drawing-tools{min-width:0}.drawing-tools.tools-collapsed{width:52px;padding:10px 7px;overflow:hidden}.drawing-tools.tools-collapsed>*:not(.panel-head){display:none!important}.drawing-tools.tools-collapsed .panel-head h3{display:none}.drawing-tools.tools-collapsed .panel-head{justify-content:center}.compact-collapse{width:30px;height:30px}.object-palette{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:9px;max-height:300px;overflow:auto}.object-item{min-width:0;border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:8px;cursor:grab;text-align:center}.object-item .object-symbol{display:block;font-size:21px;line-height:1.1}.object-item strong{display:block;font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.object-manage{display:none!important}.palette-help{margin-top:7px}.compact-palette{max-height:230px}.palette-device{padding:7px}.palette-device strong{font-size:12px}.palette-device span{font-size:10px}.dialog-scroll{max-height:min(66vh,620px);overflow:auto;padding-right:4px}.details-body{display:block}.asset-details{display:grid;grid-template-columns:minmax(115px,.45fr) minmax(0,1fr);gap:6px 12px;margin:0}.asset-details dt{font-weight:700;color:var(--muted)}.asset-details dd{margin:0;overflow-wrap:anywhere}.attachment-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:start;margin:8px 0}.attachment-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px}.object-detail-summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border-radius:9px;background:var(--panel2)}.library-preview{min-height:130px;display:grid;place-items:center;border:1px dashed var(--border);border-radius:12px;background:var(--panel2);margin-bottom:12px}.library-preview-symbol{font-size:44px}.multi-selected-note{font-size:11px}.layer-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.form-inline-row{display:flex;gap:8px;align-items:center}.form-inline-row>*{min-width:0}.device-palette{padding:11px}.device-palette h3{font-size:14px}.selection-inspector{font-size:12px}
@media(max-width:1200px){.blueprint-shell{grid-template-columns:150px minmax(0,1fr) 190px}.object-palette{grid-template-columns:1fr}}
@media(max-width:900px){.shell{grid-template-columns:0 minmax(0,1fr)}.shell>.sidebar{overflow:hidden;padding:0;border:0}.blueprint-shell{grid-template-columns:1fr}.drawing-tools,.device-palette{width:auto!important}.drawing-tools.tools-collapsed>*:not(.panel-head){display:block!important}.drawing-tools.tools-collapsed .panel-head h3{display:block}.compact-collapse{display:none}.object-palette{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}

/* v1.6 compact designer + context properties */
.shell{grid-template-columns:156px minmax(0,1fr);align-items:start;min-height:0}
.sidebar.network-strip{margin:12px 0 0 12px;padding:10px;border:1px solid var(--border);border-radius:12px;max-height:360px;overflow:auto;position:sticky;top:80px;box-shadow:var(--shadow)}
.network-strip-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.network-strip-head strong{font-size:13px}.lan-list{margin-top:8px;gap:5px}.lan-item{padding:7px 8px;border-radius:8px}.lan-item strong{font-size:12px}.lan-item span{font-size:10px}.main{padding:14px 16px}
.blueprint-shell{grid-template-columns:118px minmax(0,1fr) 218px;gap:8px;min-height:0;align-items:start}.drawing-tools,.device-palette{padding:8px;border-radius:11px;box-shadow:none}.drawing-tools{position:sticky;top:80px}.device-palette{position:sticky;top:80px;max-height:calc(100vh - 96px);overflow:auto}.compact-head h3{font-size:12px}.compact-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.compact-tool-grid .tool{padding:5px 2px;min-width:0;border-radius:7px;font-size:16px}.compact-tool-grid .tool span{font-size:9px;margin-top:1px}.toolbox-bottom{display:grid;gap:4px;margin-top:6px}.toolbox-bottom .btn{font-size:10px;padding:5px 4px!important;margin:0!important}.drawing-tools.tools-collapsed{width:38px;padding:6px 4px}.compact-collapse{width:26px;height:26px}
.canvas-card{box-shadow:none;border-radius:11px;position:relative}.blueprint-topbar{display:flex;align-items:center;gap:8px;justify-content:space-between;flex-wrap:wrap;min-height:48px;padding:7px 9px;border-bottom:1px solid var(--border);background:var(--panel)}.blueprint-title{display:flex;flex-direction:column;min-width:180px;flex:1}.blueprint-title strong{font-size:13px}.blueprint-title .muted{font-size:10px}.top-tool-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.blueprint-topbar .btn{padding:6px 8px;font-size:11px;border-radius:7px}.blueprint-topbar .square{width:30px;padding:6px 0}.compact-select{height:30px;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:7px;padding:4px 6px;font-size:11px}
.property-bar{display:flex;align-items:end;gap:5px;padding:6px 8px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--panel2),var(--panel) 45%);overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin}.property-group{flex:0 0 auto;min-width:108px;padding-right:7px;border-right:1px solid var(--border)}.property-label{display:block;text-transform:uppercase;letter-spacing:.06em;font-size:8px;color:var(--muted)}.selected-summary strong{display:block;font-size:11px;max-width:118px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.property-control{display:grid;gap:2px;flex:0 0 auto;font-size:8px;font-weight:700;color:var(--muted);margin:0!important;white-space:nowrap}.property-control input,.property-control select{height:28px;width:62px;min-width:0;border:1px solid var(--border);border-radius:6px;background:var(--panel);color:var(--text);padding:3px 5px;font-size:11px}.property-control input[type=color]{width:38px;padding:2px}.property-control select{width:74px}.property-bar .btn{height:28px;padding:4px 9px!important;margin:0!important;font-size:10px}.canvas-viewport{max-height:calc(100vh - 245px);padding:10px}
.designer-popover{position:absolute;right:10px;top:52px;z-index:10;width:min(340px,calc(100% - 20px));padding:10px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:var(--shadow)}.popover-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.popover-grid,.setting-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.designer-popover label{font-size:10px;font-weight:700;color:var(--muted)}.designer-popover input,.designer-popover select{width:100%;margin-top:3px;border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:7px;padding:6px;font-size:11px}
.device-palette .panel-head h3{font-size:12px}.device-palette input{padding:6px 7px;font-size:11px}.palette-help{font-size:9px}.object-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:220px}.object-item{padding:6px 4px}.object-item .object-symbol{font-size:18px}.object-item strong{font-size:9px}.compact-palette{max-height:170px}.selection-inspector{font-size:10px}.selection-inspector label{font-size:10px;margin:7px 0}.selection-inspector select[multiple]{min-height:78px;font-size:10px}.linked-info{padding:6px}.attachment-chip{padding:4px 5px;font-size:9px}
@media(max-width:1180px){.blueprint-shell{grid-template-columns:102px minmax(0,1fr) 190px}.main{padding:10px}.property-control input,.property-control select{width:56px}.object-palette{grid-template-columns:1fr}}
@media(max-width:900px){.shell{display:block}.sidebar.network-strip{position:static;margin:8px;max-height:none}.lan-list{flex-direction:row;overflow:auto}.lan-item{min-width:125px}.blueprint-shell{grid-template-columns:1fr}.drawing-tools,.device-palette{position:static;max-height:none}.compact-tool-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.object-palette{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.canvas-viewport{max-height:70vh}}
.property-control input[type=text]{width:120px}.shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.shell.sidebar-collapsed>.sidebar.network-strip{margin:0;padding:0;border:0;max-height:0;overflow:hidden}
.property-control input[type=text]{width:120px}.shell.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.shell.sidebar-collapsed>.sidebar.network-strip{margin:0;padding:0;border:0;max-height:0;overflow:hidden}


/* v1.5.2 designer right panel + live properties */
.designer-rightbar{overflow:hidden!important;max-height:calc(100vh - 96px)!important}.rightbar-head{display:flex;align-items:center;justify-content:space-between;padding:1px 1px 7px;border-bottom:1px solid var(--border);margin-bottom:5px}.rightbar-head strong{font-size:11px}.designer-dropdown{border-bottom:1px solid var(--border);padding:3px 0}.designer-dropdown:last-child{border-bottom:0}.designer-dropdown>summary{list-style:none;padding:7px 2px!important}.designer-dropdown>summary::-webkit-details-marker{display:none}.designer-dropdown>summary:before{content:'▾';font-size:9px;margin-right:6px;color:var(--muted)}.designer-dropdown:not([open])>summary:before{content:'▸'}.designer-dropdown .dropdown-body{padding:3px 1px 8px}.panel-inline-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:center}.panel-inline-actions .btn{padding:6px 7px;font-size:10px}.designer-rightbar.rightbar-collapsed{width:38px!important;padding:6px 4px!important;overflow:hidden!important}.designer-rightbar.rightbar-collapsed>*:not(.rightbar-head){display:none!important}.designer-rightbar.rightbar-collapsed .rightbar-head strong{display:none}.designer-rightbar.rightbar-collapsed .rightbar-head{justify-content:center;border:0}.live-property-note{align-self:center;font-size:9px;font-weight:800;color:#1f7a50;background:color-mix(in srgb,#1f7a50,transparent 88%);border:1px solid color-mix(in srgb,#1f7a50,transparent 70%);border-radius:999px;padding:4px 7px}.property-control.property-wide select{width:125px}.font-upload-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;align-items:end}.font-upload-row label{margin:0}.font-list{display:grid;gap:7px;margin-top:14px;max-height:360px;overflow:auto}.font-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid var(--border);background:var(--panel2);border-radius:9px;padding:9px}.font-row strong,.font-row span{display:block}.font-row span{font-size:11px;color:var(--muted);margin-top:2px}.attachment-count-badge{font-weight:800}
@media(max-width:900px){.designer-rightbar.rightbar-collapsed{width:auto!important}.designer-rightbar.rightbar-collapsed>*{display:block!important}.designer-rightbar .rightbar-head .compact-collapse{display:none}}

/* v1.5.3 precision tools + custom tables */
.prop-unit,#gridUnitLabel{font-size:10px;color:var(--muted);font-weight:600;margin-left:2px}
#gridUnitLabel{display:block;margin-top:3px}
.column-edit-row{display:grid;grid-template-columns:minmax(120px,1.2fr) minmax(110px,1fr) minmax(130px,1fr) minmax(160px,1.4fr) auto 34px;gap:7px;align-items:center;margin-bottom:7px}
.column-edit-row input,.column-edit-row select{min-width:0}
.mini-check{display:flex!important;align-items:center;gap:4px;font-size:12px}
.mini-check input{width:auto!important}
.dialog-subhead{display:flex;align-items:center;justify-content:space-between;margin:14px 0 8px}
#customTableHead th small{display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:2px}
.photo-mini-stack{display:flex;align-items:center;gap:4px;min-width:120px}.photo-mini-stack img{width:30px;height:30px;object-fit:cover;border-radius:5px;border:1px solid var(--border)}.photo-mini-stack span{font-size:11px;color:var(--muted)}
.record-photo-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.record-photo-list span{position:relative;display:inline-block}.record-photo-list img{width:78px;height:62px;object-fit:cover;border-radius:7px;border:1px solid var(--border)}.record-photo-list button{position:absolute;right:2px;top:2px;width:22px;height:22px;border:0;border-radius:50%;cursor:pointer}
@media(max-width:900px){.column-edit-row{grid-template-columns:1fr 1fr}.column-edit-row .tc-extra{grid-column:1/-1}}
/* v1.5.4 designer refinements */
.left-library{margin-top:8px;min-width:0;border-top:1px solid var(--border);padding-top:6px}
.left-library summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:12px;font-weight:700;padding:5px 2px}
.left-library .dropdown-body{padding:4px 0 0;min-width:0}
.left-library .object-palette{max-height:280px;overflow:auto;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.left-library .object-card{min-width:0}
.layout-switcher{display:flex;align-items:center;gap:5px;min-width:0}.layout-switcher select{max-width:220px;min-width:130px;height:34px}
.align-tool-group{gap:3px}.align-tool-group .square{width:34px;padding:0}
.photo-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:220px;overflow:auto}.photo-source{padding:0;border:1px solid var(--border);background:var(--panel);border-radius:7px;overflow:hidden;aspect-ratio:1;cursor:pointer}.photo-source img{width:100%;height:100%;object-fit:cover;display:block}
.canvas-viewport.is-panning{cursor:grabbing!important;user-select:none}.canvas-viewport.is-panning canvas{cursor:grabbing!important}
@media (max-width:1100px){.left-library .object-palette{grid-template-columns:1fr}.layout-switcher select{max-width:160px}.align-tool-group{order:4}}
.detail-photo-row{display:flex;gap:5px;margin-top:6px;flex-wrap:wrap}.detail-photo-row img{width:54px;height:42px;object-fit:cover;border-radius:5px;border:1px solid var(--border)}

/* v1.5.5 custom-table search/pagination + library cleanup */
.object-library-actions{margin-bottom:6px}.object-library-search{width:100%;margin-bottom:5px}
.custom-table-toolbar{align-items:center}.table-toolbar-left{display:grid;grid-template-columns:minmax(180px,260px) minmax(220px,1fr);gap:8px;flex:1;min-width:0}.table-toolbar-left select,.table-toolbar-left input{min-width:0}
.table-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--border);background:var(--panel)}.pager-actions{display:flex;align-items:center;gap:7px}.pager-actions label{display:flex;align-items:center;gap:5px;margin:0;font-size:11px;color:var(--muted)}.pager-actions select{width:70px;padding:6px}
@media(max-width:800px){.table-toolbar-left{grid-template-columns:1fr}.table-pager{align-items:flex-start;flex-direction:column}.pager-actions{width:100%;flex-wrap:wrap}}


/* designer data binding */

/* v1.5.7 designer content/data insert tools */
.insert-content-section summary{align-items:center;gap:8px}.insert-content-section summary .muted{font-size:10px;margin-left:auto}.insert-content-body{display:grid;gap:8px}.compact-field{font-size:11px;display:grid;gap:4px}.compact-field select{min-width:0;width:100%;height:32px}.insert-tool-list{display:grid;grid-template-columns:1fr;gap:4px}.insert-tool{width:100%;min-height:42px;border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:8px;padding:5px 7px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;text-align:left;gap:6px;cursor:pointer}.insert-tool:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent),transparent 92%)}.insert-tool>strong{font-size:14px;text-align:center}.insert-tool span{min-width:0;display:grid}.insert-tool b{font-size:11px;line-height:1.1}.insert-tool small{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.designer-bound-placeholder{font-style:italic}

/* v1.5.8 compact dropdown designer + advanced object properties */
.drawing-tools .designer-dropdown{margin:4px 0;border:1px solid var(--border);border-radius:8px;background:var(--panel)}
.drawing-tools .designer-dropdown>summary{padding:6px 7px!important;font-size:10px;font-weight:800;cursor:pointer}
.drawing-tools .designer-dropdown .dropdown-body{padding:5px}
.property-bar.property-sections{display:flex;align-items:flex-start;gap:5px;overflow-x:auto;overflow-y:hidden;padding:5px 6px;scrollbar-width:thin}
.property-sections>.selected-summary{flex:0 0 105px;min-height:42px}
.property-dropdown{flex:0 0 auto;margin:0!important;border:1px solid var(--border)!important;border-radius:7px!important;background:var(--panel2);padding:0!important;min-width:130px}
.property-dropdown>summary{padding:5px 7px!important;font-size:9px!important;font-weight:800!important;white-space:nowrap}
.property-dropdown>.dropdown-body{padding:5px!important}
.property-grid{display:grid!important;grid-template-columns:repeat(2,minmax(72px,auto));gap:4px!important;align-items:end}
.property-grid .property-control{margin:0;font-size:8px;min-width:0}
.property-grid .property-control input,.property-grid .property-control select{width:82px;min-width:0;height:28px;padding:3px 5px;font-size:10px}
.property-grid .property-control input[type=color]{width:42px;padding:2px}
.property-grid .property-wide{grid-column:1/-1}.property-grid .property-wide select{width:100%}
.property-grid .btn{height:28px;padding:3px 7px;font-size:9px;align-self:end}
.live-property-note{display:none!important}
#newCustomObjectBtn{width:auto!important;min-height:28px;padding:4px 8px!important;font-size:9px!important}
.object-library-actions{display:flex;justify-content:flex-start}
@media(max-width:900px){.property-bar.property-sections{flex-wrap:nowrap}.property-dropdown{min-width:150px}.property-grid{grid-template-columns:1fr 1fr}}
.align-tool-group .align-select{min-width:128px;max-width:165px}.align-tool-group{gap:5px}@media(max-width:900px){.align-tool-group .align-select{min-width:118px;max-width:145px}}


/* v1.5.12 compact toggle palettes */
.blueprint-shell{grid-template-columns:96px minmax(0,1fr) 176px;gap:6px}
.drawing-tools,.designer-rightbar{padding:6px!important;border-radius:9px!important}
.palette-rail-head{min-height:28px;gap:4px}
.palette-rail-head h3,.palette-rail-head strong{font-size:10px!important;white-space:nowrap}
.palette-toggle-btn{border:1px solid var(--border);background:var(--panel2);color:var(--text);border-radius:7px;min-height:26px;padding:3px 6px;display:inline-flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-size:9px;font-weight:800}
.palette-toggle-btn:hover{border-color:var(--accent)}
.palette-toggle-btn .toggle-icon{font-size:9px;line-height:1}.palette-toggle-btn .toggle-label{font-size:9px}
.drawing-tools .designer-dropdown,.left-library.designer-dropdown{margin:3px 0!important;border-radius:7px!important}
.drawing-tools .designer-dropdown>summary,.left-library.designer-dropdown>summary{padding:5px 5px!important;font-size:9px!important}
.drawing-tools .designer-dropdown .dropdown-body,.left-library.designer-dropdown .dropdown-body{padding:4px!important}
.compact-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px}
.compact-tool-grid .tool{padding:4px 1px;font-size:14px;min-height:35px}
.compact-tool-grid .tool span{font-size:8px}
.toolbox-bottom{gap:3px;margin-top:4px}.toolbox-bottom .btn{font-size:8px!important;padding:4px 3px!important;min-height:25px}
.insert-tool{min-height:34px;padding:4px;grid-template-columns:23px minmax(0,1fr);gap:4px}.insert-tool>strong{font-size:11px}.insert-tool b{font-size:9px}.insert-tool small{font-size:8px}
.compact-field{font-size:9px}.compact-field select{height:27px;font-size:9px;padding:3px 4px}
#newCustomObjectBtn{min-height:24px!important;padding:3px 6px!important;font-size:8px!important}
.object-library-search{padding:5px!important;font-size:9px!important}.palette-help{display:none}
.left-library .object-palette{grid-template-columns:1fr!important;max-height:170px}.object-item{padding:4px 3px}.object-item .object-symbol{font-size:16px}.object-item strong{font-size:8px}
.designer-rightbar{max-height:calc(100vh - 90px)!important}.designer-rightbar .designer-dropdown>summary{padding:5px 2px!important;font-size:9px}.designer-rightbar .designer-dropdown .dropdown-body{padding:3px 1px 5px}
.designer-rightbar input,.designer-rightbar select{font-size:9px;padding:5px}.compact-palette{max-height:135px}.palette-device{padding:5px}.palette-device strong{font-size:10px}.palette-device span{font-size:8px}
.selection-inspector label{font-size:9px;margin:5px 0}.selection-inspector select[multiple]{min-height:64px;font-size:9px}.linked-info{font-size:9px;padding:4px}
/* collapsed rails occupy almost no canvas space */
.blueprint-shell:has(.drawing-tools.tools-collapsed){grid-template-columns:34px minmax(0,1fr) 176px}
.drawing-tools.tools-collapsed{width:34px!important;padding:4px 2px!important}.drawing-tools.tools-collapsed .palette-rail-head{display:flex!important;justify-content:center}.drawing-tools.tools-collapsed .palette-toggle-btn{width:28px;padding:3px}.drawing-tools.tools-collapsed .toggle-label,.drawing-tools.tools-collapsed h3{display:none!important}.drawing-tools.tools-collapsed .toggle-icon{transform:rotate(180deg)}
.blueprint-shell:has(.designer-rightbar.rightbar-collapsed){grid-template-columns:96px minmax(0,1fr) 34px}
.blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){grid-template-columns:34px minmax(0,1fr) 34px}
.designer-rightbar.rightbar-collapsed{width:34px!important;padding:4px 2px!important}.designer-rightbar.rightbar-collapsed .rightbar-head{display:flex!important;justify-content:center!important}.designer-rightbar.rightbar-collapsed .palette-toggle-btn{width:28px;padding:3px}.designer-rightbar.rightbar-collapsed .toggle-label,.designer-rightbar.rightbar-collapsed .rightbar-head strong{display:none!important}.designer-rightbar.rightbar-collapsed .toggle-icon{transform:rotate(180deg)}
/* compact/collapsible properties palette */
.property-bar.property-sections{min-height:46px;padding:4px;gap:4px}.property-sections>.selected-summary{flex:0 0 94px;min-height:36px;padding:4px}.selected-summary strong{font-size:9px}.selected-summary .property-label{font-size:8px}.property-summary-actions{display:flex;gap:3px;margin-top:3px}.property-summary-actions .btn{padding:2px 5px!important;height:23px;font-size:8px!important}
.property-bar.properties-collapsed{overflow:hidden;height:42px;min-height:42px}.property-bar.properties-collapsed>details{display:none!important}.property-bar.properties-collapsed>.selected-summary{flex:0 0 auto;min-width:170px;display:flex;align-items:center;gap:7px}.property-bar.properties-collapsed .property-summary-actions{margin:0 0 0 auto}
.property-dropdown{min-width:118px}.property-dropdown>summary{padding:4px 6px!important}.property-dropdown>.dropdown-body{padding:4px!important}.property-grid{grid-template-columns:repeat(2,minmax(64px,auto));gap:3px!important}.property-grid .property-control input,.property-grid .property-control select{width:72px;height:25px;font-size:9px}.property-grid .property-control{font-size:7px}
@media(max-width:1180px){.blueprint-shell{grid-template-columns:82px minmax(0,1fr) 158px}.blueprint-shell:has(.drawing-tools.tools-collapsed){grid-template-columns:34px minmax(0,1fr) 158px}.blueprint-shell:has(.designer-rightbar.rightbar-collapsed){grid-template-columns:82px minmax(0,1fr) 34px}.blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){grid-template-columns:34px minmax(0,1fr) 34px}}
@media(max-width:900px){.blueprint-shell,.blueprint-shell:has(.drawing-tools.tools-collapsed),.blueprint-shell:has(.designer-rightbar.rightbar-collapsed),.blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){grid-template-columns:1fr}.drawing-tools,.designer-rightbar{position:static!important;width:auto!important}.drawing-tools.tools-collapsed,.designer-rightbar.rightbar-collapsed{width:auto!important}.drawing-tools.tools-collapsed>*:not(.panel-head),.designer-rightbar.rightbar-collapsed>*:not(.rightbar-head){display:none!important}}

/* v1.5.13 site-wide responsive UI stabilization */
html,body{max-width:100%;overflow-x:hidden}
body{min-width:0}
*,*::before,*::after{min-width:0}
img,svg,canvas,video{max-width:100%}
button,input,select,textarea{max-width:100%}
button,.btn,.tab,.tool,.insert-tool,.palette-toggle-btn,.row-action,.icon-btn{overflow-wrap:anywhere;word-break:normal}
input,select,textarea{min-width:0;width:auto}
input[type=text],input[type=search],input[type=url],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{width:100%}
.brand,.brand>div,.workspace-head>div,.panel-head>*{min-width:0}
.brand strong,.brand small,.workspace-head h1,.workspace-head p,.panel-head h2,.panel-head h3,.selected-summary strong,.property-label,.palette-device strong,.palette-device span,.object-item strong,.insert-tool b,.insert-tool small{overflow-wrap:anywhere}
.topbar{height:auto;min-height:60px;padding:9px 16px;gap:10px;flex-wrap:wrap}
.topbar>.brand{flex:1 1 220px}.topbar>button,.topbar>.btn{flex:0 0 auto}
.shell,.main,.workspace,.tab-panel,.card,.toolbar-card,.canvas-card,.blueprint-shell{min-width:0;max-width:100%}
.main{overflow-x:hidden}
.workspace-head{flex-wrap:wrap}.workspace-head>div:first-child{flex:1 1 260px}.head-actions{flex:0 1 auto;flex-wrap:wrap;justify-content:flex-end}
.head-actions .btn,.toolbar-actions .btn,.canvas-actions .btn{white-space:normal}
.tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;max-width:100%}.tab{flex:0 0 auto;white-space:nowrap}
.toolbar-card{align-items:center;flex-wrap:wrap}.toolbar-card>*{min-width:0}.toolbar-actions{flex-wrap:wrap}.search-wrap{flex:1 1 240px}
.table-scroll{max-width:100%;overflow:auto}.table-card{max-width:100%}table{width:max-content;min-width:100%}th,td{max-width:320px;white-space:normal;overflow-wrap:anywhere;vertical-align:top}
.dialog{max-width:calc(100vw - 20px);max-height:calc(100vh - 20px);overflow:auto;padding:16px}.dialog-head,.dialog-actions{flex-wrap:wrap}.dialog .inline{flex-wrap:wrap}.dialog .inline>*{flex:1 1 150px}.dialog-actions>*,.dialog-actions.spread>div{flex-wrap:wrap}
.blueprint-shell{width:100%;align-items:start}
.drawing-tools,.designer-rightbar,.device-palette{max-width:100%;overflow:hidden}
.drawing-tools .dropdown-body,.designer-rightbar .dropdown-body,.left-library .dropdown-body{overflow:hidden}
.tool-grid,.compact-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tool{width:100%;white-space:normal;overflow:hidden}.tool span{overflow-wrap:anywhere}
.object-palette{grid-template-columns:repeat(2,minmax(0,1fr))}.object-item{min-width:0;overflow:hidden}
.palette-list,.compact-palette{max-width:100%}.palette-device{min-width:0;overflow:hidden}
.canvas-toolbar{flex-wrap:wrap;align-items:center}.canvas-toolbar>div{min-width:0}.canvas-toolbar>div:first-child{flex:1 1 180px}.canvas-toolbar>div:last-child{flex:0 1 auto;flex-wrap:wrap}
.top-actions,.canvas-actions,.align-tool-group{flex-wrap:wrap;max-width:100%}.align-tool-group .align-select{min-width:120px;max-width:100%;flex:1 1 140px}
.canvas-viewport{max-width:100%;overflow:auto}.canvas-viewport>canvas{max-width:none}
.property-bar.property-sections{max-width:100%;overflow-x:auto;overflow-y:hidden}.property-dropdown{max-width:min(260px,80vw)}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-grid .property-control input,.property-grid .property-control select{width:100%;max-width:100%}.property-grid .property-control{min-width:0}.property-grid .property-wide{min-width:0}
.selected-summary{overflow:hidden}.selected-summary strong,.selected-summary span{display:block;overflow-wrap:anywhere}
.table-toolbar-left{min-width:0}.table-toolbar-left>*{min-width:0}.table-pager,.pager-actions{flex-wrap:wrap}

@media(max-width:1100px){
  .shell{grid-template-columns:210px minmax(0,1fr)}
  .main{padding:16px}
  .blueprint-shell{grid-template-columns:86px minmax(0,1fr) 150px}
  .blueprint-shell:has(.drawing-tools.tools-collapsed){grid-template-columns:34px minmax(0,1fr) 150px}
  .blueprint-shell:has(.designer-rightbar.rightbar-collapsed){grid-template-columns:86px minmax(0,1fr) 34px}
  .blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){grid-template-columns:34px minmax(0,1fr) 34px}
}

@media(max-width:820px){
  .topbar{align-items:center}.brand-mark{width:36px;height:36px}.brand small{font-size:11px}
  .shell{display:block;min-height:0}.sidebar{border-right:0;border-bottom:1px solid var(--border);padding:10px 12px}.lan-list{display:flex;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:3px}.lan-item{min-width:145px;max-width:210px;padding:8px}
  .main{padding:10px}.workspace-head{gap:10px}.workspace-head h1{font-size:24px}.head-actions{width:100%;justify-content:flex-start}.head-actions .btn{flex:1 1 120px}
  .tabs{margin:14px 0}.tab{padding:9px 11px}
  .toolbar-card{padding:9px}.toolbar-actions{width:100%}.toolbar-actions .btn{flex:1 1 110px}
  .blueprint-shell,.blueprint-shell:has(.drawing-tools.tools-collapsed),.blueprint-shell:has(.designer-rightbar.rightbar-collapsed),.blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){display:grid;grid-template-columns:1fr;gap:7px}
  .drawing-tools,.designer-rightbar{position:static!important;width:100%!important;max-height:none!important}
  .drawing-tools.tools-collapsed,.designer-rightbar.rightbar-collapsed{width:100%!important}
  .drawing-tools.tools-collapsed>*:not(.panel-head),.designer-rightbar.rightbar-collapsed>*:not(.rightbar-head){display:none!important}
  .drawing-tools.tools-collapsed .palette-rail-head,.designer-rightbar.rightbar-collapsed .rightbar-head{justify-content:flex-start!important}
  .drawing-tools.tools-collapsed .toggle-label,.designer-rightbar.rightbar-collapsed .toggle-label{display:inline!important}.drawing-tools.tools-collapsed h3,.designer-rightbar.rightbar-collapsed .rightbar-head strong{display:block!important}
  .compact-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.tool{min-height:42px}
  .left-library .object-palette{grid-template-columns:repeat(3,minmax(0,1fr))!important;max-height:190px}
  .canvas-toolbar{align-items:flex-start}.canvas-toolbar>div:first-child,.canvas-toolbar>div:last-child{width:100%;flex-basis:100%}.canvas-actions>*{flex:1 1 105px}.canvas-viewport{max-height:65vh;padding:8px}
  .property-bar.property-sections{display:grid;grid-template-columns:1fr;overflow:visible;max-height:none}.property-sections>.selected-summary{width:100%;flex:auto}.property-dropdown{width:100%;max-width:none}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-grid .property-control input,.property-grid .property-control select{height:34px;font-size:12px}.property-grid .property-control{font-size:9px}.property-bar.properties-collapsed{display:flex;height:auto;min-height:40px}.property-bar.properties-collapsed>.selected-summary{min-width:0;width:100%}
  .dialog{width:calc(100vw - 16px);padding:13px}
}

@media(max-width:520px){
  .topbar{padding:8px 10px}.brand{gap:7px}.brand>div{max-width:calc(100% - 45px)}.brand strong{font-size:13px}.brand small{white-space:normal}.topbar .btn,.topbar .icon-btn{min-height:38px}
  .main{padding:8px}.workspace-head h1{font-size:21px}.empty-state h1{font-size:27px}.empty-state{min-height:55vh}
  .btn{padding:8px 10px;font-size:12px;min-height:38px}.btn.compact{min-height:32px}.icon-btn{min-width:36px;min-height:36px}
  .head-actions .btn,.toolbar-actions .btn,.canvas-actions .btn{flex:1 1 calc(50% - 6px)}
  .compact-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tool span{font-size:8px}.tool{font-size:13px}
  .left-library .object-palette{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .object-item strong{white-space:normal;line-height:1.1}
  .insert-tool{grid-template-columns:24px minmax(0,1fr)}.insert-tool small{white-space:normal;line-height:1.15}
  .property-grid{grid-template-columns:1fr}.property-grid .property-wide{grid-column:auto}.property-dropdown>summary{font-size:10px!important}.property-grid .property-control{font-size:9px}.property-grid .property-control input,.property-grid .property-control select{width:100%;height:38px;font-size:13px}
  .align-tool-group{width:100%}.align-tool-group .align-select{width:100%;max-width:none;flex-basis:100%}
  .table-pager{padding:8px}.pager-actions{width:100%}.pager-actions .btn{flex:1 1 90px}.pager-actions label{width:100%}.pager-actions select{width:100%}
  th,td{padding:9px 8px;font-size:12px;max-width:220px}
  .dialog-actions{align-items:stretch}.dialog-actions>.btn,.dialog-actions>div,.dialog-actions.spread>div{width:100%}.dialog-actions.spread>div .btn{flex:1 1 120px}
}

/* v1.5.14 photo crop */
.image-crop-section.hidden{display:none!important}.image-crop-section .property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.image-crop-section .property-wide{grid-column:1/-1}

/* v1.5.14.1 - normalize Properties dropdown sizing with other designer dropdowns */
.property-bar.property-sections .property-dropdown{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:3px 0!important;
  padding:0!important;
  border:1px solid var(--border)!important;
  border-radius:7px!important;
  background:var(--panel)!important;
}
.property-bar.property-sections .property-dropdown>summary{
  min-height:28px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  padding:5px 7px!important;
  font-size:9px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.property-bar.property-sections .property-dropdown>.dropdown-body{
  padding:5px!important;
  margin:0!important;
}
.property-bar.property-sections .property-dropdown:not([open])>.dropdown-body{display:none!important}
@media (min-width:901px){
  .property-bar.property-sections .property-dropdown{min-width:112px!important}
}
@media (max-width:900px){
  .property-bar.property-sections .property-dropdown{width:100%!important;min-width:0!important}
}

/* v1.5.15 interactive image crop */
.image-adjust-controls .property-wide{grid-column:1/-1}
.image-adjust-help{margin:0;font-size:9px;line-height:1.35;color:var(--muted);max-width:220px}
.image-zoom-readout{font-size:9px;font-weight:700;color:var(--muted)}
#adjustImageBtn.active{outline:2px solid var(--accent);outline-offset:1px}
#blueprintCanvas.image-adjust-mode{cursor:grab!important}
#blueprintCanvas.image-adjust-dragging{cursor:grabbing!important}

/* v1.5.16.1 - ultra compact designer property controls */
@media (min-width:901px){
  .property-bar.property-sections{
    gap:3px!important;
    padding:3px 5px!important;
    align-items:flex-start!important;
  }
  .property-bar.property-sections .property-dropdown{
    min-width:96px!important;
    max-width:190px!important;
    margin:1px 0!important;
    border-radius:6px!important;
  }
  .property-bar.property-sections .property-dropdown>summary{
    min-height:23px!important;
    height:23px!important;
    padding:2px 5px!important;
    font-size:8px!important;
    line-height:1!important;
  }
  .property-bar.property-sections .property-dropdown>.dropdown-body{
    padding:3px!important;
  }
  .property-bar.property-sections .property-grid{
    grid-template-columns:repeat(2,minmax(56px,1fr))!important;
    gap:2px 3px!important;
    align-items:end!important;
  }
  .property-bar.property-sections .property-control{
    gap:1px!important;
    font-size:7px!important;
    line-height:1.05!important;
    min-width:0!important;
  }
  .property-bar.property-sections .property-control small{
    font-size:6px!important;
    line-height:1!important;
  }
  .property-bar.property-sections .property-control input,
  .property-bar.property-sections .property-control select{
    width:100%!important;
    min-width:0!important;
    height:22px!important;
    min-height:22px!important;
    padding:1px 4px!important;
    border-radius:4px!important;
    font-size:9px!important;
    line-height:1!important;
  }
  .property-bar.property-sections .property-control input[type="color"]{
    width:34px!important;
    height:22px!important;
    padding:1px!important;
  }
  .property-bar.property-sections .property-wide{
    grid-column:1/-1!important;
  }
  .property-bar.property-sections .property-grid .btn{
    min-height:22px!important;
    height:22px!important;
    padding:2px 5px!important;
    font-size:8px!important;
    line-height:1!important;
  }
  .property-bar.property-sections .image-adjust-help{
    font-size:7px!important;
    line-height:1.2!important;
    margin:1px 0!important;
  }
  .property-bar.property-sections .image-zoom-readout{
    font-size:7px!important;
  }
}


/* v1.5.16.2 - compact inline property labels + clean palette summaries */
.property-bar.property-sections .property-control{
  display:grid!important;
  grid-template-columns:auto auto 1fr!important;
  align-items:center!important;
  column-gap:2px!important;
  row-gap:1px!important;
  white-space:nowrap!important;
}
.property-bar.property-sections .property-control>.prop-unit{
  display:inline!important;
  margin:0!important;
  font-size:.82em!important;
  line-height:1!important;
  vertical-align:baseline!important;
}
.property-bar.property-sections .property-control>input,
.property-bar.property-sections .property-control>select,
.property-bar.property-sections .property-control>.btn,
.property-bar.property-sections .property-control>textarea{
  grid-column:1/-1!important;
}
.property-bar.property-sections .property-control.property-wide{
  grid-template-columns:auto auto 1fr!important;
}
.designer-dropdown>summary{
  min-width:0!important;
  gap:4px!important;
  overflow:hidden!important;
}
.designer-dropdown>summary>span{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
  font-size:8px!important;
  line-height:1.1!important;
}
.designer-dropdown>summary .muted{
  display:none!important;
}
@media (max-width:900px){
  .designer-dropdown>summary>span{font-size:10px!important}
}

/* v1.5.17 - site-wide visual normalization */
:root{
  --ui-font:13px;
  --ui-small:11px;
  --ui-xs:10px;
  --ui-control-h:34px;
  --ui-radius:8px;
  --ui-gap:7px;
}
body{font-size:var(--ui-font);line-height:1.38}

/* typography */
h1{font-size:26px;line-height:1.15}
h2{font-size:18px;line-height:1.2}
h3{font-size:14px;line-height:1.25}
p{line-height:1.45}
.muted{font-size:var(--ui-small);line-height:1.35}
.eyebrow{font-size:10px}
.brand strong{font-size:14px}.brand small{font-size:10px;line-height:1.2}
.panel-head h2{font-size:15px}.panel-head h3{font-size:13px}

/* consistent controls */
button,.btn,input,select,textarea{font-size:12px;line-height:1.2}
.btn{min-height:var(--ui-control-h);padding:6px 10px;border-radius:var(--ui-radius);display:inline-flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}
.btn.compact{min-height:28px;height:auto;padding:4px 8px;font-size:11px;margin-top:0}
.btn.square,.icon-btn{width:32px;min-width:32px;height:32px;min-height:32px;padding:0}
input[type=text],input[type=search],input[type=url],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{
  min-height:var(--ui-control-h);padding:6px 9px;border-radius:var(--ui-radius);font-size:12px;line-height:1.25;
}
textarea{min-height:74px;resize:vertical}
label{line-height:1.25}

/* select/tabs/navigation */
.tabs{gap:2px;margin:16px 0 14px}
.tab{min-height:36px;padding:7px 12px;font-size:12px;font-weight:650;display:flex;align-items:center;justify-content:center}
.tab.active{font-weight:750}

/* cards/toolbars */
.card{border-radius:10px}
.toolbar-card{padding:9px 10px;gap:8px}
.toolbar-actions,.head-actions,.top-actions,.canvas-actions{gap:6px}
.workspace-head{gap:12px}.workspace-head h1{font-size:24px}
.main{padding:16px}

/* tables */
th{font-size:10px;padding:8px 10px}
td{font-size:12px;padding:9px 10px}
.row-action{font-size:11px}
.table-pager{font-size:11px}
.table-pager select{min-height:30px}

/* dialogs */
.dialog{border-radius:11px;padding:14px}
.dialog h2{font-size:17px}
.dialog label{font-size:11px;margin:8px 0}
.dialog-actions{margin-top:12px;gap:7px}

/* sidebars */
.sidebar{padding:12px 10px}
.lan-list{gap:5px;margin-top:9px}.lan-item{padding:7px 8px;border-radius:8px}
.lan-item strong{font-size:12px}.lan-item span{font-size:10px;margin-top:2px}
.tip{font-size:10px;padding:9px 2px}

/* Designer compact, but readable */
.blueprint-shell{gap:7px}
.drawing-tools,.device-palette,.designer-rightbar{padding:7px}
.designer-dropdown{border-radius:7px!important}
.designer-dropdown>summary,
.property-bar.property-sections .property-dropdown>summary{
  min-height:29px!important;height:auto!important;padding:5px 7px!important;font-size:10px!important;line-height:1.15!important;font-weight:700!important;
}
.designer-dropdown>summary>span{font-size:10px!important;line-height:1.15!important}
.dropdown-body{padding:6px!important}

.tool-grid,.compact-tool-grid{gap:4px}
.tool{min-height:38px;padding:5px 3px;border-radius:7px;font-size:14px}
.tool span{font-size:9px;line-height:1.1;margin-top:2px}

.object-library-search{min-height:31px!important;font-size:11px!important;padding:5px 7px!important}
.object-palette{gap:4px;margin-top:6px}
.object-item{padding:5px 3px;border-radius:7px}
.object-symbol{height:24px;font-size:18px}.object-item strong{font-size:9px}
.palette-list{gap:4px;margin-top:6px}.palette-device{padding:6px;border-radius:7px}.palette-device strong{font-size:10px}.palette-device span{font-size:9px}

.canvas-toolbar{min-height:45px;padding:6px 8px;gap:7px}
.canvas-toolbar strong{font-size:12px}.canvas-toolbar .muted{font-size:9px}
.canvas-actions .btn,.top-tool-group .btn{min-height:30px;padding:4px 7px;font-size:10px}
.align-select{min-height:30px!important;padding:4px 7px!important;font-size:10px!important}

/* Properties: remove ultra-tiny historical sizing */
.property-bar.property-sections{gap:4px!important;padding:4px 5px!important}
.property-bar.property-sections .property-dropdown{min-width:112px!important;max-width:220px!important;margin:0!important}
.property-bar.property-sections .property-dropdown>.dropdown-body{padding:5px!important}
.property-bar.property-sections .property-grid{grid-template-columns:repeat(2,minmax(62px,1fr))!important;gap:4px!important}
.property-bar.property-sections .property-control{font-size:9px!important;line-height:1.15!important;gap:2px!important}
.property-bar.property-sections .property-control>.prop-unit,
.property-bar.property-sections .property-control small{font-size:8px!important}
.property-bar.property-sections .property-control input,
.property-bar.property-sections .property-control select{
  height:29px!important;min-height:29px!important;padding:4px 6px!important;border-radius:6px!important;font-size:10px!important;
}
.property-bar.property-sections .property-control input[type=color]{height:29px!important;width:42px!important}
.property-bar.property-sections .property-grid .btn{height:29px!important;min-height:29px!important;padding:4px 7px!important;font-size:10px!important}
.property-label{font-size:9px}.selected-summary strong{font-size:11px}.property-summary-actions .btn{font-size:10px}
.image-adjust-help,.property-bar.property-sections .image-adjust-help{font-size:9px!important;line-height:1.3!important}.image-zoom-readout{font-size:9px!important}

/* prevent content from escaping controls */
.btn,.tab,.tool,label,summary,.palette-device,.object-item{max-width:100%}
.btn>*,.tab>*,.tool>*,summary>*{min-width:0}
button,.btn,summary{overflow:hidden;text-overflow:ellipsis}
input,select,textarea{overflow:hidden;text-overflow:ellipsis}

@media(max-width:820px){
  body{font-size:13px}
  .main{padding:10px}
  .tab{font-size:11px;padding:7px 10px}
  .btn{font-size:11px;min-height:36px;padding:7px 9px}
  input[type=text],input[type=search],input[type=url],input[type=email],input[type=password],input[type=number],input[type=date],select,textarea{min-height:38px;font-size:13px}
  .designer-dropdown>summary,.property-bar.property-sections .property-dropdown>summary{min-height:34px!important;font-size:11px!important}
  .designer-dropdown>summary>span{font-size:11px!important}
  .property-bar.property-sections .property-control{font-size:10px!important}
  .property-bar.property-sections .property-control input,.property-bar.property-sections .property-control select{height:36px!important;min-height:36px!important;font-size:12px!important}
}

@media(max-width:520px){
  .topbar{gap:6px}.brand strong{font-size:13px}.brand small{font-size:9px}
  .workspace-head h1{font-size:20px}
  .tabs{margin:10px 0}.tab{min-height:34px;font-size:10px;padding:6px 9px}
  .toolbar-card{padding:7px}.toolbar-actions{gap:5px}
  .btn{white-space:normal;line-height:1.15}
  th{font-size:9px}td{font-size:11px}
  .compact-tool-grid{gap:3px}.tool{min-height:40px}.tool span{font-size:8px}
  .property-bar.property-sections .property-grid{grid-template-columns:1fr!important}
  .property-bar.property-sections .property-dropdown{max-width:none!important;width:100%!important}
}

/* v1.5.17.2 — balance Designer side palettes */
@media (min-width:1181px){
  .blueprint-shell{grid-template-columns:138px minmax(0,1fr) 150px!important}
  .blueprint-shell:has(.drawing-tools.tools-collapsed){grid-template-columns:34px minmax(0,1fr) 150px!important}
  .blueprint-shell:has(.designer-rightbar.rightbar-collapsed){grid-template-columns:138px minmax(0,1fr) 34px!important}
  .blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){grid-template-columns:34px minmax(0,1fr) 34px!important}
  #drawingToolsPanel{width:100%;min-width:0}
}
@media (min-width:901px) and (max-width:1180px){
  .blueprint-shell{grid-template-columns:126px minmax(0,1fr) 142px!important}
  .blueprint-shell:has(.drawing-tools.tools-collapsed){grid-template-columns:34px minmax(0,1fr) 142px!important}
  .blueprint-shell:has(.designer-rightbar.rightbar-collapsed){grid-template-columns:126px minmax(0,1fr) 34px!important}
  .blueprint-shell:has(.drawing-tools.tools-collapsed):has(.designer-rightbar.rightbar-collapsed){grid-template-columns:34px minmax(0,1fr) 34px!important}
}

/* v1.5.17.3 — Designer actions moved into Properties */
.property-actions-dropdown .property-action-groups{display:grid;gap:6px;min-width:0}
.property-actions-dropdown .top-tool-group{display:flex;align-items:center;gap:4px;flex-wrap:wrap;min-width:0}
.property-actions-dropdown .top-tool-group + .top-tool-group{padding-top:5px;border-top:1px solid var(--border)}
.property-actions-dropdown .btn{min-height:26px;height:26px;padding:3px 7px;font-size:10px;line-height:1.1;white-space:nowrap}
.property-actions-dropdown .btn.square{width:26px;min-width:26px;padding:2px}
.property-actions-dropdown .compact-select{height:26px;min-height:26px;max-width:100%;padding:2px 5px;font-size:10px}
.property-actions-dropdown .align-tool-group .align-select{flex:1 1 135px;min-width:0}
.property-actions-dropdown #zoomSelect{width:72px;flex:0 0 72px}
.property-actions-dropdown #designerImageFile{display:none}
@media (max-width:700px){
  .property-actions-dropdown .top-tool-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .property-actions-dropdown .align-tool-group{grid-template-columns:1fr}
  .property-actions-dropdown .align-tool-group .align-select,
  .property-actions-dropdown .btn:not(.square),
  .property-actions-dropdown .compact-select{width:100%;max-width:none}
}

/* v1.5.17.5: zoom controls inside Properties after Shadow */
.property-zoom-group {
  display: grid;
  grid-template-columns: 28px minmax(72px, 1fr) 28px auto;
  gap: 4px;
  align-items: center;
  width: 100%;
}
.property-zoom-group .btn,
.property-zoom-group .compact-select {
  min-width: 0;
  height: 26px;
  font-size: 12px;
}
.property-zoom-group .btn.square {
  width: 28px;
  padding: 0;
}
@media (max-width: 640px) {
  .property-zoom-group {
    grid-template-columns: 32px minmax(76px, 1fr) 32px auto;
  }
  .property-zoom-group .btn,
  .property-zoom-group .compact-select {
    height: 34px;
  }
}

/* v1.5.17.9 - optional crosshair + object context menu */
.canvas-card{position:relative}
.object-context-menu{
  position:absolute;z-index:80;min-width:190px;max-width:240px;padding:5px;
  border:1px solid var(--border);border-radius:9px;background:var(--card);
  box-shadow:0 14px 34px rgba(15,23,42,.18);display:grid;gap:2px
}
.object-context-menu.hidden{display:none!important}
.object-context-menu button{
  appearance:none;border:0;background:transparent;color:var(--text);text-align:left;
  width:100%;min-height:29px;padding:5px 8px;border-radius:6px;font:inherit;font-size:11px;cursor:pointer
}
.object-context-menu button:hover:not(:disabled){background:var(--soft)}
.object-context-menu button:disabled{opacity:.42;cursor:not-allowed}
.object-context-menu button.danger{color:#b42318}
.context-separator{height:1px;background:var(--border);margin:3px 2px}
@media(max-width:700px){.object-context-menu{min-width:180px}.object-context-menu button{min-height:38px;font-size:12px}}

/* v1.5.19 - direct on-canvas text editing */
.canvas-viewport{position:relative}
.canvas-inline-text-editor{
  position:absolute;z-index:70;margin:0;resize:none;overflow:auto;
  border:1px solid var(--accent);outline:2px solid color-mix(in srgb,var(--accent),transparent 70%);
  background:color-mix(in srgb,var(--panel),transparent 8%);color:var(--text);
  box-sizing:border-box;border-radius:3px;min-width:40px;min-height:28px;
  box-shadow:0 2px 10px rgba(15,23,42,.12);white-space:pre-wrap;
}
.canvas-inline-text-editor:focus{outline:2px solid color-mix(in srgb,var(--accent),transparent 55%)}
/* v1.5.20.2: Position lock moved into Zoom & Alignment */
.property-actions-dropdown .property-lock-control {
  display: grid;
  grid-template-columns: auto minmax(88px, 1fr);
  align-items: center;
  gap: 6px;
  margin: 0;
  min-width: 0;
}
.property-actions-dropdown .property-lock-control select {
  min-width: 0;
  width: 100%;
}

/* v1.5.21.2 — selected Properties summary lives in the designer rightbar */
.designer-rightbar .rightbar-selected-summary{
  width:100%;
  min-width:0;
  padding:5px 4px 6px;
  margin:0 0 4px;
  border-right:0;
  border-bottom:1px solid var(--border);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:3px 5px;
  align-items:center;
}
.designer-rightbar .rightbar-selected-summary .property-label{grid-column:1 / -1;font-size:8px}
.designer-rightbar .rightbar-selected-summary strong{min-width:0;max-width:none;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.designer-rightbar .rightbar-selected-summary .property-summary-actions{margin:0;display:flex;gap:3px;justify-content:flex-end}
.designer-rightbar .rightbar-selected-summary .property-summary-actions .btn{height:22px;padding:2px 5px!important;font-size:8px!important}
.designer-rightbar.rightbar-collapsed .rightbar-selected-summary{display:none!important}
@media(max-width:900px){
  .designer-rightbar .rightbar-selected-summary{grid-template-columns:minmax(0,1fr) auto}
}
/* v1.5.22 multi-page blueprint controls */
.layout-switcher{display:flex;align-items:center;gap:4px;min-width:0;flex-wrap:wrap}
.layout-switcher .layout-divider{width:1px;height:22px;background:var(--border,#d7dee8);margin:0 3px}
.layout-switcher .page-select{min-width:88px;max-width:150px;height:30px}
@media(max-width:760px){.layout-switcher{width:100%}.layout-switcher #layoutSelect{flex:1 1 140px}.layout-switcher .page-select{flex:1 1 100px}.layout-switcher .layout-divider{display:none}}

/* v1.5.22.1 data binding */
#dataBindingSection.hidden{display:none!important;}

/* v1.5.22.7 — custom table computed/composite field help */
.table-formula-help{margin:6px 0 10px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
.table-formula-help code{font-size:11px;white-space:normal}
.column-edit-row .tc-extra:not(.hidden){min-width:220px}
@media(max-width:900px){.table-formula-help{font-size:11px}.column-edit-row .tc-extra:not(.hidden){min-width:0;width:100%}}

/* Authentication + admin pages */
.login-screen{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:color-mix(in srgb,var(--bg,#f4f7fb) 92%,#0f172a 8%);padding:20px}.login-screen.hidden{display:none}.login-card{width:min(380px,100%);background:var(--card,#fff);border:1px solid var(--border,#d9e1ec);border-radius:18px;padding:24px;display:grid;gap:14px;box-shadow:0 24px 70px rgba(15,23,42,.18)}.login-card label{display:grid;gap:6px;font-size:13px}.login-card input{width:100%}.login-mark{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:var(--accent,#2563eb);color:#fff;font-weight:800}.form-error{min-height:18px;color:#b42318;font-size:12px}.auth-user-badge{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;background:var(--chip,#eef2f7);white-space:nowrap}.permission-hidden{display:none!important}.admin-form-card,.design-settings-card{padding:16px;margin-bottom:12px}.admin-form-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:12px}.admin-form-grid label{display:grid;gap:5px;font-size:12px}.admin-form-grid input,.admin-form-grid select{width:100%;min-width:0}.admin-toolbar{margin-bottom:12px}.permission-hidden{display:none!important}@media(max-width:900px){.admin-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.admin-form-grid{grid-template-columns:1fr}.auth-user-badge{max-width:140px;overflow:hidden;text-overflow:ellipsis}}

/* v1.5.24 guided computed-field builder */
.column-edit-row{grid-template-columns:minmax(120px,1.2fr) minmax(105px,1fr) minmax(125px,1fr) minmax(230px,1.6fr) auto 34px}
.tc-computed-wrap{display:flex;gap:5px;align-items:center;min-width:0}.tc-computed-wrap .tc-extra{flex:1;min-width:0}.tc-computed-wrap .tc-build{white-space:nowrap;flex:0 0 auto}
.computed-builder-dialog{width:min(820px,94vw)}.computed-builder-body{display:grid;gap:10px}.builder-toolbar,.builder-field-buttons{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.builder-part{display:grid;grid-template-columns:24px 130px minmax(0,1fr) 34px;gap:7px;align-items:center;padding:7px;border:1px solid var(--border);border-radius:9px;background:var(--panel)}.builder-grip{cursor:grab;text-align:center;color:var(--muted)}.builder-inline{display:grid;grid-template-columns:minmax(120px,1fr) 70px 92px minmax(100px,1fr);gap:6px;align-items:center}.builder-date{grid-template-columns:minmax(190px,1.3fr) minmax(130px,1fr) minmax(130px,1fr)}.template-builder textarea,.computed-expression-preview textarea{width:100%;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.computed-expression-preview{margin-top:10px}.computed-expression-preview summary{cursor:pointer;font-weight:700}.computed-expression-preview textarea{margin-top:7px}.builder-field-buttons .btn{max-width:180px;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){.column-edit-row{grid-template-columns:1fr 1fr}.tc-computed-wrap{grid-column:1/-1}.builder-part{grid-template-columns:24px 1fr 34px}.builder-part>.bp-kind{grid-column:2}.builder-part>.bp-editor{grid-column:1/-1}.builder-inline,.builder-date{grid-template-columns:1fr 1fr}.computed-builder-dialog{width:min(96vw,820px)}}

/* v1.5.25 — unified light/dark theme + auth/admin surfaces */
html{color-scheme:light}
html[data-theme="dark"]{color-scheme:dark}
button,input,select,textarea{font:inherit;color:var(--text)}
input,select,textarea{background:var(--panel2);border-color:var(--border)}
input::placeholder,textarea::placeholder{color:var(--muted);opacity:.82}
option,optgroup{background:var(--panel);color:var(--text)}
.login-screen{background:color-mix(in srgb,var(--bg) 92%,#000 8%)}
.login-card{background:var(--panel);border-color:var(--border);color:var(--text);box-shadow:var(--shadow)}
.login-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.login-card h1{margin:0;color:var(--text)}
.login-card input{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:9px 10px;outline:none}
.login-card input:focus,.admin-form-grid input:focus,.admin-form-grid select:focus,.dialog input:focus,.dialog select:focus,.dialog textarea:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent),transparent 78%)}
.auth-user-badge{background:var(--panel2);border:1px solid var(--border);color:var(--text)}
.admin-form-card,.design-settings-card,.toolbar-card,.table-card,.card{background:var(--panel);color:var(--text)}
.admin-form-grid label,.design-settings-card label,.toolbar-card label{color:var(--muted)}
.admin-form-grid input,.admin-form-grid select,.design-settings-card input,.design-settings-card select,.toolbar-card input,.toolbar-card select{background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:8px 9px}
.dialog,.dialog-card,.dialog-form{background:var(--panel);color:var(--text);border-color:var(--border)}
.dialog-card{padding:16px;border-radius:13px;min-width:min(460px,calc(100vw - 24px))}
.dialog-card label{display:grid;gap:5px;color:var(--muted);font-size:12px;margin:9px 0}
.dialog-card input,.dialog-card select,.dialog-card textarea{width:100%;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:9px;padding:9px 10px}
.dialog::backdrop,dialog::backdrop{background:rgba(0,0,0,.58)}
[data-theme="dark"] .btn:hover,[data-theme="dark"] .icon-btn:hover{filter:brightness(1.12)}
[data-theme="dark"] .btn.ghost,[data-theme="dark"] .icon-btn{background:var(--panel2);color:var(--text);border-color:var(--border)}
[data-theme="dark"] .tab{color:var(--muted)}
[data-theme="dark"] .tab.active{color:var(--accent)}
[data-theme="dark"] th{background:color-mix(in srgb,var(--panel2),#000 8%);color:var(--muted)}
[data-theme="dark"] td{color:var(--text)}
[data-theme="dark"] tbody tr:hover{background:color-mix(in srgb,var(--accent),transparent 94%)}
[data-theme="dark"] .table-pager{background:var(--panel)}
[data-theme="dark"] .computed-builder-dialog .builder-part,[data-theme="dark"] .table-formula-help{background:var(--panel2)}
[data-theme="dark"] input[type="color"]{background:var(--panel2);border-color:var(--border)}
[data-theme="dark"] input[type="checkbox"],[data-theme="dark"] input[type="radio"]{accent-color:var(--accent)}
[data-theme="dark"] .toast{background:#e7eef9;color:#111827}
[data-theme="dark"] #blueprintCanvas{box-shadow:0 6px 18px rgba(0,0,0,.38)}
[data-theme="dark"] .login-mark{box-shadow:0 0 0 1px color-mix(in srgb,var(--accent),#fff 18%)}
[data-theme="dark"] .form-error{color:#ff8f87}
