/* Site-wide form contract. Applies automatically to static and dynamically inserted fields. */
:root{--control-radius:12px;--menu-radius:12px;--control-accent:#6550e8;--control-border:#dce2ec}
input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=hidden]),textarea,select{border-radius:var(--control-radius)!important}
select.hidden{display:none!important}
select:not(.hidden):not([multiple]){appearance:none;padding-right:2.25rem!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='m6 8 4 4 4-4' stroke='%23758296' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right .6rem center;background-repeat:no-repeat;background-size:20px}
:is(input,select,textarea):focus-visible{outline:2px solid #aa9bed;outline-offset:2px}
input[type=file]{max-width:100%;overflow:hidden;font-family:inherit}
input[type=file]::file-selector-button{border:1px solid #d8d0f2;border-radius:9px;background:white;color:#5c4ca2;padding:8px 12px;margin-right:10px;cursor:pointer;font:inherit;transition:background .15s}
input[type=file]::file-selector-button:hover{background:#f0ecfc}
[role=listbox],[role=menu]{border-radius:var(--menu-radius)}
/* Native customizable pickers stay above dialogs and never get clipped by scroll containers. */
@supports (appearance:base-select){
    select:not([multiple]):is(:not([size]),[size="1"]),select:not([multiple]):is(:not([size]),[size="1"])::picker(select){appearance:base-select}
    select:not(.hidden):not([hidden]):not([multiple]):is(:not([size]),[size="1"]){display:inline-flex!important;background-image:none!important;padding-right:.75rem!important;align-items:center;gap:12px;min-width:0;white-space:normal;overflow-wrap:anywhere}
    select::picker-icon{color:#7c8698;font-size:11px;flex-shrink:0;margin-inline-start:auto;transition:rotate .15s}
    select:open::picker-icon{rotate:180deg}
    select::picker(select){box-sizing:border-box;inline-size:anchor-size(width);min-inline-size:anchor-size(width);border:1px solid var(--control-border);border-radius:var(--menu-radius);padding:5px;background:#fff;color:#42516a;box-shadow:0 10px 35px #27354e26;margin-block:6px;max-block-size:min(360px,60dvh);max-inline-size:calc(100vw - 20px);overflow:auto;overscroll-behavior:contain;font:inherit}
    select option{padding:9px 12px;border-radius:7px;gap:10px;font:inherit;line-height:1.4;white-space:normal;cursor:pointer;outline:none}
    select option:hover,select option:focus{background:#f4f1fd;color:#51409b}
    select option:checked{background:#eeebfc;color:#5f49c7;font-weight:500}
    select option:disabled{color:#a9b0bc;cursor:default}
    select option::checkmark{color:#6b52d6;font-size:12px}
    select optgroup{font:inherit;font-weight:600;padding:5px;color:#8993a4}
}
@media(max-width:600px){dialog input:not([type=checkbox]):not([type=radio]),dialog select,dialog textarea{font-size:16px!important}select::picker(select){max-block-size:50dvh}}
@media(prefers-reduced-motion:reduce){select::picker-icon,input[type=file]::file-selector-button{transition:none}}
