/* Set padding to keep content from hitting the edges */
.body-content {
    margin-top: 15px;
    padding-left: 15px;
    padding-right: 15px;
}

/* Override the default bootstrap behavior where horizontal description lists 
   will truncate terms that are too long to fit in the left column 
*/
.dl-horizontal dt {
    white-space: normal;
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    max-width: 280px;
}

@font-face {
    font-family: "Montserrat";
    src: url("fonts/Montserrat-VariableFont_wght.ttf") format("truetype");
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --tcs-ink: #090909;
    --tcs-surface: #111110;
    --tcs-paper: #f5efe0;
    --tcs-muted: #9a9488;
    --tcs-accent: #d9d2c4;
    --tcs-border: rgba(245, 239, 224, .16);
    --tcs-radius: 14px;
}

html, body { min-height: 100%; }
body.app-shell { margin: 0; background: var(--tcs-ink); color: var(--tcs-paper); font-family: "Montserrat", Arial, sans-serif; }
a { color: inherit; }
a:hover { color: var(--tcs-paper); }

.app-navbar { position: sticky; top: 0; z-index: 1030; min-height: 82px; padding: 8px clamp(18px, 4vw, 64px); background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.app-navbar-container { flex-wrap: nowrap; gap: 22px; }
.app-brand { width: 142px; height: 64px; padding: 0; }
.app-brand img { width: 100%; height: 100%; object-fit: contain; }
.app-navbar .navbar-nav { align-items: center; flex-wrap: nowrap; }
.app-navbar .nav-link { position: relative; color: rgba(245, 239, 224, .7); font-size: .72rem; font-weight: 650; letter-spacing: .06em; white-space: nowrap; text-transform: uppercase; transition: color .2s ease, opacity .2s ease; }
.app-navbar .navbar-collapse > .d-flex { flex: 0 0 auto; flex-wrap: nowrap !important; }
.app-navbar .nav-link::after { content: ""; position: absolute; right: .5rem; bottom: 2px; left: .5rem; height: 1px; background: var(--tcs-paper); transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.app-navbar .nav-link:hover, .app-navbar .nav-link:focus-visible, .app-navbar .nav-link[aria-current="page"] { color: var(--tcs-paper); }
.app-navbar .nav-link:hover::after, .app-navbar .nav-link:focus-visible::after, .app-navbar .nav-link[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.app-navbar .dropdown-menu.app-dropdown-menu { min-width: 210px; margin-top: 8px; padding: 6px; background: #1a1917 !important; border: 1px solid var(--tcs-border) !important; border-radius: 9px; box-shadow: 0 16px 36px rgba(0,0,0,0.55); }
.app-navbar .app-dropdown-menu .dropdown-item { display: flex; align-items: center; padding: 9px 14px; color: rgba(245, 239, 224, .75) !important; border-radius: 6px; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; transition: all .16s ease; }
.app-navbar .app-dropdown-menu .dropdown-item:hover, .app-navbar .app-dropdown-menu .dropdown-item:focus { color: var(--tcs-paper) !important; background: rgba(245, 239, 224, .08) !important; }
.app-navbar .app-dropdown-menu .dropdown-item.active { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; font-weight: 800; }
.app-navbar .app-dropdown-menu .dropdown-divider { margin: 5px 0; border-color: var(--tcs-border) !important; opacity: 0.5; }
@media (min-width: 1400px) { .app-navbar .nav-item.dropdown:hover .dropdown-menu { display: block; margin-top: 4px; } }
.account-menu { min-height: 44px; padding: 4px 5px 4px 6px; gap: 9px; border: 1px solid var(--tcs-border); border-radius: 10px; background: #121212; }
.account-avatar { width: 32px; height: 32px; flex: 0 0 32px; display: grid; place-items: center; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 8px; font-size: .66rem; font-weight: 800; letter-spacing: .02em; }
.account-identity { min-width: 0; display: flex; flex-direction: column; justify-content: center; padding-right: 5px; line-height: 1.15; }
.account-name { max-width: 145px; overflow: hidden; color: var(--tcs-paper); font-size: .72rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.account-role { margin-top: 3px; color: var(--tcs-muted); font-size: .58rem; font-weight: 650; letter-spacing: .08em; text-transform: uppercase; }
.account-logout { min-height: 32px; display: inline-flex; align-items: center; gap: 7px; padding: 0 10px; color: rgba(245,239,224,.72); background: transparent; border: 0; border-left: 1px solid var(--tcs-border); font-family: inherit; font-size: .65rem; font-weight: 700; cursor: pointer; transition: color .2s ease, background-color .2s ease; }
.account-logout:hover, .account-logout:focus-visible { color: var(--tcs-paper); background: rgba(245,239,224,.06); outline: 0; }
.account-logout-icon { font-size: .85rem; transform: rotate(45deg); transition: transform .2s ease; }
.account-logout:hover .account-logout-icon { transform: rotate(45deg) translate(1px, -1px); }
.app-content { width: 100%; }
.app-footer { color: var(--tcs-muted); background: #050505; border-top: 1px solid var(--tcs-border); }
.app-footer a { color: var(--tcs-muted) !important; }
.app-footer a:hover { color: var(--tcs-paper) !important; }

.btn { border-radius: 999px; font-weight: 700; }
.btn-primary { background: var(--tcs-paper); border-color: var(--tcs-paper); color: var(--tcs-ink); }
.btn-primary:hover, .btn-primary:focus { background: #fffaf0; border-color: #fffaf0; color: #000; }
.btn-primary:active,
.btn-primary.active,
.btn-check:focus + .btn-primary,
.btn-check:checked + .btn-primary,
.btn-primary:disabled,
.btn-primary.disabled {
    color: var(--tcs-ink) !important;
    background-color: var(--tcs-paper) !important;
    border-color: var(--tcs-paper) !important;
    box-shadow: 0 0 0 .2rem rgba(245, 239, 224, .12) !important;
}
.btn-primary:disabled, .btn-primary.disabled { opacity: .65; }
.btn-outline-light { border-color: rgba(245, 239, 224, .45); }
.form-control, .form-select { max-width: none; min-height: 50px; color: var(--tcs-paper); background: #070707; border: 1px solid var(--tcs-border); border-radius: 8px; }
.form-control:focus, .form-select:focus { color: var(--tcs-paper); background: #090909; border-color: rgba(245, 239, 224, .65); box-shadow: 0 0 0 .2rem rgba(245, 239, 224, .08); }
.form-control::placeholder { color: #6e6a63; }
.form-label { color: rgba(245, 239, 224, .84); font-size: .78rem; font-weight: 650; }

.auth-page { position: relative; min-height: calc(100vh - 8rem); display: grid; place-items: center; overflow: hidden; padding: 38px 16px; }
.auth-glow { position: absolute; width: 680px; height: 680px; border-radius: 50%; background: radial-gradient(circle, rgba(245, 239, 224, .1), transparent 68%); }
.auth-panel { position: relative; z-index: 1; width: min(100%, 520px); }
.auth-topbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.auth-brand { display: grid; place-items: center; width: 174px; height: 94px; padding: 10px 14px; overflow: hidden; background: #1a1917; border: 1px solid rgba(245, 239, 224, .1); border-radius: 12px; box-shadow: inset 0 1px 0 rgba(255,255,255,.025); }
.auth-brand img { display: block; width: 100%; height: 100%; object-fit: contain; }
.language-toggle { display: inline-flex; align-items: center; gap: 4px; height: 36px; padding: 2px; border: 1px solid #242424; border-radius: 8px; background: #121212; }
.language-option { min-width: 34px; height: 28px; padding: 0; border: 0; border-radius: 6px; background: transparent; color: var(--tcs-paper) !important; cursor: pointer; font-family: inherit; font-size: 12px; font-weight: 800; line-height: 1; transition: background-color .18s ease, color .18s ease; }
.language-option[data-active="true"] { background: var(--tcs-paper); color: #000 !important; }
.language-option:focus-visible { outline: 2px solid var(--tcs-paper); outline-offset: 2px; }
.mobile-header-language { display: none; }
.auth-card { overflow: hidden; border: 1px solid var(--tcs-border); border-radius: var(--tcs-radius); background: linear-gradient(180deg, rgba(24,24,23,.97), rgba(10,10,10,.98)); box-shadow: 0 30px 90px rgba(0,0,0,.65); }
.auth-heading { padding: 38px 40px 27px; border-bottom: 1px solid var(--tcs-border); }
.auth-eyebrow { color: var(--tcs-accent); font-size: .62rem; font-weight: 800; letter-spacing: .25em; }
.auth-heading h1 { margin: 12px 0 10px; font-size: clamp(2rem, 6vw, 3rem); font-weight: 750; letter-spacing: -.045em; }
.auth-heading p { margin: 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.7; }
.auth-card-body { padding: 30px 40px 40px; }
.auth-card .text-muted { color: var(--tcs-muted) !important; }
.auth-card .alert-danger { color: var(--tcs-paper); background: rgba(245,239,224,.08); border-color: rgba(245,239,224,.28); }
.auth-submit { min-height: 52px; margin-top: 10px; display: flex; align-items: center; justify-content: center; gap: 18px; text-transform: uppercase; font-size: .75rem; letter-spacing: .12em; }
.auth-site-access { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--tcs-border); }
.auth-site-access > span { max-width: 230px; color: var(--tcs-muted); font-size: .7rem; line-height: 1.5; }
.auth-site-link, .header-site-link { display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: var(--tcs-paper); border: 1px solid var(--tcs-border); border-radius: 8px; font-weight: 750; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.auth-site-link { min-height: 44px; padding: 0 16px; font-size: .62rem; }
.header-site-link { min-height: 36px; padding: 0 12px; font-size: .58rem; }
.auth-site-link:hover, .auth-site-link:focus-visible, .header-site-link:hover, .header-site-link:focus-visible { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }

.tcs-dialog-open { overflow: hidden; }
.tcs-toast-region { position: fixed; z-index: 2100; top: 96px; right: clamp(14px, 3vw, 34px); width: min(390px, calc(100vw - 28px)); display: grid; gap: 10px; pointer-events: none; }
.tcs-toast { display: grid; grid-template-columns: 9px minmax(0, 1fr) 28px; align-items: start; gap: 13px; padding: 17px 16px; color: var(--tcs-paper); background: #151513; border: 1px solid var(--tcs-border); border-radius: 10px; box-shadow: 0 18px 55px rgba(0,0,0,.55); opacity: 0; pointer-events: auto; transform: translateY(-10px); transition: opacity .2s ease, transform .2s ease; }
.tcs-toast.is-visible { opacity: 1; transform: translateY(0); }
.tcs-toast.is-leaving { opacity: 0; transform: translateY(-8px); }
.tcs-toast-mark { width: 7px; height: 7px; margin-top: 5px; background: var(--tcs-paper); border-radius: 50%; }
.tcs-toast--warning .tcs-toast-mark { background: #c8ad74; }
.tcs-toast strong { display: block; margin-bottom: 5px; font-size: .58rem; letter-spacing: .16em; }
.tcs-toast p { margin: 0; color: var(--tcs-muted); font-size: .76rem; line-height: 1.55; overflow-wrap: anywhere; }
.tcs-toast button { width: 28px; height: 28px; padding: 0; color: var(--tcs-muted); background: transparent; border: 0; border-radius: 6px; font-size: 1.25rem; line-height: 1; }
.tcs-toast button:hover, .tcs-toast button:focus-visible { color: var(--tcs-paper); background: rgba(245,239,224,.08); }
.tcs-confirm-backdrop { position: fixed; z-index: 2200; inset: 0; display: grid; place-items: center; padding: 20px; background: rgba(0,0,0,.78); backdrop-filter: blur(7px); }
.tcs-confirm-backdrop[hidden] { display: none; }
.tcs-confirm-dialog { width: min(100%, 480px); padding: clamp(26px, 5vw, 38px); color: var(--tcs-paper); background: #151513; border: 1px solid var(--tcs-border); border-radius: 12px; box-shadow: 0 30px 90px rgba(0,0,0,.72); }
.tcs-confirm-kicker { display: block; margin-bottom: 14px; color: var(--tcs-accent); font-size: .58rem; font-weight: 800; letter-spacing: .2em; }
.tcs-confirm-dialog h2 { margin: 0 0 13px; color: var(--tcs-paper); font-size: clamp(1.45rem, 4vw, 2rem); letter-spacing: -.035em; }
.tcs-confirm-dialog p { margin: 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.7; overflow-wrap: anywhere; }
.tcs-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 30px; }
.tcs-confirm-actions button { min-height: 44px; padding: 0 20px; border: 1px solid var(--tcs-border); border-radius: 8px; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.tcs-confirm-cancel { color: var(--tcs-paper); background: transparent; }
.tcs-confirm-accept { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper) !important; }
.tcs-confirm-cancel:hover, .tcs-confirm-cancel:focus-visible { background: rgba(245,239,224,.07); }
.tcs-confirm-accept:hover, .tcs-confirm-accept:focus-visible { background: #fff; }

.dashboard-page { width: min(100%, 1180px); margin: 0 auto; padding: clamp(34px, 6vw, 76px) 0 clamp(60px, 8vw, 110px); }
.dashboard-hero { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-bottom: clamp(34px, 5vw, 62px); border-bottom: 1px solid var(--tcs-border); }
.dashboard-eyebrow, .section-kicker { display: block; margin: 0 0 14px; color: var(--tcs-muted); font-size: .62rem; font-weight: 750; letter-spacing: .23em; }
.dashboard-hero h1 { max-width: 800px; margin: 0; color: var(--tcs-paper); font-size: clamp(2.6rem, 6.2vw, 5.3rem); font-weight: 780; line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.dashboard-intro { max-width: 630px; margin: 22px 0 0; color: var(--tcs-muted); font-size: .88rem; line-height: 1.75; }
.dashboard-role { display: inline-flex; align-items: center; min-height: 34px; padding: 0 13px; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 7px; font-size: .66rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.dashboard-alert { margin: 28px 0 0; color: var(--tcs-paper); background: #151513; border: 1px solid var(--tcs-border); border-radius: 10px; }

.profile-panel { margin-top: 28px; overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.profile-panel-heading { min-height: 112px; display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 28px 32px; border-bottom: 1px solid var(--tcs-border); }
.profile-panel-heading .section-kicker { margin-bottom: 9px; }
.profile-panel-heading h2 { margin: 0; color: var(--tcs-paper); font-size: clamp(1.35rem, 2.6vw, 2rem); font-weight: 740; letter-spacing: -.035em; }
.profile-status { display: inline-flex; align-items: center; gap: 8px; color: var(--tcs-muted); font-size: .68rem; font-weight: 650; }
.profile-data-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.profile-data-grid > div { min-width: 0; padding: 28px 32px; border-right: 1px solid var(--tcs-border); border-bottom: 0; }
.profile-data-grid > div:last-child { border-right: 0; }
@media (max-width: 860px) {
    .profile-data-grid { grid-template-columns: 1fr; }
    .profile-data-grid > div { padding: 23px 24px; border-right: 0; border-bottom: 1px solid var(--tcs-border); }
    .profile-data-grid > div:last-child { border-bottom: 0; }
}
.profile-data-grid dt { margin-bottom: 9px; color: var(--tcs-muted); font-size: .62rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.profile-data-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--tcs-paper); font-size: clamp(.92rem, 1.8vw, 1.08rem); font-weight: 570; }
.profile-panel-body { padding: 30px 32px; }
.profile-panel-body .text-dark { color: var(--tcs-paper) !important; }
.profile-panel-body .text-muted { color: var(--tcs-muted) !important; }
.profile-panel-body .border-top { border-color: var(--tcs-border) !important; }
.profile-panel-body .list-group-item { color: var(--tcs-paper); background: transparent; border-color: var(--tcs-border); }

.admin-page { width: min(100%, 1280px); margin: 0 auto; padding: clamp(34px, 5vw, 68px) 0 clamp(60px, 8vw, 110px); }
.admin-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: clamp(30px, 4vw, 50px); border-bottom: 1px solid var(--tcs-border); }
.admin-page-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.25rem, 5vw, 4.6rem); font-weight: 780; line-height: .98; letter-spacing: -.05em; text-transform: uppercase; }
.admin-page-header > div > p:last-child { max-width: 650px; margin: 18px 0 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.7; }
.admin-primary-action { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 0 20px; color: var(--tcs-ink); background: var(--tcs-paper); border: 1px solid var(--tcs-paper); border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: background-color .2s ease, transform .2s ease; }
.admin-primary-action:hover, .admin-primary-action:focus-visible { color: var(--tcs-ink); background: #fffaf0; transform: translateY(-2px); outline: 0; }
.admin-page-tabs { display: flex; align-items: center; gap: 8px; margin-top: 24px; padding: 5px; background: #111110; border: 1px solid var(--tcs-border); border-radius: 999px; width: fit-content; max-width: 100%; overflow-x: auto; }
.admin-page-tab { display: inline-flex; align-items: center; gap: 8px; padding: 8px 18px; color: rgba(245, 239, 224, .7); background: transparent; border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; white-space: nowrap; transition: all .2s ease; cursor: pointer; border: 0; }
.admin-page-tab:hover { color: var(--tcs-paper); background: rgba(245, 239, 224, .06); }
.admin-page-tab.active { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; font-weight: 800; }
.admin-page-tab .badge { padding: 3px 8px; font-size: .56rem; font-weight: 800; border-radius: 999px; }
.admin-page-tab.active .badge { background: var(--tcs-ink) !important; color: var(--tcs-paper) !important; }
.admin-toolbar { display: grid; grid-template-columns: minmax(280px, 1fr) minmax(190px, 260px) auto; align-items: center; gap: 12px; padding: 22px 0; }
.admin-search { position: relative; }
.admin-search > span { position: absolute; z-index: 1; top: 50%; left: 17px; color: var(--tcs-muted); font-size: 1.1rem; transform: translateY(-50%); pointer-events: none; }
.admin-search .form-control { padding-left: 46px; }
.admin-filter { min-width: 190px; }
.admin-result-count { padding-left: 10px; color: var(--tcs-muted); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.admin-table-panel { overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.admin-table { min-width: 980px; --bs-table-bg: transparent; --bs-table-color: var(--tcs-paper); --bs-table-hover-bg: rgba(245,239,224,.035); --bs-table-hover-color: var(--tcs-paper); }
.admin-table > thead { background: #1a1917; }
.admin-table > thead th { padding: 17px 18px; color: var(--tcs-muted); background: transparent; border: 0; border-bottom: 1px solid var(--tcs-border); font-size: .58rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.admin-table > tbody td { padding: 18px; color: rgba(245,239,224,.82); background: transparent; border-color: rgba(245,239,224,.09); font-size: .76rem; vertical-align: middle; }
.admin-table > tbody tr:last-child td { border-bottom: 0; }
.admin-table > tbody tr { transition: background-color .18s ease; }
.table-id { color: var(--tcs-muted) !important; font-family: monospace; font-size: .69rem !important; }
.table-name { color: var(--tcs-paper) !important; font-weight: 700; }
.table-email { overflow-wrap: anywhere; }
.table-muted { color: #706c65; }
.table-role, .table-store { display: inline-flex; align-items: center; min-height: 27px; padding: 0 9px; border: 1px solid var(--tcs-border); border-radius: 6px; color: rgba(245,239,224,.8); background: rgba(245,239,224,.035); font-size: .58rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.table-role[data-role="admin"] { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.table-actions { display: inline-flex; align-items: center; border: 1px solid var(--tcs-border); border-radius: 7px; overflow: hidden; }
.table-action { min-height: 31px; display: inline-flex; align-items: center; padding: 0 9px; color: var(--tcs-muted); background: transparent; border: 0; border-right: 1px solid var(--tcs-border); font-family: inherit; font-size: .61rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: color .18s ease, background-color .18s ease; }
.table-action:last-child { border-right: 0; }
.table-action:hover, .table-action:focus-visible { color: var(--tcs-ink); background: var(--tcs-paper); outline: 0; }
.admin-empty { padding: 70px 24px; text-align: center; }
.admin-empty span { color: var(--tcs-muted); font-size: 1.5rem; }
.admin-empty p { margin: 12px 0 0; color: var(--tcs-muted); font-size: .78rem; }
.admin-table-panel .spinner-border { color: var(--tcs-paper) !important; }
.admin-table-panel .text-danger { color: var(--tcs-muted) !important; }
.requests-table { min-width: 1120px; }
.table-count { width: 30px; height: 30px; display: inline-grid; place-items: center; color: var(--tcs-paper); background: rgba(245,239,224,.05); border: 1px solid var(--tcs-border); border-radius: 50%; font-size: .65rem; font-weight: 750; }
.request-status { display: inline-flex; align-items: center; gap: 7px; min-height: 29px; padding: 0 10px; color: rgba(245,239,224,.78); background: transparent; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .58rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.request-status::before { content: ""; width: 6px; height: 6px; border: 1px solid currentColor; border-radius: 50%; }
.request-status[data-status="approved"] { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.request-status[data-status="approved"]::before { background: currentColor; }
.request-status[data-status="rejected"] { color: #77736d; border-style: dashed; }
.request-review-action { min-height: 34px; justify-content: center; gap: 8px; border: 1px solid var(--tcs-border); border-radius: 7px; white-space: nowrap; }
.request-review-action span { transition: transform .18s ease; }
.request-review-action:hover span, .request-review-action:focus-visible span { transform: translateX(3px); }
.sponsor-toolbar { display: grid; grid-template-columns: auto minmax(260px, 1fr) auto; align-items: center; gap: 14px; padding: 22px 0; }
.admin-segmented-filters { display: inline-flex; align-items: center; padding: 3px; background: #111110; border: 1px solid var(--tcs-border); border-radius: 9px; }
.admin-filter-tab { min-height: 38px; display: inline-flex; align-items: center; gap: 8px; padding: 0 11px; color: var(--tcs-muted); background: transparent; border: 0; border-radius: 6px; font-family: inherit; font-size: .63rem; font-weight: 700; cursor: pointer; transition: color .18s ease, background-color .18s ease; }
.admin-filter-tab:hover, .admin-filter-tab:focus-visible { color: var(--tcs-paper); outline: 0; }
.admin-filter-tab.active { color: var(--tcs-ink); background: var(--tcs-paper); }
.filter-count { min-width: 21px; height: 21px; display: inline-grid; place-items: center; color: inherit; background: rgba(128,128,128,.13); border-radius: 5px; font-size: .57rem; }
.admin-filter-tab.active .filter-count { background: rgba(0,0,0,.1); }
.sponsor-search { min-width: 0; }
.sponsors-table { min-width: 1120px; }
.sponsor-avatar-shell { width: 38px; height: 38px; display: block; flex: 0 0 38px; margin-right: 10px; }
.sponsor-avatar { width: 38px; height: 38px; display: block; object-fit: cover; background: #1a1917; border: 1px solid var(--tcs-border); border-radius: 7px; }
.sponsor-avatar-placeholder { display: grid; place-items: center; flex: 0 0 38px; margin-right: 10px; color: var(--tcs-muted); font-size: .68rem; font-weight: 800; }
.sponsor-avatar-shell .sponsor-avatar-placeholder { margin-right: 0; }
.table-tag { display: inline-flex; margin: 2px 4px 2px 0; padding: 5px 7px; color: var(--tcs-muted); background: rgba(245,239,224,.035); border: 1px solid var(--tcs-border); border-radius: 5px; font-size: .56rem; font-weight: 700; }

.admin-detail-page { width: min(100%, 1180px); margin: 0 auto; padding: clamp(28px, 4vw, 52px) 0 clamp(60px, 8vw, 100px); }
.admin-detail-header { padding-bottom: clamp(32px, 5vw, 56px); }
.admin-detail-header h1 { max-width: 980px; margin: 0; color: var(--tcs-paper); font-size: clamp(2.25rem, 5vw, 4.5rem); font-weight: 780; line-height: 1; letter-spacing: -.052em; text-transform: uppercase; }
.admin-detail-header > p:last-child { max-width: 650px; margin: 18px 0 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.7; }
.admin-detail-loading { min-height: 230px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); border-top: 1px solid var(--tcs-border); }
.admin-detail-loading .spinner-border { width: 1.6rem; height: 1.6rem; color: var(--tcs-paper); }
.admin-detail-loading p { margin: 0; font-size: .72rem; }
.detail-status-banner { min-height: 68px; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 22px; padding: 16px 20px; color: var(--tcs-paper); background: #151513; border: 1px solid var(--tcs-border); border-radius: 10px; }
.detail-status-label { display: flex; align-items: center; gap: 11px; }
.detail-status-label i { width: 8px; height: 8px; flex: 0 0 8px; border: 1px solid currentColor; border-radius: 50%; }
.detail-status-banner[data-status="approved"] { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.detail-status-banner[data-status="approved"] i { background: currentColor; }
.detail-status-banner[data-status="rejected"] { color: #77736d; border-style: dashed; }
.detail-status-banner strong { font-size: .72rem; font-weight: 750; }
.detail-status-banner > span { font-size: .65rem; }
.admin-detail-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr); gap: 22px; align-items: start; }
.detail-sidebar { display: grid; gap: 22px; }
.detail-panel { overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.detail-panel-heading { min-height: 65px; display: flex; align-items: center; padding: 20px 24px; background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.detail-panel-heading .section-kicker { margin: 0; }
.detail-panel-body { padding: 26px; }
.detail-sponsor-logo { display: grid; place-items: center; min-height: 190px; margin-bottom: 26px; padding: 24px; background: #1a1917; border: 1px solid var(--tcs-border); border-radius: 9px; }
.detail-sponsor-logo img { display: block; max-width: 100%; max-height: 150px; object-fit: contain; }
.detail-data-grid { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--tcs-border); border-left: 1px solid var(--tcs-border); }
.detail-data-grid > div { min-width: 0; padding: 22px; border-right: 1px solid var(--tcs-border); border-bottom: 1px solid var(--tcs-border); }
.detail-data-grid .detail-data-wide { grid-column: 1 / -1; }
.detail-data-grid dt { margin-bottom: 9px; color: var(--tcs-muted); font-size: .59rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.detail-data-grid dd { margin: 0; overflow-wrap: anywhere; color: var(--tcs-paper); font-size: .85rem; line-height: 1.65; }
.detail-data-grid > div:not(.detail-data-wide) dd { font-size: 1rem; font-weight: 680; }
.detail-proposal { min-height: 90px; white-space: pre-line; }
.detail-muted { margin: 0; color: var(--tcs-muted); font-size: .72rem; line-height: 1.65; }
.detail-social-list { display: grid; gap: 9px; }
.detail-social-link { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; color: var(--tcs-muted); border-bottom: 1px solid var(--tcs-border); font-size: .68rem; text-decoration: none; overflow-wrap: anywhere; transition: color .18s ease; }
.detail-social-link:last-child { border-bottom: 0; }
.detail-social-link:hover, .detail-social-link:focus-visible { color: var(--tcs-paper); outline: 0; }
.decision-actions { display: grid; gap: 10px; margin-top: 20px; }
.decision-action { min-height: 47px; padding: 0 16px; border-radius: 999px; font-family: inherit; font-size: .66rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; transition: color .18s ease, background-color .18s ease; }
.decision-approve { color: var(--tcs-ink); background: var(--tcs-paper); border: 1px solid var(--tcs-paper); }
.decision-reject { color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); }
.decision-approve:hover, .decision-approve:focus-visible { background: #fffaf0; outline: 0; }
.decision-reject:hover, .decision-reject:focus-visible { color: var(--tcs-paper); background: rgba(245,239,224,.05); outline: 0; }
.decision-action:disabled { opacity: .55; cursor: wait; }

.redeem-page { width: min(100%, 1180px); margin: 0 auto; padding: clamp(34px, 5vw, 68px) 0 clamp(60px, 8vw, 105px); }
.redeem-page > .row > [class*="col-"] { width: 100%; max-width: none; padding: 0; }
.redeem-header { margin-bottom: 28px; }
.redeem-live-label { display: inline-flex; align-items: center; gap: 9px; padding: 9px 12px; color: var(--tcs-muted); border: 1px solid var(--tcs-border); border-radius: 7px; font-size: .58rem; font-weight: 750; letter-spacing: .1em; white-space: nowrap; }
.redeem-live-label i { width: 7px; height: 7px; background: var(--tcs-paper); border-radius: 50%; box-shadow: 0 0 0 4px rgba(245,239,224,.08); }
.redeem-page .card { color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border) !important; border-radius: 12px; box-shadow: none !important; overflow: hidden; }
.redeem-page .card-header { min-height: 58px; display: flex; align-items: center; padding: 16px 20px !important; color: var(--tcs-paper) !important; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); }
.redeem-page .card-header h5, .redeem-page .card-header h6 { font-size: .72rem; font-weight: 750 !important; letter-spacing: .05em; }
.redeem-page .card-body { background: transparent; }
.redeem-page #reader { min-height: 300px !important; background: #050505 !important; border: 1px solid var(--tcs-border); border-radius: 9px !important; }
.redeem-page #reader video { object-fit: cover; }
.redeem-page .badge { color: var(--tcs-muted) !important; background: transparent !important; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .58rem; font-weight: 750; }
.redeem-page #badgeEstadoCamara { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; border-color: var(--tcs-paper); }
.redeem-page #badgeEstadoCamara.bg-secondary { color: var(--tcs-muted) !important; background: transparent !important; border-color: var(--tcs-border); }
.redeem-page .btn { min-height: 40px; padding-inline: 15px; color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .64rem; font-weight: 750; }
.redeem-page .btn:hover, .redeem-page .btn:focus-visible { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); box-shadow: none; }
.redeem-page .btn-primary { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.redeem-page .input-group .form-control { min-height: 50px; padding-left: 18px; border-radius: 8px 0 0 8px; }
.redeem-page .input-group .btn { min-height: 50px; border-radius: 0 8px 8px 0; }
.redeem-page #tarjetaResultado { min-height: 100%; }
.redeem-page #contenedorEstadoInicial { min-height: 480px; }
.redeem-page .text-muted { color: var(--tcs-muted) !important; }
.redeem-page .text-dark, .redeem-page .text-primary, .redeem-page .text-success, .redeem-page .text-danger { color: var(--tcs-paper) !important; }
.redeem-page .bg-light { color: var(--tcs-paper) !important; background: #151513 !important; border-color: var(--tcs-border) !important; }
.redeem-page .bg-success, .redeem-page .bg-danger, .redeem-page .bg-warning, .redeem-page .bg-info { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; }
.redeem-page .alert { color: var(--tcs-paper); background: rgba(245,239,224,.055); border-color: var(--tcs-border); }
.redeem-page #contenedorExito > .text-center > div,
.redeem-page #contenedorYaCanjeado > .text-center > div,
.redeem-page #contenedorInvalido > .text-center > div { box-shadow: none !important; }
.redeem-page #contenedorYaCanjeado > .text-center > div { color: var(--tcs-muted) !important; background: transparent !important; border: 1px dashed var(--tcs-muted); }
.redeem-page #contenedorInvalido > .text-center > div { color: var(--tcs-paper) !important; background: transparent !important; border: 1px solid var(--tcs-border); }
.redeem-page .table { --bs-table-bg: transparent; --bs-table-color: var(--tcs-paper); --bs-table-hover-bg: rgba(245,239,224,.035); --bs-table-hover-color: var(--tcs-paper); min-width: 760px; }
.redeem-page .table thead { background: #1a1917; }
.redeem-page .table thead th { padding: 15px 18px; color: var(--tcs-muted); background: transparent; border-color: var(--tcs-border); font-size: .58rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.redeem-page .table tbody td { padding: 16px 18px; color: rgba(245,239,224,.8); background: transparent; border-color: rgba(245,239,224,.09); font-size: .72rem; }
.redeem-page .font-monospace { color: var(--tcs-paper) !important; }

.buyer-events-page { width: min(100%, 1240px); margin: 0 auto; padding: clamp(38px, 6vw, 78px) 0 clamp(70px, 9vw, 120px); }
.buyer-events-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; padding-bottom: clamp(36px, 5vw, 64px); border-bottom: 1px solid var(--tcs-border); }
.buyer-events-header h1 { max-width: 850px; margin: 0; color: var(--tcs-paper); font-size: clamp(2.7rem, 6vw, 5.5rem); font-weight: 780; line-height: .95; letter-spacing: -.058em; text-transform: uppercase; }
.buyer-events-header > div > p:last-child { max-width: 660px; margin: 22px 0 0; color: var(--tcs-muted); font-size: .86rem; line-height: 1.75; }
.buyer-events-toolbar { display: grid; grid-template-columns: minmax(260px, 470px) auto; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0 30px; }
.buyer-events-count { display: flex; align-items: center; gap: 12px; color: var(--tcs-muted); font-size: .63rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.buyer-events-count strong { width: 31px; height: 31px; display: grid; place-items: center; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 50%; font-size: .67rem; }
.buyer-events-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.buyer-events-loading { grid-column: 1 / -1; min-height: 320px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); }
.buyer-events-loading .spinner-border { width: 1.6rem; height: 1.6rem; color: var(--tcs-paper); }
.buyer-events-loading p { margin: 0; font-size: .72rem; }
.buyer-event-item { min-width: 0; }
.buyer-event-card { height: 100%; display: flex; flex-direction: column; overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; transition: transform .25s ease, border-color .25s ease; }
.buyer-event-card:hover { transform: translateY(-4px); border-color: rgba(245,239,224,.3); }
.buyer-event-image { position: relative; height: 225px; overflow: hidden; background: #1a1917; }
.buyer-event-image::after { content: ""; position: absolute; inset: auto 0 0; height: 45%; background: linear-gradient(transparent, rgba(0,0,0,.72)); pointer-events: none; }
.buyer-event-image img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .5s ease; }
.buyer-event-card:hover .buyer-event-image img { transform: scale(1.035); }
.buyer-event-image-fallback { display: grid; place-items: center; color: var(--tcs-muted); font-size: .7rem; font-weight: 700; letter-spacing: .2em; }
.buyer-event-image-fallback::after { display: none; }
.buyer-event-logo-banner { display: grid; place-items: center; padding: 38px clamp(42px, 6vw, 76px); background: #1a1917; }
.buyer-event-logo-banner::after { display: none; }
.buyer-event-logo-banner img { width: min(100%, 190px); height: 100%; object-fit: contain; opacity: .9; }
.buyer-event-card:hover .buyer-event-logo-banner img { transform: scale(1.025); }
.buyer-event-content { flex: 1; display: flex; flex-direction: column; padding: 25px; }
.buyer-event-date { align-self: flex-start; margin-bottom: 16px; padding-bottom: 7px; color: var(--tcs-paper); border-bottom: 1px solid var(--tcs-border); font-size: .61rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.buyer-event-content h2 { margin: 0; color: var(--tcs-paper); font-size: clamp(1.25rem, 2.2vw, 1.7rem); font-weight: 740; line-height: 1.08; letter-spacing: -.04em; }
.buyer-event-description { display: -webkit-box; margin: 14px 0 22px; overflow: hidden; color: var(--tcs-muted); font-size: .73rem; line-height: 1.65; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.buyer-event-location { margin-top: auto; padding-top: 19px; border-top: 1px solid var(--tcs-border); }
.buyer-event-location .section-kicker { margin-bottom: 8px; }
.buyer-event-location strong, .buyer-event-location small { display: block; }
.buyer-event-location strong { color: rgba(245,239,224,.84); font-size: .72rem; line-height: 1.45; }
.buyer-event-location small { margin-top: 4px; color: var(--tcs-muted); font-size: .64rem; }
.buyer-event-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding: 15px 0 2px; color: var(--tcs-paper); border-top: 1px solid var(--tcs-border); font-size: .64rem; font-weight: 750; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.buyer-event-action span:last-child { font-size: .95rem; transition: transform .2s ease; }
.buyer-event-action:hover span:last-child, .buyer-event-action:focus-visible span:last-child { transform: translateX(4px); }
.buyer-events-empty { padding: 90px 24px; color: var(--tcs-muted); text-align: center; border-block: 1px solid var(--tcs-border); }
.buyer-events-empty span { font-size: 1.5rem; }
.buyer-events-empty h2 { margin: 14px 0 0; font-size: 1rem; font-weight: 600; }
.buyer-events-grid .text-danger { grid-column: 1 / -1; color: var(--tcs-muted) !important; }

.admin-form-page { width: min(100%, 920px); margin: 0 auto; padding: clamp(28px, 4vw, 52px) 0 clamp(60px, 8vw, 100px); }
.admin-back-link { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 34px; color: var(--tcs-muted); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; transition: color .18s ease, transform .18s ease; }
.admin-back-link:hover, .admin-back-link:focus-visible { color: var(--tcs-paper); transform: translateX(-3px); outline: 0; }
.admin-form-header { padding-bottom: clamp(30px, 4vw, 48px); }
.admin-form-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.3rem, 5.3vw, 4.5rem); font-weight: 780; line-height: .98; letter-spacing: -.052em; text-transform: uppercase; }
.admin-form-header h1 small { color: var(--tcs-muted); font-size: .32em; font-weight: 650; letter-spacing: .02em; vertical-align: middle; }
.admin-form-header > p:last-child { max-width: 610px; margin: 18px 0 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.7; }
.admin-form-panel { overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.admin-form-panel-heading { display: grid; grid-template-columns: .55fr 1fr; gap: 32px; padding: 25px 30px; background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.admin-form-panel-heading .section-kicker { margin: 0; }
.admin-form-panel-heading p { margin: 0; color: var(--tcs-muted); font-size: .72rem; line-height: 1.6; }
.admin-form-body { padding: clamp(26px, 4vw, 42px); }
.admin-form-body .form-label { margin-bottom: 9px; color: rgba(245,239,224,.82); font-size: .68rem; font-weight: 700; letter-spacing: .04em; }
.admin-form-body .form-select, .admin-filter { padding-right: 48px; background-color: #151513; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23f5efe0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 17px center; background-size: 14px 14px; border-color: rgba(245,239,224,.25); cursor: pointer; }
.admin-form-body .form-select:hover, .admin-filter:hover { border-color: rgba(245,239,224,.42); background-color: #191917; }
.admin-form-body .form-select option, .admin-filter option { color: var(--tcs-paper); background: #151513; }
.admin-form-body .text-danger { color: var(--tcs-paper) !important; }
.admin-form-body .alert-danger { color: var(--tcs-paper); background: rgba(245,239,224,.07); border-color: rgba(245,239,224,.25); }
.admin-form-body .spinner-border { color: var(--tcs-paper) !important; }
.admin-form-body .text-muted { color: var(--tcs-muted) !important; }
.admin-field-hint { display: block; margin-top: 8px; color: var(--tcs-muted); font-size: .65rem; line-height: 1.5; }
.admin-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 12px; margin-top: 36px; padding-top: 26px; border-top: 1px solid var(--tcs-border); }
.admin-secondary-action, .admin-submit-action { min-height: 47px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border-radius: 999px; font-family: inherit; font-size: .67rem; font-weight: 800; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; transition: color .18s ease, background-color .18s ease, transform .18s ease; }
.admin-secondary-action { color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); }
.admin-secondary-action:hover, .admin-secondary-action:focus-visible { color: var(--tcs-paper); background: rgba(245,239,224,.05); outline: 0; }
.admin-submit-action { gap: 22px; color: var(--tcs-ink); background: var(--tcs-paper); border: 1px solid var(--tcs-paper); cursor: pointer; }
.admin-submit-action::after { content: "→"; font-size: .9rem; }
.admin-submit-action:hover, .admin-submit-action:focus-visible { color: var(--tcs-ink); background: #fffaf0; transform: translateY(-2px); outline: 0; }
.admin-submit-action:disabled { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); opacity: .62; cursor: wait; transform: none; }

.buyer-purchase-page { width: min(100%, 1180px); margin: 0 auto; padding: clamp(28px, 4vw, 54px) 0 clamp(72px, 9vw, 118px); }
.buyer-purchase-header { max-width: 900px; padding-bottom: clamp(34px, 5vw, 58px); }
.buyer-purchase-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.45rem, 5.6vw, 5rem); font-weight: 780; line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.buyer-purchase-header > p:last-child { max-width: 650px; margin: 19px 0 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.7; }
.buyer-purchase-page .admin-detail-loading { min-height: 300px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); border-top: 1px solid var(--tcs-border); }
.buyer-purchase-page .admin-detail-loading .spinner-border { color: var(--tcs-paper); }
.buyer-purchase-page .admin-detail-loading p { margin: 0; font-size: .72rem; }
.buyer-purchase-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(300px, .85fr); align-items: start; gap: clamp(22px, 3vw, 38px); }
.buyer-purchase-main { min-width: 0; }
.purchase-event-panel { overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.purchase-event-banner { position: relative; height: clamp(210px, 28vw, 325px); overflow: hidden; background: #1a1917; }
.purchase-event-banner::after { content: ""; position: absolute; inset: auto 0 0; height: 42%; background: linear-gradient(transparent, rgba(0,0,0,.78)); pointer-events: none; }
.purchase-event-banner img { width: 100%; height: 100%; display: block; object-fit: cover; }
.purchase-event-content { padding: clamp(25px, 4vw, 40px); }
.purchase-event-meta { display: flex; flex-wrap: wrap; gap: 9px 22px; margin-bottom: 19px; color: var(--tcs-muted); font-size: .62rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.purchase-event-meta span + span { position: relative; padding-left: 22px; }
.purchase-event-meta span + span::before { content: ""; position: absolute; top: 50%; left: 0; width: 3px; height: 3px; background: var(--tcs-muted); border-radius: 50%; transform: translateY(-50%); }
.purchase-event-content h2 { margin: 0; color: var(--tcs-paper); font-size: clamp(1.75rem, 3.4vw, 2.8rem); font-weight: 750; line-height: 1.05; letter-spacing: -.045em; }
.purchase-multiple-pass-note { max-width: 700px; display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: start; gap: 10px; margin-top: 19px; padding: 13px 15px; color: rgba(245,239,224,.82); background: rgba(245,239,224,.045); border: 1px solid var(--tcs-border); border-radius: 8px; }
.purchase-multiple-pass-note > span { width: 20px; height: 20px; display: grid; place-items: center; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 50%; font-size: .65rem; font-weight: 800; font-style: normal; }
.purchase-multiple-pass-note p { margin: 0; font-size: .68rem; line-height: 1.6; }
.purchase-multiple-pass-note strong { color: var(--tcs-paper); font-weight: 780; }
.purchase-event-content > p { max-width: 700px; margin: 16px 0 0; color: var(--tcs-muted); font-size: .76rem; line-height: 1.75; }
.purchase-section-heading { margin: clamp(40px, 5vw, 62px) 0 20px; }
.purchase-section-heading h2 { margin: 8px 0 0; color: var(--tcs-paper); font-size: clamp(1.55rem, 3vw, 2.2rem); font-weight: 740; letter-spacing: -.04em; }
.buyer-pass-list { display: grid; gap: 12px; }
.buyer-pass-option { display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; padding: 25px 27px; color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border); border-radius: 10px; cursor: pointer; transition: border-color .2s ease, background-color .2s ease, transform .2s ease; }
.buyer-pass-option:hover { border-color: rgba(245,239,224,.35); transform: translateY(-2px); }
.buyer-pass-option.is-selected { background: rgba(245,239,224,.055); border-color: rgba(245,239,224,.72); }
.buyer-pass-copy { min-width: 0; }
.buyer-pass-name { display: flex; align-items: center; gap: 12px; }
.buyer-pass-name h3 { margin: 0; color: var(--tcs-paper); font-size: 1.05rem; font-weight: 720; letter-spacing: -.02em; }
.buyer-pass-option .form-check-input { flex: 0 0 auto; width: 16px; height: 16px; margin: 0; background-color: transparent; border-color: rgba(245,239,224,.52); box-shadow: none; cursor: pointer; }
.buyer-pass-option .form-check-input:checked { background-color: var(--tcs-paper); background-image: radial-gradient(circle, var(--tcs-ink) 0 28%, transparent 32%); border-color: var(--tcs-paper); }
.buyer-pass-option .form-check-input:focus { border-color: var(--tcs-paper); box-shadow: 0 0 0 .18rem rgba(245,239,224,.1); }
.buyer-pass-description { margin: 10px 0 15px 28px; color: var(--tcs-muted); font-size: .7rem; line-height: 1.55; }
.buyer-pass-benefits { margin-left: 28px; }
.buyer-pass-benefits > span { display: block; margin-bottom: 8px; color: var(--tcs-muted); font-size: .56rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.buyer-pass-benefits > div, .purchase-benefits { display: flex; flex-wrap: wrap; gap: 6px; }
.buyer-pass-benefits .buyer-pass-benefit-description { display: block; color: rgba(245,239,224,.78); font-size: .7rem; line-height: 1.55; overflow-wrap: anywhere; }
.purchase-benefit-tag { display: inline-flex; padding: 6px 9px; color: rgba(245,239,224,.84); background: rgba(245,239,224,.06); border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .58rem; font-weight: 650; line-height: 1.2; }
.purchase-benefit-empty { color: var(--tcs-muted); font-size: .63rem; font-style: italic; }
.buyer-pass-price { flex: 0 0 auto; text-align: right; }
.buyer-pass-price strong, .buyer-pass-price span { display: block; }
.buyer-pass-price strong { color: var(--tcs-paper); font-size: 1.25rem; font-weight: 730; white-space: nowrap; }
.buyer-pass-price span { margin-top: 4px; color: var(--tcs-muted); font-size: .6rem; }
.buyer-purchase-empty { margin-top: 12px; padding: 38px 24px; color: var(--tcs-muted); background: #111110; border: 1px dashed var(--tcs-border); border-radius: 10px; text-align: center; font-size: .73rem; }
.buyer-order-summary { position: sticky; top: 94px; }
.purchase-summary-panel { overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.purchase-summary-heading { padding: 25px 27px; background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.purchase-summary-heading h2 { margin: 8px 0 0; color: var(--tcs-paper); font-size: 1.3rem; font-weight: 720; letter-spacing: -.035em; }
.purchase-summary-body { padding: 27px; }
.purchase-summary-empty { padding: 42px 8px; color: var(--tcs-muted); font-size: .7rem; line-height: 1.65; text-align: center; }
.purchase-selected-pass { padding-bottom: 21px; border-bottom: 1px solid var(--tcs-border); }
.purchase-selected-pass h3 { margin: 8px 0 0; color: var(--tcs-paper); font-size: 1.2rem; font-weight: 720; }
.purchase-selected-pass p { margin: 8px 0 0; color: var(--tcs-muted); font-size: .68rem; line-height: 1.55; }
.purchase-summary-body .form-label { color: rgba(245,239,224,.78) !important; font-size: .62rem !important; letter-spacing: .035em; }
.purchase-summary-body .text-muted { color: var(--tcs-muted) !important; }
.purchase-quantity { margin: 0 0 23px; padding: 22px 0; border-bottom: 1px solid var(--tcs-border); }
.purchase-quantity-control { width: 100%; max-width: 100%; height: 46px; display: flex; margin-top: 5px; overflow: hidden; background: #0b0b0a; border: 1px solid var(--tcs-border); border-radius: 999px; box-sizing: border-box; }
.purchase-quantity-control .btn, .purchase-quantity-control .form-control { min-width: 0; min-height: 0; height: 44px; margin: 0 !important; color: var(--tcs-paper); background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.purchase-quantity-control .btn { width: 44px !important; flex: 0 0 44px; padding: 0; font-size: 1rem; }
.purchase-quantity-control .form-control { width: 0 !important; flex: 1 1 0; border-inline: 1px solid var(--tcs-border); text-align: center; }
.purchase-quantity-control .form-control:focus { background: transparent; box-shadow: none; }
.purchase-quantity .btn:first-child { border-radius: 999px 0 0 999px; }
.purchase-quantity .btn:last-child { border-radius: 0 999px 999px 0; }
.purchase-quantity .btn:hover, .purchase-quantity .btn:focus { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.purchase-totals { display: grid; gap: 13px; color: var(--tcs-muted); font-size: .68rem; }
.purchase-totals > div { display: flex; align-items: baseline; justify-content: space-between; gap: 15px; }
.purchase-totals .fw-bold { color: rgba(245,239,224,.82); }
.purchase-grand-total { margin-top: 4px; padding-top: 17px; border-top: 1px solid var(--tcs-border); }
.purchase-grand-total span:first-child { color: var(--tcs-paper); font-weight: 700; }
.purchase-grand-total #resumenTotalPagar { color: var(--tcs-paper) !important; font-size: 1.25rem; font-weight: 750; }
.purchase-checkout-action { width: 100%; margin-top: 25px; }
.purchase-checkout-action::after { display: none; }

.buyer-checkout-page { width: min(100%, 1040px); margin: 0 auto; padding: clamp(30px, 5vw, 68px) 0 clamp(76px, 9vw, 120px); }
.buyer-checkout-shell { width: 100%; }
.buyer-checkout-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: clamp(34px, 5vw, 58px); }
.buyer-checkout-header h1 { max-width: 750px; margin: 0; color: var(--tcs-paper); font-size: clamp(2.4rem, 5.4vw, 4.7rem); font-weight: 780; line-height: .96; letter-spacing: -.055em; text-transform: uppercase; }
.buyer-checkout-header > div > p:last-child { margin: 18px 0 0; color: var(--tcs-muted); font-size: .8rem; line-height: 1.65; }
.checkout-back-link { flex: 0 0 auto; margin: 0 0 4px; }
.checkout-loading { min-height: 330px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); border-top: 1px solid var(--tcs-border); }
.checkout-loading .spinner-border { color: var(--tcs-paper); }
.checkout-loading p { margin: 0 !important; color: var(--tcs-muted) !important; }
.checkout-panel { margin-bottom: 18px; overflow: hidden; color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.checkout-panel-heading { display: flex; align-items: center; justify-content: space-between; gap: 22px; padding: 23px 28px; background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.checkout-panel-heading h2 { margin: 7px 0 0; color: var(--tcs-paper); font-size: 1.35rem; font-weight: 720; letter-spacing: -.035em; }
.checkout-panel-body { padding: clamp(24px, 4vw, 38px); }
.checkout-order-panel .row > div:first-child { border-color: var(--tcs-border) !important; }
.checkout-event-date { display: inline-flex; margin-bottom: 12px; padding-bottom: 6px; color: var(--tcs-paper); border-bottom: 1px solid var(--tcs-border); font-size: .62rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.checkout-order-panel h4 { color: var(--tcs-paper) !important; font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing: -.035em; }
.checkout-order-panel .text-muted { color: var(--tcs-muted) !important; }
.checkout-pass-summary { padding: 20px; background: #0b0b0a; border: 1px solid var(--tcs-border); border-radius: 9px; }
.checkout-pass-summary strong { color: var(--tcs-paper) !important; }
.checkout-pass-count { display: inline-flex; padding: 6px 9px; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 999px; font-size: .62rem; font-weight: 800; }
.checkout-order-panel h6 { color: var(--tcs-muted) !important; font-size: .58rem !important; letter-spacing: .1em; }
.checkout-order-panel .border-top { border-color: var(--tcs-border) !important; }
.checkout-order-panel #chkTotalMonto, .checkout-order-panel .text-dark { color: var(--tcs-paper) !important; }
.checkout-security-badge { display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px; color: rgba(245,239,224,.82); border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .57rem; font-weight: 750; letter-spacing: .05em; text-transform: uppercase; }
.checkout-security-badge::before { content: "✓"; }
.checkout-payment-panel .form-label { margin-bottom: 9px; color: rgba(245,239,224,.82); font-size: .68rem !important; }
.checkout-payment-panel .text-danger { color: var(--tcs-paper) !important; }
.checkout-card-element { min-height: 52px; padding: 16px; background: #070707; border: 1px solid var(--tcs-border); border-radius: 8px; }
.checkout-legal-panel { margin-bottom: 25px; padding: 20px; color: var(--tcs-muted); background: rgba(245,239,224,.035); border: 1px solid var(--tcs-border); border-radius: 9px; }
.checkout-legal-panel h6 { color: var(--tcs-paper) !important; }
.checkout-legal-panel a { color: var(--tcs-paper) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.checkout-legal-panel .form-check-input { width: 17px; height: 17px; margin-top: .14em; background-color: transparent; border-color: rgba(245,239,224,.45); border-radius: 4px; box-shadow: none; cursor: pointer; }
.checkout-legal-panel .form-check-input:checked { background-color: var(--tcs-paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23090909' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.2 8.2 3 3 6.6-6.6'/%3E%3C/svg%3E"); border-color: var(--tcs-paper); }
.checkout-legal-panel .form-check-input:focus { border-color: var(--tcs-paper); box-shadow: 0 0 0 .18rem rgba(245,239,224,.1); }
.checkout-legal-panel .form-check-label { line-height: 1.55; cursor: pointer; }
.checkout-pay-action { width: 100%; }
.checkout-pay-action::after { margin-left: auto; }
.checkout-payment-panel .alert { color: var(--tcs-paper); background: rgba(245,239,224,.055); border-color: var(--tcs-border); }
.checkout-success-panel { padding: clamp(30px, 6vw, 62px); color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.checkout-success-mark { width: 66px; height: 66px; display: inline-grid; place-items: center; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 50%; }
.checkout-success-panel h3, .checkout-success-panel h5, .checkout-success-panel .text-dark, .checkout-success-panel .text-primary { color: var(--tcs-paper) !important; }
.checkout-success-panel > h3 { font-size: clamp(1.8rem, 4vw, 3rem); letter-spacing: -.045em; }
.checkout-success-panel .text-muted { color: var(--tcs-muted) !important; }
.checkout-success-data { margin-bottom: 28px; padding: 21px; color: var(--tcs-muted); background: #0b0b0a; border: 1px solid var(--tcs-border); border-radius: 9px; }
.checkout-success-data strong { margin-top: 5px; color: var(--tcs-paper) !important; }
.checkout-qr-card { height: 100%; display: flex; align-items: center; flex-direction: column; padding: 20px; background: #0b0b0a; border: 1px solid var(--tcs-border); border-radius: 10px; }
.checkout-qr-title { margin-bottom: 14px; color: var(--tcs-muted); font-size: .59rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.checkout-qr-image { padding: 10px; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 7px; cursor: pointer; }
.checkout-qr-image img { display: block; }
.checkout-qr-image div { margin-top: 7px; font-size: .58rem; font-weight: 750; }
.checkout-qr-code { margin: 15px 0; }
.checkout-qr-code small, .checkout-qr-code strong { display: block; }
.checkout-qr-code small { color: var(--tcs-muted); }
.checkout-qr-code strong { margin-top: 5px; color: var(--tcs-paper); font-family: monospace; font-size: .9rem; }
.checkout-qr-download { width: 100%; }
.checkout-qr-modal .modal-content { color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border) !important; border-radius: 12px; }
.checkout-qr-modal .modal-header, .checkout-qr-modal .modal-footer { background: #1a1917 !important; border-color: var(--tcs-border); }
.checkout-qr-modal .modal-body .bg-light { background: var(--tcs-paper) !important; }
.checkout-qr-modal .modal-body .text-dark, .checkout-qr-modal .modal-body .text-primary { color: var(--tcs-paper) !important; }
.checkout-qr-modal .modal-body .text-muted { color: var(--tcs-muted) !important; }
.checkout-qr-modal .modal-body .bg-light + div .text-primary { color: var(--tcs-paper) !important; }
.checkout-modal-pass { width: fit-content; display: flex; justify-content: center; margin: 9px auto 18px !important; padding: 7px 12px; color: var(--tcs-paper); border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .72rem; font-weight: 700; }
.checkout-qr-modal .modal-body > .bg-light { display: block !important; width: fit-content; margin-right: auto; margin-left: auto; }

.my-passes-page { width: min(100%, 1240px); margin: 0 auto; padding: clamp(38px, 6vw, 78px) 0 clamp(76px, 9vw, 120px); }
.my-passes-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; padding-bottom: clamp(34px, 5vw, 58px); border-bottom: 1px solid var(--tcs-border); }
.my-passes-header h1 { max-width: 820px; margin: 0; color: var(--tcs-paper); font-size: clamp(2.7rem, 6vw, 5.3rem); font-weight: 780; line-height: .95; letter-spacing: -.058em; text-transform: uppercase; }
.my-passes-header > div > p:last-child { max-width: 680px; margin: 20px 0 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.72; }
.my-passes-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px 0 30px; }
.my-passes-stats { display: flex; align-items: stretch; }
.my-passes-stat { min-width: 145px; padding-right: 28px; }
.my-passes-stat + .my-passes-stat { padding-left: 28px; border-left: 1px solid var(--tcs-border); }
.my-passes-stat span, .my-passes-stat strong { display: block; }
.my-passes-stat span { color: var(--tcs-muted); font-size: .58rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.my-passes-stat strong { margin-top: 5px; color: var(--tcs-paper); font-size: 1.5rem; font-weight: 740; }
.my-passes-search { width: min(100%, 380px); }
.my-passes-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.my-passes-loading, .my-passes-message { grid-column: 1 / -1; min-height: 300px; display: grid; place-items: center; align-content: center; gap: 12px; color: var(--tcs-muted); text-align: center; }
.my-passes-loading .spinner-border { color: var(--tcs-paper); }
.my-passes-loading p { margin: 0 !important; color: var(--tcs-muted) !important; }
.my-pass-item { min-width: 0; }
.my-pass-card { height: 100%; overflow: hidden; color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; transition: transform .22s ease, border-color .22s ease; }
.my-pass-card:hover { border-color: rgba(245,239,224,.3); transform: translateY(-3px); }
.my-pass-card.is-used { opacity: .72; }
.my-pass-topline { min-height: 51px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 18px; background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.my-pass-topline > span:first-child { color: var(--tcs-muted); font-size: .58rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.my-pass-status { flex: 0 0 auto; display: inline-flex; padding: 6px 8px; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .53rem; font-weight: 750; letter-spacing: .055em; text-transform: uppercase; }
.my-pass-status.is-available { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.my-pass-status.is-used { color: var(--tcs-muted); background: transparent; }
.my-pass-body { display: flex; align-items: center; flex-direction: column; padding: 25px; text-align: center; }
.my-pass-heading h2 { margin: 0; color: var(--tcs-paper); font-size: 1.25rem; font-weight: 730; line-height: 1.12; letter-spacing: -.035em; }
.my-pass-heading > span { display: inline-flex; margin-top: 10px; padding-bottom: 5px; color: var(--tcs-muted); border-bottom: 1px solid var(--tcs-border); font-size: .63rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.my-pass-qr { margin-top: 22px; padding: 10px; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 8px; cursor: pointer; transition: transform .2s ease; }
.my-pass-qr:hover { transform: scale(1.02); }
.my-pass-qr img { display: block; }
.my-pass-qr div { margin-top: 7px; font-size: .57rem; font-weight: 780; letter-spacing: .04em; text-transform: uppercase; }
.my-pass-code { width: 100%; margin: 18px 0 0; padding: 15px 0; border-block: 1px solid var(--tcs-border); }
.my-pass-code small, .my-pass-code strong { display: block; }
.my-pass-code small { color: var(--tcs-muted); font-size: .58rem; }
.my-pass-code strong { margin-top: 6px; overflow-wrap: anywhere; color: var(--tcs-paper); font-family: monospace; font-size: .82rem; letter-spacing: .035em; }
.my-pass-benefits { width: 100%; padding-top: 17px; text-align: left; }
.my-pass-benefits > span { display: block; margin-bottom: 8px; color: var(--tcs-muted); font-size: .56rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.my-pass-benefits > div { display: flex; flex-wrap: wrap; gap: 6px; }
.my-passes-empty { padding: clamp(65px, 9vw, 110px) 24px; color: var(--tcs-muted); border-block: 1px solid var(--tcs-border); text-align: center; }
.my-passes-empty h2 { margin: 12px 0 0; color: var(--tcs-paper); font-size: clamp(1.5rem, 3vw, 2.2rem); letter-spacing: -.035em; }
.my-passes-empty p { margin: 10px auto 24px; font-size: .73rem; }
.my-pass-modal-actions { justify-content: space-between; }

.request-detail-page { width: min(100%, 1240px); }
.request-detail-page .detail-status-label .section-kicker { margin: 0; }
.request-detail-page .detail-status-banner[data-status="approved"] .section-kicker { color: rgba(9,9,9,.62); }
.request-detail-grid { display: grid; grid-template-columns: minmax(320px, .85fr) minmax(0, 1.35fr); align-items: start; gap: 22px; }
.request-detail-column { display: grid; gap: 22px; }
.request-data-grid > div:not(.detail-data-wide) dd { font-size: .8rem; font-weight: 600; }
.request-contact-value { word-break: normal; overflow-wrap: break-word; }
.request-store-grid { grid-template-columns: 1fr; }
.request-store-grid .detail-data-wide { grid-column: auto; }
.request-store-grid dd { white-space: pre-line; }
.request-social-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.request-social-item { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 13px 0; border-bottom: 1px solid var(--tcs-border); }
.request-social-item:last-child { border-bottom: 0; }
.request-social-item strong { flex: 0 0 auto; color: var(--tcs-paper); font-size: .65rem; }
.request-social-item span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.request-social-item a { color: var(--tcs-muted); font-size: .65rem; text-decoration: none; }
.request-social-item a:hover { color: var(--tcs-paper); }
.request-inventory-panel { min-height: 100%; }
.request-inventory-heading { justify-content: space-between; gap: 20px; }
.request-inventory-count { color: var(--tcs-muted); font-size: .58rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.request-products-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
.request-product-item { min-width: 0; }
.request-product-card { height: 100%; display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: center; gap: 15px; padding: 12px; background: #0b0b0a; border: 1px solid var(--tcs-border); border-radius: 9px; }
.request-product-image { position: relative; width: 84px; height: 84px; display: grid; place-items: center; overflow: hidden; color: var(--tcs-muted); background: #1a1917; border: 1px solid var(--tcs-border); border-radius: 7px; }
.request-product-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.request-product-image.is-empty::after { content: "P"; font-size: .75rem; font-weight: 750; }
.request-product-copy { min-width: 0; }
.request-product-copy h3 { margin: 0; overflow: hidden; color: var(--tcs-paper); font-size: .75rem; font-weight: 700; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.request-product-copy p { display: -webkit-box; margin: 7px 0 0; overflow: hidden; color: var(--tcs-muted); font-size: .63rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.request-inventory-empty { min-height: 250px; display: grid; place-items: center; color: var(--tcs-muted); border: 1px dashed var(--tcs-border); border-radius: 9px; font-size: .7rem; text-align: center; }
.request-decision-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.request-decision-actions .decision-action { min-height: 39px; padding-inline: 14px; font-size: .57rem; }
.decision-pending { color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); }
.decision-pending:hover, .decision-pending:focus-visible { color: var(--tcs-paper); background: rgba(245,239,224,.05); outline: 0; }
.request-detail-page .detail-status-banner[data-status="approved"] .decision-reject,
.request-detail-page .detail-status-banner[data-status="approved"] .decision-pending { color: rgba(9,9,9,.7); border-color: rgba(9,9,9,.25); }
.request-detail-page .detail-status-banner[data-status="approved"] .decision-reject:hover,
.request-detail-page .detail-status-banner[data-status="approved"] .decision-pending:hover { color: var(--tcs-ink); background: rgba(9,9,9,.06); }
.request-detail-page .alert { color: var(--tcs-paper); background: rgba(245,239,224,.05); border-color: var(--tcs-border); }

.vendor-events-page { width: min(100%, 1240px); margin: 0 auto; padding: clamp(38px, 6vw, 78px) 0 clamp(76px, 9vw, 120px); }
.vendor-events-header { padding-bottom: clamp(36px, 5vw, 64px); border-bottom: 1px solid var(--tcs-border); }
.vendor-events-header h1 { max-width: 900px; margin: 0; color: var(--tcs-paper); font-size: clamp(2.7rem, 6vw, 5.5rem); font-weight: 780; line-height: .95; letter-spacing: -.058em; text-transform: uppercase; }
.vendor-events-header > div > p:last-child { max-width: 680px; margin: 22px 0 0; color: var(--tcs-muted); font-size: .84rem; line-height: 1.72; }
.vendor-events-restricted { margin-top: 28px; padding: clamp(32px, 5vw, 54px); color: var(--tcs-muted); background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.vendor-events-restricted h2 { margin: 12px 0 0; color: var(--tcs-paper); font-size: clamp(1.7rem, 3vw, 2.5rem); letter-spacing: -.04em; }
.vendor-events-restricted p { max-width: 720px; margin: 12px 0 24px; font-size: .74rem; line-height: 1.7; }
.vendor-events-toolbar { display: grid; grid-template-columns: minmax(260px, 470px) auto; align-items: center; justify-content: space-between; gap: 20px; padding: 24px 0 30px; }
.vendor-events-count { display: flex; align-items: center; gap: 12px; color: var(--tcs-muted); font-size: .59rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.vendor-events-count strong { width: 31px; height: 31px; display: grid; place-items: center; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 50%; font-size: .67rem; }
.vendor-events-loading { min-height: 320px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); }
.vendor-events-loading .spinner-border { color: var(--tcs-paper); }
.vendor-events-loading p { margin: 0; font-size: .72rem; }
.vendor-events-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 17px; }
.vendor-event-item { min-width: 0; }
.vendor-event-card { height: 100%; display: flex; overflow: hidden; flex-direction: column; color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; transition: transform .22s ease, border-color .22s ease; }
.vendor-event-card:hover { border-color: rgba(245,239,224,.32); transform: translateY(-4px); }
.vendor-event-topline { min-height: 52px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 11px 19px; background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.vendor-event-topline > span:first-child { min-width: 0; color: var(--tcs-muted); font-size: .59rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.vendor-event-availability { flex: 0 0 auto; padding: 6px 8px; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .52rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.vendor-event-availability.is-available { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.vendor-event-availability.is-sold-out { color: var(--tcs-muted); background: transparent; }
.vendor-event-body { flex: 1; display: flex; flex-direction: column; padding: 25px; }
.vendor-event-copy { flex: 1; }
.vendor-event-copy h2 { margin: 0; overflow-wrap: anywhere; color: var(--tcs-paper); font-size: clamp(1.35rem, 2.5vw, 1.85rem); font-weight: 740; line-height: 1.08; letter-spacing: -.042em; }
.vendor-event-location { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--tcs-border); }
.vendor-event-location p { margin: 7px 0 0; color: var(--tcs-muted); font-size: .68rem; line-height: 1.55; }
.vendor-event-capacity { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 19px; padding: 12px 0; color: var(--tcs-muted); border-block: 1px solid var(--tcs-border); font-size: .61rem; }
.vendor-event-capacity strong { color: var(--tcs-paper); font-size: 1rem; }
.vendor-event-owned { margin-top: 12px; padding: 10px 12px; color: rgba(245,239,224,.8); background: rgba(245,239,224,.045); border: 1px solid var(--tcs-border); border-radius: 7px; font-size: .59rem; font-weight: 650; }
.vendor-event-action { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding-top: 17px; color: var(--tcs-paper); border-top: 1px solid var(--tcs-border); font-size: .63rem; font-weight: 750; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; }
.vendor-event-action span:last-child { font-size: .95rem; transition: transform .2s ease; }
.vendor-event-action:hover span:last-child { transform: translateX(4px); }
.vendor-events-empty { padding: 90px 24px; color: var(--tcs-muted); border-block: 1px solid var(--tcs-border); text-align: center; }
.vendor-events-empty h2 { margin: 12px 0 0; color: var(--tcs-muted); font-size: 1rem; font-weight: 600; }

/* Historial de compras del vendedor */
.vendor-purchases-page { width: min(100%, 1240px); margin: 0 auto; padding: clamp(38px, 6vw, 78px) 0 clamp(76px, 9vw, 120px); }
.vendor-purchases-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: clamp(34px, 5vw, 58px); border-bottom: 1px solid var(--tcs-border); }
.vendor-purchases-header > div { max-width: 820px; }
.vendor-purchases-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.7rem, 6vw, 5.3rem); font-weight: 780; line-height: .95; letter-spacing: -.058em; text-transform: uppercase; }
.vendor-purchases-header > div > p:last-child { max-width: 660px; margin: 21px 0 0; color: var(--tcs-muted); font-size: .82rem; line-height: 1.72; }
.vendor-purchases-header .admin-primary-action { flex: 0 0 auto; }
.vendor-purchases-summary { width: min(100%, 320px); display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 30px; padding: 19px 21px; background: #111110; border: 1px solid var(--tcs-border); border-radius: 9px; }
.vendor-purchases-summary span { color: var(--tcs-muted); font-size: .58rem; font-weight: 720; letter-spacing: .09em; text-transform: uppercase; }
.vendor-purchases-summary strong { color: var(--tcs-paper); font-size: 1.7rem; font-weight: 760; line-height: 1; }
.vendor-purchases-toolbar { display: flex; justify-content: space-between; padding: 28px 0 22px; }
.vendor-purchases-toolbar .admin-search { width: min(100%, 520px); }
.vendor-purchases-table-shell { overflow: hidden; background: #10100f; border: 1px solid var(--tcs-border); border-radius: 10px; }
.vendor-purchases-table { min-width: 1080px; color: var(--tcs-paper); }
.vendor-purchases-table > :not(caption) > * > * { padding: 18px 16px; color: inherit; background: transparent; border-color: var(--tcs-border); box-shadow: none; }
.vendor-purchases-table thead { background: #1a1917; }
.vendor-purchases-table thead th { padding-block: 16px; color: var(--tcs-muted); font-size: .54rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; white-space: nowrap; }
.vendor-purchases-table tbody tr { transition: background-color .18s ease; }
.vendor-purchases-table tbody tr:hover { background: rgba(245,239,224,.025); }
.vendor-purchases-table tbody td { font-size: .66rem; line-height: 1.55; vertical-align: middle; }
.vendor-purchases-table .text-muted, .vendor-purchases-table .text-danger { color: var(--tcs-muted) !important; }
.vendor-purchases-table .spinner-border { color: var(--tcs-paper) !important; }
.vendor-purchase-id { color: var(--tcs-muted) !important; font-weight: 700; }
.vendor-purchase-event { display: block; overflow-wrap: anywhere; color: var(--tcs-paper); font-size: .73rem; font-weight: 720; }
.vendor-purchase-address { max-width: 260px; margin-top: 5px; overflow: hidden; color: var(--tcs-muted); font-size: .59rem; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.vendor-purchase-date { display: inline-flex; padding: 7px 9px; color: var(--tcs-paper); background: rgba(245,239,224,.055); border: 1px solid var(--tcs-border); border-radius: 6px; font-size: .58rem; font-weight: 650; }
.vendor-purchase-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.vendor-purchase-tags > span { display: inline-flex; padding: 5px 7px; color: rgba(245,239,224,.82); background: rgba(245,239,224,.045); border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .52rem; font-weight: 650; }
.vendor-purchase-tags .vendor-purchase-code { width: 100%; overflow-wrap: anywhere; border-radius: 5px; font-family: monospace; }
.vendor-purchase-price { color: var(--tcs-paper) !important; font-size: .72rem !important; font-weight: 740; text-align: right; white-space: nowrap; }
.vendor-purchase-created { color: var(--tcs-muted) !important; white-space: nowrap; }
.vendor-purchase-detail-link { display: inline-flex; align-items: center; gap: 8px; color: var(--tcs-paper); font-size: .56rem; font-weight: 750; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.vendor-purchase-detail-link span { transition: transform .2s ease; }
.vendor-purchase-detail-link:hover { color: var(--tcs-paper); }
.vendor-purchase-detail-link:hover span { transform: translateX(3px); }
.vendor-purchases-empty { margin-top: 22px; padding: 70px 24px; color: var(--tcs-muted); border-block: 1px solid var(--tcs-border); text-align: center; }
.vendor-purchases-empty p { margin: 12px auto 23px; font-size: .72rem; }

/* Vendedor: detalle y comprobante de una mesa adquirida */
.vendor-purchase-detail-page { width: min(100%, 1120px); margin: 0 auto; padding: clamp(30px, 5vw, 66px) 0 clamp(80px, 9vw, 120px); }
.vendor-purchase-detail-header { max-width: 980px; padding-bottom: clamp(34px, 5vw, 56px); border-bottom: 1px solid var(--tcs-border); }
.vendor-purchase-detail-header .admin-back-link { display: inline-flex; margin-bottom: 30px; }
.vendor-purchase-detail-header h1 { margin: 0; overflow-wrap: anywhere; color: var(--tcs-paper); font-size: clamp(2.35rem, 5.2vw, 4.8rem); font-weight: 780; line-height: .97; letter-spacing: -.055em; text-transform: uppercase; }
.vendor-purchase-detail-header > p:last-child { max-width: 660px; margin: 20px 0 0; color: var(--tcs-muted); font-size: .79rem; line-height: 1.7; }
.vendor-purchase-detail-loading { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); }
.vendor-purchase-detail-loading .spinner-border { color: var(--tcs-paper); }
.vendor-purchase-detail-loading p { margin: 0; font-size: .68rem; }
.vendor-purchase-detail-content { padding-top: 28px; }
.vendor-purchase-detail-panel { overflow: hidden; color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 11px; box-shadow: none !important; }
.vendor-purchase-detail-panel > .card-header { min-height: 64px; padding: 17px 21px !important; color: var(--tcs-paper) !important; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); }
.vendor-purchase-detail-panel > .card-header h5, .vendor-purchase-detail-panel > .card-header h6 { margin: 0; font-size: .65rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.vendor-purchase-detail-panel > .card-header .badge { max-width: 48%; color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; border: 1px solid var(--tcs-paper); font-size: .51rem !important; white-space: normal; text-align: center; }
.vendor-purchase-detail-panel > .card-body { padding: clamp(20px, 3vw, 28px) !important; }
.vendor-purchase-detail-panel .form-label { color: var(--tcs-muted) !important; font-size: .54rem !important; font-weight: 720; letter-spacing: .075em; text-transform: uppercase; }
.vendor-purchase-detail-panel p, .vendor-purchase-detail-panel h5 { color: var(--tcs-paper) !important; overflow-wrap: anywhere; }
.vendor-purchase-detail-panel .text-muted { color: var(--tcs-muted) !important; }
.vendor-purchase-detail-panel .text-dark, .vendor-purchase-detail-panel .text-primary { color: var(--tcs-paper) !important; }
.vendor-purchase-detail-panel .border-top { border-color: var(--tcs-border) !important; }
.vendor-purchase-detail-panel .badge.bg-warning, .vendor-purchase-detail-panel .badge.bg-light { color: rgba(245,239,224,.82) !important; background: transparent !important; border: 1px solid var(--tcs-border) !important; font-size: .55rem !important; }
.vendor-detail-qr { padding: 9px !important; background: #f5efe0 !important; border-color: var(--tcs-paper) !important; cursor: pointer; transition: transform .18s ease, border-color .18s ease; }
.vendor-detail-qr:hover { transform: translateY(-2px); }
.vendor-detail-qr img { background: #fff; }
.vendor-detail-qr > div { color: var(--tcs-ink) !important; font-size: .56rem; }
.vendor-event-detail-panel #eventoNombreTexto { font-size: clamp(1.35rem, 3vw, 2rem); letter-spacing: -.035em; }
.vendor-event-detail-panel #btnVerCroquisEvento { min-height: 39px; display: inline-flex; align-items: center; padding-inline: 16px; color: var(--tcs-paper); background: transparent; border-color: rgba(245,239,224,.36); font-size: .55rem; letter-spacing: .05em; text-transform: uppercase; }
.vendor-event-detail-panel #btnVerCroquisEvento:hover { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.vendor-owner-detail-panel .card-body .row > div { min-width: 0; }
.vendor-owner-detail-panel p { margin-top: 5px; line-height: 1.55; overflow-wrap: anywhere; word-break: break-word; }
#mesaCodigoEntradaTexto, #modalQrCodigoTexto { overflow-wrap: anywhere; word-break: break-word; }
#modalQrGrande .modal-content { overflow: hidden; color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border) !important; border-radius: 11px; box-shadow: none !important; }
#modalQrGrande .modal-header, #modalQrGrande .modal-footer { background: #1a1917 !important; border-color: var(--tcs-border); }
#modalQrGrande .modal-body { background: #111110; }
#modalQrGrande .text-dark, #modalQrGrande .text-primary { color: var(--tcs-paper) !important; }
#modalQrGrande .text-muted { color: var(--tcs-muted) !important; }
#modalQrGrande .modal-body > .bg-white { padding: 10px !important; background: #f5efe0 !important; border-color: var(--tcs-paper) !important; }
#modalQrGrande .modal-footer .btn { min-height: 40px; display: inline-flex; align-items: center; padding-inline: 18px !important; box-shadow: none; font-size: .57rem; text-transform: uppercase; }
#modalQrGrande .modal-footer .btn-secondary { color: var(--tcs-paper); background: transparent; border-color: rgba(245,239,224,.35); }
#modalQrGrande .modal-footer .btn-primary { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }

/* Vendedor: selección y compra en el virtual venue */
.vendor-venue-page { width: min(100%, 1360px); margin: 0 auto; padding: clamp(30px, 5vw, 66px) 0 clamp(80px, 9vw, 125px); }
.vendor-venue-header { max-width: 960px; padding-bottom: clamp(34px, 5vw, 56px); }
.vendor-venue-header .admin-back-link { display: inline-flex; margin-bottom: 30px; }
.vendor-venue-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.6rem, 5.7vw, 5.2rem); font-weight: 780; line-height: .95; letter-spacing: -.058em; text-transform: uppercase; }
.vendor-venue-header #subtituloEvento { margin: 20px 0 0; color: var(--tcs-muted); font-size: .76rem; line-height: 1.65; }
.vendor-venue-page #alertaBloqueo { color: var(--tcs-paper); background: #171613; border: 1px solid var(--tcs-border); }
.vendor-venue-layout { padding-top: 28px; border-top: 1px solid var(--tcs-border); }
.vendor-venue-legend { color: var(--tcs-muted); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 9px; box-shadow: none !important; }
.vendor-venue-legend .card-body { padding: 14px 17px !important; }
.vendor-venue-illustrative-note { display: grid; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: 12px; margin-bottom: 16px; padding: 15px 17px; color: rgba(245,239,224,.8); background: rgba(245,239,224,.045); border: 1px solid var(--tcs-border); border-radius: 9px; }
.vendor-venue-note-icon { width: 22px; height: 22px; display: grid; place-items: center; color: var(--tcs-ink); background: var(--tcs-paper); border-radius: 50%; font-size: .68rem; font-weight: 800; }
.vendor-venue-illustrative-note strong { display: block; margin-bottom: 5px; color: var(--tcs-paper); font-size: .62rem; font-weight: 780; letter-spacing: .075em; text-transform: uppercase; }
.vendor-venue-illustrative-note p { max-width: 780px; margin: 0; color: var(--tcs-muted); font-size: .65rem; line-height: 1.65; }
.vendor-venue-map-shell { overflow: visible; background: #0d0d0c !important; border: 1px solid var(--tcs-border) !important; border-radius: 11px; box-shadow: none !important; }
.vendor-venue-map-shell > .card-header { min-height: 64px; padding: 16px 20px; color: var(--tcs-paper); background: #1a1917; border-bottom: 1px solid var(--tcs-border); border-radius: 11px 11px 0 0; }
.vendor-venue-map-shell > .card-header h6 { font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }
.vendor-venue-map-shell > .card-header small { color: var(--tcs-muted) !important; font-size: .57rem; }
.vendor-venue-canvas { min-height: 380px; padding: 20px !important; overflow: visible; background-color: #090909; background-image: linear-gradient(rgba(245,239,224,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(245,239,224,.025) 1px, transparent 1px); background-size: 24px 24px; }
.vendor-table-inspector { position: sticky; z-index: 8; top: 94px; width: 100%; min-height: 66px; display: grid; gap: 3px; margin-bottom: 18px; padding: 12px 15px; color: var(--tcs-paper); background: rgba(20,20,18,.96); border: 1px solid rgba(245,239,224,.24); border-radius: 8px; text-align: left; backdrop-filter: blur(9px); }
.vendor-table-inspector > span { color: var(--tcs-muted); font-size: .48rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.vendor-table-inspector strong { font-size: .68rem; }
.vendor-table-inspector small { color: var(--tcs-muted); font-size: .55rem; }
.vendor-floorplan-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-color: #706b63 #151513; scrollbar-width: thin; }
.vendor-floorplan { width: 100%; min-width: 760px; display: inline-block; }
.vendor-map-table { display: inline-flex; align-items: center; justify-content: center; padding: 4px; overflow: hidden; border: 1px solid; border-radius: 6px; font-family: inherit; cursor: pointer; transition: transform .16s ease, filter .16s ease, border-color .16s ease; }
.vendor-map-table:hover, .vendor-map-table:focus-visible, .vendor-double-table:hover, .vendor-double-table:focus-visible { z-index: 2; filter: brightness(1.13); outline: 2px solid rgba(245,239,224,.7); outline-offset: 2px; transform: translateY(-2px); }
.vendor-map-table.is-horizontal { width: 96px; height: 36px; }
.vendor-map-table.is-vertical { width: 36px; height: 96px; }
.vendor-map-table > div { justify-content: center !important; }
.vendor-map-table .badge { width: 6px; height: 6px; flex: 0 0 6px; margin-left: 5px; padding: 0 !important; overflow: hidden; color: transparent !important; border: 1px solid currentColor; border-radius: 50%; font-size: 0 !important; }
.vendor-map-table > small { display: none; }
.vendor-map-table.is-available { color: #e8fff0; background: #17482f; border-color: #58bd82; }
.vendor-map-table.is-selected { color: #19150c; background: #e7bd5b; border-color: #ffe09a; }
.vendor-map-table.is-occupied { color: #ffe9e9; background: repeating-linear-gradient(135deg, #552626 0, #552626 5px, #421e1e 5px, #421e1e 10px); border-color: #cb6262; }
.vendor-map-table.is-mine { color: #e5f1ff; background: #234e75; border-color: #6da9dc; }
.vendor-double-table { display: flex; flex-direction: column; align-items: center; gap: 7px; padding: 9px; color: var(--tcs-paper); background: #0a0a09; border: 2px solid; border-radius: 7px; font-family: inherit; cursor: pointer; }
.vendor-double-table.is-vertical { min-width: 110px; }
.vendor-double-table.is-horizontal { width: 100%; min-width: 0; }
.vendor-double-table.is-vertical-stack { width: 100%; min-width: 105px; }
.vendor-double-table.is-available { border-color: #58bd82; }
.vendor-double-table.is-selected { color: #ffe8a9; border-color: #e7bd5b; }
.vendor-double-table.is-occupied { color: #ffe9e9; border-color: #cb6262; }
.vendor-double-table.is-mine { color: #e5f1ff; border-color: #6da9dc; }
.vendor-double-physical { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.vendor-double-physical span { display: grid; place-items: center; background: rgba(128,128,128,.14); border: 1px solid currentColor; border-radius: 3px; font-size: .57rem; font-weight: 750; }
.vendor-double-table.is-vertical .vendor-double-physical span { width: 34px; height: 88px; }
.vendor-double-table.is-horizontal .vendor-double-physical { width: 100%; }
.vendor-double-table.is-horizontal .vendor-double-physical span { width: auto; min-width: 0; height: 32px; }
.vendor-double-table.is-vertical-stack .vendor-double-physical { width: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(2, 1fr); gap: 6px; }
.vendor-double-table.is-vertical-stack .vendor-double-physical span { width: 100%; min-width: 0; height: 32px; }
.vendor-double-table > div:not(.vendor-double-physical) { width: 100%; min-width: 0; flex-wrap: wrap; gap: 5px; }
.vendor-double-table > div:not(.vendor-double-physical) strong { min-width: 0; overflow-wrap: anywhere; line-height: 1.3; }
.vendor-double-table .text-success, .vendor-double-table .text-dark { min-width: 0; overflow-wrap: anywhere; }
.vendor-double-table .badge { font-size: .48rem !important; }
.vendor-central-island { width: 300px; max-width: 100%; box-sizing: border-box; }
#vS2CentroPares { width: 100%; display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 10px; align-items: stretch; }
.vendor-venue-b-vertical { display: flex; flex-direction: column; gap: 30px; min-height: 900px; }
.vendor-venue-b-top { align-self: center; width: min(58%, 430px); }
.vendor-venue-b-body { flex: 1; display: grid; grid-template-columns: 86px minmax(22px, 1fr) 300px minmax(22px, 1fr) 86px; align-items: stretch; gap: 10px; }
.vendor-venue-b-side { min-width: 0; display: flex; align-items: center; flex-direction: column; }
.vendor-venue-b-side > .badge { width: 100%; margin-bottom: 12px; text-align: center; white-space: normal; }
.vendor-venue-b-side-tables { display: flex; align-items: center; justify-content: flex-start; flex-direction: column; gap: 8px; }
.vendor-venue-b-aisle { display: flex; align-items: center; justify-content: center; color: rgba(245,239,224,.28); border-inline: 1px dashed rgba(245,239,224,.1); }
.vendor-venue-b-aisle span { font-size: .48rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; writing-mode: vertical-rl; }
.vendor-venue-b-island { align-self: center; display: flex; flex-direction: column; gap: 12px; padding: 12px; background: #0c0c0b; border: 1px solid var(--tcs-border); border-radius: 8px; }
.vendor-venue-b-island .vendor-double-table { height: 100%; }
.vendor-venue-access { display: grid; justify-items: center; gap: 3px; color: #52d987; }
.vendor-venue-access span { font-size: 2.2rem; font-weight: 800; line-height: .75; }
.vendor-venue-access strong { color: inherit; font-size: .48rem; font-weight: 800; letter-spacing: .12em; }
.vendor-venue-a-access { padding: 10px 0; }
.vendor-venue-b-access { align-self: center; }
.vendor-venue-hall .flex-grow-1 { min-width: 0; }
.vendor-order-panel { top: 94px !important; color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 10px; box-shadow: none !important; }
.vendor-order-panel > .card-header { padding: 18px 20px !important; color: var(--tcs-paper) !important; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); border-radius: 10px 10px 0 0; }
.vendor-order-panel > .card-header h5 { font-size: .72rem; letter-spacing: .06em; text-transform: uppercase; }
.vendor-order-panel .card-body { padding: 20px !important; }
.vendor-order-panel .text-muted, .vendor-order-panel .text-dark, .vendor-order-panel .text-primary, .vendor-order-panel .text-success, .vendor-order-panel .text-danger { color: var(--tcs-muted) !important; }
.vendor-order-panel .bg-light, .vendor-order-panel .bg-white, .vendor-order-panel .card { color: var(--tcs-paper); background: #0b0b0a !important; border-color: var(--tcs-border) !important; }
.vendor-order-panel .alert { color: var(--tcs-muted); background: rgba(245,239,224,.04); border-color: var(--tcs-border); }
.vendor-order-panel #btnConfirmarCompra { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.vendor-order-panel #badgeContadorSeleccionadas { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; font-size: .52rem; }
.vendor-order-panel #panelConSeleccion > .d-flex:first-child { margin-bottom: 13px !important; }
.vendor-order-panel #panelConSeleccion > .d-flex:first-child > span { color: var(--tcs-paper) !important; font-size: .56rem; letter-spacing: .07em; }
.vendor-order-panel #panelConSeleccion > .d-flex:first-child .btn-link { color: var(--tcs-muted) !important; border: 0; border-radius: 0; font-size: .57rem; }
.vendor-order-panel #panelConSeleccion > .d-flex:first-child .btn-link:hover { color: var(--tcs-paper) !important; }
.vendor-order-panel #listaMesasSeleccionadas { max-height: 260px !important; margin-bottom: 18px !important; padding: 0 !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.vendor-order-panel #listaMesasSeleccionadas > .card { margin-bottom: 8px !important; padding: 13px !important; background: #151513 !important; border: 1px solid var(--tcs-border) !important; border-radius: 7px; box-shadow: none !important; }
.vendor-order-panel #listaMesasSeleccionadas > .card:last-child { margin-bottom: 0 !important; }
.vendor-order-panel #listaMesasSeleccionadas strong { color: var(--tcs-paper) !important; font-size: .65rem; overflow-wrap: anywhere; }
.vendor-order-panel #listaMesasSeleccionadas .text-success, .vendor-order-panel #listaMesasSeleccionadas .text-primary { color: var(--tcs-paper) !important; }
.vendor-order-panel #listaMesasSeleccionadas .bg-light { margin-top: 10px !important; padding: 10px 0 0 !important; background: transparent !important; border: 0 !important; border-top: 1px solid var(--tcs-border) !important; border-radius: 0 !important; }
.vendor-order-panel #listaMesasSeleccionadas label { color: rgba(245,239,224,.82) !important; font-size: .59rem; line-height: 1.35; }
.vendor-order-panel #listaMesasSeleccionadas small { color: var(--tcs-muted) !important; font-size: .54rem !important; }
.vendor-order-panel #listaMesasSeleccionadas .btn { width: 27px; min-width: 27px; height: 27px !important; display: inline-grid; place-items: center; padding: 0 !important; color: var(--tcs-paper) !important; background: transparent; border: 1px solid var(--tcs-border); border-radius: 50%; box-shadow: none; }
.vendor-order-panel #listaMesasSeleccionadas .btn:hover { color: var(--tcs-ink) !important; background: var(--tcs-paper); border-color: var(--tcs-paper); }
.vendor-order-panel #listaMesasSeleccionadas input { width: 40px !important; height: 29px !important; min-height: 29px; padding: 0 3px !important; color: var(--tcs-paper); background: #090909 !important; border-color: var(--tcs-border); border-radius: 6px; box-shadow: none; }
.vendor-order-panel #panelConSeleccion > .border-top { padding-top: 15px !important; color: var(--tcs-muted); border-color: var(--tcs-border) !important; }
.vendor-order-panel #panelConSeleccion > .border-top > div { gap: 12px; line-height: 1.45; }
.vendor-order-panel #panelConSeleccion > .border-top > div > span:last-child { flex: 0 0 auto; white-space: nowrap; }
.vendor-order-panel #labelSubtotalCardDisplay { color: var(--tcs-paper) !important; }
.vendor-order-panel #labelTotalPagar { max-width: 58%; color: var(--tcs-paper) !important; font-size: clamp(1rem, 1.7vw, 1.3rem) !important; line-height: 1.15; text-align: right; overflow-wrap: anywhere; }
.vendor-order-panel #panelConSeleccion > .mb-3.small { padding: 13px 0; border-block: 1px solid var(--tcs-border); }
.vendor-order-panel #panelConSeleccion > .mb-3.small strong { color: rgba(245,239,224,.78); }

/* Vendedor: checkout de mesas */
.vendor-checkout-page { width: min(100%, 1160px); margin: 0 auto; padding: clamp(30px, 5vw, 66px) 0 clamp(80px, 9vw, 120px); }
.vendor-checkout-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; padding-bottom: clamp(34px, 5vw, 56px); border-bottom: 1px solid var(--tcs-border); }
.vendor-checkout-header > div { max-width: 790px; }
.vendor-checkout-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.7rem, 5.8vw, 5.2rem); font-weight: 780; line-height: .95; letter-spacing: -.058em; text-transform: uppercase; }
.vendor-checkout-header > div > p:last-child { max-width: 650px; margin: 20px 0 0; color: var(--tcs-muted); font-size: .8rem; line-height: 1.7; }
.vendor-checkout-header .admin-back-link { flex: 0 0 auto; }
.vendor-checkout-loading { min-height: 360px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); }
.vendor-checkout-loading .spinner-border { color: var(--tcs-paper); }
.vendor-checkout-loading p { margin: 0; font-size: .68rem; }
.vendor-checkout-page #alertaErrorPago { margin-top: 24px; color: var(--tcs-paper); background: #191210; border: 1px solid rgba(203,98,98,.5); }
.vendor-checkout-layout { padding-top: 28px; }
.vendor-checkout-panel { overflow: hidden; color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 11px; box-shadow: none !important; }
.vendor-checkout-panel > .card-header { min-height: 65px; padding: 17px 21px !important; color: var(--tcs-paper) !important; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); }
.vendor-checkout-panel > .card-header h5 { font-size: .68rem; font-weight: 750; letter-spacing: .065em; text-transform: uppercase; }
.vendor-checkout-panel > .card-header .badge { max-width: 48%; overflow: hidden; color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; font-size: .52rem; text-overflow: ellipsis; white-space: nowrap; }
.vendor-checkout-panel > .card-body { padding: clamp(20px, 3vw, 28px) !important; }
.vendor-checkout-panel .form-label { color: var(--tcs-muted) !important; font-size: .56rem !important; font-weight: 720; letter-spacing: .07em; text-transform: uppercase; }
.vendor-checkout-panel .text-dark, .vendor-checkout-panel .text-primary, .vendor-checkout-panel .text-success { color: var(--tcs-paper) !important; }
.vendor-checkout-panel .text-muted { color: var(--tcs-muted) !important; }
.vendor-checkout-panel .border, .vendor-checkout-panel .border-top, .vendor-checkout-panel .border-bottom { border-color: var(--tcs-border) !important; }
.vendor-checkout-panel .bg-light, .vendor-checkout-panel .bg-white { color: var(--tcs-paper); background: #0b0b0a !important; border-color: var(--tcs-border) !important; }
.vendor-order-review #nombreEventoTexto { overflow-wrap: anywhere; color: var(--tcs-paper) !important; font-size: clamp(1.25rem, 2.5vw, 1.7rem); letter-spacing: -.035em; }
.vendor-order-review #listaItemsDetalle { max-height: 270px !important; padding-right: 4px; }
.vendor-order-review #listaItemsDetalle > .card { padding: 12px !important; background: #151513 !important; border: 1px solid var(--tcs-border) !important; border-radius: 7px; box-shadow: none !important; }
.vendor-order-review #listaItemsDetalle strong { color: var(--tcs-paper) !important; overflow-wrap: anywhere; }
.vendor-order-review #listaItemsDetalle .badge { color: var(--tcs-paper) !important; background: transparent !important; border: 1px solid var(--tcs-border); }
.vendor-order-review #listaItemsDetalle .text-primary, .vendor-order-review #listaItemsDetalle .text-success { color: rgba(245,239,224,.82) !important; }
.vendor-order-review > .card-body > .bg-light { margin-bottom: 20px !important; padding: 17px 0 0 !important; background: transparent !important; border: 0 !important; border-top: 1px solid var(--tcs-border) !important; border-radius: 0 !important; }
.vendor-order-review > .card-body > .bg-light > div { gap: 14px; }
.vendor-order-review #resumenGranTotal { max-width: 58%; color: var(--tcs-paper) !important; font-size: clamp(1.1rem, 2vw, 1.45rem); text-align: right; overflow-wrap: anywhere; }
.vendor-payment-panel .form-control { min-height: 49px; color: var(--tcs-paper); background: #080808 !important; border-color: var(--tcs-border); }
.vendor-payment-panel #card-element { padding: 15px !important; }
.vendor-payment-panel #card-errors { color: #d88888 !important; font-size: .62rem; }
.vendor-payment-panel .badge.bg-secondary { color: var(--tcs-muted); background: transparent !important; border: 1px solid var(--tcs-border); font-size: .48rem; }
.vendor-checkout-legal { padding: 17px !important; background: #151513 !important; border-color: var(--tcs-border) !important; }
.vendor-checkout-legal > .fw-bold { color: rgba(245,239,224,.84) !important; font-size: .59rem; letter-spacing: .04em; }
.vendor-checkout-legal .form-check { min-height: 25px; padding-left: 29px; }
.vendor-checkout-legal .form-check-input { width: 17px; height: 17px; margin-left: -29px; background-color: #080808; border: 1px solid rgba(245,239,224,.45); border-radius: 4px; box-shadow: none; }
.vendor-checkout-legal .form-check-input:checked { background-color: var(--tcs-paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23090909' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.2 8.2 3 3 6.6-6.6'/%3E%3C/svg%3E"); border-color: var(--tcs-paper); }
.vendor-checkout-legal .form-check-label { color: var(--tcs-muted) !important; font-size: .62rem; line-height: 1.55; }
.vendor-checkout-legal a { color: var(--tcs-paper) !important; text-underline-offset: 3px; }
.vendor-payment-panel #btnPagarStripe { min-height: 54px; color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); border-radius: 999px; box-shadow: none !important; font-size: .67rem; letter-spacing: .055em; text-transform: uppercase; }
.vendor-payment-panel #btnPagarStripe:disabled { opacity: .38; }
.vendor-checkout-success > .card { color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 12px; box-shadow: none !important; }
.vendor-checkout-success > .card > .mb-3 > div { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; box-shadow: none !important; }
.vendor-checkout-success h3, .vendor-checkout-success h5, .vendor-checkout-success .text-dark, .vendor-checkout-success .text-primary, .vendor-checkout-success .text-success { color: var(--tcs-paper) !important; }
.vendor-checkout-success .text-muted { color: var(--tcs-muted) !important; }
.vendor-checkout-success .bg-light, .vendor-checkout-success .bg-white { color: var(--tcs-paper); background: #0b0b0a !important; border-color: var(--tcs-border) !important; }
.vendor-checkout-success #contenedorQrsMesasExito .card { background: #151513 !important; border: 1px solid var(--tcs-border) !important; }
.vendor-checkout-success #contenedorQrsMesasExito img { padding: 7px; background: #f5efe0; border-radius: 5px; }
.vendor-checkout-success #contenedorQrsMesasExito .badge { max-width: 100%; overflow: hidden; color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; border: 1px solid var(--tcs-paper); border-radius: 5px; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.vendor-checkout-success #contenedorQrsMesasExito .bg-light { padding: 7px !important; background: #090909 !important; border-color: var(--tcs-border) !important; }
.vendor-checkout-success #contenedorQrsMesasExito .bg-light .text-primary { color: var(--tcs-paper) !important; font-size: .58rem; }
.vendor-checkout-success #contenedorQrsMesasExito .font-monospace { display: block; color: var(--tcs-paper) !important; overflow-wrap: anywhere; font-size: .67rem !important; }
.vendor-checkout-success #contenedorQrsMesasExito .btn-outline-primary { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; color: var(--tcs-paper); background: transparent; border-color: rgba(245,239,224,.38); font-size: .57rem; letter-spacing: .045em; text-transform: uppercase; }
.vendor-checkout-success #contenedorQrsMesasExito .btn-outline-primary:hover { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.vendor-checkout-success > .card > .border-top:last-child { border-color: var(--tcs-border) !important; }
.vendor-checkout-success > .card > .border-top:last-child > a { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 19px !important; border-radius: 999px; box-shadow: none !important; font-size: .59rem; font-weight: 750; letter-spacing: .045em; text-transform: uppercase; }
.vendor-checkout-success > .card > .border-top:last-child > .btn-primary { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.vendor-checkout-success > .card > .border-top:last-child > .btn-outline-secondary { color: var(--tcs-paper); background: transparent; border-color: rgba(245,239,224,.38); }
.vendor-checkout-success > .card > .border-top:last-child > .btn-outline-secondary:hover { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
#modalQrMesaGrande .modal-content { color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border) !important; }
#modalQrMesaGrande .modal-header, #modalQrMesaGrande .modal-footer { background: #1a1917 !important; border-color: var(--tcs-border); }
#modalQrMesaGrande .modal-body { background: #111110; }
#modalQrMesaGrande .text-dark, #modalQrMesaGrande .text-primary { color: var(--tcs-paper) !important; }
#modalQrMesaGrande .text-muted { color: var(--tcs-muted) !important; }
#modalQrMesaGrande .bg-light { background: #f5efe0 !important; border-color: var(--tcs-paper) !important; }

.events-admin-toolbar { grid-template-columns: minmax(280px, 520px) auto; justify-content: space-between; }
.events-admin-table { min-width: 1180px; }
.events-admin-table > thead th, .events-admin-table > tbody td { padding-right: 13px; padding-left: 13px; }
.events-admin-table th:nth-child(2), .events-admin-table td:nth-child(2) { min-width: 170px; }
.events-admin-table th:nth-child(3), .events-admin-table td:nth-child(3) { width: 180px !important; min-width: 180px; }
.events-admin-table th:nth-child(4), .events-admin-table td:nth-child(4) { width: 105px !important; }
.events-admin-table th:nth-child(5), .events-admin-table td:nth-child(5) { width: 125px !important; }
.events-admin-table th:nth-child(6), .events-admin-table td:nth-child(6) { min-width: 210px; line-height: 1.55; }
.events-admin-table th:nth-child(7), .events-admin-table td:nth-child(7) { width: 145px !important; }
.events-admin-table th:last-child, .events-admin-table td:last-child { width: 178px !important; min-width: 178px; }
.event-schedule { display: inline-flex; max-width: 220px; padding: 7px 9px; color: rgba(245,239,224,.86); background: rgba(245,239,224,.055); border: 1px solid var(--tcs-border); border-radius: 6px; font-size: .61rem; font-weight: 650; line-height: 1.4; }
.event-schedule.is-empty { color: var(--tcs-muted); background: transparent; border-style: dashed; }
.event-table-status, .event-visibility { display: inline-flex; align-items: center; justify-content: center; padding: 6px 9px; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .55rem; font-weight: 750; letter-spacing: .055em; line-height: 1.25; text-transform: uppercase; }
.event-table-status::before { content: ""; width: 5px; height: 5px; margin-right: 6px; border: 1px solid currentColor; border-radius: 50%; }
.event-table-status[data-status="current"], .event-visibility[data-visibility="visible"] { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.event-table-status[data-status="current"]::before { background: currentColor; }
.event-table-status[data-status="upcoming"], .event-visibility[data-visibility="scheduled"] { color: var(--tcs-paper); background: rgba(245,239,224,.055); }
.event-table-status[data-status="past"], .event-visibility[data-visibility="hidden"] { color: var(--tcs-muted); background: transparent; border-style: dashed; }
.event-visibility { max-width: 130px; text-transform: none; }
.event-table-actions { white-space: nowrap; }
.event-table-actions .table-action { padding-inline: 7px; font-size: .56rem; }
.events-table-panel .admin-empty { border-top: 1px solid var(--tcs-border); }

.event-form-page { width: min(100%, 1100px); margin: 0 auto; padding: clamp(28px, 4vw, 52px) 0 clamp(70px, 9vw, 110px); }
.event-form-header { max-width: 880px; }
.event-form-page > .alert { margin-bottom: 20px; color: var(--tcs-paper); background: rgba(245,239,224,.055); border-color: var(--tcs-border); }
.event-form-section { min-width: 0; margin: 0 0 18px; padding: 0; overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 12px; }
.event-form-section > legend, .event-section-heading { width: 100%; min-height: 67px; display: flex; align-items: center; margin: 0; padding: 19px 25px; color: var(--tcs-paper); background: #1a1917; border-bottom: 1px solid var(--tcs-border); font-size: .7rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.event-form-section > legend { float: none; gap: 14px; }
.event-section-number { color: #706c65; font-family: monospace; font-size: .59rem; letter-spacing: .08em; }
.event-section-heading { justify-content: space-between; gap: 24px; }
.event-section-heading legend { width: auto; display: flex; align-items: center; gap: 14px; margin: 0; color: var(--tcs-paper); font-size: .7rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.event-section-heading small { display: block; margin-top: 7px; color: var(--tcs-muted) !important; font-size: .63rem; font-weight: 450; letter-spacing: 0; line-height: 1.5; text-transform: none; }
.event-add-schedule { flex: 0 0 auto; gap: 15px; }
.event-form-section-body { padding: clamp(23px, 4vw, 34px); }
.event-form-page .form-label { margin-bottom: 8px; color: rgba(245,239,224,.8) !important; font-size: .64rem !important; font-weight: 700; letter-spacing: .035em; }
.event-form-page .form-control, .event-form-page .form-select { color: var(--tcs-paper); background-color: #070707 !important; border-color: var(--tcs-border); }
.event-form-page .form-control[readonly] { color: rgba(245,239,224,.72); background: #151513 !important; cursor: default; }
.event-form-page .form-select { padding-right: 48px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23f5efe0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 17px center; background-size: 14px; cursor: pointer; }
.event-form-page .form-select option { color: var(--tcs-paper); background: #151513; }
.event-form-page input[type="date"]::-webkit-calendar-picker-indicator,
.event-form-page input[type="time"]::-webkit-calendar-picker-indicator,
.event-form-page input[type="datetime-local"]::-webkit-calendar-picker-indicator { filter: invert(1); opacity: .7; cursor: pointer; }
.event-form-page .text-muted { color: var(--tcs-muted) !important; }
.event-form-page .text-danger { color: var(--tcs-paper) !important; }
.event-schedule-table-wrap { overflow: hidden; border: 1px solid var(--tcs-border); border-radius: 9px; }
.event-schedule-table { min-width: 690px; --bs-table-bg: transparent; --bs-table-color: var(--tcs-paper); }
.event-schedule-table thead { background: #1a1917; }
.event-schedule-table thead th { padding: 13px; color: var(--tcs-muted); background: transparent; border: 0; border-bottom: 1px solid var(--tcs-border); font-size: .56rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.event-schedule-table tbody td { padding: 10px; color: rgba(245,239,224,.8); background: transparent; border-color: var(--tcs-border); }
.event-schedule-table .form-control { min-height: 43px; }
.event-remove-schedule { width: 34px; height: 34px; display: inline-grid; place-items: center; padding: 0; color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); border-radius: 50%; font-family: inherit; font-size: 1.05rem; cursor: pointer; transition: color .18s ease, background-color .18s ease; }
.event-remove-schedule:hover, .event-remove-schedule:focus-visible { color: var(--tcs-ink); background: var(--tcs-paper); outline: 0; }
.event-section-hint { display: block; margin-top: 11px; color: var(--tcs-muted); font-size: .62rem; line-height: 1.55; }
.event-visibility-switch { min-height: 108px; margin: 25px 0 0; padding: 20px 20px 20px 58px; background: #151513; border: 1px solid var(--tcs-border); border-radius: 9px; }
.event-visibility-switch .form-check-input { width: 31px; height: 17px; margin-left: -39px; background-color: #090909; border-color: rgba(245,239,224,.38); box-shadow: none; cursor: pointer; }
.event-visibility-switch .form-check-input:checked { background-color: var(--tcs-paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23090909'/%3E%3C/svg%3E"); border-color: var(--tcs-paper); }
.event-visibility-switch .form-check-input:focus { box-shadow: 0 0 0 .18rem rgba(245,239,224,.1); }
.event-visibility-switch .form-check-label { color: var(--tcs-paper) !important; font-size: .68rem; cursor: pointer; }
.event-visibility-switch small { margin-top: 8px; font-size: .61rem; line-height: 1.5; }
.event-venue-map { z-index: 1; width: 100%; height: 320px; overflow: hidden; border: 1px solid var(--tcs-border); border-radius: 9px; filter: grayscale(1) contrast(.92); }
.event-venue-map .leaflet-control-attribution { color: #353330; background: rgba(245,239,224,.88); }
.event-form-actions { margin-top: 27px; }
.event-edit-loading { min-height: 320px; }
.event-created-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 18px; padding: 18px 22px; color: var(--tcs-muted); background: #111110; border: 1px solid var(--tcs-border); border-radius: 9px; }
.event-created-meta span { font-size: .59rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.event-created-meta strong { color: rgba(245,239,224,.8); font-size: .68rem; font-weight: 650; }

/* Administrador: mapa interactivo de mesas / virtual venue */
.admin-venue-page { width: min(100%, 1320px); margin: 0 auto; padding: clamp(30px, 5vw, 68px) 0 clamp(80px, 9vw, 125px); }
.admin-venue-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 34px; padding-bottom: clamp(34px, 5vw, 58px); border-bottom: 1px solid var(--tcs-border); }
.admin-venue-header > div { min-width: 0; max-width: 920px; }
.admin-venue-header .admin-back-link { display: inline-flex; margin-bottom: 30px; }
.admin-venue-header .dashboard-eyebrow { margin-bottom: 13px; }
.admin-venue-header h1 { margin: 0; color: var(--tcs-paper); font-size: clamp(2.4rem, 5.4vw, 5rem); font-weight: 780; line-height: .96; letter-spacing: -.058em; text-transform: uppercase; }
.admin-venue-header #subtituloEvento { margin: 20px 0 0; color: var(--tcs-muted); font-size: .76rem; line-height: 1.65; }
.venue-reset-action { flex: 0 0 auto; }
.admin-venue-loading { min-height: 380px; display: grid; place-items: center; align-content: center; gap: 14px; color: var(--tcs-muted); }
.admin-venue-loading .spinner-border { color: var(--tcs-paper); }
.admin-venue-loading p { margin: 0; font-size: .7rem; }
.admin-venue-stats { margin-top: 28px; }
.admin-venue-stats .card { height: 100%; display: flex; align-items: flex-start; padding: 20px 22px !important; color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 9px; box-shadow: none !important; text-align: left !important; }
.admin-venue-stats .card span { color: var(--tcs-muted) !important; font-size: .55rem !important; font-weight: 720; letter-spacing: .09em; }
.admin-venue-stats .card h3 { margin-top: 12px; color: var(--tcs-paper) !important; font-size: clamp(1.45rem, 3vw, 2rem); font-weight: 760; }
.admin-venue-legend { margin-top: 20px; color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 9px; box-shadow: none !important; }
.admin-venue-legend .card-body { padding: 14px 18px !important; }
.admin-venue-legend .text-muted, .admin-venue-legend .text-dark { color: var(--tcs-muted) !important; }
.admin-venue-legend .bg-success { background: #2f8f5b !important; border-color: #65c98e !important; }
.admin-venue-legend .bg-danger { background: #8f3535 !important; border-color: #d46b6b !important; }
.admin-venue-legend .bg-info { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; }
.admin-venue-legend .bg-light { color: var(--tcs-muted) !important; background: transparent !important; border-color: var(--tcs-border) !important; }
.admin-venue-shell { margin-top: 20px; overflow: visible; background: #0d0d0c !important; border: 1px solid var(--tcs-border) !important; border-radius: 12px; box-shadow: 0 28px 75px rgba(0,0,0,.3) !important; }
.admin-venue-shell-header { min-height: 67px; padding: 17px 22px !important; color: var(--tcs-paper) !important; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); border-radius: 12px 12px 0 0 !important; }
.admin-venue-shell-header h6 { color: var(--tcs-paper); font-size: .66rem; letter-spacing: .07em; text-transform: uppercase; }
.admin-venue-shell-header small { color: var(--tcs-muted) !important; font-size: .6rem; }
.admin-venue-canvas { padding: clamp(18px, 3vw, 34px) !important; overflow: visible; background-color: #090909 !important; background-image: linear-gradient(rgba(245,239,224,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(245,239,224,.025) 1px, transparent 1px); background-size: 24px 24px; }
.venue-table-inspector { position: sticky; z-index: 8; top: 94px; left: 0; width: min(100%, 620px); min-height: 70px; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 3px 18px; margin: 0 0 20px; padding: 13px 17px; color: var(--tcs-paper); background: rgba(20,20,18,.96); border: 1px solid rgba(245,239,224,.24); border-radius: 8px; box-shadow: 0 12px 32px rgba(0,0,0,.3); text-align: left; backdrop-filter: blur(9px); }
.venue-table-inspector > span { grid-row: 1 / 3; color: var(--tcs-muted); font-size: .5rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }
.venue-table-inspector strong { min-width: 0; overflow-wrap: anywhere; color: var(--tcs-paper); font-size: .72rem; }
.venue-table-inspector small { color: var(--tcs-muted); font-size: .58rem; }
.venue-inspector-action { grid-column: 2; justify-self: start; margin-top: 6px; padding: 0 0 3px; color: var(--tcs-paper); background: transparent; border: 0; border-bottom: 1px solid var(--tcs-paper); font-family: inherit; font-size: .55rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.venue-floorplan-scroll { width: 100%; overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; scrollbar-color: #706b63 #151513; scrollbar-width: thin; }
.venue-floorplan { width: 100%; min-width: 760px; max-width: 1150px; display: inline-block; }
.venue-halls { display: flex; flex-direction: column; gap: 28px; }
.venue-hall { padding: clamp(18px, 3vw, 30px); color: var(--tcs-paper); background: #111110; border: 1px solid rgba(245,239,224,.23); border-radius: 10px; box-shadow: 0 18px 45px rgba(0,0,0,.2); }
.venue-b-annex { width: 100%; display: flex; align-items: flex-end; flex-direction: column; margin: 0; padding: 20px 24px 0; background: #0c0c0b; border: 1px solid var(--tcs-border); border-bottom: 0; border-radius: 8px 8px 0 0; }
.venue-b-annex > .small, .venue-b-annex #s2FilaSup { width: 305px; max-width: 100%; }
.venue-large-aisle { width: 100%; min-height: 190px; display: flex; align-items: center; justify-content: center; margin-top: 18px; color: rgba(245,239,224,.3); background-image: repeating-linear-gradient(135deg, transparent 0, transparent 12px, rgba(245,239,224,.018) 12px, rgba(245,239,224,.018) 13px); border-top: 1px dashed rgba(245,239,224,.13); }
.venue-large-aisle span { font-size: .52rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.venue-b-main { margin-top: 0; border-top-style: dashed !important; border-radius: 0 0 8px 8px; }
.venue-central-island-access { position: relative; padding-right: 72px !important; }
.venue-access-indicator { position: absolute; z-index: 3; top: 50%; right: 10px; display: grid; justify-items: center; gap: 2px; color: #52d987; transform: translateY(-50%); pointer-events: none; }
.venue-access-indicator span { font-size: 2.15rem; font-weight: 800; line-height: .75; }
.venue-access-indicator strong { font-size: .48rem; font-weight: 800; letter-spacing: .12em; }
.venue-access-indicator-inline { display: grid; justify-items: center; gap: 3px; color: #52d987; pointer-events: none; }
.venue-access-indicator-inline span { font-size: 2.15rem; font-weight: 800; line-height: .75; }
.venue-access-indicator-inline strong { font-size: .48rem; font-weight: 800; letter-spacing: .12em; }
.venue-hall .bg-light, .venue-hall .bg-white { color: var(--tcs-paper) !important; background: #0c0c0b !important; }
.venue-hall .bg-dark, .venue-hall .bg-secondary, .venue-hall .bg-primary { color: var(--tcs-paper) !important; background: transparent !important; border: 1px solid var(--tcs-border); }
.venue-hall .text-dark, .venue-hall .text-muted, .venue-hall .text-secondary { color: var(--tcs-muted) !important; }
.venue-hall .text-primary, .venue-hall .text-success, .venue-hall .text-danger { color: var(--tcs-paper) !important; }
.venue-hall .border, .venue-hall .border-dark, .venue-hall .border-light, .venue-hall .border-primary, .venue-hall .border-secondary { border-color: var(--tcs-border) !important; }
.venue-hall .vr { background: var(--tcs-border); }
.venue-table { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; padding: 4px; overflow: hidden; border: 1px solid; border-radius: 6px; box-shadow: none; cursor: pointer; transition: transform .16s ease, border-color .16s ease, background-color .16s ease; }
.venue-table.is-horizontal { width: 96px; height: 36px; }
.venue-table.is-vertical { width: 36px; height: 96px; }
.venue-table > div { justify-content: center !important; }
.venue-table .venue-table-status { width: 6px; height: 6px; display: inline-block; flex: 0 0 6px; margin-left: 5px; padding: 0; overflow: hidden; border: 1px solid currentColor; border-radius: 50%; font-size: 0; }
.venue-table .venue-table-price { display: none; }
.venue-table:hover, .venue-double-table:hover { z-index: 2; transform: translateY(-2px); }
.venue-table.is-available, .venue-double-table.is-available { color: #e8fff0; background: #17482f; border-color: #58bd82; box-shadow: inset 0 0 0 1px rgba(88,189,130,.12); }
.venue-table.is-available:hover, .venue-double-table.is-available:hover { background: #1d5a3a; border-color: #78d49d; }
.venue-table.is-occupied, .venue-double-table.is-occupied { color: #ffe9e9; background: repeating-linear-gradient(135deg, #552626 0, #552626 5px, #421e1e 5px, #421e1e 10px); border-color: #cb6262; box-shadow: inset 0 0 0 1px rgba(203,98,98,.1); }
.venue-table.is-occupied:hover, .venue-double-table.is-occupied:hover { border-color: #e78383; }
.venue-table-status { display: inline-flex; padding: 2px 4px; color: inherit; background: rgba(128,128,128,.13); border-radius: 3px; font-size: .43rem; font-weight: 780; line-height: 1.1; text-transform: uppercase; }
.venue-table-price { margin-top: 4px; color: inherit; font-size: .57rem; font-weight: 760; }
.venue-double-table { display: flex; flex-direction: column; align-items: center; justify-content: space-between; gap: 8px; padding: 9px; background: #0a0a09 !important; border: 2px solid; border-radius: 7px; cursor: pointer; transition: transform .16s ease, border-color .16s ease; }
.venue-double-table.is-vertical { min-width: 110px; }
.venue-double-table.is-horizontal { min-width: 205px; }
.venue-double-table.is-vertical-stack { min-width: 105px; width: 100%; }
.venue-double-table.is-available { color: #e8fff0; border-color: #58bd82; }
.venue-double-table.is-occupied { color: #ffe9e9; border-color: #cb6262; }
.venue-double-physical { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.venue-double-physical span { display: grid; place-items: center; border: 1px solid currentColor; border-radius: 3px; font-size: .58rem; }
.venue-double-table.is-available .venue-double-physical span { color: #e8fff0; background: #17482f; }
.venue-double-table.is-occupied .venue-double-physical span { color: #ffe9e9; background: repeating-linear-gradient(135deg, #552626 0, #552626 5px, #421e1e 5px, #421e1e 10px); }
.venue-double-table.is-vertical .venue-double-physical span { width: 34px; height: 88px; }
.venue-double-table.is-horizontal .venue-double-physical span { width: 82px; height: 32px; }
.venue-double-table.is-vertical-stack .venue-double-physical { width: 100%; display: grid; grid-template-columns: 1fr; grid-template-rows: repeat(2, 1fr); gap: 6px; }
.venue-double-table.is-vertical-stack .venue-double-physical span { width: 100%; min-width: 0; height: 32px; }
.venue-double-meta { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 7px; padding-top: 7px; border-top: 1px solid rgba(128,128,128,.25); }
.venue-double-meta > strong { font-size: .55rem; font-weight: 750; text-transform: uppercase; }
#s2CentroPares { display: grid !important; grid-template-columns: repeat(6, minmax(105px, 1fr)); gap: 8px; align-items: stretch; }
.venue-pair-count { padding: 3px 5px; color: inherit; background: rgba(128,128,128,.14); border-radius: 3px; font-size: .5rem; font-weight: 750; }
.venue-double-price { color: inherit; font-size: .62rem; font-weight: 750; }
.venue-double-price small { color: inherit; font-size: .5rem; font-weight: 500; opacity: .68; }
#modalDetalleMesa .modal-content { color: var(--tcs-paper); background: #111110; border: 1px solid var(--tcs-border) !important; border-radius: 11px; }
#modalDetalleMesa .modal-header { padding: 20px 23px; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); }
#modalDetalleMesa .modal-body { background: #111110; }
#modalDetalleMesa .modal-footer { background: #1a1917 !important; border-top: 1px solid var(--tcs-border); }
#modalDetalleMesa .text-dark, #modalDetalleMesa .text-muted { color: var(--tcs-muted) !important; }
#modalDetalleMesa .form-control, #modalDetalleMesa .form-select { color: var(--tcs-paper); background-color: #080808; border-color: var(--tcs-border); }
#modalDetalleMesa .form-select { padding-right: 46px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23f5efe0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; }
#modalDetalleMesa .form-select option { color: var(--tcs-paper); background: #151513; }
#modalDetalleMesa .card, #modalDetalleMesa .alert { color: var(--tcs-paper); background: rgba(245,239,224,.04) !important; border-color: var(--tcs-border) !important; }
#modalDetalleMesa .badge { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; }
#modalDetalleMesa .badge.bg-danger { color: var(--tcs-muted) !important; background: #242320 !important; border: 1px solid #4b4843; }

.venue-sponsor-badge { height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 16px; border-radius: 6px; border: 1.5px dashed rgba(245,239,224,.3) !important; background: rgba(245,239,224,.05) !important; color: rgba(245,239,224,.75) !important; font-size: .70rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; user-select: none; box-shadow: 0 1px 4px rgba(0,0,0,.25); transition: transform .16s ease, border-color .16s ease, background-color .16s ease; }
.venue-sponsor-badge:hover { transform: translateY(-1px); border-color: rgba(245,239,224,.55) !important; background: rgba(245,239,224,.09) !important; color: rgba(245,239,224,.92) !important; }
.venue-sponsor-badge i { font-size: .70rem; color: rgba(245,239,224,.75); }
.venue-sponsor-badge-vertical { width: 36px; min-height: 190px; margin-top: 200px !important; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 14px 2px; border-radius: 6px; border: 1.5px dashed rgba(245,239,224,.3) !important; background: rgba(245,239,224,.04) !important; color: rgba(245,239,224,.65) !important; user-select: none; box-shadow: 0 1px 4px rgba(0,0,0,.2); transition: transform .16s ease, border-color .16s ease, background-color .16s ease; }
.venue-sponsor-badge-vertical:hover { transform: translateY(-1px); border-color: rgba(245,239,224,.55) !important; background: rgba(245,239,224,.08) !important; color: rgba(245,239,224,.85) !important; }
.venue-sponsor-badge-vertical i { font-size: .65rem; color: rgba(245,239,224,.65); flex: 0 0 auto; }
.venue-sponsor-badge-vertical span { writing-mode: vertical-rl; text-orientation: mixed; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; line-height: 1; color: rgba(245,239,224,.65); }

.lodging-toolbar { grid-template-columns: minmax(280px, 520px) auto; justify-content: space-between; }
.lodging-admin-table { min-width: 1040px; }
.lodging-admin-table th:nth-child(3), .lodging-admin-table td:nth-child(3) { min-width: 270px; }
.lodging-admin-table th:last-child, .lodging-admin-table td:last-child { width: 190px !important; min-width: 190px; }
.lodging-table-photo { width: 58px; height: 48px; display: grid; place-items: center; overflow: hidden; margin: auto; color: var(--tcs-muted); background: #1a1917; border: 1px solid var(--tcs-border); border-radius: 7px; }
.lodging-table-photo img { width: 100%; height: 100%; display: block; object-fit: cover; }
.lodging-table-photo.is-empty::after { content: "—"; font-size: .72rem; }
.lodging-room-copy strong, .lodging-room-copy div { display: block; }
.lodging-room-copy div { max-width: 340px; margin-top: 6px; overflow: hidden; color: var(--tcs-muted); font-size: .65rem; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.lodging-table-tag { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 0 9px; color: rgba(245,239,224,.8); background: rgba(245,239,224,.04); border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .57rem; font-weight: 700; white-space: nowrap; }
.lodging-table-price { color: var(--tcs-paper) !important; font-weight: 750; white-space: nowrap; }
.lodging-table-actions { white-space: nowrap; }
.lodging-table-actions .table-action { padding-inline: 8px; font-size: .57rem; }
.lodging-table-panel .admin-empty { border-top: 1px solid var(--tcs-border); }

.lodging-form-page { width: min(100%, 1020px); margin: 0 auto; padding: clamp(28px, 4vw, 52px) 0 clamp(70px, 9vw, 110px); }
.lodging-form-panel { overflow: hidden; background: #0c0c0b; border: 1px solid var(--tcs-border); border-radius: 12px; }
.lodging-form-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; padding: clamp(25px, 4vw, 40px); background: #1a1917; border-bottom: 1px solid var(--tcs-border); }
.lodging-form-heading h1 { max-width: 720px; margin: 0; color: var(--tcs-paper); font-size: clamp(2rem, 4.6vw, 3.7rem); font-weight: 780; line-height: .98; letter-spacing: -.05em; text-transform: uppercase; }
.lodging-form-heading .admin-back-link { flex: 0 0 auto; margin: 0 0 5px; }
.lodging-form-body { padding: clamp(22px, 4vw, 38px); }
.lodging-form-body > .alert { color: var(--tcs-paper); background: rgba(245,239,224,.055); border-color: var(--tcs-border); }
.lodging-form-section { margin: 0 0 18px; padding: 0; overflow: hidden; background: #111110; border: 1px solid var(--tcs-border); border-radius: 10px; }
.lodging-form-section legend { width: 100%; display: flex; align-items: center; gap: 14px; float: none; margin: 0; padding: 19px 23px; color: var(--tcs-paper); background: #151513; border-bottom: 1px solid var(--tcs-border); font-size: .68rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.lodging-form-section legend span { color: #706c65; font-family: monospace; font-size: .59rem; }
.lodging-form-section > .row { margin: 0; padding: clamp(22px, 4vw, 32px); }
.lodging-form-page .form-label { margin-bottom: 8px; color: rgba(245,239,224,.8) !important; font-size: .65rem; font-weight: 700; letter-spacing: .025em; }
.lodging-form-page .form-control { color: var(--tcs-paper); background: #070707; border-color: var(--tcs-border); }
.lodging-form-page textarea.form-control { min-height: 120px; resize: vertical; }
.lodging-form-page .text-muted { color: var(--tcs-muted) !important; }
.lodging-form-page .text-danger { color: var(--tcs-paper) !important; }
.lodging-form-page input[type="file"] { padding: 11px; font-size: .66rem; }
.lodging-form-page input[type="file"]::file-selector-button { margin: -11px 13px -11px -11px; padding: 13px 15px; color: var(--tcs-ink); background: var(--tcs-paper); border: 0; font-family: inherit; font-size: .61rem; font-weight: 750; cursor: pointer; }
.lodging-cover-preview { min-height: 120px; display: grid; place-items: center; margin-top: 12px; padding: 10px; overflow: hidden; background: #090909; border: 1px solid var(--tcs-border); border-radius: 8px; }
.lodging-cover-preview img { display: block; max-width: 100%; max-height: 180px; object-fit: cover; border-radius: 5px; }
.lodging-gallery-preview, .lodging-existing-gallery { min-height: 82px; display: flex; align-content: flex-start; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding: 10px; background: #090909; border: 1px solid var(--tcs-border); border-radius: 8px; }
.lodging-preview-thumb { width: 78px; height: 64px; display: block; object-fit: cover; border: 1px solid var(--tcs-border); border-radius: 5px; }
.lodging-photo-empty { width: 100%; padding: 25px 12px; color: var(--tcs-muted); font-size: .64rem; text-align: center; }
.lodging-edit-loading { min-height: 270px; border-top: 0; }
.lodging-edit-thumb { position: relative; width: 82px; height: 68px; }
.lodging-edit-thumb img { width: 100%; height: 100%; display: block; object-fit: cover; border: 1px solid var(--tcs-border); border-radius: 5px; }
.lodging-remove-photo { position: absolute; top: -6px; right: -6px; width: 23px; height: 23px; display: grid; place-items: center; padding: 0; color: var(--tcs-ink); background: var(--tcs-paper); border: 1px solid var(--tcs-ink); border-radius: 50%; font-size: .8rem; cursor: pointer; }
.lodging-form-actions { margin-top: 27px; }
.lodging-detail-header { position: relative; padding-right: 220px; }
.lodging-detail-header .admin-primary-action { position: absolute; right: 0; bottom: clamp(32px, 5vw, 56px); }
.lodging-detail-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .75fr); align-items: stretch; gap: 22px; }
.lodging-gallery-panel, .lodging-info-panel { min-width: 0; }
.lodging-featured-photo { min-height: 390px; display: grid; place-items: center; overflow: hidden; background: #090909; border: 1px solid var(--tcs-border); border-radius: 9px; }
.lodging-featured-photo img { width: 100%; height: 390px; display: block; object-fit: cover; }
.lodging-thumbnails { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 14px; }
.lodging-thumbnail { width: 78px; height: 62px; display: block; padding: 2px; object-fit: cover; background: transparent; border: 1px solid var(--tcs-border); border-radius: 5px; cursor: pointer; opacity: .62; transition: opacity .18s ease, border-color .18s ease; }
.lodging-thumbnail:hover, .lodging-thumbnail.is-active { opacity: 1; border-color: var(--tcs-paper); }
.lodging-info-body { height: calc(100% - 65px); display: flex; flex-direction: column; justify-content: space-between; }
.lodging-info-panel .form-label { color: var(--tcs-muted) !important; font-size: .59rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.lodging-info-panel h4 { color: var(--tcs-paper) !important; font-size: clamp(1.5rem, 3vw, 2.25rem); letter-spacing: -.04em; }
.lodging-detail-value { display: inline-flex; margin-top: 5px; color: var(--tcs-paper); font-size: .83rem; font-weight: 730; }
.lodging-detail-description { min-height: 130px; margin-top: 5px; padding: 17px; color: rgba(245,239,224,.78); background: #090909; border: 1px solid var(--tcs-border); border-radius: 8px; font-size: .7rem; line-height: 1.7; white-space: pre-line; }
.lodging-detail-meta { margin-top: 25px; padding-top: 18px; color: var(--tcs-muted); border-top: 1px solid var(--tcs-border); font-size: .63rem; }
.lodging-detail-page .alert { color: var(--tcs-paper); background: rgba(245,239,224,.055); border-color: var(--tcs-border); }

.passes-module-page { width: min(100%, 1240px); margin: 0 auto; padding: clamp(34px, 5vw, 68px) 0 clamp(72px, 9vw, 115px); }
.passes-page-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; padding-bottom: clamp(32px, 5vw, 54px); border-bottom: 1px solid var(--tcs-border); }
.passes-page-header > div:first-child::before { content: "THE CARD SHOW · ADMIN"; display: block; margin-bottom: 12px; color: var(--tcs-muted); font-size: .58rem; font-weight: 750; letter-spacing: .18em; }
.passes-page-header h3 { max-width: 900px; margin: 0 !important; color: var(--tcs-paper); font-size: clamp(2.35rem, 5vw, 4.6rem); font-weight: 780 !important; line-height: .98; letter-spacing: -.052em; text-transform: uppercase; }
.passes-page-header > div:first-child > p, .passes-page-header #subtituloEventoDetalle { max-width: 690px; margin: 18px 0 0 !important; color: var(--tcs-muted) !important; font-size: .79rem !important; line-height: 1.7; }
.passes-page-header > div:last-child, .passes-page-header > .d-flex { flex: 0 0 auto; }
.passes-module-page .passes-page-header .btn { min-height: 43px; display: inline-flex; align-items: center; justify-content: center; padding: 0 15px; color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); border-radius: 999px; box-shadow: none !important; font-size: .61rem; font-weight: 750; }
.passes-module-page .passes-page-header .btn-primary { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.passes-module-page .passes-page-header .badge { color: var(--tcs-muted) !important; background: transparent !important; border: 1px solid var(--tcs-border); }
.passes-tabs { gap: 7px; margin: 23px 0 28px !important; border: 0; }
.passes-tabs .nav-link { min-height: 39px; padding: 0 14px; color: var(--tcs-muted); background: transparent; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .61rem; font-weight: 700 !important; }
.passes-tabs .nav-link:hover { color: var(--tcs-paper); border-color: rgba(245,239,224,.35); }
.passes-tabs .nav-link.active { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.passes-module-page .card { color: var(--tcs-paper); background: #111110 !important; border: 1px solid var(--tcs-border) !important; border-radius: 11px; box-shadow: none !important; }
.passes-module-page .card-header { min-height: 62px; display: flex; align-items: center; padding: 18px 23px !important; color: var(--tcs-paper) !important; background: #1a1917 !important; border-bottom: 1px solid var(--tcs-border); }
.passes-module-page .card-header h5 { font-size: .7rem; font-weight: 750; letter-spacing: .075em; text-transform: uppercase; }
.passes-module-page .card-body { background: transparent; }
.passes-module-page .bg-white, .passes-module-page .bg-light { color: var(--tcs-paper) !important; background: #151513 !important; border-color: var(--tcs-border) !important; }
.passes-module-page .text-dark, .passes-module-page .text-primary, .passes-module-page .text-success, .passes-module-page .text-danger { color: var(--tcs-paper) !important; }
.passes-module-page .text-muted, .passes-module-page .form-text { color: var(--tcs-muted) !important; }
.passes-module-page .badge { color: rgba(245,239,224,.8) !important; background: rgba(245,239,224,.05) !important; border: 1px solid var(--tcs-border); border-radius: 999px; font-size: .56rem !important; font-weight: 700; }
.passes-module-page .badge.bg-success, .passes-module-page .badge.bg-primary { color: var(--tcs-ink) !important; background: var(--tcs-paper) !important; border-color: var(--tcs-paper); }
.passes-module-page .table-responsive { border: 1px solid var(--tcs-border); border-radius: 10px; }
.passes-module-page .table { min-width: 960px; margin: 0; --bs-table-bg: transparent; --bs-table-color: var(--tcs-paper); --bs-table-hover-bg: rgba(245,239,224,.035); --bs-table-hover-color: var(--tcs-paper); }
.passes-module-page .table thead { background: #1a1917; }
.passes-module-page .table thead th { padding: 15px 16px; color: var(--tcs-muted); background: transparent !important; border: 0; border-bottom: 1px solid var(--tcs-border); font-size: .56rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; }
.passes-module-page .table tbody td { padding: 16px; color: rgba(245,239,224,.8); background: transparent; border-color: rgba(245,239,224,.09); font-size: .71rem; }
.passes-module-page .table tbody td strong { color: var(--tcs-paper) !important; }
.passes-module-page .btn { box-shadow: none !important; }
.passes-module-page .btn-primary { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.passes-module-page .btn-outline-primary, .passes-module-page .btn-outline-secondary, .passes-module-page .btn-outline-danger { color: var(--tcs-muted); background: transparent; border-color: var(--tcs-border); }
.passes-module-page .btn-outline-primary:hover, .passes-module-page .btn-outline-secondary:hover, .passes-module-page .btn-outline-danger:hover { color: var(--tcs-ink); background: var(--tcs-paper); border-color: var(--tcs-paper); }
.passes-module-page .btn-group { border: 1px solid var(--tcs-border); border-radius: 7px; overflow: hidden; }
.passes-module-page .btn-group .btn { border: 0; border-right: 1px solid var(--tcs-border); border-radius: 0; font-size: .58rem; }
.passes-module-page .btn-group .btn:last-child { border-right: 0; }
.passes-module-page .form-control, .passes-module-page .form-select, .passes-module-page .input-group-text { color: var(--tcs-paper); background-color: #070707; border-color: var(--tcs-border); }
.passes-module-page .form-select { padding-right: 46px; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='m3 5 4 4 4-4' fill='none' stroke='%23f5efe0' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 14px; }
.passes-module-page .form-select option { color: var(--tcs-paper); background: #151513; }
.passes-module-page textarea.form-control { min-height: 120px; resize: vertical; }
.passes-module-page .form-label { color: rgba(245,239,224,.82); font-size: .66rem !important; }
.passes-module-page .form-check-input { background-color: transparent; border-color: rgba(245,239,224,.42); box-shadow: none; }
.passes-module-page .form-check-input:checked { background-color: var(--tcs-paper); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23090909' stroke-linecap='round' stroke-linejoin='round' stroke-width='2.2' d='m3.2 8.2 3 3 6.6-6.6'/%3E%3C/svg%3E"); border-color: var(--tcs-paper); }
.passes-module-page .list-group { overflow: hidden; background: #090909; border-color: var(--tcs-border) !important; }
.passes-module-page .list-group-item { color: rgba(245,239,224,.8); background: transparent; border-color: var(--tcs-border); }
.passes-module-page .alert { color: var(--tcs-paper); background: rgba(245,239,224,.055); border-color: var(--tcs-border); }
.passes-module-page .spinner-border { color: var(--tcs-paper) !important; }
.passes-form-page { width: min(100%, 980px); }
.passes-addon-form-page { width: min(100%, 800px); }
.passes-form-page > .row { margin: 24px 0 0; }
.passes-form-page > .row > [class*="col-"] { width: 100%; padding: 0; }
.passes-form-page .card-body { padding: clamp(24px, 4vw, 38px) !important; }
.passes-form-page .border-top { border-color: var(--tcs-border) !important; }
.passes-form-page #listaCheckAdicionales { background: #090909 !important; border-color: var(--tcs-border) !important; }
.passes-form-page .btn-link { color: var(--tcs-muted); font-size: .61rem; }
.passes-form-page .btn-link:hover { color: var(--tcs-paper); }
.passes-detail-page > .row { margin-top: 24px; }
.passes-detail-page .card-footer { padding: 15px 20px !important; background: #151513 !important; border-top: 1px solid var(--tcs-border); }
.passes-detail-page .card-body .border-bottom, .passes-detail-page .card-body .border-top { border-color: var(--tcs-border) !important; }
.passes-detail-page .card-body h2, .passes-detail-page .card-body h3, .passes-detail-page .card-body h4 { color: var(--tcs-paper) !important; }
.passes-index-page .tab-pane > .card:first-of-type, .passes-event-page > .card:first-of-type { margin-top: 0; }
.passes-index-page .tab-pane > .card:first-of-type .card-body, .passes-event-page > .card:first-of-type .card-body { padding: 18px !important; }
.passes-module-page [id^="sin"] { color: var(--tcs-muted); }

@media (max-width: 767.98px) {
    .passes-page-header { align-items: flex-start; flex-direction: column; }
    .passes-page-header > div:last-child, .passes-page-header > .d-flex { width: 100%; flex-direction: column; }
    .passes-page-header .btn { width: 100%; }
    .passes-tabs { overflow-x: auto; flex-wrap: nowrap; }
    .passes-tabs .nav-link { white-space: nowrap; }
    .passes-form-page .card-body { padding: 20px !important; }
}

@media (max-width: 899.98px) {
    .lodging-detail-header { padding-right: 0; }
    .lodging-detail-header .admin-primary-action { position: static; width: 100%; margin-top: 24px; }
    .lodging-detail-grid { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .lodging-form-heading { align-items: flex-start; flex-direction: column-reverse; }
    .lodging-form-heading .admin-back-link { margin: 0; }
    .lodging-form-body { padding: 14px; }
    .lodging-form-section > .row { padding: 20px 14px; }
    .lodging-featured-photo { min-height: 260px; }
    .lodging-featured-photo img { height: 260px; }
}

@media (max-width: 767.98px) {
    .event-section-heading { align-items: flex-start; flex-direction: column; }
    .event-add-schedule { width: 100%; }
    .event-visibility-switch { margin-top: 0; }
}

@media (max-width: 899.98px) {
    .buyer-purchase-layout { grid-template-columns: 1fr; }
    .buyer-order-summary { position: static; }
    .buyer-checkout-header { align-items: flex-start; flex-direction: column; }
    .checkout-back-link { order: -1; }
    .my-passes-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .request-detail-grid { grid-template-columns: 1fr; }
    .vendor-events-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vendor-purchases-header { align-items: flex-start; flex-direction: column; }
    .admin-venue-header { align-items: flex-start; flex-direction: column; }
    .venue-reset-action { width: 100%; justify-content: center; }
    .vendor-order-panel { position: static !important; }
    .vendor-checkout-header { align-items: flex-start; flex-direction: column; }
    .vendor-checkout-header .admin-back-link { order: -1; }
}

@media (max-width: 575.98px) {
    .buyer-purchase-header h1 { overflow-wrap: anywhere; }
    .purchase-event-meta { flex-direction: column; gap: 7px; }
    .purchase-event-meta span + span { padding-left: 0; }
    .purchase-event-meta span + span::before { display: none; }
    .buyer-pass-option { flex-direction: column; padding: 22px; }
    .buyer-pass-price { width: 100%; padding: 17px 0 0 28px; border-top: 1px solid var(--tcs-border); text-align: left; }
    .purchase-summary-body, .purchase-summary-heading { padding-inline: 22px; }
    .checkout-panel-heading { align-items: flex-start; flex-direction: column; padding: 22px; }
    .checkout-panel-body { padding: 22px; }
    .checkout-order-panel .row > div:first-child { padding-bottom: 25px; border-right: 0 !important; border-bottom: 1px solid var(--tcs-border); }
    .checkout-order-panel .row > div:last-child { padding-top: 25px; padding-left: calc(var(--bs-gutter-x) * .5) !important; }
    .my-passes-header { align-items: flex-start; flex-direction: column; }
    .my-passes-header .admin-primary-action { width: 100%; }
    .my-passes-toolbar { align-items: stretch; flex-direction: column; }
    .my-passes-search { width: 100%; }
    .my-passes-grid { grid-template-columns: 1fr; }
    .my-passes-stats { width: 100%; }
    .my-passes-stat { min-width: 0; flex: 1; }
    .request-decision-actions { width: 100%; justify-content: stretch; }
    .request-decision-actions .decision-action { width: 100%; }
    .request-products-grid { grid-template-columns: 1fr; }
    .request-social-item { align-items: flex-start; flex-direction: column; gap: 5px; }
    .request-social-item span { width: 100%; }
    .vendor-events-toolbar { grid-template-columns: 1fr; }
    .vendor-events-count { justify-content: space-between; }
    .vendor-events-grid { grid-template-columns: 1fr; }
    .vendor-purchases-header h1 { overflow-wrap: anywhere; }
    .vendor-purchases-header .admin-primary-action { width: 100%; justify-content: space-between; }
    .vendor-purchases-summary { width: 100%; }
    .vendor-purchases-toolbar .admin-search { width: 100%; }
    .admin-venue-header h1 { overflow-wrap: anywhere; }
    .admin-venue-stats > div { width: 50%; }
    .admin-venue-legend .card-body > div { align-items: flex-start !important; flex-direction: column; }
    .admin-venue-canvas { margin-inline: -1px; padding: 14px 10px 18px !important; }
    .venue-table-inspector { top: 82px; width: 100%; min-height: 62px; grid-template-columns: 1fr; gap: 3px; padding: 11px 13px; }
    .venue-table-inspector > span { display: none; }
    .venue-table-inspector strong { font-size: .65rem; }
    .venue-table-inspector small { font-size: .54rem; }
    .venue-inspector-action { grid-column: 1; }
    .vendor-venue-header h1 { overflow-wrap: anywhere; }
    .vendor-venue-canvas { margin-inline: -1px; padding: 12px 9px 17px !important; }
    .vendor-table-inspector { top: 82px; }
    .vendor-venue-map-shell > .card-header { align-items: flex-start !important; flex-direction: column; }
    .vendor-checkout-header h1 { overflow-wrap: anywhere; }
    .vendor-checkout-panel > .card-header { align-items: flex-start !important; flex-direction: column; gap: 8px; }
    .vendor-checkout-panel > .card-header .badge { max-width: 100%; }
    .vendor-order-review #resumenGranTotal { max-width: 55%; font-size: 1rem; }
    .vendor-checkout-success > .card > .border-top:last-child > a { width: 100%; }
    .vendor-purchase-detail-panel > .card-header { align-items: flex-start !important; flex-direction: column; gap: 8px; }
    .vendor-purchase-detail-panel > .card-header .badge { max-width: 100%; }
    .vendor-purchase-detail-panel .card-body .col-6 { width: 100%; }
    .vendor-event-detail-panel #btnVerCroquisEvento { width: 100%; justify-content: center; }
    #modalQrGrande .modal-footer .btn { width: 100%; justify-content: center; }
    .events-admin-toolbar { grid-template-columns: 1fr; }
    .lodging-toolbar { grid-template-columns: 1fr; }
}

@media (max-width: 1699.98px) {
    .app-navbar { min-height: 72px; padding: 8px 18px; }
    .app-navbar-container { position: relative; min-height: 55px; }
    .app-brand { position: absolute; z-index: 2; top: 50%; left: 50%; width: 116px; height: 55px; transform: translate(-50%, -50%); }
    .app-navbar .navbar-toggler { position: relative; z-index: 2; order: -1; width: 42px; height: 42px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; margin-right: auto; padding: 0; border: 1px solid var(--tcs-border); border-radius: 8px; box-shadow: none; }
    .app-navbar .navbar-toggler:focus { box-shadow: 0 0 0 .2rem rgba(245,239,224,.1); }
    .app-navbar .menu-line { width: 17px; height: 1px; background: var(--tcs-paper); transition: transform .22s ease, opacity .18s ease; }
    .app-navbar .navbar-toggler[aria-expanded="true"] .menu-line:nth-child(1) { transform: translateY(6px) rotate(45deg); }
    .app-navbar .navbar-toggler[aria-expanded="true"] .menu-line:nth-child(2) { opacity: 0; }
    .app-navbar .navbar-toggler[aria-expanded="true"] .menu-line:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
    .mobile-header-language { position: relative; z-index: 2; display: inline-flex; margin-left: auto; }
    .app-navbar .navbar-collapse { position: fixed; z-index: 1; top: 71px; right: 0; bottom: 0; left: 0; max-height: none; overflow-y: auto; padding: 36px 24px 24px; background: #1a1917; border-top: 1px solid var(--tcs-border); box-shadow: none; }
    .app-navbar .navbar-collapse:not(.show):not(.collapsing) { display: none !important; }
    .app-navbar .navbar-collapse.show { display: block !important; }
    .app-navbar .navbar-collapse.collapsing { display: block !important; height: auto !important; transition: none; }
    .app-navbar .navbar-nav { width: 100%; align-items: stretch; flex-direction: column !important; counter-reset: mobile-navigation; }
    .app-navbar .navbar-nav .nav-item { width: 100%; counter-increment: mobile-navigation; }
    .app-navbar .navbar-nav .nav-link { width: 100%; display: flex; align-items: center; gap: 20px; padding: 17px 0; border-bottom: 1px solid rgba(245,239,224,.1); font-size: clamp(1.05rem, 4.8vw, 1.55rem); font-weight: 750; letter-spacing: -.025em; white-space: normal; text-transform: none; }
    .app-navbar .navbar-nav .nav-link::before { content: counter(mobile-navigation, decimal-leading-zero); width: 24px; color: #77736d; font-size: .58rem; letter-spacing: .12em; }
    .app-navbar .navbar-nav .nav-link::after { right: 4px; bottom: -1px; left: 46px; }
    .app-navbar .navbar-collapse > .d-flex { width: 100%; align-items: stretch !important; flex-direction: column; gap: 12px !important; padding-top: 28px; }
    .app-navbar .header-site-link { width: min(100%, 430px); min-height: 44px; align-self: flex-end; }
    .app-navbar .navbar-collapse > .d-flex > .language-toggle { display: none; }
    #navInvitado { width: 100%; }
    #navInvitado .btn { width: 100%; min-height: 44px; }
    .account-menu { margin-top: 2px; width: 100%; }
    .account-identity { flex: 1; }
    .account-name { max-width: none; }
}

@media (max-width: 575.98px) {
    .app-content { padding-inline: 12px; }
    .auth-page { padding-inline: 0; }
    .auth-brand { width: 142px; height: 80px; padding: 8px 12px; }
    .auth-heading { padding: 30px 24px 24px; }
    .auth-card-body { padding: 26px 24px 30px; }
    .auth-site-access { align-items: stretch; flex-direction: column; }
    .auth-site-access > span { max-width: none; }
    .auth-site-link { width: 100%; }
    .tcs-toast-region { top: 78px; right: 12px; width: calc(100vw - 24px); }
    .tcs-confirm-actions { flex-direction: column-reverse; }
    .tcs-confirm-actions button { width: 100%; }
    .dashboard-hero { align-items: flex-start; flex-direction: column; }
    .profile-panel-heading { align-items: flex-start; flex-direction: column; padding: 24px; }
    .profile-data-grid { grid-template-columns: 1fr; }
    .profile-data-grid > div { padding: 23px 24px; border-right: 0; border-bottom: 1px solid var(--tcs-border) !important; }
    .profile-data-grid > div:last-child { border-bottom: 0 !important; }
    .profile-panel-body { padding: 24px; }
    .admin-page-header { align-items: flex-start; flex-direction: column; }
    .admin-primary-action { width: 100%; }
    .admin-toolbar { grid-template-columns: 1fr; }
    .admin-result-count { padding: 5px 0 0; }
    .admin-form-panel-heading { grid-template-columns: 1fr; gap: 9px; padding: 22px 24px; }
    .admin-form-actions { align-items: stretch; flex-direction: column-reverse; }
    .admin-secondary-action, .admin-submit-action { width: 100%; }
    .sponsor-toolbar { grid-template-columns: 1fr; }
    .admin-segmented-filters { width: 100%; overflow-x: auto; }
    .admin-filter-tab { flex: 1 0 auto; }
    .detail-status-banner { align-items: flex-start; flex-direction: column; }
    .detail-panel-body { padding: 22px; }
    .detail-data-grid { grid-template-columns: 1fr; }
    .detail-data-grid .detail-data-wide { grid-column: auto; }
    .redeem-header { align-items: flex-start; flex-direction: column; }
    .redeem-page #contenedorEstadoInicial { min-height: 350px; }
    .redeem-page .input-group { flex-direction: column; gap: 9px; }
    .redeem-page .input-group .form-control, .redeem-page .input-group .btn { width: 100%; border-radius: 8px !important; }
    .buyer-events-header { align-items: flex-start; flex-direction: column; }
    .buyer-passes-link { width: 100%; }
    .buyer-events-toolbar { grid-template-columns: 1fr; }
    .buyer-events-count { justify-content: space-between; }
    .buyer-events-grid { grid-template-columns: 1fr; }
}

@media (min-width: 576px) and (max-width: 899.98px) {
    .admin-toolbar { grid-template-columns: 1fr 220px; }
    .admin-result-count { grid-column: 1 / -1; padding-left: 0; }
    .sponsor-toolbar { grid-template-columns: 1fr; }
    .admin-segmented-filters { justify-self: start; }
}

@media (min-width: 576px) and (max-width: 1699.98px) {
    .app-navbar .navbar-collapse .account-menu { width: min(100%, 430px); align-self: flex-end; }
}

@media (min-width: 900px) and (max-width: 1199.98px) {
    .sponsor-toolbar { grid-template-columns: 1fr 1fr; }
    .admin-result-count { grid-column: 1 / -1; padding-left: 0; }
}

@media (max-width: 899.98px) {
    .admin-detail-grid { grid-template-columns: 1fr; }
}

@media (min-width: 576px) and (max-width: 991.98px) {
    .buyer-events-grid { grid-template-columns: 1fr 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
}
