:root{
  --brand:#4f46e5;
  --brand-2:#7c3aed;
  --soft:#f5f7fb;
  --dark:#111827;
  --muted:#6b7280;
  --radius:24px;
}
*{box-sizing:border-box}
body{
  min-height:100vh;
  background:radial-gradient(circle at top left,#eef2ff 0,#f8fafc 38%,#eef2ff 100%);
  color:var(--dark);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.app-shell{max-width:1100px;margin:0 auto;padding:20px 14px 90px}
.app-card{border:0;border-radius:var(--radius);box-shadow:0 16px 40px rgba(17,24,39,.10);overflow:hidden;background:#fff}
.app-card-soft{border:1px solid rgba(148,163,184,.22);border-radius:20px;background:rgba(255,255,255,.82);box-shadow:0 10px 28px rgba(17,24,39,.06)}
.hero-event{max-width:760px;margin:0 auto;padding:14px 12px 90px}
.event-image{width:100%;height:42vh;min-height:240px;max-height:430px;object-fit:cover;background:#e5e7eb}
.event-header{padding:24px 22px 10px}
.event-kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:#eef2ff;color:#4338ca;font-weight:700;font-size:.82rem;margin-bottom:14px}
.event-title{font-weight:850;letter-spacing:-.04em;line-height:1.04;margin:0;font-size:clamp(2rem,8vw,3.4rem)}
.event-description{color:#4b5563;font-size:1.06rem;line-height:1.65;margin-top:16px}
.mobile-form{padding:18px 22px 24px}
.form-control,.form-select{border-radius:15px;border-color:#dbe1ea;padding:.88rem 1rem;font-size:1rem}
.form-control:focus{box-shadow:0 0 0 .25rem rgba(79,70,229,.14);border-color:#818cf8}
.form-label{font-weight:750;color:#374151;margin-bottom:.45rem}
.btn{border-radius:15px;font-weight:750;padding:.82rem 1rem}
.btn-brand{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;border:0;box-shadow:0 12px 26px rgba(79,70,229,.26)}
.btn-brand:hover{color:#fff;filter:brightness(.98)}
.answer-grid{display:grid;grid-template-columns:1fr;gap:12px}
.answer-card{display:flex;align-items:center;justify-content:space-between;width:100%;border:2px solid #e5e7eb;border-radius:18px;padding:16px;background:#fff;font-weight:850;font-size:1.05rem;transition:.18s ease}
.answer-icon{font-size:1.45rem}.btn-check:checked+.answer-card{border-color:var(--brand);background:#eef2ff;transform:translateY(-1px);box-shadow:0 12px 24px rgba(79,70,229,.12)}
.sticky-submit{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-top:1px solid rgba(148,163,184,.22)}
.sticky-submit-inner{max-width:730px;margin:0 auto}.sticky-submit .btn{width:100%;padding:1rem;font-size:1.05rem}
.admin-top{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-title{font-weight:850;letter-spacing:-.03em;margin:0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat{padding:14px;border-radius:18px;background:#fff;border:1px solid rgba(148,163,184,.22)}.stat strong{font-size:1.6rem;display:block}.table{vertical-align:middle}.copy-input{font-size:.88rem}.empty-state{text-align:center;padding:38px 18px;color:var(--muted)}
@media (min-width:768px){.answer-grid{grid-template-columns:repeat(3,1fr)}.hero-event{padding-top:28px}.mobile-form{padding:22px 30px 30px}.event-header{padding:30px 30px 12px}.sticky-submit{display:none}.event-image{border-bottom-left-radius:0;border-bottom-right-radius:0}}
@media (max-width:767px){.app-shell{padding:14px 10px 84px}.admin-top{align-items:stretch;flex-direction:column}.admin-top .btn{width:100%}.admin-grid{grid-template-columns:1fr}.table-responsive{border-radius:18px}.desktop-submit{display:none}.event-card{border-radius:0;box-shadow:none}.hero-event{padding:0 0 84px}.event-header,.mobile-form{padding-left:18px;padding-right:18px}.event-image{height:34vh}.container{max-width:100%}}

/* Mejoras UI panel admin */
.event-admin-card{transition:transform .16s ease, box-shadow .16s ease}
.event-admin-card:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(17,24,39,.09)}
.event-thumb-link{display:block;width:82px;height:82px;text-decoration:none}
.event-thumb-link img{width:100%;height:100%;object-fit:cover;display:block}
.event-title-link{color:var(--dark);text-decoration:none}
.event-title-link:hover{color:var(--brand);text-decoration:underline}
.event-link-row{display:flex;align-items:center;gap:8px;min-width:0;background:#f8fafc;border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:7px 7px 7px 11px}
.event-public-link{display:block;flex:1;min-width:0;color:#4f46e5;text-decoration:none;font-size:.88rem;font-weight:650}
.event-public-link:hover{text-decoration:underline}
.btn-copy-link{flex:0 0 auto;width:36px;height:36px;border-radius:11px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(148,163,184,.25)}
.stats-row{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.stats-row .stat{min-width:0;text-align:center;padding:12px 8px}
.stats-row .stat span{display:block;white-space:nowrap;font-size:clamp(.68rem,2.7vw,.95rem);overflow:hidden;text-overflow:ellipsis}
.stats-row .stat strong{font-size:clamp(1.35rem,6vw,1.8rem)}
@media (max-width:420px){.event-public-link{font-size:.78rem}.event-thumb-link{width:74px;height:74px}.stats-row{gap:7px}.stats-row .stat{border-radius:14px;padding:10px 5px}}

/* Botonera del listado admin: el contenedor ocupa todo el ancho y los dos botones van en la misma línea */
.event-actions-row{width:100%;display:flex;gap:.55rem;align-items:stretch}
.event-actions-row>a,.event-actions-row>form{flex:1 1 0;min-width:0;margin:0}
.event-actions-row .btn{width:100%;height:100%;display:flex;align-items:center;justify-content:center;white-space:nowrap}
@media (max-width:420px){.event-actions-row{gap:.4rem}.event-actions-row .btn{font-size:.82rem;padding:.7rem .45rem}}


/* Vista publica evento moderno */
.event-app-body{
  background:linear-gradient(180deg,#eef2ff 0%,#f8fafc 38%,#ffffff 100%);
}
.event-app-shell{
  max-width:760px;
  margin:0 auto;
  padding:16px 12px 92px;
}
.event-modern-card{
  background:#fff;
  border-radius:30px;
  overflow:hidden;
  box-shadow:0 22px 55px rgba(17,24,39,.13);
  border:1px solid rgba(148,163,184,.18);
}
.event-cover-wrap{position:relative;min-height:260px;background:#e5e7eb;overflow:hidden}
.event-modern-image{width:100%;height:42vh;min-height:260px;max-height:430px;object-fit:cover;display:block}
.event-modern-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#64748b;gap:8px;font-weight:800}
.event-modern-placeholder i{font-size:4.5rem;color:#818cf8}
.event-cover-gradient{position:absolute;left:0;right:0;bottom:0;height:50%;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(15,23,42,.42))}
.event-floating-badge{position:absolute;left:18px;bottom:18px;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);color:#4338ca;font-weight:850;font-size:.9rem;box-shadow:0 10px 22px rgba(17,24,39,.16)}
.event-modern-content{padding:24px 22px 28px}
.event-modern-title{font-size:clamp(2rem,8vw,3.35rem);font-weight:900;letter-spacing:-.045em;line-height:1.02;margin:0 0 12px;color:#0f172a}
.event-modern-description{color:#475569;font-size:1.05rem;line-height:1.65;margin-bottom:24px}
.event-modern-form{margin-top:6px}
.input-modern label,.section-label{display:flex;align-items:center;gap:8px;font-weight:850;color:#334155;margin-bottom:8px}
.input-modern label i{color:#4f46e5}
.input-modern label span{font-weight:600;color:#94a3b8;font-size:.88rem}
.input-modern .form-control,.input-modern .form-select{background:#f8fafc;border:1px solid #dbe4ef;border-radius:18px;padding:1rem 1.05rem;font-weight:650;color:#0f172a}
.input-modern .form-control:focus,.input-modern .form-select:focus{background:#fff;border-color:#818cf8;box-shadow:0 0 0 .25rem rgba(79,70,229,.13)}
.guest-names-box{padding:14px;border-radius:22px;background:#f8fafc;border:1px dashed rgba(79,70,229,.28)}
.answer-grid-modern{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.answer-grid-modern .answer-card{min-height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;border-radius:20px;border:2px solid #e5e7eb;background:#fff;font-weight:900;padding:13px 8px;line-height:1.15;cursor:pointer;box-shadow:0 8px 18px rgba(15,23,42,.04)}
.answer-grid-modern .answer-card i{font-size:1.45rem;color:#64748b}
.btn-check:checked + .answer-si{border-color:#86efac!important;background:#ecfdf3!important;color:#166534!important;box-shadow:0 12px 24px rgba(22,101,52,.12)!important;transform:translateY(-1px)}
.btn-check:checked + .answer-si i{color:#22c55e!important}
.btn-check:checked + .answer-talvez{border-color:#fde68a!important;background:#fffbeb!important;color:#92400e!important;box-shadow:0 12px 24px rgba(146,64,14,.11)!important;transform:translateY(-1px)}
.btn-check:checked + .answer-talvez i{color:#f59e0b!important}
.btn-check:checked + .answer-no{border-color:#fecaca!important;background:#fff1f2!important;color:#991b1b!important;box-shadow:0 12px 24px rgba(153,27,27,.10)!important;transform:translateY(-1px)}
.btn-check:checked + .answer-no i{color:#ef4444!important}
.success-modern{text-align:center;padding:32px 18px;border-radius:26px;background:#f0fdf4;border:1px solid #bbf7d0;color:#166534}
.success-icon{width:68px;height:68px;margin:0 auto 14px;border-radius:999px;background:#dcfce7;display:flex;align-items:center;justify-content:center;font-size:2.2rem;color:#22c55e}
.success-modern h2{font-weight:900;margin-bottom:6px;color:#14532d}.success-modern p{margin:0;color:#166534}
@media (max-width:767px){
  .event-app-shell{padding:0 0 84px;max-width:100%}
  .event-modern-card{border-radius:0;border:0;box-shadow:none;min-height:100vh}
  .event-modern-content{padding:22px 18px 28px}
  .event-modern-image{height:34vh;min-height:240px}
  .event-cover-wrap{min-height:240px}
  .answer-grid-modern{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
  .answer-grid-modern .answer-card{min-height:78px;border-radius:17px;font-size:.88rem;padding:10px 4px}
  .answer-grid-modern .answer-card i{font-size:1.25rem}
}

/* Correccion anti-desbordamiento panel admin */
.event-admin-card{overflow:hidden;max-width:100%}
.event-admin-card > .d-flex{min-width:0;width:100%}
.event-admin-card .flex-grow-1{min-width:0;max-width:100%}
.event-link-row{width:100%;max-width:100%;overflow:hidden}
.event-public-link{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-actions-row{width:100%;max-width:100%;display:flex;gap:.5rem;align-items:stretch;overflow:hidden}
.event-actions-row>a,.event-actions-row>form{flex:1 1 0;min-width:0;margin:0;display:flex}
.event-actions-row .btn{width:100%;display:flex;align-items:center;justify-content:center;white-space:nowrap;min-width:0}
.event-actions-row .btn i{flex:0 0 auto}
.edit-image-preview{width:100%;max-width:260px;border-radius:18px;overflow:hidden;border:1px solid rgba(148,163,184,.25);background:#f8fafc}
.edit-image-preview img{width:100%;height:160px;object-fit:cover;display:block}
@media (max-width:480px){
  .event-actions-row{gap:.35rem}
  .event-actions-row .btn{font-size:.78rem;padding:.68rem .32rem}
  .event-actions-row .btn i{margin-right:.2rem!important}
}

/* Ajustes visuales vista evento: menos negrita y descripcion mas elegante */
.input-modern label,.section-label{font-weight:700}
.input-modern label span{font-weight:400}
.input-modern .form-control,.input-modern .form-select{font-weight:400}
.input-modern .form-control::placeholder,
.input-modern textarea.form-control::placeholder{font-weight:400;color:#94a3b8;opacity:1}
.event-modern-description{
  font-family:Georgia,'Times New Roman',serif;
  font-style:italic;
  color:#475569;
  background:linear-gradient(135deg,#f8fafc,#eef2ff);
  border-left:4px solid #818cf8;
  border-radius:18px;
  padding:16px 18px;
  line-height:1.7;
  font-size:1.06rem;
}

/* Opciones de visibilidad en tarjeta admin */
.event-visibility-card{
  width:100%;max-width:100%;min-width:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;
  background:#f8fafc;border:1px solid rgba(148,163,184,.28);border-radius:14px;padding:.45rem;
  overflow:hidden;
}
.visibility-switch{display:flex;align-items:center;min-width:0;margin:0;cursor:pointer;user-select:none}
.visibility-switch input{position:absolute;opacity:0;pointer-events:none}
.visibility-switch span{
  width:100%;min-width:0;display:flex;align-items:center;justify-content:center;gap:.35rem;
  border-radius:11px;padding:.55rem .35rem;background:#fff;border:1px solid rgba(148,163,184,.28);
  color:#64748b;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  transition:.16s ease;
}
.visibility-switch input:checked + span{background:#eef2ff;border-color:#818cf8;color:#4338ca;box-shadow:0 8px 18px rgba(79,70,229,.10)}
.visibility-switch span i{flex:0 0 auto}
@media (max-width:420px){.visibility-switch span{font-size:.72rem;padding:.5rem .25rem;gap:.25rem}}

/* Estadísticas visibles para invitados */
.public-stats-card{
  background:rgba(255,255,255,.88);border:1px solid rgba(148,163,184,.24);
  border-radius:22px;padding:16px;box-shadow:0 12px 28px rgba(15,23,42,.06);
}
.attendance-percent-box{display:flex;align-items:center;gap:14px;min-width:0}
.attendance-ring{
  --size:70px;width:var(--size);height:var(--size);border-radius:50%;flex:0 0 var(--size);
  display:grid;place-items:center;background:conic-gradient(#22c55e calc(var(--p)*1%), #e2e8f0 0);
  position:relative;
}
.attendance-ring::before{content:"";position:absolute;inset:7px;background:#fff;border-radius:50%}
.attendance-ring span{position:relative;font-weight:850;color:#166534;font-size:1rem}
.public-stats-title{font-weight:800;color:#0f172a;letter-spacing:-.01em}
.public-stats-subtitle{color:#64748b;font-size:.92rem;font-weight:400}
.attendee-chip-list{display:flex;flex-wrap:wrap;gap:.45rem}
.attendee-chip{display:inline-flex;align-items:center;gap:.32rem;background:#ecfdf3;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:.42rem .68rem;font-weight:650;font-size:.88rem}
.attendee-chip i{color:#22c55e}


/* Fecha, hora y lugar */
.event-admin-meta{display:flex;flex-wrap:wrap;gap:.4rem;min-width:0}
.event-admin-meta span{display:inline-flex;align-items:center;gap:.25rem;max-width:100%;font-size:.78rem;font-weight:600;color:#64748b;background:#f8fafc;border:1px solid rgba(148,163,184,.25);border-radius:999px;padding:.28rem .55rem}
.event-admin-meta i{color:#4f46e5}
.event-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.event-detail-pill{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.9rem 1rem;border-radius:20px;background:#f8fafc;border:1px solid rgba(148,163,184,.28);color:#334155;text-decoration:none;font-weight:650;box-shadow:0 8px 22px rgba(15,23,42,.04)}
.event-detail-pill i{font-size:1.1rem;color:#4f46e5;flex:0 0 auto}
.event-detail-pill span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-map-pill{grid-column:1/-1;background:linear-gradient(135deg,#f8fafc,#eef2ff)}
.event-map-pill em{margin-left:auto;flex:0 0 auto;font-style:normal;font-size:.78rem;color:#4f46e5;background:#fff;border-radius:999px;padding:.25rem .55rem;border:1px solid rgba(79,70,229,.16)}
@media (max-width:420px){.event-detail-grid{grid-template-columns:1fr 1fr;gap:.55rem}.event-detail-pill{padding:.78rem .75rem;border-radius:17px;font-size:.92rem}.event-map-pill em{display:none}}

/* Boton compartir WhatsApp en tarjeta admin */
.btn-whatsapp-share{flex:0 0 auto;width:36px;height:36px;border-radius:11px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(34,197,94,.22)}
.event-link-row .btn-copy-link,.event-link-row .btn-whatsapp-share{min-width:36px}

/* Marca YAVOY */
.brand-logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.brand-logo img{height:42px;width:auto;display:block}
.brand-logo-sm img{height:34px}
.brand-logo-lg img{height:54px}
.brand-panel{text-align:center;margin-bottom:20px}
.brand-panel .brand-logo{justify-content:center}
.brand-subtitle{color:var(--muted);font-size:.92rem;margin-top:6px}
.admin-brand-title{display:flex;align-items:flex-start;gap:14px;min-width:0}
.admin-brand-title .brand-logo img{height:42px}
.public-brand-badge{position:absolute;top:16px;left:16px;z-index:4;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-radius:999px;padding:8px 12px;box-shadow:0 12px 26px rgba(15,23,42,.16)}
.public-brand-badge img{height:28px;width:auto;display:block}
@media (max-width:767px){.admin-brand-title{gap:10px}.admin-brand-title .brand-logo img{height:36px}.brand-logo-lg img{height:46px}.public-brand-badge{top:12px;left:12px;padding:7px 10px}.public-brand-badge img{height:24px}}

/* Mejoras cabecera admin YAVOY */
.admin-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem;min-width:0;position:relative}
.btn-create-compact{padding:.72rem 1rem;box-shadow:0 8px 18px rgba(79,70,229,.18);font-size:.92rem}
.user-menu-wrap{position:relative;flex:0 0 auto}
.user-menu-toggle{width:44px;height:44px;border-radius:999px;padding:0;display:inline-flex;align-items:center;justify-content:center;background:#fff;border:1px solid rgba(148,163,184,.35);box-shadow:0 8px 18px rgba(15,23,42,.06);color:#334155}
.user-menu-toggle i{font-size:1.45rem}
.user-menu-toggle:hover,.user-menu-toggle[aria-expanded="true"]{background:#f8fafc;color:var(--brand);border-color:rgba(79,70,229,.28)}
.user-menu-panel{position:absolute;top:calc(100% + 10px);right:0;z-index:50;width:220px;background:#fff;border:1px solid rgba(148,163,184,.28);border-radius:18px;box-shadow:0 18px 40px rgba(15,23,42,.16);padding:8px;overflow:hidden}
.user-menu-name{font-weight:750;color:#334155;font-size:.88rem;padding:10px 11px;border-bottom:1px solid rgba(148,163,184,.18);margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.user-menu-link{display:flex;align-items:center;width:100%;padding:10px 11px;border-radius:12px;color:#dc2626;text-decoration:none;font-weight:750;font-size:.92rem}
.user-menu-link:hover{background:#fef2f2;color:#b91c1c}
.yavoy-alert{position:relative;padding-right:3rem;transition:opacity .22s ease, transform .22s ease}
.yavoy-alert.is-hiding{opacity:0;transform:translateY(-6px)}
.alert-close{position:absolute;top:50%;right:.85rem;transform:translateY(-50%);width:30px;height:30px;border:0;background:rgba(255,255,255,.55);border-radius:999px;color:inherit;font-size:1.25rem;line-height:1;display:flex;align-items:center;justify-content:center;opacity:.75}
.alert-close:hover{opacity:1;background:rgba(255,255,255,.9)}
@media (max-width:767px){
  .admin-top{flex-direction:row!important;align-items:center!important;gap:.75rem!important}
  .admin-top .btn{width:auto!important}
  .admin-brand-title{flex:1 1 auto;min-width:0}
  .admin-brand-title .event-kicker{margin-bottom:4px;font-size:.72rem;padding:5px 9px}
  .admin-title{font-size:1.55rem}
  .admin-header-actions{flex:0 0 auto;gap:.45rem}
  .btn-create-compact{padding:.58rem .72rem;border-radius:13px;font-size:.82rem;box-shadow:0 6px 14px rgba(79,70,229,.14)}
  .user-menu-toggle{width:40px;height:40px}
  .user-menu-toggle i{font-size:1.35rem}
  .user-menu-panel{right:0;width:210px}
}
@media (max-width:380px){
  .btn-create-compact{font-size:0;width:40px;height:40px;padding:0;display:inline-flex;align-items:center;justify-content:center}
  .btn-create-compact i{font-size:1.15rem;margin:0!important}
}
