/* Global form-control contract. Keep this stylesheet last so every module inherits the same controls. */
:root{--field-height:44px;--field-radius:9px;--field-border:#ccd6e9;--field-focus:var(--turq);--field-disabled:#f1f4f9}
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=hidden]),select,textarea:not([hidden]){display:block;width:100%;min-width:0;margin:0;border:1px solid var(--field-border);border-radius:var(--field-radius);background:#fff;color:var(--text);font:500 13px/1.4 'Plus Jakarta Sans',sans-serif;box-shadow:0 1px 2px rgba(15,31,75,.03);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}
input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=hidden]),select{height:var(--field-height);padding:10px 12px}
textarea:not([hidden]){min-height:96px;padding:11px 12px;resize:vertical}
select{padding-right:34px;cursor:pointer}
input::placeholder,textarea::placeholder{color:#9aa8c2;opacity:1;font-weight:400}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--field-focus);box-shadow:0 0 0 3px rgba(0,191,179,.14)}
input:disabled,select:disabled,textarea:disabled,input[readonly],textarea[readonly]{background:var(--field-disabled);color:#6f7d98;cursor:not-allowed;opacity:1}
input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true],input:user-invalid,select:user-invalid,textarea:user-invalid{border-color:#d64550}
input[aria-invalid=true]:focus,select[aria-invalid=true]:focus,textarea[aria-invalid=true]:focus,input:user-invalid:focus,select:user-invalid:focus,textarea:user-invalid:focus{box-shadow:0 0 0 3px rgba(214,69,80,.12)}
input[type=checkbox],input[type=radio]{width:18px;height:18px;min-width:18px;margin:0;accent-color:var(--turq);cursor:pointer;vertical-align:middle}
input[type=file]{display:block;width:100%;margin-top:7px;padding:7px;border:1px dashed var(--field-border);border-radius:var(--field-radius);background:#f8faff;color:var(--muted);font:500 12px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
input[type=file]::file-selector-button{margin-right:10px;border:1px solid var(--field-border);border-radius:7px;background:#fff;color:var(--text);padding:8px 11px;font:700 11px 'Plus Jakarta Sans',sans-serif;cursor:pointer}
input[type=color]{display:block;width:100%;height:48px;margin-top:7px;padding:4px;border:1px solid var(--field-border);border-radius:var(--field-radius);background:#fff;cursor:pointer}
form label{color:var(--text)}
form label>input,form label>select,form label>textarea:not([hidden]){margin-top:7px}
form label>small,.field-help{display:block;margin-top:6px;color:var(--muted);font-size:11px;font-weight:400;line-height:1.5}
.form-grid{row-gap:2px}
.check-row label,.single-check{min-height:22px}
@media(max-width:600px){input:not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):not([type=hidden]),select{font-size:16px}}
