.admin-body {
    min-height: 100svh;
    background:
        radial-gradient(circle at 0 0, rgba(95,59,245,.055), transparent 25rem),
        #f7f5f7;
}
.admin-topbar {
    position: sticky;
    top: 0;
    z-index: 30;
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    padding: .8rem clamp(1rem, 4vw, 3rem);
    background: rgba(255,255,255,.9);
    border-bottom: 1px solid rgba(225,218,227,.86);
    box-shadow: 0 4px 20px rgba(43,29,51,.025);
    backdrop-filter: blur(18px);
}
.admin-nav { display: flex; align-items: center; gap: .3rem; }
.admin-nav a {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    gap: .45rem;
    padding: .62rem .85rem;
    color: #68606d;
    border-radius: 11px;
    font-size: .88rem;
    font-weight: 700;
    transition: color .2s, background .2s;
}
.admin-nav a:hover, .admin-nav a.active { color: var(--purple-dark); background: #f1ebf8; }
.admin-nav a.active { box-shadow: inset 0 0 0 1px rgba(95,59,245,.06); }
.nav-icon { display: inline-grid; width: 19px; place-items: center; font-size: .9rem; }
.nav-logout { margin-left: .35rem; border-left: 1px solid var(--line); border-radius: 0 11px 11px 0 !important; }
.nav-toggle { display: none; width: 44px; height: 44px; padding: 11px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.nav-toggle span { display: block; height: 2px; margin: 4px 0; background: var(--ink); border-radius: 5px; transition: transform .2s, opacity .2s; }
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.admin-main { max-width: 1280px; margin: auto; padding: clamp(2rem, 4vw, 3rem) 1.4rem 6rem; }
.page-heading { display: flex; margin-bottom: 2.2rem; align-items: flex-end; justify-content: space-between; gap: 1.5rem; }
.page-heading > div { max-width: 800px; }
.page-heading h1 { margin-bottom: .55rem; font-size: clamp(2.2rem, 4.5vw, 3.85rem); text-wrap: balance; }
.page-heading p:last-child { margin-bottom: 0; color: var(--muted); }

/* Dashboard */
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.stat-card {
    position: relative;
    display: grid;
    min-height: 178px;
    padding: 1.45rem;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: var(--shadow-sm);
    overflow: hidden;
    transition: transform .22s var(--ease), box-shadow .22s var(--ease);
}
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.stat-top { display: flex; align-items: center; justify-content: space-between; }
.stat-top span { color: var(--muted); font-size: .82rem; font-weight: 700; }
.stat-top i { display: grid; width: 34px; height: 34px; place-items: center; color: var(--purple); background: #f2edf8; border-radius: 11px; font-size: .9rem; font-style: normal; }
.stat-card > strong { align-self: center; font-family: "Playfair Display"; font-size: 3.15rem; line-height: 1; }
.stat-card > small { color: var(--muted); }
.stat-card.accent { color: #fff; background: linear-gradient(145deg, #62409a, #8054bd 58%, #a468b6); border-color: transparent; box-shadow: 0 18px 40px rgba(102,62,151,.23); }
.stat-card.accent::after { position: absolute; right: -58px; bottom: -70px; width: 180px; height: 180px; content: ""; border: 35px solid rgba(255,255,255,.075); border-radius: 50%; }
.stat-card.accent .stat-top span, .stat-card.accent > small { color: rgba(255,255,255,.74); }
.stat-card.accent .stat-top i { color: #fff; background: rgba(255,255,255,.14); }
.quick-grid { display: grid; margin: 1.15rem 0 2.1rem; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
.quick-grid a {
    position: relative;
    display: grid;
    min-height: 154px;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: 0 6px 22px rgba(43,29,51,.035);
    transition: transform .22s var(--ease), box-shadow .22s var(--ease), border-color .22s;
}
.quick-grid a:hover { transform: translateY(-3px); border-color: #d9cde3; box-shadow: var(--shadow-md); }
.quick-grid a > span { display: grid; width: 38px; height: 38px; place-items: center; color: var(--purple); background: #f2edf8; border-radius: 12px; font-size: 1.15rem; }
.quick-grid strong { margin-top: .8rem; }
.quick-grid small { color: var(--muted); }
.quick-grid i { position: absolute; right: 1.15rem; bottom: 1.05rem; color: #aa9eaf; font-style: normal; transition: transform .2s, color .2s; }
.quick-grid a:hover i { color: var(--purple); transform: translateX(3px); }
.panel { padding: clamp(1.25rem, 3vw, 2rem); background: rgba(255,255,255,.96); border: 1px solid var(--line); border-radius: 23px; box-shadow: var(--shadow-sm); }
.panel-heading { display: flex; align-items: center; justify-content: space-between; }
.panel-heading h2 { margin-bottom: .25rem; font-size: 1.85rem; }
.panel-heading p { color: var(--muted); }
.table-wrap { overflow-x: auto; scrollbar-width: thin; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 1rem .85rem; text-align: left; border-top: 1px solid var(--line); }
th { color: var(--muted); font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
td { color: var(--ink-soft); }
td strong { color: var(--ink); }
td small { display: block; color: var(--muted); }
tbody tr { transition: background .18s; }
tbody tr:hover { background: #fbf9fb; }
.status { display: inline-flex; align-items: center; gap: .35rem; padding: .34rem .62rem; border-radius: 30px; font-size: .69rem; font-weight: 800; text-transform: capitalize; }
.status::before { width: 6px; height: 6px; content: ""; background: currentColor; border-radius: 50%; }
.status.active, .status.approved { color: #146248; background: #e8f7f0; }
.status.inactive, .status.rejected { color: #983542; background: #fff0f2; }
.status.pending { color: #866000; background: #fff7da; }
.text-link { color: var(--purple); font-weight: 700; }

/* Eventos */
.events-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.event-admin-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 23px;
    box-shadow: var(--shadow-sm);
    transition: transform .25s var(--ease), box-shadow .25s var(--ease);
}
.event-admin-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); }
.event-card-cover { position: relative; height: 185px; padding: 1rem; background-color: var(--event-primary); background-image: linear-gradient(140deg, var(--event-primary), #cc6b9e); background-position: center; background-size: cover; }
.event-card-cover::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, rgba(20,10,25,.04), rgba(20,10,25,.2)); }
.event-card-cover .status { position: relative; z-index: 1; box-shadow: 0 6px 20px rgba(0,0,0,.1); }
.event-card-body { padding: 1.3rem; }
.event-card-body > small, .event-card-body > p { color: var(--muted); }
.event-card-body h2 { margin: .35rem 0; font-size: 1.6rem; }
.event-card-body > p { margin-bottom: 0; }
.event-metrics { display: flex; margin: 1.15rem 0; gap: .7rem; color: var(--muted); font-size: .77rem; }
.event-metrics span { flex: 1; padding: .7rem; background: #faf8fa; border-radius: 11px; }
.event-metrics strong { color: var(--ink); font-size: 1rem; }
.card-actions { display: flex; align-items: center; gap: .5rem; }

/* Formularios de evento */
.event-form { padding: 0; overflow: hidden; }
.form-section { display: grid; grid-template-columns: .62fr 1.38fr; gap: clamp(2rem, 5vw, 4rem); padding: clamp(1.5rem, 4vw, 2.7rem); border-bottom: 1px solid var(--line); }
.form-section > div:first-child { max-width: 300px; }
.form-section h2 { margin-bottom: .5rem; font-size: 1.8rem; }
.form-section > div:first-child::after { display: block; width: 38px; height: 2px; margin-top: 1.1rem; content: ""; background: linear-gradient(90deg, var(--purple), var(--pink)); border-radius: 5px; }
.form-grid { display: grid; gap: 1.25rem; }
.form-grid.two { grid-template-columns: repeat(2, 1fr); }
.form-grid label > small { color: var(--muted); font-weight: 500; }
.span-two { grid-column: span 2; }
input[type="color"] { min-height: 54px; padding: .3rem; cursor: pointer; }
.slug-field { display: flex; align-items: center; background: #f8f6f8; border: 1px solid var(--line-strong); border-radius: 13px; overflow: hidden; transition: border .2s, box-shadow .2s; }
.slug-field:focus-within { border-color: var(--purple); box-shadow: 0 0 0 4px rgba(95,59,245,.09); }
.slug-field span { padding-left: .85rem; color: var(--muted); white-space: nowrap; font-size: .78rem; }
.slug-field input { border: 0; border-radius: 0; box-shadow: none !important; }
.file-field { gap: .65rem; }
.admin-file-picker { position: relative; display: grid; min-height: 145px; place-items: center; align-content: center; padding: 1.2rem; color: var(--ink-soft); background: #faf8fb; border: 1.5px dashed #d6cbd9; border-radius: 17px; cursor: pointer; text-align: center; transition: border-color .2s, background .2s; }
.admin-file-picker:hover { border-color: var(--purple); background: #F1EEFF; }
.admin-file-picker.is-selected { border-color: var(--purple); background: #F1EEFF; }
.admin-file-picker > :not(input) { pointer-events: none; }
.admin-file-live-preview { display: block; width: 76px; height: 76px; margin: 0 auto .55rem; object-fit: cover; background: #fff; border-radius: 18px; box-shadow: 0 8px 22px rgba(46,29,61,.12); }
.admin-file-live-preview.is-profile { border-radius: 50%; }
.admin-file-picker input { position: absolute; inset: 0; z-index: 5; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.admin-file-picker i { display: grid; width: 40px; height: 40px; margin-bottom: .35rem; place-items: center; color: var(--purple); background: #F1EEFF; border-radius: 12px; font-size: 1.2rem; font-style: normal; }
.admin-file-picker small { margin-top: .2rem; color: var(--muted); font-weight: 500; }
.cover-preview { width: 100%; max-height: 320px; border: 1px solid var(--line); border-radius: 18px; object-fit: cover; box-shadow: var(--shadow-sm); }
.form-section-copy { color: var(--muted); font-size: .86rem; }
.watermark-fields { margin-top: 1.2rem; }
.watermark-logo-preview { display: flex; align-items: center; gap: .8rem; padding: .8rem; background: #f8f5f9; border: 1px solid var(--line); border-radius: 14px; }
.watermark-logo-preview img { width: 76px; height: 56px; object-fit: contain; background: #fff; border-radius: 9px; }
.watermark-logo-preview span { color: var(--muted); font-size: .82rem; font-weight: 700; }
.profile-photo-preview img { width: 74px; height: 74px; object-fit: cover; border-radius: 50%; }
.gallery-theme-preview { display: flex; align-items: center; gap: .8rem; padding: .9rem; background: #f8f5f9; border: 1px solid var(--line); border-radius: 14px; }
.gallery-theme-preview > div { display: grid; }
.gallery-theme-preview small { color: var(--muted); font-weight: 500; }
.gallery-theme-swatch { display: block; width: 58px; height: 42px; flex: 0 0 auto; background: linear-gradient(135deg, var(--purple), var(--pink)); border: 3px solid #fff; border-radius: 12px; box-shadow: var(--shadow-sm); }
.range-field { display: flex; min-height: 50px; align-items: center; gap: .8rem; padding: 0 .85rem; background: #fff; border: 1px solid var(--line-strong); border-radius: 13px; }
.range-field input { min-height: 0; padding: 0; border: 0; box-shadow: none; accent-color: var(--purple); }
.range-field output { min-width: 3rem; color: var(--purple-dark); font-weight: 800; text-align: right; }
.toggle-list { display: grid; gap: .85rem; }
.toggle-row { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; background: #fcfbfc; border: 1px solid var(--line); border-radius: 16px; cursor: pointer; transition: border-color .2s, background .2s; }
.toggle-row:hover { border-color: #d6cadb; background: #faf7fb; }
.toggle-row > span:first-child { display: grid; }
.toggle-row small { color: var(--muted); font-weight: 400; }
.switch { position: relative; display: block; width: 50px; height: 28px; flex: 0 0 auto; }
.switch input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.switch i { position: absolute; inset: 0; background: #d6d0d8; border-radius: 30px; transition: background .2s; }
.switch i::after { position: absolute; top: 4px; left: 4px; width: 20px; height: 20px; content: ""; background: #fff; border-radius: 50%; box-shadow: 0 2px 7px rgba(0,0,0,.17); transition: transform .22s var(--ease); }
.switch input:checked + i { background: var(--purple); }
.switch input:checked + i::after { transform: translateX(22px); }
.switch input:focus-visible + i { outline: 3px solid rgba(95,59,245,.2); outline-offset: 3px; }
.form-actions { position: sticky; bottom: 0; z-index: 4; display: flex; justify-content: flex-end; gap: .8rem; padding: 1.15rem 2rem; background: rgba(250,248,250,.94); border-top: 1px solid rgba(233,227,233,.8); backdrop-filter: blur(12px); }
.share-bar { display: flex; margin-bottom: 1.2rem; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.05rem 1.2rem; background: linear-gradient(110deg, #f5f0fa, #fbf9fc); border: 1px solid #ded1eb; border-radius: 17px; }
.share-bar > div { min-width: 0; }
.share-bar small { display: block; color: var(--muted); }
.share-bar strong { display: block; overflow: hidden; color: var(--purple-dark); text-overflow: ellipsis; white-space: nowrap; }
.qr-panel { display: flex; margin-bottom: 1.2rem; align-items: center; justify-content: space-between; gap: 2rem; }
.qr-panel > div:first-child { max-width: 680px; }
.qr-panel p { color: var(--muted); }
.qr-frame { flex: 0 0 auto; padding: .75rem; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.qr-frame img { width: 154px; height: 154px; }

/* Editor simple de plantilla fija */
.simple-design-section { background: linear-gradient(180deg, #fff, #fbf9fc); }
.simple-design-editor {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1.25rem;
    align-items: start;
}
.simple-design-controls { display: grid; gap: .9rem; min-width: 0; }
.simple-editor-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(43,29,51,.045);
}
.simple-editor-card summary {
    padding: 1rem 1.1rem;
    color: var(--ink);
    background: linear-gradient(135deg, #fbf8fd, #fff);
    border-bottom: 1px solid var(--line);
    cursor: pointer;
    font-weight: 900;
}
.simple-editor-card > label,
.simple-editor-card > .form-grid,
.simple-editor-card > .simple-color-grid,
.simple-editor-card > .simple-focus-control,
.simple-editor-card > .form-note,
.simple-editor-card > .simple-logo-current {
    margin: 1rem;
}
.simple-file-picker { min-height: 128px; }
.simple-current-media {
    display: block;
    width: calc(100% - 2rem);
    max-height: 260px;
    margin: 0 1rem 1rem;
    border: 1px solid var(--line);
    border-radius: 18px;
    object-fit: cover;
    box-shadow: var(--shadow-sm);
}
.simple-logo-current {
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .8rem;
    background: #faf8fb;
    border: 1px solid var(--line);
    border-radius: 16px;
}
.simple-logo-current img {
    width: 86px;
    height: 64px;
    object-fit: contain;
    background: #fff;
    border-radius: 12px;
}
.simple-focus-control {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .55rem;
}
.simple-focus-control label {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: .45rem;
    padding: .65rem;
    background: #f7f3fa;
    border: 1px solid #e4d9eb;
    border-radius: 999px;
    cursor: pointer;
    font-size: .85rem;
    font-weight: 800;
}
.simple-focus-control input { width: auto; min-height: auto; accent-color: var(--purple); }
.simple-color-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .8rem;
}
.simple-color-grid label {
    display: grid;
    gap: .4rem;
    padding: .75rem;
    background: #faf8fb;
    border: 1px solid var(--line);
    border-radius: 14px;
    color: var(--ink-soft);
    font-size: .78rem;
    font-weight: 800;
}
.simple-color-grid input[type="color"] { width: 100%; min-height: 44px; }
.simple-design-preview {
    position: sticky;
    top: 92px;
    display: grid;
    gap: .8rem;
    padding: 1rem;
    background: #17131b;
    border-radius: 28px;
    box-shadow: 0 26px 70px rgba(33,21,41,.22);
}
.simple-preview-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: #fff;
}
.simple-preview-heading small { color: rgba(255,255,255,.65); }
.simple-phone {
    overflow: hidden;
    background: var(--simple-bg, #f8f3ee);
    border: 8px solid #070609;
    border-radius: 32px;
    font-family: var(--simple-body-font, "Montserrat", Arial, sans-serif);
}
.simple-phone-hero {
    position: relative;
    min-height: 430px;
    padding: 1.1rem;
    color: var(--simple-hero-text, #fff);
    background: linear-gradient(135deg, #765487, #bd7995) center/cover no-repeat;
}
.simple-phone-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,0,0,.78), transparent 72%), var(--simple-overlay, #120c18);
    opacity: .58;
}
.simple-phone-hero > img {
    position: relative;
    z-index: 2;
    display: block;
    width: 76px;
    height: 76px;
    object-fit: contain;
    margin-bottom: 4.5rem;
    padding: .45rem;
    background: rgba(255,255,255,.88);
    border-radius: 18px;
}
.simple-phone-hero-copy {
    position: absolute;
    z-index: 2;
    left: 1.2rem;
    right: 1.2rem;
    bottom: 1.25rem;
}
.simple-phone-hero-copy span {
    display: inline-flex;
    margin-bottom: .75rem;
    padding: .45rem .65rem;
    background: rgba(255,255,255,.18);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.simple-phone-hero-copy h3 {
    margin: 0 0 .45rem;
    color: var(--simple-hero-text, #fff);
    font-family: var(--simple-heading-font, "Playfair Display", Georgia, serif);
    font-size: 2.45rem;
    line-height: .95;
}
.simple-phone-hero-copy p,
.simple-phone-hero-copy blockquote {
    margin: .35rem 0 0;
    color: var(--simple-hero-text, #fff);
    font-size: .95rem;
    line-height: 1.35;
}
.simple-phone-hero-copy blockquote {
    font-family: var(--simple-heading-font, "Playfair Display", Georgia, serif);
    font-size: 1.05rem;
    font-weight: 700;
}
.simple-phone-body {
    padding: 1.1rem;
    color: var(--simple-text, #2a2028);
    background: var(--simple-bg, #f8f3ee);
}
.simple-phone-body .eyebrow { color: var(--simple-button, #b68b5e); }
.simple-phone-body h4 {
    margin: .2rem 0 .35rem;
    color: var(--simple-text, #2a2028);
    font-family: var(--simple-heading-font, "Playfair Display", Georgia, serif);
    font-size: 1.55rem;
}
.simple-phone-body p:not(.eyebrow) {
    color: var(--simple-muted, #7b6f77);
    font-size: .86rem;
    line-height: 1.45;
}
.simple-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    margin: 1rem 0;
}
.simple-preview-grid span {
    aspect-ratio: 1;
    background: linear-gradient(145deg, #d9c2ca, #775b70);
    border-radius: 16px;
}
.simple-preview-grid span:nth-child(3n+2) { background: linear-gradient(145deg, #c9d7db, #637a87); }
.simple-preview-grid span:nth-child(3n) { background: linear-gradient(145deg, #e2d3b5, #9a7558); }
.simple-phone-body button {
    width: 100%;
    min-height: 48px;
    color: var(--simple-button-text, #fff);
    background: var(--simple-button, #b68b5e);
    border: 0;
    border-radius: 999px;
    font-weight: 900;
}

/* Moderación y galerías */
.filter-bar { display: flex; margin-bottom: 1.35rem; align-items: flex-end; gap: 1rem; padding: 1.05rem; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-sm); }
.filter-bar label { min-width: 220px; }
.filter-bar .button { min-height: 50px; }
.moderation-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
.moderation-card { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-sm); transition: transform .22s var(--ease), box-shadow .22s var(--ease); }
.moderation-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.media-preview { position: relative; aspect-ratio: 4/3; background: #eee9eb; overflow: hidden; }
.media-preview img, .media-preview video { width: 100%; height: 100%; object-fit: cover; }
.moderation-content { padding: 1.15rem; }
.moderation-meta { display: flex; align-items: center; justify-content: space-between; gap: .65rem; }
.moderation-meta small { overflow: hidden; color: var(--muted); text-overflow: ellipsis; white-space: nowrap; }
.moderation-content h3 { margin: .9rem 0 .25rem; font-size: 1.05rem; }
.guest-message { min-height: 48px; margin-bottom: .6rem; color: var(--muted); font-family: "Playfair Display"; font-size: .93rem; font-style: italic; line-height: 1.45; }
.upload-date { color: #978f9b; font-size: .75rem; }
.moderation-actions { display: grid; margin-top: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .48rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.moderation-actions form { margin: 0; }
.moderation-actions .button { width: 100%; min-height: 42px; padding-inline: .65rem; }
.moderation-actions .action-primary { grid-column: span 2; }
.moderation-actions .danger-action { grid-column: span 2; }
.moderation-actions .danger-action .button { min-height: 36px; background: transparent; border-color: transparent; font-size: .75rem; }
.gallery-admin-list { display: grid; gap: .85rem; }
.gallery-admin-list article { display: flex; min-height: 100px; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.2rem; background: #fff; border: 1px solid var(--line); border-radius: 19px; box-shadow: 0 5px 20px rgba(43,29,51,.03); transition: transform .2s, box-shadow .2s; }
.gallery-admin-list article:hover { transform: translateY(-2px); box-shadow: var(--shadow-sm); }
.gallery-admin-list article > div:first-child { display: flex; min-width: 0; align-items: center; gap: 1rem; }
.gallery-admin-list h2 { margin-bottom: .2rem; font-size: 1.45rem; }
.gallery-admin-list p { margin: 0; color: var(--muted); }
.event-dot { width: 9px; height: 54px; flex: 0 0 auto; border-radius: 20px; box-shadow: 0 4px 14px rgba(43,29,51,.1); }

@media (max-width: 1040px) {
    .stats-grid, .quick-grid { grid-template-columns: repeat(2, 1fr); }
    .events-grid, .moderation-grid { grid-template-columns: repeat(2, 1fr); }
    .form-section { grid-template-columns: 1fr; gap: 1.5rem; }
    .form-section > div:first-child { max-width: 600px; }
    .simple-design-editor { grid-template-columns: 1fr; }
    .simple-design-preview { position: relative; top: auto; order: -1; max-width: 430px; margin: auto; }
}

@media (max-width: 760px) {
    .admin-topbar { min-height: 66px; }
    .nav-toggle { display: block; }
    .admin-nav {
        position: absolute;
        top: 66px;
        right: 1rem;
        display: none;
        width: min(290px, calc(100vw - 2rem));
        align-items: stretch;
        flex-direction: column;
        padding: .7rem;
        background: rgba(255,255,255,.97);
        border: 1px solid var(--line);
        border-radius: 17px;
        box-shadow: var(--shadow-lg);
        backdrop-filter: blur(18px);
    }
    .admin-nav.open { display: flex; }
    .admin-nav a { min-height: 48px; padding-inline: .9rem; }
    .nav-logout { margin: .3rem 0 0; padding-top: .8rem !important; border-top: 1px solid var(--line); border-left: 0; border-radius: 0 0 11px 11px !important; }
    .page-heading { align-items: stretch; flex-direction: column; }
    .page-heading > .button { width: 100%; }
    .events-grid, .moderation-grid { grid-template-columns: 1fr; }
    .filter-bar { align-items: stretch; flex-direction: column; }
    .filter-bar label { min-width: 0; }
    .gallery-admin-list article, .qr-panel { align-items: stretch; flex-direction: column; }
    .gallery-admin-list .card-actions { width: 100%; }
    .gallery-admin-list .button { flex: 1; }
    .qr-frame { align-self: center; }
    .simple-color-grid { grid-template-columns: 1fr; }
    .simple-focus-control { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
    .admin-main { padding: 1.6rem .9rem 5rem; }
    .page-heading { margin-bottom: 1.6rem; }
    .page-heading h1 { font-size: clamp(2.15rem, 11vw, 3rem); }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
    .stat-card { min-height: 145px; padding: 1rem; border-radius: 18px; }
    .stat-card > strong { font-size: 2.45rem; }
    .stat-top i { width: 30px; height: 30px; }
    .quick-grid { grid-template-columns: 1fr; gap: .7rem; }
    .quick-grid a { min-height: 118px; padding: 1rem; }
    .quick-grid a > span { width: 34px; height: 34px; }
    .form-grid.two { grid-template-columns: 1fr; }
    .span-two { grid-column: span 1; }
    .form-section { padding: 1.25rem; }
    .slug-field { align-items: stretch; flex-direction: column; }
    .slug-field span { padding: .6rem .8rem 0; }
    .form-actions { padding: .9rem; }
    .form-actions .button { flex: 1; padding-inline: .7rem; }
    .share-bar { align-items: stretch; flex-direction: column; }
    .share-bar .button { width: 100%; }
    .event-card-cover { height: 175px; }
    .card-actions .button { flex: 1; padding-inline: .65rem; }
    .moderation-actions { grid-template-columns: 1fr 1fr; }
    .gallery-admin-list .card-actions { flex-direction: column; }
    .simple-design-preview { padding: .65rem; border-radius: 22px; }
    .simple-phone { border-width: 6px; border-radius: 26px; }
    .simple-phone-hero { min-height: 390px; }
    .simple-phone-hero-copy h3 { font-size: 2.05rem; }
}

@media (max-width: 370px) {
    .stats-grid { grid-template-columns: 1fr; }
    .stat-card { min-height: 135px; }
}

/* Editor visual de galería */
.gallery-personalization-section[hidden] { display: none !important; }
.gallery-editor-section { grid-template-columns: 1fr; }
.gallery-editor-section > div:first-child { max-width: 720px; }
.gallery-editor {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 1.5rem;
    align-items: start;
}
.gallery-editor-controls { display: grid; gap: .75rem; min-width: 0; }
.gallery-editor-toolbar { display: flex; align-items: end; gap: .7rem; padding: .9rem; background: #f8f5f9; border: 1px solid var(--line); border-radius: 16px; }
.gallery-editor-toolbar label { flex: 1; }
.editor-group { overflow: hidden; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.editor-group summary { display: flex; min-height: 54px; align-items: center; justify-content: space-between; padding: .8rem 1rem; cursor: pointer; font-weight: 800; list-style: none; }
.editor-group summary::-webkit-details-marker { display: none; }
.editor-group summary i { color: var(--purple); font-size: 1.25rem; font-style: normal; transition: transform .2s; }
.editor-group[open] summary i { transform: rotate(45deg); }
.editor-group-body { padding: 1rem; border-top: 1px solid var(--line); }
.editor-group output { float: right; color: var(--purple-dark); font-size: .75rem; font-weight: 800; }
.editor-group input[type="range"] { min-height: 28px; padding: 0; border: 0; box-shadow: none; accent-color: var(--purple); }
.color-control-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.color-control-grid label { min-width: 0; }
.color-control-grid label > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.color-control-grid input[type="color"] { width: 100%; }
.compact-file-picker { min-height: 108px; }
.remove-file-option { display: flex; align-items: center; gap: .55rem; color: var(--red); font-size: .82rem; }
.remove-file-option input { width: 18px; min-height: 18px; accent-color: var(--red); }
.gallery-editor-preview { position: sticky; top: 92px; min-width: 0; }
.preview-heading { display: flex; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .7rem; }
.preview-heading > div { display: grid; }
.preview-heading small { color: var(--muted); }
.preview-phone { width: min(100%, 390px); margin: auto; padding: 10px; background: #17141a; border: 1px solid #302a33; border-radius: 38px; box-shadow: 0 28px 70px rgba(35,23,42,.22); }
.preview-phone-screen {
    --preview-bg: #f8f3ee;
    --preview-surface: #fff;
    --preview-overlay: rgba(19,13,29,.55);
    --preview-heading: #251b22;
    --preview-body: #4a3d45;
    --preview-muted: #786b73;
    --preview-button: #b68b5e;
    --preview-button-text: #fff;
    --preview-icon: #fff;
    --preview-card-radius: 22px;
    --preview-button-radius: 999px;
    --preview-gap: 6px;
    --preview-columns: 3;
    --preview-heading-font: "Playfair Display", Georgia, serif;
    --preview-body-font: "DM Sans", Arial, sans-serif;
    position: relative;
    height: min(720px, 74vh);
    overflow-y: auto;
    color: var(--preview-body);
    background: var(--preview-bg);
    border-radius: 29px;
    font-family: var(--preview-body-font);
    scrollbar-width: none;
}
.preview-phone-screen::-webkit-scrollbar { display: none; }
.preview-hero { position: relative; display: grid; min-height: 340px; align-content: end; padding: 1rem; color: #fff; background: linear-gradient(135deg, #6f4b88, #bd6e92); background-size: cover; background-position: center; overflow: hidden; }
.preview-overlay { position: absolute; inset: 0; background: var(--preview-overlay); }
.preview-nav, .preview-hero-copy { position: relative; z-index: 1; }
.preview-nav { position: absolute; top: .7rem; right: .7rem; left: .7rem; display: flex; align-items: center; justify-content: space-between; }
.preview-brand { display: grid; width: 30px; height: 30px; place-items: center; background: rgba(255,255,255,.2); border-radius: 10px; font-size: .62rem; font-weight: 900; }
.preview-guest { padding: .35rem .55rem; background: rgba(255,255,255,.15); border-radius: 999px; font-size: .6rem; }
.preview-hero-copy img { width: auto; height: 42px; max-width: 140px; margin-bottom: .6rem; object-fit: contain; }
.preview-badge, .preview-count { display: inline-flex; width: fit-content; padding: .3rem .5rem; background: rgba(255,255,255,.16); border-radius: 999px; font-size: .56rem; }
.preview-hero-copy h3 { margin: .6rem 0 .35rem; color: var(--preview-heading); font-family: var(--preview-heading-font); font-size: var(--preview-title-size, 34px); font-weight: var(--preview-heading-weight, 700); line-height: 1; }
.preview-hero-copy p { margin: 0 0 .7rem; color: var(--preview-body); font-size: calc(var(--preview-text-size, 16px) * .68); line-height: 1.35; }
.preview-gallery-body { padding: 1rem; background: var(--preview-bg); }
.preview-gallery-title { display: grid; margin-bottom: .7rem; }
.preview-gallery-title strong { color: var(--preview-heading); font-family: var(--preview-heading-font); font-weight: var(--preview-heading-weight, 700); }
.preview-gallery-title small { color: var(--preview-muted); font-size: .62rem; }
.preview-grid { display: grid; grid-template-columns: repeat(var(--preview-columns), 1fr); gap: var(--preview-gap); }
.preview-grid span { aspect-ratio: 1; background: linear-gradient(145deg, #d9c2ca, #775b70); border-radius: var(--preview-card-radius); box-shadow: var(--preview-shadow, 0 6px 14px rgba(35,23,42,.1)); }
.preview-grid span:nth-child(3n+2) { background: linear-gradient(145deg, #c9d7db, #637a87); }
.preview-grid span:nth-child(3n) { background: linear-gradient(145deg, #e2d3b5, #9a7558); }
.preview-fabs { position: sticky; bottom: .7rem; display: flex; justify-content: end; gap: .45rem; padding: .5rem .7rem; pointer-events: none; }
.preview-fabs button { min-width: 36px; min-height: 36px; padding: .5rem .65rem; color: var(--preview-button-text); background: var(--preview-button); border: 0; border-radius: var(--preview-button-radius); box-shadow: 0 8px 18px rgba(25,15,30,.2); font-size: .6rem; font-weight: 800; }
.preview-fabs button:first-child { width: 36px; padding: 0; font-size: 0; }
.preview-fabs button:first-child::before { content: ""; width: 16px; height: 16px; margin: auto; display: block; background: var(--preview-icon); border-radius: 4px; }
.preview-phone.is-layout-editorial .preview-grid { grid-template-columns: repeat(4, 1fr); }
.preview-phone.is-layout-editorial .preview-grid span:nth-child(5n+1) { grid-column: span 2; aspect-ratio: 2/1; }
.preview-phone.is-layout-social_feed .preview-grid { grid-template-columns: 1fr; }
.preview-phone.is-layout-social_feed .preview-grid span { aspect-ratio: 4/3; }
.preview-phone.is-hero-split .preview-hero { margin: .7rem; min-height: 300px; border-radius: var(--preview-card-radius); }
.preview-phone.is-hero-centered .preview-hero-copy { text-align: center; place-items: center; }
.preview-phone.is-hero-minimal .preview-hero { min-height: 230px; background-image: none !important; }
.preview-phone.is-hero-full_bleed .preview-hero { min-height: 520px; }
.preview-phone.is-spacing-compact .preview-gallery-body { padding: .6rem; }
.preview-phone.is-spacing-airy .preview-gallery-body { padding: 1.4rem; }

@media (max-width: 1100px) {
    .gallery-editor { grid-template-columns: 1fr; }
    .gallery-editor-preview { position: relative; top: auto; order: -1; }
    .preview-phone { max-width: 360px; }
}
@media (max-width: 600px) {
    .gallery-editor-toolbar { align-items: stretch; flex-direction: column; }
    .color-control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .preview-phone-screen { height: 650px; }
}

/* Editor visual fullscreen */
.gallery-editor-section[hidden] { display: none !important; }
.visual-editor-card { display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:1.3rem;background:linear-gradient(135deg,#f4eefb,#fff7fb);border:1px solid #ded0eb;border-radius:20px;box-shadow:var(--shadow-sm) }
.visual-editor-card p { margin:.25rem 0 0;color:var(--muted) }
.design-studio[hidden]{display:none!important}
body.design-studio-open{overflow:hidden}
.design-studio{position:fixed;inset:0;z-index:1000;color:#28222c;background:#f3f0f6;font-family:"DM Sans",system-ui,sans-serif}
.design-studio-topbar{display:grid;grid-template-columns:1fr auto 1fr;min-height:68px;align-items:center;padding:.65rem 1rem;background:#fff;border-bottom:1px solid #ddd6e1;box-shadow:0 3px 15px #2d20340d}
.design-studio-topbar>div:first-child{display:flex;align-items:center;gap:.7rem}.design-studio-topbar small{color:#887f8c}.design-studio-actions{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.design-studio-actions [hidden]{display:none!important}
.design-view-switch{display:flex;padding:4px;background:#f1edf3;border-radius:12px}.design-view-switch button{padding:.5rem .8rem;border:0;background:transparent;border-radius:9px;font-weight:800}.design-view-switch button.is-active{color:#5f3380;background:#fff;box-shadow:0 2px 8px #2c1c3518}
.design-studio-layout{display:grid;grid-template-columns:260px minmax(400px,1fr) 340px;height:calc(100dvh - 68px)}
.design-layers,.design-properties{overflow-y:auto;background:#fff}.design-layers{border-right:1px solid #ddd6e1}.design-properties{border-left:1px solid #ddd6e1;box-shadow:-18px 0 45px #2c1c3510}
.design-panel-title{display:grid;gap:.2rem;padding:1.2rem;border-bottom:1px solid #eee9f0}.design-panel-title small{color:#8d8491;text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:900}
.design-layers nav,.custom-layer-list{display:grid;padding:.6rem}.design-layers nav button,.custom-layer-list button{display:flex;min-height:43px;align-items:center;justify-content:space-between;padding:.65rem .75rem;border:0;background:transparent;border-radius:10px;text-align:left;font-weight:700}
.design-layers nav button:hover,.design-layers nav button.is-active,.custom-layer-list button:hover{color:#623a82;background:#f3edf8}.design-layers i{font-style:normal}.layer-quick-action{margin:-.25rem .6rem .55rem!important;min-height:auto!important;padding:.65rem .75rem!important;border:1px dashed #c6acd8!important;background:#fbf7ff!important;color:#65388a!important}.layer-quick-action small{color:#8d6aa5;font-weight:800}
.add-section-button{width:calc(100% - 1.2rem);margin:.2rem .6rem;padding:.75rem;border:1px dashed #a98cbd;color:#673d85;background:#faf7fc;border-radius:12px;font-weight:800}
.design-font-upload{display:grid;margin:1rem .7rem;padding:.8rem;background:#f8f5fa;border-radius:12px;font-size:.75rem}.design-font-upload input{margin-top:.5rem;min-height:0;padding:0;border:0}
.design-canvas{overflow:auto;display:grid;gap:1rem;place-items:start center;padding:1.2rem 2rem 2rem;background:linear-gradient(135deg,#f8f6fa,#e8e3ed)}
.design-studio.is-previewing .design-studio-layout{grid-template-columns:1fr}.design-studio.is-previewing .design-layers,.design-studio.is-previewing .design-properties,.design-studio.is-previewing .design-simple-help{display:none!important}.design-studio.is-previewing .design-canvas{place-items:center;padding:1.5rem;background:radial-gradient(circle at center,#fff 0,#e9e4ee 72%)}.design-studio.is-previewing .design-device{box-shadow:0 32px 90px #2115293a}
.design-simple-help{width:min(760px,100%);padding:.75rem 1rem;border:1px solid #ded3e9;border-radius:18px;background:#ffffffe8;color:#493657;text-align:center;box-shadow:0 12px 30px #2d20340f;backdrop-filter:blur(14px)}.design-simple-help strong{color:#6d35a2}
.design-device{transition:width .25s;width:410px;padding:10px;background:#17141a;border-radius:38px;box-shadow:0 26px 80px #281a3138}.design-device.is-desktop{width:min(1100px,100%);border-radius:18px}.design-device.is-desktop .design-preview{border-radius:10px}
.design-preview{position:relative;min-height:700px;overflow:hidden;background:#fff;border-radius:30px}.dp-hero{position:relative;display:grid;align-content:end;min-height:680px;padding:clamp(1.2rem,5vw,4rem);color:#fff;background-color:#75547e;background-image:linear-gradient(135deg,#75547e,#bd7995);background-size:cover;background-position:center;background-repeat:no-repeat;touch-action:none}
.dp-overlay{position:absolute;inset:0;background:#120c18;opacity:.55}.canvas-cover-button{position:absolute;z-index:8;top:16px;right:16px;display:inline-flex;align-items:center;gap:.45rem;padding:.72rem 1rem;border:0;border-radius:999px;background:#fff;color:#2a1833;font-weight:900;box-shadow:0 16px 44px #0005;cursor:pointer}.canvas-cover-button::before{content:"📷"}.canvas-cover-hint{position:absolute;z-index:8;left:16px;right:16px;bottom:16px;margin:0;padding:.65rem .8rem;border-radius:16px;background:#0008;color:#fff;font-size:.78rem;font-weight:800;backdrop-filter:blur(12px);pointer-events:none}.cover-safe-zone{position:absolute;z-index:2;left:15%;right:15%;top:17.5%;bottom:17.5%;border:1px dashed #ffffff70;border-radius:22px;background:#ffffff0e;box-shadow:0 0 0 999px #00000012;pointer-events:none}.canvas-cover-focus{position:absolute;z-index:9;width:20px;height:20px;border:2px solid #fff;border-radius:999px;background:#a855f7;box-shadow:0 0 0 7px #a855f744,0 10px 28px #0008;transform:translate(-50%,-50%);pointer-events:none}.dp-hero-content{position:absolute;inset:0;z-index:5}.dp-badge,.dp-counter{display:inline-flex;width:max-content;max-width:100%;padding:.55rem .8rem;border:1px solid #ffffff40;border-radius:999px;background:#ffffff2e}
.dp-hero h1{margin:.8rem 0;font-size:52px;line-height:.95}.dp-subtitle{max-width:680px}.dp-hero blockquote{margin:1rem 0}.dp-album{padding:28px 20px 120px}.dp-album h2{margin:.25rem 0;font-size:2rem}.dp-album>p{margin:.2rem 0 1rem}
.dp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dp-grid span{aspect-ratio:1;background:linear-gradient(145deg,#d9c2ca,#775b70);border-radius:14px}.dp-grid span:nth-child(3n+2){background:linear-gradient(145deg,#c9d7db,#637a87)}.dp-grid span:nth-child(3n){background:linear-gradient(145deg,#e2d3b5,#9a7558)}
.dp-fabs{position:absolute;right:15px;bottom:15px;display:flex;gap:10px}.dp-fabs.is-bottom_left{right:auto;left:15px}.dp-fabs.is-bottom_center{right:50%;transform:translateX(50%)}.dp-fabs button{display:grid;width:60px;height:60px;place-items:center;border:0;border-radius:50%;font-size:1.4rem}
.dp-custom{position:relative;margin:1rem 20px}.dp-custom img{display:block;max-width:100%;margin:auto;border-radius:inherit}.dp-custom a{display:inline-flex;padding:.7rem 1rem;color:#fff;background:#b68b5e;border-radius:999px}.dp-image-placeholder{padding:3rem;background:#eee;border:1px dashed #aaa}
[data-editable-element]{cursor:pointer;outline:1px solid transparent;outline-offset:5px;transition:outline .15s,box-shadow .15s,filter .15s}[data-editable-element]:hover{outline-color:#8b5cf680}[data-editable-element].is-selected{outline:2px solid #8b5cf6;outline-offset:6px;box-shadow:0 0 0 6px #8b5cf626,0 16px 36px #2c153d24!important}[data-editable-element].is-draggable{cursor:grab;touch-action:none;user-select:none}[data-editable-element].is-dragging{cursor:grabbing;opacity:.96;user-select:none}
[data-editable-element].is-selected::before{content:attr(data-drag-label);position:absolute;left:0;top:-38px;z-index:90;padding:.48rem .7rem;border-radius:999px;background:#6d35d9;color:#fff;font:900 11px/1 "DM Sans",system-ui,sans-serif;letter-spacing:.01em;white-space:nowrap;box-shadow:0 14px 30px #0004;pointer-events:none}[data-editable-element].is-selected::after{content:"";position:absolute;inset:-8px;z-index:89;border:1px solid #ffffffd9;border-radius:14px;box-shadow:inset 0 0 0 2px #8b5cf6;pointer-events:none}
[data-editable-element="hero"].is-selected::before{top:14px;left:14px}
[data-editable-element].is-locked{cursor:not-allowed;outline-style:dashed!important;filter:saturate(.75)}[contenteditable].is-inline-editing{cursor:text;outline:3px solid #4f8cff!important;background:#ffffff12;caret-color:#fff}
.design-floating-toolbar{display:none!important}.design-selection-actions{display:none!important}.canvas-cover-button,.canvas-cover-hint,.cover-safe-zone,.canvas-cover-focus{display:none!important}
.design-floating-toolbar[hidden],.design-selection-actions[hidden],.design-resize-handle[hidden],.design-guide[hidden]{display:none!important}.design-floating-toolbar button,.design-floating-toolbar select,.design-floating-toolbar input{min-height:30px;height:30px;padding:3px 7px;border:1px solid #e1dae5;background:#fff;border-radius:7px;font-size:11px}.design-floating-toolbar select{max-width:130px}.design-floating-toolbar input[type=color]{width:34px;padding:3px}.design-floating-toolbar input[type=number]{width:52px}.design-floating-toolbar button.is-active{color:#fff;background:#7842a0}
.design-resize-handle{position:absolute;z-index:81;width:15px;height:15px;background:#fff;border:3px solid #7442a0;border-radius:50%;box-shadow:0 2px 8px #0003;cursor:ew-resize;touch-action:none}
.design-guide{position:absolute;z-index:70;pointer-events:none;background:#26a7ff66}.design-guide.guide-x{left:0;right:0;top:50%;height:1px}.design-guide.guide-y{top:0;bottom:0;left:50%;width:1px}.design-drag-tooltip{position:absolute;z-index:95;padding:.45rem .65rem;border-radius:999px;background:#111827;color:#fff;font-size:.72rem;font-weight:900;box-shadow:0 14px 34px #0005;pointer-events:none}
.design-studio.guides-hidden .design-guide,.design-studio.guides-hidden .cover-safe-zone,.design-studio.guides-hidden .canvas-cover-focus{display:none!important}.design-studio.is-previewing .design-floating-toolbar,.design-studio.is-previewing .design-selection-actions,.design-studio.is-previewing .design-resize-handle,.design-studio.is-previewing .design-guide,.design-studio.is-previewing .design-drag-tooltip,.design-studio.is-previewing .canvas-cover-button,.design-studio.is-previewing .canvas-cover-hint,.design-studio.is-previewing .cover-safe-zone,.design-studio.is-previewing .canvas-cover-focus{display:none!important}.design-studio.is-previewing [data-editable-element],.design-studio.is-previewing [data-editable-element]:hover,.design-studio.is-previewing [data-editable-element].is-selected{cursor:default!important;outline:0!important;box-shadow:none!important}.design-studio.is-previewing [data-editable-element]::before,.design-studio.is-previewing [data-editable-element]::after{display:none!important}.design-studio.is-previewing .dp-hero{touch-action:auto}
.property-segment{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.property-segment button{min-height:36px;border:1px solid #ddd3e2;background:#fff;border-radius:8px}.property-segment button.is-active{color:#fff;background:#7442a0}.design-property-fields details{display:grid;gap:.8rem;padding:.9rem;border:1px solid #eee6f1;border-radius:18px;background:#fff}.design-property-fields summary{margin-bottom:.8rem;font-weight:900;cursor:pointer}.property-empty{padding:1rem;color:#847b88;font-size:.9rem;line-height:1.55}.property-active-card{display:grid;gap:.2rem;padding:1rem;border-radius:20px;background:linear-gradient(135deg,#7c3aed,#b05add);color:#fff;box-shadow:0 18px 42px #7c3aed30}.property-active-card small{text-transform:uppercase;letter-spacing:.12em;font-size:.65rem;font-weight:900;opacity:.8}.property-active-card strong{font-size:1.1rem}.property-active-card p{margin:.15rem 0 0;color:#fff;font-size:.84rem;line-height:1.35;opacity:.9}.property-motion-panel{background:#fbf8ff!important}.motion-values{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-bottom:.75rem}.motion-values span{padding:.65rem;border-radius:14px;background:#fff;color:#6b5a73;font-size:.75rem;font-weight:800}.motion-values b{display:block;margin-top:.15rem;color:#321b46;font-size:.95rem}.motion-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin-bottom:.55rem}.motion-pad button,.property-motion-panel .full{min-height:38px;border:1px solid #ddcfe8;border-radius:12px;background:#fff;color:#4f2870;font-weight:900}.property-motion-panel .full{width:100%}.motion-pad button:hover,.property-motion-panel .full:hover{background:#f3ecfb}
.cover-editor-panel{border-color:#eadff0;background:linear-gradient(180deg,#fff,#fbf7ff)!important}.cover-current{position:relative;display:grid;place-items:end start;min-height:180px;margin:.75rem 0;border-radius:22px;overflow:hidden;background:#201628 center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff80,0 18px 40px #41215c1d;cursor:crosshair}.cover-current::after,.cover-frame::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#0008,#0001);pointer-events:none}.cover-current button{position:relative;z-index:4;margin:12px;padding:.55rem .8rem;border:0;border-radius:999px;background:#ffffffe8;color:#281a32;font-weight:800}.cover-focus-dot{position:absolute;z-index:3;width:18px;height:18px;border:2px solid #fff;border-radius:999px;background:#a855f7;box-shadow:0 0 0 6px #a855f733,0 10px 28px #0008;transform:translate(-50%,-50%);pointer-events:none}.cover-focus-dot::before,.cover-focus-dot::after{content:"";position:absolute;background:#fff}.cover-focus-dot::before{left:50%;top:-11px;width:2px;height:36px;transform:translateX(-50%)}.cover-focus-dot::after{top:50%;left:-11px;width:36px;height:2px;transform:translateY(-50%)}.cover-upload-control{display:grid!important;gap:.45rem;padding:1rem;border:1px dashed #b995d6;border-radius:18px;background:#fff;color:#432951;font-weight:900;text-align:center;cursor:pointer}.cover-upload-control input{min-height:0!important;padding:.4rem 0!important;border:0!important;font-weight:500}.cover-recommendations{display:grid;gap:.25rem;margin:.75rem 0;padding:.85rem;border-radius:18px;background:#f6edf9;color:#574262}.cover-recommendations p,.cover-file-status,.safe-area-note{margin:.15rem 0;color:#725f77;font-size:.86rem;line-height:1.45}.cover-focus-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:.45rem;margin:.75rem 0}.cover-focus-actions button{padding:.55rem;border:1px solid #e4d6eb;border-radius:999px;background:#fff;color:#432951;font-weight:800}.cover-focus-actions button:nth-child(2){background:#6d35d9;color:#fff}.cover-preview-pair{display:grid;grid-template-columns:1fr;gap:.75rem}.cover-preview-pair small{display:block;margin-bottom:.35rem;color:#7a6680;font-weight:800}.cover-frame{position:relative;overflow:hidden;border-radius:20px;background:#201628 center/cover no-repeat;box-shadow:inset 0 0 0 1px #ffffff70,0 14px 30px #3f2a4d1c;cursor:crosshair}.cover-frame.is-mobile{width:min(100%,220px);aspect-ratio:9/16;margin:auto}.cover-frame.is-desktop{aspect-ratio:16/9}.safe-area{position:absolute;z-index:2;left:15%;right:15%;top:17.5%;bottom:17.5%;border:1px dashed #fff9;border-radius:18px;background:#ffffff12;box-shadow:0 0 0 999px #0000001c}
.design-property-fields{display:grid;gap:.9rem;padding:1rem}.design-property-fields label{display:grid;gap:.35rem;font-size:.76rem;font-weight:800}.design-property-fields output{justify-self:end;color:#6d3c8c}.design-property-fields input,.design-property-fields select,.design-property-fields textarea{min-height:43px;padding:.65rem;border:1px solid #d9d0dd;border-radius:10px}.design-property-fields input[type=color]{padding:4px}.design-property-fields input[type=range]{min-height:24px;padding:0}
.property-check{display:flex!important;align-items:center;gap:.6rem;padding:.7rem;background:#f8f5fa;border-radius:10px}.property-check input{width:18px;min-height:18px}.section-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.section-actions button{padding:.7rem;border:1px solid #ddd;background:#fff;border-radius:9px}.section-actions .danger{grid-column:span 2;color:#a42d3f}
@media(max-width:1050px){.design-studio-layout{grid-template-columns:220px minmax(390px,1fr) 290px}.design-studio-actions .button.ghost{display:none}.design-studio-actions [data-design-guides-toggle],.design-studio-actions [data-design-preview-mode],.design-studio-actions [data-design-edit-mode]{display:inline-flex!important}.design-studio-actions [hidden]{display:none!important}}
@media(max-width:760px){.visual-editor-card{align-items:stretch;flex-direction:column}.design-studio-topbar{display:flex;align-items:flex-start;flex-wrap:wrap;gap:.65rem}.design-studio-topbar .design-view-switch{display:none}.design-studio-actions{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:.15rem}.design-studio-layout{display:flex;flex-direction:column;height:calc(100dvh - 112px);overflow:auto}.design-canvas{order:1;overflow:visible;padding:1rem}.design-device{width:min(390px,100%)}.design-layers,.design-properties{position:relative;inset:auto;z-index:auto;width:auto;transform:none;overflow:visible}.design-properties{order:2;border-left:0;border-top:1px solid #ddd6e1;box-shadow:none}.design-layers{order:3;border-right:0;border-top:1px solid #ddd6e1}.design-panel-title{padding:1rem}.design-property-fields{padding:.9rem}.design-simple-help{font-size:.86rem}.design-studio.is-previewing .design-studio-layout{height:calc(100dvh - 112px)}}

/* Editor visual simplificado: preview real + panel contextual */
.visual-editor {
    margin: 0;
    padding: 0;
}
.visual-editor-shell {
    display: grid;
    grid-template-columns: 132px minmax(420px, 1fr) 360px;
    min-height: calc(100vh - 210px);
    gap: 1rem;
    align-items: start;
}
.visual-editor-rail,
.visual-inspector,
.visual-stage-toolbar,
.live-gallery-preview {
    box-sizing: border-box;
}
.visual-editor-rail {
    position: sticky;
    top: 92px;
    display: grid;
    gap: .55rem;
    padding: .75rem;
    background: rgba(255,255,255,.82);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(36,25,45,.08);
    backdrop-filter: blur(14px);
}
.visual-editor-rail button {
    width: 100%;
    min-height: 44px;
    padding: .65rem .7rem;
    color: #4e4358;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 16px;
    cursor: pointer;
    font: 800 .78rem/1.1 var(--font-body, system-ui, sans-serif);
    text-align: left;
}
.visual-editor-rail button:hover,
.visual-editor-rail button.active {
    color: #fff;
    background: linear-gradient(135deg, #6d42d8, #8f58e8);
    border-color: rgba(255,255,255,.12);
    box-shadow: 0 10px 22px rgba(109,66,216,.22);
}
.visual-editor-stage {
    min-width: 0;
}
.visual-stage-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: .95rem 1.05rem;
    background: rgba(255,255,255,.9);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(36,25,45,.06);
}
.visual-stage-toolbar h2,
.visual-stage-toolbar p {
    margin: 0;
}
.visual-stage-toolbar h2 {
    font-size: 1.05rem;
}
.live-gallery-preview {
    width: min(100%, 560px);
    margin: 0 auto 2rem;
    overflow: hidden;
    background: var(--live-bg, #f8f3ee);
    border: 1px solid rgba(36,25,45,.08);
    border-radius: 34px;
    box-shadow: 0 30px 90px rgba(36,25,45,.18);
    font-family: var(--live-body-font, "Montserrat", Arial, sans-serif);
}
.live-hero {
    position: relative;
    min-height: 690px;
    overflow: hidden;
    color: var(--live-hero-text, #fff);
    background: linear-gradient(135deg, #3d3146, #b68b5e) center/cover no-repeat;
    background-position: 50% 45%;
    cursor: pointer;
}
.live-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.74) 76%);
    z-index: 1;
}
.live-overlay {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: var(--live-overlay, #120c18);
    opacity: var(--live-overlay-opacity, .55);
    pointer-events: none;
    mix-blend-mode: multiply;
}
.select-hit {
    position: absolute;
    inset: 0;
    z-index: 3;
    padding: 0;
    background: transparent;
    border: 0;
    cursor: pointer;
}
.live-logo {
    position: absolute;
    top: 28px;
    left: 28px;
    z-index: 7;
    width: 92px;
    height: 92px;
    object-fit: contain;
    padding: .55rem;
    background: rgba(255,255,255,.9);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(0,0,0,.18);
    cursor: pointer;
}
.live-hero-copy {
    position: absolute;
    z-index: 6;
    left: 34px;
    right: 34px;
    bottom: 40px;
    color: var(--live-hero-text, #fff);
    cursor: pointer;
}
.live-badge {
    display: inline-flex;
    margin-bottom: .85rem;
    padding: .55rem .75rem;
    color: inherit;
    background: rgba(255,255,255,.17);
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    font-size: .75rem;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}
.live-hero-copy h1 {
    margin: 0 0 .65rem;
    color: inherit;
    font-family: var(--live-heading-font, "Playfair Display", Georgia, serif);
    font-size: clamp(2.8rem, 7.2vw, 4.6rem);
    line-height: .92;
    letter-spacing: -.04em;
}
.live-hero-copy p {
    margin: 0 0 .75rem;
    color: inherit;
    font-size: 1.15rem;
    font-weight: 600;
}
.live-hero-copy blockquote {
    margin: 0;
    color: inherit;
    font-family: var(--live-heading-font, "Playfair Display", Georgia, serif);
    font-size: 1.35rem;
    font-weight: 700;
    line-height: 1.18;
}
.live-memory-line {
    display: inline-flex;
    margin-top: 1rem;
    padding: .7rem .85rem;
    color: inherit;
    background: rgba(255,255,255,.17);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 900;
}
.live-album {
    padding: 2rem 1.45rem 2.25rem;
    color: var(--live-text, #2a2028);
    background: var(--live-bg, #f8f3ee);
    cursor: pointer;
}
.live-eyebrow {
    margin: 0 0 .3rem;
    color: var(--live-button, #b68b5e);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .2em;
    text-transform: uppercase;
}
.live-album h2 {
    margin: 0 0 .45rem;
    color: var(--live-text, #2a2028);
    font-family: var(--live-heading-font, "Playfair Display", Georgia, serif);
    font-size: 2.15rem;
    line-height: 1.02;
}
.live-album p:not(.live-eyebrow) {
    margin: 0;
    color: var(--live-muted, #7b6f77);
    font-size: .98rem;
    line-height: 1.5;
}
.live-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 1.35rem 0;
}
.live-preview-grid span {
    aspect-ratio: 1;
    background: linear-gradient(145deg, #d9c2ca, #775b70);
    border-radius: 18px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.28);
}
.live-preview-grid span:nth-child(3n+2) { background: linear-gradient(145deg, #c9d7db, #637a87); }
.live-preview-grid span:nth-child(3n) { background: linear-gradient(145deg, #e2d3b5, #9a7558); }
.live-upload-button {
    width: 100%;
    min-height: 56px;
    color: var(--live-button-text, #fff);
    background: var(--live-button, #b68b5e);
    border: 0;
    border-radius: 999px;
    cursor: pointer;
    font: 900 1rem/1 var(--live-body-font, "Montserrat", Arial, sans-serif);
    box-shadow: 0 18px 34px color-mix(in srgb, var(--live-button, #b68b5e) 34%, transparent);
}
.selectable-editor-part {
    outline: 0 solid transparent;
    outline-offset: 0;
    transition: outline-color .16s ease, outline-width .16s ease, box-shadow .16s ease, transform .16s ease;
}
.selectable-editor-part:hover {
    outline: 2px dashed rgba(124,58,237,.65);
    outline-offset: 4px;
}
.selectable-editor-part.active {
    outline: 3px solid #7c3aed;
    outline-offset: 5px;
    box-shadow: 0 0 0 9px rgba(124,58,237,.13);
}
.live-hero.active {
    outline-offset: -12px;
}
.live-hero-copy.active,
.live-logo.active,
.live-upload-button.active,
.live-album.active {
    position: relative;
    z-index: 9;
}
.visual-inspector {
    position: sticky;
    top: 92px;
    overflow: hidden;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: 0 24px 70px rgba(36,25,45,.12);
    backdrop-filter: blur(18px);
}
.inspector-head {
    padding: 1.15rem 1.2rem;
    color: #fff;
    background: linear-gradient(135deg, #2b2132, #6f42d9);
}
.inspector-head small {
    display: block;
    margin-bottom: .2rem;
    color: rgba(255,255,255,.75);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.inspector-head h3 {
    margin: 0;
    color: #fff;
    font-size: 1.45rem;
}
.inspector-head p {
    margin: .35rem 0 0;
    color: rgba(255,255,255,.78);
    font-size: .85rem;
}
.inspector-panel {
    display: none;
    gap: .9rem;
    padding: 1.1rem;
}
.inspector-panel.active {
    display: grid;
}
.inspector-panel label {
    display: grid;
    gap: .45rem;
    margin: 0;
    color: #2b2132;
    font-size: .82rem;
    font-weight: 900;
}
.inspector-panel input[type="text"],
.inspector-panel textarea,
.inspector-panel select,
.inspector-panel input[type="color"],
.inspector-panel input[type="range"] {
    width: 100%;
}
.inspector-panel input[type="color"] {
    min-height: 48px;
    padding: .35rem;
}
.visual-file-card {
    position: relative;
    min-height: 116px;
    padding: 1rem;
    overflow: hidden;
    background: linear-gradient(135deg, #fbf8ff, #fff);
    border: 1px dashed #bca8dc;
    border-radius: 20px;
    cursor: pointer;
}
.visual-file-card input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}
.visual-file-card span {
    display: grid;
    gap: .2rem;
    pointer-events: none;
}
.visual-file-card strong {
    color: #4f2bb5;
    font-size: 1rem;
}
.visual-file-card small {
    color: #716576;
}
.focus-pills {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: .5rem;
}
.focus-pills label {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    padding: .55rem;
    background: #f6f1fb;
    border: 1px solid #e5d9ef;
    border-radius: 999px;
    cursor: pointer;
    font-size: .78rem;
}
.focus-pills input,
.mini-check input {
    width: auto;
    min-height: auto;
    accent-color: #7c3aed;
}
.mini-check {
    display: flex !important;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: .55rem;
    color: #bb2d4b !important;
}
.gallery-editor-entry {
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
    background: linear-gradient(135deg, #ffffff, #fbf8fd);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 16px 42px rgba(36,25,45,.07);
}
.gallery-editor-entry-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
}
.gallery-editor-page .form-actions {
    margin-top: 1rem;
    border-radius: 24px;
}
@media (max-width: 1180px) {
    .visual-editor-shell { grid-template-columns: 112px minmax(360px, 1fr) 330px; }
    .live-gallery-preview { width: min(100%, 500px); }
    .live-hero { min-height: 620px; }
}
@media (max-width: 980px) {
    .visual-editor-shell { grid-template-columns: 1fr; }
    .visual-editor-rail, .visual-inspector { position: relative; top: auto; }
    .visual-editor-rail { grid-template-columns: repeat(3, 1fr); }
    .visual-stage-toolbar { align-items: stretch; flex-direction: column; }
    .live-gallery-preview { width: min(100%, 520px); }
}
@media (max-width: 620px) {
    .visual-editor-rail { grid-template-columns: repeat(2, 1fr); }
    .live-gallery-preview { border-radius: 24px; }
    .live-hero { min-height: 540px; }
    .live-hero-copy { left: 24px; right: 24px; bottom: 28px; }
    .live-hero-copy h1 { font-size: 2.65rem; }
}

/* Recuerdos QR: editor de galería simple, visual y estable */
.gallery-editor-page.panel,
form.panel.gallery-editor-page {
    padding: 0 !important;
    overflow: hidden;
}
.gallery-editor-page + .form-actions,
form.gallery-editor-page .form-actions {
    position: sticky;
    bottom: 0;
    z-index: 20;
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    padding: 16px 22px;
    margin: 0;
    border-top: 1px solid rgba(32, 23, 38, .08);
    background: rgba(255, 255, 255, .94);
    backdrop-filter: blur(14px);
}
.rq-gallery-editor {
    --rq-bg: #f8f3ee;
    --rq-surface: #ffffff;
    --rq-text: #2a2028;
    --rq-muted: #7b6f77;
    --rq-hero-text: #ffffff;
    --rq-button: #b68b5e;
    --rq-button-text: #ffffff;
    --rq-overlay: #120c18;
    --rq-overlay-opacity: .55;
    --rq-heading-font: 'Playfair Display';
    --rq-body-font: 'Montserrat';
    --rq-focus-y: 45%;
    color: var(--rq-text);
    font-family: var(--rq-body-font), Inter, system-ui, sans-serif;
    background: linear-gradient(180deg, rgba(248,243,238,.65), rgba(255,255,255,1));
}
.rq-editor-topbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 24px;
    align-items: end;
    padding: 26px clamp(18px, 3vw, 34px) 18px;
    border-bottom: 1px solid rgba(32, 23, 38, .08);
}
.rq-editor-topbar h2 {
    margin: 0 0 6px;
    font-size: clamp(28px, 3.4vw, 52px);
    line-height: .95;
    letter-spacing: -.04em;
    font-family: var(--rq-heading-font), Georgia, serif;
    color: #211827;
}
.rq-editor-topbar p:not(.eyebrow) {
    margin: 0;
    color: #7c7280;
    max-width: 760px;
}
.rq-editor-chips {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}
.rq-editor-chips button {
    appearance: none;
    border: 1px solid rgba(124, 58, 237, .14);
    background: #fff;
    color: #45394e;
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 750;
    font-size: 14px;
    cursor: pointer;
    box-shadow: 0 10px 30px rgba(32, 23, 38, .06);
}
.rq-editor-chips button.is-active {
    background: #7c3aed;
    border-color: #7c3aed;
    color: #fff;
}
.rq-editor-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 0;
    min-height: 720px;
}
.rq-preview-area {
    padding: 22px clamp(18px, 3vw, 34px) 32px;
    background: #f7f4fa;
    overflow: auto;
}
.rq-preview-label {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 14px;
}
.rq-preview-label span {
    font-weight: 850;
    color: #211827;
}
.rq-preview-label small {
    color: #8a7f8d;
}
.rq-live-gallery {
    max-width: 760px;
    min-height: 900px;
    margin: 0 auto;
    border-radius: 34px;
    overflow: hidden;
    background: var(--rq-bg);
    box-shadow: 0 24px 80px rgba(32, 23, 38, .15);
    border: 10px solid #fff;
}
.rq-live-hero {
    position: relative;
    min-height: 560px;
    background-color: #d8c8b6;
    background-size: cover;
    background-position: 50% var(--rq-focus-y);
    color: var(--rq-hero-text);
    overflow: hidden;
}
.rq-live-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, color-mix(in srgb, var(--rq-overlay) 45%, transparent), color-mix(in srgb, var(--rq-overlay) 84%, transparent));
    opacity: var(--rq-overlay-opacity);
    pointer-events: none;
}
.rq-zone-hit {
    position: absolute;
    inset: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    z-index: 1;
}
.rq-live-logo,
.rq-live-logo-placeholder {
    position: absolute;
    z-index: 4;
    top: 30px;
    left: 32px;
    width: 88px;
    max-height: 64px;
    object-fit: contain;
}
.rq-live-logo-placeholder {
    display: grid;
    place-items: center;
    height: 44px;
    border-radius: 14px;
    border: 1px dashed rgba(255,255,255,.55);
    color: rgba(255,255,255,.78);
    font-weight: 800;
    font-size: 13px;
    backdrop-filter: blur(8px);
}
.rq-live-hero-copy {
    position: absolute;
    z-index: 3;
    left: 32px;
    right: 32px;
    bottom: 38px;
    color: var(--rq-hero-text);
}
.rq-live-hero-copy span {
    display: inline-flex;
    margin-bottom: 14px;
    padding: 8px 13px;
    border: 1px solid rgba(255,255,255,.24);
    border-radius: 999px;
    background: rgba(255,255,255,.14);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.rq-live-hero-copy h1 {
    margin: 0;
    max-width: 92%;
    font-size: clamp(46px, 6vw, 78px);
    line-height: .92;
    letter-spacing: -.06em;
    font-family: var(--rq-heading-font), Georgia, serif;
    color: var(--rq-hero-text);
}
.rq-live-hero-copy p {
    margin: 18px 0 0;
    font-size: 19px;
    font-weight: 750;
    color: var(--rq-hero-text);
}
.rq-live-hero-copy blockquote {
    margin: 18px 0 0;
    max-width: 78%;
    font-family: var(--rq-heading-font), Georgia, serif;
    font-size: 24px;
    font-weight: 750;
    line-height: 1.12;
    color: var(--rq-hero-text);
}
.rq-live-album {
    padding: 34px 32px 42px;
    background: var(--rq-bg);
}
.rq-album-card {
    padding: 30px;
    border-radius: 28px;
    background: var(--rq-surface);
    box-shadow: 0 18px 50px rgba(32, 23, 38, .08);
}
.rq-album-card small {
    color: var(--rq-button);
    text-transform: uppercase;
    letter-spacing: .18em;
    font-weight: 900;
}
.rq-album-card h2 {
    margin: 12px 0 12px;
    font-family: var(--rq-heading-font), Georgia, serif;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1;
    letter-spacing: -.04em;
    color: var(--rq-text);
}
.rq-album-card p {
    color: var(--rq-muted);
    margin: 0 0 20px;
    font-size: 17px;
    line-height: 1.55;
}
.rq-live-button {
    display: inline-flex;
    border: 0;
    border-radius: 999px;
    padding: 14px 22px;
    background: var(--rq-button);
    color: var(--rq-button-text);
    font-weight: 850;
    box-shadow: 0 16px 32px color-mix(in srgb, var(--rq-button) 35%, transparent);
    cursor: pointer;
}
.rq-photo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin-top: 22px;
}
.rq-photo-grid span {
    aspect-ratio: 1;
    border-radius: 18px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--rq-button) 22%, #fff), color-mix(in srgb, var(--rq-muted) 10%, #fff));
    box-shadow: inset 0 0 0 1px rgba(32,23,38,.04);
}
.rq-edit-zone {
    cursor: pointer;
    outline: 0 solid transparent;
    transition: outline .16s ease, box-shadow .16s ease, transform .16s ease;
}
.rq-edit-zone:hover {
    outline: 2px solid rgba(124,58,237,.35);
    outline-offset: -2px;
}
.rq-edit-zone.is-active {
    outline: 3px solid #7c3aed;
    outline-offset: -3px;
    box-shadow: inset 0 0 0 9999px rgba(124,58,237,.035);
}
.rq-edit-panel {
    position: sticky;
    top: 74px;
    align-self: start;
    height: calc(100vh - 92px);
    overflow: auto;
    padding: 24px;
    background: #fff;
    border-left: 1px solid rgba(32, 23, 38, .08);
}
.rq-panel-header {
    margin-bottom: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(32, 23, 38, .08);
}
.rq-panel-header small {
    display: block;
    color: #7c3aed;
    text-transform: uppercase;
    letter-spacing: .14em;
    font-weight: 900;
    margin-bottom: 6px;
}
.rq-panel-header h3 {
    margin: 0;
    font-family: var(--rq-heading-font), Georgia, serif;
    font-size: 32px;
    line-height: 1;
    color: #211827;
}
.rq-panel-header p {
    margin: 8px 0 0;
    color: #7c7280;
    line-height: 1.45;
}
.rq-panel-section {
    display: none;
    gap: 14px;
}
.rq-panel-section.is-active {
    display: grid;
}
.rq-upload-box,
.rq-color-row,
.rq-range-row,
.rq-select-row,
.rq-text-row,
.rq-check-row,
.rq-field-group {
    display: grid;
    gap: 8px;
    color: #33283a;
    font-weight: 850;
}
.rq-upload-box {
    padding: 16px;
    border: 1px dashed rgba(124, 58, 237, .28);
    border-radius: 20px;
    background: #fbf9ff;
    cursor: pointer;
}
.rq-upload-box input[type=file] {
    width: 100%;
    font-size: 13px;
    color: #7c7280;
}
.rq-upload-box strong {
    font-size: 16px;
    color: #211827;
}
.rq-upload-box small {
    color: #7c7280;
    font-weight: 650;
}
.rq-color-row {
    grid-template-columns: 1fr 56px;
    align-items: center;
    min-height: 58px;
    padding: 12px 14px;
    border: 1px solid rgba(32,23,38,.08);
    border-radius: 18px;
    background: #fff;
}
.rq-color-row input[type=color] {
    width: 52px;
    height: 38px;
    padding: 2px;
    border: 1px solid rgba(32,23,38,.12);
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
}
.rq-range-row {
    padding: 12px 14px;
    border: 1px solid rgba(32,23,38,.08);
    border-radius: 18px;
}
.rq-select-row select,
.rq-text-row input,
.rq-text-row textarea {
    width: 100%;
    border: 1px solid rgba(32,23,38,.1);
    border-radius: 16px;
    padding: 13px 14px;
    background: #fff;
    color: #211827;
    font: inherit;
    font-weight: 700;
}
.rq-text-row textarea {
    resize: vertical;
    min-height: 92px;
    line-height: 1.45;
}
.rq-segmented {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
    padding: 5px;
    border-radius: 18px;
    background: #f3eef9;
}
.rq-segmented label {
    position: relative;
    display: grid;
    place-items: center;
    min-height: 42px;
    border-radius: 14px;
    cursor: pointer;
    color: #6d6174;
    font-weight: 850;
}
.rq-segmented input {
    position: absolute;
    opacity: 0;
}
.rq-segmented label:has(input:checked) {
    background: #7c3aed;
    color: #fff;
    box-shadow: 0 12px 24px rgba(124,58,237,.2);
}
@media (max-width: 1120px) {
    .rq-editor-topbar,
    .rq-editor-workspace {
        grid-template-columns: 1fr;
    }
    .rq-editor-chips {
        justify-content: flex-start;
    }
    .rq-edit-panel {
        position: relative;
        top: auto;
        height: auto;
        border-left: 0;
        border-top: 1px solid rgba(32,23,38,.08);
    }
}
@media (max-width: 720px) {
    .rq-live-gallery {
        border-width: 6px;
        border-radius: 24px;
    }
    .rq-live-hero {
        min-height: 520px;
    }
    .rq-live-hero-copy h1 {
        font-size: 44px;
    }
    .rq-live-hero-copy blockquote {
        max-width: 92%;
        font-size: 20px;
    }
}

/* Admin bulk moderation + event delete */
.page-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
}
.page-actions form { margin: 0; }
.event-card-actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr auto;
    gap: .55rem !important;
}
.event-delete-form {
    grid-column: 1 / -1;
    margin: 0;
}
.event-delete-form .button { width: 100%; }
.bulk-toolbar {
    position: sticky;
    top: 84px;
    z-index: 8;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .85rem;
    margin-bottom: 1rem;
    padding: .9rem;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(43,29,51,.07);
    backdrop-filter: blur(16px);
}
.bulk-select-all {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    color: var(--ink-soft);
    font-weight: 800;
    cursor: pointer;
}
.bulk-select-all input,
.upload-select-control input {
    width: 18px;
    height: 18px;
    accent-color: var(--purple);
}
.bulk-counter {
    color: var(--muted);
    font-size: .9rem;
    font-weight: 700;
}
.bulk-counter strong { color: var(--purple-dark); }
.bulk-actions {
    display: flex;
    align-items: center;
    gap: .45rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.moderation-card { position: relative; }
.moderation-card.is-selected {
    border-color: color-mix(in srgb, var(--purple) 45%, var(--line));
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--purple) 14%, transparent), var(--shadow-md);
}
.upload-select-control {
    position: absolute;
    top: .75rem;
    left: .75rem;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    padding: .45rem .58rem;
    color: #fff;
    background: rgba(25,18,32,.68);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    font-size: .74rem;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 24px rgba(0,0,0,.15);
    backdrop-filter: blur(10px);
}
.upload-select-control span { line-height: 1; }

@media (max-width: 760px) {
    .page-actions { width: 100%; justify-content: stretch; }
    .page-actions .button, .page-actions form { width: 100%; }
    .bulk-toolbar {
        position: relative;
        top: auto;
        align-items: stretch;
        flex-direction: column;
    }
    .bulk-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .bulk-actions .button { width: 100%; }
    .bulk-actions .button.danger { grid-column: span 2; }
    .event-card-actions { grid-template-columns: 1fr 1fr auto; }
}

/* Mensajes / calificaciones */
.admin-inline-form { display:flex; gap:1rem; align-items:flex-end; flex-wrap:wrap; }
.admin-inline-form label { display:grid; gap:.35rem; min-width:min(100%, 320px); font-weight:700; }
.admin-inline-form select { min-height:46px; border-radius:16px; border:1px solid var(--border, #ece7ef); padding:.75rem 1rem; background:#fff; font:inherit; }
.small-stats { margin-top:1rem; }
.interaction-admin-list { display:grid; gap:1rem; }
.interaction-admin-item { align-items:flex-start; }
.interaction-admin-item.is-muted { opacity:.58; }
.rating-line { color:#b6953b; letter-spacing:.06em; }
.inline-actions { display:flex; gap:.5rem; flex-wrap:wrap; justify-content:flex-end; }
.button.small { padding:.55rem .8rem; min-height:auto; font-size:.9rem; }

/* Centro del evento: navegación rápida y paneles más limpios */
.event-form-jump {
    position: sticky;
    top: 78px;
    z-index: 15;
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    padding: 1rem clamp(1.25rem, 4vw, 2.7rem);
    background: rgba(255,255,255,.82);
    border-bottom: 1px solid var(--line);
    backdrop-filter: blur(16px);
}
.event-form-jump a {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: .55rem .9rem;
    color: var(--ink-soft);
    text-decoration: none;
    font-size: .86rem;
    font-weight: 900;
    border: 1px solid var(--line);
    border-radius: 999px;
    background: rgba(255,255,255,.9);
    box-shadow: 0 10px 24px rgba(39,24,58,.05);
}
.event-form-jump a:hover {
    color: var(--purple-dark);
    border-color: color-mix(in srgb, var(--purple) 35%, var(--line));
    background: color-mix(in srgb, var(--purple) 8%, #fff);
}
.event-form .form-section {
    scroll-margin-top: 150px;
}
.event-form .form-section:target {
    background: linear-gradient(90deg, color-mix(in srgb, var(--purple) 4%, #fff), #fff 60%);
}
.event-form select,
.event-form input,
.event-form textarea {
    background-color: #fff;
}
.event-form .toggle-row {
    border-radius: 22px;
}
.event-form .gallery-editor-entry,
.event-form .admin-file-picker,
.event-form .toggle-row {
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.event-form .gallery-editor-entry:hover,
.event-form .admin-file-picker:hover,
.event-form .toggle-row:hover {
    border-color: color-mix(in srgb, var(--purple) 28%, var(--line));
    box-shadow: 0 18px 48px rgba(39,24,58,.08);
}
@media (max-width: 760px) {
    .event-form-jump {
        top: 64px;
        padding: .75rem 1rem;
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }
    .event-form-jump::-webkit-scrollbar { display: none; }
    .event-form-jump a { white-space: nowrap; }
}

/* Ajustes del centro del evento: lectura limpia y sin secciones amontonadas */
.event-form-jump {
    position: relative !important;
    top: auto !important;
    z-index: 2 !important;
    margin: 0;
    padding: 1.15rem clamp(1.25rem, 4vw, 2.7rem) .85rem !important;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.88)) !important;
}
.event-form .form-section {
    align-items: start;
    gap: clamp(2rem, 4vw, 4.5rem) !important;
    padding-top: clamp(2.1rem, 4vw, 3.25rem) !important;
    padding-bottom: clamp(2.1rem, 4vw, 3.25rem) !important;
}
.event-form .form-section > div:last-child {
    min-width: 0;
}
.event-form .form-section > div:not(:first-child):not(.form-grid) {
    display: grid;
    gap: 1.15rem;
}
.event-form .form-grid.two {
    gap: 1.25rem 1.5rem;
}
.event-form label {
    line-height: 1.25;
}
.event-form select,
.event-form input,
.event-form textarea {
    color: var(--ink) !important;
}
.interaction-settings-card {
    display: grid;
    gap: 1.1rem;
    padding: clamp(1rem, 2.2vw, 1.45rem);
    background: linear-gradient(135deg, #fff, #fbf8fc);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(39,24,58,.06);
}
.interaction-mode-row {
    display: grid;
    gap: .55rem;
}
.interaction-mode-row label,
.interaction-copy-grid label {
    display: grid;
    gap: .55rem;
}
.interaction-mode-row select {
    min-height: 60px;
    font-weight: 900;
    background: #fff;
}
.interaction-copy-grid {
    padding-top: .15rem;
}
.interaction-copy-grid .toggle-row {
    margin-top: .1rem;
}
#evento-moderacion > div:last-child,
#evento-marca > div:last-child,
#evento-visibilidad > div:last-child {
    display: grid;
    gap: 1.15rem;
}
@media (max-width: 860px) {
    .event-form-jump {
        overflow-x: auto;
        flex-wrap: nowrap;
        scrollbar-width: none;
    }
    .event-form-jump::-webkit-scrollbar { display: none; }
    .event-form-jump a { white-space: nowrap; }
    .event-form .form-grid.two { grid-template-columns: 1fr; }
    .event-form .span-two { grid-column: auto; }
}

/* Reportes: mensajes, calificaciones y registros */
.report-page {
    display: grid;
    gap: 1.15rem;
}
.report-hero {
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.4rem;
    padding: clamp(1.6rem, 4vw, 2.6rem);
    background:
        radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--purple) 12%, transparent), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.88));
    border: 1px solid rgba(255,255,255,.92);
    border-radius: 30px;
    box-shadow: 0 22px 70px rgba(43,29,51,.08);
}
.report-hero h1 {
    margin-bottom: .55rem;
    font-size: clamp(2.4rem, 5.8vw, 5.1rem);
    line-height: .95;
    text-wrap: balance;
}
.report-hero p:last-child {
    max-width: 680px;
    margin-bottom: 0;
    color: var(--muted);
}
.report-hero-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    flex-wrap: wrap;
}
.report-control-card,
.report-section-card {
    padding: clamp(1.15rem, 3vw, 1.75rem);
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: 0 15px 48px rgba(43,29,51,.06);
}
.report-control-card {
    display: grid;
    grid-template-columns: minmax(280px, 420px) 1fr;
    gap: 1.2rem;
    align-items: end;
}
.report-event-picker label {
    display: grid;
    gap: .48rem;
    color: var(--ink);
    font-weight: 900;
}
.report-event-picker span {
    color: var(--muted);
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.report-event-picker select {
    width: 100%;
    min-height: 56px;
    padding: .75rem 1rem;
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    color: var(--ink);
    font: inherit;
    font-weight: 850;
    box-shadow: 0 8px 26px rgba(43,29,51,.04);
}
.report-stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}
.report-stats-grid article {
    min-height: 92px;
    display: grid;
    align-content: center;
    padding: 1rem;
    background: linear-gradient(145deg, #fff, #fbf8fd);
    border: 1px solid #eee7f1;
    border-radius: 20px;
}
.report-stats-grid strong {
    font-family: "Playfair Display", Georgia, serif;
    font-size: 2.1rem;
    line-height: 1;
}
.report-stats-grid span {
    color: var(--muted);
    font-size: .8rem;
    font-weight: 800;
}
.report-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.15rem;
}
.report-section-heading h2 {
    margin-bottom: 0;
    font-size: clamp(1.8rem, 4vw, 3.2rem);
}
.report-soft-pill {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: .55rem .8rem;
    color: var(--purple-dark);
    background: #f2edf8;
    border: 1px solid #e7dcef;
    border-radius: 999px;
    font-size: .82rem;
    font-weight: 900;
}
.interaction-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 1rem;
}
.interaction-card {
    display: grid;
    gap: .85rem;
    min-height: 220px;
    padding: 1.1rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(43,29,51,.04);
}
.interaction-card.is-muted {
    opacity: .66;
    background: #fbf9fb;
}
.interaction-card-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    color: var(--muted);
    font-size: .74rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.interaction-card-top small {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: .34rem .58rem;
    border-radius: 999px;
    font-size: .68rem;
    letter-spacing: .04em;
}
.interaction-card-top small.visible {
    color: #126347;
    background: #e9f7f0;
}
.interaction-card-top small.hidden {
    color: #8b6508;
    background: #fff4d8;
}
.interaction-card h3 {
    margin: 0;
    color: var(--ink);
    font-size: 1.25rem;
}
.report-rating {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .65rem;
    color: #b69a3d;
    font-size: .95rem;
}
.report-rating span {
    letter-spacing: .08em;
}
.interaction-card blockquote {
    margin: 0;
    padding: .9rem 1rem;
    color: var(--ink-soft);
    background: #faf8fa;
    border: 1px solid #eee7f1;
    border-radius: 16px;
    line-height: 1.55;
}
.report-card-actions {
    display: flex;
    gap: .55rem;
    align-self: end;
    flex-wrap: wrap;
    justify-content: flex-end;
    margin: 0;
}
.guest-registry-list {
    display: grid;
    gap: .85rem;
}
.guest-registry-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 22px;
    box-shadow: 0 10px 30px rgba(43,29,51,.04);
}
.guest-registry-avatar {
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, var(--purple), var(--pink));
    border-radius: 18px;
    font-weight: 900;
    box-shadow: 0 12px 28px rgba(95,59,245,.2);
}
.guest-registry-main h3 {
    margin: 0 0 .2rem;
    font-size: 1.12rem;
}
.guest-registry-main p {
    margin: 0;
    color: var(--ink-soft);
    font-weight: 850;
}
.guest-registry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .9rem;
    margin-top: .38rem;
    color: var(--muted);
    font-size: .8rem;
}
.guest-registry-counts {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .5rem;
    flex-wrap: wrap;
}
.guest-registry-counts span {
    display: inline-flex;
    min-height: 34px;
    align-items: center;
    gap: .25rem;
    padding: .42rem .6rem;
    color: var(--ink-soft);
    background: #faf7fb;
    border: 1px solid #eee7f1;
    border-radius: 999px;
    font-size: .78rem;
    font-weight: 850;
}
.guest-registry-counts strong {
    color: var(--purple-dark);
}
@media (max-width: 920px) {
    .report-hero,
    .report-control-card {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }
    .report-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-hero-actions .button {
        flex: 1;
    }
}
@media (max-width: 640px) {
    .report-stats-grid,
    .interaction-card-grid {
        grid-template-columns: 1fr;
    }
    .guest-registry-card {
        grid-template-columns: auto 1fr;
    }
    .guest-registry-counts {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
    .report-card-actions .button,
    .report-hero-actions .button {
        width: 100%;
    }
}

/* Refinamiento de reportes, eventos y acciones de copia */
.button.is-copied {
    background: #eaf8f2 !important;
    border-color: #bfe6d7 !important;
    color: #116347 !important;
}
.report-page {
    max-width: 1280px;
    margin: 0 auto;
}
.report-control-card {
    align-items: stretch !important;
}
.report-stats-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(150px, 1fr)) !important;
    gap: .9rem !important;
    align-items: stretch;
}
.report-stats-grid article {
    display: flex !important;
    min-height: 104px !important;
    flex-direction: column;
    justify-content: center;
    gap: .42rem;
    padding: 1rem 1.05rem !important;
    overflow: hidden;
}
.report-stats-grid strong {
    display: block;
    min-width: 0;
    font-size: clamp(1.85rem, 3vw, 2.55rem) !important;
    line-height: 1 !important;
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
}
.report-stats-grid span {
    display: block;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
.report-event-picker select,
.report-event-picker input {
    max-width: 100%;
}
.interaction-card-grid,
.guest-registry-list {
    margin-top: .8rem;
}
.interaction-card,
.guest-registry-card {
    border-color: rgba(226, 216, 231, .92) !important;
    box-shadow: 0 18px 42px rgba(43,29,51,.055) !important;
}
.guest-registry-card {
    grid-template-columns: 56px minmax(0, 1fr) minmax(190px, auto) !important;
}
.guest-registry-main,
.guest-registry-counts {
    min-width: 0;
}
.guest-registry-main p,
.guest-registry-meta span {
    overflow-wrap: anywhere;
}

.events-dashboard-page {
    display: grid;
    max-width: 1320px;
    margin: 0 auto;
    gap: 1.15rem;
}
.events-hero-panel {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.25rem;
    padding: clamp(1.65rem, 4vw, 2.8rem);
    background:
        radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--purple) 12%, transparent), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.97), rgba(255,255,255,.88));
    border: 1px solid rgba(255,255,255,.92);
    border-radius: 30px;
    box-shadow: 0 22px 70px rgba(43,29,51,.08);
}
.events-hero-panel h1 {
    margin-bottom: .55rem;
    font-size: clamp(2.6rem, 6vw, 5.2rem);
    line-height: .95;
}
.events-hero-panel p:last-child {
    max-width: 680px;
    margin-bottom: 0;
    color: var(--muted);
}
.events-overview-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .9rem;
}
.events-overview-grid article {
    min-height: 108px;
    padding: 1.15rem;
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 15px 42px rgba(43,29,51,.055);
}
.events-overview-grid strong {
    display: block;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 2.35rem;
    line-height: 1;
}
.events-overview-grid span {
    color: var(--muted);
    font-size: .84rem;
    font-weight: 850;
}
.events-filter-card,
.events-calendar-card {
    padding: clamp(1.15rem, 3vw, 1.75rem);
    background: rgba(255,255,255,.94);
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: 0 15px 48px rgba(43,29,51,.06);
}
.events-filter-form {
    display: grid;
    grid-template-columns: minmax(260px, 1.35fr) minmax(170px, .65fr) minmax(170px, .65fr) auto;
    gap: .85rem;
    align-items: end;
}
.events-filter-form label {
    display: grid;
    gap: .45rem;
    font-weight: 900;
}
.events-filter-form label span {
    color: var(--muted);
    font-size: .72rem;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.events-filter-form input {
    width: 100%;
    min-height: 54px;
    padding: .75rem 1rem;
    background: #fff;
    border: 1px solid var(--line-strong);
    border-radius: 16px;
    color: var(--ink);
    font-weight: 850;
    box-shadow: 0 8px 26px rgba(43,29,51,.04);
}
.events-filter-actions {
    display: flex;
    gap: .6rem;
    flex-wrap: wrap;
}
.events-calendar-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 1rem;
    margin-bottom: 1rem;
}
.events-calendar-head h2,
.events-list-head h2 {
    margin-bottom: 0;
    font-size: clamp(1.9rem, 4vw, 3.2rem);
}
.events-calendar-nav {
    display: flex;
    gap: .55rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.calendar-grid {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: .55rem;
}
.calendar-weekday {
    padding: .25rem .35rem;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.calendar-day {
    min-height: 118px;
    padding: .72rem;
    background: linear-gradient(145deg, #fff, #fbf8fd);
    border: 1px solid #eee7f1;
    border-radius: 18px;
    overflow: hidden;
}
.calendar-day.is-empty {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}
.calendar-day.is-today {
    border-color: color-mix(in srgb, var(--purple) 42%, #eee7f1);
    box-shadow: 0 14px 34px rgba(95,59,245,.09);
}
.calendar-day > strong {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    margin-bottom: .48rem;
    border-radius: 50%;
    font-size: .86rem;
}
.calendar-day.is-today > strong {
    color: #fff;
    background: var(--purple);
}
.calendar-event-pill {
    display: grid;
    gap: .12rem;
    margin-top: .35rem;
    padding: .5rem .58rem;
    color: var(--ink);
    background: #f7f1fc;
    border: 1px solid #eadff4;
    border-radius: 13px;
    font-size: .78rem;
    font-weight: 900;
    line-height: 1.1;
}
.calendar-event-pill span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.calendar-event-pill small {
    color: var(--muted);
    font-size: .68rem;
    font-weight: 800;
}
.events-list-head {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-top: .25rem;
}
.refined-events-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.refined-event-card {
    box-shadow: 0 18px 48px rgba(43,29,51,.07) !important;
}
.refined-event-card .event-card-actions {
    gap: .5rem;
}
.refined-event-card .event-delete-form {
    flex-basis: 100%;
}
@media (max-width: 980px) {
    .report-control-card,
    .events-filter-form {
        grid-template-columns: 1fr !important;
    }
    .events-overview-grid,
    .report-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .events-hero-panel,
    .events-calendar-head {
        flex-direction: column;
        align-items: stretch;
    }
    .calendar-grid {
        gap: .4rem;
    }
    .calendar-day {
        min-height: 96px;
        padding: .52rem;
        border-radius: 15px;
    }
}
@media (max-width: 680px) {
    .events-overview-grid,
    .report-stats-grid,
    .guest-registry-card {
        grid-template-columns: 1fr !important;
    }
    .calendar-grid {
        display: flex;
        overflow-x: auto;
        padding-bottom: .3rem;
        scroll-snap-type: x proximity;
    }
    .calendar-weekday,
    .calendar-day.is-empty {
        display: none;
    }
    .calendar-day {
        min-width: 210px;
        scroll-snap-align: start;
    }
    .events-filter-actions .button,
    .events-calendar-nav .button,
    .report-hero-actions .button {
        width: 100%;
    }
}


/* Tipo de evento personalizado */
.custom-event-type-field {
    animation: customFieldIn .18s ease both;
}
.custom-event-type-field.is-hidden {
    display: none !important;
}
@keyframes customFieldIn {
    from { opacity: 0; transform: translateY(-4px); }
    to { opacity: 1; transform: translateY(0); }
}


/* Moderación admin refinada */
.admin-moderation-page {
    display: grid;
    gap: 1.35rem;
}

.moderation-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
    gap: 1.2rem;
    align-items: end;
}

.moderation-summary-mini {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .7rem;
}

.moderation-summary-mini article {
    padding: 1rem;
    border: 1px solid rgba(225, 218, 227, .78);
    border-radius: 22px;
    background: rgba(255,255,255,.82);
    box-shadow: 0 16px 44px rgba(43,29,51,.055);
}

.moderation-summary-mini strong {
    display: block;
    color: var(--purple-dark);
    font-size: 1.65rem;
    line-height: 1;
}

.moderation-summary-mini span {
    display: block;
    margin-top: .35rem;
    color: #756b7d;
    font-size: .82rem;
    font-weight: 800;
}

.moderation-filter-panel {
    align-items: end;
    border-radius: 28px;
}

.moderation-status-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: .75rem;
}

.moderation-status-tabs a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: .65rem;
    padding: .74rem 1rem;
    border: 1px solid #ede6f1;
    border-radius: 999px;
    background: rgba(255,255,255,.86);
    color: var(--purple-dark);
    font-weight: 900;
    box-shadow: 0 14px 34px rgba(43,29,51,.045);
}

.moderation-status-tabs a span {
    display: inline-grid;
    min-width: 28px;
    height: 28px;
    place-items: center;
    padding: 0 .45rem;
    border-radius: 999px;
    color: var(--purple);
    background: #f1e9f8;
    font-size: .78rem;
}

.moderation-status-tabs a.active {
    color: #fff;
    border-color: transparent;
    background: linear-gradient(135deg, var(--purple), var(--pink));
    box-shadow: 0 18px 42px rgba(95,59,245,.18);
}

.moderation-status-tabs a.active span {
    color: #fff;
    background: rgba(255,255,255,.2);
}

.moderation-bulk-panel {
    position: sticky;
    top: 84px;
    z-index: 20;
    border-radius: 24px;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(18px);
}

.admin-moderation-grid {
    grid-template-columns: repeat(auto-fill, minmax(265px, 330px));
    justify-content: start;
    align-items: start;
}

.admin-moderation-card {
    max-width: 330px;
    overflow: hidden;
    border-radius: 26px;
    background: #fff;
    border: 1px solid rgba(231, 224, 235, .92);
    box-shadow: 0 18px 54px rgba(43,29,51,.075);
}

.admin-moderation-card .media-preview {
    aspect-ratio: 1 / 1;
    border-radius: 0;
    background: #eee8f1;
}

.admin-moderation-card .media-preview img,
.admin-moderation-card .media-preview video {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.admin-moderation-card .media-preview video {
    object-fit: contain;
    background: #17121b;
}

.media-type-pill {
    position: absolute;
    right: .85rem;
    top: .85rem;
    padding: .45rem .68rem;
    border-radius: 999px;
    color: var(--purple-dark);
    background: rgba(255,255,255,.9);
    font-size: .74rem;
    font-weight: 900;
    box-shadow: 0 10px 25px rgba(43,29,51,.08);
}

.admin-moderation-card .upload-select-control {
    top: .82rem;
    left: .82rem;
    right: auto;
    display: inline-flex;
    align-items: center;
    gap: .48rem;
    padding: .55rem .75rem;
    min-height: 42px;
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 999px;
    color: #fff;
    background: rgba(35, 26, 42, .7);
    box-shadow: 0 14px 34px rgba(0,0,0,.16);
    backdrop-filter: blur(14px);
    font-size: .78rem;
    font-weight: 850;
}

.admin-moderation-card .upload-select-control input {
    width: 1.05rem;
    height: 1.05rem;
    accent-color: var(--purple);
}

.admin-moderation-card.is-selected {
    border-color: rgba(95,59,245,.38);
    box-shadow: 0 20px 56px rgba(95,59,245,.14);
    transform: translateY(-2px);
}

.admin-guest-row {
    display: flex;
    align-items: center;
    gap: .8rem;
    min-width: 0;
}

.admin-guest-badge,
.guest-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    border-radius: 16px;
    color: #fff;
    background: linear-gradient(135deg, var(--purple), var(--pink));
    font-family: Arial, Helvetica, sans-serif;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    box-shadow: 0 14px 32px rgba(95,59,245,.18);
}

.admin-moderation-card .moderation-content {
    padding: 1rem;
}

.admin-moderation-card .guest-message {
    min-height: 54px;
    padding: .85rem .92rem;
    border-radius: 18px;
    background: #faf8fb;
    border: 1px solid #eee7f2;
    color: #6d6474;
    line-height: 1.45;
}

.admin-moderation-card .moderation-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .55rem;
}

.admin-moderation-card .moderation-actions form,
.admin-moderation-card .moderation-actions a {
    width: 100%;
}

.admin-moderation-card .moderation-actions .button {
    width: 100%;
    min-height: 42px;
}

.admin-moderation-card .danger-action {
    grid-column: span 2;
}

@media (max-width: 1040px) {
    .moderation-heading {
        grid-template-columns: 1fr;
    }
    .moderation-summary-mini {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .admin-moderation-page {
        gap: 1rem;
    }
    .moderation-summary-mini {
        grid-template-columns: 1fr 1fr;
    }
    .moderation-bulk-panel {
        top: 76px;
        align-items: stretch;
    }
    .moderation-bulk-panel .bulk-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        width: 100%;
    }
    .moderation-bulk-panel .bulk-actions .button {
        width: 100%;
    }
    .admin-moderation-grid {
        grid-template-columns: 1fr;
    }
    .admin-moderation-card {
        max-width: none;
        border-radius: 24px;
    }
    .admin-moderation-card .upload-select-control {
        font-size: 0;
        width: 46px;
        height: 46px;
        justify-content: center;
        padding: 0;
    }
    .admin-moderation-card .upload-select-control input {
        width: 1.2rem;
        height: 1.2rem;
    }
}


/* Descarga de multimedia por evento */
.gallery-download-actions {
    flex-wrap: wrap;
}

.gallery-admin-list .gallery-download-actions .button.primary,
.event-card-actions .button[href*="descargar-evento"] {
    background: linear-gradient(135deg, #2f8f6f, #3fb987);
    border-color: transparent;
    color: #fff;
    box-shadow: 0 14px 28px rgba(47, 143, 111, .18);
}

.gallery-admin-list .gallery-download-actions .button.primary:hover,
.event-card-actions .button[href*="descargar-evento"]:hover {
    transform: translateY(-1px);
    box-shadow: 0 18px 34px rgba(47, 143, 111, .24);
}

@media (max-width: 720px) {
    .gallery-download-actions,
    .event-card-actions {
        align-items: stretch;
    }

    .gallery-download-actions .button,
    .event-card-actions .button {
        justify-content: center;
    }
}


/* Audios del libro de firmas en administrador */
.admin-audio-card {
    display: grid;
    gap: .72rem;
    padding: .86rem;
    border: 1px solid #eee7f1;
    border-radius: 18px;
    background: linear-gradient(135deg, #fbf9fc, #fff);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.72);
}

.admin-audio-head {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.admin-audio-head > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #fff;
    background: var(--purple);
    border-radius: 50%;
    box-shadow: 0 10px 24px rgba(95,59,245,.20);
}

.admin-audio-head strong {
    display: block;
    color: var(--ink);
    font-size: .95rem;
}

.admin-audio-head small {
    display: block;
    margin-top: .12rem;
    color: var(--muted);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .08em;
}

.admin-audio-card audio {
    width: 100%;
    max-width: 100%;
    height: 36px;
}

.admin-audio-download {
    justify-self: start;
    min-height: 2.35rem;
}


/* Audio en administrador: tarjeta limpia y descargable */
.admin-audio-card {
    position: relative;
    overflow: hidden;
    gap: .8rem !important;
    padding: .95rem !important;
    border: 1px solid #eee7f1 !important;
    border-radius: 20px !important;
    background: linear-gradient(145deg, #fff, #fbf8fd) !important;
    box-shadow: 0 16px 34px rgba(32, 23, 38, .055), inset 0 1px 0 rgba(255,255,255,.82) !important;
}

.admin-audio-head {
    align-items: center !important;
}

.admin-audio-icon,
.admin-audio-head > span.admin-audio-icon {
    display: grid !important;
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    place-items: center !important;
    color: #fff !important;
    background: var(--purple) !important;
    border-radius: 50% !important;
    box-shadow: 0 12px 26px rgba(95,59,245,.22) !important;
}

.admin-audio-icon svg {
    width: 19px;
    height: 19px;
    fill: currentColor;
}

.admin-audio-head strong {
    color: var(--ink) !important;
    font-size: .98rem !important;
}

.admin-audio-head small {
    color: var(--muted) !important;
    opacity: .86;
}

.admin-audio-card audio {
    width: 100% !important;
    height: 38px !important;
    border-radius: 999px !important;
}

.admin-audio-download {
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: .4rem !important;
    min-height: 2.35rem !important;
    padding-inline: .85rem !important;
    border-radius: 999px !important;
}

.admin-audio-download::before {
    content: '↓';
    font-weight: 900;
}

.qr-panel-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
.qr-frame { display:flex; flex-direction:column; align-items:center; gap:.75rem; }
.qr-frame-caption { font-size:.86rem; color:var(--muted); text-align:center; }


/* Subida de recuerdos demo desde administrador */
.admin-demo-upload-panel {
    display: grid;
    grid-template-columns: minmax(240px, .58fr) minmax(0, 1.42fr);
    gap: clamp(1.4rem, 4vw, 3rem);
    margin-bottom: 1.4rem;
    overflow: hidden;
    background:
        radial-gradient(circle at 10% 0, rgba(95,59,245,.12), transparent 28rem),
        rgba(255,255,255,.96);
}
.admin-demo-upload-copy h2 {
    margin: .35rem 0 .45rem;
    font-size: clamp(1.65rem, 3vw, 2.4rem);
    letter-spacing: -.055em;
}
.admin-demo-upload-copy p:last-child {
    color: var(--muted);
    margin-bottom: 0;
}
.admin-demo-upload-form .form-grid {
    gap: 1rem;
}
.admin-demo-file-picker {
    min-height: 170px;
    background: linear-gradient(180deg, #fff, #f8f5ff);
}
.admin-demo-featured {
    margin-top: 0;
    background: rgba(95,59,245,.045);
}
.admin-demo-upload-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .85rem;
    margin-top: 1.1rem;
}
.admin-demo-upload-actions span {
    color: var(--muted);
    font-size: .9rem;
    font-weight: 650;
}
@media (max-width: 820px) {
    .admin-demo-upload-panel { grid-template-columns: 1fr; }
    .admin-demo-upload-form .form-grid.two { grid-template-columns: 1fr; }
    .admin-demo-upload-form .span-two { grid-column: auto; }
}



/* =========================================================
   Posteálo Admin Refresh 02
   Solo estética del dashboard/header para acercarlo al mockup aprobado.
   ========================================================= */
:root{
    --admin-brand:#5f3bf5;
    --admin-brand-2:#7656ff;
    --admin-ink:#1a1042;
    --admin-text:#352d56;
    --admin-muted:#77718f;
    --admin-line:#ece7ff;
    --admin-soft:#f4f0ff;
    --admin-bg:#fbfaff;
    --admin-shadow:0 24px 70px rgba(41, 27, 93, .09);
    --admin-shadow-sm:0 14px 34px rgba(41, 27, 93, .07);
    --admin-radius:24px;
}
.admin-body{
    min-height:100svh;
    background:
        radial-gradient(circle at 2% 8%, rgba(95,59,245,.10), transparent 23rem),
        radial-gradient(circle at 96% 22%, rgba(124,92,255,.10), transparent 25rem),
        linear-gradient(180deg,#fff 0%,#fbfaff 45%,#f8f6ff 100%) !important;
    color:var(--admin-text);
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.admin-body h1,
.admin-body h2,
.admin-body h3,
.admin-body strong,
.admin-body th,
.admin-body td,
.admin-body a,
.admin-body button{
    font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
.admin-topbar{
    position:sticky;
    top:0;
    z-index:40;
    min-height:86px;
    padding:0 clamp(1.7rem,4vw,4.9rem);
    background:rgba(255,255,255,.94) !important;
    border-bottom:1px solid rgba(232,226,255,.82);
    border-radius:0 0 24px 24px;
    box-shadow:0 12px 42px rgba(32,21,75,.06);
    backdrop-filter:blur(18px);
}
.admin-topbar .platform-brand{
    gap:12px;
    font-size:1.72rem !important;
    color:var(--admin-ink) !important;
    letter-spacing:-.05em;
    font-weight:900;
}
.admin-topbar .brand-mark-logo{
    width:42px !important;
    height:42px !important;
    border-radius:13px;
    background:linear-gradient(145deg,#5f3bf5,#7d5cff);
    box-shadow:0 12px 26px rgba(95,59,245,.22);
}
.admin-topbar .brand-mark-logo img{
    width:100% !important;
    height:100% !important;
    padding:8px;
    object-fit:contain;
    filter:brightness(0) invert(1);
}
.admin-nav{
    display:flex;
    align-items:center;
    gap:.95rem;
}
.admin-nav a{
    min-height:48px;
    padding:.78rem 1rem;
    border-radius:16px;
    color:#4f4a68;
    font-size:.94rem;
    font-weight:800;
    text-decoration:none;
    gap:.55rem;
    letter-spacing:-.01em;
    transition:color .18s ease, background .18s ease, transform .18s ease;
}
.admin-nav a:hover{
    background:#f7f4ff;
    color:var(--admin-brand);
}
.admin-nav a.active{
    background:#f1edff !important;
    color:var(--admin-brand) !important;
    box-shadow:inset 0 0 0 1px rgba(95,59,245,.08);
}
.admin-nav .nav-icon{
    width:21px;
    height:21px;
    display:inline-grid;
    place-items:center;
    color:currentColor;
    flex:0 0 auto;
}
.admin-nav .nav-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.admin-nav .nav-logout{
    margin-left:.8rem;
    padding-left:1.15rem;
    border-left:1px solid var(--admin-line);
    border-radius:0 16px 16px 0 !important;
}
.admin-main{
    max-width:1350px !important;
    padding:clamp(4rem,6vw,5.2rem) 1.5rem 7rem !important;
}
.page-heading{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:2rem;
    margin-bottom:3rem !important;
}
.page-heading > div{
    max-width:760px !important;
}
.eyebrow,
.page-heading .eyebrow{
    margin:0 0 1.05rem !important;
    color:var(--admin-brand) !important;
    font-size:.82rem !important;
    font-weight:900 !important;
    letter-spacing:.22em !important;
    text-transform:uppercase;
}
.page-heading h1{
    margin:0 0 .82rem !important;
    color:var(--admin-ink) !important;
    font-family:Inter, ui-sans-serif, system-ui, sans-serif !important;
    font-size:clamp(3.4rem,5.4vw,5.25rem) !important;
    line-height:.94 !important;
    letter-spacing:-.075em !important;
    font-weight:900 !important;
    max-width:850px;
}
.page-heading p:last-child{
    margin:0 !important;
    color:#6f6988 !important;
    font-size:1.15rem !important;
    line-height:1.5;
}
.admin-create-button,
.page-heading .button.primary{
    min-height:62px;
    padding:0 2rem !important;
    border:0 !important;
    border-radius:17px !important;
    background:linear-gradient(135deg,var(--admin-brand),var(--admin-brand-2)) !important;
    color:#fff !important;
    font-size:1.05rem;
    font-weight:900;
    box-shadow:0 22px 42px rgba(95,59,245,.27) !important;
}
.admin-create-button span{
    display:inline-flex;
    margin-right:.4rem;
    font-size:1.45rem;
    line-height:1;
}
.stats-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:1.45rem !important;
    margin-bottom:1.45rem;
}
.stat-card{
    min-height:190px !important;
    padding:1.75rem !important;
    border:1px solid var(--admin-line) !important;
    border-radius:25px !important;
    background:rgba(255,255,255,.96) !important;
    box-shadow:var(--admin-shadow-sm) !important;
    display:grid !important;
    align-content:space-between !important;
    overflow:hidden;
}
.stat-card:hover{
    transform:translateY(-3px);
    box-shadow:var(--admin-shadow) !important;
}
.stat-card::before{
    content:"";
    position:absolute;
    top:1.45rem;
    right:1.45rem;
    width:10px;
    height:10px;
    border-radius:50%;
    background:#ded5ff;
}
.stat-top{
    display:flex !important;
    align-items:flex-start !important;
    justify-content:space-between !important;
}
.stat-top i{
    display:grid !important;
    width:54px !important;
    height:54px !important;
    place-items:center !important;
    border-radius:16px !important;
    background:#f1edff !important;
    color:var(--admin-brand) !important;
    font-size:0 !important;
}
.stat-top i svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.stat-copy{
    display:grid;
    gap:.38rem;
    margin-top:1.4rem;
}
.stat-copy > span{
    color:var(--admin-ink);
    font-size:1.04rem;
    font-weight:900;
    letter-spacing:-.02em;
}
.stat-copy > strong,
.stat-card > strong{
    margin-top:.2rem;
    color:var(--admin-ink);
    font-family:Inter, ui-sans-serif, system-ui, sans-serif !important;
    font-size:2.85rem !important;
    line-height:.95;
    letter-spacing:-.055em;
    font-weight:900 !important;
}
.stat-copy > small,
.stat-card > small{
    color:#716c88;
    font-size:1rem;
    font-weight:700;
}
.stat-card.accent{
    background:linear-gradient(135deg,#5532e9 0%,#6d45f5 54%,#9168ff 100%) !important;
    color:#fff !important;
    border-color:transparent !important;
    box-shadow:0 24px 56px rgba(95,59,245,.30) !important;
}
.stat-card.accent::before{
    background:rgba(255,255,255,.26);
}
.stat-card.accent::after{
    right:-54px !important;
    bottom:-76px !important;
    width:210px !important;
    height:210px !important;
    border:36px solid rgba(255,255,255,.10) !important;
}
.stat-card.accent .stat-top i{
    background:rgba(255,255,255,.14) !important;
    color:#fff !important;
}
.stat-card.accent .stat-copy > span,
.stat-card.accent .stat-copy > strong,
.stat-card.accent .stat-copy > small{
    color:#fff !important;
}
.quick-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:1.45rem !important;
    margin:0 0 2rem !important;
}
.quick-grid a{
    min-height:134px !important;
    padding:1.55rem !important;
    border-radius:24px !important;
    border:1px solid var(--admin-line) !important;
    background:rgba(255,255,255,.97) !important;
    box-shadow:var(--admin-shadow-sm) !important;
    display:grid !important;
    grid-template-columns:54px 1fr 28px;
    align-items:center;
    gap:1rem;
    text-decoration:none;
}
.quick-grid a:hover{
    transform:translateY(-3px);
    box-shadow:var(--admin-shadow) !important;
}
.quick-grid a > span{
    width:54px !important;
    height:54px !important;
    border-radius:16px !important;
    background:#f1edff !important;
    color:var(--admin-brand) !important;
    font-size:0 !important;
    display:grid !important;
    place-items:center !important;
}
.quick-grid a > span svg{
    width:28px;
    height:28px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.quick-grid strong{
    margin:0 0 .32rem !important;
    display:block;
    color:var(--admin-ink);
    font-size:1.12rem;
    font-weight:900;
    letter-spacing:-.03em;
}
.quick-grid small{
    color:#6f6988;
    font-size:.96rem;
    line-height:1.35;
    font-weight:700;
}
.quick-grid i{
    position:static !important;
    justify-self:end;
    color:var(--admin-brand) !important;
    font-size:1.7rem;
    font-style:normal;
    line-height:1;
}
.panel,
.recent-events-panel{
    padding:2.15rem 2.35rem !important;
    border:1px solid var(--admin-line) !important;
    border-radius:28px !important;
    background:rgba(255,255,255,.98) !important;
    box-shadow:var(--admin-shadow) !important;
}
.panel-heading h2{
    margin:0 0 .35rem !important;
    color:var(--admin-ink) !important;
    font-size:2rem !important;
    line-height:1;
    letter-spacing:-.055em;
    font-weight:900 !important;
}
.panel-heading p{
    margin:0 0 1.2rem;
    color:#6f6988 !important;
    font-size:1.02rem;
}
.table-wrap table{
    width:100%;
    border-collapse:collapse;
}
.table-wrap th,
.table-wrap td{
    padding:1.22rem 1rem !important;
    border-top:1px solid var(--admin-line) !important;
}
.table-wrap th{
    color:#68627f !important;
    font-size:.72rem !important;
    letter-spacing:.13em !important;
    font-weight:900 !important;
    text-transform:uppercase;
}
.table-wrap td{
    color:var(--admin-text) !important;
    font-size:1rem;
    vertical-align:middle;
}
.table-wrap td strong{
    display:block;
    color:var(--admin-ink) !important;
    font-size:1.02rem;
    font-weight:900;
    letter-spacing:-.02em;
}
.table-wrap td small{
    display:block;
    margin-top:.25rem;
    color:#7a748f !important;
    font-size:.92rem;
    font-weight:700;
}
.status{
    padding:.42rem .74rem !important;
    border-radius:999px !important;
    font-size:.76rem !important;
    font-weight:900 !important;
    text-transform:none !important;
}
.status.active,
.status.approved{
    color:#12804a !important;
    background:#e9f8ef !important;
}
.text-link{
    color:var(--admin-brand) !important;
    font-weight:900;
    text-decoration:none;
}
@media (max-width:1180px){
    .admin-topbar{align-items:flex-start;padding:1rem 1.2rem;}
    .admin-nav{gap:.35rem;flex-wrap:wrap;justify-content:flex-end;}
    .stats-grid,.quick-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:780px){
    .admin-main{padding:2rem 1rem 5rem !important;}
    .page-heading{align-items:flex-start;flex-direction:column;}
    .page-heading h1{font-size:2.8rem !important;}
    .stats-grid,.quick-grid{grid-template-columns:1fr !important;}
    .quick-grid a{grid-template-columns:48px 1fr 24px;}
}

/* =========================================================
   Posteálo Admin Refresh 04
   Eventos: solo calendario + lista.
   ========================================================= */
.events-page-redesign{
    display:grid;
    gap:1.2rem;
}
.events-hero-panel--clean,
.events-filter-card--refined,
.events-calendar-card--refined,
.events-list-shell,
.events-overview-grid--compact article,
.events-view-switcher{
    border:1px solid var(--admin-line, #ece7ff);
    background:rgba(255,255,255,.97);
    box-shadow:0 18px 54px rgba(41,27,93,.07);
}
.events-hero-panel--clean{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    padding:2rem 2.1rem;
    border-radius:28px;
}
.events-hero-panel--clean h1{
    margin:0 0 .6rem;
    color:var(--admin-ink, #1a1042);
    font-size:clamp(2.8rem, 4.7vw, 4.7rem);
    line-height:.94;
    letter-spacing:-.07em;
    font-weight:900;
}
.events-hero-panel--clean p:last-child{
    margin:0;
    color:#706b86;
    font-size:1.04rem;
}
.events-overview-grid--compact{
    display:grid;
    grid-template-columns:repeat(4, minmax(0,1fr));
    gap:1rem;
}
.events-overview-grid--compact article{
    padding:1.15rem 1.2rem;
    border-radius:20px;
}
.events-overview-grid--compact strong{
    display:block;
    margin-bottom:.2rem;
    color:var(--admin-ink, #1a1042);
    font-size:2rem;
    line-height:1;
    font-weight:900;
    letter-spacing:-.05em;
}
.events-overview-grid--compact span{
    color:#767189;
    font-weight:700;
    font-size:.92rem;
}
.events-filter-card--refined{
    padding:1.25rem;
    border-radius:24px;
}
.events-view-switcher{
    display:inline-flex;
    width:max-content;
    padding:.35rem;
    border-radius:18px;
}
.events-view-switcher a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:0 1rem;
    border-radius:14px;
    color:#666179;
    text-decoration:none;
    font-weight:800;
}
.events-view-switcher a.active{
    background:#f1edff;
    color:var(--admin-brand, #5f3bf5);
    box-shadow:inset 0 0 0 1px rgba(95,59,245,.08);
}
.events-calendar-card--refined,
.events-list-shell{
    padding:1.7rem 1.8rem;
    border-radius:28px;
}
.refined-calendar-grid{
    gap:.7rem;
}
.calendar-weekday{
    color:#767189;
    font-weight:800;
    font-size:.74rem;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.refined-day{
    min-height:126px;
    padding:.75rem;
    border:1px solid #ede8ff;
    border-radius:18px;
    background:#fff;
}
.refined-day strong{
    color:var(--admin-ink, #1a1042);
    font-size:.96rem;
    font-weight:900;
}
.calendar-day.is-today{
    border-color:#cbbcff;
    box-shadow:inset 0 0 0 1px rgba(95,59,245,.12);
}
.calendar-day-events{
    display:grid;
    gap:.45rem;
    margin-top:.55rem;
}
.refined-calendar-pill{
    display:grid;
    gap:.08rem;
    padding:.5rem .6rem;
    border-radius:12px;
    background:#f8f5ff;
    color:var(--admin-ink, #1a1042);
    text-decoration:none;
    box-shadow:none;
}
.refined-calendar-pill span{
    font-size:.8rem;
    font-weight:800;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.refined-calendar-pill small{
    color:#756f8d;
    font-size:.72rem;
    font-weight:700;
}
.events-list-head h2{
    margin:0;
    color:var(--admin-ink, #1a1042);
    font-size:2.1rem;
    line-height:1;
    letter-spacing:-.05em;
    font-weight:900;
}
.events-list-table{
    display:grid;
    gap:1rem;
    margin-top:1rem;
}
.event-list-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.2rem;
    padding:1.2rem;
    border:1px solid var(--admin-line, #ece7ff);
    border-radius:24px;
    background:#fff;
}
.event-list-main{
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:0;
}
.event-list-thumb{
    width:76px;
    height:76px;
    border-radius:20px;
    overflow:hidden;
    flex:0 0 76px;
    background:linear-gradient(135deg,#f4f0ff,#fff);
    border:1px solid #ece7ff;
    box-shadow:0 12px 28px rgba(41,27,93,.08);
}
.event-list-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.event-list-copy{min-width:0;}
.event-list-title-wrap{
    display:flex;
    align-items:center;
    gap:.7rem;
    flex-wrap:wrap;
    margin-bottom:.2rem;
}
.event-list-copy h3{
    margin:0;
    color:var(--admin-ink, #1a1042);
    font-size:1.22rem;
    font-weight:900;
    letter-spacing:-.03em;
}
.event-list-copy p{
    margin:.1rem 0 .5rem;
    color:#716c88;
    font-weight:700;
}
.event-list-meta{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:.55rem .9rem;
    color:#79748e;
    font-size:.9rem;
    font-weight:700;
}
.event-list-meta span{position:relative;}
.event-list-meta span:not(:last-child)::after{
    content:'';
    position:absolute;
    right:-.47rem;
    top:50%;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#d6cff2;
    transform:translateY(-50%);
}
.status-chip{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:0 .7rem;
    border-radius:999px;
    font-size:.76rem;
    font-weight:900;
}
.status-chip.active{background:#e9f8ef;color:#12804a;}
.status-chip.paused{background:#f3f0ff;color:#7356f7;}
.status-chip.scheduled{background:#eef2ff;color:#4f46e5;}
.status-chip.finalized{background:#fff3e7;color:#c76e16;}
.status-chip.archived{background:#eef0f4;color:#5d6475;}
.event-list-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.55rem;
    max-width:560px;
}
.event-list-actions .button.small{
    min-height:40px;
    padding:0 .95rem;
    border-radius:13px;
    white-space:nowrap;
}
.icon-only{
    min-width:40px;
    padding:0 !important;
    font-size:1.3rem;
    line-height:1;
}
.event-more-menu{position:relative;}
.event-more-dropdown{
    position:absolute;
    top:calc(100% + .55rem);
    right:0;
    width:255px;
    padding:.45rem;
    border:1px solid var(--admin-line, #ece7ff);
    border-radius:18px;
    background:#fff;
    box-shadow:0 18px 50px rgba(41,27,93,.14);
    display:none;
    z-index:30;
}
.event-more-menu.is-open .event-more-dropdown{display:block;}
.event-more-dropdown form{margin:0;}
.event-more-dropdown button,
.event-more-dropdown a{
    display:flex;
    width:100%;
    align-items:center;
    min-height:42px;
    padding:.72rem .8rem;
    border:0;
    border-radius:12px;
    background:none;
    color:#4d4765;
    text-decoration:none;
    text-align:left;
    font:inherit;
    font-size:.92rem;
    font-weight:700;
    cursor:pointer;
}
.event-more-dropdown button:hover,
.event-more-dropdown a:hover{
    background:#f7f4ff;
    color:var(--admin-brand, #5f3bf5);
}
.event-more-dropdown button.danger{color:#c23f53;}
.event-more-dropdown button.danger:hover{background:#fff0f3;color:#c23f53;}
.event-more-dropdown button.is-copied{color:#12804a;}
@media (max-width:1100px){
    .events-overview-grid--compact{grid-template-columns:repeat(2,minmax(0,1fr));}
    .event-list-row{grid-template-columns:1fr;}
    .event-list-actions{justify-content:flex-start;}
}
@media (max-width:780px){
    .events-hero-panel--clean{align-items:flex-start;flex-direction:column;}
    .events-overview-grid--compact{grid-template-columns:1fr;}
    .events-filter-form{grid-template-columns:1fr !important;}
    .events-view-switcher{width:100%;}
    .events-view-switcher a{flex:1 1 0;}
    .events-calendar-head{align-items:flex-start;flex-direction:column;}
    .events-calendar-nav{flex-wrap:wrap;}
    .refined-day{min-height:100px;}
    .event-list-main{align-items:flex-start;}
    .event-list-thumb{width:60px;height:60px;flex-basis:60px;border-radius:16px;}
}

/* =========================================================
   Posteálo Admin Refresh 05
   Fix dashboard thumbs + botones de eventos con branding.
   ========================================================= */
.event-recent-cell{
    display:flex;
    align-items:center;
    gap:1rem;
    min-width:0;
}
.event-recent-cell > span:last-child{
    min-width:0;
}
.event-recent-thumb{
    display:block;
    width:56px;
    height:56px;
    min-width:56px;
    flex:0 0 56px;
    overflow:hidden;
    border-radius:16px;
    background:linear-gradient(135deg,#f4f0ff,#ffffff);
    border:1px solid var(--admin-line, #ece7ff);
    box-shadow:0 8px 22px rgba(41,27,93,.08);
}
.event-recent-thumb img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
}
.recent-events-panel .table-wrap{
    overflow-x:auto;
}
.recent-events-panel table{
    width:100%;
    table-layout:fixed;
}
.recent-events-panel td,
.recent-events-panel th{
    vertical-align:middle;
}
.recent-events-panel td:first-child{
    width:42%;
}
.recent-events-panel td:nth-child(2){
    width:18%;
}
.recent-events-panel td:nth-child(3){
    width:12%;
}
.recent-events-panel td:nth-child(4){
    width:14%;
}
.recent-events-panel td:last-child{
    width:14%;
}

.events-hero-panel--clean .button.primary,
.events-filter-actions .button.primary,
.events-list-shell .empty-state .button.primary{
    background:#6a4cff !important;
    background-image:none !important;
    border:1px solid #6a4cff !important;
    color:#fff !important;
    border-radius:18px !important;
    min-height:52px;
    padding:0 1.35rem !important;
    font-weight:800 !important;
    letter-spacing:-.01em;
    box-shadow:0 10px 26px rgba(106,76,255,.18) !important;
}
.events-hero-panel--clean .button.primary:hover,
.events-filter-actions .button.primary:hover,
.events-list-shell .empty-state .button.primary:hover{
    background:#5d3ff5 !important;
    border-color:#5d3ff5 !important;
    transform:translateY(-1px);
    box-shadow:0 14px 28px rgba(106,76,255,.22) !important;
}
.events-filter-actions .button.ghost,
.events-calendar-nav .button.ghost,
.event-list-actions .button.ghost,
.event-more-menu .button.ghost{
    border-radius:16px !important;
}
.events-filter-actions .button.primary{
    min-width:104px;
}
@media (max-width:780px){
    .event-recent-thumb{
        width:48px;
        height:48px;
        min-width:48px;
        flex-basis:48px;
        border-radius:14px;
    }
    .recent-events-panel table{
        min-width:620px;
    }
    .events-hero-panel--clean .button.primary,
    .events-filter-actions .button.primary{
        width:100%;
        justify-content:center;
    }
}



/* =========================================================
   Posteálo Admin Refresh 06
   Clientes: códigos de registro + branding admin.
   ========================================================= */
.clients-admin-page{
    display:grid;
    gap:1.25rem;
}
.clients-hero-panel,
.clients-filter-card,
.client-create-card,
.clients-list-card,
.client-register-explainer,
.client-code-ready,
.clients-stats-grid article{
    border:1px solid var(--admin-line, #ece7ff);
    background:rgba(255,255,255,.97);
    box-shadow:0 18px 54px rgba(41,27,93,.07);
}
.clients-hero-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.5rem;
    padding:2rem 2.1rem;
    border-radius:28px;
}
.clients-hero-panel h1{
    margin:0 0 .65rem;
    color:var(--admin-ink, #1a1042);
    font-size:clamp(2.7rem,4.6vw,4.4rem);
    line-height:.94;
    letter-spacing:-.07em;
    font-weight:900;
}
.clients-hero-panel p:last-child{
    max-width:720px;
    margin:0;
    color:#706b86;
    font-size:1.04rem;
    line-height:1.5;
}
.clients-hero-panel .button.primary,
.client-create-card .button.primary,
.clients-filter-actions .button.primary{
    background:#6a4cff !important;
    background-image:none !important;
    border:1px solid #6a4cff !important;
    color:#fff !important;
    border-radius:18px !important;
    min-height:52px;
    padding:0 1.35rem !important;
    font-weight:800 !important;
    letter-spacing:-.01em;
    box-shadow:0 10px 26px rgba(106,76,255,.18) !important;
}
.clients-hero-panel .button.primary:hover,
.client-create-card .button.primary:hover,
.clients-filter-actions .button.primary:hover{
    background:#5d3ff5 !important;
    border-color:#5d3ff5 !important;
    transform:translateY(-1px);
}
.clients-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:1rem;
}
.clients-stats-grid article{
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1.25rem;
    border-radius:22px;
}
.clients-stats-grid article > span{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    flex:0 0 54px;
    border-radius:16px;
    background:#f1edff;
    color:#6a4cff;
    font-size:1.35rem;
    font-weight:900;
}
.clients-stats-grid strong{
    display:block;
    color:var(--admin-ink,#1a1042);
    font-size:2rem;
    line-height:1;
    letter-spacing:-.05em;
    font-weight:900;
}
.clients-stats-grid small{
    display:block;
    margin-top:.28rem;
    color:#736d8a;
    font-weight:700;
}
.client-code-ready{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding:1.25rem 1.35rem;
    border-radius:24px;
    background:linear-gradient(135deg,#fff,#faf8ff);
}
.client-code-ready h2{
    margin:0 0 .25rem;
    color:var(--admin-ink,#1a1042);
    font-size:1.35rem;
    letter-spacing:-.04em;
}
.client-code-ready p{
    margin:0;
    color:#736d8a;
    font-weight:700;
}
.client-ready-code{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:flex-end;
    gap:.6rem;
}
.client-ready-code code,
.clients-list-table code{
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:0 .75rem;
    border-radius:11px;
    background:#f2edff;
    color:#6a4cff;
    font-family:Inter,ui-sans-serif,system-ui,sans-serif;
    font-weight:900;
    letter-spacing:.04em;
}
.client-ready-code button{
    min-height:38px;
    border:1px solid #e1d9ff;
    background:#fff;
    color:#6a4cff;
    border-radius:12px;
    padding:0 .8rem;
    font-weight:800;
    cursor:pointer;
}
.clients-filter-card{
    padding:1.15rem;
    border-radius:24px;
}
.clients-filter-form{
    display:grid;
    grid-template-columns:minmax(220px,1.4fr) minmax(180px,1fr) minmax(170px,.8fr) auto;
    gap:.85rem;
    align-items:end;
}
.clients-filter-form label{
    display:grid;
    gap:.42rem;
    color:#4f4966;
    font-weight:900;
    font-size:.78rem;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.clients-filter-form input,
.clients-filter-form select{
    width:100%;
    min-height:50px;
    border:1px solid #e4def3;
    border-radius:16px;
    background:#fff;
    color:#1a1042;
    padding:0 .95rem;
    font:inherit;
    font-weight:700;
    outline:none;
}
.clients-filter-form input:focus,
.clients-filter-form select:focus,
.client-access-form input:focus,
.client-access-form select:focus{
    border-color:#b9aaff;
    box-shadow:0 0 0 4px rgba(106,76,255,.10);
}
.clients-filter-actions{
    display:flex;
    gap:.55rem;
    align-items:center;
}
.clients-workspace{
    display:grid;
    grid-template-columns:minmax(340px,.8fr) minmax(0,1.45fr);
    gap:1.15rem;
    align-items:start;
}
.client-create-card,
.clients-list-card,
.client-register-explainer{
    border-radius:28px;
    padding:1.45rem;
}
.client-card-heading,
.client-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1.1rem;
}
.client-card-heading{
    justify-content:flex-start;
}
.client-card-heading > span{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    flex:0 0 50px;
    border-radius:16px;
    background:#f1edff;
    color:#6a4cff;
    font-size:1.35rem;
    font-weight:900;
}
.client-card-heading h2,
.client-list-head h2,
.client-register-explainer h2{
    margin:0;
    color:var(--admin-ink,#1a1042);
    font-size:1.6rem;
    line-height:1;
    letter-spacing:-.04em;
    font-weight:900;
}
.client-card-heading p,
.client-list-head span,
.client-register-explainer p{
    margin:.35rem 0 0;
    color:#736d8a;
    font-weight:700;
    line-height:1.45;
}
.client-access-form{
    display:grid;
    gap:.9rem;
}
.client-access-form label{
    display:grid;
    gap:.42rem;
    color:#282044;
    font-weight:900;
    font-size:.88rem;
}
.client-access-form input,
.client-access-form select{
    width:100%;
    min-height:50px;
    border:1px solid #e4def3;
    border-radius:16px;
    background:#fff;
    color:#1a1042;
    padding:0 .95rem;
    font:inherit;
    font-weight:700;
    outline:none;
}
.client-access-form small{
    color:#8a849d;
    font-weight:700;
}
.client-permission-note{
    display:grid;
    gap:.25rem;
    padding:1rem;
    border:1px solid #e9e3ff;
    border-radius:18px;
    background:#fbf9ff;
}
.client-permission-note strong{
    color:#1a1042;
}
.client-permission-note span{
    color:#746f89;
    font-weight:700;
    line-height:1.45;
}
.client-flow-card{
    margin-top:1rem;
    padding:1rem;
    border-radius:20px;
    background:linear-gradient(135deg,#f8f5ff,#fff);
    border:1px solid #ece7ff;
}
.client-flow-card > strong{
    display:block;
    margin-bottom:.75rem;
    color:#1a1042;
    font-weight:900;
}
.client-flow-card ol{
    display:grid;
    gap:.7rem;
    margin:0;
    padding:0;
    list-style:none;
}
.client-flow-card li{
    display:flex;
    align-items:flex-start;
    gap:.65rem;
    color:#625c78;
    font-weight:700;
    line-height:1.35;
}
.client-flow-card li span{
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    flex:0 0 28px;
    border-radius:50%;
    background:#6a4cff;
    color:#fff;
    font-size:.82rem;
    font-weight:900;
}
.clients-list-card{
    min-width:0;
}
.clients-list-table{
    display:grid;
    gap:.85rem;
}
.client-row{
    display:grid;
    grid-template-columns:52px minmax(155px,1.1fr) minmax(150px,.95fr) auto auto auto;
    gap:.85rem;
    align-items:center;
    padding:.95rem;
    border:1px solid #ece7ff;
    border-radius:20px;
    background:#fff;
}
.client-avatar{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:16px;
    background:linear-gradient(135deg,#f1edff,#fff);
    color:#6a4cff;
    font-weight:900;
    box-shadow:0 8px 20px rgba(41,27,93,.08);
}
.client-row-main,
.client-row-event{
    display:grid;
    gap:.18rem;
    min-width:0;
}
.client-row-main strong,
.client-row-event strong{
    color:#1a1042;
    font-weight:900;
    letter-spacing:-.02em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.client-row-main small,
.client-row-event small{
    color:#77718c;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.client-status{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:32px;
    padding:0 .75rem;
    border-radius:999px;
    font-size:.78rem;
    font-weight:900;
    white-space:nowrap;
}
.client-status.registered,
.client-status.active{
    background:#e9f8ef;
    color:#12804a;
}
.client-status.pending{
    background:#fff5df;
    color:#b77910;
}
.client-status.expired{
    background:#fff0f3;
    color:#c23f53;
}
.client-status.inactive{
    background:#eef0f4;
    color:#5d6475;
}
.client-row-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:.45rem;
    flex-wrap:wrap;
}
.client-row-actions form{
    margin:0;
}
.client-row-actions .button.small{
    min-height:38px;
    padding:0 .75rem;
    border-radius:13px;
    white-space:nowrap;
}
.client-register-explainer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
}
.client-register-steps{
    display:flex;
    align-items:center;
    gap:.65rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.client-register-steps span,
.client-register-steps strong{
    display:inline-flex;
    align-items:center;
    min-height:42px;
    padding:0 .9rem;
    border:1px solid #e5dfff;
    border-radius:14px;
    background:#fff;
    color:#1a1042;
    font-weight:900;
}
.client-register-steps strong{
    background:#6a4cff;
    color:#fff;
    border-color:#6a4cff;
}
.client-register-steps i{
    color:#6a4cff;
    font-style:normal;
    font-weight:900;
}
@media (max-width:1180px){
    .clients-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .clients-workspace{grid-template-columns:1fr;}
    .client-row{grid-template-columns:52px minmax(160px,1fr) minmax(150px,1fr);}
    .client-row code,
    .client-status,
    .client-row-actions{grid-column:2 / -1;}
    .client-row-actions{justify-content:flex-start;}
}
@media (max-width:780px){
    .clients-hero-panel,
    .client-code-ready,
    .client-register-explainer{
        align-items:flex-start;
        flex-direction:column;
    }
    .clients-stats-grid,
    .clients-filter-form{
        grid-template-columns:1fr;
    }
    .clients-filter-actions,
    .clients-filter-actions .button{
        width:100%;
    }
    .client-row{
        grid-template-columns:48px minmax(0,1fr);
    }
    .client-row-event,
    .client-row code,
    .client-status,
    .client-row-actions{
        grid-column:1 / -1;
    }
}



/* =========================================================
   Posteálo Admin Refresh 07
   Clientes: tipografía más contenida, layout más minimalista e iconos.
   ========================================================= */
.clients-admin-page{
    gap:1rem;
}
.clients-hero-panel,
.clients-filter-card,
.client-create-card,
.clients-list-card,
.client-register-explainer,
.client-code-ready,
.clients-stats-grid article{
    box-shadow:0 12px 34px rgba(41,27,93,.05);
}
.clients-hero-panel{
    padding:1.55rem 1.7rem;
    border-radius:24px;
}
.clients-hero-panel h1{
    margin:0 0 .45rem;
    font-size:clamp(2.2rem,3.2vw,3.35rem);
    line-height:.98;
    letter-spacing:-.06em;
}
.clients-hero-panel .eyebrow{
    margin-bottom:.55rem;
}
.clients-hero-panel p:last-child{
    max-width:640px;
    font-size:.98rem;
    line-height:1.45;
}
.clients-hero-panel .button.primary,
.client-create-card .button.primary,
.clients-filter-actions .button.primary{
    min-height:48px;
    padding:0 1.15rem !important;
    border-radius:16px !important;
    font-size:.96rem !important;
    box-shadow:0 8px 20px rgba(106,76,255,.16) !important;
}
.clients-stats-grid{
    gap:.85rem;
}
.clients-stats-grid article{
    padding:1rem 1.1rem;
    border-radius:18px;
}
.clients-stats-grid article > span{
    width:46px;
    height:46px;
    flex-basis:46px;
    border-radius:14px;
}
.clients-stats-grid .stat-icon svg,
.client-card-heading .card-icon svg{
    width:20px;
    height:20px;
    fill:currentColor;
    display:block;
}
.clients-stats-grid strong{
    font-size:1.75rem;
    letter-spacing:-.04em;
}
.clients-stats-grid small{
    margin-top:.18rem;
    font-size:.9rem;
}
.client-code-ready{
    padding:1rem 1.1rem;
    border-radius:20px;
}
.client-code-ready h2{
    font-size:1.1rem;
    letter-spacing:-.02em;
}
.client-code-ready p{
    font-size:.92rem;
    line-height:1.4;
}
.client-ready-code{
    gap:.5rem;
}
.client-ready-code code,
.clients-list-table code{
    min-height:32px;
    padding:0 .7rem;
    border-radius:10px;
    font-size:.95rem;
}
.client-ready-code button{
    min-height:36px;
    padding:0 .75rem;
    border-radius:11px;
    font-size:.88rem;
}
.clients-filter-card{
    padding:1rem;
    border-radius:20px;
}
.clients-filter-form{
    grid-template-columns:minmax(220px,1.35fr) minmax(180px,.95fr) minmax(170px,.8fr) auto;
    gap:.75rem;
}
.clients-filter-form label{
    gap:.35rem;
    font-size:.74rem;
}
.clients-filter-form input,
.clients-filter-form select,
.client-access-form input,
.client-access-form select{
    min-height:46px;
    border-radius:14px;
    padding:0 .85rem;
    font-size:.95rem;
}
.clients-filter-actions{
    gap:.45rem;
}
.clients-workspace{
    grid-template-columns:minmax(320px,.78fr) minmax(0,1.3fr);
    gap:1rem;
}
.client-create-card,
.clients-list-card,
.client-register-explainer{
    border-radius:24px;
    padding:1.2rem;
}
.client-card-heading,
.client-list-head{
    margin-bottom:.9rem;
}
.client-card-heading > span{
    width:44px;
    height:44px;
    flex-basis:44px;
    border-radius:14px;
}
.client-card-heading h2,
.client-list-head h2,
.client-register-explainer h2{
    font-size:1.18rem;
    letter-spacing:-.03em;
}
.client-card-heading p,
.client-list-head span,
.client-register-explainer p{
    margin:.22rem 0 0;
    font-size:.92rem;
    line-height:1.42;
}
.client-access-form{
    gap:.75rem;
}
.client-access-form label{
    gap:.32rem;
    font-size:.84rem;
}
.client-access-form small{
    font-size:.82rem;
}
.client-permission-note{
    gap:.18rem;
    padding:.85rem .9rem;
    border-radius:16px;
}
.client-permission-note strong{
    font-size:.95rem;
}
.client-permission-note span{
    font-size:.92rem;
    line-height:1.38;
}
.client-flow-card{
    margin-top:.85rem;
    padding:.9rem;
    border-radius:16px;
}
.client-flow-card > strong{
    margin-bottom:.55rem;
    font-size:1rem;
}
.client-flow-card ol{
    gap:.55rem;
}
.client-flow-card li{
    gap:.55rem;
    font-size:.92rem;
    line-height:1.35;
}
.client-flow-card li span{
    width:26px;
    height:26px;
    flex-basis:26px;
    font-size:.78rem;
}
.clients-list-table{
    gap:.7rem;
}
.client-row{
    grid-template-columns:46px minmax(145px,1.15fr) minmax(130px,.9fr) auto auto auto;
    gap:.75rem;
    padding:.85rem;
    border-radius:18px;
}
.client-avatar{
    width:46px;
    height:46px;
    border-radius:14px;
    font-size:1rem;
}
.client-row-main strong,
.client-row-event strong{
    font-size:.96rem;
}
.client-row-main small,
.client-row-event small{
    font-size:.85rem;
}
.client-status{
    min-height:30px;
    padding:0 .68rem;
    font-size:.74rem;
}
.client-row-actions{
    gap:.4rem;
}
.client-row-actions .button.small{
    min-height:34px;
    padding:0 .65rem;
    border-radius:11px;
    font-size:.85rem;
}
.client-register-explainer{
    padding:1rem 1.2rem;
}
.client-register-steps{
    gap:.5rem;
}
.client-register-steps span,
.client-register-steps strong{
    min-height:38px;
    padding:0 .8rem;
    border-radius:12px;
    font-size:.9rem;
}
@media (max-width:1180px){
    .clients-hero-panel h1{
        font-size:clamp(2rem,4vw,3rem);
    }
    .client-row{
        grid-template-columns:46px minmax(150px,1fr) minmax(140px,1fr);
    }
}
@media (max-width:780px){
    .clients-hero-panel{
        padding:1.25rem;
    }
    .clients-hero-panel h1{
        font-size:2rem;
    }
    .clients-stats-grid article{
        padding:.9rem 1rem;
    }
    .clients-filter-card,
    .client-create-card,
    .clients-list-card,
    .client-register-explainer{
        padding:1rem;
    }
}



/* =========================================================
   Posteálo Admin Refresh 08
   Clientes: lista compacta + editar/eliminar códigos.
   ========================================================= */
.clients-admin-page{
    gap:.9rem;
}
.clients-list-card{
    padding:1rem !important;
}
.client-list-head{
    margin-bottom:.75rem !important;
}
.client-list-head h2{
    font-size:1.05rem !important;
}
.client-list-head .eyebrow{
    font-size:.72rem !important;
    letter-spacing:.16em !important;
}
.client-list-head span{
    font-size:.9rem !important;
}
.clients-list-table{
    gap:.55rem !important;
}
.client-row{
    grid-template-columns:38px minmax(145px,1.2fr) minmax(120px,.95fr) minmax(86px,.5fr) minmax(88px,.45fr) auto !important;
    gap:.55rem !important;
    padding:.62rem .7rem !important;
    border-radius:15px !important;
    align-items:center !important;
}
.client-avatar{
    width:38px !important;
    height:38px !important;
    border-radius:12px !important;
    font-size:.9rem !important;
    box-shadow:0 6px 14px rgba(41,27,93,.06) !important;
}
.client-row-main strong,
.client-row-event strong{
    font-size:.88rem !important;
    line-height:1.15 !important;
}
.client-row-main small,
.client-row-event small{
    font-size:.76rem !important;
    line-height:1.15 !important;
}
.clients-list-table code{
    min-height:28px !important;
    padding:0 .55rem !important;
    border-radius:9px !important;
    font-size:.78rem !important;
    max-width:112px;
    overflow:hidden;
    text-overflow:ellipsis;
}
.client-status{
    min-height:26px !important;
    padding:0 .55rem !important;
    font-size:.7rem !important;
}
.client-row-actions{
    gap:.3rem !important;
    flex-wrap:nowrap !important;
}
.client-row-actions .button.small{
    min-height:30px !important;
    padding:0 .5rem !important;
    border-radius:10px !important;
    font-size:.76rem !important;
}
.client-row-actions .button.danger{
    color:#c23f53 !important;
    border-color:#ffd8df !important;
    background:#fffafa !important;
}
.client-cancel-edit{
    margin-top:.35rem;
    width:100%;
    justify-content:center;
}
.client-create-card{
    padding:1rem !important;
}
.client-card-heading{
    gap:.75rem !important;
}
.client-card-heading > span{
    width:38px !important;
    height:38px !important;
    flex-basis:38px !important;
    border-radius:12px !important;
}
.client-card-heading .card-icon svg{
    width:18px !important;
    height:18px !important;
}
.client-card-heading h2{
    font-size:1.05rem !important;
}
.client-card-heading p{
    font-size:.84rem !important;
}
.client-access-form{
    gap:.6rem !important;
}
.client-access-form label{
    font-size:.78rem !important;
}
.client-access-form input,
.client-access-form select{
    min-height:40px !important;
    border-radius:12px !important;
    font-size:.86rem !important;
}
.client-permission-note{
    padding:.65rem .75rem !important;
    border-radius:13px !important;
}
.client-permission-note strong,
.client-permission-note span{
    font-size:.82rem !important;
}
.client-flow-card{
    padding:.75rem !important;
    border-radius:14px !important;
}
.client-flow-card li{
    font-size:.82rem !important;
}
.client-flow-card li span{
    width:22px !important;
    height:22px !important;
    flex-basis:22px !important;
    font-size:.7rem !important;
}
@media (max-width:1180px){
    .client-row{
        grid-template-columns:38px minmax(150px,1fr) minmax(130px,1fr) !important;
    }
    .client-row code,
    .client-status,
    .client-row-actions{
        grid-column:2 / -1;
    }
    .client-row-actions{
        justify-content:flex-start !important;
        flex-wrap:wrap !important;
    }
}



/* =========================================================
   Posteálo Admin Refresh 09
   Toast flotante global + lista clientes sin desbordar.
   ========================================================= */
.admin-toast{
    position:fixed;
    right:clamp(16px, 3vw, 34px);
    top:calc(var(--admin-topbar-height, 86px) + 18px);
    z-index:9999;
    display:flex;
    align-items:center;
    gap:.7rem;
    width:min(420px, calc(100vw - 32px));
    padding:.85rem 1rem;
    border:1px solid rgba(232,226,255,.92);
    border-radius:18px;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(18px);
    box-shadow:0 18px 52px rgba(41,27,93,.14);
    color:#1a1042;
    font-weight:800;
    line-height:1.35;
    animation:adminToastIn .22s ease-out, adminToastOut .28s ease-in 4.2s forwards;
}
.admin-toast-dot{
    width:10px;
    height:10px;
    flex:0 0 10px;
    border-radius:50%;
    background:#6a4cff;
    box-shadow:0 0 0 5px rgba(106,76,255,.12);
}
.admin-toast.success .admin-toast-dot{background:#19a663;box-shadow:0 0 0 5px rgba(25,166,99,.12);}
.admin-toast.error .admin-toast-dot{background:#c23f53;box-shadow:0 0 0 5px rgba(194,63,83,.12);}
@keyframes adminToastIn{
    from{opacity:0;transform:translateY(-10px) scale(.98);}
    to{opacity:1;transform:translateY(0) scale(1);}
}
@keyframes adminToastOut{
    to{opacity:0;transform:translateY(-8px) scale(.98);pointer-events:none;}
}

/* Clientes: evitar que las acciones se salgan de la tarjeta */
.clients-list-card{
    overflow:hidden !important;
}
.clients-list-table{
    overflow-x:auto !important;
    padding-bottom:.25rem;
}
.client-row{
    grid-template-columns:40px minmax(145px,1.05fr) minmax(135px,.95fr) minmax(92px,.42fr) minmax(84px,.45fr) minmax(260px,.8fr) !important;
    min-width:980px;
}
.client-row-actions{
    justify-content:flex-end !important;
    flex-wrap:wrap !important;
    gap:.35rem !important;
}
.client-row-actions .button.small{
    min-height:30px !important;
    padding:0 .55rem !important;
    font-size:.75rem !important;
}
.client-row-actions .button.danger{
    order:10;
}
@media (max-width:1180px){
    .client-row{
        min-width:900px;
        grid-template-columns:38px minmax(145px,1fr) minmax(130px,.9fr) minmax(90px,.42fr) minmax(80px,.42fr) minmax(250px,.8fr) !important;
    }
}
@media (max-width:780px){
    .admin-toast{
        top:18px;
        right:16px;
    }
}

/* =========================================================
   Posteálo Admin Refresh 10
   Clientes: menú de 3 puntos en vez de scroll horizontal.
   ========================================================= */
.clients-list-card{
    overflow:visible !important;
}
.clients-list-table{
    overflow:visible !important;
    padding-bottom:0 !important;
}
.client-row{
    min-width:0 !important;
    grid-template-columns:40px minmax(0,1.25fr) minmax(0,1fr) auto auto auto !important;
    overflow:visible;
}
.client-row-main,
.client-row-event{
    min-width:0;
}
.client-row-main strong,
.client-row-main small,
.client-row-event strong,
.client-row-event small{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.client-row-actions{
    justify-content:flex-end !important;
    flex-wrap:nowrap !important;
    position:relative;
}
.client-more-menu{
    position:relative;
}
.client-more-menu summary{
    list-style:none;
}
.client-more-menu summary::-webkit-details-marker{
    display:none;
}
.client-more-trigger{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:38px;
    height:34px;
    border:1px solid #e6def7;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
    box-shadow:0 8px 20px rgba(41,27,93,.06);
}
.client-more-trigger span{
    width:4px;
    height:4px;
    border-radius:50%;
    background:#6a4cff;
    display:block;
}
.client-more-menu[open] .client-more-trigger{
    border-color:#cdbfff;
    background:#f8f5ff;
}
.client-more-dropdown{
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    z-index:40;
    min-width:210px;
    padding:.45rem;
    border:1px solid #ece7ff;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
    box-shadow:0 20px 48px rgba(41,27,93,.14);
    display:grid;
    gap:.2rem;
}
.client-more-dropdown form{
    margin:0;
}
.client-menu-item{
    display:flex;
    align-items:center;
    width:100%;
    min-height:40px;
    padding:0 .8rem;
    border:0;
    border-radius:12px;
    background:transparent;
    color:#22184b;
    text-decoration:none;
    font:inherit;
    font-size:.85rem;
    font-weight:800;
    text-align:left;
    cursor:pointer;
}
.client-menu-item:hover{
    background:#f6f2ff;
    color:#6a4cff;
}
.client-menu-item.danger{
    color:#c23f53;
}
.client-menu-item.danger:hover{
    background:#fff2f5;
    color:#c23f53;
}
@media (max-width:1180px){
    .client-row{
        grid-template-columns:38px minmax(0,1fr) minmax(0,1fr) auto auto auto !important;
    }
}
@media (max-width:780px){
    .client-row{
        grid-template-columns:38px minmax(0,1fr) auto auto !important;
        row-gap:.45rem;
    }
    .client-row-event{
        grid-column:2 / 4;
    }
    .clients-list-table code{
        grid-column:2 / 3;
        max-width:none;
    }
    .client-status{
        grid-column:3 / 4;
        justify-self:start;
    }
    .client-row-actions{
        grid-column:4 / 5;
        align-self:start;
    }
    .client-more-dropdown{
        right:0;
        min-width:190px;
    }
}



/* =========================================================
   Posteálo Admin Refresh 11
   Inicio + Eventos: tipografía contenida, branding y logo visible.
   ========================================================= */

/* Header con logo real */
.admin-topbar{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    min-height:74px !important;
    padding:0 clamp(1.2rem,3vw,3.2rem) !important;
}
.admin-real-brand{
    display:inline-flex !important;
    align-items:center !important;
    flex:0 0 142px !important;
    width:142px !important;
    min-width:142px !important;
    text-decoration:none !important;
    margin-right:1.4rem !important;
}
.admin-real-brand img{
    display:block !important;
    width:132px !important;
    height:auto !important;
    object-fit:contain !important;
}
.admin-nav{
    margin-left:auto !important;
    gap:.45rem !important;
}
.admin-nav a{
    min-height:40px !important;
    padding:.55rem .75rem !important;
    border-radius:14px !important;
    font-size:.88rem !important;
}
.admin-nav .nav-icon{
    width:18px !important;
    height:18px !important;
}
.admin-nav .nav-icon svg{
    width:18px !important;
    height:18px !important;
}

/* Base más cómoda */
.admin-main{
    max-width:1280px !important;
    padding:clamp(2rem,4vw,3.1rem) 1.35rem 5rem !important;
}

/* INICIO */
.page-heading{
    margin-bottom:1.45rem !important;
    align-items:flex-end !important;
}
.page-heading .eyebrow{
    margin-bottom:.55rem !important;
    font-size:.76rem !important;
    letter-spacing:.18em !important;
}
.page-heading h1{
    max-width:580px !important;
    margin:0 0 .5rem !important;
    font-size:clamp(2.25rem,3.2vw,2.8rem) !important;
    line-height:1.03 !important;
    letter-spacing:-.055em !important;
}
.page-heading p:last-child{
    font-size:1rem !important;
    line-height:1.42 !important;
}
.admin-create-button,
.page-heading .button.primary{
    min-height:48px !important;
    padding:0 1.2rem !important;
    border-radius:16px !important;
    font-size:.95rem !important;
    box-shadow:0 10px 24px rgba(95,59,245,.18) !important;
}
.admin-create-button span{
    font-size:1.15rem !important;
}

/* Cards de métricas del inicio */
.stats-grid{
    gap:1rem !important;
    margin-bottom:1rem !important;
}
.stat-card{
    min-height:136px !important;
    padding:1rem !important;
    border-radius:20px !important;
}
.stat-card::before{
    top:1rem !important;
    right:1rem !important;
    width:7px !important;
    height:7px !important;
}
.stat-top i{
    width:42px !important;
    height:42px !important;
    border-radius:13px !important;
}
.stat-top i svg{
    width:22px !important;
    height:22px !important;
}
.stat-copy{
    gap:.22rem !important;
    margin-top:.8rem !important;
}
.stat-copy > span{
    font-size:.95rem !important;
}
.stat-copy > strong,
.stat-card > strong{
    font-size:2rem !important;
}
.stat-copy > small,
.stat-card > small{
    font-size:.88rem !important;
}
.stat-card.accent::after{
    width:150px !important;
    height:150px !important;
    right:-42px !important;
    bottom:-58px !important;
    border-width:28px !important;
}

/* Accesos rápidos */
.quick-grid{
    gap:1rem !important;
    margin-bottom:1.25rem !important;
}
.quick-grid a{
    min-height:98px !important;
    grid-template-columns:42px 1fr 22px !important;
    gap:.8rem !important;
    padding:1rem !important;
    border-radius:20px !important;
}
.quick-grid a > span{
    width:42px !important;
    height:42px !important;
    border-radius:13px !important;
}
.quick-grid a > span svg{
    width:22px !important;
    height:22px !important;
}
.quick-grid strong{
    font-size:1rem !important;
}
.quick-grid small{
    font-size:.86rem !important;
}
.quick-grid i{
    font-size:1.25rem !important;
}

/* Eventos recientes */
.recent-events-panel,
.panel.recent-events-panel{
    padding:1.35rem 1.45rem !important;
    border-radius:22px !important;
}
.panel-heading h2{
    font-size:1.45rem !important;
    letter-spacing:-.04em !important;
}
.panel-heading p{
    font-size:.95rem !important;
}
.recent-events-panel th,
.recent-events-panel td{
    padding:.85rem .8rem !important;
}
.event-recent-thumb{
    width:46px !important;
    height:46px !important;
    min-width:46px !important;
    flex-basis:46px !important;
    border-radius:13px !important;
}
.table-wrap td strong{
    font-size:.95rem !important;
}
.table-wrap td small{
    font-size:.82rem !important;
}

/* EVENTOS */
.events-page-redesign{
    gap:1rem !important;
}
.events-hero-panel--clean{
    padding:1.55rem 1.7rem !important;
    border-radius:24px !important;
}
.events-hero-panel--clean h1{
    max-width:620px !important;
    margin:0 0 .45rem !important;
    font-size:clamp(2.25rem,3.2vw,2.85rem) !important;
    line-height:1.03 !important;
    letter-spacing:-.055em !important;
}
.events-hero-panel--clean .eyebrow{
    margin-bottom:.55rem !important;
    font-size:.76rem !important;
    letter-spacing:.18em !important;
}
.events-hero-panel--clean p:last-child{
    max-width:640px !important;
    font-size:1rem !important;
    line-height:1.42 !important;
}
.events-hero-panel--clean .button.primary{
    min-height:48px !important;
    padding:0 1.2rem !important;
    border-radius:16px !important;
    font-size:.95rem !important;
}

/* Métricas de eventos */
.events-overview-grid--compact{
    gap:.85rem !important;
}
.events-overview-grid--compact article{
    padding:.95rem 1rem !important;
    border-radius:18px !important;
}
.events-overview-grid--compact strong{
    font-size:1.8rem !important;
}
.events-overview-grid--compact span{
    font-size:.88rem !important;
}

/* Filtros eventos */
.events-filter-card--refined{
    padding:1rem !important;
    border-radius:20px !important;
}
.events-filter-form{
    gap:.75rem !important;
}
.events-filter-form label{
    gap:.35rem !important;
    font-size:.74rem !important;
    letter-spacing:.08em !important;
}
.events-filter-form input,
.events-filter-form select{
    min-height:46px !important;
    border-radius:14px !important;
    font-size:.92rem !important;
}
.events-filter-actions .button{
    min-height:46px !important;
    border-radius:14px !important;
    font-size:.92rem !important;
}

/* Switch de vistas */
.events-view-switcher{
    border-radius:16px !important;
    padding:.28rem !important;
}
.events-view-switcher a{
    min-height:38px !important;
    padding:0 .9rem !important;
    border-radius:12px !important;
    font-size:.9rem !important;
}

/* Calendario */
.events-calendar-card--refined,
.events-list-shell{
    padding:1.25rem 1.35rem !important;
    border-radius:22px !important;
}
.events-calendar-head h2,
.events-list-head h2{
    font-size:1.55rem !important;
    letter-spacing:-.045em !important;
}
.calendar-weekday{
    font-size:.68rem !important;
}
.refined-calendar-grid{
    gap:.55rem !important;
}
.refined-day{
    min-height:96px !important;
    padding:.62rem !important;
    border-radius:15px !important;
}
.refined-day strong{
    font-size:.86rem !important;
}
.refined-calendar-pill{
    padding:.42rem .48rem !important;
    border-radius:10px !important;
}
.refined-calendar-pill span{
    font-size:.72rem !important;
}
.refined-calendar-pill small{
    font-size:.66rem !important;
}

/* Lista de eventos */
.event-list-row{
    padding:.85rem !important;
    border-radius:18px !important;
}
.event-list-thumb{
    width:58px !important;
    height:58px !important;
    flex-basis:58px !important;
    border-radius:16px !important;
}
.event-list-copy h3{
    font-size:1rem !important;
}
.event-list-copy p,
.event-list-meta{
    font-size:.84rem !important;
}
.event-list-actions .button.small{
    min-height:34px !important;
    padding:0 .7rem !important;
    border-radius:11px !important;
    font-size:.82rem !important;
}

@media (max-width:1180px){
    .admin-real-brand{
        flex-basis:120px !important;
        width:120px !important;
        min-width:120px !important;
        margin-right:.8rem !important;
    }
    .admin-real-brand img{
        width:112px !important;
    }
    .admin-nav{
        gap:.25rem !important;
    }
    .admin-nav a{
        padding:.48rem .55rem !important;
        font-size:.82rem !important;
    }
}
@media (max-width:780px){
    .admin-topbar{
        align-items:center !important;
        padding:.75rem 1rem !important;
    }
    .admin-real-brand{
        width:122px !important;
        min-width:122px !important;
        flex-basis:122px !important;
    }
    .admin-real-brand img{
        width:112px !important;
    }
    .page-heading,
    .events-hero-panel--clean{
        align-items:flex-start !important;
        flex-direction:column !important;
    }
    .page-heading h1,
    .events-hero-panel--clean h1{
        font-size:2rem !important;
    }
    .stat-card{
        min-height:118px !important;
    }
    .refined-day{
        min-height:82px !important;
    }
}



/* =========================================================
   Posteálo Admin Refresh 12
   Moderación: cards compactas, 3 puntos y acciones inline.
   ========================================================= */
.moderation-refresh-page{
    display:grid;
    gap:1rem;
}
.moderation-refresh-hero{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:1.2rem;
    align-items:end;
}
.moderation-refresh-hero h1{
    margin:0 0 .45rem;
    color:var(--admin-ink,#1a1042);
    font-size:clamp(2.15rem,3.2vw,2.65rem);
    line-height:1.03;
    letter-spacing:-.055em;
    font-weight:900;
}
.moderation-refresh-hero .eyebrow{
    margin-bottom:.55rem;
    color:#6a4cff;
    font-size:.74rem;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.moderation-refresh-hero p{
    margin:0;
    max-width:590px;
    color:#746f89;
    font-size:.98rem;
    line-height:1.45;
}
.moderation-refresh-page .moderation-summary-mini{
    display:grid;
    grid-template-columns:repeat(4, minmax(88px,1fr));
    gap:.65rem;
}
.moderation-refresh-page .moderation-summary-mini article{
    min-width:88px;
    padding:.85rem .9rem;
    border:1px solid var(--admin-line,#ece7ff);
    border-radius:17px;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 30px rgba(41,27,93,.05);
}
.moderation-summary-mini article span{
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    margin-bottom:.4rem;
    border-radius:50%;
    background:#f1edff;
    color:#6a4cff;
    font-size:.78rem;
    font-weight:900;
}
.moderation-summary-mini article strong{
    display:block;
    color:#1a1042;
    font-size:1.45rem;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}
.moderation-summary-mini article small{
    display:block;
    margin-top:.25rem;
    color:#6f6988;
    font-size:.78rem;
    font-weight:800;
}
.moderation-filter-refined{
    display:grid !important;
    grid-template-columns:minmax(190px,1fr) minmax(165px,.75fr) minmax(165px,.75fr) auto;
    gap:.8rem;
    align-items:end;
    padding:1rem !important;
    border:1px solid var(--admin-line,#ece7ff);
    border-radius:20px !important;
    background:rgba(255,255,255,.96);
    box-shadow:0 12px 34px rgba(41,27,93,.05);
}
.moderation-filter-refined label{
    display:grid;
    gap:.35rem;
    color:#4f4966;
    font-size:.74rem;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.moderation-filter-refined select{
    min-height:44px;
    padding:0 .9rem;
    border:1px solid #e4def3;
    border-radius:14px;
    background:#fff;
    color:#1a1042;
    font:inherit;
    font-size:.9rem;
    font-weight:800;
}
.moderation-filter-refined .button.primary{
    min-height:44px;
    padding:0 1.1rem !important;
    border-radius:14px !important;
    background:#6a4cff !important;
    border-color:#6a4cff !important;
    box-shadow:0 9px 20px rgba(106,76,255,.16) !important;
    font-size:.9rem;
}
.moderation-tabs-refined{
    display:inline-flex;
    width:max-content;
    gap:.25rem;
    padding:.3rem;
    border:1px solid var(--admin-line,#ece7ff);
    border-radius:18px;
    background:#fff;
    box-shadow:0 12px 30px rgba(41,27,93,.05);
}
.moderation-tabs-refined a{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    min-height:38px;
    padding:0 .9rem;
    border-radius:13px;
    color:#5f5875;
    font-size:.9rem;
    font-weight:900;
    text-decoration:none;
}
.moderation-tabs-refined a.active{
    background:#6a4cff;
    color:#fff;
}
.moderation-tabs-refined span{
    display:inline-grid;
    place-items:center;
    min-width:22px;
    height:22px;
    padding:0 .35rem;
    border-radius:999px;
    background:#f1edff;
    color:#6a4cff;
    font-size:.72rem;
    font-weight:900;
}
.moderation-tabs-refined a.active span{
    background:rgba(255,255,255,.22);
    color:#fff;
}
.moderation-bulk-refined{
    display:grid !important;
    grid-template-columns:minmax(160px,1fr) auto minmax(260px,1fr);
    align-items:center;
    gap:1rem;
    padding:.85rem 1rem !important;
    border:1px solid var(--admin-line,#ece7ff);
    border-radius:20px;
    background:#fff;
    box-shadow:0 12px 30px rgba(41,27,93,.05);
}
.moderation-bulk-refined .bulk-actions{
    display:flex;
    justify-content:flex-end;
    gap:.5rem;
}
.moderation-bulk-refined .button.small{
    min-height:34px;
    padding:0 .8rem;
    border-radius:11px;
    font-size:.82rem;
}
.moderation-refresh-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
    gap:1rem !important;
}
.moderation-item-card{
    overflow:visible !important;
    border:1px solid var(--admin-line,#ece7ff) !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 14px 34px rgba(41,27,93,.06) !important;
}
.moderation-preview{
    position:relative;
    aspect-ratio:16/11;
    overflow:hidden;
    border-radius:18px 18px 0 0;
    background:linear-gradient(135deg,#f7f4ff,#fff);
}
.moderation-preview img,
.moderation-preview video{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.moderation-preview.is-interaction{
    display:grid;
    align-content:center;
    justify-items:center;
    gap:.65rem;
    min-height:160px;
    padding:1.1rem;
}
.interaction-icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    border-radius:16px;
    background:#f1edff;
    color:#6a4cff;
    font-size:1.5rem;
    font-weight:900;
}
.moderation-preview.is-interaction p{
    margin:0;
    max-width:100%;
    color:#2d2452;
    font-size:.92rem;
    line-height:1.35;
    text-align:center;
}
.moderation-preview audio{
    width:100%;
    max-width:210px;
    height:34px;
}
.rating-preview{
    color:#6a4cff;
    font-size:1.25rem;
    letter-spacing:.04em;
}
.rating-preview span{
    color:#cfc7ea;
}
.moderation-item-card .upload-select-control{
    position:absolute;
    z-index:5;
    top:.7rem;
    right:.7rem;
    left:auto;
    display:grid;
    place-items:center;
    width:32px;
    height:32px;
    padding:0;
    border:1px solid rgba(255,255,255,.8);
    border-radius:10px;
    background:rgba(255,255,255,.86);
    box-shadow:0 8px 18px rgba(20,13,55,.12);
    backdrop-filter:blur(10px);
}
.moderation-item-card .upload-select-control span{
    display:none;
}
.moderation-item-card .upload-select-control input[type="checkbox"]{
    width:15px;
    height:15px;
    margin:0;
}
.moderation-item-card .media-type-pill{
    position:absolute;
    top:.7rem;
    left:.7rem;
    z-index:4;
    padding:.32rem .55rem;
    border-radius:999px;
    background:rgba(255,255,255,.9);
    color:#1a1042;
    font-size:.72rem;
    font-weight:900;
}
.moderation-item-card .featured-badge{
    position:absolute;
    right:.7rem;
    bottom:.7rem;
    z-index:4;
    display:grid;
    place-items:center;
    width:28px;
    height:28px;
    border-radius:50%;
    background:#fff7d8;
    color:#c58500;
    font-size:.78rem;
}
.moderation-item-card .moderation-content{
    padding:.9rem;
}
.moderation-item-card .moderation-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.6rem;
    margin-bottom:.75rem;
}
.moderation-item-card .moderation-meta small{
    color:#746f89;
    font-size:.78rem;
    font-weight:700;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.moderation-item-card .status{
    min-height:24px;
    padding:0 .55rem !important;
    border-radius:999px !important;
    font-size:.7rem !important;
    font-weight:900;
}
.moderation-item-card .status.pending{background:#f1edff;color:#6a4cff;}
.moderation-item-card .status.approved{background:#e9f8ef;color:#12804a;}
.moderation-item-card .status.rejected{background:#fff0f3;color:#c23f53;}
.moderation-item-card .admin-guest-row{
    display:flex;
    align-items:center;
    gap:.65rem;
    margin-bottom:.75rem;
}
.moderation-item-card .admin-guest-badge{
    width:38px;
    height:38px;
    border-radius:12px;
    background:#f1edff;
    color:#6a4cff;
    font-size:.9rem;
    font-weight:900;
}
.moderation-item-card h3{
    margin:0;
    color:#1a1042;
    font-size:.95rem;
    line-height:1.15;
    font-weight:900;
}
.moderation-item-card .upload-date{
    color:#817b94;
    font-size:.76rem;
    font-weight:700;
}
.moderation-item-card .guest-message{
    min-height:42px;
    margin:0 0 .75rem;
    padding:.65rem .75rem;
    border:1px solid #ece7ff;
    border-radius:14px;
    background:#fbfaff;
    color:#3a315c;
    font-size:.82rem;
    line-height:1.35;
}
.moderation-item-card .muted{
    color:#8a849d;
    font-style:italic;
}
.refined-actions{
    display:grid !important;
    grid-template-columns:1fr 40px;
    gap:.45rem;
    align-items:center;
}
.refined-actions form{
    margin:0;
}
.refined-actions .button.success.small{
    width:100%;
    min-height:36px;
    border-radius:12px;
    background:#6a4cff !important;
    border-color:#6a4cff !important;
    color:#fff !important;
    font-size:.86rem;
    font-weight:900;
    box-shadow:0 8px 18px rgba(106,76,255,.16);
}
.moderation-more-menu{
    position:relative;
}
.moderation-more-menu summary{
    list-style:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:40px;
    height:36px;
    border:1px solid #e6def7;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}
.moderation-more-menu summary::-webkit-details-marker{
    display:none;
}
.moderation-more-menu summary span{
    display:block;
    width:4px;
    height:4px;
    border-radius:50%;
    background:#6a4cff;
}
.moderation-more-menu[open] summary{
    border-color:#cdbfff;
    background:#f8f5ff;
}
.moderation-more-dropdown{
    position:absolute;
    right:0;
    bottom:calc(100% + 10px);
    z-index:60;
    min-width:190px;
    padding:.45rem;
    border:1px solid #ece7ff;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
    box-shadow:0 20px 48px rgba(41,27,93,.16);
    display:grid;
    gap:.18rem;
}
.moderation-more-dropdown form{
    margin:0;
}
.moderation-more-dropdown button,
.moderation-more-dropdown a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:38px;
    padding:0 .75rem;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#2d2452;
    text-decoration:none;
    font:inherit;
    font-size:.84rem;
    font-weight:800;
    text-align:left;
    cursor:pointer;
}
.moderation-more-dropdown button:hover,
.moderation-more-dropdown a:hover{
    background:#f6f2ff;
    color:#6a4cff;
}
.moderation-more-dropdown .danger,
.moderation-more-dropdown button.danger{
    color:#c23f53;
}
.moderation-more-dropdown .danger:hover,
.moderation-more-dropdown button.danger:hover{
    background:#fff2f5;
    color:#c23f53;
}
@media (max-width:1180px){
    .moderation-refresh-hero{
        grid-template-columns:1fr;
    }
    .moderation-refresh-page .moderation-summary-mini{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
    .moderation-filter-refined{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width:780px){
    .moderation-refresh-hero h1{
        font-size:2rem;
    }
    .moderation-refresh-page .moderation-summary-mini,
    .moderation-filter-refined,
    .moderation-bulk-refined{
        grid-template-columns:1fr;
    }
    .moderation-tabs-refined{
        width:100%;
        overflow-x:auto;
    }
    .moderation-tabs-refined a{
        white-space:nowrap;
    }
    .moderation-refresh-grid{
        grid-template-columns:1fr;
    }
    .moderation-bulk-refined .bulk-actions{
        justify-content:flex-start;
        flex-wrap:wrap;
    }
}

/* =========================================================
   Posteálo Admin Refresh 13
   Mensajes: lista minimalista + PDF branding.
   ========================================================= */
.messages-admin-page{
    display:grid;
    gap:1rem;
}
.messages-hero-panel,
.messages-control-card,
.messages-list-card{
    border:1px solid var(--admin-line,#ece7ff);
    background:rgba(255,255,255,.97);
    box-shadow:0 14px 38px rgba(41,27,93,.06);
}
.messages-hero-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.2rem;
    padding:1.55rem 1.7rem;
    border-radius:24px;
}
.messages-hero-panel h1{
    margin:0 0 .45rem;
    color:var(--admin-ink,#1a1042);
    font-size:clamp(2.15rem,3.1vw,2.65rem);
    line-height:1.03;
    letter-spacing:-.055em;
    font-weight:900;
}
.messages-hero-panel .eyebrow{
    margin-bottom:.55rem;
    color:#6a4cff;
    font-size:.74rem;
    letter-spacing:.18em;
    text-transform:uppercase;
}
.messages-hero-panel p{
    margin:0;
    max-width:610px;
    color:#746f89;
    font-size:.98rem;
    line-height:1.45;
}
.messages-hero-actions{
    display:flex;
    align-items:center;
    gap:.55rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.messages-hero-actions .button{
    min-height:44px;
    padding:0 1rem !important;
    border-radius:14px !important;
    font-size:.9rem;
    font-weight:900;
}
.messages-hero-actions .button.primary{
    background:#6a4cff !important;
    border-color:#6a4cff !important;
    color:#fff !important;
    box-shadow:0 9px 20px rgba(106,76,255,.16) !important;
}
.messages-control-card{
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(420px,1.2fr);
    gap:1rem;
    align-items:end;
    padding:1rem;
    border-radius:20px;
}
.messages-event-picker label{
    display:grid;
    gap:.35rem;
    color:#4f4966;
    font-size:.74rem;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.messages-event-picker select{
    width:100%;
    min-height:44px;
    padding:0 .9rem;
    border:1px solid #e4def3;
    border-radius:14px;
    background:#fff;
    color:#1a1042;
    font:inherit;
    font-size:.9rem;
    font-weight:800;
}
.messages-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.65rem;
}
.messages-stats-grid article{
    display:grid;
    grid-template-columns:34px 1fr;
    column-gap:.65rem;
    align-items:center;
    min-height:70px;
    padding:.75rem .85rem;
    border:1px solid #ece7ff;
    border-radius:17px;
    background:#fff;
}
.messages-stats-grid article span{
    grid-row:1 / span 2;
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:12px;
    background:#f1edff;
    color:#6a4cff;
    font-size:.95rem;
    font-weight:900;
}
.messages-stats-grid strong{
    color:#1a1042;
    font-size:1.45rem;
    line-height:1;
    letter-spacing:-.04em;
    font-weight:900;
}
.messages-stats-grid small{
    color:#746f89;
    font-size:.78rem;
    font-weight:800;
}
.messages-list-card{
    padding:1.15rem 1.25rem;
    border-radius:24px;
}
.messages-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
}
.messages-list-head h2{
    margin:0;
    color:#1a1042;
    font-size:1.35rem;
    line-height:1;
    letter-spacing:-.04em;
    font-weight:900;
}
.messages-list-head .eyebrow{
    margin:0 0 .45rem;
    color:#6a4cff;
    font-size:.72rem;
    letter-spacing:.18em;
}
.messages-list-head > span{
    display:inline-flex;
    align-items:center;
    min-height:32px;
    padding:0 .75rem;
    border-radius:999px;
    background:#f1edff;
    color:#6a4cff;
    font-weight:900;
    font-size:.82rem;
}
.messages-table{
    display:grid;
    border:1px solid #ece7ff;
    border-radius:18px;
    overflow:visible;
    background:#fff;
}
.messages-table-header,
.messages-row{
    display:grid;
    grid-template-columns:62px minmax(130px,.7fr) minmax(145px,.8fr) minmax(260px,1.8fr) 92px 56px;
    gap:.8rem;
    align-items:center;
}
.messages-table-header{
    min-height:46px;
    padding:0 .9rem;
    border-bottom:1px solid #ece7ff;
    color:#706a86;
    font-size:.68rem;
    font-weight:900;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.messages-row{
    min-height:66px;
    padding:.72rem .9rem;
    border-bottom:1px solid #f0ecff;
    transition:opacity .18s ease, transform .18s ease, background .18s ease;
}
.messages-row:last-child{
    border-bottom:0;
}
.messages-row:hover{
    background:#fbfaff;
}
.messages-row.is-muted{
    opacity:.74;
}
.message-type-badge{
    display:grid;
    place-items:center;
    width:36px;
    height:36px;
    border-radius:13px;
    background:#f1edff;
    color:#6a4cff;
    font-weight:900;
}
.message-type-badge.rating{background:#fff7e4;color:#b98611;}
.message-type-badge.audio{background:#eeeaff;color:#6a4cff;}
.message-type-badge.mixed{background:#edf3ff;color:#5073e6;}
.message-guest,
.message-date{
    display:grid;
    gap:.18rem;
    min-width:0;
}
.message-guest strong{
    color:#1a1042;
    font-size:.9rem;
    font-weight:900;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.message-guest small,
.message-date span{
    color:#746f89;
    font-size:.78rem;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.message-content-preview{
    min-width:0;
    display:flex;
    align-items:center;
    gap:.7rem;
    flex-wrap:wrap;
}
.message-content-preview p{
    margin:0;
    color:#514a69;
    font-size:.84rem;
    line-height:1.35;
    max-width:480px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.message-content-preview audio{
    width:210px;
    height:32px;
}
.message-rating{
    display:flex;
    align-items:center;
    gap:.5rem;
}
.message-rating span{
    color:#b98611;
    font-size:.98rem;
    letter-spacing:.04em;
}
.message-rating strong{
    color:#6f6988;
    font-size:.8rem;
    font-weight:900;
}
.message-status{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    min-height:28px;
    padding:0 .65rem;
    border-radius:999px;
    font-size:.74rem;
    font-weight:900;
}
.message-status.visible{background:#e9f8ef;color:#12804a;}
.message-status.hidden{background:#eef0f4;color:#5d6475;}
.message-more-menu{
    position:relative;
    justify-self:end;
}
.message-more-menu summary{
    list-style:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:38px;
    height:34px;
    border:1px solid #e6def7;
    border-radius:12px;
    background:#fff;
    cursor:pointer;
}
.message-more-menu summary::-webkit-details-marker{display:none;}
.message-more-menu summary span{
    width:4px;
    height:4px;
    border-radius:50%;
    background:#6a4cff;
}
.message-more-menu[open] summary{
    background:#f8f5ff;
    border-color:#cdbfff;
}
.message-more-dropdown{
    position:absolute;
    top:calc(100% + 10px);
    right:0;
    z-index:50;
    min-width:190px;
    padding:.45rem;
    border:1px solid #ece7ff;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
    box-shadow:0 20px 48px rgba(41,27,93,.14);
    display:grid;
    gap:.18rem;
}
.message-more-dropdown form{margin:0;}
.message-more-dropdown button,
.message-more-dropdown a{
    display:flex;
    align-items:center;
    width:100%;
    min-height:38px;
    padding:0 .75rem;
    border:0;
    border-radius:11px;
    background:transparent;
    color:#2d2452;
    text-decoration:none;
    font:inherit;
    font-size:.84rem;
    font-weight:800;
    cursor:pointer;
    text-align:left;
}
.message-more-dropdown button:hover,
.message-more-dropdown a:hover{
    background:#f6f2ff;
    color:#6a4cff;
}
.message-more-dropdown .danger{color:#c23f53;}
.message-more-dropdown .danger:hover{background:#fff2f5;color:#c23f53;}
@media (max-width:1180px){
    .messages-control-card{grid-template-columns:1fr;}
    .messages-table{overflow-x:auto;}
    .messages-table-header,.messages-row{min-width:900px;}
}
@media (max-width:780px){
    .messages-hero-panel{flex-direction:column;align-items:flex-start;}
    .messages-hero-panel h1{font-size:2rem;}
    .messages-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .messages-table-header,.messages-row{min-width:780px;}
}

/* =========================================================
   Posteálo Admin Refresh 14
   Mensajes: iconos finos, filtros y botón único.
   ========================================================= */
.messages-hero-actions .button.ghost{
    display:none !important;
}
.messages-hero-actions .button.primary{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:.45rem;
    min-height:46px !important;
    padding:0 1.15rem !important;
    border-radius:16px !important;
    background:#6a4cff !important;
    border-color:#6a4cff !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(106,76,255,.18) !important;
}
.messages-control-card{
    grid-template-columns:minmax(460px,1.15fr) minmax(420px,1fr) !important;
    align-items:stretch !important;
}
.messages-filter-form{
    display:grid !important;
    grid-template-columns:minmax(220px,1.4fr) minmax(140px,.75fr) minmax(160px,.85fr) auto;
    gap:.7rem !important;
    align-items:end !important;
}
.messages-filter-form label{
    min-width:0;
}
.messages-filter-form .button.primary{
    min-height:44px !important;
    padding:0 1rem !important;
    border-radius:14px !important;
    background:#6a4cff !important;
    border-color:#6a4cff !important;
    color:#fff !important;
    font-size:.9rem !important;
    font-weight:900 !important;
    box-shadow:0 8px 20px rgba(106,76,255,.16) !important;
}
.messages-stats-grid article{
    grid-template-columns:38px 1fr !important;
    min-height:74px !important;
}
.messages-stats-grid article span.messages-stat-icon{
    width:38px !important;
    height:38px !important;
    border-radius:14px !important;
    background:linear-gradient(135deg,#f1edff,#fbfaff) !important;
    color:#6a4cff !important;
    box-shadow:0 8px 20px rgba(106,76,255,.08);
}
.messages-stats-grid article span.messages-stat-icon svg{
    width:20px;
    height:20px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.messages-stats-grid article:nth-child(2) span.messages-stat-icon svg{
    fill:currentColor;
    stroke:none;
}
.messages-stats-grid strong{
    font-size:1.35rem !important;
}
.messages-stats-grid small{
    font-size:.76rem !important;
}
@media (max-width:1180px){
    .messages-control-card{
        grid-template-columns:1fr !important;
    }
    .messages-filter-form{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}
@media (max-width:780px){
    .messages-filter-form{
        grid-template-columns:1fr !important;
    }
    .messages-filter-form .button.primary{
        width:100%;
    }
}

/* =========================================================
   Posteálo Admin Refresh 15
   Mensajes: métricas sin amontonarse + PDF refresh.
   ========================================================= */
.messages-control-card{
    grid-template-columns:minmax(520px,1.15fr) minmax(560px,1fr) !important;
    gap:1rem !important;
    align-items:center !important;
}
.messages-stats-grid{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(130px,1fr)) !important;
    gap:.8rem !important;
}
.messages-stats-grid article{
    display:grid !important;
    grid-template-columns:34px 1fr !important;
    grid-template-rows:auto auto !important;
    column-gap:.72rem !important;
    row-gap:.15rem !important;
    align-items:center !important;
    min-height:68px !important;
    padding:.75rem .8rem !important;
    border-radius:16px !important;
    overflow:hidden !important;
}
.messages-stats-grid article span.messages-stat-icon{
    grid-row:1 / 3 !important;
    width:34px !important;
    height:34px !important;
    border-radius:12px !important;
    box-shadow:none !important;
}
.messages-stats-grid article span.messages-stat-icon svg{
    width:18px !important;
    height:18px !important;
}
.messages-stats-grid strong{
    display:block !important;
    min-width:0 !important;
    font-size:1.28rem !important;
    line-height:.95 !important;
    letter-spacing:-.035em !important;
}
.messages-stats-grid small{
    display:block !important;
    min-width:0 !important;
    font-size:.72rem !important;
    line-height:1.15 !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
}
@media (max-width:1320px){
    .messages-control-card{
        grid-template-columns:1fr !important;
    }
    .messages-stats-grid{
        grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    }
}
@media (max-width:780px){
    .messages-stats-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}


/* Registros admin refinado */
.registry-admin-page{
    display:grid;
    gap:1rem;
    max-width:1280px;
    margin:0 auto;
}
.registry-hero-panel,
.registry-control-card,
.registry-list-card{
    padding:1.2rem 1.35rem;
    background:rgba(255,255,255,.96);
    border:1px solid var(--line);
    border-radius:26px;
    box-shadow:0 18px 54px rgba(43,29,51,.06);
}
.registry-hero-panel{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.15rem;
    background:
        radial-gradient(circle at 8% 12%, color-mix(in srgb, var(--purple) 10%, transparent), transparent 34%),
        linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.92));
    border:1px solid rgba(236,231,255,.9);
}
.registry-hero-panel h1{
    margin:0 0 .45rem;
    font-size:clamp(2.15rem,3.2vw,3.2rem);
    line-height:.96;
    letter-spacing:-.06em;
    color:var(--purple-dark);
}
.registry-hero-panel p:last-child{
    max-width:660px;
    margin:0;
    color:var(--muted);
    font-size:.98rem;
    line-height:1.45;
}
.registry-hero-actions{
    display:flex;
    gap:.65rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.registry-hero-panel .button.primary,
.registry-filter-form .button.primary{
    min-height:48px;
    padding:0 1.15rem !important;
    border-radius:16px !important;
    background:#6a4cff !important;
    border:1px solid #6a4cff !important;
    color:#fff !important;
    box-shadow:0 10px 24px rgba(106,76,255,.16) !important;
    font-size:.96rem !important;
    font-weight:800 !important;
}
.registry-hero-panel .button.primary:hover,
.registry-filter-form .button.primary:hover{
    background:#5d3ff5 !important;
    border-color:#5d3ff5 !important;
    transform:translateY(-1px);
}
.registry-control-card{
    display:grid;
    gap:1rem;
}
.registry-filter-form{
    display:grid;
    grid-template-columns:minmax(230px,1.2fr) minmax(210px,.92fr) minmax(190px,.9fr) auto;
    gap:.8rem;
    align-items:end;
}
.registry-filter-form label{
    display:grid;
    gap:.35rem;
    font-weight:800;
}
.registry-filter-form label span{
    color:var(--muted);
    font-size:.72rem;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.registry-filter-form select,
.registry-filter-form input{
    width:100%;
    min-height:46px;
    padding:0 .9rem;
    background:#fff;
    border:1px solid var(--line-strong);
    border-radius:14px;
    color:var(--ink);
    font:inherit;
    font-size:.95rem;
    font-weight:800;
    box-shadow:0 8px 24px rgba(43,29,51,.04);
}
.registry-stats-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.8rem;
}
.registry-stats-grid article{
    min-height:92px;
    display:flex;
    align-items:center;
    gap:.9rem;
    padding:1rem;
    background:linear-gradient(145deg,#fff,#fbf8fd);
    border:1px solid #eee7f1;
    border-radius:20px;
}
.registry-stat-icon{
    display:grid;
    width:46px;
    height:46px;
    flex:0 0 46px;
    place-items:center;
    color:var(--purple);
    background:#f3eefb;
    border-radius:14px;
}
.registry-stat-icon svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.registry-stats-grid strong{
    display:block;
    color:var(--purple-dark);
    font-size:1.75rem;
    line-height:1;
    letter-spacing:-.04em;
    font-weight:900;
}
.registry-stats-grid small{
    display:block;
    margin-top:.16rem;
    color:var(--muted);
    font-size:.92rem;
    line-height:1.2;
    font-weight:800;
}
.registry-list-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:.9rem;
    margin-bottom:.9rem;
}
.registry-list-head h2{
    margin:0;
    color:var(--purple-dark);
    font-size:clamp(2rem,3vw,3rem);
    line-height:.98;
    letter-spacing:-.05em;
}
.registry-table{
    display:grid;
    gap:.65rem;
}
.registry-table-header,
.registry-row{
    display:grid;
    grid-template-columns:minmax(175px,1.12fr) minmax(250px,1.45fr) minmax(145px,.82fr) minmax(150px,.82fr) minmax(160px,.9fr);
    gap:.75rem;
    align-items:center;
}
.registry-table-header{
    padding:0 .35rem;
    color:var(--muted);
    font-size:.72rem;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}
.registry-row{
    padding:.92rem 1rem;
    background:#fff;
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:0 10px 30px rgba(43,29,51,.04);
}
.registry-col{min-width:0;}
.registry-col-guest{
    display:flex;
    align-items:center;
    gap:.78rem;
}
.registry-col-guest strong,
.registry-col-meta strong{
    display:block;
    color:var(--ink);
    font-size:.98rem;
    line-height:1.2;
}
.registry-col-guest small,
.registry-col-meta small,
.registry-col-activity small{
    display:block;
    color:var(--muted);
    font-size:.8rem;
    font-weight:700;
    line-height:1.32;
}
.registry-col-data p{
    margin:0;
    color:var(--ink-soft);
    font-size:.9rem;
    font-weight:700;
}
.registry-data-chips{
    display:flex;
    flex-wrap:wrap;
    gap:.42rem;
}
.registry-data-chips span{
    display:inline-flex;
    align-items:center;
    gap:.2rem;
    min-height:30px;
    padding:.35rem .58rem;
    color:var(--ink-soft);
    background:#faf7fb;
    border:1px solid #eee7f1;
    border-radius:999px;
    font-size:.76rem;
    font-weight:800;
    max-width:100%;
}
.registry-data-chips span strong{font-size:.76rem;}
.registry-status{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:.35rem .64rem;
    border-radius:999px;
    font-size:.74rem;
    font-weight:900;
    margin-bottom:.22rem;
}
.registry-status.is-active{color:#126347;background:#e9f7f0;}
.registry-status.is-idle{color:#647084;background:#eef1f5;}
.registry-col-counts{
    display:flex;
    flex-wrap:wrap;
    gap:.38rem;
}
.registry-col-counts span{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    padding:.35rem .58rem;
    color:var(--ink-soft);
    background:#faf7fb;
    border:1px solid #eee7f1;
    border-radius:999px;
    font-size:.76rem;
    font-weight:850;
}
.registry-col-counts strong{color:var(--purple-dark);}
@media (max-width: 1180px){
    .registry-filter-form{grid-template-columns:1fr 1fr;}
}
@media (max-width: 920px){
    .registry-hero-panel{flex-direction:column;align-items:flex-start;}
    .registry-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    .registry-table{overflow-x:auto;}
    .registry-table-header,.registry-row{min-width:980px;}
}
@media (max-width: 640px){
    .registry-hero-panel,
    .registry-control-card,
    .registry-list-card{padding:1rem;}
    .registry-hero-panel h1{font-size:2rem;}
    .registry-filter-form,
    .registry-stats-grid{grid-template-columns:1fr;}
    .registry-hero-actions .button,
    .registry-filter-form .button{width:100%;}
    .registry-list-head h2{font-size:1.8rem;}
}

/* Registros leads: contacto + menú 3 puntos */
.registry-leads-table .registry-table-header,
.registry-leads-table .registry-row{
    grid-template-columns:minmax(170px,1fr) minmax(230px,1.15fr) minmax(250px,1.25fr) minmax(150px,.78fr) 44px;
}
.registry-col-contact{
    display:flex;
    flex-wrap:wrap;
    gap:.42rem;
}
.registry-col-contact span,
.registry-col-contact p{
    display:inline-flex;
    align-items:center;
    min-height:30px;
    margin:0;
    padding:.35rem .58rem;
    color:var(--ink-soft);
    background:#faf7fb;
    border:1px solid #eee7f1;
    border-radius:999px;
    font-size:.78rem;
    font-weight:850;
}
.registry-col-menu{
    display:flex;
    justify-content:flex-end;
    position:relative;
}
.registry-more-menu{
    position:relative;
}
.registry-more-menu summary{
    list-style:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:38px;
    height:34px;
    border:1px solid #e6def7;
    border-radius:12px;
    background:#fff;
    box-shadow:0 8px 20px rgba(41,27,93,.06);
    cursor:pointer;
}
.registry-more-menu summary::-webkit-details-marker{display:none;}
.registry-more-menu summary span{
    width:4px;
    height:4px;
    border-radius:50%;
    background:#6a4cff;
    display:block;
}
.registry-more-menu[open] summary{
    background:#f8f5ff;
    border-color:#cdbfff;
}
.registry-more-dropdown{
    position:absolute;
    right:0;
    top:calc(100% + 10px);
    z-index:50;
    min-width:230px;
    padding:.8rem;
    border:1px solid #ece7ff;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(18px);
    box-shadow:0 20px 48px rgba(41,27,93,.14);
}
.registry-more-dropdown strong{
    display:block;
    margin-bottom:.42rem;
    color:#1a1042;
    font-size:.88rem;
}
.registry-more-dropdown p{
    margin:.28rem 0;
    color:#6f6988;
    font-size:.82rem;
    font-weight:700;
    line-height:1.35;
}
@media (max-width: 920px){
    .registry-leads-table .registry-table-header,
    .registry-leads-table .registry-row{min-width:960px;}
}

/* =========================================================
   Posteálo Admin Refresh 13
   Galerías: master-detail, subida dentro de cada galería.
   ========================================================= */
.gallery-admin-page-v2{
    display:grid;
    gap:1rem;
    max-width:1280px;
    margin:0 auto;
}
.gallery-v2-hero,
.gallery-v2-stats article,
.gallery-v2-list-card,
.gallery-v2-detail-card{
    background:rgba(255,255,255,.96);
    border:1px solid var(--line,#ece7ff);
    box-shadow:0 18px 54px rgba(43,29,51,.06);
}
.gallery-v2-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1.2rem;
    min-height:150px;
    padding:1.35rem 1.5rem;
    border-radius:26px;
    background:
        radial-gradient(circle at 84% 35%, rgba(106,76,255,.10), transparent 28%),
        linear-gradient(135deg,rgba(255,255,255,.98),rgba(255,255,255,.92));
}
.gallery-v2-hero h1{
    margin:0 0 .45rem;
    color:var(--purple-dark,#1a1042);
    font-size:clamp(2rem,3vw,2.7rem);
    line-height:1;
    letter-spacing:-.055em;
}
.gallery-v2-hero p:last-child{
    max-width:680px;
    margin:0;
    color:var(--muted,#736d8a);
    font-size:.96rem;
    line-height:1.45;
}
.gallery-hero-art{
    display:grid;
    place-items:center;
    width:140px;
    height:110px;
    color:#6a4cff;
    opacity:.34;
}
.gallery-hero-art svg{
    width:120px;
    height:90px;
    stroke:currentColor;
    fill:none;
    stroke-width:2;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.gallery-v2-stats{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:.85rem;
}
.gallery-v2-stats article{
    display:flex;
    align-items:center;
    gap:.9rem;
    min-height:92px;
    padding:1rem;
    border-radius:20px;
}
.gallery-stat-icon{
    display:grid;
    place-items:center;
    width:46px;
    height:46px;
    flex:0 0 46px;
    color:#6a4cff;
    background:#f3eefb;
    border-radius:14px;
}
.gallery-stat-icon svg{
    width:20px;
    height:20px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.gallery-v2-stats strong{
    display:block;
    color:var(--purple-dark,#1a1042);
    font-size:1.75rem;
    line-height:1;
    font-weight:900;
    letter-spacing:-.04em;
}
.gallery-v2-stats small{
    display:block;
    margin-top:.16rem;
    color:var(--muted,#736d8a);
    font-size:.9rem;
    font-weight:800;
}
.gallery-v2-workspace{
    display:grid;
    grid-template-columns:minmax(310px,.86fr) minmax(0,1.55fr);
    gap:1rem;
    align-items:start;
}
.gallery-v2-list-card,
.gallery-v2-detail-card{
    border-radius:24px;
    padding:1rem;
}
.gallery-v2-list-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.8rem;
    margin-bottom:.75rem;
}
.gallery-v2-list-head h2{
    margin:0;
    color:var(--purple-dark,#1a1042);
    font-size:1.05rem;
    letter-spacing:-.02em;
}
.gallery-v2-list-head p{
    margin:.15rem 0 0;
    color:#736d8a;
    font-size:.82rem;
    font-weight:700;
}
.gallery-v2-list-head .button.primary,
.gallery-v2-detail-actions .button.primary,
.gallery-v2-upload-settings .button.primary{
    background:#6a4cff !important;
    background-image:none !important;
    border:1px solid #6a4cff !important;
    color:#fff !important;
    box-shadow:0 9px 22px rgba(106,76,255,.16) !important;
}
.gallery-v2-list-head .button.primary:hover,
.gallery-v2-detail-actions .button.primary:hover,
.gallery-v2-upload-settings .button.primary:hover{
    background:#5d3ff5 !important;
    border-color:#5d3ff5 !important;
}
.gallery-v2-list-head .button.small{
    min-height:36px;
    padding:0 .8rem;
    border-radius:12px;
    font-size:.82rem;
}
.gallery-v2-search{
    position:relative;
    margin-bottom:.8rem;
}
.gallery-v2-search input{
    width:100%;
    min-height:42px;
    padding:0 2.2rem 0 .85rem;
    border:1px solid #e6def7;
    border-radius:14px;
    color:#1a1042;
    font:inherit;
    font-size:.88rem;
    font-weight:750;
    background:#fff;
}
.gallery-v2-search span{
    position:absolute;
    right:.85rem;
    top:50%;
    transform:translateY(-50%);
    color:#6a4cff;
    font-weight:900;
}
.gallery-v2-list{
    display:grid;
    gap:.58rem;
}
.gallery-v2-list-item{
    display:grid;
    grid-template-columns:1fr auto;
    gap:.6rem;
    align-items:center;
    padding:.55rem;
    border:1px solid #eee7f1;
    border-radius:17px;
    background:#fff;
    transition:border-color .2s, box-shadow .2s, transform .2s;
}
.gallery-v2-list-item.active{
    border-color:#cdbfff;
    box-shadow:0 12px 30px rgba(106,76,255,.10);
}
.gallery-v2-list-item:hover{
    transform:translateY(-1px);
    border-color:#d8ceff;
}
.gallery-v2-list-link{
    display:grid;
    grid-template-columns:58px minmax(0,1fr);
    gap:.7rem;
    align-items:center;
    min-width:0;
    color:inherit;
    text-decoration:none;
}
.gallery-v2-thumb,
.gallery-v2-detail-cover{
    display:grid;
    place-items:center;
    overflow:hidden;
    background:linear-gradient(135deg,#f1edff,#fff);
    color:#6a4cff;
    font-weight:900;
}
.gallery-v2-thumb{
    width:58px;
    height:46px;
    border-radius:12px;
}
.gallery-v2-thumb img,
.gallery-v2-detail-cover img,
.gallery-v2-recent-strip img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.gallery-v2-item-copy{
    display:grid;
    min-width:0;
}
.gallery-v2-item-copy strong{
    color:#1a1042;
    font-size:.9rem;
    line-height:1.18;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.gallery-v2-item-copy small{
    margin-top:.12rem;
    color:#736d8a;
    font-size:.76rem;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.gallery-v2-item-copy em{
    width:max-content;
    margin-top:.24rem;
    padding:.18rem .5rem;
    border-radius:999px;
    background:#e9f8ef;
    color:#12804a;
    font-size:.68rem;
    font-style:normal;
    font-weight:900;
}
.gallery-v2-item-actions{
    display:flex;
    align-items:center;
    gap:.34rem;
}
.gallery-v2-item-actions .button.tiny{
    min-height:30px;
    padding:0 .55rem;
    border-radius:10px;
    font-size:.74rem;
}
.gallery-v2-menu{position:relative;}
.gallery-v2-menu summary{
    list-style:none;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:3px;
    width:32px;
    height:30px;
    border:1px solid #e6def7;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}
.gallery-v2-menu summary::-webkit-details-marker{display:none;}
.gallery-v2-menu summary span{
    display:block;
    width:3.5px;
    height:3.5px;
    border-radius:50%;
    background:#6a4cff;
}
.gallery-v2-menu div{
    position:absolute;
    right:0;
    top:calc(100% + 8px);
    z-index:50;
    min-width:170px;
    display:grid;
    gap:.15rem;
    padding:.42rem;
    border:1px solid #ece7ff;
    border-radius:14px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 42px rgba(41,27,93,.14);
}
.gallery-v2-menu div a{
    min-height:36px;
    padding:0 .7rem;
    display:flex;
    align-items:center;
    border-radius:10px;
    color:#2d2452;
    font-size:.8rem;
    font-weight:850;
    text-decoration:none;
}
.gallery-v2-menu div a:hover{background:#f6f2ff;color:#6a4cff;}
.gallery-v2-detail-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    padding-bottom:.85rem;
    border-bottom:1px solid #eee7f1;
}
.gallery-v2-detail-main{
    display:flex;
    align-items:center;
    gap:.9rem;
    min-width:0;
}
.gallery-v2-detail-cover{
    width:72px;
    height:54px;
    flex:0 0 72px;
    border-radius:14px;
}
.gallery-v2-detail-main h2{
    margin:0 0 .32rem;
    color:#1a1042;
    font-size:1.25rem;
    line-height:1.1;
}
.gallery-v2-detail-main p{
    display:flex;
    flex-wrap:wrap;
    gap:.45rem .85rem;
    margin:0;
    color:#736d8a;
    font-size:.8rem;
    font-weight:750;
}
.gallery-v2-detail-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:.45rem;
}
.gallery-v2-detail-actions .button.small{
    min-height:38px;
    padding:0 .78rem;
    border-radius:12px;
    font-size:.82rem;
}
.gallery-v2-tabs{
    display:flex;
    gap:.7rem;
    padding:.75rem 0 0;
    border-bottom:1px solid #eee7f1;
}
.gallery-v2-tabs a,
.gallery-v2-tabs strong{
    display:inline-flex;
    align-items:center;
    min-height:38px;
    color:#5f5875;
    text-decoration:none;
    font-size:.86rem;
    font-weight:900;
}
.gallery-v2-tabs strong{
    color:#6a4cff;
    border-bottom:3px solid #6a4cff;
}
.gallery-v2-upload-form{
    padding:1rem 0;
}
.gallery-v2-upload-copy h3,
.gallery-v2-recents h3{
    margin:0 0 .18rem;
    color:#1a1042;
    font-size:1rem;
    letter-spacing:-.015em;
}
.gallery-v2-upload-copy p{
    margin:0 0 .85rem;
    color:#736d8a;
    font-size:.86rem;
    font-weight:700;
}
.gallery-v2-upload-grid{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(235px,.48fr);
    gap:1rem;
    align-items:stretch;
}
.gallery-v2-dropzone{
    position:relative;
    display:grid;
    place-items:center;
    align-content:center;
    gap:.5rem;
    min-height:220px;
    padding:1.2rem;
    border:1.6px dashed #b8a7ff;
    border-radius:18px;
    background:linear-gradient(135deg,#fff,#fbfaff);
    text-align:center;
    cursor:pointer;
}
.gallery-v2-dropzone input{
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer;
}
.gallery-v2-dropzone span{
    display:grid;
    place-items:center;
    width:54px;
    height:54px;
    border-radius:18px;
    background:#f1edff;
    color:#6a4cff;
}
.gallery-v2-dropzone span svg{
    width:26px;
    height:26px;
    stroke:currentColor;
    fill:none;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
}
.gallery-v2-dropzone strong{
    color:#1a1042;
    font-size:.96rem;
}
.gallery-v2-dropzone small{
    color:#736d8a;
    font-size:.78rem;
    font-weight:700;
}
.gallery-v2-upload-settings{
    display:grid;
    gap:.75rem;
    align-content:start;
}
.gallery-v2-upload-settings label:not(.toggle-row){
    display:grid;
    gap:.35rem;
    color:#5f5875;
    font-size:.78rem;
    font-weight:900;
}
.gallery-v2-upload-settings input[type="text"]{
    min-height:42px;
    border:1px solid #e6def7;
    border-radius:12px;
    padding:0 .8rem;
    color:#1a1042;
    font:inherit;
    font-size:.86rem;
    font-weight:750;
}
.gallery-v2-upload-settings .toggle-row{
    padding:.75rem;
    border:1px solid #eee7f1;
    border-radius:15px;
    background:#fbfaff;
}
.gallery-v2-upload-settings .button.primary{
    min-height:44px;
    border-radius:14px;
    font-size:.9rem;
}
.gallery-v2-recents{
    padding-top:.9rem;
    border-top:1px solid #eee7f1;
}
.gallery-v2-recents > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.75rem;
}
.gallery-v2-recents a{
    color:#6a4cff;
    font-weight:900;
    font-size:.82rem;
    text-decoration:none;
}
.gallery-v2-recent-strip{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:.65rem;
}
.gallery-v2-recent-strip article{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    border-radius:13px;
    background:#f1edff;
}
.gallery-v2-recent-strip small{
    position:absolute;
    left:.35rem;
    bottom:.35rem;
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#1d9c61;
    color:#fff;
    font-size:.62rem;
    font-weight:900;
}
.gallery-v2-video{
    display:grid;
    place-items:center;
    width:100%;
    height:100%;
    background:linear-gradient(135deg,#22184b,#6a4cff);
    color:#fff;
    font-size:1.25rem;
}
.gallery-v2-empty{
    margin:0;
    padding:.9rem;
    border:1px solid #eee7f1;
    border-radius:14px;
    background:#fbfaff;
    color:#736d8a;
    font-size:.86rem;
    font-weight:750;
}
@media (max-width:1180px){
    .gallery-v2-workspace{grid-template-columns:1fr;}
    .gallery-v2-detail-head{align-items:flex-start;flex-direction:column;}
    .gallery-v2-detail-actions{justify-content:flex-start;}
}
@media (max-width:820px){
    .gallery-v2-hero{align-items:flex-start;flex-direction:column;}
    .gallery-hero-art{display:none;}
    .gallery-v2-stats{grid-template-columns:repeat(2,minmax(0,1fr));}
    .gallery-v2-upload-grid{grid-template-columns:1fr;}
    .gallery-v2-recent-strip{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:560px){
    .gallery-v2-stats{grid-template-columns:1fr;}
    .gallery-v2-list-item{grid-template-columns:1fr;}
    .gallery-v2-item-actions{justify-content:flex-start;}
    .gallery-v2-detail-actions .button{width:100%;}
}

/* Editar evento v2: compacto, por paneles y con branding limpio */
.button.danger.soft {
    color: #b44949;
    background: #fff4f4;
    border-color: #f1d7d7;
}

.event-dashboard-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
    padding: clamp(1.3rem, 3vw, 1.8rem);
    margin-bottom: 1rem;
    background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92));
    border: 1px solid var(--line);
    border-radius: 28px;
    box-shadow: 0 18px 48px rgba(43,29,51,.06);
}
.event-dashboard-hero h1 {
    margin-bottom: .45rem;
    font-size: clamp(2.3rem, 4.5vw, 3.5rem);
    line-height: 1;
    letter-spacing: -0.04em;
}
.event-dashboard-hero-copy p:last-child {
    max-width: 760px;
    margin-bottom: 0;
    color: var(--muted);
}
.event-dashboard-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .75rem;
}
.event-dashboard-actions form {
    margin: 0;
}

.event-overview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.2rem;
}
.event-overview-card {
    min-width: 0;
}
.event-link-card.share-bar {
    height: 100%;
    margin-bottom: 0;
    padding: 1rem 1.1rem;
}
.event-qr-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    height: 100%;
    margin-bottom: 0;
    padding: 1rem 1.1rem;
}
.event-qr-card-copy p:last-of-type {
    margin-bottom: 0;
    color: var(--muted);
}
.event-qr-status-row {
    display: flex;
    align-items: center;
    gap: .65rem;
    flex-wrap: wrap;
    margin-bottom: .4rem;
}
.event-qr-status-row h2 {
    margin: 0;
    font-size: 1.15rem;
}
.event-status-pill {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: .2rem .65rem;
    font-size: .78rem;
    font-weight: 800;
    border-radius: 999px;
    background: #efedf8;
    color: var(--ink-soft);
}
.event-status-pill.is-active {
    background: #e7f7ea;
    color: #1e7b42;
}
.event-status-pill.is-neutral {
    background: #f4f1fb;
    color: var(--purple-dark);
}
.qr-frame.compact {
    min-width: 130px;
    padding: .85rem;
    border-radius: 18px;
}
.qr-frame.compact img {
    width: 92px;
    height: 92px;
}
.qr-frame.compact .qr-frame-caption {
    text-align: center;
    font-size: .77rem;
}

.event-form-v2 {
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.event-form-v2 > .event-form-jump {
    display: none !important;
}
.event-editor-v2 {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.event-editor-sidebar {
    position: sticky;
    top: 88px;
    display: grid;
    gap: .7rem;
    padding: .9rem;
    background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(251,248,253,.92));
}
.event-editor-sidebar-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .9rem;
    width: 100%;
    padding: .9rem 1rem;
    text-align: left;
    border: 1px solid var(--line);
    border-radius: 20px;
    background: #fff;
    color: var(--ink);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease;
}
.event-editor-sidebar-item:hover {
    border-color: color-mix(in srgb, var(--purple) 26%, var(--line));
    box-shadow: 0 12px 32px rgba(43,29,51,.08);
    transform: translateY(-1px);
}
.event-editor-sidebar-item.is-active {
    background: linear-gradient(135deg, rgba(95,59,245,.09), rgba(203,196,246,.18));
    border-color: color-mix(in srgb, var(--purple) 35%, var(--line));
}
.event-editor-sidebar-copy {
    display: grid;
    gap: .18rem;
    min-width: 0;
}
.event-editor-sidebar-copy strong {
    font-size: .95rem;
    color: var(--ink);
}
.event-editor-sidebar-copy small {
    color: var(--muted);
    font-size: .78rem;
    line-height: 1.35;
}
.event-editor-sidebar-status {
    flex: 0 0 auto;
    padding: .2rem .55rem;
    border-radius: 999px;
    background: #f4f1fb;
    color: var(--purple-dark);
    font-size: .72rem;
    font-weight: 800;
}

.event-editor-main {
    display: grid;
    gap: 1rem;
    min-width: 0;
}
.event-editor-card.form-section,
.event-editor-main .form-section {
    display: block !important;
    padding: 0 !important;
    border-bottom: 0 !important;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 26px;
    overflow: hidden;
    box-shadow: 0 18px 48px rgba(43,29,51,.06);
}
.event-editor-card-toggle {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    padding: 1.05rem 1.25rem;
    text-align: left;
    background: transparent;
    border: 0;
    cursor: pointer;
}
.event-editor-card-toggle-copy {
    display: grid;
    gap: .14rem;
    min-width: 0;
}
.event-editor-card-kicker {
    color: var(--purple);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.event-editor-card-toggle strong {
    color: var(--ink);
    font-size: 1.07rem;
    line-height: 1.15;
}
.event-editor-card-toggle small {
    max-width: 720px;
    color: var(--muted);
    font-size: .85rem;
    line-height: 1.45;
}
.event-editor-card-toggle-meta {
    display: inline-flex;
    align-items: center;
    gap: .7rem;
    flex: 0 0 auto;
}
.event-editor-card-status {
    padding: .22rem .6rem;
    border-radius: 999px;
    background: #f4f1fb;
    color: var(--purple-dark);
    font-size: .73rem;
    font-weight: 800;
}
.event-editor-card-chevron {
    color: var(--muted);
    font-size: 1.15rem;
    line-height: 1;
    transform: rotate(0deg);
    transition: transform .18s ease;
}
.event-editor-card.is-open .event-editor-card-chevron {
    transform: rotate(180deg);
}
.event-editor-card-body {
    display: grid;
    gap: 1rem;
    padding: 0 1.25rem 1.25rem;
    border-top: 1px solid var(--line);
}
.event-editor-card-body-copy {
    margin: 0;
    color: var(--muted);
    font-size: .9rem;
    line-height: 1.5;
}
.event-editor-card .form-grid.two {
    gap: 1rem 1.2rem !important;
}
.event-editor-card .toggle-list,
.event-editor-card .interaction-settings-card,
.event-editor-card .gallery-editor-entry,
.event-editor-card .watermark-fields,
.event-editor-card .interaction-copy-grid {
    margin-top: 0;
}
.event-editor-card .gallery-editor-entry,
.event-editor-card .admin-file-picker,
.event-editor-card .toggle-row,
.event-editor-card .interaction-settings-card {
    box-shadow: none;
}
.event-editor-card .form-note,
.event-editor-card .form-section-copy {
    margin: 0;
}
.event-editor-footer {
    position: sticky;
    bottom: 14px;
    z-index: 18;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: .75rem;
    margin-top: 1rem;
    padding: .95rem 1.1rem;
    background: rgba(255,255,255,.96);
    border: 1px solid var(--line);
    border-radius: 24px;
    box-shadow: 0 18px 48px rgba(43,29,51,.12);
}
.event-editor-footer .button {
    min-width: 150px;
}

@media (max-width: 1200px) {
    .event-overview-grid {
        grid-template-columns: 1fr;
    }
    .event-editor-v2 {
        grid-template-columns: 1fr;
    }
    .event-editor-sidebar {
        position: relative;
        top: auto;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
}

@media (max-width: 860px) {
    .event-dashboard-hero {
        flex-direction: column;
    }
    .event-dashboard-actions {
        width: 100%;
        justify-content: stretch;
    }
    .event-dashboard-actions .button,
    .event-dashboard-actions form {
        width: 100%;
    }
    .event-dashboard-actions form .button {
        width: 100%;
    }
    .event-qr-card {
        grid-template-columns: 1fr;
    }
    .event-editor-sidebar {
        grid-template-columns: 1fr;
    }
    .event-editor-sidebar-item {
        padding: .85rem .95rem;
    }
    .event-editor-card-toggle {
        padding: 1rem;
    }
    .event-editor-card-body {
        padding: 0 1rem 1rem;
    }
    .event-editor-footer {
        align-items: stretch;
        flex-direction: column;
    }
    .event-editor-footer .button {
        width: 100%;
    }
}


/* =========================================================
   Editar evento v4 - refinado minimalista sin empalmes
   ========================================================= */
.event-dashboard-hero {
    max-width: 1320px;
    margin: 0 auto 1rem;
    padding: 1rem 1.15rem;
    border-radius: 24px;
    gap: 1rem;
}
.event-dashboard-hero h1 {
    font-size: clamp(1.9rem, 2.8vw, 2.65rem) !important;
    line-height: 1.04;
    letter-spacing: -0.045em;
}
.event-dashboard-hero-copy p:last-child {
    max-width: 650px;
    font-size: .95rem;
    line-height: 1.4;
}
.event-dashboard-actions .button,
.event-editor-footer .button,
.qr-panel-actions .button,
.event-link-card .button {
    min-height: 42px;
    border-radius: 14px;
    font-size: .85rem;
    font-weight: 700;
}
.event-dashboard-actions .button.primary,
.event-editor-footer .button.primary,
.qr-panel-actions .button.primary,
.button.primary.small {
    color: #fff;
    background: linear-gradient(135deg, #5f3bf5, #6d55ff);
    border-color: transparent;
    box-shadow: 0 12px 26px rgba(95,59,245,.22);
}
.event-link-card .button.secondary,
.button.secondary.small {
    color: var(--purple-dark);
    background: #f4f1ff;
    border-color: #dfd7fb;
}
.event-overview-grid {
    max-width: 1320px;
    margin: 0 auto 1rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(290px, .8fr);
    gap: .9rem;
}
.event-link-card.share-bar,
.event-qr-card {
    min-height: 128px;
    padding: .95rem 1rem;
    border-radius: 22px;
}
.event-link-card.share-bar strong {
    display: block;
    font-size: .9rem;
    line-height: 1.28;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.event-qr-card .eyebrow {
    margin-bottom: .35rem;
    font-size: .7rem;
    letter-spacing: .16em;
}
.event-qr-status-row h2 {
    font-size: 1rem;
}
.qr-frame.compact {
    min-width: 112px;
    padding: .75rem;
    border-radius: 18px;
}
.qr-frame.compact img {
    width: 76px;
    height: 76px;
}
.event-form-v2 {
    max-width: 1320px;
    margin: 0 auto;
}
.event-editor-v2 {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 1rem;
}
.event-editor-sidebar {
    position: sticky;
    top: 92px;
    gap: .55rem;
    padding: .7rem;
    border-radius: 24px;
}
.event-editor-sidebar-item {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: .7rem;
    min-height: 66px;
    padding: .75rem .8rem;
    border-radius: 16px;
}
.event-editor-sidebar-icon,
.event-editor-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 10px;
    background: #f4f0ff;
    border: 1px solid #e0d7fb;
    color: var(--purple);
    font-size: .95rem;
    font-weight: 800;
    line-height: 1;
}
.event-editor-sidebar-copy {
    gap: .14rem;
}
.event-editor-sidebar-copy strong {
    font-size: .84rem;
    line-height: 1.16;
}
.event-editor-sidebar-copy small {
    font-size: .69rem;
    line-height: 1.25;
}
.event-editor-sidebar-status {
    padding: .18rem .48rem;
    font-size: .64rem;
    font-weight: 800;
}
.event-editor-main {
    min-width: 0;
}
.event-editor-main > .form-section:not(.is-open) {
    display: none !important;
}
.event-editor-main > .form-section.is-open {
    display: block !important;
}
.event-editor-card.form-section,
.event-editor-main .form-section {
    border-radius: 24px;
}
.event-editor-card-toggle {
    padding: .9rem 1rem;
    min-height: 76px;
    align-items: center;
}
.event-editor-card-title-row {
    display: flex;
    align-items: flex-start;
    gap: .75rem;
    min-width: 0;
}
.event-editor-card-toggle-copy {
    gap: .16rem;
}
.event-editor-card-kicker {
    font-size: .66rem;
    letter-spacing: .16em;
}
.event-editor-card-toggle strong {
    font-size: 1rem;
}
.event-editor-card-toggle small {
    font-size: .76rem;
    line-height: 1.35;
    max-width: 680px;
}
.event-editor-card-status {
    font-size: .68rem;
    padding: .18rem .55rem;
}
.event-editor-card-body {
    padding: 1rem;
    gap: .9rem;
}
.event-editor-card-body-copy {
    display: none;
}
.event-editor-card label,
.event-editor-card .toggle-row,
.event-editor-card .interaction-settings-card,
.event-editor-card .gallery-editor-entry,
.event-editor-card .watermark-logo-preview,
.event-editor-card .watermark-fields > .span-two,
.event-editor-card .toggle-list > label,
.event-editor-card .interaction-copy-grid > .span-two,
.event-editor-card .form-note {
    min-width: 0;
}
.event-editor-card .form-grid.two,
.event-editor-card .form-grid {
    gap: .85rem .95rem !important;
}
.event-editor-card label > span:first-child,
.event-editor-card .field-label,
.event-editor-card small,
.event-editor-card .form-note {
    line-height: 1.32;
}
.event-editor-card input[type="text"],
.event-editor-card input[type="tel"],
.event-editor-card input[type="date"],
.event-editor-card input[type="email"],
.event-editor-card input[type="url"],
.event-editor-card input[type="number"],
.event-editor-card select,
.event-editor-card textarea {
    min-height: 42px;
    padding: .68rem .8rem;
    font-size: .86rem;
    border-radius: 14px;
}
.event-editor-card textarea {
    min-height: 84px;
}
.event-editor-card .slug-field input {
    min-width: 0;
}
.event-editor-card .toggle-row {
    padding: .78rem .85rem;
    border-radius: 16px;
}
.event-editor-card .toggle-row strong {
    font-size: .84rem;
}
.event-editor-card .toggle-row small,
.event-editor-card .form-note,
.event-editor-card .watermark-fields small,
.event-editor-card .interaction-settings-card small {
    font-size: .71rem;
}
.event-editor-card .interaction-settings-card {
    padding: .85rem;
    border-radius: 18px;
}
.event-editor-card .interaction-mode-row strong,
.event-editor-card .interaction-settings-card strong {
    font-size: .9rem;
}
.event-editor-card .admin-file-picker {
    min-height: 124px;
    padding: .95rem;
    border-radius: 18px;
}
.event-editor-card .admin-file-picker strong {
    font-size: .86rem;
}
.event-editor-card .admin-file-picker small {
    font-size: .7rem;
}
.event-editor-card .watermark-logo-preview,
.event-editor-card .profile-photo-preview,
.event-editor-card .floating-link-logo-preview {
    padding: .75rem;
    border-radius: 16px;
}
.event-editor-card .range-field {
    gap: .6rem;
}
.event-editor-card .range-field output {
    min-width: 44px;
    font-size: .76rem;
}
.event-editor-footer {
    position: static;
    max-width: 1320px;
    margin: 1rem auto 0;
    padding: .85rem 1rem;
    border-radius: 20px;
    box-shadow: 0 14px 34px rgba(43,29,51,.08);
}
@media (max-width: 1180px) {
    .event-overview-grid { grid-template-columns: 1fr; }
    .event-editor-v2 { grid-template-columns: 1fr; }
    .event-editor-sidebar {
        position: relative;
        top: auto;
        grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    }
}
@media (max-width: 760px) {
    .event-dashboard-hero { padding: .95rem; }
    .event-dashboard-actions { width: 100%; }
    .event-dashboard-actions .button,
    .event-dashboard-actions form { width: 100%; }
    .event-editor-sidebar { grid-template-columns: 1fr; }
    .event-editor-sidebar-item { grid-template-columns: 32px minmax(0,1fr) auto; }
    .event-editor-card-toggle { align-items: flex-start; }
    .event-editor-card-toggle-meta { gap: .45rem; }
    .event-editor-card-body { padding: .95rem; }
    .event-editor-card .form-grid.two,
    .event-editor-card .interaction-copy-grid { grid-template-columns: 1fr !important; }
    .event-editor-footer { flex-direction: column; align-items: stretch; }
    .event-editor-footer .button { width: 100%; }
}


/* Editar evento - menú lateral refinado */
.event-editor-v2 {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1.1rem;
}
.event-editor-sidebar {
    padding: .85rem;
    gap: .7rem;
    border-radius: 28px;
    background: rgba(255,255,255,.92);
}
.event-editor-sidebar-item {
    position: relative;
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr) auto;
    align-items: center;
    gap: .8rem;
    min-height: 74px;
    padding: .8rem .9rem;
    border-radius: 18px;
    border: 1px solid var(--border-soft);
    background: #fff;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.event-editor-sidebar-item:hover {
    transform: translateY(-1px);
    border-color: rgba(103,75,255,.26);
    box-shadow: 0 12px 26px rgba(41,29,82,.08);
}
.event-editor-sidebar-item.is-active {
    border-color: rgba(103,75,255,.36);
    background: linear-gradient(180deg, rgba(246,243,255,.98), rgba(255,255,255,.98));
    box-shadow: 0 14px 32px rgba(77,55,168,.08);
}
.event-editor-sidebar-icon,
.event-editor-card-icon {
    width: 40px;
    height: 40px;
    border-radius: 14px;
    background: linear-gradient(180deg, #f8f5ff, #f1ebff);
    border: 1px solid #e6ddff;
    color: #6b4eff;
    font-size: 0;
    flex: 0 0 auto;
}
.event-editor-sidebar-icon svg,
.event-editor-card-icon svg {
    width: 18px;
    height: 18px;
    display: block;
}
.event-editor-sidebar-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: .18rem;
}
.event-editor-sidebar-copy strong {
    margin: 0;
    font-size: .96rem;
    line-height: 1.15;
    font-weight: 800;
    color: var(--ink-900);
}
.event-editor-sidebar-copy small {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    margin: 0;
    font-size: .76rem;
    line-height: 1.3;
    color: var(--muted-700);
}
.event-editor-sidebar-status {
    align-self: start;
    white-space: nowrap;
    padding: .28rem .58rem;
    border-radius: 999px;
    border: 1px solid #ece5ff;
    background: #f6f2ff;
    color: #4b3794;
    font-size: .66rem;
    font-weight: 800;
    line-height: 1;
}
.event-editor-sidebar-item.is-active .event-editor-sidebar-status {
    background: rgba(103,75,255,.1);
    border-color: rgba(103,75,255,.14);
    color: #5c42d8;
}
@media (max-width: 1180px) {
    .event-editor-v2 {
        grid-template-columns: 1fr;
    }
    .event-editor-sidebar {
        position: relative;
        top: auto;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }
}
@media (max-width: 760px) {
    .event-editor-sidebar {
        grid-template-columns: 1fr;
        padding: .75rem;
    }
    .event-editor-sidebar-item {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        padding: .78rem .82rem;
        min-height: 70px;
    }
    .event-editor-sidebar-copy strong {
        font-size: .9rem;
    }
    .event-editor-sidebar-copy small {
        font-size: .74rem;
    }
}

/* =========================================================
   Editar evento · relayout funcional v5
   Menú horizontal + enlaces compactos + cero cortes visuales
   ========================================================= */

/* Base de pantalla: más aire útil y menos columnas apretadas */
.admin-main:has(.event-dashboard-hero) {
    padding-inline: clamp(1rem, 3vw, 2.2rem) !important;
}

.event-dashboard-hero,
.event-overview-grid,
.event-form-v2,
.event-editor-footer {
    max-width: 1240px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Hero compacto, acciones claras y sin torre rara */
.event-dashboard-hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 1rem !important;
    margin-bottom: .9rem !important;
    padding: 1rem 1.15rem !important;
    border-radius: 24px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid #e7e0f7 !important;
    box-shadow: 0 18px 44px rgba(40, 28, 72, .055) !important;
}

.event-dashboard-hero .eyebrow {
    margin-bottom: .35rem !important;
    font-size: .72rem !important;
    letter-spacing: .18em !important;
}

.event-dashboard-hero h1 {
    margin: 0 0 .35rem !important;
    font-size: clamp(1.9rem, 3.1vw, 2.75rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
}

.event-dashboard-hero-copy p:last-child {
    max-width: 620px !important;
    margin: 0 !important;
    color: #756d86 !important;
    font-size: .92rem !important;
    line-height: 1.42 !important;
}

.event-dashboard-actions {
    display: grid !important;
    grid-template-columns: repeat(3, auto) !important;
    align-items: center !important;
    justify-content: end !important;
    gap: .55rem !important;
    min-width: 0 !important;
}

.event-action-group,
.event-action-group--secondary,
.event-action-group--primary {
    display: contents !important;
}

.event-dashboard-actions form {
    margin: 0 !important;
}

.event-dashboard-actions .button,
.event-dashboard-actions form .button {
    min-height: 38px !important;
    padding: .62rem .84rem !important;
    border-radius: 13px !important;
    font-size: .78rem !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}

.event-dashboard-actions .button.primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4f2bdb 0%, #6d55ff 100%) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 24px rgba(95,59,245,.2) !important;
}

.event-dashboard-actions .button.ghost {
    color: #1b143f !important;
    background: #fff !important;
    border-color: #e2daf5 !important;
}

.event-dashboard-actions .button.danger,
.event-dashboard-actions .button.danger.soft {
    color: #a94943 !important;
    background: #fff7f5 !important;
    border-color: #efd8d4 !important;
}

/* Enlaces y QR: tarjetas compactas, no bloques vacíos */
.event-overview-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr) minmax(280px, .72fr) !important;
    gap: .85rem !important;
    align-items: stretch !important;
    margin-bottom: .95rem !important;
}

.event-overview-card,
.event-link-card.share-bar,
.event-qr-card {
    min-height: 0 !important;
    height: auto !important;
    border-radius: 22px !important;
}

.event-link-card.share-bar {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) auto !important;
    gap: .72rem !important;
    align-items: center !important;
    padding: .92rem 1rem !important;
    background: linear-gradient(180deg, rgba(250,248,255,.98), rgba(255,255,255,.96)) !important;
    border: 1px solid #e6def8 !important;
    box-shadow: 0 14px 34px rgba(42,30,73,.045) !important;
}

.event-link-card-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
    background: #f4f0ff !important;
    color: #5f3bf5 !important;
    font-size: .88rem !important;
    font-weight: 900 !important;
}

.event-link-card-copy,
.event-link-card.share-bar > div {
    min-width: 0 !important;
}

.event-link-card.share-bar small {
    display: block !important;
    margin: 0 0 .22rem !important;
    color: #7e749a !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

.event-link-card.share-bar strong {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #16103a !important;
    font-size: .82rem !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.event-link-card .button.secondary.small,
.event-link-card .button.small {
    min-height: 34px !important;
    padding: .5rem .66rem !important;
    border-radius: 11px !important;
    color: #4f2bdb !important;
    background: #f3efff !important;
    border-color: #dfd5fb !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
    box-shadow: none !important;
}

.event-qr-card {
    padding: .9rem 1rem !important;
    background: #fff !important;
    border: 1px solid #e6def8 !important;
    box-shadow: 0 14px 34px rgba(42,30,73,.045) !important;
}

.event-qr-card-copy {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    column-gap: .85rem !important;
    row-gap: .45rem !important;
    align-items: start !important;
}

.event-qr-card .eyebrow {
    grid-column: 1 / -1 !important;
    margin: 0 !important;
    font-size: .68rem !important;
    letter-spacing: .16em !important;
}

.event-qr-status-row {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: .45rem !important;
    margin: 0 !important;
}

.event-qr-status-row h2 {
    margin: 0 !important;
    color: #1a1042 !important;
    font-size: .96rem !important;
    line-height: 1.12 !important;
}

.event-status-pill {
    padding: .18rem .52rem !important;
    border-radius: 999px !important;
    font-size: .66rem !important;
}

.event-qr-card-copy > p {
    grid-column: 1 / 2 !important;
    margin: 0 !important;
    color: #756d86 !important;
    font-size: .76rem !important;
    line-height: 1.35 !important;
}

.qr-panel-layout {
    grid-column: 2 / 3 !important;
    grid-row: 2 / 5 !important;
    display: grid !important;
    grid-template-columns: auto !important;
    gap: .6rem !important;
    justify-items: center !important;
}

.qr-frame.compact {
    min-width: 102px !important;
    width: 102px !important;
    padding: .58rem !important;
    border-radius: 15px !important;
    border: 1px solid #e7e0f5 !important;
    box-shadow: none !important;
}

.qr-frame.compact img {
    width: 64px !important;
    height: 64px !important;
}

.qr-frame-caption {
    margin-top: .36rem !important;
    font-size: .62rem !important;
    line-height: 1.15 !important;
}

.qr-panel-actions {
    display: flex !important;
    gap: .45rem !important;
    justify-content: center !important;
    width: 100% !important;
}

.qr-panel-actions .button {
    min-height: 32px !important;
    padding: .46rem .58rem !important;
    border-radius: 10px !important;
    font-size: .68rem !important;
    white-space: nowrap !important;
}

.qr-panel-actions .button.primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4f2bdb 0%, #6d55ff 100%) !important;
    border-color: transparent !important;
}

/* Cuerpo: navegación superior tipo cabina, sección full width */
.event-form-v2 {
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.event-editor-v2 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .85rem !important;
}

.event-editor-sidebar {
    position: sticky !important;
    top: 74px !important;
    z-index: 30 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .5rem !important;
    padding: .72rem !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.94) !important;
    border: 1px solid #e8e1f7 !important;
    box-shadow: 0 16px 36px rgba(43,29,51,.06) !important;
}

.event-editor-sidebar-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 38px !important;
    padding: .44rem .66rem !important;
    border-radius: 13px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #2a2440 !important;
    box-shadow: none !important;
}

.event-editor-sidebar-item:hover {
    transform: none !important;
    background: #f7f3ff !important;
    border-color: #e2d9fb !important;
}

.event-editor-sidebar-item.is-active {
    background: #f0ebff !important;
    border-color: #d9cffc !important;
    box-shadow: none !important;
}

.event-editor-sidebar-icon {
    width: 26px !important;
    height: 26px !important;
    min-width: 26px !important;
    border-radius: 9px !important;
    background: #fff !important;
    border: 1px solid #e4dcfa !important;
    color: #5f3bf5 !important;
}

.event-editor-sidebar-icon svg {
    width: 14px !important;
    height: 14px !important;
}

.event-editor-sidebar-copy {
    display: block !important;
    min-width: 0 !important;
}

.event-editor-sidebar-copy strong {
    display: block !important;
    margin: 0 !important;
    color: #20183f !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.event-editor-sidebar-copy small,
.event-editor-sidebar-status {
    display: none !important;
}

.event-editor-main {
    min-width: 0 !important;
}

.event-editor-main > .form-section:not(.is-open) {
    display: none !important;
}

.event-editor-main > .form-section.is-open {
    display: block !important;
}

.event-editor-card.form-section,
.event-editor-main .form-section {
    border-radius: 22px !important;
    background: #fff !important;
    border: 1px solid #e8e1f7 !important;
    box-shadow: 0 16px 38px rgba(43,29,51,.055) !important;
}

.event-editor-card-toggle {
    min-height: 64px !important;
    padding: .85rem 1rem !important;
    align-items: center !important;
}

.event-editor-card-title-row {
    display: flex !important;
    align-items: center !important;
    gap: .7rem !important;
    min-width: 0 !important;
}

.event-editor-card-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    border-radius: 12px !important;
    background: #f4f0ff !important;
    border: 1px solid #e2d8ff !important;
    color: #5f3bf5 !important;
    font-size: 0 !important;
}

.event-editor-card-icon svg {
    width: 16px !important;
    height: 16px !important;
}

.event-editor-card-kicker {
    margin-bottom: .12rem !important;
    font-size: .66rem !important;
    letter-spacing: .16em !important;
}

.event-editor-card-toggle strong {
    font-size: 1rem !important;
    line-height: 1.1 !important;
}

.event-editor-card-toggle small {
    display: none !important;
}

.event-editor-card-body {
    padding: 1rem !important;
}

.event-editor-footer {
    position: static !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: .6rem !important;
    margin-top: .85rem !important;
    padding: .75rem .9rem !important;
    border-radius: 18px !important;
    background: #fff !important;
    border: 1px solid #e8e1f7 !important;
    box-shadow: 0 12px 28px rgba(43,29,51,.06) !important;
}

.event-editor-footer .button {
    min-height: 36px !important;
    min-width: 110px !important;
    padding: .55rem .8rem !important;
    border-radius: 12px !important;
    font-size: .76rem !important;
}

.event-editor-footer .button.primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4f2bdb 0%, #6d55ff 100%) !important;
    border-color: transparent !important;
}

@media (max-width: 1080px) {
    .event-dashboard-hero {
        grid-template-columns: 1fr !important;
    }

    .event-dashboard-actions {
        justify-content: start !important;
    }

    .event-overview-grid {
        grid-template-columns: 1fr !important;
    }

    .event-editor-sidebar {
        position: relative !important;
        top: auto !important;
    }
}

@media (max-width: 680px) {
    .admin-main:has(.event-dashboard-hero) {
        padding-inline: .8rem !important;
    }

    .event-dashboard-actions,
    .event-dashboard-actions .button,
    .event-dashboard-actions form,
    .event-dashboard-actions form .button {
        width: 100% !important;
    }

    .event-dashboard-actions {
        grid-template-columns: 1fr !important;
    }

    .event-link-card.share-bar {
        grid-template-columns: 30px minmax(0, 1fr) !important;
    }

    .event-link-card.share-bar .button {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .event-qr-card-copy {
        grid-template-columns: 1fr !important;
    }

    .qr-panel-layout {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
        justify-items: stretch !important;
    }

    .qr-frame.compact {
        justify-self: center !important;
    }
}


/* =========================================================
   Editar evento · top v6 limpio y compacto
   ========================================================= */
.event-dashboard-hero.event-dashboard-hero-compact {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    max-width: 1320px !important;
    margin: 0 auto .8rem !important;
    padding: 1rem 1.15rem !important;
    border-radius: 24px !important;
}
.event-dashboard-hero-compact h1 {
    margin: .18rem 0 .28rem !important;
    font-size: clamp(1.8rem, 2.6vw, 2.5rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -.045em !important;
}
.event-dashboard-hero-compact .event-dashboard-hero-copy p:last-child {
    max-width: 620px !important;
    margin: 0 !important;
    font-size: .92rem !important;
    line-height: 1.35 !important;
}
.event-dashboard-actions.event-dashboard-actions-compact {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    flex-wrap: wrap !important;
    gap: .65rem !important;
    min-width: auto !important;
}
.event-dashboard-actions-compact form {
    margin: 0 !important;
}
.event-dashboard-actions-compact .button {
    min-height: 40px !important;
    padding: .68rem 1rem !important;
    border-radius: 14px !important;
    font-size: .84rem !important;
    font-weight: 800 !important;
}
.event-dashboard-actions-compact .button.primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4d28db, #6a55ff) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 24px rgba(95,59,245,.22) !important;
}
.event-dashboard-actions-compact .button.danger.soft {
    color: #a94444 !important;
    background: #fff6f5 !important;
    border-color: #efd7d5 !important;
}

/* Apaga el layout viejo de tarjetas gigantes y usa strip funcional */
.event-overview-grid {
    display: none !important;
}
.event-tools-strip {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(340px, .72fr) !important;
    gap: .8rem !important;
    max-width: 1320px !important;
    margin: 0 auto 1rem !important;
}
.event-tool-card {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    min-height: 82px !important;
    padding: .85rem .9rem !important;
    border: 1px solid #e6def8 !important;
    border-radius: 22px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 12px 28px rgba(43,29,51,.045) !important;
}
.event-tool-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
    background: #f4f0ff !important;
    border: 1px solid #e2d8ff !important;
    color: #5f3bf5 !important;
    font-size: 1rem !important;
    font-weight: 900 !important;
}
.event-tool-copy {
    display: grid !important;
    gap: .16rem !important;
    min-width: 0 !important;
}
.event-tool-copy small {
    margin: 0 !important;
    color: #80769d !important;
    font-size: .68rem !important;
    font-weight: 900 !important;
    letter-spacing: .15em !important;
    line-height: 1.1 !important;
    text-transform: uppercase !important;
}
.event-tool-copy strong {
    display: block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    color: #140c36 !important;
    font-size: .98rem !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.copy-value-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    white-space: nowrap !important;
}
.event-tool-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .5rem !important;
}
.event-tool-actions .button {
    min-height: 38px !important;
    padding: .58rem .82rem !important;
    border-radius: 13px !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
}
.event-tool-actions .button.primary {
    color: #fff !important;
    background: linear-gradient(135deg, #4d28db, #6a55ff) !important;
    border-color: transparent !important;
    box-shadow: 0 10px 22px rgba(95,59,245,.18) !important;
}
.event-tool-actions .button.secondary,
.event-tool-actions .button.ghost {
    color: #4d2edc !important;
    background: #f5f1ff !important;
    border-color: #e0d7fb !important;
    box-shadow: none !important;
}
.event-tool-qr {
    grid-template-columns: 42px minmax(0, 1fr) 76px auto !important;
}
.event-tool-qr .event-status-pill {
    width: fit-content !important;
    min-height: 24px !important;
    padding: .18rem .55rem !important;
    font-size: .68rem !important;
}
.event-tool-qr-img {
    width: 68px !important;
    height: 68px !important;
    padding: .35rem !important;
    border: 1px solid #e6def8 !important;
    border-radius: 14px !important;
    background: #fff !important;
}
@media (max-width: 1180px) {
    .event-tools-strip {
        grid-template-columns: 1fr !important;
    }
    .event-tool-qr {
        grid-template-columns: 42px minmax(0, 1fr) 76px auto !important;
    }
}
@media (max-width: 760px) {
    .event-dashboard-hero.event-dashboard-hero-compact {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    .event-dashboard-actions.event-dashboard-actions-compact,
    .event-dashboard-actions-compact .button,
    .event-dashboard-actions-compact form {
        width: 100% !important;
    }
    .event-tool-card,
    .event-tool-qr {
        grid-template-columns: 42px minmax(0, 1fr) !important;
    }
    .event-tool-actions {
        grid-column: 1 / -1 !important;
        justify-content: stretch !important;
    }
    .event-tool-actions .button {
        width: 100% !important;
    }
    .event-tool-qr-img {
        grid-column: 1 / -1 !important;
        justify-self: start !important;
    }
}


/* =========================================================
   Editar / Crear evento · secciones más limpias v7
   Registro con botón + y toggles sin amontonarse
   ========================================================= */

/* Menú superior de secciones más compacto y respirado */
.event-editor-sidebar {
    align-items: center !important;
    gap: .72rem 1rem !important;
    padding: .82rem 1rem !important;
}
.event-editor-sidebar-item {
    min-height: 46px !important;
    padding: .55rem .8rem !important;
    border-radius: 16px !important;
}
.event-editor-sidebar-icon {
    width: 34px !important;
    height: 34px !important;
    border-radius: 12px !important;
}
.event-editor-sidebar-copy strong {
    font-size: .9rem !important;
}

/* Header de cada sección más delgado */
.event-editor-card-toggle {
    min-height: 68px !important;
    padding: .8rem 1rem !important;
}
.event-editor-card-toggle strong {
    font-size: 1.04rem !important;
}
.event-editor-card-kicker {
    font-size: .68rem !important;
}
.event-editor-card-status {
    padding: .18rem .62rem !important;
    font-size: .68rem !important;
}

/* Switch cards: limpia foto de perfil, QR, botón flotante, marca, moderación y visibilidad */
.event-editor-card .toggle-list {
    display: grid !important;
    gap: .72rem !important;
}
.event-editor-card .toggle-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    min-height: 68px !important;
    padding: .82rem .95rem !important;
    border-radius: 18px !important;
    background: #fbfaff !important;
    border: 1px solid #e9e1f8 !important;
}
.event-editor-card .toggle-row > span:first-child {
    display: grid !important;
    gap: .16rem !important;
    min-width: 0 !important;
    max-width: calc(100% - 76px) !important;
}
.event-editor-card .toggle-row strong {
    margin: 0 !important;
    color: #1a1042 !important;
    font-size: .93rem !important;
    line-height: 1.18 !important;
}
.event-editor-card .toggle-row small {
    display: block !important;
    max-width: 760px !important;
    margin: 0 !important;
    color: #756c87 !important;
    font-size: .76rem !important;
    line-height: 1.3 !important;
}
.event-editor-card .toggle-row .switch {
    flex: 0 0 auto !important;
    margin-left: auto !important;
}

/* Tarjetas internas menos "chorizo" */
.event-editor-card .interaction-settings-card {
    padding: .95rem !important;
    border-radius: 18px !important;
}
.event-editor-card .interaction-mode-row {
    align-items: center !important;
    gap: .75rem !important;
}
.event-editor-card .interaction-mode-row strong {
    font-size: .95rem !important;
    line-height: 1.2 !important;
}
.event-editor-card .interaction-mode-row small {
    font-size: .74rem !important;
    line-height: 1.3 !important;
}

/* Registro: botón para agregar campos personalizados */
.registration-custom-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
}
.registration-custom-head > span {
    display: grid !important;
    gap: .18rem !important;
    min-width: 0 !important;
}
.registration-add-field {
    flex: 0 0 auto !important;
    min-height: 38px !important;
    padding: .58rem .85rem !important;
    border-radius: 13px !important;
    color: #4d2edc !important;
    background: #f4f0ff !important;
    border: 1px solid #ded5fb !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    box-shadow: none !important;
}
.registration-add-field:disabled {
    opacity: .55 !important;
    cursor: not-allowed !important;
}
.registration-custom-field {
    display: none !important;
}
.registration-custom-field.is-visible {
    display: block !important;
}
.registration-custom-field .interaction-mode-row {
    padding-bottom: .45rem !important;
    border-bottom: 1px solid #eee8f8 !important;
}

/* File pickers menos altos y más elegantes */
.event-editor-card .admin-file-picker {
    min-height: 118px !important;
    padding: 1rem !important;
    border-radius: 18px !important;
}
.event-editor-card .admin-file-picker i {
    width: 40px !important;
    height: 40px !important;
    border-radius: 14px !important;
}
.event-editor-card .admin-file-picker strong {
    font-size: .92rem !important;
}
.event-editor-card .admin-file-picker small {
    font-size: .74rem !important;
}

/* Inputs compactos, sin texto gigante */
.event-editor-card label {
    font-size: .86rem !important;
}
.event-editor-card input[type="text"],
.event-editor-card input[type="tel"],
.event-editor-card input[type="date"],
.event-editor-card input[type="email"],
.event-editor-card input[type="url"],
.event-editor-card input[type="number"],
.event-editor-card select,
.event-editor-card textarea {
    min-height: 42px !important;
    padding: .68rem .78rem !important;
    border-radius: 14px !important;
    font-size: .85rem !important;
}
.event-editor-card textarea {
    min-height: 82px !important;
}

/* Color inputs en QR más delgados */
#evento-qr input[type="color"] {
    height: 46px !important;
    padding: .32rem !important;
    border-radius: 14px !important;
}

/* Ranges en marca: evita que se sienta pesado */
.range-field {
    min-height: 42px !important;
    padding: .4rem .65rem !important;
    border-radius: 14px !important;
}
.range-field input[type="range"] {
    min-height: auto !important;
}

@media (max-width: 760px) {
    .registration-custom-head {
        align-items: stretch !important;
        flex-direction: column !important;
    }
    .registration-add-field {
        width: 100% !important;
    }
    .event-editor-card .toggle-row {
        align-items: flex-start !important;
    }
    .event-editor-card .toggle-row > span:first-child {
        max-width: calc(100% - 64px) !important;
    }
}

/* =========================================================
   Editar evento · respiración entre controles v8
   Corrige campos pegados/amontonados debajo de switches
   ========================================================= */
.event-editor-card-body {
    padding: 1rem 1rem 1.15rem !important;
}
.event-editor-card-body > div {
    display: grid !important;
    gap: 1.15rem !important;
}
.event-editor-card .toggle-list {
    margin: 0 0 .95rem !important;
}
.event-editor-card .toggle-list + .form-grid,
.event-editor-card .toggle-list + .watermark-fields,
.event-editor-card .toggle-list + div,
.event-editor-card .toggle-row + .form-grid {
    margin-top: .9rem !important;
}
.event-editor-card .toggle-row {
    min-height: 58px !important;
    padding: .72rem .85rem !important;
    border-radius: 17px !important;
    background: linear-gradient(180deg, #fff, #fbfaff) !important;
}
.event-editor-card .toggle-row > span:first-child {
    gap: .2rem !important;
}
.event-editor-card .toggle-row strong {
    font-size: .88rem !important;
    line-height: 1.15 !important;
}
.event-editor-card .toggle-row small {
    max-width: 780px !important;
    font-size: .73rem !important;
    line-height: 1.32 !important;
}
.event-editor-card .form-grid,
.event-editor-card .form-grid.two,
.event-editor-card .watermark-fields,
.event-editor-card .interaction-copy-grid {
    gap: 1rem 1.15rem !important;
}
.event-editor-card .form-grid > label,
.event-editor-card .watermark-fields > label,
.event-editor-card .interaction-copy-grid > label {
    display: grid !important;
    gap: .48rem !important;
    align-content: start !important;
    margin: 0 !important;
    color: #1a1042 !important;
    font-size: .82rem !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}
.event-editor-card .form-grid > label > small,
.event-editor-card .watermark-fields > label > small,
.event-editor-card .interaction-copy-grid > label > small {
    margin: -.16rem 0 0 !important;
    font-weight: 600 !important;
    color: #7b7291 !important;
}
.event-editor-card .file-field {
    padding-top: .15rem !important;
}
.event-editor-card .file-field > span:not(.admin-file-picker) {
    display: inline-block !important;
    margin-left: .25rem !important;
    color: #7a718f !important;
    font-size: .78rem !important;
    font-weight: 700 !important;
}
.event-editor-card .file-field .admin-file-picker {
    margin-top: .2rem !important;
}
.event-editor-card .admin-file-picker {
    min-height: 104px !important;
    padding: .92rem !important;
}
.event-editor-card .watermark-logo-preview,
.event-editor-card .profile-photo-preview,
.event-editor-card .floating-link-logo-preview {
    margin-top: .15rem !important;
    padding: .75rem !important;
}
#evento-qr .toggle-list + .form-grid,
#evento-enlace-flotante .toggle-list + .form-grid,
#evento-marca .toggle-list + .form-grid,
#evento-moderacion .toggle-list + .form-grid,
#evento-foto-perfil .toggle-list + .form-grid {
    margin-top: 1.05rem !important;
}
#evento-moderacion .form-note {
    margin-top: .2rem !important;
    padding: .75rem .85rem !important;
    border-radius: 14px !important;
    background: #fbfaff !important;
    border: 1px solid #eee8f8 !important;
    font-size: .78rem !important;
    line-height: 1.35 !important;
}
#evento-qr input[type="color"] {
    height: 40px !important;
    max-height: 40px !important;
}
#evento-marca .range-field {
    margin-top: .05rem !important;
}
@media (max-width: 760px) {
    .event-editor-card-body {
        padding: .85rem !important;
    }
    .event-editor-card-body > div {
        gap: .95rem !important;
    }
    .event-editor-card .toggle-row {
        align-items: center !important;
        min-height: 56px !important;
    }
    .event-editor-card .toggle-row small {
        display: none !important;
    }
}


/* =========================================================
   Editar evento · herramientas superiores 3 tarjetas iguales
   ========================================================= */
.event-tools-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: .85rem !important;
    align-items: stretch !important;
}
.event-tool-card,
.event-tool-card.event-tool-qr {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    min-height: 78px !important;
    height: 100% !important;
    padding: .82rem .9rem !important;
    overflow: hidden !important;
}
.event-tool-copy {
    min-width: 0 !important;
    overflow: hidden !important;
}
.event-tool-copy small,
.event-tool-copy strong {
    max-width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.event-tool-copy small {
    font-size: .66rem !important;
    letter-spacing: .13em !important;
}
.event-tool-copy strong {
    font-size: .94rem !important;
    line-height: 1.12 !important;
}
.event-tool-qr .event-status-pill {
    display: inline-flex !important;
    width: fit-content !important;
    margin-top: .18rem !important;
}
.event-tool-qr-img {
    display: none !important;
}
.event-tool-actions {
    flex: 0 0 auto !important;
    min-width: 0 !important;
}
.event-tool-actions .button {
    min-width: 76px !important;
    min-height: 38px !important;
    padding: .56rem .78rem !important;
    font-size: .78rem !important;
}
.event-tool-actions .button + .button {
    margin-left: 0 !important;
}
@media (max-width: 1180px) {
    .event-tools-strip {
        grid-template-columns: 1fr !important;
    }
    .event-tool-card,
    .event-tool-card.event-tool-qr {
        grid-template-columns: 42px minmax(0, 1fr) auto !important;
    }
}
@media (max-width: 760px) {
    .event-tool-card,
    .event-tool-card.event-tool-qr {
        grid-template-columns: 42px minmax(0, 1fr) !important;
    }
    .event-tool-actions {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
    .event-tool-actions .button {
        flex: 1 1 0 !important;
        width: auto !important;
    }
}

/* =========================================================
   Editor de galería · versión limpia tipo estudio v10
   ========================================================= */
.page-heading.gallery-editor-page {
    max-width: 1320px !important;
    margin: 2.6rem auto 1.15rem !important;
    padding: 0 1rem !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: space-between !important;
    gap: 1.2rem !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}
.page-heading.gallery-editor-page .eyebrow {
    margin-bottom: .45rem !important;
    font-size: .74rem !important;
    letter-spacing: .18em !important;
    color: #5f3bf5 !important;
}
.page-heading.gallery-editor-page h1 {
    margin: 0 0 .32rem !important;
    color: #17103c !important;
    font-size: clamp(2rem, 3.2vw, 3rem) !important;
    line-height: 1.02 !important;
    letter-spacing: -.045em !important;
    font-weight: 850 !important;
}
.page-heading.gallery-editor-page p:not(.eyebrow) {
    max-width: 720px !important;
    margin: 0 !important;
    color: #706984 !important;
    font-size: .95rem !important;
    line-height: 1.45 !important;
}
.page-heading.gallery-editor-page .card-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .7rem !important;
    flex-wrap: wrap !important;
}
.page-heading.gallery-editor-page .button {
    min-height: 40px !important;
    padding: .66rem 1rem !important;
    border-radius: 14px !important;
    font-size: .82rem !important;
    font-weight: 850 !important;
}
.page-heading.gallery-editor-page .button.secondary {
    background: #f4f0ff !important;
    color: #5f3bf5 !important;
    border-color: #ded7fb !important;
    box-shadow: none !important;
}
form.panel.gallery-editor-page {
    max-width: 1320px !important;
    margin: 0 auto 2.4rem !important;
    padding: .85rem .85rem 0 !important;
    border-radius: 30px !important;
    border: 1px solid #e7e0f7 !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: 0 24px 70px rgba(43, 29, 51, .075) !important;
    overflow: hidden !important;
}
form.gallery-editor-page .form-actions {
    position: sticky !important;
    bottom: 0 !important;
    z-index: 80 !important;
    display: flex !important;
    justify-content: flex-end !important;
    gap: .7rem !important;
    margin: .85rem -.85rem 0 !important;
    padding: .85rem 1rem !important;
    border-top: 1px solid #ece6f8 !important;
    background: rgba(255,255,255,.94) !important;
    backdrop-filter: blur(16px) !important;
}
form.gallery-editor-page .form-actions .button {
    min-height: 40px !important;
    border-radius: 14px !important;
    padding: .65rem 1.05rem !important;
    font-size: .82rem !important;
    font-weight: 850 !important;
}
form.gallery-editor-page .form-actions .button.primary {
    background: linear-gradient(135deg, #4d28db, #6a55ff) !important;
    border-color: transparent !important;
    box-shadow: 0 12px 24px rgba(95,59,245,.2) !important;
}
.rq-live-gallery-editor {
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
}
.rq-live-gallery-editor .rq-shortcuts {
    position: relative !important;
    top: auto !important;
    z-index: 20 !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: .45rem !important;
    margin: 0 0 .8rem !important;
    padding: .55rem !important;
    overflow-x: auto !important;
    border: 1px solid #e9e3f8 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    scrollbar-width: thin !important;
}
.rq-live-gallery-editor .rq-shortcuts button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .42rem !important;
    min-height: 40px !important;
    padding: .52rem .78rem !important;
    border-radius: 14px !important;
    border: 1px solid #e0d8fb !important;
    background: #fff !important;
    color: #2a2348 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
    box-shadow: none !important;
}
.rq-live-gallery-editor .rq-shortcuts button::before {
    display: inline-grid !important;
    place-items: center !important;
    width: 20px !important;
    height: 20px !important;
    border-radius: 7px !important;
    background: #f5f1ff !important;
    color: #5f3bf5 !important;
    font-size: .74rem !important;
    line-height: 1 !important;
}
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="cover"]::before { content: "▧"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="logo"]::before { content: "◰"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="brand"]::before { content: "P"; font-weight: 950 !important; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="title"]::before { content: "T"; font-weight: 950 !important; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="hosts"]::before { content: "♙"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="phrase"]::before { content: "❞"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="albumTitle"]::before { content: "▦"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="buttons"]::before { content: "↗"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="background"]::before { content: "▣"; }
.rq-live-gallery-editor .rq-shortcuts button[data-editor-shortcut="access"]::before { content: "⌂"; }
.rq-live-gallery-editor .rq-shortcuts button:hover {
    transform: translateY(-1px) !important;
    border-color: rgba(95,59,245,.26) !important;
    background: #fbfaff !important;
}
.rq-live-gallery-editor .rq-shortcuts button.is-active {
    background: #f1ecff !important;
    color: #5f3bf5 !important;
    border-color: #d5c9ff !important;
    box-shadow: 0 8px 18px rgba(95,59,245,.08) !important;
}
.rq-live-gallery-editor .rq-editor-layout {
    display: grid !important;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 430px) !important;
    gap: .8rem !important;
    align-items: stretch !important;
}
.rq-live-gallery-editor .rq-stage,
.rq-live-gallery-editor .rq-inspector {
    border: 1px solid #e9e3f8 !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: none !important;
}
.rq-live-gallery-editor .rq-stage {
    overflow: hidden !important;
    min-width: 0 !important;
}
.rq-live-gallery-editor .rq-simulation {
    min-height: 0 !important;
    background: var(--rq-bg) !important;
}
.rq-live-gallery-editor .rq-hero {
    min-height: clamp(300px, 31vw, 430px) !important;
    padding: 1.55rem 1.65rem 1.75rem !important;
    border-radius: 0 !important;
}
.rq-live-gallery-editor .rq-logo-row {
    top: 1rem !important;
    left: 1rem !important;
    right: 1rem !important;
}
.rq-live-gallery-editor .rq-event-logo-wrap {
    min-width: 132px !important;
    min-height: 64px !important;
    padding: .48rem .62rem !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    background: rgba(255,255,255,.12) !important;
    box-shadow: 0 12px 26px rgba(0,0,0,.12) !important;
}
.rq-live-gallery-editor .rq-event-logo {
    max-width: 180px !important;
    max-height: 72px !important;
}
.rq-live-gallery-editor .rq-logo-placeholder {
    min-width: 140px !important;
    min-height: 56px !important;
    border-radius: 14px !important;
    font-size: .8rem !important;
}
.rq-live-gallery-editor .rq-brand-chip {
    min-height: 34px !important;
    padding: .42rem .58rem !important;
    border-radius: 999px !important;
    font-size: .7rem !important;
}
.rq-live-gallery-editor .rq-hero-copy {
    gap: .52rem !important;
    max-width: 720px !important;
}
.rq-live-gallery-editor .rq-meta {
    padding: .36rem .62rem !important;
    font-size: .66rem !important;
    letter-spacing: .09em !important;
}
.rq-live-gallery-editor .rq-title {
    font-size: clamp(2.75rem, 5.3vw, 4.9rem) !important;
    line-height: .94 !important;
}
.rq-live-gallery-editor .rq-hosts,
.rq-live-gallery-editor .rq-phrase,
.rq-live-gallery-editor .rq-counter {
    font-size: .9rem !important;
}
.rq-live-gallery-editor .rq-body {
    min-height: 330px !important;
    padding: 1.75rem 1.85rem 5.8rem !important;
    background: var(--rq-bg) !important;
}
.rq-live-gallery-editor .rq-album-head {
    gap: .38rem !important;
    margin-bottom: 1.2rem !important;
}
.rq-live-gallery-editor .rq-album-label {
    font-size: .64rem !important;
    letter-spacing: .16em !important;
}
.rq-live-gallery-editor .rq-album-title {
    font-size: clamp(1.65rem, 3.1vw, 2.75rem) !important;
}
.rq-live-gallery-editor .rq-album-text {
    max-width: 620px !important;
    font-size: .82rem !important;
    line-height: 1.45 !important;
}
.rq-live-gallery-editor .rq-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    gap: .65rem !important;
    max-width: 720px !important;
}
.rq-live-gallery-editor .rq-grid span {
    border-radius: 18px !important;
    box-shadow: none !important;
}
.rq-live-gallery-editor .rq-actions {
    position: absolute !important;
    right: 1.45rem !important;
    bottom: 1.25rem !important;
    z-index: 50 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: .55rem !important;
    padding: 0 !important;
}
.rq-live-gallery-editor .rq-fab {
    min-width: 48px !important;
    height: 48px !important;
    border-radius: 999px !important;
    font-size: .8rem !important;
}
.rq-live-gallery-editor .rq-fab.plus {
    padding: 0 1.05rem !important;
    font-size: .82rem !important;
}
.rq-live-gallery-editor .rq-inspector {
    position: sticky !important;
    top: 90px !important;
    max-height: calc(100vh - 112px) !important;
    overflow: auto !important;
}
.rq-live-gallery-editor .rq-inspector-head {
    padding: 1.05rem 1.1rem .95rem !important;
    border-bottom: 1px solid #ece6f8 !important;
    background: linear-gradient(180deg, #fff, #fdfbff) !important;
}
.rq-live-gallery-editor .rq-inspector small,
.rq-live-gallery-editor .rq-small-label {
    color: #5f3bf5 !important;
    font-size: .66rem !important;
    letter-spacing: .16em !important;
    font-weight: 900 !important;
}
.rq-live-gallery-editor .rq-inspector h3 {
    margin: .22rem 0 .12rem !important;
    color: #17103c !important;
    font-family: Inter, Arial, sans-serif !important;
    font-size: 1.5rem !important;
    line-height: 1.04 !important;
    letter-spacing: -.035em !important;
}
.rq-live-gallery-editor .rq-inspector p {
    color: #716987 !important;
    font-size: .78rem !important;
    line-height: 1.4 !important;
}
.rq-live-gallery-editor .rq-panel {
    display: none !important;
    padding: .95rem 1.05rem 1.05rem !important;
}
.rq-live-gallery-editor .rq-panel.is-active {
    display: grid !important;
    gap: .82rem !important;
}
.rq-live-gallery-editor .rq-panel label,
.rq-live-gallery-editor .rq-upload-card,
.rq-live-gallery-editor .rq-toggle-card {
    color: #2a2348 !important;
    font-size: .78rem !important;
    font-weight: 850 !important;
}
.rq-live-gallery-editor .rq-upload-card {
    display: grid !important;
    gap: .45rem !important;
    min-height: 100px !important;
    padding: .9rem !important;
    border: 1px dashed #cabff3 !important;
    border-radius: 18px !important;
    background: #fdfbff !important;
    cursor: pointer !important;
}
.rq-live-gallery-editor .rq-upload-card span,
.rq-live-gallery-editor .rq-panel label > span:first-child {
    color: #716987 !important;
    font-size: .74rem !important;
}
.rq-live-gallery-editor .rq-upload-card strong {
    width: fit-content !important;
    padding: .55rem .8rem !important;
    border-radius: 12px !important;
    background: #5f3bf5 !important;
    color: #fff !important;
    font-size: .76rem !important;
    box-shadow: 0 10px 22px rgba(95,59,245,.18) !important;
}
.rq-live-gallery-editor .rq-upload-card input[type="file"] {
    width: 100% !important;
    font-size: .72rem !important;
    color: #716987 !important;
}
.rq-live-gallery-editor .rq-upload-card input[type="file"]::file-selector-button {
    margin-right: .65rem !important;
    padding: .52rem .72rem !important;
    border: 0 !important;
    border-radius: 11px !important;
    background: #f0ebff !important;
    color: #5f3bf5 !important;
    font-weight: 850 !important;
}
.rq-live-gallery-editor .rq-segments,
.rq-live-gallery-editor .rq-style-grid {
    gap: .55rem !important;
}
.rq-live-gallery-editor .rq-segments label,
.rq-live-gallery-editor .rq-style-grid label {
    min-height: 48px !important;
    padding: .58rem .7rem !important;
    border-radius: 15px !important;
    background: #fff !important;
    border: 1px solid #ded7f4 !important;
    font-size: .76rem !important;
}
.rq-live-gallery-editor .rq-segments label:has(input:checked),
.rq-live-gallery-editor .rq-style-grid label:has(input:checked) {
    border-color: #cfc2ff !important;
    background: #f5f1ff !important;
    color: #5f3bf5 !important;
}
.rq-live-gallery-editor .rq-two {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: .7rem !important;
}
.rq-live-gallery-editor .rq-panel input[type="text"],
.rq-live-gallery-editor .rq-panel textarea,
.rq-live-gallery-editor .rq-panel select {
    width: 100% !important;
    min-height: 42px !important;
    padding: .65rem .75rem !important;
    border: 1px solid #ddd5ef !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: #17103c !important;
    font-size: .8rem !important;
    font-weight: 750 !important;
}
.rq-live-gallery-editor .rq-panel textarea {
    min-height: 82px !important;
}
.rq-live-gallery-editor .rq-panel input[type="color"] {
    width: 100% !important;
    height: 42px !important;
    padding: 4px !important;
    border-radius: 13px !important;
    border: 1px solid #ddd5ef !important;
}
.rq-live-gallery-editor .rq-panel input[type="range"] {
    width: 100% !important;
    accent-color: #5f3bf5 !important;
}
.rq-live-gallery-editor .rq-toggle-card {
    min-height: 54px !important;
    padding: .78rem .85rem !important;
    border: 1px solid #e8e2f7 !important;
    border-radius: 16px !important;
    background: #fbfaff !important;
}
.rq-live-gallery-editor .rq-toggle-card input[type="checkbox"] {
    width: 20px !important;
    height: 20px !important;
    accent-color: #5f3bf5 !important;
}
.rq-live-gallery-editor .rq-note {
    padding: .72rem .78rem !important;
    border-radius: 14px !important;
    background: #f5f1ff !important;
    color: #6d6482 !important;
    font-size: .76rem !important;
}
.rq-live-gallery-editor .rq-editable:hover {
    outline: 2px solid rgba(95,59,245,.28) !important;
    outline-offset: -2px !important;
}
.rq-live-gallery-editor .rq-editable.is-selected {
    outline: 2px solid #5f3bf5 !important;
    outline-offset: -2px !important;
    box-shadow: inset 0 0 0 9999px rgba(95,59,245,.018) !important;
}
.rq-live-gallery-editor .rq-editable.is-selected::after {
    top: .7rem !important;
    left: .7rem !important;
    padding: .32rem .54rem !important;
    border-radius: 999px !important;
    background: #5f3bf5 !important;
    color: #fff !important;
    font-size: .62rem !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    box-shadow: 0 10px 22px rgba(24,16,60,.16) !important;
}
.rq-live-gallery-editor .rq-hero.rq-editable.is-selected::after {
    top: auto !important;
    bottom: .85rem !important;
    left: .85rem !important;
}
@media (max-width: 1180px) {
    .page-heading.gallery-editor-page {
        align-items: flex-start !important;
        flex-direction: column !important;
    }
    .rq-live-gallery-editor .rq-editor-layout {
        grid-template-columns: 1fr !important;
    }
    .rq-live-gallery-editor .rq-inspector {
        position: relative !important;
        top: auto !important;
        max-height: none !important;
    }
    .rq-live-gallery-editor .rq-shortcuts {
        flex-wrap: wrap !important;
    }
}
@media (max-width: 720px) {
    .rq-live-gallery-editor .rq-two,
    .rq-live-gallery-editor .rq-segments {
        grid-template-columns: 1fr !important;
    }
    .rq-live-gallery-editor .rq-grid {
        grid-template-columns: repeat(3, minmax(0,1fr)) !important;
    }
    .rq-live-gallery-editor .rq-title {
        font-size: clamp(2.4rem, 14vw, 3.8rem) !important;
    }
}


/* Botón para ver la página principal sin cerrar sesión del admin */
.nav-public-home {
    color: var(--purple-dark);
    background: #f4f0ff;
    border: 1px solid rgba(95,59,245,.14);
}
.nav-public-home:hover {
    background: #efe8ff;
    color: var(--purple);
}
@media (max-width: 1180px) {
    .nav-public-home {
        font-size: .86rem;
        padding-inline: .7rem;
    }
}


/* Código de acceso del moderador en admin */
.moderator-admin-code{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:14px 16px;
  border:1px solid rgba(95,59,245,.16);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(95,59,245,.07),rgba(255,255,255,.96));
}
.moderator-admin-code div{
  min-width:0;
  display:grid;
  gap:4px;
}
.moderator-admin-code span{
  color:#6b5cff;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.moderator-admin-code strong{
  color:#171038;
  font-size:1.2rem;
  font-weight:950;
  letter-spacing:.08em;
  word-break:break-all;
}
.moderator-admin-code small{
  color:#756f92;
  font-weight:700;
}
.moderator-admin-code .copy-btn{
  flex:0 0 auto;
  border:1px solid rgba(95,59,245,.18);
  background:#fff;
  color:#5f3bf5;
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  font-weight:900;
  cursor:pointer;
}
.moderator-admin-link strong{
  font-size:.9rem;
  letter-spacing:0;
}
@media (max-width:760px){
  .moderator-admin-code{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* Control de memoria en eventos */
.events-overview-grid--compact{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
.events-overview-grid--compact strong{font-size:clamp(1.35rem,2vw,2rem) !important;}
.stats-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important;}
@media (max-width:1100px){.events-overview-grid--compact,.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}}
@media (max-width:640px){.events-overview-grid--compact,.stats-grid{grid-template-columns:1fr !important;}}

.schedule-settings-card{margin:18px 0;}
.schedule-settings-card .form-grid{margin-top:14px;}

/* Mercado Pago / paquetes */
.payments-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:clamp(1.5rem,3vw,2.4rem)}
.payments-hero h1{margin:.2rem 0 .45rem;font-size:clamp(2rem,5vw,4.6rem);line-height:.92;color:#160d3d;letter-spacing:-.06em}
.payments-hero p{max-width:760px;margin:0;color:#786f8f;font-weight:700;line-height:1.45}
.payments-config-card,.payments-mini-stats{display:grid;gap:.25rem;min-width:260px;padding:1rem 1.1rem;border:1px solid #eee8f6;border-radius:24px;background:#fff;box-shadow:0 18px 50px rgba(71,48,130,.08)}
.payments-config-card strong{color:#160d3d}.payments-config-card span{color:#756c88;font-size:.85rem;font-weight:700;line-height:1.35}.payments-config-card.is-ready{border-color:#dff4e9;background:#f7fffb}.payments-config-card.is-missing{border-color:#f2dfdf;background:#fffafa}.payments-mini-stats{grid-template-columns:repeat(3,1fr);min-width:min(100%,520px)}.payments-mini-stats span{display:grid;gap:.15rem;color:#756c88;font-size:.78rem;font-weight:800}.payments-mini-stats b{color:#160d3d;font-size:1.05rem}
.payment-layout{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(360px,1.15fr);gap:1.2rem;background:transparent;border:0;box-shadow:none;padding:0}.payment-form-card,.payment-list-card{padding:1.35rem;border:1px solid #eee8f6;border-radius:28px;background:#fff;box-shadow:0 24px 80px rgba(71,48,130,.08)}.payment-form-card h2,.payment-list-card h2{margin:0 0 1rem;color:#160d3d}.payment-form-card .form-grid label{font-weight:850;color:#31284d}.payment-form-card input,.payment-form-card textarea,.payment-form-card select,.checkout-form input,.checkout-form select{width:100%;min-height:46px;margin-top:.4rem;border:1px solid #e7e0ef;border-radius:16px;padding:.78rem .9rem;background:#fff;font:inherit;font-weight:700;color:#24193f}.payment-form-card textarea{resize:vertical}.span-two{grid-column:1/-1}.switch-row{display:flex!important;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem;border:1px solid #eee8f6;border-radius:18px;background:#fbf9ff}.form-actions.flat{position:static;margin-top:1rem;padding:0;border:0;background:transparent}.list-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}.package-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #eee8f6;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfaff);margin-bottom:.8rem}.package-row strong{font-size:1.05rem;color:#160d3d}.package-row p{margin:.25rem 0;color:#746b88;font-weight:650}.package-row small{color:#8b83a0;font-weight:850}.row-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.row-actions form{margin:0}.button.small{min-height:auto;padding:.52rem .75rem;border-radius:14px;font-size:.82rem}
.checkout-body{min-height:100vh;background:radial-gradient(circle at 12% 0,#eee8ff 0,transparent 32%),linear-gradient(180deg,#fff,#fbf9ff);color:#170f3d}.checkout-shell{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:26px 0 70px}.checkout-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;border:1px solid #eee8f6;border-radius:999px;background:#ffffffd9;box-shadow:0 18px 70px rgba(86,59,154,.12);backdrop-filter:blur(16px)}.checkout-hero{text-align:center;padding:clamp(2rem,6vw,5rem) 1rem 2rem}.checkout-hero h1{max-width:820px;margin:.4rem auto .7rem;font-size:clamp(2.3rem,7vw,6rem);line-height:.88;letter-spacing:-.07em}.checkout-hero p{max-width:640px;margin:0 auto;color:#746b88;font-size:1.08rem;font-weight:750}.checkout-alert{padding:1rem 1.2rem;margin:0 auto 1rem;border:1px solid #f0d7d7;border-radius:20px;background:#fff7f7;color:#753131;font-weight:800}.checkout-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1.2rem;align-items:start}.checkout-packages{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.checkout-package,.checkout-form,.result-card{padding:1.25rem;border:1px solid #eee8f6;border-radius:28px;background:#fff;box-shadow:0 24px 80px rgba(71,48,130,.08)}.checkout-package.is-selected{outline:3px solid #ece6ff;border-color:#6b49f6}.checkout-package h2,.checkout-form h2{margin:0 0 .4rem;color:#160d3d}.checkout-package strong{display:block;margin:.2rem 0 .55rem;font-size:1.8rem;color:#6b49f6}.checkout-package p{min-height:64px;color:#746b88;font-weight:650;line-height:1.45}.checkout-package small{display:block;margin-bottom:1rem;color:#8b83a0;font-weight:850}.checkout-form{display:grid;gap:.9rem}.checkout-form label{display:grid;gap:.2rem;font-weight:900;color:#31284d}.checkout-form .button{width:100%;justify-content:center;margin-top:.35rem}.checkout-note{margin:0;color:#827891;font-size:.85rem;text-align:center;font-weight:700}.checkout-result{min-height:100vh;display:grid;place-items:center;padding:24px}.result-card{width:min(620px,100%);text-align:center;padding:clamp(1.5rem,5vw,3rem)}.result-icon{display:grid;place-items:center;width:74px;height:74px;margin:1.5rem auto .7rem;border-radius:24px;background:#f1ecff;color:#6b49f6;font-size:2.2rem;font-weight:950}.result-card.success .result-icon{background:#edfff5;color:#208b55}.result-card.failure .result-icon{background:#fff0f0;color:#a83232}.result-card h1{margin:.2rem 0 .55rem;font-size:clamp(2.3rem,7vw,4.7rem);line-height:.9;letter-spacing:-.06em}.result-card p{color:#746b88;font-weight:750;line-height:1.45}.result-order{display:grid;gap:.25rem;margin:1.2rem 0;padding:1rem;border-radius:20px;background:#fbf9ff;color:#746b88;font-weight:800}.result-order strong{color:#160d3d}.result-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}
@media(max-width:980px){.payment-layout,.checkout-grid{grid-template-columns:1fr}.checkout-packages{grid-template-columns:1fr}.payments-hero{align-items:flex-start;flex-direction:column}.payments-mini-stats{grid-template-columns:1fr}.package-row{align-items:flex-start;flex-direction:column}.checkout-header{border-radius:28px;align-items:flex-start;flex-direction:column}}

/* Ajustes de checkout enfocado en reserva manual */
.form-intro{margin:-.45rem 0 1rem;color:#776e8f;font-weight:750;line-height:1.4}.form-intro b{color:#5f3bf5}.checkout-shell-compact{width:min(1040px,calc(100% - 32px))}.checkout-grid-focused{grid-template-columns:.85fr 1fr}.checkout-summary-card{padding:1.35rem;border:1px solid #eee8f6;border-radius:28px;background:linear-gradient(180deg,#fff,#fbf9ff);box-shadow:0 24px 80px rgba(71,48,130,.08)}.checkout-summary-card>span{display:inline-flex;margin-bottom:.55rem;color:#5f3bf5;font-size:.76rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.checkout-summary-card h2{margin:0 0 .35rem;color:#160d3d;font-size:clamp(1.9rem,4vw,3.2rem);letter-spacing:-.05em;line-height:.94}.checkout-summary-card strong{display:block;margin:.2rem 0 1rem;color:#5f3bf5;font-size:2rem}.checkout-summary-card p,.checkout-steps{color:#776e8f;font-weight:750;line-height:1.45}.checkout-steps{display:grid;gap:.55rem;margin:1rem 0 0;padding:0;list-style:none}.checkout-steps li{padding:.72rem .85rem;border:1px solid #eee8f6;border-radius:16px;background:#fff}.result-next{display:grid;gap:.25rem;margin:1.2rem 0;padding:1rem;border:1px solid #eee8f6;border-radius:20px;background:#fff;color:#746b88;font-weight:750;line-height:1.4}.result-next b{color:#160d3d}.package-row small{word-break:break-all}@media(max-width:980px){.checkout-grid-focused{grid-template-columns:1fr}}

/* Checkout premium / minimalista para reservas con Mercado Pago */
.checkout-payment-page{
    --checkout-purple:#5f3bf5;
    --checkout-purple-2:#7457ff;
    --checkout-ink:#1a1042;
    --checkout-text:#6e6686;
    --checkout-line:rgba(95,59,245,.12);
    --checkout-white:rgba(255,255,255,.88);
    --checkout-shadow:0 22px 70px rgba(26,16,66,.10);
}
.checkout-payment-page .checkout-body,
.checkout-payment-page{
    font-family: Inter, "DM Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.checkout-payment-page .checkout-shell-pro{
    width:min(1140px, calc(100% - 34px));
    padding-top:18px;
    padding-bottom:64px;
}
.checkout-payment-page .checkout-header-pro,
.checkout-payment-page .checkout-summary-pro,
.checkout-payment-page .checkout-form-pro{
    border:1px solid rgba(255,255,255,.65);
    background:var(--checkout-white);
    box-shadow:var(--checkout-shadow);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.checkout-payment-page .checkout-header-pro{
    padding:1rem 1.15rem;
}
.checkout-header-actions{
    display:flex;
    align-items:center;
    gap:.75rem;
    flex-wrap:wrap;
    justify-content:flex-end;
}
.checkout-header-trust{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.72rem 1rem;
    border:1px solid var(--checkout-line);
    border-radius:999px;
    background:rgba(255,255,255,.74);
    color:var(--checkout-ink);
    font-size:.9rem;
    font-weight:800;
}
.checkout-header-trust::before{
    content:"";
    width:10px;
    height:10px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--checkout-purple),var(--checkout-purple-2));
    box-shadow:0 0 0 5px rgba(95,59,245,.1);
}
.checkout-payment-page .checkout-hero-pro{
    padding:clamp(2.8rem, 7vw, 4.7rem) 1rem 2rem;
}
.checkout-payment-page .checkout-hero-pro h1,
.checkout-payment-page .checkout-summary-pro h2,
.checkout-payment-page .checkout-form-pro h2,
.checkout-payment-page .result-card h1{
    font-family: Inter, "DM Sans", ui-sans-serif, system-ui, sans-serif;
    color:var(--checkout-ink);
    font-weight:900;
    letter-spacing:-.075em;
}
.checkout-payment-page .checkout-hero-pro h1{
    max-width:820px;
    margin-bottom:.85rem;
    font-size:clamp(2.5rem, 7vw, 5.25rem);
    line-height:.9;
}
.checkout-selected-pill{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    margin:0 auto 1rem;
    padding:.86rem 1.2rem;
    border-radius:999px;
    background:rgba(255,255,255,.74);
    border:1px solid var(--checkout-line);
    color:var(--checkout-purple);
    font-size:1rem;
    font-weight:900;
    box-shadow:0 14px 28px rgba(95,59,245,.08);
}
.checkout-payment-page .checkout-hero-pro p{
    max-width:720px;
    color:var(--checkout-text);
    font-size:1.06rem;
    line-height:1.65;
    font-weight:650;
}
.checkout-proof-row{
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    gap:.75rem;
    margin-top:1.35rem;
}
.checkout-proof-row span{
    display:inline-flex;
    align-items:center;
    gap:.6rem;
    padding:.8rem 1rem;
    border-radius:999px;
    border:1px solid var(--checkout-line);
    background:rgba(255,255,255,.68);
    color:var(--checkout-ink);
    font-size:.92rem;
    font-weight:800;
}
.checkout-proof-row span::before{
    content:"✓";
    display:grid;
    place-items:center;
    width:22px;
    height:22px;
    border-radius:50%;
    background:rgba(95,59,245,.1);
    color:var(--checkout-purple);
    font-size:.84rem;
    font-weight:900;
}
.checkout-alert-pro{
    width:min(960px, 100%);
    margin-bottom:1.1rem;
    border-color:rgba(220,91,91,.22);
    box-shadow:0 16px 35px rgba(120,52,52,.07);
}
.checkout-grid-pro{
    grid-template-columns:minmax(320px,.88fr) minmax(390px,1.12fr);
    gap:1.3rem;
}
.checkout-payment-page .checkout-summary-pro,
.checkout-payment-page .checkout-form-pro{
    padding:1.45rem;
    border-radius:30px;
}
.checkout-summary-top{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:.7rem;
}
.checkout-payment-page .checkout-summary-pro > .checkout-summary-top > span{
    margin:0;
    display:inline-flex;
    color:var(--checkout-purple);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.checkout-summary-price{
    color:var(--checkout-purple);
    font-size:1.2rem;
    font-weight:900;
    white-space:nowrap;
}
.checkout-payment-page .checkout-summary-pro h2{
    margin:0 0 .55rem;
    font-size:clamp(1.85rem, 3vw, 2.75rem);
    line-height:.95;
}
.checkout-summary-copy{
    margin:0;
    color:var(--checkout-text) !important;
    font-size:1rem;
    line-height:1.6;
}
.checkout-summary-copy b{
    color:var(--checkout-ink);
}
.checkout-trust-box{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:.85rem;
    margin:1.15rem 0 1rem;
}
.checkout-trust-box > div{
    padding:1rem;
    border-radius:20px;
    border:1px solid var(--checkout-line);
    background:linear-gradient(180deg, rgba(255,255,255,.9), rgba(248,245,255,.92));
}
.checkout-trust-box small{
    display:block;
    margin-bottom:.3rem;
    color:#8d84a3;
    font-size:.77rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.checkout-trust-box strong{
    display:block;
    color:var(--checkout-ink);
    font-size:1rem;
    font-weight:900;
}
.checkout-steps-pro{
    gap:.7rem;
}
.checkout-payment-page .checkout-steps-pro li{
    display:grid;
    gap:.25rem;
    padding:.95rem 1rem;
    border-radius:20px;
    border-color:var(--checkout-line);
    background:rgba(255,255,255,.84);
}
.checkout-steps-pro li b{
    color:var(--checkout-ink);
    font-size:.98rem;
}
.checkout-steps-pro li span{
    color:var(--checkout-text);
    font-size:.93rem;
    line-height:1.45;
    font-weight:650;
}
.checkout-form-head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1rem;
    margin-bottom:1rem;
    padding-bottom:1rem;
    border-bottom:1px solid rgba(95,59,245,.08);
}
.checkout-form-kicker{
    display:inline-flex;
    margin-bottom:.45rem;
    color:var(--checkout-purple);
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
}
.checkout-payment-page .checkout-form-pro h2{
    margin:0;
    font-size:clamp(1.9rem, 3vw, 2.75rem);
    line-height:.95;
}
.checkout-form-head p{
    max-width:260px;
    margin:0;
    color:var(--checkout-text);
    font-size:.93rem;
    line-height:1.5;
    font-weight:650;
}
.checkout-field-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1rem;
}
.checkout-payment-page .checkout-form-pro label{
    gap:.35rem;
    color:var(--checkout-ink);
    font-size:.95rem;
    font-weight:850;
}
.checkout-payment-page .checkout-form-pro select,
.checkout-payment-page .checkout-form-pro input{
    min-height:54px;
    margin-top:0;
    border-radius:18px;
    border:1px solid rgba(95,59,245,.14);
    background:rgba(255,255,255,.92);
    color:var(--checkout-ink);
    font-weight:700;
    transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.checkout-payment-page .checkout-form-pro select:focus,
.checkout-payment-page .checkout-form-pro input:focus{
    outline:none;
    border-color:rgba(95,59,245,.36);
    box-shadow:0 0 0 4px rgba(95,59,245,.08);
    background:#fff;
}
.checkout-pay-button{
    width:100%;
    min-height:58px;
    margin-top:.15rem;
    border:0;
    border-radius:20px;
    background:linear-gradient(135deg,var(--checkout-purple),var(--checkout-purple-2));
    color:#fff;
    font-size:1rem;
    font-weight:900;
    letter-spacing:-.02em;
    box-shadow:0 18px 34px rgba(95,59,245,.26);
}
.checkout-pay-button:hover{
    transform:translateY(-1px);
    box-shadow:0 24px 40px rgba(95,59,245,.32);
}
.checkout-assurance{
    display:flex;
    flex-wrap:wrap;
    gap:.65rem;
    margin-top:.2rem;
}
.checkout-assurance span{
    display:inline-flex;
    align-items:center;
    gap:.45rem;
    padding:.68rem .85rem;
    border-radius:999px;
    border:1px solid var(--checkout-line);
    background:rgba(248,245,255,.88);
    color:var(--checkout-ink);
    font-size:.84rem;
    font-weight:800;
}
.checkout-assurance span::before{
    content:"•";
    color:var(--checkout-purple);
    font-size:1.25rem;
    line-height:1;
}
.checkout-payment-page .checkout-note{
    margin-top:.2rem;
    text-align:left;
    color:#827891;
    line-height:1.5;
}
.checkout-payment-page .platform-brand-lockup .brand-icon-img{width:38px;height:38px}
.checkout-payment-page .platform-brand-lockup .brand-lockup-img{width:150px;max-height:42px}
@media(max-width:980px){
    .checkout-header-actions,
    .checkout-form-head{
        align-items:flex-start;
        justify-content:flex-start;
        flex-direction:column;
    }
    .checkout-grid-pro,
    .checkout-field-grid,
    .checkout-trust-box{
        grid-template-columns:1fr;
    }
}
@media(max-width:700px){
    .checkout-payment-page .checkout-shell-pro{width:min(100%, calc(100% - 22px));padding-top:12px}
    .checkout-payment-page .checkout-header-pro{padding:1rem;border-radius:26px}
    .checkout-selected-pill{font-size:.92rem;padding:.8rem 1rem}
    .checkout-proof-row{justify-content:flex-start}
    .checkout-proof-row span,.checkout-assurance span{width:100%;justify-content:flex-start}
    .checkout-payment-page .checkout-summary-pro,
    .checkout-payment-page .checkout-form-pro{padding:1.15rem;border-radius:24px}
    .checkout-payment-page .checkout-form-pro h2{font-size:2rem}
    .checkout-payment-page .checkout-hero-pro{padding:2.2rem .3rem 1.4rem}
}

/* Checkout reservas · refinamientos branding Postealo */
.checkout-mp-mini{
    display:inline-grid;
    place-items:center;
    min-width:28px;
    height:28px;
    padding:0 .4rem;
    border-radius:999px;
    background:linear-gradient(135deg, #009ee3, #37b9ff);
    color:#fff;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:-.02em;
    box-shadow:0 10px 24px rgba(0,158,227,.24);
}
.checkout-journey{
    margin-top:1.35rem;
    padding:1.45rem;
    border:1px solid rgba(255,255,255,.65);
    border-radius:30px;
    background:rgba(255,255,255,.84);
    box-shadow:0 22px 70px rgba(26,16,66,.08);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.checkout-journey-head{
    text-align:center;
    max-width:720px;
    margin:0 auto 1.15rem;
}
.checkout-journey-head h2{
    margin:.4rem 0 .55rem;
    color:var(--checkout-ink);
    font-family:Inter, "DM Sans", ui-sans-serif, system-ui, sans-serif;
    font-size:clamp(2rem,4vw,3.35rem);
    font-weight:900;
    line-height:.95;
    letter-spacing:-.07em;
}
.checkout-journey-head p{
    margin:0;
    color:var(--checkout-text);
    font-size:1rem;
    line-height:1.6;
    font-weight:650;
}
.checkout-journey-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:1rem;
}
.checkout-journey-card{
    padding:1.2rem;
    border-radius:24px;
    border:1px solid rgba(95,59,245,.11);
    background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(248,245,255,.92));
    box-shadow:0 14px 38px rgba(26,16,66,.05);
}
.checkout-journey-card > span{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    margin-bottom:.8rem;
    border-radius:14px;
    background:rgba(95,59,245,.1);
    color:var(--checkout-purple);
    font-size:.9rem;
    font-weight:900;
}
.checkout-journey-card h3{
    margin:0 0 .5rem;
    color:var(--checkout-ink);
    font-family:Inter, "DM Sans", ui-sans-serif, system-ui, sans-serif;
    font-size:1.1rem;
    font-weight:850;
    letter-spacing:-.03em;
}
.checkout-journey-card p{
    margin:0;
    color:var(--checkout-text);
    font-size:.95rem;
    line-height:1.55;
    font-weight:650;
}

.checkout-result-page .checkout-shell-pro{
    min-height:100vh;
}
.checkout-result-wrap{
    padding:clamp(2rem, 6vw, 4rem) 0 1rem;
}
.result-card-pro{
    width:min(860px, 100%);
    margin:0 auto;
    padding:1.6rem;
    border:1px solid rgba(255,255,255,.68);
    border-radius:34px;
    background:rgba(255,255,255,.88);
    box-shadow:0 26px 80px rgba(26,16,66,.10);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}
.result-card-pro .result-icon{
    width:88px;
    height:88px;
    margin:0 auto 1rem;
    border-radius:28px;
    box-shadow:0 18px 40px rgba(95,59,245,.14);
}
.result-kicker-row{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.75rem;
    flex-wrap:wrap;
    margin-bottom:.3rem;
}
.result-status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:.56rem .9rem;
    border-radius:999px;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.02em;
    border:1px solid rgba(95,59,245,.14);
    background:rgba(95,59,245,.08);
    color:var(--checkout-purple);
}
.result-status-pill.success{
    background:rgba(32,139,85,.12);
    border-color:rgba(32,139,85,.18);
    color:#208b55;
}
.result-status-pill.failure{
    background:rgba(168,50,50,.1);
    border-color:rgba(168,50,50,.16);
    color:#a83232;
}
.result-status-pill.pending{
    background:rgba(95,59,245,.08);
    border-color:rgba(95,59,245,.14);
    color:var(--checkout-purple);
}
.result-card-pro h1{
    margin:.35rem auto .7rem;
    max-width:700px;
    font-family:Inter, "DM Sans", ui-sans-serif, system-ui, sans-serif;
    font-size:clamp(2.4rem, 6vw, 4.6rem);
    line-height:.9;
    letter-spacing:-.075em;
    color:var(--checkout-ink);
    font-weight:900;
}
.result-card-pro p{
    max-width:660px;
    margin:0 auto;
    color:var(--checkout-text);
    font-size:1rem;
    line-height:1.65;
    font-weight:650;
}
.result-order-pro{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:.8rem;
    margin:1.4rem 0 1rem;
    padding:0;
    background:transparent;
}
.result-order-pro > div{
    padding:1rem;
    border-radius:20px;
    border:1px solid rgba(95,59,245,.11);
    background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,245,255,.92));
}
.result-order-pro small{
    display:block;
    margin-bottom:.3rem;
    color:#8b83a0;
    font-size:.78rem;
    font-weight:850;
    text-transform:uppercase;
    letter-spacing:.08em;
}
.result-order-pro strong{
    color:var(--checkout-ink);
    font-size:1rem;
    font-weight:900;
    word-break:break-word;
}
.result-next-pro{
    margin:1.15rem 0 0;
    padding:1.1rem;
    border:1px solid rgba(95,59,245,.11);
    border-radius:24px;
    background:rgba(255,255,255,.78);
}
.result-next-pro b{
    display:block;
    margin-bottom:.85rem;
    color:var(--checkout-ink);
    font-size:1.02rem;
    font-weight:900;
}
.result-next-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0,1fr));
    gap:.75rem;
}
.result-next-grid > div{
    padding:.95rem;
    border-radius:18px;
    background:linear-gradient(180deg, rgba(248,245,255,.9), rgba(255,255,255,.92));
    border:1px solid rgba(95,59,245,.10);
}
.result-next-grid strong{
    display:block;
    margin-bottom:.28rem;
    color:var(--checkout-ink);
    font-size:.94rem;
    font-weight:850;
}
.result-next-grid span{
    color:var(--checkout-text);
    font-size:.9rem;
    line-height:1.5;
    font-weight:650;
}
.result-actions-pro{
    margin-top:1.25rem;
}
@media(max-width:980px){
    .checkout-journey-grid,
    .result-order-pro,
    .result-next-grid{
        grid-template-columns:1fr;
    }
}

/* Logo real Mercado Pago + confianza visual en checkout */
.checkout-header-trust .checkout-mp-logo{
    display:block;
    width:92px;
    height:auto;
    max-height:36px;
    object-fit:contain;
    margin-right:.15rem;
}
.checkout-header-trust{
    min-height:50px;
}
.checkout-mp-card{
    display:flex;
    align-items:center;
    gap:1rem;
    padding:1rem;
    border:1px solid rgba(0,158,227,.15);
    border-radius:22px;
    background:linear-gradient(135deg, rgba(255,255,255,.95), rgba(237,249,255,.88));
    box-shadow:0 16px 34px rgba(0,158,227,.08);
}
.checkout-mp-card img{
    display:block;
    width:118px;
    height:auto;
    object-fit:contain;
    flex:0 0 auto;
}
.checkout-mp-card div{
    display:grid;
    gap:.18rem;
}
.checkout-mp-card strong{
    color:var(--checkout-ink, #1a1042);
    font-size:.98rem;
    font-weight:900;
    letter-spacing:-.02em;
}
.checkout-mp-card span{
    color:var(--checkout-text, #6e6686);
    font-size:.9rem;
    line-height:1.45;
    font-weight:650;
}
.checkout-pay-button{
    position:relative;
    overflow:hidden;
}
.checkout-pay-button::after{
    content:"";
    position:absolute;
    inset:-40% auto -40% -38%;
    width:34%;
    transform:skewX(-18deg);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.34), transparent);
    animation:checkoutButtonShine 3.4s ease-in-out infinite;
    pointer-events:none;
}
.checkout-pay-button span{
    position:relative;
    z-index:1;
}
@keyframes checkoutButtonShine{
    0%, 58%{left:-42%; opacity:0}
    66%{opacity:.85}
    88%, 100%{left:112%; opacity:0}
}
.result-card-pro .checkout-header-trust .checkout-mp-logo,
.checkout-result-page .checkout-header-trust .checkout-mp-logo{
    width:92px;
}
@media(max-width:700px){
    .checkout-header-trust .checkout-mp-logo{width:84px}
    .checkout-mp-card{
        align-items:flex-start;
        flex-direction:column;
        gap:.75rem;
    }
    .checkout-mp-card img{width:112px}
}
@media (prefers-reduced-motion: reduce){
    .checkout-pay-button::after{animation:none;display:none}
}

/* Planes manuales de clientes */
.clients-plan-card{
    margin:1rem 0;
    padding:1.35rem;
    border:1px solid #eee8f6;
    border-radius:28px;
    background:rgba(255,255,255,.92);
    box-shadow:0 24px 80px rgba(71,48,130,.08);
}
.clients-plan-list{display:grid;gap:.85rem}
.client-plan-row{
    display:grid;
    grid-template-columns:auto minmax(210px,1.2fr) minmax(140px,.8fr) minmax(130px,.65fr) minmax(145px,.7fr) minmax(190px,1fr) auto;
    align-items:end;
    gap:.85rem;
    padding:1rem;
    border:1px solid #eee8f6;
    border-radius:22px;
    background:linear-gradient(180deg,#fff,#fbfaff);
}
.client-plan-row label{display:grid;gap:.35rem;color:#31284d;font-size:.78rem;font-weight:850;text-transform:none}
.client-plan-row input,.client-plan-row select{min-height:42px;border:1px solid #e7e0ef;border-radius:14px;padding:.6rem .75rem;background:#fff;color:#24193f;font:inherit;font-weight:700}
.client-plan-row .client-row-main{display:grid;gap:.25rem}
.client-plan-row .client-row-main small{color:#7b728f;font-weight:700}
.client-plan-row .client-status{width:max-content;margin-top:.15rem}
@media(max-width:1120px){.client-plan-row{grid-template-columns:1fr 1fr}.client-plan-row .client-avatar{display:none}.client-plan-row button{grid-column:1/-1}}
@media(max-width:700px){.client-plan-row{grid-template-columns:1fr}}

/* Asignación manual de galerías a clientes */
.client-event-assign-form{
    display:grid;
    grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;
    align-items:end;
    gap:.9rem;
    margin:1rem 0 1.1rem;
    padding:1rem;
    border:1px solid #eee8f6;
    border-radius:22px;
    background:linear-gradient(180deg,#fff,#fbfaff);
}
.client-event-assign-form label{display:grid;gap:.35rem;color:#31284d;font-size:.82rem;font-weight:850}
.client-event-assign-form select{min-height:44px;border:1px solid #e7e0ef;border-radius:14px;padding:.62rem .8rem;background:#fff;color:#24193f;font:inherit;font-weight:700}
.client-event-link-list{display:grid;gap:.7rem}
.client-event-link-list article{
    display:grid;
    grid-template-columns:minmax(200px,1fr) minmax(220px,1fr) auto;
    align-items:center;
    gap:.85rem;
    padding:1rem;
    border:1px solid #eee8f6;
    border-radius:20px;
    background:#fff;
}
.client-event-link-list strong{display:block;color:#160d3d;font-weight:900}
.client-event-link-list small{display:block;color:#7b728f;font-weight:700}
@media(max-width:900px){.client-event-assign-form,.client-event-link-list article{grid-template-columns:1fr}.client-event-assign-form button,.client-event-link-list button{width:100%}}

/* Plan por galería de cliente */
.client-event-assign-form{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:1rem;align-items:end}.client-event-assign-form label{display:grid;gap:.35rem;font-weight:800;color:#31284d}.client-event-link-card{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(420px,1.35fr) auto;gap:1rem;align-items:center}.client-gallery-plan-form{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr)) auto;gap:.75rem;align-items:end}.client-gallery-plan-form label{display:grid;gap:.3rem;font-size:.78rem;font-weight:850;color:#584d70}.client-gallery-plan-form input,.client-gallery-plan-form select,.client-event-assign-form input,.client-event-assign-form select{width:100%;min-height:42px;border:1px solid #e7e0ef;border-radius:14px;padding:.65rem .75rem;background:#fff;color:#24193f;font:inherit;font-weight:700}.client-gallery-plan-form .button{white-space:nowrap}@media(max-width:1180px){.client-event-assign-form,.client-event-link-card,.client-gallery-plan-form{grid-template-columns:1fr}.client-event-link-card{align-items:stretch}}

/* Ficha individual de cliente */
.clients-directory-card,
.client-profile-admin-page .client-profile-card,
.client-profile-admin-page .clients-list-card{
    border:1px solid rgba(95,59,245,.10);
    border-radius:28px;
    background:rgba(255,255,255,.86);
    box-shadow:0 24px 70px rgba(35,24,82,.08);
    padding:1.25rem;
}
.client-section-copy{margin:.25rem 0 0;color:#756d8c;font-weight:700;line-height:1.45}
.client-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin-top:1rem}
.client-directory-card-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem;border:1px solid #eee8f6;border-radius:22px;background:linear-gradient(180deg,#fff,#fbfaff)}
.client-directory-avatar{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#f1ecff;color:#5f3bf5;font-weight:950;font-size:1.15rem}
.client-directory-info{display:grid;gap:.22rem;min-width:0}.client-directory-info strong{color:#160d3d;font-size:1.02rem}.client-directory-info small{color:#756d8c;font-weight:750;word-break:break-word}.client-directory-pills{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}
.client-profile-hero{align-items:center}.client-back-link{display:inline-flex;margin-bottom:.75rem;color:#5f3bf5;font-weight:850;text-decoration:none}.client-profile-actions{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:flex-end}.client-profile-stats article{min-height:100px}.client-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}.client-profile-form{display:grid;gap:.85rem}.client-profile-form label{display:grid;gap:.35rem;color:#31284d;font-weight:850}.client-profile-form input,.client-profile-form select{width:100%;min-height:48px;border:1px solid #e7e0ef;border-radius:16px;padding:.75rem .9rem;background:#fff;color:#160d3d;font:inherit;font-weight:750}.client-switch-line{display:flex!important;align-items:center;gap:.65rem;padding:.85rem;border:1px solid #eee8f6;border-radius:16px;background:#fbf9ff}.client-switch-line input{width:auto;min-height:auto}
.client-gallery-detail-list{display:grid;gap:1rem;margin-top:1rem}.client-gallery-detail-card{padding:1rem;border:1px solid #eee8f6;border-radius:24px;background:linear-gradient(180deg,#fff,#fbfaff)}.client-gallery-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.client-gallery-detail-head h3{margin:.2rem 0 .2rem;color:#160d3d;font-size:1.35rem;letter-spacing:-.04em}.client-gallery-detail-head p{margin:0 0 .5rem;color:#756d8c;font-weight:750}.client-gallery-metrics{display:grid;grid-template-columns:repeat(2,auto);gap:.15rem .75rem;align-items:end;text-align:right}.client-gallery-metrics strong{color:#5f3bf5;font-size:1.2rem}.client-gallery-metrics small{color:#756d8c;font-weight:800}.client-gallery-mini-stats{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.client-gallery-mini-stats span{padding:.55rem .75rem;border:1px solid #eee8f6;border-radius:999px;background:#fff;color:#31284d;font-size:.85rem;font-weight:850}.client-gallery-plan-form-wide{grid-template-columns:repeat(5,minmax(120px,1fr));align-items:end}.client-gallery-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}.client-gallery-actions form{margin:0}.client-profile-simple-list{display:grid;gap:.7rem;margin-top:1rem}.client-profile-list-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.8rem;align-items:center;padding:.9rem;border:1px solid #eee8f6;border-radius:18px;background:#fff}.client-profile-list-row strong{color:#160d3d}.client-profile-list-row small{color:#756d8c;font-weight:750}.client-profile-admin-page .client-event-assign-form{margin-top:1rem}
@media(max-width:1050px){.client-directory-grid,.client-profile-grid{grid-template-columns:1fr}.client-gallery-plan-form-wide{grid-template-columns:1fr 1fr}.client-gallery-detail-head{flex-direction:column}.client-gallery-metrics{text-align:left}.client-profile-list-row{grid-template-columns:1fr}.client-directory-card-item{grid-template-columns:auto 1fr}.client-directory-card-item>a{grid-column:1/-1;justify-content:center}}
@media(max-width:720px){.client-gallery-plan-form-wide{grid-template-columns:1fr}.client-profile-actions{justify-content:flex-start}.client-gallery-actions .button{width:100%;justify-content:center}}

.event-music-current {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(95,59,245,.14);
    border-radius: 22px;
    background: rgba(248,245,255,.76);
}
.event-music-current > span {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    flex: 0 0 auto;
    border-radius: 18px;
    background: linear-gradient(135deg, #5f3bf5, #7457ff);
    color: #fff;
    font-size: 1.45rem;
    font-weight: 900;
    box-shadow: 0 16px 28px rgba(95,59,245,.18);
}
.event-music-current > div {
    min-width: 0;
    flex: 1;
    display: grid;
    gap: .35rem;
}
.event-music-current strong {
    color: var(--ink, #1a1042);
    font-weight: 900;
}
.event-music-current small {
    color: var(--muted, #77708f);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.event-music-current audio {
    width: 100%;
    max-width: 420px;
}
