/* Shared field contract: indicators have an inset and never share text space. */
body.liquid-platform {
  --field-control-inset:14px;
  --field-indicator-size:14px;
  --field-trailing-space:44px;
  --field-inline-padding:14px;
  --field-action-size:32px;
  --field-actions-space:80px;
}

/* Native exceptions keep the OS picker, with a browser-independent indicator. */
body.liquid-platform select:not([multiple]):not([data-smart-select]):not(.smart-select-native):is(:not([size]),[size="1"]) {
  -webkit-appearance:none !important;
  appearance:none !important;
  padding-inline-start:var(--field-inline-padding) !important;
  padding-inline-end:var(--field-trailing-space) !important;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-muted) 50%),linear-gradient(135deg,var(--ink-muted) 50%,transparent 50%) !important;
  background-size:calc(var(--field-indicator-size) / 2) calc(var(--field-indicator-size) / 2) !important;
  background-position:right calc(var(--field-control-inset) + var(--field-indicator-size) / 2) center,right var(--field-control-inset) center !important;
  background-repeat:no-repeat !important;
  white-space:nowrap;
  text-overflow:ellipsis;
}

/* Smart controls reserve space for both clear and open buttons. */
body.liquid-platform .smart-select-control .smart-select-input { padding-inline-end:var(--field-actions-space) !important; }
body.liquid-platform .smart-select-control:has(.smart-select-clear[hidden]) .smart-select-input { padding-inline-end:var(--field-trailing-space) !important; }
body.liquid-platform .smart-select-actions { right:calc(var(--field-control-inset) - (var(--field-action-size) - var(--field-indicator-size)) / 2); gap:2px; }
body.liquid-platform :is(.smart-select-clear,.smart-select-toggle) { width:var(--field-action-size); min-width:var(--field-action-size); height:32px; min-height:32px; flex:none; }
body.liquid-platform .smart-select-toggle svg { width:var(--field-indicator-size); height:var(--field-indicator-size); }
body.liquid-platform .rox-picker-search .smart-select-input { padding-inline-end:var(--field-inline-padding) !important; }

/* Flex indicators stay in their own slot when selected labels are long. */
body.liquid-platform .multi-dropdown-toggle { padding-inline:var(--field-inline-padding) var(--field-control-inset); gap:12px; }
body.liquid-platform .multi-dropdown-label { flex:1 1 auto; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.liquid-platform .multi-dropdown-arrow { flex:0 0 var(--field-indicator-size); width:var(--field-indicator-size); margin:0; text-align:center; }

/* The three date parts use the same contract at a compact, readable density. */
body.liquid-platform .birth-date-row { --field-control-inset:12px; --field-indicator-size:10px; --field-trailing-space:28px; --field-inline-padding:8px; }
@media(max-width:880px) {
  body.liquid-platform .birth-date-row { display:grid; grid-template-columns:78px minmax(0,1fr) 78px; gap:6px; }
  body.liquid-platform .birth-date-row select { width:100%; min-width:0; }
}

@media(forced-colors:active) {
  body.liquid-platform select:not([multiple]):not([data-smart-select]):not(.smart-select-native):is(:not([size]),[size="1"]) { -webkit-appearance:auto !important; appearance:auto !important; background-image:none !important; }
}
