/* Shared UI density at every desktop resolution. Never scale print canvases. */
.app-shell { padding: 8px; font-size: 12px; line-height: 1.35; }
.app-shell .layout-grid { grid-template-columns: 184px minmax(0, 1fr); gap: 8px; }
.app-shell .layout-grid.is-sidebar-collapsed { grid-template-columns: 34px minmax(0, 1fr); }
.app-shell .layout-grid > * { min-width: 0; }
.app-shell .header { padding: 7px 10px; gap: 8px; align-items: center; }
.app-shell .brand { gap: 8px; align-items: center; }
.app-shell .logo { width: 40px; height: 40px; min-width: 40px; min-height: 40px; max-width: 40px; max-height: 40px; }
.app-shell .brand-copy { gap: 1px; }
.app-shell .event-name { font-size: 22px; line-height: 1.05; }
.app-shell .event-dates { font-size: 10px; }
.app-shell .eyebrow { font-size: 9px; letter-spacing: .08em; }
.app-shell .header-actions, .app-shell .topnav { gap: 5px; }
.app-shell .topnav .dropdown-menu { left: auto; right: 0; }
.app-shell .btn, .app-shell .nav-btn { min-height: 27px; padding: 4px 9px; font-size: 11px; line-height: 1.25; border-radius: 9px; }
.app-shell .btn-small { min-height: 25px; padding: 3px 7px; }
.app-shell .theme-toggle { width: 28px; height: 28px; min-width: 28px; min-height: 28px; padding: 0; font-size: 16px; }
.app-shell .sidebar { padding: 7px; gap: 6px; align-self: start; }
.app-shell .sidebar-card { padding: 7px; border-radius: 10px; }
.app-shell .sidebar-title { font-size: 9px; margin-bottom: 5px; }
.app-shell .user-name { font-size: 12px; }
.app-shell .user-meta-row { padding: 3px 0; gap: 4px; font-size: 10px; }
.app-shell .sidebar .quick-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.app-shell .sidebar .quick-links .btn { min-height: 27px; padding: 4px; font-size: 10px; white-space: normal; }
.app-shell .sidebar .quick-links .btn::before { display: none; }
.app-shell .sidebar-toggle-btn { top: 7px; right: 7px; width: 24px; height: 24px; font-size: 12px; box-shadow: none; }
.app-shell .sidebar-card:first-of-type > .sidebar-title,
.app-shell .sidebar-card:first-of-type > .record-title { padding-right: 24px; }
.app-shell .sidebar-hints .info-list { gap: 5px; }
.app-shell .sidebar-hints .info-note { padding: 6px; font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.app-shell .sidebar-hints .info-note::before { display: none; }
.app-shell .sidebar-hints .info-note strong { font-size: 11px; margin-bottom: 3px; }
.app-shell .user-meta-row-timer .status-chip { flex-shrink: 0; white-space: nowrap; }
.app-shell .content { padding: 8px; min-height: calc(100vh - 100px); }
.app-shell .footer { padding: 5px 8px; font-size: 10px; }
.app-shell .page-stack, .app-shell .stack-form { gap: 8px; }
.app-shell .page-head { padding: 7px 10px 7px 20px; gap: 8px; border-radius: 11px; align-items: center; }
.app-shell .page-head::before { inset: 7px auto 7px 8px; width: 3px; }
.app-shell .page-head h2 { font-size: 22px; line-height: 1.1; }
.app-shell .section-head { gap: 7px; }
.app-shell .section-head h3, .app-shell .admin-card h3 { font-size: 17px; line-height: 1.2; }
.app-shell .page-subtitle { max-width: none; padding: 4px 7px; font-size: 11px; line-height: 1.3; border-radius: 8px; }
.app-shell .section-card, .app-shell .admin-card, .app-shell .stat-card, .app-shell .toolbar-card,
.app-shell .hero-card, .app-shell .subtle-card, .app-shell .import-mapping-card { padding: 8px; border-radius: 12px; }
.app-shell .form-grid, .app-shell .editor-form, .app-shell .settings-core-grid, .app-shell .settings-subgrid { gap: 7px 10px; }
.app-shell .guest-profile-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.app-shell .form-grid label, .app-shell .stack-form label, .app-shell .login-card label, .app-shell .tpl-options-grid label { gap: 3px; font-size: 11px; }
.app-shell .guest-profile-form > label, .app-shell .editor-form > label,
.app-shell .settings-core-card > .form-grid > label, .app-shell .settings-timeline-card .settings-subgrid > label { padding: 5px 7px; border-radius: 9px; }
.app-shell .guest-profile-form > label { padding: 2px 6px; }
.app-shell :is(.form-grid, .stack-form, .login-card, .toolbar, .template-main-settings, .tpl-options-grid) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.app-shell :is(.form-grid, .stack-form, .template-main-settings, .tpl-options-grid, .preview-headline) select,
.app-shell .inline-select { min-height: 30px; padding: 5px 8px; font-size: 12px; border-radius: 8px; }
.app-shell :is(.form-grid, .stack-form) textarea { min-height: 64px; padding: 6px 8px; font-size: 12px; border-radius: 8px; }
.app-shell .checkbox-label { min-height: 24px; gap: 6px; }
.app-shell .form-actions, .app-shell .profile-print-actions, .app-shell .guest-status-actions { gap: 6px; }
.app-shell .profile-actions-bar { padding: 6px 8px; border-radius: 10px; }
.app-shell .profile-actions-bar > .btn, .app-shell .profile-print-actions,
.app-shell .profile-print-actions .inline-select, .app-shell .profile-print-actions .btn { width: auto; }
.app-shell .guest-status-card, .app-shell .guest-profile-hero, .app-shell .editor-form-hero { gap: 7px; margin-top: 0; }
.app-shell .guest-profile-hero .section-head h3, .app-shell .editor-form-hero .section-head h3 { font-size: 21px; line-height: 1.15; }
.app-shell .guest-status-grid { gap: 6px; }
.app-shell .guest-status-grid--checkin { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.app-shell .guest-status-item { min-height: 46px; justify-content: flex-start; padding: 6px 8px; gap: 3px; border-radius: 9px; }
.app-shell .guest-status-item strong { font-size: 15px; line-height: 1.2; }
.app-shell .summary-label, .app-shell .search-hint { font-size: 10px; }
.app-shell .status-chip { min-height: 21px; padding: 3px 6px; font-size: 10px; line-height: 1.25; }
.app-shell .registration-hero { padding: 5px; }
.app-shell .registration-hero-grid { grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: 6px; }
.app-shell .registration-hero-head { padding: 5px 8px 5px 18px; }
.app-shell .registration-hero-head h2 { font-size: 20px; }
.app-shell .registration-hero-actions { margin: 0; }
.app-shell .registration-stats-card { width: 100%; padding: 4px 6px; gap: 6px; }
.app-shell .registration-stats-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; justify-items: stretch; }
.app-shell .registration-stat-item { min-width: 0; padding: 3px 5px; border-radius: 7px; }
.app-shell .registration-stat-item strong { font-size: 12px; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
.app-shell .registration-stats-title, .app-shell .registration-stat-item span { font-size: 9px; }
.app-shell .registration-workspace .search-panel { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; padding: 7px; gap: 6px 10px; }
.app-shell .registration-workspace .search-filter-stack { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; gap: 5px 8px; }
.app-shell .search-filter-row { padding: 3px; gap: 5px; }
.app-shell .registration-workspace .search-filter-row { padding: 0; background: transparent; border: 0; }
.app-shell .search-filter-group { padding: 0; gap: 3px; }
.app-shell .search-filter-label { font-size: 9px; }
.app-shell .registration-search-toolbar { grid-column: 1 / -1; padding: 0; border: 0; box-shadow: none; }
.app-shell #guestSearch { min-height: 32px; padding: 6px 9px; font-size: 13px; }
.app-shell .results-shell { display: grid; grid-template-columns: minmax(0, 1fr) auto; padding: 6px; gap: 5px; border-radius: 11px; }
.app-shell .results-summary { padding: 3px 6px; gap: 5px; }
.app-shell .results-summary .search-hint { display: none; }
.app-shell .results-controls { align-items: start; gap: 5px; }
.app-shell .results-shell > .table-wrap { grid-column: 1 / -1; }
.app-shell .table-prefs { gap: 5px; }
.app-shell .table-prefs-panel { padding: 7px; }
.app-shell .table-wrap, .app-shell .table-scroll { border-radius: 9px; }
.app-shell .data-table th, .app-shell .data-table td { padding: 5px 7px; line-height: 1.3; }
.app-shell .data-table th { font-size: 10px; letter-spacing: .04em; }
.app-shell .data-table td { font-size: 12px; }
.app-shell .actions-cell { min-width: 190px; }
.app-shell .row-actions { padding: 0; gap: 4px; border: 0; background: transparent; box-shadow: none; border-radius: 0; }
:root[data-theme="dark"] .app-shell .row-actions { background: transparent; box-shadow: none; }
.app-shell .row-actions .btn { min-height: 23px; padding: 3px 6px; font-size: 10px; }
.app-shell .compact-status { min-height: 21px; padding: 3px 5px; font-size: 10px; }
.app-shell .empty-state, .app-shell .info-note, .app-shell .message { padding: 8px 10px; border-radius: 10px; }
.app-shell .template-editor-grid { grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); gap: 8px; margin-bottom: 8px; }
.app-shell .two-cols, .app-shell .tpl-options-grid { gap: 6px; }
.app-shell .tpl-field-card, .app-shell .template-fields-list.is-compact .tpl-field-card { padding: 6px 8px; }
.app-shell .tpl-options { margin-top: 6px; padding-top: 6px; }
.app-shell .template-fields-list.is-compact .tpl-options-grid input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
.app-shell .template-fields-list.is-compact .tpl-options-grid select { min-height: 30px; padding: 5px 8px; font-size: 12px; }
.app-shell .template-fields-list.is-compact .checkbox-label { min-height: 24px; }
.app-shell .drag-handle, .app-shell .mini-btn { width: 25px; height: 25px; font-size: 12px; }
.app-shell .preview-wrap { padding: 8px; min-height: 170px; }
.app-shell .login-card { padding: 20px; }
.app-shell .login-card h1 { font-size: 28px; }
.app-shell .grid-two, .app-shell .admin-grid, .app-shell .stats-grid, .app-shell .bulk-preprint-filters { gap: 8px; }
.app-shell .stat-title, .app-shell .stats-heading, .app-shell .subtle-card h3 { font-size: 17px; }
.app-shell .stat-card { gap: 5px; }
.app-shell .stat-row, .app-shell .compact-stat-row { padding: 4px 0; gap: 6px; font-size: 11px; }
.app-shell .stats-spoiler { padding: 0; }
.app-shell .stats-summary { padding: 6px 8px; gap: 8px; }
.app-shell .stats-summary-hint, .app-shell .record-subtitle, .app-shell .helper-text { font-size: 11px; }
.app-shell .compact-stats-grid { padding: 6px; gap: 6px; align-items: start; }
.app-shell .compact-stat-card { max-height: 280px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: var(--accent) transparent; }
.app-shell .compact-stat-card > * { flex-shrink: 0; }
.app-shell .compact-stat-card, .app-shell .bulk-preprint-filter-card { padding: 6px 8px; border-radius: 10px; gap: 4px; }
.app-shell .compact-stat-title { font-size: 16px; margin-bottom: 4px; }
.app-shell .compact-stat-row strong { font-size: 13px; }
.app-shell .template-fields-list.is-compact .mini-btn,
.app-shell .template-fields-list.is-compact .drag-handle { width: 25px; height: 25px; }
.app-shell .dropdown-menu { gap: 3px; padding: 6px; }
.app-shell .dropdown-menu button { padding: 6px 8px; font-size: 11px; }

.app-shell .guest-suggest-wrap { position: relative; min-width: 0; }
.app-shell .guest-profile-form > label, .app-shell .editor-form > label { position: relative; }
.app-shell label:has(.guest-suggest-list:not([hidden])) { z-index: 10; }
.app-shell .guest-suggest-list { position: absolute; top: calc(100% + 3px); left: 0; right: 0; z-index: 20; max-height: 220px; overflow: auto; padding: 4px; border: 1px solid var(--line); border-radius: 8px; background: var(--panel-strong); box-shadow: var(--shadow-md); }
.app-shell .guest-suggest-option { display: block; width: 100%; border: 0; border-radius: 5px; padding: 6px 8px; font-size: 12px; line-height: 1.35; text-align: left; white-space: normal; overflow-wrap: anywhere; color: var(--text); background: transparent; cursor: pointer; }
.app-shell .guest-suggest-option:hover, .app-shell .guest-suggest-option[aria-selected="true"] { background: var(--accent-soft); }
.app-shell .editor-actions-bar .btn:disabled, .app-shell .profile-actions-bar .btn:disabled { opacity: .6; cursor: wait; }
.app-shell #scheduleDaysEditor { display: grid; gap: 6px; }
.app-shell .schedule-day-row { display: grid; grid-template-columns: minmax(130px, 1.2fr) repeat(4, minmax(85px, 1fr)) auto; gap: 6px; align-items: end; padding: 6px; border: 1px solid var(--line); border-radius: 8px; }
@media (max-width: 1100px) {
    .app-shell .schedule-day-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .app-shell .schedule-day-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .app-shell .schedule-day-row > label:first-child { grid-column: 1 / -1; }
}

@media (min-width: 861px) and (max-width: 1200px) {
    .app-shell .registration-hero-grid { grid-template-columns: 1fr; }
}
@media (min-width: 861px) {
    .app-shell .layout-grid.is-sidebar-collapsed .sidebar { display: flex; min-height: 40px; }
    .app-shell .layout-grid.is-sidebar-collapsed .sidebar-card { display: none; }
    .app-shell .layout-grid.is-sidebar-collapsed .sidebar-toggle-btn { right: 4px; }
}
@media (max-width: 860px) {
    .app-shell .sidebar-toggle-btn { right: 6px; }
    .app-shell .layout-grid, .app-shell .layout-grid.is-sidebar-collapsed { grid-template-columns: minmax(0, 1fr); }
    .app-shell .template-editor-grid, .app-shell .registration-hero-grid { grid-template-columns: minmax(0, 1fr); }
    .app-shell .registration-workspace .search-panel { grid-template-columns: minmax(0, 1fr); }
    .app-shell .registration-workspace .search-filter-stack { justify-content: flex-start; }
    .app-shell .registration-stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .app-shell .btn, .app-shell .nav-btn { min-height: 32px; }
    .app-shell .topnav { flex-direction: row; flex-wrap: wrap; }
    .app-shell .topnav > *, .app-shell .topnav .dropdown, .app-shell .topnav .nav-btn { width: auto; }
    .app-shell .topnav .theme-toggle { min-height: 32px; width: 32px; }
    .app-shell .guest-status-grid { grid-template-columns: minmax(0, 1fr); }
    .app-shell .guest-profile-form { grid-template-columns: minmax(0, 1fr); }
    .app-shell .content { min-height: 0; }
    .app-shell .results-shell { grid-template-columns: minmax(0, 1fr); }
    .app-shell :is(.form-grid, .stack-form) input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),
    .app-shell :is(.form-grid, .stack-form) select, .app-shell :is(.form-grid, .stack-form) textarea { font-size: 16px; min-height: 34px; }
}

/* Pending actions must not look or move like clickable controls. */
.app-shell .btn:disabled { opacity: .6; cursor: wait; transform: none; box-shadow: none; transition: none; }
.app-shell .btn:disabled::after { display: none; }
.app-shell :is(.guest-profile-page, .editor-form-page--guest) :is(.page-head h2, .guest-profile-hero h3) {
    font-family: "Rubik", sans-serif;
    font-weight: 500;
    letter-spacing: -.01em;
}
.app-shell :is(.guest-profile-page, .editor-form-page--guest) :is(.page-head, .guest-status-card, .profile-actions-bar, .editor-actions-bar) { background: var(--panel-strong); box-shadow: none; }
.app-shell :is(.guest-profile-page, .editor-form-page--guest) :is(.eyebrow, .sidebar-title, .status-chip, .btn, .guest-status-item strong) { font-weight: 500; }
.app-shell :is(.guest-profile-page, .editor-form-page--guest) .btn-primary { font-weight: 600; }
.app-shell :is(.guest-profile-page, .editor-form-page--guest) .form-grid label { font-weight: 500; }
.app-shell :is(.guest-profile-page, .editor-form-page--guest) .form-grid :is(input, select, textarea) { font-weight: 400; }
.app-shell :is(.guest-profile-page, .editor-form-page--guest) .btn { border-radius: 6px; box-shadow: none; }
.app-shell .guest-profile-page .guest-status-item { box-shadow: none; }

/* Registration-only chrome also follows AJAX navigation through :has(). */
.app-shell:has(.registration-workspace) {
    --desk-surface: #fffefa;
    --desk-soft: #f1f4f1;
    --desk-line: #e2e8e3;
    background: radial-gradient(ellipse at top left, rgba(15, 118, 110, .045), transparent 45%), #f1f3ef;
}
:root[data-theme="dark"] .app-shell:has(.registration-workspace) {
    --desk-surface: #192329;
    --desk-soft: #162025;
    --desk-line: #2d3c42;
    background: radial-gradient(ellipse at top left, rgba(26, 163, 148, .06), transparent 45%), #11191e;
}
.app-shell:has(.registration-workspace) :is(.header, .sidebar, .footer) {
    background: var(--desk-surface);
    border: 1px solid var(--desk-line);
    border-radius: 12px;
    box-shadow: none;
    backdrop-filter: none;
}
.app-shell:has(.registration-workspace) .content {
    background: transparent;
    border-color: transparent;
    border-radius: 0;
    box-shadow: none;
    backdrop-filter: none;
}
.app-shell:has(.registration-workspace) .event-name { font-family: "Rubik", sans-serif; font-weight: 400; letter-spacing: -.015em; }
.app-shell:has(.registration-workspace) .sidebar-card {
    background: transparent;
    border: 0;
    border-radius: 6px;
    box-shadow: none;
    transform: none;
}
.app-shell:has(.registration-workspace) .sidebar-card::before { display: none; }
.app-shell:has(.registration-workspace) .sidebar-card + .sidebar-card { border-top: 1px solid var(--desk-line); padding-top: 10px; }
.app-shell:has(.registration-workspace) .sidebar .quick-links .btn {
    background: var(--desk-soft);
    border: 1px solid var(--desk-line);
    border-radius: 6px;
    box-shadow: none;
    font-weight: 500;
}
.app-shell:has(.registration-workspace) .sidebar .quick-links .btn:hover { background: var(--accent-soft); border-color: var(--accent); }
.app-shell:has(.registration-workspace) .sidebar-hints .info-note { background: var(--desk-soft); border-color: var(--desk-line); box-shadow: none; border-radius: 6px; }
.app-shell:has(.registration-workspace) .nav-btn { border-radius: 6px; box-shadow: none; font-weight: 500; }
.app-shell:has(.registration-workspace) :is(.sidebar-title, .eyebrow) { font-weight: 500; letter-spacing: .06em; }
.app-shell:has(.registration-workspace) .sidebar .record-title { font-weight: 500; }
.app-shell:has(.registration-workspace) :is(.role-chip, .status-chip) { font-weight: 500; box-shadow: none; border-radius: 5px; }
.app-shell:has(.registration-workspace) .sidebar-hints .info-note strong { font-weight: 500; }
.app-shell:has(.registration-workspace) .footer { background: transparent; border: 0; }

/* Operator workspace: quieter surfaces, stronger type and a clear search focus. */
.app-shell .registration-workspace {
    --ops-surface: #fffefa;
    --ops-soft: #f4f7f5;
    --ops-line: #e2e8e3;
    --ops-muted: #55685e;
    --ops-accent: #0b7364;
    --ops-selected: #e2f2eb;
    --ops-shadow: 0 2px 6px rgba(28, 52, 42, .035);
    font-family: "Manrope", sans-serif;
}
:root[data-theme="dark"] .app-shell .registration-workspace {
    --ops-surface: #192329;
    --ops-soft: #202d33;
    --ops-line: #2d3c42;
    --ops-muted: #b2c4c5;
    --ops-accent: #57d9c2;
    --ops-selected: #23423f;
    --ops-shadow: none;
}
.app-shell .registration-workspace :is(.hero-card, .section-card, .results-shell, .compact-stat-card) {
    background: var(--ops-surface);
    border-color: var(--ops-line);
    box-shadow: var(--ops-shadow);
    backdrop-filter: none;
}
.app-shell .registration-workspace :is(.hero-card, .section-card, .stat-card):hover { transform: none; box-shadow: var(--ops-shadow); }
.app-shell .registration-workspace :is(.hero-card, .section-card)::before { display: none; }
.app-shell .registration-workspace :is(.page-head h2, .section-head h3, .stats-heading, .compact-stat-title) {
    font-family: "Rubik", sans-serif;
    font-weight: 400;
    letter-spacing: -.01em;
}
.app-shell .registration-workspace .registration-hero { padding: 5px 7px; border-radius: 10px; }
.app-shell .registration-workspace .registration-hero-head { background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.app-shell .registration-workspace .registration-hero-head::before { inset: 7px auto 7px 7px; width: 2px; box-shadow: none; }
.app-shell .registration-workspace .registration-hero-head h2 { font-size: 20px; font-weight: 500; }
.app-shell .registration-workspace .eyebrow { color: var(--ops-accent); letter-spacing: .09em; }
.app-shell .registration-workspace .registration-stats-card { background: transparent; border: 0; box-shadow: none; padding: 3px 4px; }
.app-shell .registration-workspace .registration-stat-item { border: 0; border-left: 1px solid var(--ops-line); background: transparent; border-radius: 0; box-shadow: none; backdrop-filter: none; }
.app-shell .registration-workspace .registration-stat-item .summary-label,
.app-shell .registration-workspace .registration-stats-title { color: var(--ops-muted); font-size: 10px; }
.app-shell .registration-workspace .registration-stat-item strong { font-family: "Manrope", sans-serif; font-weight: 500; font-size: 15px; font-variant-numeric: tabular-nums; line-height: 1.15; }
.app-shell .registration-workspace .registration-stat-item-updated strong { font-size: 11px; }
.app-shell .registration-workspace .btn { box-shadow: none; font-weight: 500; }
.app-shell .registration-workspace .btn-secondary { background: var(--ops-soft); border: 1px solid var(--ops-line); color: var(--text); }
.app-shell .registration-workspace .search-panel { border-left: 2px solid var(--ops-accent); border-radius: 10px; overflow: visible; }
/* Lift the whole panel, not only the popup, above subsequent result cards. */
.app-shell .registration-workspace .search-panel:has(.search-filter-help:hover),
.app-shell .registration-workspace .search-panel:has(.search-filter-help:focus-within) { z-index: 5; }
.app-shell .registration-workspace .search-panel .section-head h3 { font-size: 15px; font-weight: 400; }
.app-shell .registration-workspace #guestSearch { min-height: 34px; font-size: 14px; font-weight: 500; background: var(--ops-soft); border: 1px solid var(--ops-line); box-shadow: none; border-radius: 7px; color: var(--text); }
.app-shell .registration-workspace #guestSearch::placeholder { color: var(--ops-muted); opacity: 1; font-size: 12px; font-weight: 400; }
.app-shell .registration-workspace #guestSearch:focus { border-color: var(--ops-accent); background: var(--ops-surface); box-shadow: 0 0 0 2px color-mix(in srgb, var(--ops-accent) 18%, transparent); }
.app-shell .registration-workspace .search-filter-group .btn { min-height: 25px; padding: 3px 8px; border: 1px solid transparent; background: var(--ops-soft); color: var(--ops-muted); border-radius: 6px; }
.app-shell .registration-workspace .search-filter-group .btn.is-active { background: var(--ops-selected); color: var(--ops-accent); border-color: var(--ops-accent); }
.app-shell .registration-workspace .search-filter-group { padding: 2px; gap: 2px; border: 1px solid var(--ops-line); border-radius: 7px; background: var(--ops-soft); }
.app-shell .registration-workspace .search-filter-help__icon { border-color: var(--ops-line); color: var(--ops-muted); background: var(--ops-soft); width: 25px; height: 25px; font-weight: 500; box-shadow: none; }
.app-shell .registration-workspace .search-filter-help:focus-visible { outline: 2px solid var(--ops-accent); outline-offset: 2px; border-radius: 50%; }
.app-shell .registration-workspace .search-filter-help__popup {
    z-index: 10;
    width: min(360px, 84vw);
    max-height: min(320px, 55vh);
    overflow-y: auto;
    padding: 10px 12px;
    gap: 6px;
    border-radius: 8px;
    border-color: var(--ops-line);
    background: var(--ops-surface);
    color: var(--text);
    font-size: 12px;
    line-height: 1.5;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .16);
    scrollbar-width: thin;
}
.app-shell .registration-workspace .search-filter-help__popup strong { font-weight: 500; }
/* Keep hover continuous across the gap while moving into scrollable help. */
.app-shell .registration-workspace .search-filter-help::after { content: ""; position: absolute; top: 100%; right: 0; width: 25px; height: 10px; }
.app-shell .registration-workspace .timeline-shell { gap: 8px; }
.app-shell .registration-workspace .timeline-shell-head h3 { font-size: 14px; }
.app-shell .registration-workspace .timeline-overview-strip { gap: 7px; grid-template-columns: repeat(2, minmax(0, 265px)); }
.app-shell .registration-workspace .timeline-window-card { padding: 7px 9px; gap: 6px; background: var(--ops-soft); border-color: var(--ops-line); border-radius: 8px; box-shadow: none; backdrop-filter: none; }
.app-shell .registration-workspace .timeline-window-card .summary-label { font-size: 11px; color: var(--ops-muted); }
.app-shell .registration-workspace .timeline-window-range { font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; }
.app-shell .registration-workspace .timeline-collapse-btn { padding: 4px 8px; font-size: 11px; border-radius: 6px; background: var(--ops-soft); border-color: var(--ops-line); }
.app-shell .registration-workspace .stats-summary { background: var(--ops-soft); border-bottom: 1px solid var(--ops-line); }
.app-shell .registration-workspace .stats-heading { font-size: 15px; }
.app-shell .registration-workspace .compact-stat-title { font-size: 14px; font-weight: 400; }
.app-shell .registration-workspace .compact-stat-row { font-size: 11px; border-color: var(--ops-line); }
.app-shell .registration-workspace .compact-stat-row strong { font-family: "Manrope", sans-serif; font-size: 11px; font-weight: 500; font-variant-numeric: tabular-nums; }
.app-shell .registration-workspace .results-summary { background: var(--ops-soft); border-color: transparent; }
.app-shell .registration-workspace .record-title { font-size: 12px; font-weight: 500; }
.app-shell .registration-workspace .empty-state { background: var(--ops-soft); border-color: var(--ops-line); box-shadow: none; }
.app-shell .registration-workspace .empty-state strong { font-family: "Rubik", sans-serif; font-weight: 400; font-size: 14px; }
.app-shell .registration-workspace .empty-state::before { width: 28px; height: 28px; margin-bottom: 5px; border-radius: 7px; font-size: 18px; font-weight: 400; }
.app-shell .registration-workspace :is(.stats-summary-hint, .search-filter-label, .timeline-collapse-btn) { font-weight: 400; }
.app-shell .registration-workspace .table-wrap { background: var(--ops-surface); border-color: var(--ops-line); box-shadow: none; }
.app-shell .registration-workspace .data-table th { background: var(--ops-soft); color: var(--ops-muted); font-size: 10px; letter-spacing: .06em; box-shadow: none; }
.app-shell .registration-workspace .data-table td { border-color: var(--ops-line); }
.app-shell .registration-workspace .data-table tbody tr:nth-child(even) { background: color-mix(in srgb, var(--ops-soft) 45%, transparent); }
.app-shell .registration-workspace .data-table tbody tr:hover { background: var(--ops-selected); }
.app-shell .registration-workspace :is(.btn, .timeline-collapse-btn):focus-visible { outline: 2px solid var(--ops-accent); outline-offset: 2px; }
.app-shell .registration-workspace .registration-stats-title { font-size: 9px; letter-spacing: .06em; }
.app-shell .registration-workspace .registration-stat-item { text-align: left; padding-left: 10px; }
.app-shell .registration-workspace .registration-stat-item-updated strong,
.app-shell .registration-workspace #registrationStatTopOperator { font-size: 11px; }
.app-shell .registration-workspace .btn:not(.btn-secondary):not(.btn-danger) { background: #0b7364; color: #ffffff; border-radius: 6px; font-weight: 600; }
.app-shell .registration-workspace .btn:not(.btn-secondary):not(.btn-danger):hover { background: #095b50; }
.app-shell .registration-workspace .btn::after { display: none; }
.app-shell .registration-workspace .results-summary { background: transparent; padding-left: 0; }
.app-shell .registration-workspace :is(.table-wrap, .table-scroll) { animation: none; background: var(--ops-surface); box-shadow: none; border-radius: 7px; border-color: var(--ops-line); }
.app-shell .registration-workspace .data-table th { font-weight: 500; text-transform: none; letter-spacing: .01em; font-size: 11px; }
.app-shell .registration-workspace .data-table thead th:first-child,
.app-shell .registration-workspace .data-table thead th:last-child { border-radius: 0; }
.app-shell .registration-workspace .data-table td { color: var(--text); font-weight: 400; }
.app-shell .registration-workspace .data-table td[data-column="last_name"],
.app-shell .registration-workspace .data-table td[data-column="first_name"] { font-weight: 500; }
.app-shell .registration-workspace .data-table tbody tr:hover { box-shadow: inset 2px 0 var(--ops-accent); }
.app-shell .registration-workspace .data-table tbody tr:focus-within { background: var(--ops-selected); }
.app-shell .registration-workspace .row-actions .btn-secondary { background: transparent; font-weight: 500; }
.app-shell .registration-workspace .row-actions .btn-secondary:hover { border-color: var(--ops-accent); color: var(--ops-accent); background: var(--ops-selected); }
.app-shell .registration-workspace .timeline-window-card { border-left: 2px solid var(--ops-line); }
.app-shell .registration-workspace .compact-stat-title { padding-bottom: 5px; border-bottom: 1px solid var(--ops-line); }
@media (min-width: 1201px) {
    .app-shell .registration-workspace .registration-hero-grid { grid-template-columns: minmax(340px, .85fr) minmax(0, 1.15fr); }
}
@media (max-width: 860px) {
    .app-shell .registration-workspace #guestSearch { font-size: 16px; min-height: 36px; }
    .app-shell .registration-workspace .search-filter-row--primary { width: 100%; }
    .app-shell .registration-workspace .search-filter-group .btn { min-height: 32px; }
    .app-shell .registration-workspace .timeline-overview-strip { grid-template-columns: minmax(0, 1fr); }
}
