/* Stage 15: shared page and surface spacing, independent of business templates. */
body[data-page] .content{padding:var(--eum-space-6)}
body[data-page] .content .panel:not(.consult-toolbar){padding:var(--eum-space-6);border-radius:var(--eum-radius)}
body[data-page] .content>.panel{margin-bottom:var(--eum-space-6)}
body[data-page] .content>.notice-arrival{margin-bottom:var(--eum-space-6)}
body[data-page] .content>.ui-page-head{margin:0 0 var(--eum-space-6);padding:0;gap:var(--eum-space-4);align-items:center}
body[data-page] .content>.ui-page-head .ui-page-copy{min-width:0;flex:1}
body[data-page] .content>.ui-page-head .head-actions{gap:var(--eum-space-2);max-width:45%;min-width:0;flex-wrap:wrap}
body[data-page] .content>.ui-page-head .head-actions .btn{max-width:100%;white-space:normal;overflow-wrap:anywhere}
body[data-page] .content .panel:not(.consult-toolbar) :is(.section-head,.ui-section-head){gap:var(--eum-space-3);margin-bottom:var(--eum-space-4);align-items:center;flex-wrap:wrap}
body[data-page] .content :is(.dashboard-columns,.task-grid,.admin-chart-grid,.comparison-grid,.individual-chart-grid,.task-work-grid,.task-support-grid){gap:var(--eum-space-6)}
/* Grids own their inter-card gap; avoid adding a second bottom margin. */
body[data-page] .content :is(.task-grid,.admin-chart-grid,.comparison-grid,.individual-chart-grid,.task-work-grid,.task-support-grid)>.panel{margin-bottom:0}
@media(max-width:767px){
 body[data-page] .content{padding:var(--eum-space-4)}
 body[data-page] .content .panel:not(.consult-toolbar){padding:var(--eum-space-4)}
 body[data-page] .content>.ui-page-head{flex-direction:column;align-items:stretch;gap:var(--eum-space-3)}
 body[data-page] .content>.ui-page-head .head-actions{max-width:100%;width:100%;justify-content:flex-start}
 body[data-page] .content :is(.dashboard-columns,.task-grid,.admin-chart-grid,.comparison-grid,.individual-chart-grid,.task-work-grid,.task-support-grid){gap:var(--eum-space-4)}
}
