/* Shared form-control design. Keep colours/radii/spacing here for every module. */
:root{
  --ui-control-radius:12px;
  --ui-control-padding:12px;
  --ui-control-border:var(--line);
  --ui-control-background:var(--surface);
  --ui-control-focus:var(--primary);
  --ui-control-ring:var(--primary-soft);
  --ui-menu-radius:14px;
  --ui-menu-padding:6px;
  --ui-option-radius:8px;
  --ui-option-padding:10px 12px;
  --ui-option-selected:var(--primary-soft);
  --ui-pin-height:52px;
  --ui-pin-dot-size:7px;
  --ui-pin-dot-gap:12px;
}
select:not([multiple]):not([size]),select[size="1"]{appearance:none;-webkit-appearance:none;border-radius:var(--ui-control-radius)!important;border-color:var(--ui-control-border);background-color:var(--ui-control-background);padding-left:var(--ui-control-padding)!important;padding-right:38px!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%237b8490' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;font-weight:700}
.ui-select,.ui-autocomplete{display:grid;position:relative;min-width:0;max-width:100%;vertical-align:middle}
.ui-select[hidden],.ui-autocomplete[hidden],.ui-pin[hidden]{display:none!important}
.ui-select>select.ui-select-native{opacity:0!important;pointer-events:none!important;grid-area:1/1;width:100%;margin:0}
.ui-select-trigger{position:absolute;inset:0;width:100%;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--ui-control-border);border-radius:var(--ui-control-radius);background:var(--ui-control-background);color:var(--text);padding:0 var(--ui-control-padding);outline:none;font:inherit;font-weight:700;cursor:pointer}
.ui-select-label{flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ui-select-label.is-placeholder{color:var(--muted);font-weight:600}
.ui-select.is-compact .ui-select-trigger{padding-left:8px!important;padding-right:8px!important;gap:3px}.ui-select.is-compact .ui-control-chevron{width:12px;height:12px;flex-basis:12px}
.ui-control-chevron{width:16px;height:16px;flex:0 0 16px;color:var(--muted);transition:transform .15s}.ui-select-trigger[aria-expanded="true"] .ui-control-chevron{transform:rotate(180deg)}
.ui-select-trigger:hover:not(:disabled){border-color:#bdcdb6!important}.ui-select-trigger:focus-visible,.ui-select-trigger[aria-expanded="true"]{border-color:var(--ui-control-focus)!important;box-shadow:0 0 0 3px var(--ui-control-ring)}
.ui-select-trigger:disabled{opacity:.55;cursor:default;background:var(--surface-soft)!important}.ui-select-trigger[aria-invalid="true"]{border-color:var(--danger)!important}
.ui-control-error{display:block;font-size:12px;font-weight:600;color:var(--danger);margin:5px 0 0;line-height:1.4}.ui-control-error[hidden]{display:none!important}
.ui-popup{position:fixed;z-index:1000;overflow-y:auto;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--ui-menu-radius);box-shadow:0 12px 32px rgba(34,49,26,.16);padding:var(--ui-menu-padding);font-family:inherit;font-size:14px;font-weight:600;line-height:1.4;scrollbar-width:thin;scrollbar-color:#c6d3bf transparent;max-width:calc(100vw - 16px)}
.ui-popup[hidden]{display:none!important}.ui-option{display:flex;align-items:center;gap:12px;min-height:40px;border-radius:var(--ui-option-radius);padding:var(--ui-option-padding);color:var(--text);cursor:pointer;overflow-wrap:anywhere}.ui-option-text{flex:1;min-width:0}.ui-option-check{width:16px;height:16px;flex:0 0 16px;visibility:hidden;color:var(--primary)}
.ui-option[aria-selected="true"]{background:var(--ui-option-selected);color:var(--primary);font-weight:800}.ui-option[aria-selected="true"] .ui-option-check{visibility:visible}.ui-option.is-highlighted{background:var(--ui-option-selected);outline:1px solid #cfddc6;outline-offset:-1px}.ui-option[aria-disabled="true"]{opacity:.45;cursor:default}.ui-option-group{padding:8px 12px 4px;color:var(--muted);font-size:11px;font-weight:800}.ui-popup-empty{padding:12px;color:var(--muted);font-size:13px}
.ui-option:hover:not([aria-disabled="true"]){background:var(--ui-option-selected)}
.ui-autocomplete>input{grid-area:1/1;padding-right:38px!important;width:100%}.ui-suggestion-toggle{position:absolute;top:0;right:5px;bottom:0;width:30px;display:grid;place-items:center;border:0;padding:0;background:transparent;color:var(--muted);border-radius:var(--ui-control-radius);outline:none}.ui-suggestion-toggle:disabled{opacity:.5;cursor:default}
.ui-pin{display:grid;position:relative;min-width:0;width:100%}.ui-pin>input{grid-area:1/1;width:100%;height:var(--ui-pin-height);min-height:var(--ui-pin-height);padding:12px!important;line-height:normal;letter-spacing:0;text-align:center;color:transparent!important;-webkit-text-fill-color:transparent!important;caret-color:transparent}.ui-pin>input::placeholder{color:transparent!important;-webkit-text-fill-color:transparent!important;opacity:0}.ui-pin-dots{grid-area:1/1;display:flex;justify-content:center;align-items:center;gap:var(--ui-pin-dot-gap);pointer-events:none;z-index:1;padding:12px}.ui-pin-dot{display:block;width:var(--ui-pin-dot-size);height:var(--ui-pin-dot-size);border-radius:50%;background:var(--muted);opacity:.48}.ui-pin-dot.is-filled{background:var(--text);opacity:1}.ui-pin>input:disabled~.ui-pin-dots{opacity:.5}
.pin-input{height:var(--ui-pin-height);padding:12px;line-height:normal;font-size:24px;text-align:center}
.auth-card form{display:grid;gap:16px}.auth-card form label{margin-bottom:0;gap:8px}.auth-card form .form-grid{gap:16px}.auth-card form .btn.full{margin-top:4px;min-height:48px}.auth-card .ui-select{width:100%}
@media(prefers-reduced-motion:reduce){.ui-control-chevron{transition:none}}
@media print{.ui-popup{display:none!important}}
