/* ===== Confirm modal ===== */
dialog.mu-modal {
  border: 0;
  padding: 0;
  background: transparent;
  max-width: 100vw;
  max-height: 100vh;
}
dialog.mu-modal::backdrop {
  background: rgba(26, 26, 26, 0.42);
  backdrop-filter: blur(2px);
}
dialog.mu-modal[open] .mu-modal-card {
  animation: mu-modal-in 180ms cubic-bezier(.4,0,.2,1);
}
@keyframes mu-modal-in {
  from { opacity: 0; transform: translateY(-6px) scale(.98); }
  to   { opacity: 1; transform: translateY(0)    scale(1);   }
}
.mu-modal-card {
  background: #FDFBF6;
  border: 1px solid #E5DFD3;
  border-radius: 6px;
  box-shadow:
    0 1px 0 rgba(26,26,26,.04),
    0 24px 48px -12px rgba(26,26,26,.22);
  padding: 28px 28px 22px;
  width: min(440px, calc(100vw - 32px));
  font-family: 'Geist', system-ui, sans-serif;
  color: #1A1A1A;
}
.mu-modal-title {
  font-family: 'Geist', system-ui, sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 8px;
  letter-spacing: -0.01em;
}
.mu-modal-msg {
  font-size: 14px;
  line-height: 1.55;
  color: #5A574F;
  margin: 0 0 22px;
  white-space: pre-line;
}
.mu-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

/* ===== Custom select (combobox) ===== */
.mu-select {
  position: relative;
  display: inline-block;
  width: 100%;
}
.mu-select-native {
  /* Native select stays for form submission but is visually hidden.
     We don't use display:none so screen readers in label-association
     mode still see it; pointer events are off so clicks reach trigger. */
  position: absolute !important;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;
  border: 0;
  pointer-events: none;
  opacity: 0;
}
.mu-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  background: #FDFBF6;
  border: 1px solid #E5DFD3;
  border-radius: 4px;
  padding: 9px 12px;
  font-size: 14px;
  color: #1A1A1A;
  text-align: left;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
  font-family: inherit;
}
.mu-select-trigger:hover { border-color: #C9C2B1; }
.mu-select-trigger[aria-expanded="true"],
.mu-select-trigger:focus-visible {
  outline: none;
  border-color: #C44536;
  box-shadow: 0 0 0 3px rgba(196,69,54,.12);
  background: #FFFFFF;
}
.mu-select-trigger[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}
.mu-select-label {
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mu-select-chevron {
  width: 14px; height: 14px;
  color: #8A8578;
  flex-shrink: 0;
  transition: transform .15s ease;
}
.mu-select-trigger[aria-expanded="true"] .mu-select-chevron {
  transform: rotate(180deg);
}
.mu-select-panel {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  right: 0;
  background: #FDFBF6;
  border: 1px solid #E5DFD3;
  border-radius: 5px;
  box-shadow:
    0 1px 0 rgba(26,26,26,.04),
    0 14px 32px -8px rgba(26,26,26,.18);
  z-index: 50;
  max-height: 280px;
  overflow-y: auto;
  padding: 4px;
  animation: mu-select-in 120ms cubic-bezier(.4,0,.2,1);
}
@keyframes mu-select-in {
  from { opacity: 0; transform: translateY(-3px); }
  to   { opacity: 1; transform: translateY(0);    }
}
.mu-select-panel.hidden { display: none; }
.mu-select-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  padding: 8px 10px;
  font-size: 14px;
  line-height: 1.35;
  color: #1A1A1A;
  background: transparent;
  border: 0;
  border-radius: 3px;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.mu-select-option:hover,
.mu-select-option:focus-visible,
.mu-select-option[data-active="true"] {
  background: #F5EFE2;
  outline: none;
}
.mu-select-option[aria-selected="true"] {
  background: rgba(196,69,54,.08);
  color: #1A1A1A;
  font-weight: 500;
}
.mu-select-option[aria-selected="true"]::after {
  content: "✓";
  color: #C44536;
  font-size: 12px;
}
.mu-select-option[aria-disabled="true"] {
  opacity: 0.5;
  cursor: not-allowed;
}
