/* Shared select and alert polish across dashboard, auth and storefront views. */
body select:not([multiple]):not([size]) {
  min-height: 42px;
  max-width: 100%;
  padding: 9px 38px 9px 12px !important;
  border: 1px solid var(--ui-control-border, var(--border, var(--line, #cbd5e1))) !important;
  border-radius: 8px !important;
  background-color: var(--ui-control-bg, var(--surface, var(--card, #fff)));
  background-image: linear-gradient(45deg, transparent 50%, var(--ui-control-arrow, #68778d) 50%), linear-gradient(135deg, var(--ui-control-arrow, #68778d) 50%, transparent 50%) !important;
  background-position: calc(100% - 16px) 18px, calc(100% - 11px) 18px !important;
  background-size: 5px 5px !important;
  background-repeat: no-repeat !important;
  color: var(--ui-control-text, var(--text, #202b3c));
  font: inherit;
  font-size: 14px !important;
  line-height: 1.4;
  appearance: none !important;
  -webkit-appearance: none !important;
  transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}
body select:not([multiple]):not([size]):hover:not(:disabled) { border-color: #9aabc3; }
body select:not([multiple]):not([size]):focus-visible { outline: 0; border-color: #5273cd; box-shadow: 0 0 0 3px rgba(82,115,205,.18); }
body select:not([multiple]):not([size]):disabled { opacity: .62; cursor: not-allowed; }
body select[multiple], body select[size] { max-width: 100%; border: 1px solid var(--ui-control-border, var(--border, var(--line, #cbd5e1))); border-radius: 8px; background: var(--ui-control-bg, var(--surface, var(--card, #fff))); color: var(--ui-control-text, var(--text, #202b3c)); }

body .alert, body .adm-alert, body .adm-flash, body .wd-alert, body .ql-alert,
body .c-alert, body .mp-alert, body .e-alert, body .wl-alert {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 15px;
  border-width: 1px;
  border-style: solid;
  border-radius: 9px;
  line-height: 1.5;
  overflow-wrap: anywhere;
  box-shadow: 0 3px 12px rgba(24,39,62,.045);
}
body .alert i, body .adm-alert i, body .wd-alert i, body .ql-alert i,
body .c-alert i, body .mp-alert i, body .e-alert i, body .wl-alert i { flex: 0 0 auto; margin-top: 2px; }
body .alert.alert-success, body .adm-ok, body .adm-flash-ok, body .wd-ok, body .ql-alert-ok,
body .c-alert-ok, body .mp-alert-ok, body .e-alert-ok, body .wl-ok { border-color: #b8e2cd; background-color: #eff9f3; color: #216448; }
body .alert.alert-danger, body .alert-err, body .adm-err, body .adm-flash-bad, body .wd-err, body .ql-alert-err,
body .c-alert-err, body .mp-alert-err, body .e-alert-err, body .wl-err { border-color: #f0c5c9; background-color: #fff4f4; color: #9f3542; }
body .alert.alert-warning, body .adm-flash-warn { border-color: #edd9a8; background-color: #fff9eb; color: #825d19; }
body .alert.alert-info { border-color: #bfd4f2; background-color: #f1f6fd; color: #31537f; }

#qads-toast-stack { position: fixed; z-index: 12000; right: 18px; bottom: 18px; display: grid; gap: 9px; width: min(420px, calc(100vw - 36px)); pointer-events: none; }
.qads-toast { display: flex; align-items: flex-start; gap: 10px; padding: 13px 14px; border: 1px solid #cbd6e6; border-radius: 10px; background: #fff; color: #263448; box-shadow: 0 12px 35px rgba(20,32,51,.18); font: 600 13px/1.5 var(--font, inherit); opacity: 0; transform: translateY(8px); transition: opacity .16s ease, transform .16s ease; pointer-events: auto; }
.qads-toast.is-visible { opacity: 1; transform: translateY(0); }
.qads-toast > i { margin-top: 2px; color: #315cce; }
.qads-toast.is-success > i { color: #13876a; }
.qads-toast.is-error > i { color: #b84c54; }
.qads-toast-message { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.qads-toast-close { display: grid; place-items: center; flex: 0 0 28px; width: 28px; height: 28px; margin: -4px -3px -4px 0; border: 0; border-radius: 6px; background: transparent; color: #627084; cursor: pointer; }
.qads-toast-close:hover { background: #f1f4f8; }
.qads-toast-close:focus-visible { outline: 2px solid #5273cd; outline-offset: 2px; }
@media (max-width: 767px) { body select:not([multiple]):not([size]) { font-size: 16px !important; } #qads-toast-stack { right: 12px; bottom: max(12px, env(safe-area-inset-bottom)); width: calc(100vw - 24px); } }
@media (prefers-reduced-motion: reduce) { .qads-toast { transition: none; } }
