/* Shared control sizing for the editor, sheets, wiring, panels and shared view.
   Canvas handles, navigation cubes and component drawings keep their geometry. */
:root{--control-height:36px;--control-radius:6px;--control-gap:6px;--control-border:#d5e3e3;--control-ink:#355b63;--control-soft:#f7faf9;--control-font:12px;--tool-height:56px}
button,input,select,textarea{font-family:inherit}
:is(#properties-panel,.sheets-properties,.wiring-workspace,.pw-inspector,dialog) :where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]),select){height:var(--control-height);min-height:var(--control-height);border-radius:var(--control-radius);border:1px solid var(--control-border);font-size:var(--control-font);padding:0 9px;color:var(--control-ink);box-sizing:border-box}
:is(#properties-panel,.sheets-properties,.pw-inspector,dialog) textarea{border:1px solid var(--control-border);border-radius:var(--control-radius);padding:9px;font-size:var(--control-font);line-height:1.5}
:is(#properties-panel,.sheets-properties,.pw-inspector,dialog) button{min-height:var(--control-height);border-radius:var(--control-radius);font-size:var(--control-font);line-height:1.3}
:is(.form-actions,.sheets-actions,.sheets-page-actions,.sheets-property-actions,.sheets-view-actions,.electrical-actions,.wiring-toolbar,.pw-toolbar,.pw-header,.view-actions,.shared-sheet-toolbar,.shared-material-toolbar,.game-toolbar) button{min-height:var(--control-height);border-radius:var(--control-radius);padding:7px 12px;font-size:var(--control-font);line-height:1.3;box-sizing:border-box}
:is(.form-actions,.sheets-actions,.sheets-page-actions,.sheets-property-actions,.sheets-view-actions,.electrical-actions,.wiring-toolbar,.pw-toolbar){gap:var(--control-gap);align-items:center}
#properties-panel .form-field{grid-template-columns:66px minmax(0,1fr);gap:8px;margin-top:10px;font-size:12px;line-height:1.4}
#properties-panel .form-field :is(input,select){margin-top:0;min-width:0}
#properties-panel .form-field input[type=checkbox]{width:auto;height:auto;min-height:0}
#properties-panel :is(.property-tabs,.surface-tabs){display:flex;align-items:stretch;gap:4px;margin-block:12px 8px}
#properties-panel :is(.property-tabs,.surface-tabs) button{flex:1;min-width:0;min-height:var(--control-height);padding:7px 5px;line-height:1.3;font-size:12px;border-radius:var(--control-radius)}
#properties-panel .flip-interior{width:100%;padding:7px 10px;margin-top:12px}
#properties-panel #selection-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--control-gap);padding:0;margin:12px 16px;border:0;background:transparent}
#properties-panel #selection-card>div,#properties-panel #join-status{grid-column:1/-1}
#properties-panel #join-status:empty{display:none}
#properties-panel #selection-card button{width:100%;min-width:0;min-height:var(--control-height);padding:7px 8px;font-size:12px;line-height:1.3;white-space:normal;border-radius:var(--control-radius)}
#properties-panel #selection-card .delete-wall{border:1px solid #ecdcd7;background:#fffafa;color:#a65a51}
#properties-panel .bulk-mixed{grid-column:2;font-size:10px;line-height:1.3}
#properties-panel .element-confirmation{display:flex;justify-content:flex-end;gap:var(--control-gap)}
#properties-panel .element-confirmation button{flex:none;width:var(--control-height);height:var(--control-height);padding:0;font-size:21px;display:grid;place-items:center}
:is(.property-tabs,.surface-tabs,.sheets-library-tabs){gap:4px}
:is(.property-tabs,.surface-tabs,.sheets-library-tabs) button{min-height:var(--control-height);border-radius:var(--control-radius);padding:7px 10px;line-height:1.3}
.architecture-row :is(.modify-icon,.history-tools .icon-button),.sheets-tools button{height:var(--tool-height);min-height:var(--tool-height);min-width:56px;border-radius:var(--control-radius);padding:6px 10px;box-sizing:border-box;justify-content:center;gap:5px}
.architecture-row :is(.modify-icon,.history-tools .icon-button) .tool-name,.sheets-tools button span{font-size:11px;line-height:1.2}
.architecture-row :is(.ribbon-tool,.mode-button){min-height:var(--control-height);border-radius:var(--control-radius);padding:7px 10px;gap:8px;font-size:12px}
.architecture-row :is(.modify-palette,.history-tools),.sheets-tools{align-items:center;gap:4px}
.color-field{display:flex!important;align-items:center;gap:var(--control-gap);min-width:0;position:relative;width:100%;float:none!important}
:is(#properties-panel,dialog,.sheets-properties,.pw-inspector) .color-field input[type=color],.color-field input[type=color]{flex:none;width:var(--control-height);min-width:var(--control-height);height:var(--control-height);padding:4px;margin:0;cursor:pointer;border:1px solid var(--control-border);border-radius:var(--control-radius);background:white}
:is(#properties-panel,dialog,.sheets-properties,.pw-inspector) .color-field input.color-hex,.color-field input.color-hex{flex:1;min-width:64px;width:0;height:var(--control-height);margin:0;padding:0 5px;font:12px var(--mono,Consolas,monospace);letter-spacing:0;border:1px solid var(--control-border);border-radius:var(--control-radius);background:white;color:var(--control-ink)}
:is(#properties-panel,dialog,.sheets-properties,.pw-inspector) .color-field button,.color-field button{display:grid;place-items:center;flex:none;width:var(--control-height);min-width:var(--control-height);height:var(--control-height);padding:0;border:1px solid var(--control-border);border-radius:var(--control-radius);background:var(--control-soft);color:var(--control-ink)}
.color-field button:hover,.color-field button[aria-pressed=true],.color-field button[aria-expanded=true]{background:#e3f2ee;border-color:#78b3a9;color:#087f79}
.color-field button svg{width:17px;height:17px}
.color-field-status{position:absolute;top:calc(100% + 4px);right:0;z-index:5;white-space:nowrap;background:#eff8f5;color:#087f79;font-size:11px;box-shadow:0 2px 6px #163a4920;border-radius:4px}
.color-field-status:not(:empty){padding:5px 7px}
.finish-fields:has(.color-field){grid-template-columns:1fr}
.finish-sample-menu{position:fixed;z-index:2000;display:grid;gap:3px;width:280px;max-width:calc(100vw - 16px);padding:6px;background:#fff;border:1px solid var(--control-border);border-radius:10px;box-shadow:0 8px 30px #1b3f4829;color:var(--control-ink)}
.finish-sample-menu button{display:block;width:100%;text-align:left;min-height:52px;border:0;border-radius:6px;padding:10px;background:transparent;color:inherit}
.finish-sample-menu button:hover,.finish-sample-menu button:focus-visible{background:#edf6f3;outline:1px solid #91c6bb;outline-offset:-1px}
.finish-sample-menu strong{display:block;font-size:13px;font-weight:600}.finish-sample-menu small{display:block;margin-top:4px;color:#6d8488;font-size:11px;line-height:1.4}
@media(max-width:1024px),(pointer:coarse){:root{--control-height:44px;--control-font:14px}.color-field-owner.form-field{display:block!important}.color-field-owner .color-field{margin-top:6px}.color-field input.color-hex{min-width:76px;font-size:14px!important}.finish-sample-menu button{min-height:58px}.architecture-row :is(.ribbon-tool,.mode-button){font-size:12px}.sheets-tools button{min-width:44px}}
@media(max-width:700px){:root{--tool-height:44px;--control-font:16px}.architecture-row :is(.modify-icon,.history-tools .icon-button){height:56px}.sheets-tools button{height:44px}.form-actions button,.sheets-actions button{font-size:12px}}
