.picker-trigger { width:100%; min-height:56px; padding:13px 15px; display:flex; align-items:center; justify-content:space-between; gap:14px; text-align:right; border:1px solid #d9e1d9; border-radius:12px; background:#f8faf7; color:var(--ink); }
.picker-trigger:hover { border-color:#91a597; background:#f3f7f1; }
.picker-trigger[aria-expanded="true"] { border-color:var(--teal); }
.picker-trigger-text { display:grid; gap:3px; min-width:0; }
.picker-value { font-size:16px; line-height:1.8; font-weight:500; }
.picker-meta { font-size:12px; line-height:1.6; color:var(--muted); }
.picker-trigger > svg { width:21px; height:21px; flex-shrink:0; color:#66786b; }
.selection-dialog { width:min(560px,calc(100% - 32px)); max-height:84dvh; border:0; border-radius:20px; padding:0; background:white; color:var(--ink); overflow:hidden; }
.selection-dialog[open] { display:flex; flex-direction:column; }
.selection-dialog::backdrop { background:rgb(12 31 22 / 38%); backdrop-filter:blur(2px); }
body:has(dialog[open]) { overflow:hidden; }
.picker-handle { display:none; }
.picker-header { display:flex; flex-shrink:0; align-items:center; justify-content:space-between; gap:16px; padding:22px 24px 14px; }
.picker-header h2 { font-size:20px; font-weight:650; margin:0; }
.picker-header p { font-size:13px; color:var(--muted); margin:4px 0 0; }
.picker-close { width:44px; height:44px; padding:10px; border:0; border-radius:50%; background:#f2f5f0; color:var(--ink); flex-shrink:0; }
.picker-close svg { width:24px; height:24px; display:block; }
.picker-search-controls { padding:0 24px; flex-shrink:0; }
.picker-search { display:flex; align-items:center; gap:10px; background:#f5f7f3; border:1px solid #e1e6de; border-radius:12px; padding:0 13px; }
.picker-search > svg { width:20px; height:20px; color:var(--muted); flex-shrink:0; }
.picker-search input { min-height:52px; border:0; background:transparent; padding:10px 0; font-size:16px; direction:rtl; text-align:right; border-radius:0; }
.picker-search input:focus { outline:none; }
.picker-search:focus-within { outline:2px solid var(--teal); outline-offset:2px; }
.picker-search input::-webkit-search-cancel-button { display:none; }
.picker-search button { background:transparent; border:0; width:44px; min-height:44px; flex-shrink:0; font-size:24px; color:var(--muted); }
.picker-groups { display:flex; gap:8px; overflow-x:auto; padding:14px 0 4px; scrollbar-width:none; }
.picker-groups::-webkit-scrollbar { display:none; }
.picker-groups button { flex-shrink:0; min-height:44px; padding:8px 14px; border:1px solid #e0e6dc; border-radius:999px; background:white; font-size:13px; white-space:nowrap; color:var(--muted); }
.picker-groups button[aria-pressed="true"] { background:var(--teal); border-color:var(--teal); color:white; }
.picker-count { font-size:12px; color:var(--muted); margin:9px 0 10px; }
.picker-list { overflow-y:auto; overscroll-behavior:contain; min-height:0; padding:0 12px 18px; border-top:1px solid #edf0e9; scrollbar-width:thin; }
.picker-list:focus-visible { outline:none; }
.picker-group-heading { font-size:12px; color:#6a7b6e; font-weight:600; padding:17px 12px 7px; }
.picker-option { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; text-align:right; padding:13px 12px; min-height:56px; background:white; border:0; border-bottom:1px solid #edf0e9; border-radius:0; color:var(--ink); }
.picker-option > span:first-child { min-width:0; }
.picker-option-title { display:block; font-size:15px; line-height:1.9; }
.picker-option-meta { display:block; font-size:12px; color:var(--muted); margin-top:2px; }
.picker-option[aria-selected="true"] { background:#eef5e9; border-radius:10px; }
.picker-option:hover,.picker-option.keyboard-active { background:#f2f6ef; }
.picker-check { color:var(--teal); width:20px; flex-shrink:0; font-size:21px; font-weight:600; }
.picker-empty { text-align:center; padding:45px 20px; }
.picker-empty strong { font-size:16px; }
.picker-empty p { font-size:14px; color:var(--muted); }
@media(max-width:767px) {
  .selection-dialog { position:fixed; inset:auto 0 0; width:100%; max-width:none; max-height:88dvh; margin:0; border-radius:22px 22px 0 0; padding-bottom:env(safe-area-inset-bottom); }
  .picker-handle { display:block; width:36px; height:4px; background:#d8dfd5; border-radius:4px; margin:10px auto 0; flex-shrink:0; }
  .picker-header { padding:15px 20px 13px; }
  .picker-header h2 { font-size:19px; }
  .picker-search-controls { padding-inline:20px; }
  .picker-list { padding-inline:8px; }
  .picker-option { padding:14px 12px; }
  .picker-option-title { font-size:16px; }
  .selection-dialog.keyboard-open .picker-groups,.selection-dialog.keyboard-open .picker-count,.selection-dialog.keyboard-open .picker-header p { display:none; }
  .selection-dialog.keyboard-open .picker-header { padding-block:10px; }
  .selection-dialog.keyboard-open .picker-search-controls { padding-bottom:10px; }
}
@media print { #selection-dialog { display:none!important; } }
