/* Shared customer/admin/owner select system. No replacement DOM or event handlers. */
select[data-gphs-select]{--gp-select-bg:#fff;--gp-select-fg:#263d30;--gp-select-border:#c9dfd1;--gp-select-hover:#edf8f1;--gp-select-accent:#1a7a42;box-sizing:border-box;max-width:100%;min-width:0;border:1px solid var(--gp-select-border);border-radius:9px;background-color:var(--gp-select-bg);color:var(--gp-select-fg);font-family:inherit;font-size:13px;line-height:1.5;padding:8px 12px;color-scheme:light;transition:border-color .16s,box-shadow .16s}
select[data-gphs-select]:hover:not(:disabled){border-color:var(--gp-select-accent)}
select[data-gphs-select]:not([multiple]){min-height:40px;padding-inline-end:38px}
select[data-gphs-select]:focus-visible{outline:2px solid var(--gp-select-accent);outline-offset:2px;box-shadow:0 0 0 3px #22a35618}
select[data-gphs-select]:disabled{opacity:.6;cursor:not-allowed;background-color:var(--gp-select-hover)}
select[data-gphs-select]:user-invalid{border-color:#ac3e35}
[data-gphs-theme=dark] select[data-gphs-select],select[data-gphs-select][data-gphs-theme=dark]{--gp-select-bg:#193329;--gp-select-fg:#edf8f1;--gp-select-border:#527461;--gp-select-hover:#294c3a;--gp-select-accent:#88d8a7;color-scheme:dark}
/* Native customizable picker preserves form association, keyboard navigation,
   option mutation, validation and top-layer placement inside modal dialogs.
   Unsupported engines retain the system picker; no JS polyfill is substituted. */
@supports (appearance:base-select){
    select[data-gphs-select]:not([multiple]):not([size]),select[data-gphs-select]:not([multiple]):not([size])::picker(select){appearance:base-select}
    /* Page form classes can legitimately use display:block. Do not depend on
       a flex formatting context to position the browser-generated indicator. */
    select[data-gphs-select]:not([multiple]):not([size]){--gp-select-end-padding:38px;position:relative;padding-inline-end:var(--gp-select-end-padding);background-image:none;white-space:normal;overflow-wrap:anywhere}
    select[data-gphs-select]:not([multiple]):not([size])::picker-icon{position:absolute;inset-inline-end:12px;inset-block-start:50%;translate:0 -50%;margin:0;color:var(--gp-select-accent);pointer-events:none;transition:rotate .18s}
    select[data-gphs-select]:open::picker-icon{rotate:180deg}
    select[data-gphs-select]::picker(select){background:var(--gp-select-bg);color:var(--gp-select-fg);border:1px solid var(--gp-select-border);border-radius:12px;padding:5px;box-shadow:0 12px 32px #10351f26;max-block-size:min(360px,65dvh);max-inline-size:calc(100vw - 24px);overflow:auto;margin-block:5px}
    select[data-gphs-select] option{padding:9px 12px;border-radius:7px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
    select[data-gphs-select] option:hover,select[data-gphs-select] option:focus{background:var(--gp-select-hover);outline-offset:-2px}
    select[data-gphs-select] option:checked{background:var(--gp-select-hover);font-weight:600}
    select[data-gphs-select] option::checkmark{color:var(--gp-select-accent)}
    select[data-gphs-select] option:disabled{opacity:.55;cursor:not-allowed}
    select[data-gphs-select] optgroup{font-weight:600;padding-block:4px}
}
@media(max-width:575px){select[data-gphs-select]{max-inline-size:100%;font-size:16px;min-height:40px}}
@media(prefers-reduced-motion:reduce){select[data-gphs-select],select[data-gphs-select]::picker-icon{transition:none}}
@media(forced-colors:active){select[data-gphs-select]{border-color:ButtonText}}
