/* Azul satinado. Presentation only: existing layout and visibility rules stay in their original stylesheets. */
body.passe-theme {
    --passe-primary: #023ca7;
    --passe-primary-dark: #022d7d;
    --passe-ink: #142544;
    --passe-muted: #536580;
    --passe-line: #c9d8ee;
    --passe-soft: #eaf2ff;
    --passe-surface: #fff;
    --passe-gradient: linear-gradient(155deg, #0758c9 0%, #023ca7 48%, #022d7d 100%);
    --passe-shadow: 0 5px 20px rgb(2 60 167 / 10%), 0 1px 3px rgb(2 45 125 / 7%);
    --passe-focus: 0 0 0 3px rgb(2 60 167 / 17%);
    color: var(--passe-ink);
    background-color: #edf3ff;
    background-image: linear-gradient(rgb(244 248 255 / 91%), rgb(234 243 255 / 87%)), url("../images/theme/security-access.png");
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: cover;
    background-attachment: fixed;
    accent-color: var(--passe-primary);
    color-scheme: light;
}

.passe-theme ::selection {
    background: #c9ddff;
    color: #022d7d;
}

.passe-theme a:link,
.passe-theme a:visited,
.passe-theme a:active {
    color: var(--passe-primary);
    text-shadow: none;
}

.passe-theme a:hover {
    color: var(--passe-primary-dark);
}

.passe-theme :is(a, button, input, select, textarea, [tabindex]):focus-visible {
    outline: 2px solid var(--passe-primary);
    outline-offset: 3px;
}

.passe-theme header {
    background: linear-gradient(165deg, rgb(119 197 255 / 19%), transparent 46%), var(--passe-gradient);
    box-shadow: 0 2px 12px rgb(2 45 125 / 20%), inset 0 1px 0 rgb(255 255 255 / 25%);
    filter: none;
}

.passe-theme header #logoClam,
.passe-theme #iconoMenu {
    background: none;
    filter: drop-shadow(0 2px 3px rgb(0 24 73 / 12%));
}

.passe-theme .dropbtn {
    border-color: rgb(210 231 255 / 35%);
    background: rgb(255 255 255 / 7%);
    text-shadow: none;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.passe-theme .dropbtn:hover,
.passe-theme .dropbtn:active {
    background: rgb(255 255 255 / 18%);
    border-color: rgb(210 231 255 / 55%);
}

.passe-theme .dropdown-content {
    background: var(--passe-surface);
    border-color: var(--passe-line);
    box-shadow: var(--passe-shadow);
    filter: none;
}

.passe-theme .dropdown-content :is(a, button) {
    color: var(--passe-primary);
    background: transparent;
    text-shadow: none;
}

.passe-theme .dropdown-content :is(a, button):hover {
    color: var(--passe-primary-dark);
    background: var(--passe-soft);
}

/* Retain sprite dimensions, positions, hover expansion and existing mobile navigation. */
.passe-theme #menus {
    background-image: linear-gradient(90deg, #377ed3, #cfe2ff 22px, transparent 24px);
}

.passe-theme .nav li {
    background: linear-gradient(160deg, #fff, #f3f7ff);
    box-shadow: 2px 3px 10px rgb(2 45 125 / 16%);
    border-radius: 8px;
}

.passe-theme .nav li:hover,
.passe-theme .nav ul li:hover {
    background: var(--passe-gradient);
    box-shadow: 2px 4px 14px rgb(2 60 167 / 24%);
    filter: none;
}

.passe-theme .nav li > a {
    text-shadow: none;
    /* Recolor the existing monochrome sprite without changing its source or hit area. */
    filter: sepia(1) saturate(4) hue-rotate(175deg) brightness(.65);
}

.passe-theme .nav li:hover > a {
    filter: none;
}

.passe-theme .contMenuM {
    background: linear-gradient(145deg, rgb(2 45 125 / 97%), rgb(11 29 60 / 97%));
}

.passe-theme .navM :is(a, button) {
    color: #fff;
    text-shadow: none;
    border-color: rgb(215 234 255 / 55%);
    box-shadow: 0 3px 12px rgb(0 18 65 / 20%);
}

.passe-theme :is(.panelRow, .seccionForm, .header-card, .tabs-container, .form-table, .formulario) {
    background-color: var(--passe-surface);
    border-color: var(--passe-line);
    box-shadow: var(--passe-shadow);
}

.passe-theme :is(.panelRow, .seccionForm, .header-card, .formulario) {
    border-radius: 14px;
    animation: passe-reveal 380ms ease-out;
    transition: box-shadow 200ms ease, border-color 200ms ease;
}

.passe-theme h4.panelH,
.passe-theme .seccionForm h2 {
    color: #fff;
    background: var(--passe-gradient);
    border-color: #fff;
    box-shadow: 0 3px 7px rgb(2 45 125 / 14%), inset 0 1px 0 rgb(255 255 255 / 22%);
    text-shadow: none;
    border-radius: 6px;
}

.passe-theme :is(.event-item, .info-item) {
    color: var(--passe-ink);
    background: #f3f7ff;
    box-shadow: 0 2px 6px rgb(2 45 125 / 7%);
}

.passe-theme .info-item i {
    color: var(--passe-primary);
}

.passe-theme .event-info,
.passe-theme .header-title h2 {
    color: var(--passe-ink);
}

.passe-theme :is(.card, .modal-content, .result-container) {
    background-color: var(--passe-surface);
    border-color: var(--passe-line);
    box-shadow: var(--passe-shadow);
    border-radius: 10px;
}

/* Keep red document-review outlines and semantic status colors recognizable. */
.passe-theme .card.borderojo {
    box-shadow: 0 0 0 1px #c42c43, 0 3px 12px rgb(196 44 67 / 18%);
}

.passe-theme .modal {
    background-color: rgb(8 27 61 / 48%);
}

.passe-theme .modal-content {
    animation: passe-reveal 220ms ease-out;
}

.passe-theme :is(.modal-header, .modal-footer, .tabs) {
    border-color: var(--passe-line);
}

.passe-theme .tabs {
    background: #edf3ff;
}

.passe-theme .tab-button.active {
    color: var(--passe-primary);
    border-bottom-color: var(--passe-primary);
}

.passe-theme .tab-button.active .count {
    color: #fff;
    background: var(--passe-primary);
}

.passe-theme :is(.result-item:hover, .result-item:focus-within) {
    background: var(--passe-soft);
}

/* Preserve form control metrics and native behavior; only recolor their surfaces. */
.passe-theme :is(input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="file"]):not([type="submit"]):not([type="button"]), select, textarea) {
    color: var(--passe-ink);
    background-color: #f7faff;
    border-color: var(--passe-line);
    box-shadow: inset 0 1px 2px rgb(2 45 125 / 3%);
    transition: border-color 180ms ease, box-shadow 180ms ease, background-color 180ms ease;
}

.passe-theme select {
    /* Use the native arrow instead of the legacy missing background image. */
    background-image: none;
    appearance: auto;
}

.passe-theme :is(input, select, textarea):focus {
    border-color: var(--passe-primary);
    box-shadow: var(--passe-focus);
}

.passe-theme :is(input, select, textarea):disabled {
    color: #65758c;
    background-color: #edf1f7;
}

.passe-theme :is(input, textarea)::placeholder {
    color: #65758c;
}

.passe-theme .btn {
    border-radius: 6px;
    text-shadow: none;
    transition: background-color 180ms ease, box-shadow 180ms ease, filter 180ms ease;
}

.passe-theme .btn:hover {
    opacity: 1;
}

.passe-theme :is(.btn-primary, .actions-btn, #startButton, #btnLimpiar),
.passe-account button[type="submit"] {
    color: #fff;
    background: var(--passe-gradient);
    box-shadow: 0 3px 8px rgb(2 60 167 / 16%), inset 0 1px 0 rgb(255 255 255 / 25%);
    text-shadow: none;
}

.passe-theme :is(.btn-primary, .actions-btn, #startButton, #btnLimpiar):hover:not(:disabled),
.passe-account button[type="submit"]:hover:not(:disabled) {
    color: #fff;
    filter: brightness(1.08);
    box-shadow: 0 4px 13px rgb(2 60 167 / 24%), inset 0 1px 0 rgb(255 255 255 / 28%);
}

.passe-theme :is(.btn-primary, .actions-btn, #startButton, #btnLimpiar):active,
.passe-account button[type="submit"]:active {
    filter: brightness(.94);
}

.passe-theme .btn-secondary,
.passe-theme a.btn-secondary {
    color: #263f63;
    background: #e4edf9;
}

.passe-theme .btn-outline-primary,
.passe-theme a.btn-outline-primary {
    color: var(--passe-primary);
    background: #eaf2ff;
    box-shadow: inset 0 0 0 1px #b7cdeb;
}

.passe-theme .btn-outline-danger,
.passe-theme a.btn-outline-danger {
    color: #a51e34;
    background: #fff0f2;
    box-shadow: inset 0 0 0 1px #efbdc5;
}

.passe-theme .btn-danger,
.passe-theme a.btn-danger,
.passe-theme .bg-danger {
    color: #fff;
    background: #bb2941;
}

.passe-theme .btn-success,
.passe-theme a.btn-success,
.passe-theme .bg-success {
    color: #fff;
    background: #167449;
}

.passe-theme .btn-warning,
.passe-theme a.btn-warning {
    color: #694400;
    background: #ffdf95;
}

/* Inline actions keep the compact table's original row height. */
.passe-theme .table-striped .btn-group .btn {
    background: transparent;
    box-shadow: none;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Existing compact grids retain all padding, column widths and scrolling. */
.passe-theme :is(.gridRound, .table-horizontal, .table-striped, .tabla) {
    color: var(--passe-ink);
    background: #fff;
    border-color: var(--passe-line);
    box-shadow: 0 2px 6px rgb(2 45 125 / 6%);
}

.passe-theme :is(.header-style, .table-horizontal thead, .table-striped thead, .table-vertical) {
    color: #fff;
    background: var(--passe-gradient);
    filter: none;
    text-shadow: none;
}

.passe-theme .header-style a,
.passe-theme .table-vertical a {
    color: #fff;
}

.passe-theme :is(.row-style, .Item-style, .table-striped tbody tr:nth-child(odd)) {
    background-color: #f4f8ff;
}

.passe-theme :is(.alternativerow-style, .gridRound tbody tr:nth-child(even), .table-striped tbody tr:nth-child(even), .tabla tr:nth-child(even)) {
    background-color: #e5efff;
}

.passe-theme :is(.gridRound, .table-horizontal, .table-striped) tbody tr:hover {
    background-color: #dceaff;
}

.passe-theme :is(.gridRound, .table-horizontal, .table-striped) tbody tr {
    transition: background-color 160ms ease;
}

.passe-theme .selectedrow-style {
    color: var(--passe-primary-dark);
    background-color: #d5e6ff;
}

.passe-theme :is(.tabla td, .table th, .table-horizontal td) {
    border-color: var(--passe-line);
}

.passe-theme .tooltip-btn::after {
    color: #fff;
    background: #142b50;
    box-shadow: var(--passe-shadow);
}

.passe-theme .fc {
    --fc-border-color: #dce5f2;
    --fc-neutral-bg-color: #f3f7ff;
    --fc-today-bg-color: #e1edff;
    --fc-button-bg-color: #023ca7;
    --fc-button-border-color: #023ca7;
    --fc-button-hover-bg-color: #022d7d;
    --fc-button-hover-border-color: #022d7d;
    --fc-button-active-bg-color: #022d7d;
    --fc-button-active-border-color: #022d7d;
    --fc-event-bg-color: #023ca7;
    --fc-event-border-color: #023ca7;
    --fc-event-text-color: #fff;
    color: var(--passe-ink);
    background: #fff;
    border-radius: 6px;
}

.passe-theme .fc .fc-button-primary {
    background-image: var(--passe-gradient);
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 20%);
    transition: box-shadow 180ms ease, filter 180ms ease;
}

.passe-theme .fc .fc-button-primary:hover:not(:disabled) {
    filter: brightness(1.08);
}

.passe-theme .fc .fc-button-primary:disabled {
    background: #7387a5;
    border-color: #7387a5;
    opacity: 1;
}

.passe-theme .fc a {
    color: inherit;
    text-shadow: none;
}

.passe-theme .fc .fc-col-header-cell {
    color: #344d74;
    background: #f0f5ff;
}

/* Home's script sets event-day circles inline. Override their color, not their detection logic. */
.passe-theme .divCellL .fc-daygrid-day-number[style*="background-color"] {
    color: #fff !important;
    background-color: var(--passe-primary) !important;
}

.passe-theme .fc .fc-daygrid-day-number {
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.passe-theme .fc .fc-daygrid-day-number:hover {
    box-shadow: inset 0 0 0 1px #91b5ea;
}

.passe-theme .fc :is(.fc-daygrid-block-event, .fc-timegrid-event) {
    color: #fff;
}

/* The account form keeps its original 300px width and all existing spacing. */
body.passe-account {
    background-image: linear-gradient(90deg, rgb(239 246 255 / 8%), rgb(238 246 255 / 3%)), url("../images/theme/security-access.png");
}

.passe-account .page {
    background: rgb(255 255 255 / 97%);
    border-color: #b9d0ef;
    border-radius: 12px;
    box-shadow: 0 12px 36px rgb(2 45 125 / 17%), 0 2px 7px rgb(2 60 167 / 10%);
    animation: passe-reveal 450ms ease-out;
}

.passe-account .page::before,
.passe-account .page::after {
    content: none;
}

.passe-account :is(.main, .inset) {
    animation: none;
}

.passe-account .inset {
    border-color: var(--passe-line);
}

.passe-account .page h2 {
    color: #fff;
    background: var(--passe-gradient);
    border-color: transparent;
    text-shadow: none;
    box-shadow: inset 0 1px 0 rgb(255 255 255 / 30%);
    filter: none;
}

.passe-account .page h2::after {
    background: linear-gradient(50deg, rgb(195 229 255 / 20%), transparent);
}

.passe-account label {
    color: #263f63;
}

.passe-account :is(input[type="email"], input[type="password"]) {
    background: #f6f9ff;
    border-color: #bccde6;
    border-radius: 6px;
}

.passe-account :is(input[type="email"], input[type="password"]):focus {
    background: #fff;
    border-color: var(--passe-primary);
    box-shadow: var(--passe-focus);
}

.passe-account button[type="submit"] {
    border-color: var(--passe-primary-dark);
    border-radius: 6px;
    transition: filter 180ms ease, box-shadow 180ms ease;
}

/* Dedicated screen finishes; the same controls, sections and actions stay in place. */
.passe-theme .main:has(> :is(.agenda-calendar, .users-table)) {
    background: #fff;
    border-radius: 18px;
    outline: 1px solid #d5e2f4;
    box-shadow: 0 8px 28px rgb(2 45 125 / 9%);
}

.passe-theme .screen-title {
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: 1.4rem;
    font-weight: 650;
    font-variant: normal;
    letter-spacing: -.025em;
    line-height: 1.35;
    color: var(--passe-ink);
    background: linear-gradient(110deg, #f8fbff, #edf4ff);
    border-radius: 18px 18px 0 0;
    border-bottom: 1px solid #dce7f6;
    margin-top: 0;
    padding: 22px 12px;
    text-shadow: none;
}

.passe-theme .agenda-calendar {
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: .875rem;
    border-radius: 0 0 16px 16px;
    --fc-border-color: #e2eaf5;
    --fc-today-bg-color: #eef4ff;
}

.passe-theme .agenda-calendar .fc-header-toolbar {
    background: #fff;
    padding: 18px 12px;
    margin-bottom: 0;
}

.passe-theme .agenda-calendar .fc-toolbar-title {
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: 1.1rem;
    font-weight: 650;
    font-variant: normal;
    letter-spacing: -.02em;
    text-transform: none;
    padding: 0;
}

.passe-theme .agenda-calendar .fc-toolbar-title::first-letter {
    text-transform: uppercase;
}

.passe-theme .agenda-calendar .fc-button-group {
    padding: 3px;
    background: #edf3fc;
    border-radius: 10px;
    box-shadow: inset 0 0 0 1px #e0e9f6;
}

.passe-theme .agenda-calendar .fc-button-primary {
    font-family: inherit;
    font-size: .8rem;
    font-weight: 600;
    padding: 8px 12px;
    color: #36527e;
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    border-radius: 7px;
}

.passe-theme .agenda-calendar .fc-button-primary:hover:not(:disabled) {
    color: var(--passe-primary);
    background: #dce9ff;
    border-color: transparent;
    filter: none;
}

.passe-theme .agenda-calendar .fc-button-primary:not(:disabled).fc-button-active {
    color: #fff;
    background: var(--passe-gradient);
    border-color: transparent;
    box-shadow: 0 2px 5px rgb(2 60 167 / 18%);
}

.passe-theme .agenda-calendar .fc-button-primary:disabled {
    color: #63728b;
    background: #f0f4fa;
    border-color: #e2eaf5;
}

.passe-theme .agenda-calendar .fc-col-header-cell {
    background: #f8faff;
}

.passe-theme .agenda-calendar .fc-col-header-cell-cushion {
    padding: 12px 4px;
    font-size: .72rem;
    font-weight: 650;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.passe-theme .agenda-calendar :is(.fc-day-sat, .fc-day-sun) {
    background-color: #f9fbff;
}

.passe-theme .agenda-calendar .fc-day-today {
    background-color: #eef4ff;
}

.passe-theme .agenda-calendar .fc-daygrid-day-number {
    color: #425777;
    font-size: .8rem;
    font-weight: 600;
    margin: 4px;
    padding: 4px 6px;
    border-radius: 7px;
}

.passe-theme .agenda-calendar .fc-day-today .fc-daygrid-day-number {
    color: #fff;
    background: var(--passe-primary);
}

.passe-theme .agenda-calendar .fc-daygrid-dot-event {
    color: #263f63;
    background: #eff5ff;
    font-size: .73rem;
    border-radius: 5px;
    padding: 3px 4px;
    transition: background-color 160ms ease, box-shadow 160ms ease;
}

.passe-theme .agenda-calendar .fc-daygrid-dot-event:hover {
    background: #e0ecff;
    box-shadow: inset 2px 0 0 var(--passe-primary);
}

.passe-theme .agenda-calendar .fc-daygrid-event-dot {
    border-width: 3px;
}

.passe-theme .agenda-calendar :is(.fc-daygrid-block-event, .fc-timegrid-event) {
    background: var(--passe-gradient);
    border-color: var(--passe-primary);
    border-radius: 5px;
    box-shadow: 0 2px 4px rgb(2 60 167 / 12%);
}

.passe-theme .agenda-calendar .fc-daygrid-block-event .fc-event-main {
    padding: 3px 6px;
}

/* Verification retains its centered selector and camera action. */
.passe-theme .access-scanner {
    padding: 0 28px 28px;
    outline: 1px solid #d5e2f4;
    border-radius: 18px;
    background-image: linear-gradient(100deg, #fff 10%, rgb(255 255 255 / 98%) 55%, rgb(248 251 255 / 88%)), url("../images/theme/security-access.png");
    background-position: right center;
    background-size: cover;
    box-shadow: 0 8px 28px rgb(2 45 125 / 10%);
}

.passe-theme .access-scanner .screen-title {
    margin-left: -28px;
    margin-right: -28px;
}

.passe-theme .access-scanner .optionCamera {
    padding-top: 24px;
}

.passe-theme .access-scanner label {
    display: block;
    color: #405779;
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: .8rem;
    font-weight: 600;
    margin-bottom: 12px;
}

.passe-theme .access-scanner #sourceSelect {
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: .875rem;
    padding: 12px 14px;
    background-color: #f6f9ff;
    border: 1px solid #c8d8ee;
    border-radius: 10px;
}

.passe-theme .access-scanner #startButton {
    margin-top: 22px;
    padding: 12px 24px;
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: .82rem;
    font-weight: 650;
    letter-spacing: .025em;
    border-radius: 9px;
}

.passe-theme .access-scanner .videoScann {
    background: #0c2347;
    border-radius: 12px;
    box-shadow: 0 0 0 1px #c8d8ee;
}

/* User management retains its five columns and existing action order. */
.passe-theme .main:has(> .users-table) {
    overflow-x: auto;
}

.passe-theme .users-toolbar {
    margin: 0;
    padding: 18px 12px;
}

.passe-theme .users-toolbar .btn {
    display: inline-block;
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: .8rem;
    font-weight: 600;
    padding: 10px 16px;
    border-radius: 8px;
}

.passe-theme .users-table {
    font-family: "Segoe UI", "DDIN", sans-serif;
    font-size: .83rem;
    min-width: 680px;
    border-radius: 0 0 16px 16px;
    margin-bottom: 0;
    box-shadow: none;
}

.passe-theme .users-table thead {
    color: #425b7c;
    background: #f0f5fd;
}

.passe-theme .users-table th {
    font-size: .7rem;
    font-weight: 650;
    letter-spacing: .06em;
    text-align: left;
    text-transform: uppercase;
    padding: 14px 16px;
    border-bottom: 1px solid #dbe6f5;
}

.passe-theme .users-table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e6edf7;
    vertical-align: middle;
}

.passe-theme .users-table tbody tr:nth-child(odd) {
    background: #fff;
}

.passe-theme .users-table tbody tr:nth-child(even) {
    background: #f8faff;
}

.passe-theme .users-table tbody tr:hover {
    background: #edf4ff;
}

.passe-theme .users-table td:first-child {
    color: #183252;
    font-weight: 600;
}

.passe-theme .users-table td:nth-child(2) {
    color: #536580;
    font-size: .79rem;
}

.passe-theme .users-table .badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 999px;
    font-size: .72rem;
    font-weight: 650;
}

.passe-theme .users-table .bg-success {
    color: #12623e;
    background: #e1f3e9;
    box-shadow: inset 0 0 0 1px #c8e8d6;
}

.passe-theme .users-table .bg-danger {
    color: #a12b3d;
    background: #fff0f2;
    box-shadow: inset 0 0 0 1px #f1ced5;
}

.passe-theme .users-table .btn {
    display: inline-block;
    min-width: 94px;
    font-family: inherit;
    font-size: .73rem;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
    padding: 7px 10px;
    margin: 2px 0;
    border-radius: 7px;
}

.passe-theme .users-table .btn-danger {
    color: #a12b3d;
    background: #fff0f2;
    box-shadow: inset 0 0 0 1px #efcad2;
}

.passe-theme .users-table .btn-warning {
    color: var(--passe-primary);
    background: #edf3ff;
    box-shadow: inset 0 0 0 1px #cfdef6;
}

.passe-theme .users-table .btn-success {
    color: #12623e;
    background: #e1f3e9;
    box-shadow: inset 0 0 0 1px #c8e8d6;
}

.passe-theme .users-table .btn:hover {
    filter: brightness(.96);
}

@media (max-width: 750px) {
    .passe-theme .screen-title {
        font-size: 1.15rem;
        padding: 18px 10px;
    }

    .passe-theme .agenda-calendar .fc-header-toolbar {
        padding: 12px 4px;
    }

    .passe-theme .agenda-calendar .fc-button-primary {
        font-size: .7rem;
        padding: 7px 4px;
    }

    .passe-theme .agenda-calendar .fc-toolbar-chunk:first-child {
        white-space: nowrap;
    }

    .passe-theme .agenda-calendar .fc-today-button {
        margin-left: 4px;
    }

    .passe-theme .agenda-calendar .fc-toolbar-title {
        font-size: .75rem;
    }

    .passe-theme .agenda-calendar .fc-view-harness {
        min-height: 540px;
    }

    .passe-theme .access-scanner {
        padding-left: 18px;
        padding-right: 18px;
    }

    .passe-theme .access-scanner .screen-title {
        margin-left: -18px;
        margin-right: -18px;
    }
}

@keyframes passe-reveal {
    from { opacity: 0; }
    to { opacity: 1; }
}

@media (max-width: 750px) {
    /* Preserve the existing single-column mobile panels and menu behavior. */
    .passe-theme .panelRow {
        background: transparent;
        box-shadow: none;
        border-radius: 0;
    }

    .passe-theme .divCell3 {
        background: #fff;
        border-color: var(--passe-line);
        border-radius: 14px;
        box-shadow: var(--passe-shadow);
    }

    body.passe-account {
        background-position: 72% bottom;
    }
}

@media (prefers-reduced-motion: reduce) {
    .passe-theme *,
    .passe-theme *::before,
    .passe-theme *::after {
        animation: none !important;
        transition: none !important;
    }
}
