/* READABILITY: controls — §1 structure (top) then §2 paint sheen (wins cascade) · §3 full-paint CTA. */
/* ── §1 structure (base controls) ── */
.lux-control {
  box-sizing: border-box;
  width: 100%;
  min-height: var(--lux-primary-btn-min-height, 46px);
  padding: 0 18px;
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  border-radius: var(--lux-btn-pill-radius, 0 22px 0 22px);
  background: var(--lux-btn-well);
  background-clip: padding-box;
  background-origin: padding-box;
  box-shadow: var(--lux-btn-frame-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--lux-btn-label, var(--lux-text));
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.2;
  font-family: inherit;
  outline: none;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
  transition: border-color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}
input.lux-control,
select.lux-control,
textarea.lux-control {
  appearance: none;
  -webkit-appearance: none;
}
input[type="search"].lux-control::-webkit-search-decoration,
input[type="search"].lux-control::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
.lux-control::placeholder { color: var(--lux-text-muted); opacity: 0.72; }
.lux-control:focus,
.lux-control:focus-visible {
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-hover, var(--lux-btn-well));
  box-shadow: var(--lux-btn-frame-shadow-hover);
  outline: none;
}
.lux-control:read-only,
.lux-control[readonly] {
  background: var(--lux-btn-well-soft);
  cursor: default;
}
.lux-control:disabled,
.lux-control.is-muted {
  opacity: 0.72;
}
.lux-control select { cursor: pointer; }

/* ── §1b lux-checkbox ── */
.lux-checkbox-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}
:is(.lux-checkbox, .social-neo-checkbox) {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 10px;
  min-height: 36px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.3;
  color: var(--lux-text);
  position: relative;
  user-select: none;
}
:is(.lux-checkbox, .social-neo-checkbox) input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  width: 18px;
  height: 18px;
  margin: 0;
  grid-column: 1;
  grid-row: 1;
  cursor: pointer;
  z-index: 1;
}
:is(.lux-checkbox, .social-neo-checkbox)::before {
  content: "";
  grid-column: 1;
  grid-row: 1;
  width: 18px;
  height: 18px;
  border-radius: 6px;
  border: var(--lux-field-border-width, 3.5px) solid var(--lux-field-border, var(--lux-btn-border-solid));
  background: var(--lux-panel-control, var(--lux-field-fill));
  box-shadow: var(--lux-field-shadow);
  box-sizing: border-box;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease;
  pointer-events: none;
}
:is(.lux-checkbox, .social-neo-checkbox) > span {
  grid-column: 2;
  grid-row: 1;
}
:is(.lux-checkbox, .social-neo-checkbox):has(input[type="checkbox"]:checked)::before {
  border-color: color-mix(in srgb, var(--lux-accent) 72%, transparent);
  background-color: color-mix(in srgb, var(--lux-accent) 78%, #fff);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23fff' d='M6.2 11.6 2.8 8.2l1.4-1.4 2 2 6-6 1.4 1.4z'/%3E%3C/svg%3E");
  background-size: 12px 12px;
  background-position: center;
  background-repeat: no-repeat;
}
:is(.lux-checkbox, .social-neo-checkbox):has(input[type="checkbox"]:focus-visible) {
  outline: none;
  border-radius: 8px;
  box-shadow: var(--lux-field-focus-ring);
}
:is(.lux-checkbox, .social-neo-checkbox):has(input[type="checkbox"]:disabled) {
  opacity: 0.55;
  pointer-events: none;
  cursor: not-allowed;
}
.lux-checkbox--chip {
  padding: 10px 14px;
  border-radius: 12px;
  border: 1px solid var(--lux-modal-glass-border, var(--lux-border));
  background: var(--lux-panel-control);
  transition: border-color 0.18s ease, background 0.18s ease;
}
.lux-checkbox--chip:hover:not(:has(input[type="checkbox"]:disabled)) {
  border-color: color-mix(in srgb, var(--lux-text) 18%, var(--lux-border));
}
.lux-checkbox--chip:has(input[type="checkbox"]:checked) {
  border-color: rgba(var(--lux-accent-rgb), 0.38);
  background: color-mix(in srgb, var(--lux-accent) 14%, var(--lux-panel-control));
}
.lux-checkbox--chip:has(input[type="checkbox"]:focus-visible) {
  border-radius: 12px;
}
@media (prefers-reduced-motion: reduce) {
  :is(.lux-checkbox, .social-neo-checkbox)::before,
  .lux-checkbox--chip {
    transition: none;
  }
}

.lux-icon-btn, .lux-control-btn, .lux-mode-btn, .lux-bg-mode-btn { position: relative; overflow: hidden; }
.lux-icon-btn:active, .lux-primary-btn:active, .lux-secondary-btn:active, .lux-destructive-btn:active, .lux-ghost-btn:active, .lux-quick-btn:active {
  transform: translateY(1px) scale(0.99);
}
.lux-user-chip-chevron {
  flex-shrink: 0;
  font-size: 10px;
  line-height: 1;
  color: var(--lux-text-soft);
  transition: transform .18s ease, color .18s ease;
}
.lux-user-chip[aria-expanded="true"] .lux-user-chip-chevron { transform: rotate(180deg); color: var(--lux-text-muted); }
.modal-programs-option {
  width: 100%;
  padding: 12px;
  text-align: center;
  background: #f8f9fa;
}
.lux-picker-wrap { position: relative; }
.lux-universal-native-select, .lux-filter-hidden-select { display: none !important; }
.lux-picker-field {
  position: relative;
  width: 100%;
  min-width: 0;
  display: grid;
  gap: 8px;
}
.lux-universal-picker-field { width: 100%; }
.lux-picker-label {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--lux-text-soft);
  padding-left: 4px;
}
.lux-picker-field > .lux-picker-btn:not(.lux-picker-btn--compact) {
  width: 100%;
  min-width: 0;
  justify-content: space-between;
  align-items: center;
  padding: 12px 14px 12px 16px;
  border-radius: 18px;
}
.lux-picker-field > .lux-picker-btn.lux-picker-btn--compact,
.lux-picker-btn--compact {
  min-width: 0;
  min-height: var(--lux-primary-btn-min-height, 46px);
  padding: 0 18px;
  border-radius: var(--lux-btn-pill-radius, 0 22px 0 22px);
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well);
  background-clip: padding-box;
  background-origin: padding-box;
  box-shadow: var(--lux-btn-frame-shadow);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: var(--lux-btn-label, #f7fbff);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
}
.lux-picker-field > .lux-picker-panel {
  left: 0;
  right: auto;
  width: 100%;
  min-width: 0;
  top: calc(100% + 8px);
}
.lux-picker-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
  text-align: left;
}
.lux-tab-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 10px;
  border-radius: 24px;
  border: 1px solid var(--lux-panel-border-soft, rgba(255, 255, 255, 0.12));
  background: color-mix(in srgb, var(--lux-text) 4%, var(--lux-panel-control, var(--lux-panel-fill)));
  min-width: 0;
}
.lux-tab-strip--segmented {
  gap: 3px;
  padding: 3px;
  border-radius: 999px;
}
.lux-tab-fill { flex: 1; }
.lux-tab-btn {
  flex: 1 1 0;
  min-width: 0;
  min-height: 48px;
  padding: 12px 18px;
  border-radius: 18px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--lux-text-muted);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  text-align: center;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  margin: 0;
  box-shadow: none;
  transition: background-color 0.16s ease, border-color 0.16s ease, color 0.16s ease, box-shadow 0.16s ease;
}
.lux-tab-strip--segmented .lux-tab-btn {
  min-height: 40px;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 12.5px;
}
.lux-tab-btn:hover:not(:disabled) {
  background: color-mix(in srgb, var(--lux-accent) 8%, var(--lux-panel-control));
  color: var(--lux-text);
}
.lux-tab-btn:is(.is-active, .active, [aria-pressed="true"], [aria-selected="true"]) {
  background: color-mix(in srgb, var(--lux-accent) 18%, var(--lux-panel-control));
  border-color: color-mix(in srgb, var(--lux-accent) 24%, var(--lux-border));
  color: var(--lux-accent);
  font-weight: 700;
  box-shadow: inset 0 1px 0 color-mix(in srgb, var(--lux-text) 6%, transparent);
}
.lux-tab-btn:focus-visible {
  outline: none;
  box-shadow: var(--lux-field-focus-ring);
}
.lux-tab-btn:is(.is-active, .active, [aria-pressed="true"], [aria-selected="true"]):focus-visible {
  box-shadow: var(--lux-field-focus-ring), inset 0 1px 0 color-mix(in srgb, var(--lux-text) 6%, transparent);
}
.lux-tab-btn--rich {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  text-align: left;
}
.lux-tab-btn--rich > i {
  font-size: 11px;
  opacity: 0.85;
}
.lux-tab-btn--icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  white-space: nowrap;
}
.lux-tab-btn--icon > i {
  font-size: 12px;
  opacity: 0.85;
  flex-shrink: 0;
}
.lux-tab-btn:is(.is-active, .active, [aria-pressed="true"], [aria-selected="true"]).lux-tab-btn--icon > i {
  opacity: 1;
}
.lux-tab-btn__copy {
  display: grid;
  gap: 1px;
  min-width: 0;
}
.lux-tab-btn__label {
  font-size: inherit;
  font-weight: inherit;
  line-height: 1.2;
  color: inherit;
}
.lux-tab-btn__helper {
  font-size: 10px;
  line-height: 1.3;
  font-weight: 500;
  color: var(--lux-text-muted);
}
.lux-tab-btn:is(.is-active, .active, [aria-pressed="true"], [aria-selected="true"]) .lux-tab-btn__helper {
  color: var(--lux-text-secondary, var(--lux-text-muted));
}
:is(.lux-tab-badge, .social-neo-tab-badge) {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  padding: 0 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--lux-accent) 22%, transparent);
  color: var(--lux-accent);
  font-size: 10px;
  font-weight: 700;
  line-height: 1;
}
.lux-tab-strip--segmented .lux-tab-btn:not(.is-active):not(.active):not([aria-pressed="true"]):not([aria-selected="true"]) {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
:is(html.lux-light-mode, body.lux-light-mode) .lux-tab-strip--segmented .lux-tab-btn:not(.is-active):not(.active):not([aria-pressed="true"]):not([aria-selected="true"]) {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce) {
  .lux-tab-btn { transition: none; }
}
.wave2-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 700;
}
.lux-picker-btn {
  min-width: 192px;
  min-height: 50px;
  padding: 10px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--lux-text);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  text-align: left;
  background: rgba(255, 255, 255, 0.04);
}
.lux-picker-btn:not(.lux-picker-btn--compact):hover,
.lux-picker-btn:not(.lux-picker-btn--compact).is-active { border-color: rgba(var(--lux-accent-rgb), 0.38); }
.lux-picker-caption {
  display: block;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--lux-text-soft);
}
.lux-picker-btn strong {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.2;
  color: var(--lux-text);
  font-weight: 600;
}
.lux-picker-btn:not(.lux-picker-btn--compact) {
  transition: transform var(--lux-droplist-anim-close-duration, 180ms) var(--lux-droplist-anim-ease, cubic-bezier(0.16, 1, 0.3, 1));
}
.lux-picker-btn:not(.lux-picker-btn--compact):active {
  transform: scale(0.97);
}
.lux-picker-btn:not(.lux-picker-btn--compact).is-active,
.lux-picker-btn:not(.lux-picker-btn--compact)[aria-expanded="true"] {
  transform: translateY(-1px);
}
.lux-picker-btn i {
  color: var(--lux-text-soft);
  font-size: 11px;
  display: inline-block;
  transition: transform var(--lux-droplist-anim-duration, 300ms) var(--lux-droplist-anim-ease, cubic-bezier(0.16, 1, 0.3, 1));
}
.lux-picker-btn.is-active i,
.lux-picker-btn[aria-expanded="true"] i {
  transform: rotate(180deg);
}
.lux-picker-btn--compact .lux-picker-value,
.lux-picker-btn--compact strong {
  margin-top: 0;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  color: inherit;
}
.lux-picker-btn--compact i {
  color: inherit;
  opacity: 0.85;
}
.lux-picker-btn--compact:focus-visible {
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-hover, var(--lux-btn-well));
  box-shadow: var(--lux-btn-frame-shadow-hover);
  outline: none;
  transform: translateY(-2px);
}
.lux-picker-btn--compact:active {
  transform: translateY(0) scale(0.985);
}
.lux-picker-btn--compact:active::after {
  opacity: 0;
  transition: none;
  will-change: auto;
}
:root {
  --lux-picker-visible-options: 5;
  --lux-picker-option-height: 44px;
  --lux-picker-panel-gap: 8px;
  --lux-picker-panel-pad: 20px;
  --lux-picker-anim-duration: 300ms;
  --lux-picker-anim-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --lux-picker-slide-offset: 14px;
  --lux-picker-scale-closed: 0.88;
  --lux-picker-panel-max-height: calc( var(--lux-picker-option-height) * var(--lux-picker-visible-options) + var(--lux-picker-panel-gap) * (var(--lux-picker-visible-options) - 1) + var(--lux-picker-panel-pad) );
  --lux-droplist-visible-options: 5;
  --lux-droplist-option-height: 44px;
  --lux-droplist-anim-duration: 300ms;
  --lux-droplist-anim-ease: cubic-bezier(0.16, 1, 0.3, 1);
  --lux-droplist-anim-ease-out: cubic-bezier(0.4, 0, 1, 1);
  --lux-droplist-anim-close-duration: 180ms;
  --lux-droplist-slide-offset: 14px;
  --lux-droplist-scale-closed: 0.88;
  --lux-droplist-shell-gap: 6px;
  --lux-droplist-shell-pad: 12px;
  --lux-droplist-panel-max-height: calc(
    var(--lux-droplist-option-height) * var(--lux-droplist-visible-options)
    + var(--lux-droplist-shell-gap) * (var(--lux-droplist-visible-options) - 1)
    + (var(--lux-droplist-shell-pad) * 2)
  );
}
.lux-picker-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  width: min(320px, calc(100vw - 32px));
  padding: 10px;
  border-radius: 22px;
  display: grid;
  gap: 8px;
  max-height: var(--lux-picker-panel-max-height);
  /* Glass frame stays put; options scroll in .lux-picker-panel-scrollport (blur ≠ scroll). */
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  background: var(--lux-surface, rgba(15, 23, 42, 0.98));
  border: 1px solid rgba(255, 255, 255, 0.12);
  z-index: 90;
}
.lux-picker-panel.is-open { opacity: 1; pointer-events: auto; }
.lux-picker-panel.is-closing:not(.is-open) { opacity: 0; pointer-events: none; }
.lux-picker-panel-scrollport,
.lux-picker-panel--searchable .lux-picker-options,
.lux-picker-panel > .lux-scrollbar {
  display: grid;
  gap: 8px;
  min-height: 0;
  max-height: calc(
    var(--lux-picker-option-height) * var(--lux-picker-visible-options)
    + var(--lux-picker-panel-gap) * (var(--lux-picker-visible-options) - 1)
  );
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
  contain: layout paint;
}
.lux-picker-panel--searchable {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 8px;
  overflow: hidden;
  max-height: calc(var(--lux-picker-panel-max-height) + 52px);
}
.lux-picker-search-wrap { position: sticky; top: 0; z-index: 1; }
.lux-picker-search-input {
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  color: var(--lux-text);
  font: inherit;
  font-size: 13px;
  outline: none;
}
.lux-picker-search-input::placeholder { color: var(--lux-text-muted); opacity: 0.7; }
.lux-picker-search-input:focus { border-color: rgba(var(--lux-accent-rgb), 0.4); }
.lux-picker-panel--searchable .lux-picker-empty {
  padding: 10px 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--lux-text-muted);
}
.lux-picker-panel-scrollport,
.lux-picker-panel--searchable .lux-picker-options,
.lux-picker-panel > .lux-scrollbar {
  scrollbar-width: thin;
  scrollbar-color: var(--lux-scrollbar-thumb, rgba(255, 255, 255, 0.14)) var(--lux-scrollbar-track, transparent);
}
.lux-picker-panel-scrollport::-webkit-scrollbar,
.lux-picker-panel--searchable .lux-picker-options::-webkit-scrollbar,
.lux-picker-panel > .lux-scrollbar::-webkit-scrollbar {
  width: var(--lux-scrollbar-size, 7px);
  height: var(--lux-scrollbar-size, 7px);
}
.lux-picker-panel-scrollport::-webkit-scrollbar-thumb,
.lux-picker-panel--searchable .lux-picker-options::-webkit-scrollbar-thumb,
.lux-picker-panel > .lux-scrollbar::-webkit-scrollbar-thumb {
  background: var(--lux-scrollbar-thumb, rgba(255, 255, 255, 0.14));
  border-radius: 999px;
  border: 1px solid rgba(var(--lux-accent-rgb), calc(var(--lux-panel-glow, 0.22) * 0.22));
  background-clip: padding-box;
}
.lux-picker-panel-scrollport::-webkit-scrollbar-thumb:hover,
.lux-picker-panel--searchable .lux-picker-options::-webkit-scrollbar-thumb:hover,
.lux-picker-panel > .lux-scrollbar::-webkit-scrollbar-thumb:hover,
.lux-picker-panel-scrollport::-webkit-scrollbar-thumb:active,
.lux-picker-panel--searchable .lux-picker-options::-webkit-scrollbar-thumb:active,
.lux-picker-panel > .lux-scrollbar::-webkit-scrollbar-thumb:active {
  background: var(--lux-scrollbar-thumb-hover, var(--lux-scrollbar-thumb));
}
.lux-picker-panel-scrollport::-webkit-scrollbar-track,
.lux-picker-panel--searchable .lux-picker-options::-webkit-scrollbar-track,
.lux-picker-panel > .lux-scrollbar::-webkit-scrollbar-track {
  background: var(--lux-scrollbar-track, transparent);
  border-radius: 999px;
}
.lux-picker-option {
  width: 100%;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: transparent;
  color: var(--lux-text);
  display: flex;
  align-items: center;
  text-align: left;
  cursor: pointer;
}
.lux-picker-option strong { font-size: 13px; font-weight: 600; }
.lux-picker-option span { font-size: 11px; color: var(--lux-text-muted); line-height: 1.45; }
.lux-picker-option:hover, .lux-picker-option.is-active {
  border-color: rgba(var(--lux-accent-rgb), 0.34);
  background: rgba(var(--lux-accent-rgb), 0.08);
}
/* ── §2 shared paint: sheen / metal well (edit visual CTA chrome HERE; overrides §1) ── */
.lux-icon-btn {
  width: var(--lux-icon-btn-size);
  height: var(--lux-icon-btn-size);
  border-radius: var(--lux-icon-btn-radius);
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.03)), rgba(255, 255, 255, 0.02);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.07), 0 16px 34px rgba(0, 0, 0, 0.18);
  /* compositor-only hover: lift + ::after glow (no shadow/border/background tween) */
  transition: transform .18s ease;
}
.lux-icon-btn:hover {
  transform: translateY(-2px);
  color: var(--lux-text);
  border-color: rgba(var(--lux-accent-rgb), 0.24);
}
.lux-icon-btn:hover::after, .lux-icon-btn:focus-visible::after, .lux-icon-btn.is-active::after {
  transform: translateX(130%) skewX(-14deg);
  opacity: 1;
}
/* Status pills — shared matte chip paint (CSS-owned; lux-transparency skips inline paint). */
.lux-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-height: 28px;
  padding: 4px 12px;
  border-radius: 999px;
  border: 1px solid var(--lux-soft-chrome-border-accent, var(--lux-panel-border));
  background: var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
  box-shadow: var(--lux-soft-chrome-chip-shadow, var(--lux-elev-2));
  color: var(--lux-text);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  white-space: nowrap;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
button.lux-status-pill {
  cursor: pointer;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}
.lux-status-pill.is-info {
  border-color: rgba(var(--lux-accent-rgb), 0.24);
  color: color-mix(in srgb, var(--lux-accent) 78%, #fff 22%);
  background:
    radial-gradient(circle at 84% 0%, rgba(var(--lux-accent-rgb), 0.14), transparent 34%),
    var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
.lux-status-pill.is-success {
  border-color: rgba(32, 197, 124, 0.28);
  color: #9bf3c8;
  background:
    linear-gradient(180deg, rgba(32, 197, 124, 0.14), rgba(32, 197, 124, 0.06)),
    var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
.lux-status-pill.is-warning {
  border-color: rgba(251, 191, 36, 0.28);
  color: #fde68a;
  background:
    linear-gradient(180deg, rgba(251, 191, 36, 0.14), rgba(251, 191, 36, 0.06)),
    var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
.lux-status-pill.is-muted {
  border-color: var(--lux-soft-chrome-border-accent, var(--lux-panel-border));
  color: var(--lux-text-muted);
}
:is(body.lux-light-mode, html.lux-light-mode body) .lux-status-pill.is-info {
  color: color-mix(in srgb, var(--lux-accent) 72%, #1a1a1a 28%);
}
:is(body.lux-light-mode, html.lux-light-mode body) .lux-status-pill.is-success {
  color: #0f7a4d;
}
:is(body.lux-light-mode, html.lux-light-mode body) .lux-status-pill.is-warning {
  color: #8a5a12;
}
:is(body.lux-light-mode, html.lux-light-mode body) .lux-status-pill.is-muted {
  color: var(--lux-text-muted);
}
/* Bare portal glass hosts + admin-orders: variant paint must beat nested chip SSOT. */
body.lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-info {
  border-color: rgba(var(--lux-accent-rgb), 0.24);
  color: color-mix(in srgb, var(--lux-accent) 78%, #fff 22%);
  background:
    radial-gradient(circle at 84% 0%, rgba(var(--lux-accent-rgb), 0.14), transparent 34%),
    var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
body.lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-success {
  border-color: rgba(32, 197, 124, 0.28);
  color: #9bf3c8;
  background:
    linear-gradient(180deg, rgba(32, 197, 124, 0.14), rgba(32, 197, 124, 0.06)),
    var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
body.lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-warning {
  border-color: rgba(251, 191, 36, 0.28);
  color: #fde68a;
  background:
    linear-gradient(180deg, rgba(251, 191, 36, 0.14), rgba(251, 191, 36, 0.06)),
    var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
body.lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-muted {
  border-color: var(--lux-soft-chrome-border-accent, var(--lux-panel-border));
  color: var(--lux-text-muted);
  background: var(--lux-soft-chrome-control, color-mix(in srgb, var(--lux-panel-fill, rgba(255, 255, 255, 0.08)) 72%, transparent));
}
:is(body.lux-light-mode, html.lux-light-mode body).lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-info {
  color: color-mix(in srgb, var(--lux-accent) 72%, #1a1a1a 28%);
}
:is(body.lux-light-mode, html.lux-light-mode body).lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-success {
  color: #0f7a4d;
}
:is(body.lux-light-mode, html.lux-light-mode body).lux-full-paint.lux-unified-shell.lux-page-bare :is(
  [data-lux-glass-root="1"],
  #admin-orders-root,
  .admin-orders-create-modal,
  .admin-orders-thread-modal
) .lux-status-pill.is-warning {
  color: #8a5a12;
}
button.lux-status-pill:is(:hover, :focus-visible) {
  transform: translateY(-1px);
  box-shadow: var(--lux-soft-chrome-chip-shadow, var(--lux-elev-2));
}
button.lux-status-pill:active {
  transform: translateY(0);
}
/* Schedule toolbar chips (timetable + admin-scheduler shared markup). */
.schedule-chip,
.lux-status-pill.lux-timetable-chip {
  border-radius: 999px;
  border: 1px solid var(--lux-panel-border-soft, var(--lux-border));
  background: var(--lux-panel-surface-soft, var(--lux-panel-surface));
  color: var(--lux-text);
}
.schedule-chip-soft,
.lux-status-pill.lux-timetable-chip.schedule-chip-soft {
  background: rgba(var(--lux-accent-rgb), 0.14);
  color: var(--lux-accent, var(--lux-text));
}
/* polished clean well + metal frame */
.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: var(--lux-primary-btn-min-height, 46px);
  padding: 0 26px;
  border-radius: var(--lux-btn-pill-radius, 0 22px 0 22px);
  font-weight: 700;
  font-size: 13px;
  letter-spacing: 0.03em;
  line-height: 1.2;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  /* compositor-only motion; shadow/background snap on hover (sheen ::after animates) */
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
  isolation: isolate;
  contain: paint;
  border-style: solid;
  border-color: transparent;
  background-origin: padding-box;
  background-clip: padding-box;
  /* no live blur while lifting — well/frame paint owns the glass look */
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
.lux-primary-btn::before, .lux-secondary-btn::before, .lux-destructive-btn::before, .lux-ghost-btn::before, .lux-picker-btn--compact::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  /* Fade lives in the well token once; ::before is highlight-only. */
  background: linear-gradient( 180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.04) 28%, transparent 48% );
  opacity: 1;
}
/* one-shot diagonal sheen */
.lux-primary-btn::after, .lux-secondary-btn::after, .lux-destructive-btn::after, .lux-ghost-btn::after, .lux-picker-btn--compact::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  background: var(--lux-btn-sheen);
  transform: translateX(-130%) skewX(-14deg);
  opacity: 0;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
}
.lux-primary-btn:is(:hover, :focus-visible)::after,
.lux-secondary-btn:is(:hover, :focus-visible)::after,
.lux-destructive-btn:is(:hover, :focus-visible)::after,
.lux-ghost-btn:is(:hover, :focus-visible)::after,
.lux-picker-btn--compact:is(:hover, :focus-visible, .is-active, [aria-expanded="true"])::after {
  will-change: transform;
  transform: translateX(130%) skewX(-14deg);
  opacity: 1;
}
.lux-primary-btn {
  color: var(--lux-btn-label, #f7fbff);
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well);
  background-clip: padding-box;
  background-origin: padding-box;
  box-shadow: var(--lux-btn-frame-shadow);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.35);
}
.lux-primary-btn:hover, .lux-primary-btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: var(--lux-btn-frame-shadow-hover);
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-hover, var(--lux-btn-well));
  background-clip: padding-box;
  background-origin: padding-box;
}
.lux-primary-btn:hover::before, .lux-primary-btn:focus-visible::before,
.lux-picker-btn--compact:hover::before, .lux-picker-btn--compact:focus-visible::before, .lux-picker-btn--compact.is-active::before, .lux-picker-btn--compact[aria-expanded="true"]::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.22) 0%, rgba(255, 255, 255, 0.08) 28%, transparent 48%);
}
.lux-primary-btn:active { transform: translateY(0) scale(0.985); }
.lux-primary-btn:active::after { opacity: 0; transition: none; will-change: auto; }
.lux-primary-btn.lux-btn-danger {
  border-color: var(--lux-btn-danger-border, #dc2626);
  background: var(--lux-panel-cta-danger);
  box-shadow: var(--lux-btn-frame-shadow);
}
.lux-primary-btn.lux-btn-danger:hover,
.lux-primary-btn.lux-btn-danger:focus-visible {
  border-color: var(--lux-btn-danger-border, #dc2626);
  background: var(--lux-panel-cta-danger-hover, var(--lux-panel-cta-danger));
}
.lux-secondary-btn {
  min-height: var(--lux-secondary-btn-min-height, 44px);
  color: var(--lux-btn-label, #f7fbff);
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-soft);
  background-clip: padding-box;
  background-origin: padding-box;
  box-shadow: var(--lux-btn-frame-shadow);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.32);
}
.lux-secondary-btn:hover, .lux-secondary-btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: var(--lux-btn-frame-shadow-hover);
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-soft-hover, var(--lux-btn-well-soft));
  background-clip: padding-box;
  background-origin: padding-box;
}
.lux-secondary-btn:is(.active, .is-active, .is-focused, [aria-selected="true"], [aria-pressed="true"]) {
  color: var(--lux-btn-label, #f7fbff);
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-hover, var(--lux-btn-well));
  box-shadow: var(--lux-btn-frame-shadow-hover);
}
.lux-secondary-btn:hover::before, .lux-secondary-btn:focus-visible::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.07) 28%, transparent 48%);
}
.lux-secondary-btn:active { transform: translateY(0) scale(0.985); }
.lux-secondary-btn-sm {
  min-height: 34px;
  padding: 6px 12px;
  font-size: 12px;
  gap: 6px;
}
.lux-destructive-btn {
  min-height: var(--lux-secondary-btn-min-height, 44px);
  color: #fecaca;
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-danger-border, #dc2626);
  background: var(--lux-panel-cta-danger);
  background-clip: padding-box;
  background-origin: padding-box;
  box-shadow: var(--lux-btn-frame-shadow);
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.32);
}
.lux-destructive-btn:hover, .lux-destructive-btn:focus-visible {
  transform: translateY(-2px);
  color: #fff1f2;
  border-color: var(--lux-btn-danger-border, #dc2626);
  background: var(--lux-panel-cta-danger-hover, var(--lux-panel-cta-danger));
  box-shadow: var(--lux-btn-frame-shadow-hover);
}
.lux-destructive-btn:hover::before, .lux-destructive-btn:focus-visible::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.05) 28%, transparent 48%);
}
.lux-destructive-btn:active { transform: translateY(0) scale(0.985); }
:is(html.lux-light-mode, body.lux-light-mode) .lux-destructive-btn {
  color: #991b1b;
  text-shadow: none;
}
:is(html.lux-light-mode, body.lux-light-mode) .lux-destructive-btn:hover,
:is(html.lux-light-mode, body.lux-light-mode) .lux-destructive-btn:focus-visible {
  color: #7f1d1d;
}
.lux-ghost-btn {
  min-height: var(--lux-secondary-btn-min-height, 44px);
  color: var(--lux-btn-ghost-label, var(--lux-btn-label, #f7fbff));
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-ghost-well, var(--lux-btn-well));
  background-clip: padding-box;
  background-origin: padding-box;
  box-shadow: var(--lux-btn-ghost-shadow, var(--lux-btn-frame-shadow));
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.3);
}
.lux-ghost-btn:hover, .lux-ghost-btn:focus-visible {
  transform: translateY(-2px);
  color: var(--lux-btn-ghost-label, var(--lux-btn-label, #f7fbff));
  background: var(--lux-btn-ghost-well-hover, var(--lux-btn-well-hover, var(--lux-btn-ghost-well, var(--lux-btn-well))));
  background-clip: padding-box;
  background-origin: padding-box;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  box-shadow: var(--lux-btn-ghost-shadow-hover, var(--lux-btn-frame-shadow-hover));
}
.lux-ghost-btn:hover::before, .lux-ghost-btn:focus-visible::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.06) 28%, transparent 48%);
}
.lux-ghost-btn:active { transform: translateY(0) scale(0.985); }
.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn, .lux-picker-btn--compact { z-index: 0; }
:is(html.lux-light-mode, body.lux-light-mode) :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn, .lux-picker-btn--compact, .lux-control) {
  text-shadow: none;
}
:is(html.lux-light-mode, body.lux-light-mode) .lux-ghost-btn,
:is(html.lux-light-mode, body.lux-light-mode) .lux-ghost-btn:hover,
:is(html.lux-light-mode, body.lux-light-mode) .lux-ghost-btn:focus-visible {
  color: var(--lux-btn-ghost-label, var(--lux-text, #1d2633));
}
:is(html.lux-light-mode, body.lux-light-mode) :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn, .lux-picker-btn--compact)::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.55) 0%, rgba(255, 255, 255, 0.18) 30%, transparent 52%);
}
:is(html.lux-light-mode, body.lux-light-mode) :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn, .lux-picker-btn--compact):is(:hover, :focus-visible, .is-active, [aria-expanded="true"])::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.28) 30%, transparent 52%);
}
html[data-lux-transparency="0"] .lux-primary-btn, html[data-lux-transparency="0"] .lux-secondary-btn, html[data-lux-transparency="0"] .lux-destructive-btn, html[data-lux-transparency="0"] .lux-ghost-btn {
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
@media (prefers-reduced-motion: reduce) {
  .lux-primary-btn, .lux-secondary-btn, .lux-ghost-btn, .lux-picker-btn--compact {
    transition: none;
  }
  .lux-primary-btn::after, .lux-secondary-btn::after, .lux-destructive-btn::after, .lux-ghost-btn::after, .lux-picker-btn--compact::after { display: none; }
  .lux-primary-btn:hover, .lux-primary-btn:focus-visible, .lux-primary-btn:active, .lux-secondary-btn:hover, .lux-secondary-btn:focus-visible, .lux-secondary-btn:active, .lux-ghost-btn:hover, .lux-ghost-btn:focus-visible, .lux-ghost-btn:active, .lux-picker-btn--compact:hover, .lux-picker-btn--compact:focus-visible, .lux-picker-btn--compact:active, .lux-picker-btn--compact.is-active, .lux-picker-btn--compact[aria-expanded="true"] {
    transform: none;
    filter: none;
  }
}
.lux-picker-btn:not(.lux-picker-btn--compact) {
  background: linear-gradient(180deg, rgba(var(--lux-glass-tint-rgb), calc(var(--lux-raised-fill-alpha) + var(--lux-glass-highlight-alpha))), rgba(var(--lux-glass-tint-rgb), var(--lux-raised-fill-alpha)));
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.lux-picker-btn--compact:hover,
.lux-picker-btn--compact:focus-visible,
.lux-picker-btn--compact.is-active,
.lux-picker-btn--compact[aria-expanded="true"] {
  transform: translateY(-2px);
  box-shadow: var(--lux-btn-frame-shadow-hover);
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well-hover, var(--lux-btn-well));
}
#lux-topbar .lux-topbar-shell :is(.lux-picker-btn, .lux-icon-btn),
#page-home #lux-home-shell .lux-home-merged :is(.lux-picker-btn, .lux-icon-btn, .lux-quick-btn, .home-hover-chip) {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.lux-picker-btn, .lux-icon-btn {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  contain: paint;
}
.lux-picker-btn:not(.lux-picker-btn--compact)::before, .lux-icon-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, rgba(255, 255, 255, 0.04) 28%, transparent 48%);
  opacity: 1;
}
.lux-picker-btn:not(.lux-picker-btn--compact)::after, .lux-icon-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 2;
  background: var(--lux-btn-sheen);
  transform: translateX(-130%) skewX(-14deg);
  opacity: 0;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.2s ease;
}
.lux-picker-btn:not(.lux-picker-btn--compact):hover::before, .lux-picker-btn:not(.lux-picker-btn--compact).is-active::before, .lux-picker-btn:not(.lux-picker-btn--compact)[aria-expanded="true"]::before, .lux-picker-btn:not(.lux-picker-btn--compact):focus-visible::before,
.lux-icon-btn:hover::before, .lux-icon-btn:focus-visible::before, .lux-icon-btn.is-active::before {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.07) 28%, transparent 48%);
}
.lux-picker-btn:not(.lux-picker-btn--compact):hover::after, .lux-picker-btn:not(.lux-picker-btn--compact).is-active::after, .lux-picker-btn:not(.lux-picker-btn--compact)[aria-expanded="true"]::after, .lux-picker-btn:not(.lux-picker-btn--compact):focus-visible::after,
.lux-icon-btn:hover::after, .lux-icon-btn:focus-visible::after, .lux-icon-btn.is-active::after {
  will-change: transform;
  transform: translateX(130%) skewX(-14deg);
  opacity: 1;
}
.lux-picker-btn > *, .lux-icon-btn > * { position: relative; z-index: 1; }
.lux-picker-panel {
  background: linear-gradient(180deg, rgba(var(--lux-topbar-tint-rgb), calc(var(--lux-topbar-fill-alpha) + 0.05)), rgba(var(--lux-topbar-tint-rgb), var(--lux-topbar-fill-alpha))), radial-gradient(circle at top right, rgba(var(--lux-bg-glow-rgb), 0.12), transparent 32%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(calc(var(--lux-glass-blur) + 4px)) saturate(152%);
  -webkit-backdrop-filter: blur(calc(var(--lux-glass-blur) + 4px)) saturate(152%);
}
.lux-toast {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 80;
  max-width: min(360px, calc(100vw - 32px));
  padding: 12px 16px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(11, 15, 27, 0.92);
  color: #f5f1e8;
  font-size: 12px;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease;
  pointer-events: none;
}
.lux-toast.is-visible { opacity: 1; transform: translateY(0); }
.lux-icon-badge {
  position: absolute;
  top: 6px;
  right: 6px;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--lux-accent), var(--lux-accent-2));
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  box-shadow: 0 10px 22px rgba(var(--lux-accent-rgb), 0.28);
}
.lux-icon-badge.is-zero { opacity: 0; transform: scale(0.8); pointer-events: none; }

.lux-picker-btn:not(.lux-picker-btn--compact):hover,
.lux-picker-btn:not(.lux-picker-btn--compact).is-active {
  transform: translateY(-1px);
}
.lux-picker-btn:hover::after, .lux-picker-btn.is-active::after { opacity: 1; }
.lux-picker-panel {
  transform: var(--lux-picker-anchor-transform, translateY(0)) translateY(var(--lux-picker-slide-offset)) scale(var(--lux-picker-scale-closed, 0.94));
  transform-origin: top center;
  transition: opacity var(--lux-picker-anim-duration) var(--lux-picker-anim-ease), transform var(--lux-picker-anim-duration) var(--lux-picker-anim-ease);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}
.lux-picker-panel.is-open-above { --lux-picker-slide-offset: -8px; transform-origin: bottom center; }
.lux-picker-panel.is-open { transform: var(--lux-picker-anchor-transform, translateY(0)) translateY(0) scale(1); }
@media (prefers-reduced-motion: reduce) {
  .lux-picker-panel, .lux-droplist-panel, .lux-picker-btn, .lux-picker-btn i { transition: none; }
  .lux-picker-panel.lux-universal-picker-panel.lux-droplist-panel:not(.is-open):not(.is-closing),
  .lux-picker-panel.lux-universal-picker-panel.lux-droplist-panel.is-closing:not(.is-open) {
    filter: none;
  }
}
body.lux-light-mode .lux-picker-search-input, html.lux-light-mode body .lux-picker-search-input {
  border-color: rgba(48, 34, 22, 0.12);
  background: rgba(255, 255, 255, 0.78);
}
/* ── §3 full-paint CTA re-assert ── */
body.lux-full-paint.lux-unified-shell .lux-primary-btn, body.lux-full-paint.lux-unified-shell .lux-secondary-btn, body.lux-full-paint.lux-unified-shell .lux-picker-btn--compact, body.lux-full-paint.lux-unified-shell .lux-control {
  border-radius: var(--lux-btn-pill-radius, 0 22px 0 22px);
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-well);
  background-origin: padding-box;
  background-clip: padding-box;
  color: var(--lux-btn-label, #f7fbff);
  box-shadow: var(--lux-btn-frame-shadow);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}
body.lux-full-paint.lux-unified-shell .lux-secondary-btn {
  background: var(--lux-btn-well-soft);
}
body.lux-full-paint.lux-unified-shell .lux-ghost-btn {
  border-radius: var(--lux-btn-pill-radius, 0 22px 0 22px);
  border-width: var(--lux-btn-frame-width, 3.5px);
  border-style: solid;
  border-color: var(--lux-btn-border-solid, var(--lux-accent));
  background: var(--lux-btn-ghost-well, var(--lux-btn-well));
  background-origin: padding-box;
  background-clip: padding-box;
  color: var(--lux-btn-ghost-label, var(--lux-btn-label, #f7fbff));
  box-shadow: var(--lux-btn-ghost-shadow, var(--lux-btn-frame-shadow));
  text-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Shared dense CTA variant for high-frequency workspace actions. */
body.lux-full-paint.lux-unified-shell [data-lux-btn-density="dense"] :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn) {
  min-height: 40px;
  padding-inline: 16px;
  border-radius: 12px;
  border-width: 1px;
  box-shadow: none;
  text-shadow: none;
}
body.lux-full-paint.lux-unified-shell [data-lux-btn-density="dense"] :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn)::before,
body.lux-full-paint.lux-unified-shell [data-lux-btn-density="dense"] :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn)::after {
  display: none;
}
body.lux-full-paint.lux-unified-shell [data-lux-btn-density="dense"] :is(.lux-primary-btn, .lux-secondary-btn, .lux-destructive-btn, .lux-ghost-btn):is(:hover, :focus-visible) {
  box-shadow: var(--lux-elev-1, 0 8px 20px rgba(0, 0, 0, 0.14));
}

/* Hub / modal action rows: shared layout for stacked CTAs on narrow viewports. */
.lux-btn-row-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.lux-btn-row-stack .lux-primary-btn,
.lux-btn-row-stack .lux-secondary-btn {
  flex: 1 1 auto;
  justify-content: center;
  min-width: 120px;
}
@media (max-width: 900px) {
  .lux-btn-row-stack .lux-primary-btn,
  .lux-btn-row-stack .lux-secondary-btn {
    width: 100%;
  }
}

/* Selectable list rows on shared CTA secondary buttons (news sections, orders, login tabs). */
.lux-select-card.lux-secondary-btn,
button.lux-select-card.lux-secondary-btn,
label.lux-select-card.lux-secondary-btn {
  width: 100%;
  justify-content: flex-start;
  text-align: left;
  gap: 10px;
}
