:root {
  --bg: #fff6fa;
  --bg-2: #f9e4ed;
  --pink: #e85d97;
  --pink-strong: #c73175;
  --rose-dark: #4a2032;
  --gold: #c99a45;
  --cream: #fffaf3;
  --text: #2a1a22;
  --muted: #806373;
  --line: rgba(74, 32, 50, .12);
  --shadow: 0 22px 60px rgba(90, 24, 55, .16);
  --free: #2dbf78;
  --reserved: #f0a02f;
  --paid: #2f81d9;
}
* { box-sizing: border-box; }
html { min-height: 100%; background: radial-gradient(circle at top, #ffe2ee 0, var(--bg) 38%, #fff 100%); }
body { margin: 0; font-family: Inter, system-ui, -apple-system, Segoe UI, sans-serif; color: var(--text); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.phone-shell { width: min(100%, 430px); min-height: 100vh; margin: 0 auto; padding: 14px 14px 28px; background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,246,250,.96)); box-shadow: 0 0 0 1px rgba(255,255,255,.65), 0 0 80px rgba(199,49,117,.11); }
.hero-card { position: relative; min-height: 420px; overflow: hidden; border-radius: 34px; box-shadow: var(--shadow); background: var(--bg-2); }
.cover { width: 100%; height: 420px; object-fit: cover; }
.hero-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(74,32,50,.05), rgba(74,32,50,.18) 38%, rgba(255,246,250,.98) 78%); }
.profile-block { position: absolute; left: 20px; right: 20px; bottom: 22px; text-align: center; }
.avatar { width: 104px; height: 104px; border-radius: 50%; object-fit: cover; margin: 0 auto 12px; border: 5px solid rgba(255,255,255,.88); box-shadow: 0 12px 32px rgba(74,32,50,.2); }
.verified-row { display: flex; align-items: center; justify-content: center; gap: 8px; }
h1, h2, h3 { margin: 0; line-height: 1.06; }
h1 { font-family: 'Playfair Display', serif; font-size: 34px; color: var(--rose-dark); }
.verified { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--pink); color: white; font-size: 13px; font-weight: 800; }
.handle { margin: 5px 0 0; color: var(--pink-strong); font-weight: 700; }
.subtitle { margin: 8px 0 0; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; font-size: 11px; color: var(--gold); }
.bio { margin: 10px auto 0; max-width: 320px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.social-row { display: flex; justify-content: center; gap: 12px; padding: 18px 2px 12px; }
.social-pill { width: 46px; height: 46px; border-radius: 17px; display: grid; place-items: center; background: rgba(255,255,255,.82); border: 1px solid var(--line); box-shadow: 0 10px 26px rgba(74,32,50,.08); color: var(--pink-strong); font-weight: 800; font-size: 12px; }
.stats-card, .legend-card, .instructions-card, .main-cta-card { border: 1px solid var(--line); background: rgba(255,255,255,.82); border-radius: 26px; box-shadow: 0 14px 34px rgba(74,32,50,.08); }
.stats-card { display: flex; align-items: center; justify-content: space-between; padding: 15px 16px; margin: 6px 0 14px; }
.tiny-label { display: block; color: var(--muted); font-size: 11px; margin-bottom: 4px; text-transform: uppercase; letter-spacing: .08em; }
.stats-card strong { color: var(--rose-dark); font-size: 14px; }
.mini-link { color: var(--pink-strong); font-weight: 800; font-size: 13px; }
.main-cta-card { padding: 22px; background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,231,241,.88)); }
.badge { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: rgba(232,93,151,.12); color: var(--pink-strong); font-weight: 800; font-size: 12px; margin-bottom: 12px; }
.main-cta-card h2 { font-family: 'Playfair Display', serif; font-size: 27px; color: var(--rose-dark); }
.main-cta-card p, .instructions-card p { color: var(--muted); line-height: 1.45; font-size: 14px; }
.cta-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 18px; }
.btn { min-height: 48px; border-radius: 17px; display: inline-flex; align-items: center; justify-content: center; text-align: center; font-weight: 800; padding: 0 14px; }
.btn.primary { background: linear-gradient(135deg, var(--pink), var(--pink-strong)); color: white; box-shadow: 0 14px 26px rgba(199,49,117,.26); }
.btn.secondary { background: white; color: var(--pink-strong); border: 1px solid var(--line); }
.btn.full { width: 100%; margin-top: 8px; }
.section-head { padding: 24px 4px 12px; }
.section-head h3 { font-size: 18px; color: var(--rose-dark); }
.section-head p { margin: 5px 0 0; font-size: 13px; color: var(--muted); }
.gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gallery-item { overflow: hidden; border-radius: 26px; background: white; border: 1px solid var(--line); box-shadow: 0 12px 28px rgba(74,32,50,.08); }
.gallery-item img { width: 100%; aspect-ratio: 1 / 1.15; object-fit: cover; background: var(--bg-2); }
.gallery-caption { padding: 12px; }
.gallery-caption strong { display: block; font-size: 13px; line-height: 1.25; color: var(--rose-dark); }
.gallery-caption a { display: inline-flex; margin-top: 8px; color: var(--pink-strong); font-size: 12px; font-weight: 800; }
.footer { text-align: center; color: var(--muted); font-size: 12px; padding: 26px 0 4px; }
.footer strong { color: var(--pink-strong); }
.top-nav { display: flex; justify-content: space-between; align-items: center; padding: 10px 4px 16px; font-weight: 800; color: var(--rose-dark); }
.top-nav a { color: var(--pink-strong); }
.raffle-hero { display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: center; padding: 16px; border-radius: 30px; background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(255,231,241,.9)); border: 1px solid var(--line); box-shadow: var(--shadow); }
.raffle-hero img { border-radius: 24px; background: white; }
.raffle-hero h1 { font-size: 28px; }
.raffle-hero p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.4; }
.legend-card { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; padding: 12px; margin: 14px 0; font-size: 12px; font-weight: 800; }
.legend-card div { display: flex; align-items: center; justify-content: center; gap: 6px; }
.dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.dot.free { background: var(--free); }
.dot.reserved { background: var(--reserved); }
.dot.paid { background: var(--paid); }
.instructions-card { padding: 18px; margin-bottom: 14px; }
.instructions-card h2 { font-size: 20px; color: var(--rose-dark); }
.price { margin-bottom: 0; }
.ticket-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.ticket { min-height: 69px; border-radius: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; color: white; box-shadow: 0 8px 18px rgba(42,26,34,.10); border: 1px solid rgba(255,255,255,.4); }
.ticket strong { font-size: 18px; }
.ticket span { font-size: 10px; font-weight: 800; opacity: .94; }
.ticket small { font-size: 9px; max-width: 58px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .9; margin-top: 2px; }
.ticket.free { background: linear-gradient(135deg, #37c987, #159d5c); }
.ticket.reserved { background: linear-gradient(135deg, #f6b84b, #e18411); }
.ticket.paid { background: linear-gradient(135deg, #4092e5, #1766ba); }
.compact { margin-top: 16px; }
@media (min-width: 720px) {
  body { padding: 22px 0; }
  .phone-shell { border-radius: 38px; min-height: calc(100vh - 44px); }
}
@media (max-width: 370px) {
  .ticket-grid { grid-template-columns: repeat(4, 1fr); }
  .cta-actions { grid-template-columns: 1fr; }
  h1 { font-size: 30px; }
}
/* BioWeb v2 additions */
.hero-media-card { min-height: 620px; background:#111; }
.hero-media-card .cover { height: 620px; }
.cover-video-wrap { position:absolute; inset:0; }
.cover-video-wrap iframe { width:100%; height:100%; border:0; }
.dark-soft { background: linear-gradient(180deg, rgba(20,8,15,.08), rgba(20,8,15,.18) 34%, rgba(20,8,15,.52) 66%, rgba(255,246,250,.98) 92%); }
.floating-profile { bottom: 26px; }
.glass-socials { margin-top: -18px; position: relative; z-index: 5; }
.social-pill svg, .reach-mini svg { width: 24px; height: 24px; fill: currentColor; stroke: currentColor; stroke-width: 0; }
.social-pill { color: #fff; background: #171217; border: 1px solid rgba(255,255,255,.14); box-shadow: 0 12px 28px rgba(18,8,14,.20); }
.icon-instagram { background: radial-gradient(circle at 30% 110%, #ffd776 0 18%, #f56040 35%, #c13584 62%, #405de6 100%); }
.icon-facebook { background: #1877f2; }
.icon-tiktok { background: #121212; }
.icon-whatsapp { background: #25d366; }
.icon-youtube { background: #ff0033; }
.reach-card { display:flex; align-items:center; gap:12px; padding:14px; margin:4px 0 16px; border-radius: 25px; background: rgba(255,255,255,.75); border:1px solid rgba(74,32,50,.13); box-shadow:0 16px 35px rgba(74,32,50,.09); backdrop-filter: blur(10px); }
.reach-icons { display:flex; align-items:center; min-width:112px; }
.reach-mini { width:35px; height:35px; border-radius:50%; display:grid; place-items:center; margin-left:-8px; border:2px solid #fff; color:#fff; box-shadow:0 8px 18px rgba(0,0,0,.15); }
.reach-mini:first-child { margin-left:0; }
.reach-mini svg { width:17px; height:17px; }
.reach-copy { flex:1; min-width:0; }
.reach-copy strong { display:block; color:var(--rose-dark); font-size:14px; line-height:1.1; }
.reach-copy span { display:block; margin-top:4px; color:var(--muted); font-size:10px; text-transform:uppercase; font-weight:800; letter-spacing:.04em; }
.reach-number { min-width:80px; height:38px; padding:0 13px; border-radius:999px; display:flex; align-items:center; justify-content:center; gap:8px; background:#111; color:#fff; font-weight:900; }
.reach-number span { width:10px; height:10px; background:#fff; border-radius:50%; opacity:.85; }
.admin-shell { max-width: 520px; }
.admin-card { background: rgba(255,255,255,.86); border: 1px solid var(--line); border-radius: 28px; padding: 18px; box-shadow: var(--shadow); }
.admin-card h1 { font-family: Inter, sans-serif; font-size: 28px; }
.admin-card h2 { font-size:18px; margin:24px 0 12px; color:var(--rose-dark); }
.admin-card p { color:var(--muted); line-height:1.45; }
.admin-card label { display:block; font-weight:800; font-size:12px; color:var(--rose-dark); margin:12px 0; }
.admin-card input, .admin-card textarea, .admin-card select { width:100%; min-height:44px; border:1px solid var(--line); border-radius:14px; padding:10px 12px; margin-top:6px; font: inherit; background:#fff; color:var(--text); }
.admin-card textarea { resize:vertical; }
.admin-row { display:grid; grid-template-columns: 118px 1fr; gap:10px; align-items:center; margin:10px 0; }
.admin-row .check { margin:0; display:flex; align-items:center; gap:8px; }
.admin-row .check input { width:auto; min-height:auto; margin:0; }
.admin-card fieldset { border:1px solid var(--line); border-radius:20px; margin:14px 0; padding:12px; }
.admin-card legend { color:var(--pink-strong); font-weight:900; padding:0 8px; }
.notice { background:#e8fff3; color:#12603b; border:1px solid #9fe4bf; padding:12px; border-radius:16px; font-weight:800; margin:14px 0; }
@media (max-width: 370px) { .hero-media-card, .hero-media-card .cover { min-height: 570px; height:570px; } .admin-row { grid-template-columns: 1fr; } }

/* Simple admin login */
.login-page {
  min-height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 34px 10px;
  background: #fff;
}
.simple-login {
  width: min(820px, 100%);
  display: grid;
  justify-items: center;
  gap: 22px;
}
.login-brand {
  width: 100%;
  min-height: 56px;
  border: 1px solid #e7e1e5;
  background: rgba(255,255,255,.92);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 22px;
  color: #a9a0a8;
}
.login-brand strong { color: #2f25f4; font-weight: 900; display:none; }
.login-brand small { color: #aaa1aa; font-size: 16px; }
.login-spark { color: #a9a0a8; font-size: 17px; }
.login-input-wrap {
  width: 100%;
  min-height: 56px;
  border: 1px solid #e7e1e5;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 22px;
}
.login-input-wrap input {
  border: 0;
  outline: 0;
  flex: 1;
  min-height: 52px;
  font: inherit;
  color: #57515a;
  background: transparent;
}
.login-input-wrap input::placeholder { color: #aaa1aa; }
.login-icon { color: #9ca0ad; font-size: 18px; }
.login-button {
  width: 160px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #3022f3;
  color: white;
  font-weight: 900;
  letter-spacing: .02em;
  box-shadow: 0 20px 34px rgba(48,34,243,.22);
  cursor: pointer;
}
.login-button:hover { filter: brightness(1.04); }
.login-error {
  width: 100%;
  border: 1px solid #ffc4c4;
  background: #fff0f0;
  color: #9d2222;
  padding: 12px 16px;
  font-weight: 800;
}
.cover-video-file { width: 100%; height: 100%; object-fit: cover; }
.hint { font-size: 12px !important; margin: 8px 0 0 !important; color: var(--muted); }
@media (max-width: 520px) {
  .login-page { padding-top: 26px; }
  .simple-login { gap: 18px; }
}

/* === V5 BioWeb improvements === */
.cover-youtube-crop{position:absolute;inset:0;overflow:hidden;background:#000;border-radius:34px;}
.cover-youtube-crop iframe{position:absolute;top:-34%;left:-80%;width:260%;height:168%;border:0;pointer-events:none;filter:saturate(.9) contrast(1.04);}
.cover-video-file{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.hero-media-card{height:420px;}
.media-badge{position:absolute;top:10px;right:10px;z-index:3;background:rgba(0,0,0,.58);color:#fff;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;letter-spacing:.04em;backdrop-filter:blur(8px);}
.gallery-item{cursor:pointer;position:relative;}
.gallery-caption span{display:inline-flex;margin-top:8px;font-size:12px;font-weight:800;color:var(--pink-strong);background:rgba(255,255,255,.78);padding:6px 10px;border-radius:999px;}
.modal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:18px;}
.modal.is-open{display:flex;}
.modal-backdrop{position:absolute;inset:0;background:rgba(20,8,14,.72);backdrop-filter:blur(10px);}
.modal-panel{position:relative;width:min(100%,430px);max-height:90vh;overflow:auto;border-radius:30px;background:linear-gradient(180deg,#fff,#fff6fa);box-shadow:0 30px 80px rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.7);}
.modal-close{position:absolute;right:12px;top:12px;z-index:5;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;font-size:28px;line-height:1;cursor:pointer;}
.modal-media{background:#111;border-radius:30px 30px 0 0;overflow:hidden;min-height:280px;display:grid;place-items:center;}
.modal-media iframe,.modal-media video{width:100%;aspect-ratio:9/16;max-height:70vh;border:0;background:#000;}
.carousel{position:relative;width:100%;background:#111;}
.carousel .slide{display:none;width:100%;aspect-ratio:4/5;object-fit:cover;}
.carousel .slide.active{display:block;}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.82);color:#4a2032;font-size:30px;font-weight:800;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.2);}
.carousel-btn.prev{left:12px}.carousel-btn.next{right:12px}
.carousel-count{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.58);color:#fff;border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;}
.modal-copy{padding:18px;}
.modal-copy h3{font-size:24px;font-family:'Playfair Display',serif;color:var(--rose-dark);margin-bottom:8px;}
.modal-copy p{margin:0 0 16px;color:var(--muted);line-height:1.5;}
.admin-plan-box{padding:14px;border:1px dashed rgba(199,49,117,.28);border-radius:18px;background:rgba(255,255,255,.58);margin:10px 0 18px;}
.admin-plan-box strong{display:block;color:var(--rose-dark);margin-bottom:4px;}
.admin-flex{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.admin-card select,.admin-card input[type="number"]{width:100%;border:1px solid var(--line);border-radius:14px;padding:13px 14px;font:inherit;background:#fff;color:var(--text);}
.item-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0 12px;}
.item-tabs label{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);border-radius:14px;background:#fff;margin:0;font-weight:700;}
.item-media-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.current-file{font-size:11px;color:var(--muted);word-break:break-all;margin-top:4px;}
.limit-note{font-size:12px;color:#8d5260;background:#fff1f6;border:1px solid rgba(199,49,117,.15);border-radius:14px;padding:10px 12px;line-height:1.45;}
@media (min-width:700px){.modal{padding:32px}.cover-youtube-crop iframe{top:-30%;left:-75%;width:250%;height:160%;}}
/* v6 - ColvenGroup branding/footer */
.powered-footer a{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  color:inherit;
  text-decoration:none;
  transition: transform .18s ease, opacity .18s ease;
}
.powered-footer a:hover{ transform: translateY(-1px); opacity:.9; }
.powered-footer strong{ color:var(--pink-strong); letter-spacing:.02em; }
.top-nav{ gap:10px; flex-wrap:wrap; justify-content:center; }
.top-nav a,.top-nav span{ white-space:nowrap; }


/* === V7 CTA de equipo y compartir === */
.team-cta-card{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:12px;
  align-items:center;
  padding:15px;
  margin:0 0 16px;
  border-radius:25px;
  background:linear-gradient(135deg, rgba(74,32,50,.96), rgba(199,49,117,.90));
  color:#fff;
  box-shadow:0 18px 42px rgba(74,32,50,.18);
  border:1px solid rgba(255,255,255,.18);
}
.team-cta-icon{
  width:42px;height:42px;border-radius:16px;
  display:grid;place-items:center;
  background:rgba(255,255,255,.14);
  color:#f8d889;font-size:22px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
}
.team-cta-copy{min-width:0;}
.team-cta-copy span{display:block;color:#f8d889;text-transform:uppercase;letter-spacing:.13em;font-size:10px;font-weight:900;margin-bottom:4px;}
.team-cta-copy strong{display:block;font-size:15px;line-height:1.15;font-weight:900;}
.team-cta-copy p{margin:5px 0 0;color:rgba(255,255,255,.78);font-size:12px;line-height:1.35;}
.team-cta-button{
  grid-column:1 / -1;
  min-height:42px;
  border-radius:15px;
  display:flex;align-items:center;justify-content:center;
  background:#fff;color:var(--pink-strong);
  font-weight:900;font-size:13px;
  box-shadow:0 12px 26px rgba(0,0,0,.16);
}
.cta-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:4px;}
.cta-title-row .badge{margin-bottom:8px;}
.share-chip{
  border:1px solid rgba(199,49,117,.15);
  background:rgba(255,255,255,.72);
  color:var(--pink-strong);
  border-radius:999px;
  min-height:32px;
  padding:0 10px;
  font:inherit;
  font-size:11px;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
  box-shadow:0 8px 18px rgba(74,32,50,.06);
}
.share-chip:hover{background:#fff;transform:translateY(-1px);}
@media (min-width:390px){.team-cta-card{grid-template-columns:42px 1fr auto}.team-cta-button{grid-column:auto;padding:0 14px;}}

/* v8 admin accordion improvements */
.admin-accordion-form{display:block;}
.admin-accordion,
.admin-subaccordion{
  border:1px solid rgba(199,49,117,.18);
  border-radius:20px;
  background:rgba(255,255,255,.72);
  margin:12px 0;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(74,39,52,.045);
}
.admin-accordion summary,
.admin-subaccordion summary{
  cursor:pointer;
  list-style:none;
  padding:18px 18px;
  font-weight:900;
  color:var(--rose-dark);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.admin-accordion summary::-webkit-details-marker,
.admin-subaccordion summary::-webkit-details-marker{display:none;}
.admin-accordion summary::after,
.admin-subaccordion summary::after{
  content:'+';
  width:28px;
  height:28px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(211,54,123,.10);
  color:var(--pink-strong);
  font-weight:900;
  flex:0 0 auto;
}
.admin-accordion[open] > summary::after,
.admin-subaccordion[open] > summary::after{content:'−';}
.admin-accordion[open] > summary,
.admin-subaccordion[open] > summary{border-bottom:1px solid rgba(199,49,117,.12);}
.accordion-body{padding:14px 18px 20px;}
.compact-body{padding-top:10px;}
.nested-accordion{margin-top:14px;}
.admin-subaccordion{border-radius:16px;margin:10px 0;background:rgba(255,250,252,.88);}
.admin-subaccordion summary{padding:14px 15px;font-size:.94rem;}
.sticky-save{margin-top:18px;}
.upgrade-box span{display:block;line-height:1.35;margin-bottom:12px;}
.upgrade-wa{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 14px;
  border-radius:999px;
  background:#25D366;
  color:white!important;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(37,211,102,.25);
}
.admin-card > p strong{color:var(--rose-dark);}


/* === V9 admin tabs + raffle controls === */
.admin-shell .tab-nav{display:flex;justify-content:center;gap:0;padding:12px 4px 18px;flex-wrap:nowrap;}
.admin-shell .tab-nav a{min-height:38px;padding:9px 13px;border:1px solid var(--line);border-left:0;background:rgba(255,255,255,.72);color:var(--pink-strong);font-weight:900;box-shadow:0 8px 20px rgba(74,32,50,.05);}
.admin-shell .tab-nav a:first-child{border-left:1px solid var(--line);border-radius:16px 0 0 16px;}
.admin-shell .tab-nav a:last-child{border-radius:0 16px 16px 0;}
.admin-shell .tab-nav a.active{background:linear-gradient(135deg,var(--pink),var(--pink-strong));color:#fff;border-color:transparent;}
.ticket-admin-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:14px;max-height:68vh;overflow:auto;padding-right:4px;}
.ticket-admin-card{display:grid;grid-template-columns:44px 112px 1fr;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff;}
.ticket-admin-card strong{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;color:#fff;font-weight:900;}
.ticket-admin-card.free strong{background:linear-gradient(135deg,#37c987,#159d5c);} .ticket-admin-card.reserved strong{background:linear-gradient(135deg,#f6b84b,#e18411);} .ticket-admin-card.paid strong{background:linear-gradient(135deg,#4092e5,#1766ba);}
.ticket-admin-card select,.ticket-admin-card input{margin-top:0;min-height:38px;border-radius:12px;padding:8px;font-size:12px;}
.winner-fieldset{background:rgba(255,246,250,.6);} .winner-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.draw-card{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 0;padding:16px;border:1px solid var(--line);border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.9),rgba(255,231,241,.86));box-shadow:0 14px 34px rgba(74,32,50,.08);}
.draw-copy{flex:1;min-width:0}.draw-copy span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;color:var(--pink-strong)}.draw-copy strong{display:block;margin-top:5px;color:var(--rose-dark);font-size:22px}.draw-bar{height:9px;background:rgba(74,32,50,.1);border-radius:999px;overflow:hidden;margin-top:11px}.draw-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(135deg,var(--pink),var(--gold));}
.days-circle{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(circle at 35% 25%,#fff 0 22%,#ffe3ed 43%,#d94d86 100%);border:4px solid rgba(255,255,255,.88);box-shadow:0 15px 30px rgba(199,49,117,.18);color:var(--rose-dark);text-align:center;line-height:1;}
.days-circle small{font-size:10px;font-weight:900;text-transform:uppercase;color:var(--pink-strong)}.days-circle b{font-size:29px;margin:4px 0 2px}.days-circle em{font-size:10px;font-style:normal;font-weight:900;color:var(--muted)}
.winners-card{margin-top:16px;padding:18px;border:1px solid var(--line);border-radius:28px;background:rgba(255,255,255,.84);box-shadow:0 14px 34px rgba(74,32,50,.08)}.winners-card h2{font-size:21px;color:var(--rose-dark);margin:0}.winners-card p{font-size:13px;line-height:1.4;color:var(--muted);margin:8px 0 12px}.winner-list{display:grid;gap:9px}.winner-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:18px;background:#fff}.winner-item>strong{width:42px;height:42px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,var(--pink),var(--pink-strong));color:#fff}.winner-item b{display:block;font-size:13px;color:var(--rose-dark)}.winner-item span{display:block;font-size:11px;color:var(--muted);margin-top:2px}.winner-item em{font-style:normal;font-size:10px;color:var(--gold);font-weight:900;white-space:nowrap;}
@media(max-width:390px){.admin-shell .tab-nav a{padding:8px 9px;font-size:13px}.ticket-admin-card{grid-template-columns:40px 1fr;}.ticket-admin-card input{grid-column:1 / -1}.winner-row{grid-template-columns:1fr}.winner-item{grid-template-columns:45px 1fr}.winner-item em{grid-column:2}}

/* === V10 SEO/share + raffle winner links === */
.raffle-title-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;flex-wrap:wrap;}
.raffle-title-actions .badge{margin:0;}
.raffle-share{font-size:11px;padding:8px 11px;white-space:nowrap;}
.winner-video-link{display:inline-flex;align-items:center;justify-content:center;width:max-content;margin-top:7px;padding:6px 10px;border-radius:999px;background:rgba(217,77,134,.10);border:1px solid rgba(217,77,134,.18);color:var(--pink-strong);font-size:10px;font-weight:900;text-decoration:none;text-transform:uppercase;letter-spacing:.04em;}
.winner-video-link:hover{background:rgba(217,77,134,.16);}
@media(max-width:390px){.raffle-title-actions{align-items:flex-start}.raffle-share{width:100%;}}

/* === V11 refinements: elegant login, session UX, centered media, stronger cover text === */
.cover,
.gallery-item img,
.raffle-hero img,
.carousel .slide,
.cover-video-file,
.modal-media video,
.modal-media iframe {
  object-position: center center;
}

/* Keep all front media centered inside their visual frames without distortion */
.gallery-item img,
.raffle-hero img {
  object-fit: cover;
}
.modal-media video {
  object-fit: contain;
  background: #090609;
}
.cover-video-file {
  object-fit: cover;
}

.verified-row h1 {
  text-shadow:
    0 3px 8px rgba(255,255,255,.78),
    0 8px 20px rgba(74,32,50,.36),
    0 1px 0 rgba(255,255,255,.62);
}
.profile-block .handle,
.profile-block .subtitle,
.profile-block .bio {
  text-shadow: 0 2px 10px rgba(255,255,255,.88), 0 5px 16px rgba(74,32,50,.20);
}

.login-page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 28px 16px;
  background:
    radial-gradient(circle at 15% 12%, rgba(255,255,255,.90) 0 10%, transparent 31%),
    radial-gradient(circle at 86% 8%, rgba(216,170,77,.16) 0 10%, transparent 30%),
    linear-gradient(180deg, #ffeaf2 0%, #fff8fb 45%, #f9e9f0 100%);
}
.login-card {
  width: min(390px, 100%);
  border: 1px solid rgba(199,49,117,.18);
  border-radius: 34px;
  padding: 28px 22px 22px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 28px 70px rgba(74,32,50,.16);
  backdrop-filter: blur(14px);
  display: grid;
  gap: 16px;
  justify-items: stretch;
  text-align: center;
}
.login-mark {
  width: 58px;
  height: 58px;
  margin: -2px auto 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #d94d86, #f3a7bd);
  color: #fff;
  font-size: 25px;
  box-shadow: 0 16px 32px rgba(217,77,134,.24);
}
.login-card .login-brand {
  width: auto;
  min-height: auto;
  border: 0;
  background: transparent;
  display: grid;
  gap: 4px;
  padding: 0;
  color: var(--muted);
}
.login-card .login-brand strong {
  display: block;
  color: var(--rose-dark);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 30px;
  line-height: 1;
}
.login-card .login-brand small {
  color: var(--pink-strong);
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: 12px;
}
.login-card .login-input-wrap {
  width: auto;
  min-height: 56px;
  border: 1px solid rgba(199,49,117,.18);
  border-radius: 18px;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 15px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}
.login-card .login-input-wrap input {
  border: 0;
  outline: 0;
  flex: 1;
  min-height: 52px;
  font: inherit;
  color: var(--text);
  background: transparent;
}
.login-card .login-input-wrap input::placeholder { color: #b491a2; }
.login-card .login-icon { color: var(--pink-strong); font-size: 17px; }
.login-card .login-button {
  width: 100%;
  height: 50px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, #d94d86, #bd2d72);
  color: white;
  font-weight: 900;
  letter-spacing: .04em;
  box-shadow: 0 18px 34px rgba(199,49,117,.25);
  cursor: pointer;
}
.login-card .login-button:hover { transform: translateY(-1px); filter: brightness(1.02); }
.forgot-password {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  color: var(--rose-dark);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  padding: 2px 0;
}
.forgot-password:hover { color: var(--pink-strong); }
.login-note {
  margin: -4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.login-card .login-error {
  width: auto;
  border: 1px solid #ffc4c4;
  background: #fff0f0;
  color: #9d2222;
  padding: 11px 14px;
  font-weight: 800;
  border-radius: 16px;
  text-align: center;
}

/* YouTube backgrounds are cropped deliberately like a cover image */
.cover-youtube-crop iframe {
  transform-origin: center center;
}
