.setup-summary{display:flex;flex-wrap:wrap;gap:1rem;padding:1rem 0}.setup-summary>p,.setup-summary>section{flex:1 1 180px;margin:0}.setup-checklist{padding:0;list-style:none;display:grid;gap:.75rem}.setup-checklist li{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;border-bottom:1px solid var(--border,#e5dedd);padding:.75rem 0}.setup-checklist a{flex:1 1 210px}.setup-checklist small{flex:1 1 150px}.setup-checklist strong,.doc-state{white-space:normal}.setup-link{display:inline-block;padding:.65rem 1rem;background:var(--ui-primary,#800020);color:white!important;border-radius:6px}.setup-persistent{margin:1rem auto;max-width:1180px;padding:1rem}.setup-persistent p{margin:.4rem 0}.location-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem}.location-card{min-width:0}.location-card details{margin:1rem 0}.location-card summary{cursor:pointer;color:var(--ui-primary,#800020);font-weight:600}.location-address{white-space:pre-line;overflow-wrap:anywhere}#locationInviteForm{border:1px solid #e5dedd;border-radius:8px;padding:1rem;margin:1rem 0}#locationInviteForm fieldset{min-width:0}#accountAccessPanel [data-location-member]{overflow-wrap:anywhere}#accountAccessPanel details>summary{cursor:pointer;font-weight:600}dialog.ui-dialog{max-width:min(640px,calc(100vw - 2rem));max-height:90dvh;overflow:auto}#settingsStatus{overflow-wrap:anywhere}#implementationModule progress{width:100%;accent-color:var(--ui-primary,#800020)}@media(max-width:600px){.setup-persistent{margin:.75rem}.setup-summary{display:block}.setup-summary>*{margin-bottom:.75rem!important}.location-card .row{display:flex;flex-direction:column}.location-card input,#locationInviteForm input:not([type=checkbox]),#locationInviteForm select{width:100%;box-sizing:border-box}.location-card button,dialog.ui-dialog .doc-actions button{white-space:normal}#accountAccessPanel .row{flex-wrap:wrap}.setup-checklist li{align-items:flex-start}}

.setup-link:focus-visible,.location-card summary:focus-visible,#accountAccessPanel summary:focus-visible{outline:3px solid var(--ui-focus,#a5782f);outline-offset:3px}
@media(max-width:600px){#accountAccessPanel .row{grid-template-columns:minmax(0,1fr)}#accountAccessPanel .account-access-row{flex-wrap:wrap;gap:.75rem}#accountAccessPanel input:not([type=checkbox]),#accountAccessPanel select{max-width:100%}dialog.ui-dialog .doc-actions{flex-wrap:wrap}}

/* User Access role summaries; informational, separate from invitation controls. */
#accountAccessPanel .access-role-overview{margin:0 0 24px}
#accountAccessPanel .access-role-overview>h3{margin:0 0 8px}
#accountAccessPanel .access-role-helper{margin:0;color:var(--ui-muted,#617278);line-height:1.6}
#accountAccessPanel .access-role-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}
#accountAccessPanel .access-role-card{display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px;background:rgba(128,0,32,.04);background:color-mix(in srgb,var(--ui-primary,#800020) 4%,white);border:1px solid rgba(128,0,32,.16);border-color:color-mix(in srgb,var(--ui-primary,#800020) 16%,white);border-radius:var(--ui-radius,8px);overflow-wrap:anywhere}
#accountAccessPanel .access-role-heading{display:flex;align-items:center;gap:12px}
#accountAccessPanel .access-role-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;background:#fff;color:var(--ui-primary,#800020);border-radius:var(--ui-radius,8px)}
#accountAccessPanel .access-role-icon svg{width:26px;height:26px}
#accountAccessPanel .access-role-heading h4{margin:0;font-size:18px;line-height:1.4;color:var(--ui-ink,#25434a)}
#accountAccessPanel .access-role-card p{margin:0;line-height:1.6}
#accountAccessPanel .access-role-card ul{display:grid;gap:8px;margin:0;padding-left:20px;line-height:1.5}
#accountAccessPanel .access-role-card li::marker{color:var(--ui-primary,#800020)}
@media(max-width:900px){#accountAccessPanel .access-role-grid{grid-template-columns:minmax(0,1fr)}}

/* Decorative location identifiers; text badges retain type and status information. */
.location-card .location-card-heading{display:flex;align-items:center;gap:12px;margin-bottom:12px;min-width:0}
.location-card .location-card-heading h2{min-width:0;margin:0;overflow-wrap:anywhere}
.location-card .location-card-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:var(--ui-radius,8px);background:#f5f7f7;color:var(--ui-muted,#617278)}
.location-card .location-card-icon svg{width:23px;height:23px}
.location-card .location-card-icon-primary{background:var(--ui-primary,#800020);color:#fff}
@media(max-width:900px){.location-list{grid-template-columns:minmax(0,1fr)}}

/* Location summaries, expanded editing, and destructive actions share one rhythm. */
.location-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
.location-list .location-card{padding:24px;margin:0;align-self:start}
.location-card .location-card-heading{margin:0 0 16px}
.location-card .location-status-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px}
.location-card .location-address{margin:0}
.location-card .location-card-main>details{margin:16px 0 0}
.location-card .location-card-main>details>summary{margin:0;padding:0}
.location-card form[data-location]{display:grid;gap:18px;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--ui-line,#d8e1e2)}
.location-card .location-edit-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));align-items:start;gap:16px;margin:0}
.location-card .location-edit-fields>label{display:grid;gap:8px;min-width:0;margin:0}
.location-card .location-edit-fields input{box-sizing:border-box;width:100%;min-width:0;max-width:100%;margin:0}
.location-card .location-edit-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0}
.location-card .location-edit-actions button,.location-card .location-destructive-actions button{margin:0;max-width:100%;white-space:normal}
.location-card .location-destructive-actions{display:grid;justify-items:start;gap:8px;margin-top:24px;padding:16px 0;border-top:1px solid var(--ui-line,#d8e1e2)}
.location-card .location-destructive-actions h3{margin:0;font-size:16px;line-height:1.4}
.location-card .location-destructive-actions p{margin:0;color:var(--ui-muted,#617278);font-size:14px;line-height:1.5}
.location-card .location-destructive-actions .doc-remove{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--ui-danger,#b42332);border-radius:var(--ui-radius,8px);background:#fff;color:var(--ui-danger,#b42332);text-decoration:none;font-weight:600;text-align:center}
.location-card .location-destructive-actions .doc-remove:hover{background:#fff0f1}
.location-card .location-destructive-actions .doc-remove:focus-visible{outline:3px solid var(--ui-focus,#a5782f);outline-offset:3px}
@media(max-width:900px){.location-list{grid-template-columns:minmax(0,1fr)}.location-card .location-edit-fields{grid-template-columns:minmax(0,1fr)}}

/* Put additional-location actions beside the details instead of extending the card. */
.location-card .location-card-main{min-width:0}
.location-list>.location-card:has(>.location-destructive-actions){display:grid;grid-template-columns:minmax(0,1fr) 176px;align-items:start;gap:20px}
.location-card>.location-destructive-actions{align-content:start;min-width:0;margin:0;padding:0 0 0 16px;border-top:0;border-left:1px solid var(--ui-line,#d8e1e2)}
.location-card>.location-destructive-actions .doc-remove{width:auto;justify-self:start}
.location-list:not(:has(details[open]))>.location-card{align-self:stretch}
@media(max-width:600px){
 .location-list>.location-card:has(>.location-destructive-actions){grid-template-columns:minmax(0,1fr);gap:0}
 .location-card>.location-destructive-actions{margin-top:24px;padding:16px 0;border-left:0;border-top:1px solid var(--ui-line,#d8e1e2)}
}

/* Read-only location summary; operational controls retain their existing layout. */
#documentSetup .location-summary-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:16px;margin:20px 0 24px}
#documentSetup .location-summary-card{display:flex;align-items:flex-start;gap:12px;min-width:0;padding:18px;border:1px solid var(--ui-line,#d8e1e2);border-radius:12px;background:#f5f7f7;box-sizing:border-box}
#documentSetup .location-summary-card>div{min-width:0;overflow-wrap:anywhere}
#documentSetup .location-summary-primary{background:color-mix(in srgb,var(--ui-primary,#800020) 4%,white);border-color:color-mix(in srgb,var(--ui-primary,#800020) 16%,white)}
#documentSetup .location-summary-additional{background:#f1f5f7}
#documentSetup .location-summary-capacity{background:#f8f6f2;border-color:#e4dfd5}
#documentSetup .location-summary-icon{display:flex;align-items:center;justify-content:center;flex:0 0 36px;width:36px;height:36px;border-radius:8px;background:#fff;color:var(--ui-primary,#800020)}
#documentSetup .location-summary-additional .location-summary-icon{color:var(--ui-muted,#617278)}
#documentSetup .location-summary-icon svg{width:22px;height:22px}
#documentSetup .location-summary-card h2{margin:0 0 8px;font:600 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:var(--ui-muted,#617278)}
#documentSetup .location-summary-card .location-summary-value{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;font:600 18px/1.45 Arial,Helvetica,sans-serif;color:var(--ui-ink,#25434a)}
#documentSetup .location-summary-card .location-summary-support{margin:8px 0 0;font-size:13px;line-height:1.5;color:var(--ui-muted,#617278)}
#documentSetup .location-summary-chip{display:inline-flex;padding:2px 8px;border:1px solid var(--ui-line,#d8e1e2);border-radius:12px;background:#fff;color:var(--ui-primary,#800020);font:600 12px/1.5 Arial,Helvetica,sans-serif}
@media(max-width:1000px){#documentSetup .location-summary-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){#documentSetup .location-summary-cards{grid-template-columns:minmax(0,1fr)}}

/* Expanded location editors need room for full names and addresses. */
.location-list>.location-card:has(details[open]){grid-column:1/-1;width:100%;max-width:none;box-sizing:border-box}.location-card details[open] .location-edit-fields{grid-template-columns:minmax(0,1fr);width:100%}.location-card details[open] form[data-location],.location-card details[open] .location-edit-fields>label{width:100%;max-width:none;box-sizing:border-box}.location-card details[open] .location-edit-fields input{width:100%;max-width:none;min-height:44px}
