/* Control states: quiet pointer focus, a thin visible keyboard outline, and
 * consistent dimensions. No stacked browser outline + four-pixel halo.
 */
:is(input,select,textarea,button,a,summary):focus-visible {outline:1px solid #578cce;outline-offset:2px;}
:is(.field,.ui-field input,.quick-search input):focus,
:is(.field,.ui-field input,.quick-search input):focus-visible {
  outline:none;border-color:#6d9fd6;box-shadow:inset 0 0 0 1px #6d9fd633,0 3px 12px #2850800c;
}
.field,.ui-field input:not([type=range]):not([type=color]),.glass-select {
  min-height:46px;border-radius:14px;font:inherit;font-size:14px;font-weight:500;
  padding:12px 15px;background:var(--material-fill);color:var(--ink);
  border:1px solid var(--button-edge);box-shadow:inset 0 1px 1px #ffffff30,0 4px 12px #28508008;
  transition:border-color .18s,background .18s,box-shadow .18s;
}
.field[aria-invalid=true] {border-color:#d77373;}
.glass-select {display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;text-align:left;cursor:pointer;backdrop-filter:blur(16px);}
.glass-select::after {content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6;flex-shrink:0;}
.glass-select[aria-expanded=true] {border-color:#6d9fd6;background:var(--surface-frost);}
.glass-select[aria-expanded=true]::after {transform:rotate(225deg);}
.glass-options {position:fixed;z-index:1000;padding:6px;border:1px solid var(--button-edge);border-radius:16px;background:var(--surface-solid);backdrop-filter:blur(24px) saturate(150%);box-shadow:0 16px 40px #16395b25;max-height:260px;overflow:auto;}
.glass-options[hidden],select[data-glass-select][hidden] {display:none!important;}
.glass-options button {display:block;width:100%;text-align:left;padding:11px 34px 11px 12px;position:relative;border:0;border-radius:10px;background:transparent;color:var(--ink);font:inherit;font-size:14px;cursor:pointer;}
.glass-options button:hover,.glass-options button:focus-visible {background:#669ee51c;outline:none;}
.glass-options button[aria-selected=true] {background:#669ee526;color:var(--brand);font-weight:600;}
.glass-options button[aria-selected=true]::after {content:'✓';position:absolute;right:12px;}
.ui-preview input:is([type=checkbox],[type=radio]):not([role=switch]) {appearance:none;display:inline-grid;place-content:center;flex-shrink:0;width:20px;height:20px;margin:0;border:1px solid #8ba7c7;border-radius:6px;background:var(--material-fill);cursor:pointer;box-shadow:inset 0 1px 1px #ffffff66;}
.ui-preview input[type=radio] {border-radius:50%!important;}
.ui-preview input:is([type=checkbox],[type=radio]):checked {background:var(--action-fill);border-color:var(--action-edge);box-shadow:var(--action-shadow);}
.ui-preview input[type=checkbox]:not([role=switch]):checked::after {content:'✓';font-size:14px;color:white;}
.ui-preview input[type=radio]:checked::after {content:'';width:8px;height:8px;border-radius:50%;background:white;}
.ui-preview input:disabled {opacity:.4;cursor:not-allowed;}
.ui-switch input:focus-visible+span {outline:1px solid #578cce;outline-offset:2px;}
input[type=range] {appearance:none;height:5px;border:0!important;border-radius:99px;background:#6e9fc54d!important;box-shadow:none!important;cursor:pointer;}
input[type=range]::-webkit-slider-thumb {appearance:none;width:19px;height:19px;border-radius:50%;background:linear-gradient(#fff,#e7f2ff);border:1px solid #9ebfe2;box-shadow:0 2px 5px #1c4f7e33;}
input[type=range]::-moz-range-thumb {width:19px;height:19px;border-radius:50%;background:#eff7ff;border:1px solid #9ebfe2;box-shadow:0 2px 5px #1c4f7e33;}
.ui-upload input::file-selector-button {border:1px solid var(--button-edge);border-radius:10px;padding:9px 12px;margin-right:8px;background:var(--material-fill);color:var(--ink);font:inherit;cursor:pointer;}
.ui-preview progress {appearance:none;border:0;border-radius:99px;overflow:hidden;}
.ui-preview progress::-webkit-progress-bar {background:#6e9fc52a;border-radius:99px;}
.ui-preview progress::-webkit-progress-value {background:var(--action-fill);box-shadow:inset 0 1px 0 rgba(255,255,255,.44);border-radius:99px;}
.ui-preview progress::-moz-progress-bar {background:var(--action-fill);box-shadow:inset 0 1px 0 rgba(255,255,255,.44);border-radius:99px;}
@media(prefers-reduced-motion:reduce){.glass-select,.field{transition:none;}}

/* Segmented controls have a single backdrop on their outer shell. Blurring
 * each transparent-bordered segment again produces coloured corner seams.
 */
.ui-tabs .ui-button {
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  border:0;
  padding:10px 16px;
  background-clip:padding-box;
  box-shadow:none;
}
.ui-tabs .ui-button[aria-pressed="true"] {
  background:var(--action-fill);
  box-shadow:var(--action-shadow);
}

/* One disclosure indicator; suppress both standard and WebKit native markers. */
.ui-dropdown > summary {list-style:none;display:flex;align-items:center;gap:12px;}
.ui-dropdown > summary::marker {content:'';}
.ui-dropdown > summary::-webkit-details-marker {display:none;}
.ui-dropdown > summary::after {content:'';width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.65;}
.ui-dropdown[open] > summary::after {transform:rotate(225deg);}

/* Opaque coloured glass for primary actions, translucent glass for secondary
 * surfaces. The top inset glint supplies depth without a white outline ring.
 */
:root :is(.button-primary,.ui-button-primary,.ui-button[aria-pressed="true"],.filter-chips button.active) {
  background:var(--action-fill);
  color:#fff;
  border-color:var(--action-edge);
  box-shadow:var(--action-shadow);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  text-decoration:none;
}
:root :is(.button-primary,.ui-button-primary,.ui-button[aria-pressed="true"],.filter-chips button.active)::before {content:none;}
:root :is(.button-primary,.ui-button-primary,.ui-button[aria-pressed="true"],.filter-chips button.active):hover:not(:disabled) {background:var(--action-fill-hover);}
:root :is(.button-primary,.ui-button-primary,.ui-button[aria-pressed="true"],.filter-chips button.active):active:not(:disabled) {background:var(--action-blue);box-shadow:inset 0 1px 3px #17438c22;}
