/* Shared control metrics, loaded after page styles. Sizes override legacy page
   variants; semantic button colors, disabled states and native behavior remain. */
:root { --control-height:38px; --check-size:18px; }
body input:not([type]),
body input:is([type="text"],[type="search"],[type="email"],[type="tel"],[type="url"],[type="password"],[type="number"],[type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"],[type="color"],[type="file"]):not(.choices__input),
body select:not([multiple]):not([size]),
body .btn:not(.btn-icon):not(.icon-button) {
 box-sizing:border-box;
 height:var(--control-height) !important;
 min-height:var(--control-height) !important;
 padding-block:6px !important;
 line-height:1.4;
}
body input:not([type]),
body input:is([type="text"],[type="search"],[type="email"],[type="tel"],[type="url"],[type="password"],[type="number"],[type="date"],[type="time"],[type="datetime-local"],[type="month"],[type="week"]):not(.choices__input),
body select:not([multiple]):not([size]) {
 padding-inline:12px;
 border:1px solid var(--border-strong);
 border-radius:var(--radius-sm);
 background-color:var(--bg-base);
 color:var(--text-primary);
 font-family:inherit;
 font-size:var(--type-control,13px);
 color-scheme:inherit;
}
body .btn:not(.btn-icon):not(.icon-button) { justify-content:center; white-space:nowrap; }
body .santral-choices[data-type="select-one"] .choices__inner {
 box-sizing:border-box; height:var(--control-height) !important;
 min-height:var(--control-height) !important; padding:0 !important;
 display:flex; align-items:center;
}
body input:is([type="checkbox"],[type="radio"]):not([role="switch"]) {
 box-sizing:border-box; width:var(--check-size) !important; height:var(--check-size) !important;
 min-width:var(--check-size) !important; min-height:var(--check-size) !important;
 flex:0 0 var(--check-size); margin:0; padding:0 !important;
 accent-color:var(--accent); color-scheme:inherit; vertical-align:middle;
}
body .checkbox-row { min-height:var(--control-height); box-sizing:border-box; align-items:center; }
body .time-hours { align-items:end; }
body .time-hours .checkbox-row { height:var(--control-height); min-height:var(--control-height); padding-block:6px; align-self:end; }
body input[type="file"] { padding-block:4px !important; }
body input[type="file"]::file-selector-button {
 height:28px; box-sizing:border-box; padding:2px 12px; margin-right:10px;
 border:1px solid var(--border-strong); border-radius:var(--radius-sm);
 background:var(--bg-elevated); color:var(--text-primary); font:inherit; cursor:pointer;
}
body input[type="color"] { padding:4px !important; }
body :is(input,select,button,.btn):focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
body input:is([type="checkbox"],[type="radio"]):disabled { cursor:not-allowed; opacity:0.6; }
/* Textareas, multi-selects, slider tracks and player/icon buttons keep their
   content-driven sizes. A checkbox glyph remains 18px, not a 42px square. */
