/* Audit 6: final shared UI and responsive contracts. Print layouts stay in app.css. */
:root{--ui-space-page-x:clamp(14px,2.5vw,38px);--ui-space-page-y:clamp(20px,3vw,30px);--ui-radius-control:10px;--ui-control-compact:44px;--ui-control-default:48px;--ui-control-large:52px}
@media screen{
button,.btn,.plain-button,.nav-toggle,.sidebar-toggle,.admin-sidebar-close,.footer-social-links a,[role="button"]{min-height:var(--ui-control-compact)}
.nav-toggle,.sidebar-toggle,.admin-sidebar-close,.footer-social-links a,.password-toggle,[data-toggle-password]{min-width:var(--ui-control-compact);display:inline-grid;place-items:center}
.nav-toggle,.sidebar-toggle,.admin-sidebar-close{display:none!important}
.btn,.plain-button{border-radius:var(--ui-radius-control);line-height:1.2}.btn-small{min-height:var(--ui-control-compact)}.btn:not(.btn-small){min-height:var(--ui-control-default)}.btn-large{min-height:var(--ui-control-large)}
.app-layout .dashboard-header:not(.system-special-header){min-height:106px;padding-block:15px}.app-layout .dashboard-header>div:not(.user-chip)>p{max-width:720px;margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
.dashboard-content{padding:var(--ui-space-page-y) var(--ui-space-page-x) 54px}.app-layout .page-toolbar,.app-layout .panel-heading,.app-layout .section-header{gap:14px}.app-layout .panel{margin-top:20px}.app-layout .alert{margin:0 0 18px}
.empty-state{max-width:100%;padding:24px 18px;color:var(--muted);line-height:1.55;text-align:center;overflow-wrap:break-word}td.empty-state{padding-block:30px}.empty-state strong,.empty-state small,.empty-state span,.empty-state p{display:block}.empty-state strong{color:var(--navy);font-size:14px}.empty-state small,.empty-state p,.empty-state span{margin:5px 0 0}
.field-error-message{margin-top:6px;color:#a52f36;font-size:11px;font-weight:700;line-height:1.45;overflow-wrap:break-word}:where(input,select,textarea).is-invalid,:where(input,select,textarea)[aria-invalid="true"]{border-color:#c94a52!important;box-shadow:0 0 0 3px rgba(201,74,82,.11)!important}
.responsive-table{max-width:100%;overflow-x:auto}.responsive-table table{margin-bottom:0}.pagination-shell{max-width:100%}
.public-gallery-page .instagram-gallery-card,.public-gallery-page .instagram-embed-shell{isolation:isolate;background:color-mix(in srgb,var(--website-soft) 70%,#fff)}.public-gallery-page .instagram-embed-fallback{position:absolute;inset:0;z-index:3;display:grid;place-items:center;padding:24px;text-align:center}.public-gallery-page .instagram-embed-fallback[hidden]{display:none}
}
@media screen and (max-width:1020px){.nav-toggle{display:inline-grid!important}}
@media screen and (max-width:780px){.app-layout .dashboard-header:not(.system-special-header){min-height:0;align-items:flex-start;padding:14px 16px}.app-layout .dashboard-header>div:not(.user-chip){min-width:0}.app-layout .dashboard-header>.btn,.app-layout .dashboard-header>.plain-button{max-width:100%}.dashboard-content{padding:20px 14px 42px}.app-layout .page-toolbar,.app-layout .panel-heading,.app-layout .section-header{align-items:stretch}.app-layout .page-toolbar>.btn,.app-layout .page-toolbar>.plain-button,.app-layout .panel-heading>.btn,.app-layout .panel-heading>.plain-button,.app-layout .section-header>.btn,.app-layout .section-header>.plain-button{width:100%}}
@media screen and (max-width:780px){.sidebar-toggle,.admin-sidebar-close{display:inline-grid!important}.admin-sidebar-close{width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#fff!important}.sidebar-toggle{width:44px;height:44px;padding:0;border:0;background:transparent;box-shadow:none}}
@media screen and (max-width:520px){.btn,.plain-button{max-width:100%;white-space:normal;text-align:center}.form-actions,.dialog-actions,.table-actions{align-items:stretch}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}
