/* Personal controls: clear selection, stable touch areas and optional web glass. */
:root{--control-ink:#294b64;--control-border:#93aabf;--control-selected:#315f80;--control-on-selected:#fff;--control-surface:#f8fbfe;--focus-ring:#246b9c}
#sheet .chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
#sheet .chips button{position:relative;min-width:0;min-height:48px;padding:10px 6px;border:1px solid var(--control-border);background:var(--control-surface);color:var(--control-ink);font-size:15px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.35;white-space:nowrap;box-shadow:0 2px 5px #294b640d;transition:background-color .16s,border-color .16s}
#sheet .chips button.active,#sheet .chips button[aria-pressed=true]{background:var(--control-selected);color:var(--control-on-selected);border-color:var(--control-selected);box-shadow:inset 0 0 0 2px #ffffff65,0 2px 6px #294b6426}
#sheet .chips button:active{filter:brightness(.92)}
#sheet .radius-status{min-height:1.7em;margin:8px 0 0;color:var(--control-ink)}
#sheet input[aria-invalid=true]{border-color:#ab3535;outline-color:#ab3535}
#sheet :is(button,input,select,a):focus-visible,.map-dock button:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
#sheet .secondary,#sheet .input-line button{border:1px solid var(--control-border);background:#f3f8fc;color:var(--control-ink);min-height:48px}
#sheet .secondary{padding:12px 14px;line-height:1.4;height:auto}
#sheet .input-line{flex-wrap:wrap;gap:10px}
#sheet .input-line input{flex:1 1 100px;width:0}
#sheet .input-line button{flex:0 1 auto;padding:10px 16px;font-size:14px}
#sheet .switch-row{gap:16px}
#sheet .switch-row>div{min-width:0;flex:1}
#sheet .switch-row small{line-height:1.55;overflow-wrap:anywhere}
#sheet .region-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
#sheet .region-methods .secondary{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;min-width:0}
#sheet .region-methods svg{width:20px;height:20px;flex:none}
#sheet .region-actions{position:sticky;bottom:-26px;margin:14px -8px -26px;padding:12px 8px 8px;background:#edf3f8f5;border-top:1px solid #93aabf55;box-shadow:0 -8px 18px #edf3f8b3}
#sheet .region-action-main{display:flex;align-items:center;justify-content:space-between;gap:12px}
#sheet #regionCount{font-size:13px;line-height:1.4;color:var(--control-ink);font-variant-numeric:tabular-nums}
#sheet .region-actions .primary{margin:0;width:auto;max-width:68%;min-height:46px;padding:10px 18px;border-radius:15px;font-size:14px;line-height:1.35;background:var(--control-selected);color:#fff;box-shadow:inset 0 1px #ffffff45,0 2px 5px #294b641a}
#sheet .region-actions .primary:disabled{opacity:1;background:#dbe5ed;color:#526c80;box-shadow:none}
#sheet .region-action-links{display:flex;justify-content:space-between;gap:8px;margin-top:4px}
#sheet .region-action-links .text-button{min-height:44px;width:auto;padding:8px;font-size:13px;color:var(--control-ink);border-radius:10px;margin:0}
#sheet .region-action-links button:disabled{opacity:.45}
#sheet .selected-regions{display:flex;flex-wrap:wrap;gap:6px;max-height:132px}
#sheet .region-tag{display:flex;align-items:center;gap:10px;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid var(--control-border);border-radius:13px;background:#f8fbfe;color:var(--control-ink);font-size:12px;line-height:1.4;text-align:left}
#sheet .region-tag span{font-size:20px;line-height:1}
#sheet .region-actions button:active,#sheet .region-tag:active{filter:brightness(.94)}
/* Safari gets its own native switch material via appearance:auto in refinement.css.
   CSS panels approximate glass; they do not invoke SwiftUI's native material. */
@supports ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){
 .phone:not(.solid-material) .map-dock{background:linear-gradient(145deg,#ffffff8c,#e7eff54d),#e8f1f5c9;border-color:#ffffffc4;box-shadow:inset 0 1px 1px #fff,inset 0 -1px 1px #a3bdcf66,0 12px 40px #0003;-webkit-backdrop-filter:blur(28px) saturate(1.45);backdrop-filter:blur(28px) saturate(1.45)}
 .phone:not(.solid-material) #sheet{background:linear-gradient(145deg,#f7fafde8,#e8f0f7e8);-webkit-backdrop-filter:blur(30px) saturate(1.35);backdrop-filter:blur(30px) saturate(1.35)}
 .phone:not(.solid-material) .map-dock::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;box-shadow:inset 1px 1px 1px #fff,inset -1px -1px 1px #a9c7da9c,inset 0 4px 12px #ffffff38;background:linear-gradient(125deg,#ffffff33,transparent 36%,transparent 70%,#c8e4f21f)}
 .phone:not(.solid-material) .map-dock .map-search{background:linear-gradient(150deg,#ffffff80,#ffffff30);border-color:#ffffffa3;box-shadow:inset 0 1px #fff,0 1px 5px #38566f0d}
}
.solid-material .map-dock,.solid-material #sheet{background:#edf3f8;backdrop-filter:none;-webkit-backdrop-filter:none}
@media(prefers-reduced-transparency:reduce){.phone .glass,.phone #sheet,.phone .region-actions{background:#edf3f8!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
@media(prefers-reduced-transparency:reduce){.phone .map-dock::before{display:none}}
@media(prefers-reduced-motion:reduce){#sheet .chips button{transition:none}}
@media(forced-colors:active){#sheet .chips button[aria-pressed=true]{background:Highlight;color:HighlightText;border-color:Highlight}}
