        :root {
            --marquee-black: #161312;
            --marquee-amber: #f2a900;
            --stub-cream: #f7f0e3;
            --stub-line: #d9cdb8;
            --ink: #2b2622;
            --muted: #8a7f70;
            --available: #2f6f4f;
            --returned: #c1432a;
            --new: #2f5d8a;
        }

        * { box-sizing: border-box; }

        html {
            max-width: 100%;
            overflow-x: hidden;
        }

        [hidden] {
            display: none !important;
        }

        body {
            margin: 0;
            font-family: 'Georgia', 'Times New Roman', serif;
            background: var(--stub-cream);
            color: var(--ink);
            min-height: 100vh;
            max-width: 100%;
            overflow-x: hidden;
        }

        header.marquee {
            background: var(--marquee-black);
            color: var(--stub-cream);
            padding: 1.5rem 2rem;
            border-bottom: 6px solid var(--marquee-amber);
            display: flex;
            align-items: center;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 0.85rem 1.25rem;
        }

        header.marquee h1 {
            font-family: 'Futura', 'Trebuchet MS', sans-serif;
            font-weight: 700;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            font-size: 1.4rem;
            margin: 0;
        }

        header.marquee h1 span {
            color: var(--marquee-amber);
        }

        header.marquee nav a {
            color: var(--stub-cream);
            text-decoration: none;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            margin-left: 1.5rem;
            border-bottom: 1px solid transparent;
            padding-bottom: 2px;
            transition: border-color 0.15s ease;
        }

        header.marquee nav a:hover,
        header.marquee nav a:focus-visible {
            border-color: var(--marquee-amber);
        }

        header.marquee nav {
            display: flex;
            align-items: center;
            flex-wrap: wrap;
            justify-content: flex-end;
            gap: 0.55rem;
        }

        header.marquee nav a {
            margin-left: 0;
            padding: 0.38rem 0.55rem 0.32rem;
            border: none;
            border-radius: 3px;
        }

        header.marquee nav a:hover,
        header.marquee nav a:focus-visible {
            border-color: rgba(242, 169, 0, 0.75);
        }

        .nav-logout-form {
            margin: 0;
            display: inline-flex;
        }

        .nav-logout-button {
            background: transparent;
            color: var(--stub-cream);
            padding: 0.38rem 0.55rem 0.32rem;
            border-radius: 3px;
            border: none;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .nav-logout-button:hover,
        .nav-logout-button:focus-visible {
            border-color: rgba(242, 169, 0, 0.75);
        }

        main {
            max-width: 920px;
            margin: 0 auto;
            padding: 2rem 1.5rem 4rem;
            width: 100%;
            overflow-x: clip;
        }

        .ticket-stub {
            --ticket-cutout-top: 12px;
            --ticket-cutout-track-height: calc(100% - (var(--ticket-cutout-top) * 2));
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 4px;
            padding: 1.25rem 1.75rem;
            margin-bottom: 1rem;
            position: relative;
            box-shadow: 0 1px 0 var(--stub-line);
            overflow: visible;
            isolation: isolate;
        }

        .listener-card {
            contain: layout style;
        }

        .ticket-stub > * {
            position: relative;
            z-index: 1;
        }

        .ticket-stub::before {
            content: "";
            position: absolute;
            left: -1px;
            top: var(--ticket-cutout-top);
            height: var(--ticket-cutout-track-height);
            max-height: calc(100% - (var(--ticket-cutout-top) * 2));
            width: 9px;
            background:
                radial-gradient(circle at left center, var(--stub-cream) 0 6.5px, var(--stub-line) 6.6px 7.5px, transparent 7.6px) left top / 9px 32px repeat-y;
            pointer-events: none;
            z-index: 2;
        }

        .ticket-stub::after {
            content: "";
            position: absolute;
            right: -1px;
            top: var(--ticket-cutout-top);
            height: var(--ticket-cutout-track-height);
            max-height: calc(100% - (var(--ticket-cutout-top) * 2));
            width: 9px;
            background:
                radial-gradient(circle at right center, var(--stub-cream) 0 6.5px, var(--stub-line) 6.6px 7.5px, transparent 7.6px) right top / 9px 32px repeat-y;
            pointer-events: none;
            z-index: 2;
        }

        .section-label {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.78rem;
            letter-spacing: 0.22em;
            text-transform: uppercase;
            color: var(--muted);
            margin: 2.5rem 0 1rem;
            display: flex;
            align-items: center;
            gap: 0.75rem;
        }

        .section-label::after {
            content: "";
            flex: 1;
            height: 1px;
            background: var(--stub-line);
        }

        .listener-title {
            font-size: 1.15rem;
            font-weight: 700;
            margin: 0 0 0.25rem;
        }

        .listener-meta {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
            color: var(--muted);
            line-height: 1.6;
        }

        .date-range-tag {
            display: inline-block;
            margin: 0.25rem 0;
            padding: 0.34rem 0.62rem;
            border-radius: 3px;
            background: #ddeee2;
            color: var(--available);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.7rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            line-height: 1.25;
            text-transform: uppercase;
        }

        .watching-seats {
            margin-top: 0.25rem;
        }

        .watching-seat-list {
            display: block;
            margin-top: 0.08rem;
        }

        .listener-refresh-line {
            margin-top: 0.25rem;
        }

        .listener-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 1rem;
            position: relative;
            z-index: 5;
            overflow: visible;
        }

        .listener-header-main {
            flex: 1;
            min-width: 0;
            position: relative;
            z-index: 10;
        }

        /* Mini seatmap visualizer - quick visual of which seats are
           prioritized for this listener, relative to the auditorium */
        .mini-seatmap {
            --seatmap-pad-x: 0.3rem;
            --seatmap-pad-y: var(--seatmap-pad-x);
            flex-shrink: 0;
            width: 320px;
            max-width: 100%;
            min-width: 40%;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: var(--seatmap-pad-y) var(--seatmap-pad-x);
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 4px;
            cursor: default;
            box-sizing: border-box;
            contain: layout style;
        }

        .mini-seatmap-row {
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 0.5fr) minmax(0, var(--seat-columns-fr)) minmax(0, 0.5fr) minmax(0, 1fr);
            align-items: stretch;
            width: 100%;
            margin-top: var(--seat-row-gap);
        }

        .mini-seatmap-row-spacer {
            min-height: 0.55rem;
        }

        .mini-seatmap-row:first-child {
            margin-top: 0;
        }

        .mini-seatmap-row-label {
            flex-shrink: 0;
            min-width: 0;
            container-type: size;
            display: flex;
            align-items: center;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            overflow: visible;
            position: relative;
            height: 100%;
            max-height: 100%;
            min-height: 0;
        }

        .mini-seatmap-row-label.label-left {
            grid-column: 1;
        }

        .mini-seatmap-row-label.label-right {
            grid-column: 5;
        }

        .mini-seatmap-row-label span {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            width: 100%;
            height: 100%;
            font-size: clamp(1px, 100cqh, 0.85rem);
            line-height: 1;
            max-height: none;
            overflow: visible;
            transition: none;
        }

        .mini-seatmap-row-label.label-left span {
            justify-content: flex-end;
            text-align: right;
        }

        .mini-seatmap-row-label.label-right span {
            justify-content: flex-start;
            text-align: left;
        }

        .mini-seatmap-row-seats {
            grid-column: 3;
            display: grid;
            grid-template-columns: repeat(var(--seat-columns), minmax(0, var(--seat-size)));
            gap: var(--seat-gap);
            align-items: start;
            justify-items: stretch;
            justify-content: center;
            width: 100%;
            min-width: 0;
            margin: 0;
        }

        .mini-seat {
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 1 / 1;
            min-width: 0;
            min-height: 0;
            border: none;
            outline: none;
            border-radius: 20%;
            background: #fff;
            box-sizing: border-box;
            position: relative;
            container-type: inline-size;
        }

        .mini-seat-pref {
            background: var(--marquee-amber);
        }

        .mini-seat-gap {
            background: transparent;
        }

        /* Per-showtime seatmap cell states */
        .mini-seat-standard {
            background: #ece4d3;
        }

        .mini-seat-sold-context {
            background: #ece4d3;
        }

        .mini-seat-pref-available {
            background: var(--available);
        }

        .mini-seat-pref-unavailable {
            background: var(--returned);
        }

        .mini-seat-sold-context::before {
            content: "";
            position: absolute;
            inset: 20%;
            background: #8c8274;
            clip-path: polygon(
                14% 0,
                50% 36%,
                86% 0,
                100% 14%,
                64% 50%,
                100% 86%,
                86% 100%,
                50% 64%,
                14% 100%,
                0 86%,
                36% 50%,
                0 14%
            );
        }

        .badge {
            display: inline-block;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.7rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            padding: 0.2rem 0.55rem;
            border-radius: 3px;
            margin-right: 0.35rem;
            margin-top: 0.4rem;
        }

        .badge-format { background: #ece4d3; color: var(--ink); }
        .badge-inactive { background: #efe1d1; color: var(--muted); }

        .stub-actions {
            margin-top: 0.75rem;
            display: flex;
            flex-wrap: wrap;
            gap: 0.5rem;
            max-width: 100%;
        }

        .stub-actions form {
            margin: 0;
            flex: 0 1 auto;
        }

        button, .btn {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.8rem;
            font-weight: 400;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            padding: 0.45rem 0.9rem;
            border-radius: 3px;
            border: 1px solid var(--ink);
            background: var(--ink);
            color: var(--stub-cream);
            cursor: pointer;
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            line-height: 1.2;
            transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
        }

        button:hover:not(:disabled),
        button:focus-visible:not(:disabled),
        .btn:hover,
        .btn:focus-visible {
            background: #241f1c;
            border-color: var(--marquee-amber);
            color: var(--stub-cream);
            box-shadow: 0 1px 0 rgba(0,0,0,0.16), inset 0 0 0 1px rgba(242, 169, 0, 0.22);
        }

        button.secondary, .btn.secondary {
            background: transparent;
            color: var(--ink);
        }

        button.secondary:hover:not(:disabled),
        button.secondary:focus-visible:not(:disabled),
        .btn.secondary:hover,
        .btn.secondary:focus-visible {
            background: #fff8e7;
            border-color: var(--marquee-amber);
            color: var(--ink);
        }

        button.danger {
            background: var(--returned);
            border-color: var(--returned);
        }

        button.danger:hover:not(:disabled),
        button.danger:focus-visible:not(:disabled) {
            background: #9f321e;
            border-color: #9f321e;
            color: #fff;
        }

        .modal-backdrop {
            position: fixed;
            inset: 0;
            display: none;
            align-items: center;
            justify-content: center;
            padding: 1.5rem;
            background: rgba(22, 19, 18, 0.48);
            z-index: 2000;
            max-width: 100vw;
            overflow: hidden;
        }

        .modal-backdrop.open {
            display: flex;
        }

        .confirm-modal {
            width: min(420px, 100%);
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 6px;
            box-shadow: 0 14px 36px rgba(0,0,0,0.22);
            padding: 1.1rem;
        }

        .confirm-modal-title {
            margin: 0 0 0.35rem;
            font-size: 1.1rem;
        }

        .confirm-modal-copy {
            margin: 0;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.86rem;
            line-height: 1.45;
        }

        .confirm-modal-actions {
            display: flex;
            justify-content: flex-end;
            gap: 0.5rem;
            margin-top: 1rem;
        }

        .refresh-detail-backdrop {
            background: rgba(22, 19, 18, 0.34);
        }

        .refresh-detail-modal {
            position: relative;
            width: min(440px, 100%);
            max-height: min(620px, calc(100vh - 2rem));
            overflow: hidden;
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 6px;
            box-shadow: 0 14px 36px rgba(0,0,0,0.22);
            padding: 1rem;
            color: var(--ink);
            min-width: 0;
        }

        .refresh-detail-close {
            position: absolute;
            top: 0.55rem;
            right: 0.55rem;
            width: 1.75rem;
            height: 1.75rem;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            padding: 0;
            border-radius: 50%;
            border-color: var(--stub-line);
            background: #fff;
            color: var(--muted);
            font-size: 0.9rem;
            line-height: 1;
            text-transform: none;
            letter-spacing: 0;
        }

        .refresh-detail-content {
            max-height: calc(min(620px, 100vh - 2rem) - 2rem);
            overflow-y: auto;
            overflow-x: hidden;
            padding-right: 0.15rem;
            width: 100%;
            max-width: 100%;
            min-width: 0;
        }

        .refresh-detail-content *,
        .refresh-popover * {
            max-width: 100%;
            min-width: 0;
            overflow-wrap: anywhere;
            word-break: normal;
        }

        .refresh-detail-content .refresh-popover-title {
            padding-right: 2rem;
            flex-wrap: wrap;
        }

        .refresh-detail-content .refresh-check-list {
            max-height: none;
            overflow: visible;
        }

        .empty-state {
            text-align: center;
            padding: 2.5rem 1rem;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.9rem;
        }

        .login-shell {
            max-width: 440px;
            margin: 0 auto;
        }

        .login-card {
            padding: 1.5rem;
        }

        .form-error {
            margin-top: 0.45rem;
            color: var(--returned);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.8rem;
        }

        .alert-row {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 1rem;
            padding: 0.6rem 0;
            border-bottom: 1px solid var(--stub-line);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
        }

        .alert-row:last-child { border-bottom: none; }

        .alert-topline {
            display: none;
        }

        .alert-main {
            display: flex;
            align-items: flex-start;
            gap: 0.6rem;
            min-width: 0;
        }

        .alert-message {
            line-height: 1.4;
        }

        .alert-type {
            font-size: 0.7rem;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            padding: 0.15rem 0.5rem;
            border-radius: 3px;
            white-space: nowrap;
            height: fit-content;
            flex-shrink: 0;
        }

        .alert-type-new_showtime { background: #dde8f2; color: var(--new); }
        .alert-type-tickets_returned { background: #f6dcd4; color: var(--returned); }
        .alert-type-seat_zone_match { background: #ddeee2; color: var(--available); }
        .alert-type-catalog_new_movie { background: #fff1cc; color: #9a6700; }
        .alert-type-catalog_advance_tickets { background: #dde8f2; color: var(--new); }

        .alert-time {
            color: var(--muted);
            white-space: nowrap;
            font-size: 0.78rem;
            flex-shrink: 0;
        }

        .more-alerts {
            margin-top: 0.4rem;
        }

        .more-alerts > summary {
            cursor: pointer;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.8rem;
            color: var(--muted);
            padding: 0.4rem 0;
            list-style: none;
        }

        .more-alerts > summary::-webkit-details-marker {
            display: none;
        }

        .more-alerts > summary::before {
            content: "▸ ";
        }

        .more-alerts[open] > summary::before {
            content: "▾ ";
        }

        .more-alerts > summary:hover {
            color: var(--marquee-amber);
        }

        .more-alerts .alert-row:first-of-type {
            border-top: 1px dashed var(--stub-line);
            padding-top: 0.6rem;
        }

        .top-bar {
            display: flex;
            justify-content: space-between;
            align-items: center;
            flex-wrap: wrap;
            gap: 0.75rem;
            margin-bottom: 1rem;
        }

        .theatre-filter {
            display: flex;
            flex-wrap: wrap;
            gap: 0.45rem;
            align-items: center;
            margin: 0 0 1rem;
            padding: 0.65rem 0;
            border-top: 1px dashed var(--stub-line);
            border-bottom: 1px dashed var(--stub-line);
        }

        .theatre-filter-top {
            margin-top: 0;
        }

        .theatre-filter-chip {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 0.45rem;
            background: #fff;
            color: var(--muted);
            border-color: var(--stub-line);
            padding: 0.36rem 0.65rem;
            font-size: 0.72rem;
            letter-spacing: 0.04em;
            font-weight: 400;
            min-width: 0;
            max-width: 100%;
        }

        .theatre-filter-name,
        .theatre-filter-count {
            white-space: nowrap;
        }

        .theatre-filter-name {
            overflow: hidden;
            text-overflow: ellipsis;
        }

        .theatre-filter-count {
            flex-shrink: 0;
        }

        .theatre-filter-chip.active {
            background: var(--ink);
            color: var(--stub-cream);
            border-color: var(--ink);
        }

        .theatre-filter-chip:hover:not(:disabled),
        .theatre-filter-chip:focus-visible:not(:disabled) {
            border-color: var(--marquee-amber);
            background: #fff8e7;
            color: var(--ink);
        }

        .theatre-filter-chip.active:hover:not(:disabled),
        .theatre-filter-chip.active:focus-visible:not(:disabled) {
            background: #241f1c;
            border-color: var(--marquee-amber);
            color: var(--stub-cream);
            box-shadow: inset 0 0 0 1px rgba(242, 169, 0, 0.22);
        }

        .top-bar .section-label {
            margin: 0;
            align-self: center;
        }

        form.inline {
            display: flex;
            align-items: center;
            margin: 0;
        }

        label {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.8rem;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--muted);
            display: block;
            margin-bottom: 0.3rem;
        }

        input, select {
            font-family: 'Georgia', serif;
            font-size: 0.95rem;
            padding: 0.5rem 0.6rem;
            border: 1px solid var(--stub-line);
            border-radius: 3px;
            background: #fff;
            color: var(--ink);
            width: 100%;
        }

        input:focus, select:focus {
            outline: 2px solid var(--marquee-amber);
            outline-offset: 1px;
        }

        .field-group {
            margin-bottom: 1.1rem;
        }

        .field-row {
            display: flex;
            gap: 1rem;
        }

        .field-row > .field-group {
            flex: 1;
        }

        .listener-options-row {
            display: grid;
            grid-template-columns: minmax(260px, 1fr) minmax(260px, 1fr);
            gap: 1rem;
            align-items: start;
        }

        .checkbox-row {
            display: flex;
            align-items: center;
            gap: 0.4rem;
            margin-bottom: 0.3rem;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.9rem;
        }

        .checkbox-row input { width: auto; }

        .help-text {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.78rem;
            color: var(--muted);
            margin-top: 0.3rem;
        }

        .readonly-field {
            font-family: 'Georgia', serif;
            font-size: 1rem;
            padding: 0.5rem 0.7rem;
            background: #f4efe4;
            border: 1px solid var(--stub-line);
            border-radius: 4px;
            color: var(--ink);
        }

        #title-suggestions {
            margin-top: 0.5rem;
        }

        .popular-movies {
            display: flex;
            flex-wrap: wrap;
            gap: 0.35rem;
            align-content: flex-start;
            margin-bottom: 0.75rem;
            width: 100%;
        }

        .listener-poll-row {
            display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 0.55rem;
            margin-bottom: 0.75rem;
        }

        .create-listener-top-bar .listener-poll-row {
            margin-bottom: 0;
            justify-content: flex-end;
        }

        .listener-poll-row .help-text {
            margin-top: 0;
        }

        .choice-grid {
            display: flex;
            flex-wrap: wrap;
            gap: 0.4rem;
        }

        .movie-pick,
        .choice-cell {
            width: auto;
            max-width: 100%;
            padding: 0.32rem 0.55rem;
            border-color: var(--stub-line);
            background: #f4efe4;
            color: var(--ink);
            font-size: 0.68rem;
            letter-spacing: 0.03em;
            line-height: 1.2;
            text-align: left;
            text-transform: none;
            white-space: normal;
        }

        .movie-pick:hover,
        .movie-pick.selected,
        .choice-cell:hover,
        .choice-cell.selected {
            border-color: var(--marquee-amber);
            background: #fff8e7;
        }

        /* Matching showtimes inside a listener card */
        .matches-section {
            margin-top: 1rem;
            padding-top: 0.75rem;
            border-top: 1px dashed var(--stub-line);
            overflow: visible;
        }

        .listener-card:hover,
        .listener-card:focus-within,
        .listener-card.refresh-popover-open {
            z-index: 200;
        }

        .listener-card.refresh-popover-open {
            z-index: 2600;
        }

        .matches-label {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.75rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 0.6rem;
        }

        .no-matches {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
            color: var(--muted);
            font-style: italic;
        }

        .showtime-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
            gap: 0.6rem;
            overflow: visible;
        }

        @media (max-width: 600px) {
            .showtime-grid {
                grid-template-columns: 1fr;
            }

            .stub-actions > form,
            .stub-actions > .btn {
                flex: 1 1 100%;
                min-width: 0;
            }

            .stub-actions > .listener-pause-form,
            .stub-actions > .remove-listener-form {
                flex-basis: calc(50% - 0.25rem);
            }

            .stub-actions button,
            .stub-actions .btn {
                width: 100%;
                text-align: center;
            }

            /* Stack the info block above the seatmap, and let the seatmap
               scale up to fill the tile's width, when there isn't enough
               horizontal room for both side by side. */
            .showtime-tile {
                flex-direction: column;
                align-items: stretch;
            }

            .showtime-tile-info {
                white-space: normal;
                align-items: center;
                text-align: center;
            }

            .showtime-tile .date-label,
            .showtime-tile .time-label {
                white-space: normal;
            }

            .showtime-seatmap {
                width: 100%;
                max-width: none;
            }

            .seatmap-popover {
                display: none;
            }

            .showtime-seat-tags {
                display: block;
            }

            /* Stack the listener-header mini seatmap below the text,
               same as showtime tiles, when there isn't enough horizontal
               room for both side by side. */
            .listener-header {
                flex-direction: column;
                align-items: stretch;
            }

            .mini-seatmap {
                width: 100%;
                max-width: none;
            }

            header.marquee {
                padding: 1rem;
                align-items: flex-start;
            }

            header.marquee h1 {
                width: 100%;
                text-align: left;
                font-size: 1.15rem;
            }

            header.marquee nav {
                width: 100%;
                display: grid;
                grid-template-columns: repeat(2, minmax(0, 1fr));
                gap: 0.45rem;
            }

            header.marquee nav a,
            .nav-logout-form,
            .nav-logout-button {
                width: 100%;
            }

            header.marquee nav a,
            .nav-logout-button {
                text-align: center;
                border-color: rgba(247, 240, 227, 0.22);
                background: rgba(255, 255, 255, 0.04);
            }

            .theatre-filter {
                align-items: stretch;
            }

            .theatre-filter-chip {
                width: 100%;
                justify-content: center;
                text-align: center;
                white-space: nowrap;
            }

            .theatre-filter-name,
            .theatre-filter-count {
                white-space: nowrap;
            }

            .alert-row {
                flex-direction: column;
                gap: 0.4rem;
            }

            .alert-row > .alert-time,
            .alert-main > .alert-type {
                display: none;
            }

            .alert-topline {
                width: 100%;
                display: flex;
                align-items: center;
                justify-content: space-between;
                gap: 0.75rem;
            }

            .alert-main {
                width: 100%;
            }
        }

        .showtime-tile {
            position: relative;
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.75rem;
            padding: 0.75rem;
            border: 1px solid var(--stub-line);
            border-radius: 6px;
            background: #fff;
            text-decoration: none;
            color: var(--ink);
            font-family: 'Trebuchet MS', sans-serif;
            min-height: 76px;
            transition: border-color 0.15s ease;
            contain: layout style;
        }

        .showtime-tile:hover {
            border-color: var(--marquee-amber);
            z-index: 300;
        }

        .showtime-tile-info {
            display: flex;
            flex-direction: column;
            gap: 0.15rem;
            flex-shrink: 0;
            white-space: nowrap;
        }

        .showtime-tile .date-label {
            font-size: 0.68rem;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            color: var(--muted);
            line-height: 1.3;
            white-space: nowrap;
        }

        .showtime-tile .time-label {
            font-size: 1rem;
            font-weight: 700;
            font-family: 'Georgia', serif;
            white-space: nowrap;
        }

        .showtime-tile .seat-count {
            font-size: 0.68rem;
            color: var(--muted);
        }

        .showtime-tile.status-low_availability {
            border-color: var(--marquee-amber);
        }

        .showtime-tile.status-low_availability .seat-count {
            color: var(--marquee-amber);
            font-weight: 700;
        }

        .relative-day-tag {
            display: inline-block;
            margin-top: 0.2rem;
            background: var(--marquee-amber);
            color: #fff;
            font-weight: 700;
            font-size: 0.65rem;
            letter-spacing: 0.04em;
            text-transform: uppercase;
            padding: 0.1rem 0.35rem;
            border-radius: 3px;
            width: fit-content;
        }

        /* Per-showtime mini seatmap + hover popover */
        .showtime-seatmap {
            --seatmap-pad-x: 0.3rem;
            --seatmap-pad-y: var(--seatmap-pad-x);
            position: relative;
            flex: 1 1 0;
            min-width: 0;
            max-width: 100%;
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: var(--seatmap-pad-y) var(--seatmap-pad-x);
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 4px;
            box-sizing: border-box;
            text-decoration: none;
            color: inherit;
            contain: layout style;
            content-visibility: auto;
            contain-intrinsic-size: 220px 180px;
        }

        .seatmap-popover {
            display: none;
            position: absolute;
            top: calc(100% + 6px);
            right: 0;
            z-index: 400;
            min-width: 140px;
            max-width: 220px;
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 6px;
            box-shadow: 0 4px 12px rgba(0,0,0,0.15);
            padding: 0.5rem 0.6rem;
            text-align: left;
        }

        .showtime-seatmap:hover ~ .seatmap-popover {
            display: block;
        }

        .seatmap-popover-title {
            font-size: 0.7rem;
            letter-spacing: 0.06em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 0.35rem;
        }

        .seatmap-popover .seat-pill {
            margin: 0 0.2rem 0.2rem 0;
            display: inline-block;
        }

        .showtime-seat-tags {
            display: none;
            width: 100%;
            margin-top: 0.1rem;
        }

        .showtime-seat-tags-toggle {
            display: block;
            width: 100%;
            padding: 0.35rem 0.45rem;
            border: 1px solid var(--stub-line);
            border-radius: 3px;
            background: #fdfaf2;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.72rem;
            font-weight: 700;
            letter-spacing: 0.04em;
            text-transform: uppercase;
        }

        .showtime-seat-tags-summary {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 0.5rem;
            width: 100%;
        }

        .showtime-seat-tags-arrow {
            line-height: 1;
            transition: transform 0.15s ease;
        }

        .showtime-seat-tags.open .showtime-seat-tags-arrow {
            transform: rotate(180deg);
        }

        .showtime-seat-tags-panel {
            display: none;
            flex-wrap: wrap;
            gap: 0.35rem;
            width: 100%;
            margin-top: 0.4rem;
            padding-top: 0.4rem;
            border-top: 1px dashed var(--stub-line);
            text-transform: none;
            letter-spacing: 0;
        }

        .showtime-seat-tags.open .showtime-seat-tags-panel {
            display: flex;
        }

        .showtime-seat-tags-group {
            width: 100%;
            min-width: 0;
        }

        .showtime-seat-tags-heading {
            color: var(--muted);
            font-size: 0.64rem;
            letter-spacing: 0.05em;
            text-transform: uppercase;
            margin-bottom: 0.3rem;
        }

        .showtime-seat-tags-list {
            display: flex;
            flex-wrap: wrap;
            gap: 0.25rem;
            width: 100%;
        }

        .showtime-seat-tags-group + .showtime-seat-tags-group {
            padding-top: 0.45rem;
            margin-top: 0.1rem;
            border-top: 1px dashed var(--stub-line);
        }

        .last-checked {
            font-size: 0.75rem;
            font-style: italic;
            opacity: 0.8;
        }

        .listener-refresh-status:empty {
            display: none;
        }

        .matches-section-loading {
            min-height: 8.5rem;
        }

        .results-loading-panel {
            min-height: 7.5rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            gap: 0.75rem;
            border: 1px dashed var(--stub-line);
            border-radius: 6px;
            background: #fdfaf2;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.86rem;
            font-style: italic;
        }

        .loading-pinwheel {
            width: 1.6rem;
            height: 1.6rem;
            border: 3px solid #efe7d8;
            border-top-color: var(--marquee-amber);
            border-radius: 50%;
            animation: pinwheel 0.8s linear infinite;
        }

        .refresh-inline-error {
            margin-bottom: 0.6rem;
            padding: 0.55rem 0.65rem;
            border: 1px solid #eed1c8;
            border-radius: 4px;
            background: #fff5f1;
            color: var(--returned);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.82rem;
        }

        @keyframes pinwheel {
            to { transform: rotate(360deg); }
        }

        .refresh-info {
            display: inline-block;
            position: relative;
            margin-left: 0.35rem;
            vertical-align: middle;
            z-index: 900;
        }

        .refresh-info::after {
            content: "";
            display: none;
            position: absolute;
            top: 100%;
            left: -0.75rem;
            width: min(380px, calc(100vw - 2rem));
            height: 0.8rem;
            z-index: 1000;
        }

        .refresh-info:hover,
        .refresh-info.open {
            z-index: 2500;
        }

        .refresh-info:hover::after {
            display: block;
        }

        .refresh-info-trigger {
            width: 1.25rem;
            height: 1.25rem;
            border: 1px solid var(--stub-line);
            border-radius: 50%;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.72rem;
            font-style: normal;
            font-weight: 700;
            color: var(--muted);
            background: #fff;
            cursor: pointer;
            position: relative;
            padding: 0;
            text-transform: none;
            letter-spacing: 0;
        }

        .refresh-warning-dot {
            position: absolute;
            right: -2px;
            top: -2px;
            width: 0.42rem;
            height: 0.42rem;
            border-radius: 50%;
            background: var(--returned);
            border: 1px solid #fff;
        }

        .refresh-popover {
            display: none;
            position: absolute;
            top: calc(100% + 0.65rem);
            left: var(--refresh-popover-left, 0);
            z-index: 2501;
            width: min(360px, calc(100vw - 3rem));
            background: rgba(255, 255, 255, 0.98);
            border: 1px solid var(--stub-line);
            border-radius: 6px;
            box-shadow: 0 6px 18px rgba(0,0,0,0.12);
            padding: 0.65rem;
            font-style: normal;
            color: var(--ink);
        }

        .refresh-info:hover .refresh-popover {
            display: block;
        }

        .refresh-popover-title {
            display: flex;
            justify-content: space-between;
            gap: 0.75rem;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.68rem;
            letter-spacing: 0.08em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 0.45rem;
        }

        .refresh-fail-note {
            color: var(--returned);
            white-space: normal;
        }

        .refresh-check-list {
            max-height: 260px;
            overflow-y: auto;
            padding-right: 0.2rem;
        }

        .refresh-check-row {
            padding: 0.42rem 0;
            border-top: 1px solid #efe7d8;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.78rem;
        }

        .refresh-check-row:first-child {
            border-top: none;
        }

        .refresh-check-date {
            color: var(--ink);
            font-weight: 700;
            overflow-wrap: anywhere;
        }

        .refresh-check-meta {
            color: var(--muted);
            margin-top: 0.08rem;
            overflow-wrap: anywhere;
        }

        .refresh-check-failed .refresh-check-date,
        .refresh-check-failed .refresh-check-meta {
            color: var(--returned);
        }

        .refresh-check-error {
            margin-top: 0.2rem;
            color: var(--muted);
            font-size: 0.7rem;
            line-height: 1.35;
            word-break: break-word;
        }

        .suggestion {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 0.5rem 0.75rem;
            border: 1px solid var(--stub-line);
            border-radius: 3px;
            margin-bottom: 0.35rem;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
            cursor: pointer;
            background: #fff;
        }

        .suggestion:hover { border-color: var(--marquee-amber); }

        .suggestion.selected {
            border-color: var(--available);
            background: #f1f8f4;
        }

        .preset-select {
            font-family: 'Trebuchet MS', sans-serif;
        }

        #theatre-suggestions {
            margin-top: 0.5rem;
        }

        .theatre-suggestion > span:first-child {
            display: flex;
            flex-direction: column;
            gap: 0.12rem;
            min-width: 0;
        }

        .theatre-suggestion strong {
            color: var(--ink);
            font-size: 0.86rem;
            font-weight: 700;
        }

        .theatre-suggestion-meta {
            color: var(--muted);
            font-size: 0.74rem;
        }

        .theatre-format-tags {
            display: flex;
            flex-wrap: wrap;
            gap: 0.25rem;
            margin-top: 0.25rem;
        }

        .theatre-suggestion-side {
            display: flex;
            flex-direction: column;
            align-items: flex-end;
            gap: 0.35rem;
            flex-shrink: 0;
        }

        .theatre-added-tag,
        .theatre-option-action {
            display: inline-flex;
            align-items: center;
            width: fit-content;
            padding: 0.14rem 0.38rem;
            border-radius: 3px;
            background: #ddeee2;
            color: var(--available);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.62rem;
            font-weight: 700;
            letter-spacing: 0.08em;
            line-height: 1.15;
        }

        .theatre-option-action {
            border: 1px solid #d8e2d7;
            cursor: pointer;
            text-transform: uppercase;
            background: #eef6ef;
            color: var(--available);
        }

        .theatre-option-action:hover:not(:disabled),
        .theatre-option-action:focus-visible:not(:disabled) {
            background: #ddeee2;
            border-color: var(--available);
            color: var(--available);
        }

        .theatre-option-action.added {
            background: #ddeee2;
            color: var(--available);
        }

        .theatre-option-action.added:hover:not(:disabled),
        .theatre-option-action.added:focus-visible:not(:disabled) {
            background: #f6dcd4;
            border-color: var(--returned);
            color: var(--returned);
        }

        .theatre-option-action.loading {
            opacity: 0.72;
            cursor: wait;
        }

        .theatre-format-tag {
            display: inline-flex;
            align-items: center;
            width: fit-content;
            padding: 0.12rem 0.34rem;
            border: 1px solid #d8e2d7;
            border-radius: 3px;
            background: #eef6ef;
            color: var(--available);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.64rem;
            font-weight: 700;
            line-height: 1.15;
            white-space: nowrap;
        }

        .manual-entry-section {
            margin-top: 1.35rem;
            padding-top: 1rem;
            border-top: 1px dashed var(--stub-line);
        }

        .manual-entry-title {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.72rem;
            letter-spacing: 0.12em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 0.75rem;
        }

        .theatre-help-card {
            margin-top: 1rem;
            padding: 0.85rem 1rem;
            border: 1px dashed var(--stub-line);
            border-radius: 4px;
            background: #fdfaf2;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.82rem;
            line-height: 1.45;
        }

        .theatre-help-card p {
            margin: 0 0 0.45rem;
        }

        .theatre-help-card p:last-child {
            margin-bottom: 0;
        }

        .confidence {
            color: var(--muted);
            font-size: 0.78rem;
        }

        /* Seat map picker */
        .seat-map-wrapper {
            --seatmap-pad-x: 0.5rem;
            --seatmap-pad-y: var(--seatmap-pad-x);
            padding: var(--seatmap-pad-y) var(--seatmap-pad-x);
            background: #fff;
            border: 1px solid var(--stub-line);
            border-radius: 4px;
            box-sizing: border-box;
            overflow: hidden;
            contain: layout style;
        }

        .seat-map-screen {
            text-align: center;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.7rem;
            letter-spacing: 0.3em;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 1rem;
            padding-bottom: 0.5rem;
            border-bottom: 3px solid var(--stub-line);
        }

        .seat-map-row {
            --seat-columns: 1;
            --seat-columns-fr: 1fr;
            --seat-size: 100%;
            --seat-gap: 0%;
            --seat-row-gap: 0%;
            display: grid;
            grid-template-columns: minmax(0, 1fr) minmax(0, 0.5fr) minmax(0, var(--seat-columns-fr)) minmax(0, 0.5fr) minmax(0, 1fr);
            align-items: stretch;
            margin-top: var(--seat-row-gap);
        }

        .seat-map-row-spacer {
            min-height: 1.2rem;
        }

        .seat-map-row:first-child {
            margin-top: 0;
        }

        .seat-map-row-label {
            flex-shrink: 0;
            min-width: 0;
            container-type: size;
            display: flex;
            align-items: center;
            font-family: 'Trebuchet MS', sans-serif;
            color: var(--muted);
            overflow: visible;
            position: relative;
            height: 100%;
            max-height: 100%;
            min-height: 0;
        }

        .seat-map-row-label.label-left {
            grid-column: 1;
        }

        .seat-map-row-label.label-right {
            grid-column: 5;
        }

        .seat-map-row-label span {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            width: 100%;
            height: 100%;
            font-size: clamp(1px, 100cqh, 0.95rem);
            line-height: 1;
            max-height: none;
            overflow: visible;
            transition: none;
        }

        .seat-map-row-label.label-left span {
            justify-content: flex-end;
            text-align: right;
        }

        .seat-map-row-label.label-right span {
            justify-content: flex-start;
            text-align: left;
        }

        .seat-map-row-seats {
            grid-column: 3;
            display: grid;
            grid-template-columns: repeat(var(--seat-columns), minmax(0, var(--seat-size)));
            gap: var(--seat-gap);
            align-items: start;
            justify-items: stretch;
            justify-content: center;
            width: 100%;
            min-width: 0;
            margin: 0;
            touch-action: none;
            user-select: none;
        }

        .seat-btn {
            display: block;
            width: 100%;
            height: auto;
            aspect-ratio: 1 / 1;
            min-width: 0;
            min-height: 0;
            border-radius: 20%;
            border: none;
            background: #ece4d3;
            cursor: pointer;
            font-size: clamp(0.42rem, 1.25vw, 0.72rem);
            padding: 0;
            box-sizing: border-box;
            color: #6f665b;
            font-family: 'Trebuchet MS', sans-serif;
            line-height: 1;
            position: relative;
            container-type: inline-size;
        }

        .seat-btn:hover {
            z-index: 1;
            background: #ead9aa;
        }

        .seat-btn.seat-accessible {
            background: #bcd1e6;
        }

        .seat-btn.seat-sold {
            background: var(--stub-line);
            cursor: not-allowed;
        }

        .seat-btn.seat-sold:hover {
            background: var(--stub-line);
        }

        .seat-btn.seat-selected {
            background: var(--marquee-amber);
        }

        .seat-number-label {
            position: absolute;
            inset: 0;
            display: flex;
            align-items: center;
            justify-content: center;
            pointer-events: none;
            overflow: hidden;
            white-space: nowrap;
            font-size: 60cqw;
            line-height: 1;
        }

        .seat-spacer {
            width: 100%;
            height: auto;
            aspect-ratio: 1 / 1;
            min-width: 0;
            min-height: 0;
            border: none;
            border-radius: 20%;
            background: transparent;
            box-sizing: border-box;
        }

        .seat-map-legend {
            display: flex;
            gap: 1.25rem;
            flex-wrap: wrap;
            margin-top: 0.75rem;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.78rem;
            color: var(--muted);
            padding-left: 0.5rem;
        }

        .seat-map-legend .legend-item {
            display: flex;
            align-items: center;
            gap: 0.4rem;
        }

        .seat-map-legend .legend-swatch {
            width: 16px;
            height: 16px;
            border-radius: 3px;
            border: 1px solid var(--stub-line);
            display: inline-block;
            position: relative;
            background: #fff;
        }

        .seat-map-legend .legend-swatch::after {
            content: "";
            position: absolute;
            inset: 3px;
        }

        .legend-swatch.standard::after { background: #ece4d3; }
        .legend-swatch.accessible { border-color: var(--stub-line); }
        .legend-swatch.accessible::after { background: #bcd1e6; }
        .legend-swatch.selected { border-color: var(--stub-line); }
        .legend-swatch.selected::after { background: var(--marquee-amber); }
        .legend-swatch.sold::after { background: var(--stub-line); }

        .selected-seats-summary {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.85rem;
            color: var(--ink);
            min-width: 0;
        }

        .selected-seats-summary > span:first-child {
            font-weight: 700;
        }

        .selected-seats-summary strong {
            font-family: inherit;
            font-weight: 700;
        }

        .selected-seat-list {
            display: block;
            margin-top: 0.12rem;
        }

        .selected-seats-row {
            display: flex;
            align-items: flex-start;
            justify-content: space-between;
            gap: 0.75rem;
            margin-top: 0.5rem;
        }

        .link-button {
            background: #fff;
            border: 1px solid var(--stub-line);
            color: var(--ink);
            padding: 0.35rem 0.7rem;
            font-size: 0.75rem;
            letter-spacing: 0.04em;
            text-decoration: none;
            white-space: nowrap;
            text-transform: uppercase;
        }

        .link-button:hover {
            background: #fff8e7;
            border-color: var(--marquee-amber);
            color: var(--ink);
        }

        .date-range-picker {
            border: 1px solid var(--stub-line);
            border-radius: 6px;
            background: #fff;
            padding: 0.65rem;
        }

        .calendar-header {
            display: grid;
            grid-template-columns: 2rem 1fr 2rem;
            gap: 0.5rem;
            align-items: center;
            margin-bottom: 0.55rem;
        }

        .calendar-month-label {
            text-align: center;
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.82rem;
            font-weight: 700;
            color: var(--ink);
        }

        .calendar-nav {
            padding: 0.25rem 0;
            border-color: var(--stub-line);
            background: #f4efe4;
            color: var(--ink);
        }

        .calendar-weekdays,
        .calendar-days {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 0.25rem;
        }

        .calendar-weekdays {
            margin-bottom: 0.25rem;
            color: var(--muted);
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.62rem;
            text-align: center;
        }

        .calendar-day {
            aspect-ratio: 1;
            padding: 0;
            border: 1px solid var(--stub-line);
            border-radius: 3px;
            background: #fff;
            color: var(--ink);
            font-size: 0.72rem;
            letter-spacing: 0;
            text-align: center;
        }

        .calendar-day:hover:not(:disabled),
        .calendar-day:focus-visible:not(:disabled) {
            background: #fff8e7;
            border-color: var(--marquee-amber);
            color: var(--ink);
        }

        .calendar-day-empty {
            border-color: transparent;
            background: transparent;
        }

        .calendar-day.in-range {
            background: #f4efe4;
        }

        .calendar-day-disabled {
            opacity: 0.32;
            cursor: not-allowed;
            background: #f4efe4;
        }

        .calendar-day.range-start,
        .calendar-day.range-end {
            background: var(--available);
            border-color: var(--available);
            color: #fff;
            font-weight: 700;
        }

        .calendar-day.range-start:hover:not(:disabled),
        .calendar-day.range-end:hover:not(:disabled),
        .calendar-day.range-start:focus-visible:not(:disabled),
        .calendar-day.range-end:focus-visible:not(:disabled) {
            background: #255b3f;
            border-color: #255b3f;
            color: #fff;
        }

        @media (max-width: 720px) {
            .listener-options-row {
                grid-template-columns: 1fr;
            }
        }

        /* Seat pills - used in the new-listener picker and home popovers */
        .seat-pill {
            font-family: 'Trebuchet MS', sans-serif;
            font-size: 0.7rem;
            font-weight: 700;
            padding: 0.15rem 0.45rem;
            border-radius: 3px;
            background: var(--available);
            color: #fff;
        }

        @media (max-width: 600px), (hover: none), (pointer: coarse) {
            .modal-backdrop {
                padding: 1rem;
            }

            .refresh-detail-modal {
                width: 100%;
                max-width: 100%;
            }

            .showtime-seatmap:hover ~ .seatmap-popover {
                display: none;
            }

            .showtime-grid {
                grid-template-columns: 1fr;
            }

            .showtime-tile {
                flex-direction: column;
                align-items: stretch;
            }

            .showtime-tile-info {
                white-space: normal;
                align-items: center;
                text-align: center;
            }

            .showtime-seatmap {
                width: 100%;
                max-width: none;
                flex: 0 0 auto;
            }

            .showtime-seat-tags {
                display: block;
            }

            .selected-seats-row {
                align-items: flex-start;
            }

            .refresh-info:hover .refresh-popover {
                display: none;
            }

            .refresh-info.open .refresh-popover {
                display: none;
            }

            .refresh-popover {
                position: absolute;
                left: var(--refresh-popover-left, 50%);
                right: auto;
                top: calc(100% + 0.65rem);
                bottom: auto;
                width: min(360px, calc(100vw - 2rem));
                max-height: min(420px, calc(100vh - 2rem));
                overflow: visible;
            }

            .refresh-check-list {
                max-height: min(320px, calc(100vh - 8rem));
            }
        }
