/* 원래 선택칸은 폼 값과 검증을 유지하고, 화면에는 공통 선택 버튼을 표시합니다. */
select.app-picker-native {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  clip-path: inset(50%);
  overflow: hidden !important;
  white-space: nowrap !important;
}
.app-picker-trigger {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  text-align: start;
  background-image: none !important;
  padding-inline-end: .75rem;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
}
.app-picker-value { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.app-picker-trigger[hidden] { display: none !important; }
.app-picker-caret { flex: 0 0 auto; font-size: .875rem; color: var(--muted); }
.app-picker-trigger:disabled { cursor: not-allowed; color: var(--muted); background-color: #f0eef3; opacity: .7; }
.app-picker-trigger:focus-visible { outline: 3px solid var(--brand); outline-offset: 3px; }
.app-picker-trigger:active:not(:disabled) { border-color: var(--brand); background-color: var(--brand-soft); }
.app-picker-trigger[aria-expanded="true"] { border-color: var(--brand); box-shadow: 0 0 0 .125rem #702b9118; }
.board-store-switch .app-picker-trigger { width: auto; min-width: 180px; }
.board-search > .app-picker-trigger { max-width: 155px; }
.app-picker-time > span { display: none; }
.time-select .app-picker-trigger {
  min-height: 4rem;
  padding: .65rem 1rem;
  font-size: 1.6rem;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
}
.app-picker-dialog {
  --picker-surface: var(--surface, #fff);
  --picker-border: #cbb5d8;
  position: fixed;
  inset: auto;
  top: 0;
  left: 12px;
  width: min(20rem, calc(100% - 24px));
  max-width: none;
  max-height: calc(100vh - 24px);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: .875rem;
  color: var(--ink, #26232c);
  background: transparent;
  opacity: 0;
  transition: opacity 120ms ease-out;
  overflow: visible;
  overscroll-behavior: contain;
}
.app-picker-dialog[open] { display: flex; flex-direction: column; }
.app-picker-surface {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: inherit;
  width: 100%;
  overflow: hidden;
  border: 1px solid var(--picker-border);
  border-radius: inherit;
  background: var(--picker-surface);
  box-shadow: 0 8px 24px #25132b29, 0 2px 6px #25132b14;
}
.app-picker-arrow { position: absolute; top: -9px; left: calc(var(--picker-arrow-left, 30px) - 10px); overflow: visible; pointer-events: none; z-index: 1; }
.app-picker-arrow path { fill: var(--picker-surface); stroke: var(--picker-border); stroke-width: 1; stroke-linejoin: round; }
.app-picker-arrow .app-picker-arrow-join { fill: var(--picker-surface); stroke: none; }
.app-picker-dialog.is-above .app-picker-arrow { top: auto; bottom: -9px; transform: rotate(180deg); }
.app-picker-dialog.is-detached .app-picker-arrow { display: none; }
.app-picker-dialog.is-open { opacity: 1; }
.app-picker-dialog::backdrop { background: transparent; }
.app-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .375rem .5rem .375rem .875rem; flex: 0 0 auto; }
.app-picker-heading h2 { margin: 0; font-size: .9375rem; line-height: 1.4; overflow-wrap: anywhere; }
.app-picker-close {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  min-height: 2.75rem;
  padding: .25rem;
  flex: 0 0 auto;
  border: 1px solid transparent;
  border-radius: .7rem;
  background: var(--brand-soft);
  color: var(--ink);
  font-size: 1.5rem;
  line-height: 1;
  touch-action: manipulation;
}
.app-picker-search-wrap { padding: 0 .65rem .5rem; flex: 0 0 auto; }
.app-picker-search { width: 100%; min-height: 2.75rem; font-size: max(1rem, 16px); }
.app-picker-description { margin: 0; padding: 0 1rem .65rem; font-size: .8125rem; line-height: 1.4; color: var(--muted); flex: 0 0 auto; }
.app-picker-list {
  min-height: 0;
  max-height: 14rem;
  padding: .125rem .375rem .375rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  flex: 1 1 auto;
}
.app-picker-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  width: 100%;
  min-height: 2.9rem;
  padding: .65rem .75rem;
  margin: .125rem 0;
  border: 1px solid transparent;
  border-radius: .7rem;
  background: transparent;
  color: var(--ink);
  text-align: start;
  font-size: max(1rem, 16px);
  line-height: 1.4;
  white-space: normal;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-user-select: none;
  user-select: none;
}
.app-picker-option[aria-selected="true"] { background: var(--brand-soft); color: var(--brand); font-weight: 700; }
.app-picker-option.is-focused { border-color: var(--brand); }
.app-picker-option:active:not(:disabled) { background: var(--brand-soft); }
.app-picker-option:disabled { color: var(--muted); opacity: .55; cursor: not-allowed; }
.app-picker-option .bi { color: var(--brand); flex: 0 0 auto; }
.app-picker-option > span { flex: 1; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.app-picker-group { margin: .45rem .75rem .2rem; color: var(--muted); font-size: .8125rem; font-weight: 650; }
.app-picker-empty { padding: 1.5rem 1rem; margin: 0; text-align: center; color: var(--muted); }
@supports (height: 100dvh) {
  .app-picker-dialog { max-height: calc(100dvh - 24px); }
}
@media (max-width: 767.98px) {
  .time-select .app-picker-trigger { min-height: 3.25rem; font-size: 1.35rem; padding: .65rem .8rem; }
  .board-search > .app-picker-trigger { max-width: none; width: auto; flex: 1; }
}
@media (pointer: coarse) {
  .app-picker-trigger { font-size: max(1rem, 16px) !important; }
  .time-select .app-picker-trigger { font-size: max(1.35rem, 16px) !important; }
}
@media (hover: hover) and (pointer: fine) {
  .app-picker-trigger:hover:not(:disabled) { border-color: var(--brand); }
  .app-picker-option:hover:not(:disabled) { background: var(--brand-soft); }
}
@media (prefers-reduced-motion: no-preference) {
  .app-picker-dialog { translate: 0 -4px; transition-property: opacity, translate; transition-duration: 150ms; }
  .app-picker-dialog.is-above { translate: 0 4px; }
  .app-picker-dialog.is-open { translate: 0 0; transition-duration: 180ms; }
  .app-picker-trigger { transition: border-color 150ms ease-out, background-color 150ms ease-out; }
}
@media (forced-colors: active) {
  .app-picker-option[aria-selected="true"] { border-color: Highlight; }
}
@media print {
  .app-picker-dialog, .app-picker-trigger { display: none !important; }
}
