/* Shared form rhythm across user and administration screens. */
:root{--field-gap:16px;--label-gap:8px;--group-gap:20px}
.form-stack{gap:var(--field-gap);align-items:start}
.form-stack label:not(.consent-row):not(.photo-picker):not(.permission-check),.form-card>label:not(.photo-picker):not(.consent-row){display:block;margin:0;font-size:14px;line-height:20px}
.form-stack label>input:not([type=checkbox]):not([type=hidden]):not(.native-select-source),.form-stack label>select:not(.native-select-source),.form-stack label>textarea,.form-stack label>.select-trigger,.form-card>label>.select-trigger,.form-card>label>select:not(.native-select-source){margin:var(--label-gap) 0 0;width:100%;font-size:16px;line-height:22px;padding:12px 13px;min-height:48px;box-sizing:border-box}
.form-stack textarea{resize:vertical}
.form-stack .date-label{min-height:20px;line-height:20px}
.form-stack .date-format-help{margin:var(--label-gap) 0 0;line-height:18px}
.community-form,.community-columns{gap:var(--group-gap)}
.form-card{padding:20px}
.form-card-head{margin:0 0 var(--field-gap)}
.form-card-head div{gap:4px}
.form-card-head b{line-height:24px}
.form-card-head small{line-height:18px}
.photo-picker{margin:var(--field-gap) 0 0}
.consent-row{margin:var(--field-gap) 0;gap:8px}
.form-stack .permission-check{margin:0;line-height:20px}
.sheet h2{margin:8px 0 var(--group-gap)}
.auth-card>.muted{margin:8px 0 var(--group-gap)}
.gps-panel>p{margin:8px 0}.gps-panel>button{margin:0}
#panel-import{display:none}#panel-import.active{display:grid;gap:var(--field-gap)}
#panel-import>h2,#panel-import>p{margin:0}
@media(min-width:800px){.form-card{padding:24px}}
#accountBtn{white-space:nowrap;flex-shrink:0}
#accountSheet h3,#accountSheet p{margin:0}
#accountSheet #accountEmail{margin:0 0 20px;overflow-wrap:anywhere;font-size:14px}
#passwordForm h3{font-size:18px;line-height:24px}
#passwordHint{font-size:13px;line-height:20px;font-weight:400}
#passwordError{color:var(--danger);font-size:14px;line-height:20px}
#accountSheet #logoutBtn{display:block;width:100%;min-height:48px;margin-top:20px;border-top:1px solid var(--line);padding-top:16px}
#passwordForm input:focus-visible{outline:2px solid var(--green);outline-offset:2px}
#accountSheet button:disabled{opacity:.6;cursor:wait}
.search-more{display:block;min-height:46px;min-width:140px;margin:20px auto;white-space:nowrap}
.search-more:disabled{opacity:.6;cursor:wait}

/* Give the required confirmation its own space between the form and submit. */
.community-form .form-card>.consent-row{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;column-gap:10px;margin:20px 0;padding:0;font-size:13px;line-height:1.6;font-weight:400;color:var(--muted)}
.community-form .consent-row>input[type=checkbox]{display:block;width:20px;height:20px;min-width:20px;min-height:20px;margin:1px 0 0;padding:0;accent-color:var(--green)}
.community-form .consent-row>span{display:block;min-width:0;line-height:1.6}
.community-form .form-card>.community-submit{display:block;float:none;margin:0;min-height:48px}

.location-box #getContributionLocation.gps-complete{background:#e3eee9;color:#536c5f;opacity:.65;cursor:default;box-shadow:none}
.location-box #getContributionLocation:disabled:not(.gps-complete){opacity:.65;cursor:wait}
