/* Shared administration rhythm; brand colours come from /branding.css. */
body.setup-page{--setup-gap:16px;--setup-border:#dce1eb;--setup-muted:#687086}
body.setup-page main{min-width:0}
body.setup-page .page-heading{align-items:flex-start;gap:20px;margin-bottom:24px}
body.setup-page .page-heading h1,body.setup-page .page-heading h2{margin:0 0 8px}
body.setup-page .page-heading p{margin:0;line-height:1.5}
body.setup-page .page-heading>div:has(>button){display:flex;flex-wrap:wrap;gap:12px;align-items:center}
body.setup-page .surface,body.setup-page .workspace-content>section,body.setup-page #setupContent section{padding:24px;border:1px solid var(--setup-border);background:#fff;border-radius:14px}
body.setup-page h2{margin:0 0 16px}
body.setup-page h3{margin:24px 0 12px}
body.setup-page form,body.setup-page #newUser{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--setup-gap);width:100%;max-width:720px;min-width:0;margin:20px 0}
body.setup-page form label{display:grid;gap:8px;margin:0;min-width:0;line-height:1.4}
body.setup-page form input,body.setup-page form select,body.setup-page form textarea{display:block;width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box}
body.setup-page input:not([type=checkbox]):not([type=radio]),body.setup-page select{min-height:44px;padding:10px 12px}
body.setup-page textarea{min-height:110px;padding:12px;resize:vertical;line-height:1.5}
body.setup-page label:has(>input[type=checkbox]),body.setup-page label:has(>input[type=radio]){display:flex;align-items:flex-start;gap:10px}
body.setup-page form input[type=checkbox],body.setup-page form input[type=radio]{flex:none;width:20px;height:20px;margin:1px 0 0}
body.setup-page form p,body.setup-page form h3,body.setup-page form h2{margin:0;line-height:1.5}
body.setup-page form>button{justify-self:start}
body.setup-page button{min-height:44px;padding:10px 16px;line-height:1.3;white-space:normal}
body.setup-page .toolbar,body.setup-page .dialog-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
body.setup-page .toolbar{margin:20px 0}
body.setup-page .toolbar>label{display:grid;gap:8px;margin:0;min-width:140px}
body.setup-page .toolbar input[type=search]{flex:1 1 260px;min-width:160px;max-width:100%}
body.setup-page .toolbar select{flex:0 1 180px;min-width:140px;margin:0}
body.setup-page fieldset{border:1px solid var(--setup-border);border-radius:10px;padding:16px;margin:0;min-width:0}
body.setup-page legend{padding:0 6px;font-weight:600}
body.setup-page fieldset label+label{margin-top:12px}
body.setup-page .detail-panel{padding:20px;border:1px solid var(--setup-border);background:#fff}
body.setup-page .detail-panel>button{margin:0}
body.setup-page .user-layout{gap:24px;min-width:0}
body.setup-page .table-scroll{min-width:0}
body.setup-page th,body.setup-page td{padding:16px 12px;vertical-align:middle}
body.setup-page .user-layout:has(.detail-panel[hidden]){grid-template-columns:minmax(0,1fr)}
body.setup-page dialog{background:#fff;color:#202139;border:1px solid var(--setup-border);padding:24px;width:min(600px,calc(100vw - 32px));max-height:calc(100dvh - 32px)}
body.setup-page dialog form{max-width:none;margin-bottom:0}
body.setup-page .email-preview{background:#f7f8fa;border-color:var(--setup-border)}
body.setup-page .email-preview h2{color:var(--brand-accent,#d00087)}
body.setup-page .setup-app{background:#fff;border-color:var(--setup-border)}
body.setup-page .setup-preview{background:#f1f3f7}
body.setup-page .side-nav a.selected{background:var(--brand-accent-soft,#d0008718);color:var(--brand-accent,#d00087)}
body.setup-page tr.selected{background:var(--brand-accent-soft,#d0008718)}
body.setup-page .primary,body.setup-page #showCreate{background:var(--brand-accent,#d00087);color:var(--brand-foreground,#fff);border-color:var(--brand-accent,#d00087);background-image:none}
.secondary-menu-section{padding:8px 0;border-top:1px solid #ffffff1c}
.app-sidebar .secondary-menu-heading{font-size:11px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:600;opacity:.7;padding:8px 16px 4px;margin:0}
@media(max-width:700px){
 body.setup-page .surface,body.setup-page .workspace-content>section,body.setup-page #setupContent section{padding:18px}
 body.setup-page .page-heading{gap:16px}
 body.setup-page .page-heading>div:has(>button){width:100%}
 body.setup-page .toolbar>input,body.setup-page .toolbar>select,body.setup-page .toolbar>label{flex:1 1 100%;width:100%;min-width:0}
 body.setup-page .user-layout{grid-template-columns:minmax(0,1fr)}
 body.setup-page dialog{padding:20px}
}

/* Nested form groups need their own row rhythm, not only the parent form gap. */
body.setup-page main form .mail-grid,
body.setup-page main form .preference-grid{display:grid;gap:24px;align-items:start;min-width:0}
body.setup-page main form .mail-grid>label,
body.setup-page main form .preference-grid>label{margin:0;min-width:0;align-content:start}
body.setup-page main form label:has(>input[type=checkbox]),
body.setup-page main form label:has(>input[type=radio]){display:flex;align-items:center;gap:10px;min-height:44px}
body.setup-page main form label>input[type=checkbox],
body.setup-page main form label>input[type=radio]{order:-1;margin:0;flex:none}
body.setup-page main section>label{display:grid;gap:8px;margin:18px 0;min-width:0}
body.setup-page #brandImages{display:grid;gap:24px;min-width:0}
body.setup-page .brand-library-grid{gap:18px}
@media(max-width:700px){
 body.setup-page main form .mail-grid,
 body.setup-page main form .preference-grid{grid-template-columns:minmax(0,1fr);gap:20px}
}
