:root{--control-height:34px;--control-font:11px;--control-gap:8px;--header-height:78px}
.topbar{height:auto!important;min-height:70px;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:12px!important;padding:12px 18px!important}
.topbar .brand{flex:0 0 auto}.topbar .brand img{width:100px}.topbar .brand>span{font-size:12px;padding-left:10px}.topbar .brand small{font-size:6px}
.header-workspace{display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--control-gap);min-width:0}
.header-workspace .header-actions,.header-workspace .header-sources{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;margin:0!important;gap:var(--control-gap)!important}
.school-navigation{display:flex;align-items:center;gap:var(--control-gap);margin-left:auto;flex-wrap:wrap}.school-navigation a{height:var(--control-height);display:inline-flex;align-items:center;box-sizing:border-box;padding:0 8px;font-size:var(--control-font);line-height:1;text-decoration:none;color:var(--text);white-space:nowrap}.school-navigation a:hover{color:var(--mint)}
.header-workspace button,.header-workspace input,.header-workspace .alpha,.view-toolbar button,.view-toolbar select,.camera-presets button,.map-tools button,.map-tools input,.map-tools select,.viewport-capture-actions button{box-sizing:border-box!important;height:var(--control-height)!important;min-height:var(--control-height)!important;max-height:var(--control-height)!important;font-size:var(--control-font)!important;font-weight:500!important;line-height:1.2!important;margin-top:0!important;margin-bottom:0!important;padding:0 11px!important;border-radius:5px;vertical-align:middle}
.header-workspace button,.header-workspace .alpha,.view-toolbar button,.camera-presets button,.map-tools button,.viewport-capture-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.header-workspace .alpha{margin:0!important;letter-spacing:.3px;border:1px solid #405748;background:#203b30}
.header-workspace #projectName{width:150px;max-width:none;margin:0!important;padding:0 10px!important;border:1px solid #3a5042!important}
.header-workspace #undo,.header-workspace #redo,.view-toolbar #snapToggle,.map-tools #mapSnapToggle,.viewport-capture-actions #fullscreenButton{width:var(--control-height)!important;min-width:var(--control-height)!important;padding:0!important;flex:0 0 var(--control-height)}
.view-toolbar #snapToggle svg,.map-tools #mapSnapToggle svg{display:block;width:17px;height:17px;flex:none}
.view-toolbar{height:auto!important;min-height:58px;display:flex;align-items:center;justify-content:flex-start;flex-wrap:wrap;gap:var(--control-gap)!important;padding:10px 14px!important}
.view-toolbar .view-actions,.view-toolbar .tabs,.transform-modes,.camera-presets,.map-tools{display:flex;align-items:center;flex-wrap:wrap;gap:var(--control-gap)!important;margin:0}
.view-toolbar .view-actions{margin-left:auto}.view-toolbar .tabs{padding:0}.view-toolbar .tabs button{border:1px solid var(--line)!important}.camera-presets{padding:10px 14px!important}
.map-tools{align-items:flex-end;row-gap:12px!important}.map-tools label{display:flex;flex-direction:column;gap:6px;margin:0;font-size:var(--control-font);line-height:1.2}.map-tools label input,.map-tools label select{margin:0!important;width:100%}.map-tools .card-style-label{width:150px}
.field-grid{gap:var(--control-gap)!important}.field-grid input,.field-grid select,.field-label>input:not([type=checkbox]):not([type=range]):not([type=color]),.field-label>select,.object-actions button,.group-actions button{height:var(--control-height)!important;box-sizing:border-box;font-size:var(--control-font)!important;line-height:1.2;padding-top:0!important;padding-bottom:0!important}
.object-actions,.group-actions{gap:var(--control-gap)!important}.field-grid .unit-field{height:var(--control-height)}
.viewport-capture-actions{gap:var(--control-gap)!important}
dialog.input-dialog{box-sizing:border-box;width:560px!important;max-width:calc(100vw - 24px)!important;height:610px!important;max-height:calc(100dvh - 32px)!important;padding:26px!important;overflow:hidden;position:fixed}
.input-dialog>#dialogContent{height:100%;min-height:0;display:flex;flex-direction:column;gap:16px;overflow:auto;padding-right:3px}
.input-dialog h2{margin:0 30px 4px 0;line-height:1.25;font-size:23px;flex:none}.input-dialog .field-label{display:flex;flex-direction:column;gap:7px;margin:0!important;font-size:var(--control-font);line-height:1.4;flex:none}
.input-dialog input,.input-dialog select,.input-dialog button:not(.text-link):not(.dialog-close){box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);font-size:var(--control-font);padding:0 11px;line-height:1.2}
.input-dialog .bridge-status{margin:0;padding:12px;height:94px;min-height:94px;box-sizing:border-box;overflow:auto;line-height:1.5;font-size:11px;flex:none}
.input-dialog .bridge-actions{display:flex;align-items:center;flex-wrap:wrap;gap:var(--control-gap);margin:0}.input-dialog #localInputActions{margin:2px 0 0}.input-dialog .input-help{margin:auto 0 0!important;padding-top:12px}
.input-dialog .text-link{height:auto!important;min-height:0!important;padding:0!important;background:none;border:0;color:var(--mint);font-size:11px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.input-dialog>.dialog-close,#connectionHelpDialog>.dialog-close{position:absolute;right:12px;top:12px;margin:0;float:none;width:28px;height:28px;padding:0;display:grid;place-items:center}
#connectionHelpDialog{box-sizing:border-box;width:560px;max-width:calc(100vw - 24px);height:520px;max-height:calc(100dvh - 32px);padding:26px;overflow:auto}#connectionHelpDialog h2{font-size:23px;margin:0 28px 20px 0;line-height:1.3}#connectionHelpDialog p{font-size:12px;line-height:1.6;margin:0 0 16px}
@media(min-width:851px){.workspace{height:calc(100dvh - var(--header-height))!important}}
@media(max-width:1250px){.header-workspace{flex:1}.school-navigation{width:100%;justify-content:flex-end}.view-toolbar .view-actions{margin-left:0}}
@media(max-width:580px){.header-workspace{width:100%}.header-workspace .header-actions{width:auto}.school-navigation{justify-content:flex-start}.view-toolbar .view-actions button{display:inline-flex}.view-toolbar .view-actions{width:100%}}
