/* Shared screen primitives. Keep specialized photo, playback, board and print
   layouts in their existing components; this file owns their common roles. */
@media screen {
  body.glory-app {--radius-sm:6px;--radius-md:var(--ui-radius-control);--radius-lg:var(--ui-radius-card);--radius-xl:var(--ui-radius-card);--radius-modal:var(--ui-radius-dialog);--action-height:var(--ui-control-height);--action-radius:var(--ui-radius-control);--action-gap:var(--ui-space-2);font-family:var(--ui-font);font-size:15px;line-height:1.65;letter-spacing:-.015em;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)){color-scheme:dark;--background:var(--ui-bg);--paper:var(--ui-bg);--surface:var(--ui-surface);--white:var(--ui-surface);--surface-soft:var(--ui-soft);--surface-secondary:var(--ui-soft);--primary:var(--ui-primary);--primary-hover:var(--ui-hover);--primary-soft:var(--ui-soft);--on-primary:var(--ui-on-primary);--brand-primary:var(--ui-primary);--brand-dark:var(--ui-on-primary);--brand-surface:var(--ui-soft);--brand-soft:var(--ui-line);--accent:var(--ui-primary);--accent-soft:var(--ui-soft);--text-primary:var(--ui-ink);--text:var(--ui-ink);--ink:var(--ui-ink);--text-secondary:var(--ui-muted);--text-tertiary:var(--ui-muted);--muted:var(--ui-muted);--border:var(--ui-line);--border-strong:var(--ui-line);--line:var(--ui-line);--green:var(--ui-primary);--danger:var(--ui-danger);--event-yellow:var(--ui-warning-bg);--event-green:var(--ui-success-bg);--event-blue:var(--ui-soft);--event-purple:var(--ui-purple-bg);--event-orange:var(--ui-warning-bg);--event-pink:var(--ui-danger-bg);--event-teal:var(--ui-success-bg);--event-gray:var(--ui-surface);background:var(--ui-bg);color:var(--ui-ink);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.topbar,.app-sidebar,.bottom-nav){background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.topbar,.app-sidebar,.bottom-nav) :is(a,button){color:var(--ui-ink);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.app-sidebar,.bottom-nav) [aria-current=page]{background:var(--ui-soft);color:var(--ui-primary);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.topbar,.app-sidebar) .header-logo-image,
  body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .sidebar-brand img{filter:brightness(0) invert(1);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.sidebar-description,.sidebar-footer,.account-nav){color:var(--ui-muted);}
  body.glory-app .container {min-width:0;}
  body.glory-app .skip-link {border-radius:var(--ui-radius-control);min-height:44px;padding:10px 14px;line-height:24px;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .skip-link{background:var(--ui-primary);color:var(--ui-on-primary);}
  body.glory-app :is(.page-title,.section-heading,.form-heading,.dialog-heading) {gap:var(--ui-space-4);align-items:center;}
  body.glory-app :is(.page-title,.section-heading,.form-heading)>div {min-width:0;}
  body.glory-app :is(.page-title,.section-heading) :is(h1,h2) {margin:0;line-height:1.35;overflow-wrap:anywhere;text-wrap:pretty;}
  body.glory-app .page-title h1 {font-size:clamp(25px, 2.6vw, 32px);letter-spacing:-.035em;}
  body.glory-app .page-title p {margin-top:var(--ui-space-2);line-height:1.6;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .page-title p{color:var(--ui-muted);}
  body.glory-app :is(.button-row,.form-actions,.filter-actions,.page-actions) {display:flex;align-items:center;flex-wrap:wrap;gap:var(--ui-space-2);}
  body.glory-app :is(.button-row,.form-actions,.filter-actions,.page-actions)>* {max-width:100%;}
  body.glory-app :is(.button,.prep-button,.care-small,.ui-action,button[type=submit]):where(:not(.link-button):not(.photo-like):not(.directory-menu-action):not(.board-menu .button)) {word-break:normal;text-align:center;min-width:44px;max-width:100%;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,.prep-button,.care-small,.ui-action,button[type=submit]):where(:not(.link-button):not(.photo-like):not(.directory-menu-action):not(.board-menu .button)){background:var(--ui-primary);color:var(--ui-on-primary);border-color:var(--ui-primary);box-shadow:none;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,.prep-button,.care-small,.ui-action).secondary{background:var(--ui-surface);color:var(--ui-ink);border-color:var(--ui-line);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,.prep-button,.ui-action,button).danger{background:var(--ui-danger-bg);color:var(--ui-danger);border-color:var(--ui-danger);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,.prep-button,.ui-action):hover:not(.secondary):not(.danger):not(:disabled):not([aria-disabled=true]){background:var(--ui-hover);color:var(--ui-on-primary);border-color:var(--ui-hover);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,.prep-button,.ui-action).secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-primary);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,.prep-button,.ui-action,button).danger:hover:not(:disabled):not([aria-disabled=true]){background:var(--ui-danger);color:var(--ui-bg);border-color:var(--ui-danger);}
  body.glory-app :is(.button,button)[disabled], body.glory-app [aria-disabled=true] {cursor:not-allowed;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.button,button)[disabled], body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) [aria-disabled=true]{opacity:.5;}
  body.glory-app :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible {outline-width:3px;outline-style:solid;outline-offset:3px;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--ui-primary);}
  body.glory-app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),select,textarea) {min-width:0;max-width:100%;min-height:var(--ui-control-height);border-radius:var(--ui-radius-control);font-family:inherit;line-height:1.5;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),select,textarea){border-color:var(--ui-line);background-color:var(--ui-surface);color:var(--ui-ink);box-shadow:none;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(input,textarea)::placeholder{color:var(--ui-muted);opacity:1;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(input,select,textarea):disabled{color:var(--ui-muted);background-color:var(--ui-bg);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(input[type=checkbox],input[type=radio],progress){accent-color:var(--ui-primary);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(input,select,textarea)[aria-invalid=true]{border-color:var(--ui-danger);}
  body.glory-app :is(.helptext,.helper-text,.metadata,.muted,.form-help) {line-height:1.6;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.helptext,.helper-text,.metadata,.muted,.form-help){color:var(--ui-muted);}
  body.glory-app .errorlist {padding-left:20px;margin-block:var(--ui-space-2);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .errorlist{color:var(--ui-danger);}
  body.glory-app :is(.notice,.message,.empty,.empty-state) {border-width:1px;border-style:solid;border-radius:var(--ui-radius-control);padding:var(--ui-space-4);overflow-wrap:anywhere;line-height:1.65;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.notice,.message,.empty,.empty-state){border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-muted);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.message.success,.notice.success){background:var(--ui-success-bg);color:var(--ui-success);border-color:var(--ui-success);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.message.error,.notice.error,.notice.danger){background:var(--ui-danger-bg);color:var(--ui-danger);border-color:var(--ui-danger);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) :is(.message.warning,.notice.warning){background:var(--ui-warning-bg);color:var(--ui-warning);border-color:var(--ui-warning);}
  body.glory-app dialog {max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-width:1px;border-style:solid;border-radius:var(--ui-radius-dialog);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) dialog{background:var(--ui-surface);color:var(--ui-ink);border:1px solid var(--ui-line);box-shadow:var(--ui-shadow);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) dialog::backdrop{background:#080f1bb3;}
  body.glory-app :is(.dialog-heading,.modal-heading) {display:flex;align-items:center;justify-content:space-between;gap:var(--ui-space-3);}
  body.glory-app :is(.dialog-heading,.modal-heading)>:is(h2,h3,div) {min-width:0;overflow-wrap:anywhere;}
  body.glory-app :is(.dialog-heading,.modal-heading)>:is(button,.button) {flex:0 0 auto;min-width:44px;min-height:44px;}
  body.glory-app :is(.table-wrap,.table-scroll,.table-responsive) {max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;}
  body.glory-app .pagination {display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--ui-space-2);}
  body.glory-app .pagination a {display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:8px 12px;border-width:1px;border-style:solid;border-radius:var(--ui-radius-control);text-decoration:none;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .pagination a{border:1px solid var(--ui-line);background:var(--ui-surface);color:var(--ui-ink);}
  body.glory-app .pagination :is(.current,[aria-current=page]) {font-weight:700;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .pagination :is(.current,[aria-current=page]){color:var(--ui-primary);}
  body.glory-app [aria-busy=true] {cursor:progress;}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)) .glory-shared-footer{color:var(--ui-muted);}
body.glory-app:where(.gathering-ops-theme,.glory-shared:not(.shared-page)):is(.registration-clean-white,.registration-legacy-white){color-scheme:light;}
}
@media screen and (max-width: 759px) {
  body.glory-app :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea) {font-size:16px;}
  body.glory-app .page-title {align-items:stretch;gap:var(--ui-space-3);}
  body.glory-app .page-title .button-row {margin-top:0;}
}
@media (prefers-reduced-motion: reduce) {
  body.glory-app :is(.button,.card,dialog,.message) {animation:none;transition:none;}
}
