/* Shared controls. The model workspace uses the compact density below. */
:root{
  --ui-control-height:44px;--ui-control-compact:32px;--ui-control-radius:8px;
  --ui-control-border:#788292;--ui-control-text:#f6f6f7;--ui-control-bg:#1a1e26;
  --ui-control-hover:#303743;--ui-control-accent:#f27405;--ui-control-selected:#332a23;
  --ui-control-danger:#ffaaa2;--ui-space-1:4px;--ui-space-2:8px;--ui-space-3:12px;--ui-space-4:16px;--ui-space-6:24px;
}
[hidden]{display:none!important}
button,input,select,textarea{font-family:inherit}
button,.primary,.secondary,.quiet,.toolbar-menu>summary{
  box-sizing:border-box;min-height:var(--ui-control-height);max-width:100%;
  border-radius:var(--ui-control-radius);font-size:13px;font-weight:500;line-height:1.4;
  text-transform:none;letter-spacing:normal;
}
button{border:1px solid var(--ui-control-border);padding:8px 12px;background:transparent;color:var(--ui-control-text);cursor:pointer}
.primary,.secondary{padding:10px 16px;gap:var(--ui-space-2);white-space:normal;text-align:center}
.primary{background:var(--ui-control-accent);border-color:var(--ui-control-accent);color:#171b22;font-weight:600}
.secondary{background:transparent;border-color:var(--ui-control-border);color:var(--ui-control-text)}
.quiet{border:1px solid transparent;background:transparent;color:var(--ui-control-text);padding:8px 12px}
.quiet.danger{color:var(--ui-control-danger)}
button:not(:disabled):hover,.secondary:hover,.toolbar-menu>summary:hover{background:var(--ui-control-hover)}
.primary:not(:disabled):hover{background:#ff912d;border-color:#ff912d;color:#171b22}
button:not(:disabled):active,.secondary:active{background:#3b4352}
.primary:not(:disabled):active{background:#dc6802;border-color:#dc6802;color:#171b22}
button:disabled{cursor:not-allowed;opacity:.5}
button[aria-pressed=true]{background:var(--ui-control-selected);border-color:var(--ui-control-accent);color:#ffac64}
input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden])),select,textarea{
  box-sizing:border-box;min-width:0;max-width:100%;min-height:var(--ui-control-height);
  border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);
  background:var(--ui-control-bg);color:var(--ui-control-text);padding:9px 12px;font-family:inherit;font-size:14px;font-weight:400;line-height:1.4;
}
textarea{resize:vertical;min-height:88px}
select{color-scheme:dark;padding-right:28px}
input:disabled,select:disabled,textarea:disabled{opacity:.55;cursor:not-allowed}
input[type=checkbox],input[type=radio],input[type=range]{accent-color:var(--ui-control-accent)}
input[type=checkbox],input[type=radio]{flex-shrink:0}
input[type=file]{max-width:100%;min-width:0;color:var(--ui-control-text)}
input[type=file]::file-selector-button{
  font:inherit;min-height:var(--ui-control-height);margin-inline-end:12px;padding:8px 12px;
  border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);
  background:transparent;color:var(--ui-control-text);cursor:pointer;
}
:is(button,a,input,select,textarea,summary):focus-visible,.secondary:focus-within{
  outline:2px solid var(--ui-control-accent);outline-offset:3px;
}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--ui-control-danger)}
.editor-field :is(input,select,textarea),.login-panel .editor-field input,#cim-name{
  border-color:var(--ui-control-border);border-radius:var(--ui-control-radius);min-height:var(--ui-control-height);font-size:14px;
}
.editor-field textarea{min-height:88px}
.editor-tool-group :is(button,select){min-height:var(--ui-control-height);font-size:13px}
.editor-workspace .viewer-toolbar>div{flex-wrap:wrap}
.page-heading>div{min-width:0;max-width:100%}
.page-heading h1{overflow-wrap:anywhere}
.home-project-title{min-width:0;overflow-wrap:anywhere}
.history-row{gap:var(--ui-space-4)}
.studio-grid :is(input:not([type=file],[type=checkbox],[type=radio],[type=range],[type=hidden]),select,textarea){border-color:var(--ui-control-border);border-radius:var(--ui-control-radius);min-height:var(--ui-control-height)}
body.cim-workspace{--ui-control-height:var(--ui-control-compact)}
.cim-workspace :is(button,select,input,textarea,.toolbar-menu>summary){border-radius:var(--ui-control-radius)}
.cim-workspace button,.cim-workspace .toolbar-menu>summary{min-height:var(--ui-control-height);font-size:12px}
.cim-workspace button{padding:6px 10px}
.cim-workspace button.primary{padding:6px 10px}
.cim-workspace #sceneModes button[aria-pressed=true]{background:var(--ui-control-selected);border-color:var(--ui-control-accent);color:#ffac64}
.cim-workspace input:where(:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden])),.cim-workspace select{
  padding:6px 10px;font-size:12px;
}
.cim-workspace select{padding-right:26px}
.cim-workspace #viewToolbar :is(button,select,summary),.cim-workspace header .actions button{
  min-height:var(--ui-control-height);height:auto;font-size:12px;border-radius:var(--ui-control-radius);
}
.cim-workspace #viewToolbar select{padding:5px 26px 5px 8px;border-color:var(--ui-control-border)}
.cim-workspace .toolbar-menu>summary{border-color:var(--ui-control-border)}
.cim-workspace #floorControl #levelSelect{height:var(--ui-control-height);min-height:var(--ui-control-height);border-radius:var(--ui-control-radius)}
.cim-workspace #right :is(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea){border-radius:var(--ui-control-radius);font-size:12px}
.cim-workspace .toolbar-menu>summary:focus-visible{outline:2px solid var(--ui-control-accent);outline-offset:3px}
.cim-workspace :is(#ifcEditing,#schedule,#checkCorrectionContext,#checks) :is(input:not([type=checkbox],[type=radio],[type=range],[type=file]),select,textarea){
  min-height:var(--ui-control-height);border-color:var(--ui-control-border);border-radius:var(--ui-control-radius);padding:6px 10px;font-size:12px;
}
.cim-workspace .toolbar-menu .menu-content{box-sizing:border-box;max-height:calc(100dvh - 120px);overflow:auto}
.cim-workspace #appSettings .menu-content{z-index:30}
:is(.editor-field,.studio-grid) [aria-invalid=true],.cim-workspace #right [aria-invalid=true]{border-color:var(--ui-control-danger)}
@media(max-width:700px){
  .history-row{align-items:flex-start;flex-wrap:wrap;gap:var(--ui-space-2)}
  .history-row .history-meta{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .editor-tool-group .secondary{font-size:12px;min-height:var(--ui-control-height)}
}
@media(max-width:600px){.cim-workspace header .actions{flex-wrap:wrap}}
