:root{
  --bg:#f5f7fb;
  --surface:#ffffff;
  --ink:#091426;
  --muted:#667085;
  --line:rgba(15,23,42,.08);
  --primary:#6d5dfb;
  --secondary:#5b8cff;
  --radius-xl:36px;
  --radius-lg:26px;
  --shadow:0 34px 90px rgba(15,23,42,.10), 0 8px 28px rgba(15,23,42,.05);
}

[data-bs-theme="dark"]{
  --bg:#071120;
  --surface:#0f1a2b;
  --ink:#f8fafc;
  --muted:#a8b3c7;
  --line:rgba(255,255,255,.09);
  --shadow:0 34px 90px rgba(0,0,0,.34), 0 8px 28px rgba(0,0,0,.18);
}

*{box-sizing:border-box}

html,body{min-height:100%}

body{
  margin:0;
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 18% 12%, rgba(109,93,251,.07), transparent 28%),
    linear-gradient(135deg, #f8faff 0%, var(--bg) 100%);
}

[data-bs-theme="dark"] body,
body:has([data-bs-theme="dark"]){
  background:
    radial-gradient(circle at 18% 12%, rgba(109,93,251,.16), transparent 28%),
    linear-gradient(135deg, #071120 0%, #0b1324 100%);
}

.auth-shell{
  min-height:100vh;
  width:100%;
  padding:0;
}

/* Brand */

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:var(--ink);
  font-size:21px;
  font-weight:800;
  letter-spacing:-.055em;
  text-decoration:none;
}

.brand-mark{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border-radius:14px;
  background:linear-gradient(135deg, rgba(109,93,251,.12), rgba(91,140,255,.12));
  color:var(--primary);
}

.brand-mark i,
.gradient-icon{
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

/* Start card */

.welcome-card{
  position:relative;
  width:100%;
  min-height:100vh;
  overflow:hidden;
  border-radius:0;
  background:var(--surface);
  isolation:isolate;
}

.welcome-image{
  position:absolute;
  inset:0;
  z-index:0;
  background:url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=85&w=1800&auto=format&fit=crop") center right/cover;
}

.welcome-fade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.95) 28%, rgba(255,255,255,.74) 48%, rgba(255,255,255,.28) 66%, rgba(255,255,255,0) 100%);
  backdrop-filter:blur(1px);
}

[data-bs-theme="dark"] .welcome-fade{
  background:linear-gradient(90deg, rgba(15,26,43,.99) 0%, rgba(15,26,43,.95) 30%, rgba(15,26,43,.76) 50%, rgba(15,26,43,.32) 68%, rgba(15,26,43,0) 100%);
}

.welcome-glow,
.visual-glow{
  position:absolute;
  z-index:2;
  width:360px;
  height:360px;
  left:-130px;
  bottom:-150px;
  background:radial-gradient(circle, rgba(109,93,251,.12) 0%, rgba(91,140,255,.06) 34%, rgba(255,255,255,0) 72%);
  filter:blur(44px);
  pointer-events:none;
}

.welcome-content{
  position:relative;
  z-index:3;
  min-height:620px;
  width:56%;
  padding:42px 54px 52px;
  display:flex;
  flex-direction:column;
}

.topbar,
.panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:48px;
}

.theme-toggle{
  width:42px;
  height:42px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.74);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(15,23,42,.04);
}

[data-bs-theme="dark"] .theme-toggle{
  background:rgba(255,255,255,.06);
}

.event-badge{
  width:max-content;
  padding:14px 24px;
  border-radius:999px;
  background:#fff;
  color:var(--primary);
  font-size:20px;
  line-height:1;
  font-weight:500;
  letter-spacing:-.04em;
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}

[data-bs-theme="dark"] .event-badge{
  background:rgba(255,255,255,.92);
  color:var(--primary);
}

.event-badge.small{
  font-size:14px;
  padding:10px 16px;
}

.event-badge span{
  font-weight:800;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero-copy{
  margin-top:auto;
  margin-bottom:40px;
}

.hero-copy h1{
  margin:0;
  font-size:clamp(54px,7vw,78px);
  line-height:.94;
  letter-spacing:-.065em;
  font-weight:800;
}

.hero-copy p{
  margin:22px 0 0;
  font-size:clamp(22px,2.6vw,31px);
  line-height:1.18;
  letter-spacing:-.045em;
  font-weight:500;
  color:var(--muted);
}

.event-meta{
  display:grid;
  gap:16px;
  margin-bottom:32px;
}

.meta-item{
  display:flex;
  gap:15px;
  align-items:flex-start;
}

.meta-item i{
  margin-top:1px;
  font-size:25px;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.meta-item strong{
  display:block;
  font-size:18px;
  line-height:1.12;
  letter-spacing:-.045em;
  font-weight:800;
}

.meta-item span{
  display:block;
  margin-top:5px;
  font-size:15px;
  line-height:1.2;
  color:var(--muted);
  letter-spacing:-.025em;
}

.start-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}

/* Buttons */

.btn{
  min-height:54px;
  border-radius:18px;
  padding:14px 22px;
  font-weight:750;
  letter-spacing:-.035em;
  border:0;
}

.btn-primary-premium{
  color:#fff;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  box-shadow:0 16px 36px rgba(109,93,251,.24);
}

.btn-primary-premium:hover{
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 20px 42px rgba(109,93,251,.30);
}

.btn-light-premium{
  color:var(--ink);
  background:rgba(255,255,255,.86);
  box-shadow:0 8px 24px rgba(15,23,42,.06);
}

[data-bs-theme="dark"] .btn-light-premium{
  background:rgba(255,255,255,.08);
  color:var(--ink);
}

.btn-dark-premium{
  color:#fff;
  background:#091426;
}

.btn i{font-size:20px; vertical-align:-2px}

/* Login */

.login-shell{
  padding:0;
}

.login-card{
  width:100%;
  min-height:100vh;
  display:grid;
  grid-template-columns:.92fr 1fr;
  overflow:hidden;
  border-radius:0;
  background:var(--surface);
}

.login-card.single{
  width:100%;
  display:block;
  min-height:100vh;
}

.login-visual{
  position:relative;
  min-height:680px;
  overflow:hidden;
  isolation:isolate;
}

.visual-image{
  position:absolute;
  inset:0;
  z-index:0;
  background:url("https://images.unsplash.com/photo-1518005020951-eccb494ad742?q=85&w=1600&auto=format&fit=crop") center/cover;
}

.visual-fade{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg, rgba(255,255,255,.84), rgba(255,255,255,.46) 48%, rgba(255,255,255,.92));
}

[data-bs-theme="dark"] .visual-fade{
  background:linear-gradient(180deg, rgba(15,26,43,.86), rgba(15,26,43,.44) 48%, rgba(15,26,43,.94));
}

.visual-brand{
  position:absolute;
  z-index:3;
  top:34px;
  left:34px;
}

.visual-copy{
  position:absolute;
  z-index:3;
  left:34px;
  right:34px;
  bottom:38px;
}

.visual-copy h2{
  margin:24px 0 16px;
  font-size:58px;
  line-height:.95;
  letter-spacing:-.07em;
  font-weight:800;
}

.visual-copy p{
  max-width:360px;
  margin:0;
  font-size:18px;
  line-height:1.32;
  color:var(--muted);
  letter-spacing:-.035em;
}

.login-panel{
  padding:42px 46px 38px;
}

.login-panel.full{
  padding:42px 46px 46px;
}

.back-link{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--muted);
  text-decoration:none;
  font-weight:700;
  letter-spacing:-.035em;
}

.login-heading{
  margin-bottom:30px;
}

.login-heading h1{
  margin:0;
  font-size:48px;
  line-height:1;
  letter-spacing:-.07em;
  font-weight:800;
}

.login-heading p{
  margin:14px 0 0;
  max-width:410px;
  font-size:17px;
  color:var(--muted);
  line-height:1.35;
  letter-spacing:-.03em;
}

.auth-form{
  display:grid;
  gap:14px;
}

.auth-form.compact{
  margin-top:14px;
}

.form-label{
  margin:0 0 -4px;
  color:var(--ink);
  font-weight:750;
  font-size:14px;
  letter-spacing:-.025em;
}

.input-wrap{
  position:relative;
}

.input-wrap i{
  position:absolute;
  top:50%;
  left:18px;
  transform:translateY(-50%);
  color:var(--muted);
  font-size:18px;
}

.form-control{
  height:58px;
  border-radius:18px;
  border:1px solid var(--line);
  padding:15px 18px 15px 48px;
  background:rgba(248,250,252,.88);
  color:var(--ink);
  font-weight:600;
  letter-spacing:-.025em;
  box-shadow:none;
}

[data-bs-theme="dark"] .form-control{
  background:rgba(255,255,255,.06);
  color:var(--ink);
}

.form-control:focus{
  border-color:rgba(109,93,251,.46);
  box-shadow:0 0 0 5px rgba(109,93,251,.10);
}

.auth-divider{
  display:flex;
  align-items:center;
  gap:14px;
  margin:28px 0 18px;
  color:var(--muted);
  font-size:13px;
  font-weight:700;
  letter-spacing:-.025em;
}

.auth-divider::before,
.auth-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:var(--line);
}

.password-login{
  margin-top:14px;
}

.alt-login-main{
  width:100%;
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:15px 18px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  font-weight:750;
  letter-spacing:-.035em;
}

[data-bs-theme="dark"] .alt-login-main{
  background:rgba(255,255,255,.06);
}

.alt-login-main span{
  display:inline-flex;
  align-items:center;
  gap:10px;
}

.alt-login-main span i{
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.social-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.social-btn{
  min-height:54px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(255,255,255,.72);
  color:var(--ink);
  font-weight:750;
  letter-spacing:-.035em;
}

[data-bs-theme="dark"] .social-btn{
  background:rgba(255,255,255,.06);
}

.social-btn i{
  margin-right:7px;
  font-size:17px;
}

.social-btn.fb i{color:#1877f2}
.social-btn.google i{color:#ea4335}
.social-btn.ms i{color:#00a4ef}

.terms-note{
  margin:24px 0 0;
  color:var(--muted);
  font-size:13px;
  line-height:1.4;
  letter-spacing:-.02em;
}

.terms-note a{
  color:var(--primary);
  font-weight:800;
  text-decoration:none;
}

/* Responsive */

@media(max-width:860px){
  .welcome-card{
    min-height:720px;
  }

  .welcome-content{
    width:72%;
    min-height:720px;
    padding:28px 24px 30px;
  }

  .welcome-fade{
    background:linear-gradient(90deg, rgba(255,255,255,.99) 0%, rgba(255,255,255,.92) 42%, rgba(255,255,255,.35) 76%, rgba(255,255,255,.04) 100%);
  }

  [data-bs-theme="dark"] .welcome-fade{
    background:linear-gradient(90deg, rgba(15,26,43,.99) 0%, rgba(15,26,43,.92) 42%, rgba(15,26,43,.35) 76%, rgba(15,26,43,.04) 100%);
  }

  .login-card{
    grid-template-columns:1fr;
  }

  .login-visual{
    min-height:300px;
  }

  .social-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:560px){
  .auth-shell{
    padding:0;
  }

  .welcome-card,
  .login-card{
    min-height:100vh;
    border-radius:0;
  }

  .welcome-content{
    width:100%;
    min-height:100vh;
  }

  .topbar{
    margin-bottom:34px;
  }

  .brand{
    font-size:19px;
  }

  .event-badge{
    padding:10px 16px;
    font-size:13px;
  }

  .hero-copy h1{
    font-size:43px;
  }

  .hero-copy p{
    font-size:17px;
  }

  .event-meta{
    gap:13px;
  }

  .meta-item strong{
    font-size:14px;
  }

  .meta-item span{
    font-size:12px;
  }

  .start-actions{
    display:grid;
    width:100%;
  }

  .btn{
    width:100%;
  }

  .login-panel,
  .login-panel.full{
    padding:26px 22px 28px;
  }

  .login-heading h1{
    font-size:38px;
  }

  .login-heading p{
    font-size:15px;
  }

  .visual-copy h2{
    font-size:42px;
  }
}


/* VISIBLE ANIMATED BACKGROUND — INDEX */

.welcome-card{
  background:
    linear-gradient(135deg, #f8faff 0%, #eef3ff 100%);
}

.welcome-image{
  animation:heroImageDrift 18s ease-in-out infinite alternate;
  transform-origin:center right;
}

.welcome-aurora{
  position:absolute;
  inset:-25%;
  z-index:2;
  pointer-events:none;

  background:
    radial-gradient(circle at 20% 30%, rgba(109,93,251,.28), transparent 24%),
    radial-gradient(circle at 78% 26%, rgba(91,140,255,.22), transparent 22%),
    radial-gradient(circle at 52% 82%, rgba(14,165,233,.16), transparent 24%),
    radial-gradient(circle at 82% 78%, rgba(168,85,247,.14), transparent 22%);

  filter:blur(34px);
  opacity:.65;
  mix-blend-mode:multiply;

  animation:auroraMove 12s ease-in-out infinite alternate;
}

[data-bs-theme="dark"] .welcome-aurora{
  opacity:.9;
  mix-blend-mode:screen;
}

.welcome-particles{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  overflow:hidden;
}

.welcome-particles span{
  position:absolute;
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(109,93,251,.65), rgba(91,140,255,.55));
  box-shadow:0 0 22px rgba(109,93,251,.34);
  opacity:.45;

  animation:particleFloat 9s ease-in-out infinite;
}

.welcome-particles span:nth-child(1){left:58%; top:18%; animation-delay:0s}
.welcome-particles span:nth-child(2){left:76%; top:34%; animation-delay:1.1s; width:5px; height:5px}
.welcome-particles span:nth-child(3){left:88%; top:62%; animation-delay:2.2s; width:9px; height:9px}
.welcome-particles span:nth-child(4){left:64%; top:78%; animation-delay:3.3s; width:6px; height:6px}
.welcome-particles span:nth-child(5){left:46%; top:54%; animation-delay:4.4s; width:8px; height:8px}

@keyframes heroImageDrift{
  0%{
    transform:scale(1.02) translate3d(0,0,0);
  }

  100%{
    transform:scale(1.08) translate3d(-18px,8px,0);
  }
}

@keyframes auroraMove{
  0%{
    transform:translate3d(-3%, -2%, 0) rotate(0deg) scale(1);
  }

  50%{
    transform:translate3d(3%, 2%, 0) rotate(8deg) scale(1.06);
  }

  100%{
    transform:translate3d(-1%, 4%, 0) rotate(-6deg) scale(1.1);
  }
}

@keyframes particleFloat{
  0%, 100%{
    transform:translate3d(0,0,0) scale(1);
    opacity:.25;
  }

  50%{
    transform:translate3d(-28px,-34px,0) scale(1.45);
    opacity:.75;
  }
}

@media (prefers-reduced-motion: reduce){
  .welcome-image,
  .welcome-aurora,
  .welcome-particles span{
    animation:none !important;
  }
}


/* PREMIUM SCROLLBAR */

html{
  scrollbar-width:thin;
  scrollbar-color:rgba(109,93,251,.42) rgba(15,23,42,.04);
}

body::-webkit-scrollbar{
  width:10px;
}

body::-webkit-scrollbar-track{
  background:
    linear-gradient(
      180deg,
      rgba(248,250,252,.96),
      rgba(238,243,255,.96)
    );
}

body::-webkit-scrollbar-thumb{
  border:3px solid rgba(248,250,252,.96);
  border-radius:999px;
  background:
    linear-gradient(
      180deg,
      rgba(109,93,251,.68),
      rgba(91,140,255,.58)
    );
}

body::-webkit-scrollbar-thumb:hover{
  background:
    linear-gradient(
      180deg,
      rgba(109,93,251,.9),
      rgba(91,140,255,.82)
    );
}

[data-bs-theme="dark"]{
  scrollbar-color:rgba(109,93,251,.58) rgba(255,255,255,.05);
}

[data-bs-theme="dark"] body::-webkit-scrollbar-track{
  background:#071120;
}

[data-bs-theme="dark"] body::-webkit-scrollbar-thumb{
  border-color:#071120;
  background:
    linear-gradient(
      180deg,
      rgba(109,93,251,.76),
      rgba(91,140,255,.66)
    );
}

/* Scroll-friendly spacing on small heights */

@media(max-height:760px){
  .welcome-content{
    padding-top:28px;
    padding-bottom:28px;
  }

  .topbar{
    margin-bottom:28px;
  }

  .hero-copy{
    margin-bottom:24px;
  }

  .event-meta{
    margin-bottom:22px;
  }
}

@media(max-height:680px){
  .welcome-card,
  .welcome-content,
  .login-card,
  .login-visual{
    min-height:100vh;
  }

  .hero-copy h1{
    font-size:clamp(42px, 6vw, 62px);
  }

  .hero-copy p{
    font-size:clamp(17px, 2vw, 24px);
    margin-top:14px;
  }

  .event-badge{
    padding:10px 18px;
    font-size:15px;
  }

  .meta-item strong{
    font-size:15px;
  }

  .meta-item span{
    font-size:13px;
  }

  .btn{
    min-height:50px;
  }

  .login-panel{
    padding-top:28px;
    padding-bottom:28px;
  }

  .login-heading{
    margin-bottom:22px;
  }

  .login-heading h1{
    font-size:40px;
  }

  .auth-divider{
    margin:20px 0 14px;
  }
}


/* FIX: prevent white edge during animated image drift */

.welcome-image{
  inset:-8%;
  width:auto;
  height:auto;
  background-size:cover;
  background-position:center right;
  will-change:transform;
}

@keyframes heroImageDrift{
  0%{
    transform:scale(1.08) translate3d(0,0,0);
  }

  100%{
    transform:scale(1.14) translate3d(-24px,10px,0);
  }
}

@media(max-width:860px){
  .welcome-image{
    inset:-12%;
    background-position:center;
  }

  @keyframes heroImageDrift{
    0%{
      transform:scale(1.10) translate3d(0,0,0);
    }

    100%{
      transform:scale(1.18) translate3d(-18px,8px,0);
    }
  }
}


/* COMPACT HERO SPACING */

.welcome-content{
  justify-content:flex-start;
}

.event-badge{
  margin-top:42px;
  margin-bottom:26px;
}

.hero-copy{
  margin-top:0;
  margin-bottom:34px;
}

@media(max-width:560px){
  .event-badge{
    margin-top:22px;
    margin-bottom:18px;
  }

  .hero-copy{
    margin-bottom:24px;
  }
}


/* RESTORE BOTTOM HERO LAYOUT */

.welcome-content{
  justify-content:flex-end;
}

.event-badge{
  margin-top:0;
  margin-bottom:18px;
}

.hero-copy{
  margin-top:0;
  margin-bottom:28px;
}

.event-meta{
  margin-bottom:24px;
}

.start-actions{
  margin-top:0;
}

@media(max-width:560px){

  .event-badge{
    margin-top:14px;
  }

  .hero-copy{
    margin-bottom:20px;
  }

  .event-meta{
    margin-bottom:18px;
  }
}


/* KEEP HEADER ON TOP */

.welcome-content{
  display:flex;
  flex-direction:column;
}

.topbar{
  margin-bottom:auto;
}

.hero-copy{
  margin-top:0;
}

.hero-stack{
  margin-top:auto;
  display:flex;
  flex-direction:column;
}



/* LOGIN CLEAN HEADER */

.visual-topbar{
  position:absolute;
  z-index:4;

  top:34px;
  left:34px;
  right:34px;

  display:flex;
  align-items:center;
  justify-content:space-between;
}

.visual-brand{
  position:relative;
  top:auto;
  left:auto;
}

.visual-actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.empty-header{
  display:none;
}

.visual-copy{
  bottom:46px;
}

.visual-copy h2{
  margin-top:0;
}

@media(max-width:860px){

  .visual-topbar{
    top:22px;
    left:22px;
    right:22px;
  }

  .visual-actions{
    gap:8px;
  }

  .visual-actions .back-link{
    font-size:13px;
  }
}


/* CONSISTENT AUTH PAGES */

.login-card{
  grid-template-columns:.92fr 1fr;
}

.login-panel{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.login-heading{
  margin-bottom:28px;
}

.auth-form + .auth-divider{
  margin-top:26px;
}

.auth-switch{
  margin:16px 0 0;
  color:var(--muted);
  font-size:14px;
  line-height:1.4;
  letter-spacing:-.025em;
  text-align:center;
}

.auth-switch a{
  color:var(--primary);
  font-weight:800;
  text-decoration:none;
}

.auth-switch a:hover{
  text-decoration:underline;
}

.register-image{
  background-image:url("https://images.unsplash.com/photo-1515187029135-18ee286d815b?q=85&w=1600&auto=format&fit=crop");
}

.login-visual,
.login-panel{
  min-height:100vh;
}

.visual-copy h2{
  max-width:430px;
}

.visual-copy p{
  max-width:390px;
}

@media(max-width:860px){
  .login-card{
    grid-template-columns:1fr;
  }

  .login-visual{
    min-height:310px;
  }

  .login-panel{
    min-height:auto;
    justify-content:flex-start;
  }

  .visual-copy{
    bottom:30px;
  }
}

@media(max-width:560px){
  .login-visual{
    min-height:280px;
  }

  .login-panel{
    padding-top:28px;
  }

  .visual-topbar{
    top:20px;
    left:20px;
    right:20px;
  }

  .visual-copy{
    left:22px;
    right:22px;
    bottom:24px;
  }
}


/* FULL APP PAGES */

.app-page{
  overflow-x:hidden;
}

.app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:280px 1fr;
  background:
    radial-gradient(circle at 18% 12%, rgba(109,93,251,.08), transparent 28%),
    linear-gradient(135deg, #f8faff 0%, var(--bg) 100%);
}

[data-bs-theme="dark"] .app-shell{
  background:
    radial-gradient(circle at 18% 12%, rgba(109,93,251,.18), transparent 28%),
    linear-gradient(135deg, #071120 0%, #0b1324 100%);
}

.app-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  padding:28px 18px;
  display:flex;
  flex-direction:column;
  border-right:1px solid var(--line);
  background:rgba(255,255,255,.62);
  backdrop-filter:blur(24px) saturate(160%);
}

[data-bs-theme="dark"] .app-sidebar{
  background:rgba(15,26,43,.72);
}

.app-brand{
  margin:0 10px 26px;
}

.app-nav{
  display:grid;
  gap:6px;
}

.app-nav-link{
  min-height:48px;
  display:flex;
  align-items:center;
  gap:13px;
  padding:12px 14px;
  border-radius:18px;
  color:var(--muted);
  text-decoration:none;
  font-weight:750;
  letter-spacing:-.035em;
}

.app-nav-link i{
  width:22px;
  font-size:20px;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.app-nav-link:hover,
.app-nav-link.active{
  color:var(--ink);
  background:rgba(255,255,255,.78);
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}

[data-bs-theme="dark"] .app-nav-link:hover,
[data-bs-theme="dark"] .app-nav-link.active{
  background:rgba(255,255,255,.07);
}

.sidebar-footer{
  margin-top:auto;
  padding:10px;
}

.app-main{
  min-width:0;
  padding:34px;
}

.mobile-app-header{
  display:none;
}

.page-hero{
  position:relative;
  overflow:hidden;
  min-height:320px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  padding:42px;
  border-radius:36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.68)),
    url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=85&w=1800&auto=format&fit=crop") center/cover;
  box-shadow:var(--shadow);
}

[data-bs-theme="dark"] .page-hero{
  background:
    linear-gradient(135deg, rgba(15,26,43,.96), rgba(15,26,43,.72)),
    url("https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=85&w=1800&auto=format&fit=crop") center/cover;
}

.page-hero.compact{
  min-height:260px;
}

.hotel-hero{
  background:
    linear-gradient(135deg, rgba(255,255,255,.97), rgba(255,255,255,.62)),
    url("https://images.unsplash.com/photo-1566073771259-6a8506099945?q=85&w=1800&auto=format&fit=crop") center/cover;
}

.matchmaking-hero{
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.66)),
    url("https://images.unsplash.com/photo-1556761175-b413da4baf72?q=85&w=1800&auto=format&fit=crop") center/cover;
}

.venue-hero{
  background:
    linear-gradient(135deg, rgba(255,255,255,.98), rgba(255,255,255,.66)),
    url("https://images.unsplash.com/photo-1497366754035-f200968a6e72?q=85&w=1800&auto=format&fit=crop") center/cover;
}

.section-kicker{
  display:inline-flex;
  margin-bottom:16px;
  padding:10px 16px;
  border-radius:999px;
  background:#fff;
  color:var(--primary);
  font-weight:800;
  letter-spacing:-.035em;
  box-shadow:0 10px 28px rgba(15,23,42,.05);
}

[data-bs-theme="dark"] .section-kicker{
  background:rgba(255,255,255,.10);
}

.page-hero h1{
  margin:0;
  max-width:760px;
  font-size:clamp(46px, 7vw, 78px);
  line-height:.94;
  letter-spacing:-.07em;
  font-weight:800;
}

.page-hero p{
  max-width:620px;
  margin:20px 0 0;
  color:var(--muted);
  font-size:clamp(17px, 2vw, 24px);
  line-height:1.24;
  letter-spacing:-.04em;
  font-weight:500;
}

.hero-icon{
  width:112px;
  height:112px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:34px;
  background:rgba(255,255,255,.72);
  box-shadow:0 18px 42px rgba(15,23,42,.08);
}

[data-bs-theme="dark"] .hero-icon{
  background:rgba(255,255,255,.08);
}

.hero-icon i,
.gradient-large{
  font-size:52px;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.content-grid{
  display:grid;
  gap:22px;
  margin-top:24px;
}

.content-grid.two{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.premium-panel,
.speaker-card,
.match-card,
.question-card{
  border:1px solid var(--line);
  border-radius:30px;
  padding:28px;
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(22px) saturate(150%);
  box-shadow:0 18px 46px rgba(15,23,42,.06);
}

[data-bs-theme="dark"] .premium-panel,
[data-bs-theme="dark"] .speaker-card,
[data-bs-theme="dark"] .match-card,
[data-bs-theme="dark"] .question-card{
  background:rgba(255,255,255,.06);
}

.premium-panel h2,
.feature-panel h2,
.match-card h2,
.question-card h2{
  margin:0 0 12px;
  font-size:26px;
  line-height:1;
  letter-spacing:-.055em;
  font-weight:800;
}

.premium-panel p,
.feature-panel p,
.match-card p,
.question-card p{
  margin:0;
  color:var(--muted);
  line-height:1.45;
  letter-spacing:-.025em;
}

.premium-list{
  display:grid;
  gap:14px;
  margin:22px 0 0;
  padding:0;
  list-style:none;
}

.premium-list li{
  display:flex;
  gap:12px;
  color:var(--muted);
  line-height:1.35;
}

.premium-list i{
  color:var(--primary);
  font-size:20px;
}

.rule-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:18px 0;
  border-top:1px solid var(--line);
}

.rule-row:first-of-type{
  margin-top:18px;
}

.rule-row span{
  color:var(--muted);
  font-weight:650;
}

.rule-row strong{
  text-align:right;
  letter-spacing:-.035em;
}

.pill-row{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px;
}

.pill-row span,
.topic-pill,
.status-pill{
  display:inline-flex;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(109,93,251,.10);
  color:var(--primary);
  font-size:12px;
  font-weight:800;
  letter-spacing:-.02em;
}

.status-pill{
  background:linear-gradient(135deg, rgba(109,93,251,.14), rgba(91,140,255,.14));
}

.amenities{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:22px;
}

.amenities div{
  min-height:112px;
  display:grid;
  place-items:center;
  gap:8px;
  border-radius:24px;
  background:rgba(109,93,251,.07);
  color:var(--ink);
  font-weight:800;
}

.amenities i{
  font-size:28px;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
}

.agenda-timeline{
  display:grid;
  gap:16px;
  margin-top:24px;
}

.agenda-item{
  display:grid;
  grid-template-columns:88px 1fr auto;
  gap:22px;
  align-items:center;
  padding:24px;
  border-radius:30px;
  background:rgba(255,255,255,.76);
  border:1px solid var(--line);
  box-shadow:0 18px 46px rgba(15,23,42,.06);
}

[data-bs-theme="dark"] .agenda-item{
  background:rgba(255,255,255,.06);
}

.agenda-item time{
  font-size:24px;
  font-weight:800;
  letter-spacing:-.055em;
  color:var(--primary);
}

.agenda-item h2{
  margin:10px 0 6px;
  font-size:24px;
  line-height:1.1;
  letter-spacing:-.055em;
  font-weight:800;
}

.agenda-item p{
  margin:0;
  color:var(--muted);
}

.icon-action{
  width:48px;
  height:48px;
  border:0;
  border-radius:16px;
  background:rgba(109,93,251,.10);
  color:var(--primary);
}

.speaker-grid,
.match-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px;
  margin-top:24px;
}

.match-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.avatar{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  border-radius:24px;
  color:#fff;
  font-weight:800;
  font-size:24px;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  box-shadow:0 18px 36px rgba(109,93,251,.18);
}

.avatar.large{
  width:96px;
  height:96px;
  border-radius:32px;
  font-size:30px;
}

.speaker-card h2{
  margin:20px 0 8px;
  font-size:22px;
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:800;
}

.speaker-card p{
  margin:0 0 16px;
  color:var(--muted);
}

.speaker-card span{
  color:var(--primary);
  font-weight:800;
}

.match-card.primary{
  background:
    linear-gradient(135deg, rgba(109,93,251,.16), rgba(91,140,255,.10)),
    rgba(255,255,255,.76);
}

.match-score{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  margin-bottom:22px;
  border-radius:24px;
  color:#fff;
  font-weight:800;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
}

.qr-page{
  min-height:calc(100vh - 68px);
  display:grid;
  place-items:center;
}

.qr-card{
  width:min(520px,100%);
  padding:34px;
  border-radius:40px;
  background:rgba(255,255,255,.78);
  backdrop-filter:blur(24px) saturate(160%);
  box-shadow:var(--shadow);
}

[data-bs-theme="dark"] .qr-card{
  background:rgba(255,255,255,.07);
}

.qr-top,
.qr-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}

.qr-profile{
  margin:42px 0 26px;
  text-align:center;
}

.qr-profile .avatar{
  margin:0 auto 20px;
}

.qr-profile h1{
  margin:0;
  font-size:36px;
  line-height:1;
  letter-spacing:-.065em;
  font-weight:800;
}

.qr-profile p{
  margin:12px 0 0;
  color:var(--muted);
}

.qr-box{
  height:280px;
  display:grid;
  place-items:center;
  margin-bottom:24px;
  border-radius:34px;
  background:#fff;
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.06);
}

.qr-box i{
  font-size:190px;
  color:#091426;
}

.map-card{
  position:relative;
  min-height:380px;
  overflow:hidden;
  background:
    linear-gradient(135deg, rgba(109,93,251,.10), rgba(91,140,255,.08)),
    radial-gradient(circle at 30% 30%, rgba(109,93,251,.18), transparent 22%),
    radial-gradient(circle at 70% 70%, rgba(91,140,255,.18), transparent 24%);
}

.map-card::before{
  content:"";
  position:absolute;
  inset:0;
  background-image:linear-gradient(rgba(109,93,251,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(109,93,251,.10) 1px, transparent 1px);
  background-size:38px 38px;
  opacity:.55;
}

.map-pin{
  position:absolute;
  width:18px;
  height:18px;
  border-radius:999px;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  box-shadow:0 0 0 10px rgba(109,93,251,.10);
}

.map-pin.main{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  color:#fff;
}

.map-pin.main i{
  font-size:30px;
}

.map-pin.p1{left:20%; top:28%}
.map-pin.p2{right:24%; top:34%}
.map-pin.p3{right:34%; bottom:22%}

.question-box{
  margin-top:24px;
}

.textarea-wrap i{
  top:28px;
}

textarea.form-control{
  height:auto;
  padding-top:18px;
  resize:vertical;
}

.questions-list{
  display:grid;
  gap:16px;
  margin-top:18px;
}

.question-card{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:18px;
  align-items:center;
}

.votes{
  width:64px;
  height:64px;
  display:grid;
  place-items:center;
  border-radius:22px;
  background:rgba(109,93,251,.10);
  color:var(--primary);
}

.votes i{
  font-size:20px;
}

.mobile-bottom-nav{
  display:none;
}

/* Improve index CTA navigation */
.start-actions::after{
  content:"";
  display:none;
}

@media(max-width:980px){
  .app-shell{
    grid-template-columns:1fr;
  }

  .app-sidebar{
    display:none;
  }

  .app-main{
    padding:18px 18px 94px;
  }

  .mobile-app-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:18px;
  }

  .mobile-bottom-nav{
    position:fixed;
    left:12px;
    right:12px;
    bottom:12px;
    z-index:30;
    display:grid;
    grid-template-columns:repeat(5,1fr);
    gap:4px;
    padding:8px;
    border-radius:24px;
    background:rgba(255,255,255,.82);
    backdrop-filter:blur(24px) saturate(160%);
    box-shadow:0 18px 50px rgba(15,23,42,.16);
  }

  [data-bs-theme="dark"] .mobile-bottom-nav{
    background:rgba(15,26,43,.86);
  }

  .mobile-nav-link{
    min-height:54px;
    display:grid;
    place-items:center;
    gap:2px;
    color:var(--muted);
    text-decoration:none;
    border-radius:18px;
    font-size:10px;
    font-weight:800;
  }

  .mobile-nav-link i{
    font-size:20px;
  }

  .mobile-nav-link.active{
    color:var(--primary);
    background:rgba(109,93,251,.10);
  }

  .content-grid.two,
  .speaker-grid,
  .match-grid{
    grid-template-columns:1fr;
  }

  .amenities{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:620px){
  .app-main{
    padding:14px 14px 92px;
  }

  .page-hero{
    min-height:300px;
    padding:28px 24px;
    border-radius:30px;
    align-items:flex-end;
  }

  .page-hero h1{
    font-size:44px;
  }

  .page-hero p{
    font-size:16px;
  }

  .hero-icon{
    display:none;
  }

  .premium-panel,
  .speaker-card,
  .match-card,
  .question-card{
    border-radius:26px;
    padding:22px;
  }

  .agenda-item{
    grid-template-columns:1fr auto;
    gap:12px;
  }

  .agenda-item time{
    grid-column:1/-1;
  }

  .qr-card{
    padding:24px;
    border-radius:32px;
  }

  .qr-actions{
    display:grid;
  }

  .qr-box{
    height:230px;
  }

  .qr-box i{
    font-size:155px;
  }
}

.home-shortcuts{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.home-shortcuts a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:10px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:var(--ink);
  text-decoration:none;
  font-size:12px;
  font-weight:800;
  letter-spacing:-.025em;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
[data-bs-theme="dark"] .home-shortcuts a{
  background:rgba(255,255,255,.08);
}
.home-shortcuts i{
  color:var(--primary);
}



/* CARD */

.event-hero{
    position:relative;

    width:100%;
    min-height:430px;

    overflow:hidden;

    border-radius:36px;

    background:#fff;

    box-shadow:
        0 30px 80px rgba(15,23,42,.08),
        0 8px 24px rgba(15,23,42,.04);
}

/* IMAGE */

.hero-image{
    position:absolute;
    inset:0;

    background:
        url('https://images.unsplash.com/photo-1486406146926-c627a92ad1ab?q=80&w=1800&auto=format&fit=crop')
        center right/cover;

    z-index:0;
}

/* SUBTLE FADE */

.hero-fade{
    position:absolute;
    inset:0;

    z-index:1;

    background:
        linear-gradient(
            90deg,
            rgba(255,255,255,.98) 0%,
            rgba(255,255,255,.92) 24%,
            rgba(255,255,255,.74) 44%,
            rgba(255,255,255,.28) 60%,
            rgba(255,255,255,.06) 76%,
            rgba(255,255,255,0) 100%
        );

    backdrop-filter:blur(1px);
}

/* SOFT GLOW */

.hero-glow{
    position:absolute;

    width:340px;
    height:340px;

    left:-120px;
    bottom:-160px;

    z-index:2;

    background:
        radial-gradient(
            circle,
            rgba(109,93,251,.12) 0%,
            rgba(91,140,255,.06) 34%,
            rgba(255,255,255,0) 72%
        );

    filter:blur(44px);

    pointer-events:none;
}

/* CONTENT */

.hero-content{
    position:relative;

    z-index:3;

    width:54%;
    min-height:430px;

    padding:54px;

    display:flex;
    flex-direction:column;
    justify-content:space-between;
}

/* BADGE */

.event-badge{
    width:max-content;

    padding:14px 24px;

    border-radius:999px;

    background:#fff;

    font-size:20px;
    font-weight:500;

    letter-spacing:-0.04em;

    color:var(--primary);

    box-shadow:
        0 8px 24px rgba(15,23,42,.04);
}

.event-badge span{
    font-weight:800;

    background:
        linear-gradient(
            135deg,
            #6d5dfb,
            #5b8cff
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

/* TYPOGRAPHY */

.hero-copy{
    margin-top:auto;
    margin-bottom:48px;
}

.hero-copy h1{
    margin:0;

    font-size:clamp(52px, 7vw, 76px);

    line-height:.94;

    letter-spacing:-0.065em;

    font-weight:800;

    color:#091426;
}

.hero-copy p{
    margin-top:22px;

    font-size:clamp(20px, 2.4vw, 30px);

    line-height:1.2;

    letter-spacing:-0.04em;

    font-weight:500;

    color:#646d7f;
}

/* LOCATION */

.hero-location{
    display:flex;
    align-items:center;
    gap:18px;
}

.pin i{
    font-size:44px;

    background:
        linear-gradient(
            135deg,
            #7c4dff,
            #5b8cff
        );

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.hero-location strong{
    display:block;

    font-size:24px;

    line-height:1.1;

    letter-spacing:-0.05em;

    font-weight:800;

    color:#091426;
}

.hero-location span{
    display:block;

    margin-top:6px;

    font-size:21px;

    letter-spacing:-0.04em;

    color:#667085;
}

/* MOBILE */

@media(max-width:760px){

    body{
        padding:18px;
    }

    .event-hero{
        min-height:300px;

        border-radius:28px;
    }

    .hero-content{
        width:72%;
        min-height:300px;

        padding:28px 24px;
    }

    .event-badge{
        padding:10px 16px;

        font-size:12px;
    }

    .hero-copy{
        margin-bottom:26px;
    }

    .hero-copy h1{
        font-size:38px;
    }

    .hero-copy p{
        margin-top:10px;

        font-size:15px;
    }

    .hero-location{
        gap:10px;
    }

    .pin i{
        font-size:24px;
    }

    .hero-location strong{
        font-size:13px;
    }

    .hero-location span{
        margin-top:2px;

        font-size:12px;
    }

}


.quick-links-section{
  margin-top: 32px;
  padding: 12px 4px 40px;
  position: relative;
  z-index: 2;
}

.quick-links-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.quick-link-card{
  background: rgba(255,255,255,0.9);
  border:1px solid rgba(255,255,255,0.6);
  border-radius:22px;
  padding:18px 10px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none;
  color:#111827;
  box-shadow:0 10px 30px rgba(15,23,42,0.08);
  backdrop-filter: blur(12px);
  transition: all .2s ease;
  min-height:110px;
}

.quick-link-card:hover{
  transform: translateY(-4px);
}

.quick-link-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  background: linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

.quick-link-card span{
  font-size:.84rem;
  font-weight:600;
  text-align:center;
}

@media (max-width: 768px){
  .quick-links-grid{
    gap:10px;
  }

  .quick-link-card{
    border-radius:18px;
    min-height:92px;
    padding:14px 8px;
  }

  .quick-link-icon{
  width:52px;
  height:52px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:2rem;
  background: linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
  background-clip:text;
}

  .quick-link-card span{
    font-size:.76rem;
  }
}


.info-panels{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:0 4px 28px;
}

.agenda-next-card,
.practical-card{
  background:#fff;
  border-radius:22px;
  padding:18px;
  box-shadow:0 12px 30px rgba(15,23,42,0.06);
  border:1px solid rgba(226,232,240,0.8);
}

.agenda-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  margin-bottom:12px;
}

.agenda-label,
.practical-label{
  font-size:.78rem;
  font-weight:700;
  color:#111827;
  margin:0 0 2px;
}

.agenda-time{
  font-size:.72rem;
  color:#6b7280;
}

.agenda-top i{
  font-size:1rem;
  background: linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.agenda-next-card h3{
  font-size:1rem;
  line-height:1.4;
  margin:0 0 16px;
  color:#111827;
}

.agenda-speaker{
  display:flex;
  align-items:center;
  gap:10px;
}

.speaker-avatar{
  width:28px;
  height:28px;
  border-radius:999px;
  background:#f3f4f6;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#6b7280;
  font-size:.85rem;
}

.agenda-speaker span{
  font-size:.82rem;
  color:#4b5563;
  font-weight:500;
}

.practical-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.practical-card span{
  font-size:.78rem;
  color:#6b7280;
  line-height:1.5;
  display:block;
  max-width:240px;
}

.practical-icon{
  width:56px;
  height:56px;
  border-radius:18px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(124,58,237,0.08);
}

.practical-icon i{
  font-size:1.7rem;
  background: linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}


.agenda-day-selector{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 28px;
}

.agenda-day-btn{
  border:0;
  border-radius:18px;
  padding:14px 10px;
  background:#fff;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  color:#6b7280;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:2px;
  transition:all .2s ease;
}

.agenda-day-btn span{
  font-size:.72rem;
  font-weight:700;
}

.agenda-day-btn strong{
  font-size:.95rem;
  color:#111827;
}

.agenda-day-btn.active{
  background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  color:#fff;
  box-shadow:0 14px 30px rgba(124,58,237,.28);
}

.agenda-day-btn.active strong{
  color:#fff;
}

.agenda-modern-timeline{
  display:flex;
  flex-direction:column;
  gap:0;
  padding-bottom:26px;
}

.agenda-modern-item{
  display:grid;
  grid-template-columns:54px 22px minmax(0,1fr);
  min-height:102px;
}

.agenda-modern-time{
  padding-top:2px;
  color:#64748b;
  font-size:.72rem;
  font-weight:700;
  line-height:1.2;
}

.agenda-modern-time time,
.agenda-modern-time span{
  display:block;
}

.agenda-modern-line{
  position:relative;
  display:flex;
  justify-content:center;
}

.agenda-modern-line:before{
  content:"";
  position:absolute;
  top:22px;
  bottom:-6px;
  width:1px;
  background:#e5e7eb;
}

.agenda-modern-line span{
  width:9px;
  height:9px;
  border-radius:999px;
  background:#d1d5db;
  border:2px solid #fff;
  box-shadow:0 0 0 2px #e5e7eb;
  margin-top:4px;
  position:relative;
  z-index:2;
}

.agenda-modern-card{
  position:relative;
  background:#fff;
  border-radius:18px;
  padding:16px;
  margin-bottom:18px;
  box-shadow:0 10px 28px rgba(15,23,42,.06);
  border:1px solid rgba(226,232,240,.8);
  min-height:78px;
}

.agenda-modern-card h2{
  font-size:.95rem;
  line-height:1.35;
  font-weight:800;
  margin:0 0 6px;
  color:#111827;
}

.agenda-modern-card p{
  margin:0;
  font-size:.76rem;
  color:#64748b;
  font-weight:600;
}

.agenda-modern-label{
  font-size:.72rem!important;
  color:#111827!important;
  margin-bottom:6px!important;
}

.agenda-modern-card .agenda-modern-avatar{
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:42px;
  height:42px;
  border-radius:999px;
  background:linear-gradient(135deg,#f5d0fe 0%,#fed7aa 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7c3aed;
}

.agenda-modern-item.featured .agenda-modern-card{
  background:linear-gradient(135deg,#f3edff 0%,#eef5ff 100%);
}

.agenda-modern-item.featured .agenda-modern-card h2,
.agenda-modern-item.featured .agenda-modern-card p,
.agenda-room{
  background:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.agenda-room{
  font-size:.72rem;
  font-weight:700;
}

.agenda-bookmark{
  position:absolute;
  right:14px;
  top:16px;
  border:0;
  background:transparent;
  padding:0;
  font-size:1rem;
  color:#7c3aed;
}

.agenda-speakers-row{
  display:flex;
  margin-top:10px;
}

.agenda-speakers-row span{
  width:28px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(135deg,#f5d0fe 0%,#fed7aa 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7c3aed;
  font-size:.8rem;
  border:2px solid #fff;
  margin-left:-6px;
}

.agenda-speakers-row span:first-child{
  margin-left:0;
}

@media (max-width: 576px){
  .agenda-day-selector{
    gap:8px;
    margin-bottom:24px;
  }

  .agenda-modern-item{
    grid-template-columns:48px 20px minmax(0,1fr);
  }

  .agenda-modern-card{
    padding:14px;
  }
}


.page-hero.compact{
  padding:18px 20px !important;
  min-height:auto;
  margin-bottom:28px !important;
}

.page-hero.compact h1{
  font-size:1.5rem !important;
  margin-bottom:6px;
}

.page-hero.compact p{
  font-size:.82rem;
  margin-bottom:0;
}

.page-hero.compact .hero-icon{
  width:54px;
  height:54px;
  font-size:1.2rem;
}


.agenda-card-toggle{
  width:100%;
  border:0;
  background:transparent;
  padding:0;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  text-align:left;
  color:inherit;
}

.agenda-card-toggle > i{
  color:#94a3b8;
  font-size:.9rem;
  transition:transform .2s ease;
  margin-top:2px;
  flex:0 0 auto;
}

.agenda-card-toggle[aria-expanded="true"] > i{
  transform:rotate(180deg);
}

.agenda-desc{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(226,232,240,.9);
}

.agenda-desc p{
  font-size:.78rem;
  line-height:1.55;
  color:#64748b;
  font-weight:500;
  margin:0;
}

.agenda-modern-item.live-now .agenda-modern-card{
  background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);
  border-color:rgba(34,197,94,.32);
  box-shadow:0 14px 32px rgba(34,197,94,.13);
}

.agenda-modern-item.live-now .agenda-modern-card h2{
  color:#047857;
}

.agenda-modern-item.live-now .agenda-modern-card p{
  color:#059669;
}

.agenda-modern-item.live-now .agenda-modern-line span{
  width:12px;
  height:12px;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.55);
  animation:agendaLivePulse 1.5s infinite;
}

.live-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:5px 9px;
  border-radius:999px;
  background:rgba(34,197,94,.12);
  color:#047857;
  font-size:.68rem;
  font-weight:800;
  margin-bottom:10px;
}

.live-badge:before{
  content:"";
  width:6px;
  height:6px;
  border-radius:999px;
  background:#22c55e;
}

@keyframes agendaLivePulse{
  0%{
    box-shadow:0 0 0 0 rgba(34,197,94,.55);
  }
  70%{
    box-shadow:0 0 0 12px rgba(34,197,94,0);
  }
  100%{
    box-shadow:0 0 0 0 rgba(34,197,94,0);
  }
}

.agenda-modern-item.live-now .agenda-modern-avatar{
  background:linear-gradient(135deg,#bbf7d0 0%,#dcfce7 100%);
  color:#047857;
}

/* Agenda custom hero + floating blurred header */
.agenda-page .app-main{
  padding-top:0;
}

.agenda-page .agenda-floating-header{
  position:sticky;
  top:0;
  z-index:60;
  height:56px;
  margin:0;
  padding:8px 14px;
  border-bottom:1px solid rgba(15,23,42,.06);
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(22px) saturate(170%);
  -webkit-backdrop-filter:blur(22px) saturate(170%);
  box-shadow:0 10px 32px rgba(15,23,42,.08);
}

[data-bs-theme="dark"] .agenda-page .agenda-floating-header{
  background:rgba(15,26,43,.74);
  border-bottom-color:rgba(255,255,255,.08);
}

.agenda-header-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.agenda-menu-toggle,
.agenda-notification-btn{
  position:relative;
  width:38px;
  height:38px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border:0;
  border-radius:16px;
  color:var(--ink);
  background:rgba(255,255,255,.74);
  box-shadow:0 8px 24px rgba(15,23,42,.08);
}

[data-bs-theme="dark"] .agenda-menu-toggle,
[data-bs-theme="dark"] .agenda-notification-btn{
  background:rgba(255,255,255,.08);
}

.agenda-menu-toggle i,
.agenda-notification-btn i{
  font-size:1.35rem;
  line-height:1;
}

.agenda-notification-btn i{
  transform-origin:50% 0;
  animation:agenda-bell-shake 3.8s ease-in-out infinite;
}

.agenda-notification-btn span{
  position:absolute;
  top:2px;
  right:4px;
  min-width:20px;
  height:19px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  color:#fff;
  background:#ef233c;
  border:2px solid rgba(255,255,255,.92);
  font-size:10px;
  font-weight:900;
  line-height:1;
  box-shadow:0 6px 16px rgba(239,35,60,.34);
}

@keyframes agenda-bell-shake{
  0%, 72%, 100%{ transform:rotate(0deg); }
  76%{ transform:rotate(15deg); }
  80%{ transform:rotate(-13deg); }
  84%{ transform:rotate(10deg); }
  88%{ transform:rotate(-7deg); }
  92%{ transform:rotate(4deg); }
}

.agenda-page .page-hero.compact{
  position:relative;
  min-height:180px;
  width:100vw;
  max-width:100vw;
  margin:-34px 0 28px calc(50% - 50vw) !important;
  padding:0 34px 48px !important;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  text-align:center;
  border-radius:0 0 50% 50% / 0 0 13% 13%;
  background:url("https://images.unsplash.com/photo-1492684223066-81342ee5ff30?q=85&w=1800&auto=format&fit=crop") center/cover;
  box-shadow:0 26px 70px rgba(15,23,42,.16);
  isolation:isolate;
}

.agenda-page .page-hero.compact::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(180deg, rgba(0,0,0,.05) 28%, rgba(0,0,0,.18) 58%, rgba(0,0,0,.72) 100%);
}

.agenda-page .page-hero.compact::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:52px;
  z-index:-1;
  border-radius:0 0 50% 50% / 0 0 100% 100%;
  pointer-events:none;
}

.agenda-page .page-hero.compact .section-kicker,
.agenda-page .page-hero.compact p,
.agenda-page .page-hero.compact .hero-icon{
  display:none !important;
}

.agenda-page .page-hero.compact h1{
  color:#fff;
  margin:0;
  font-size:clamp(42px, 11vw, 72px) !important;
  line-height:.9;
  letter-spacing:-.07em;
  text-shadow:0 8px 30px rgba(0,0,0,.38);
}

.agenda-offcanvas{
  max-width:310px;
  border:0;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(24px) saturate(170%);
  -webkit-backdrop-filter:blur(24px) saturate(170%);
}

[data-bs-theme="dark"] .agenda-offcanvas{
  background:rgba(15,26,43,.96);
  color:var(--ink);
}

@media(max-width:980px){
  .agenda-page .app-main{
    padding:0 0 94px;
  }

  .agenda-page .agenda-floating-header{
    position:fixed;
    display:flex;
    left:0;
    right:0;
  }

  .agenda-page .page-hero.compact{
    width:100vw;
    max-width:100vw;
    min-height:165px;
    margin:0 0 28px calc(50% - 50vw) !important;
    padding:0 22px 46px !important;
    justify-content:center;
    text-align:center;
    border-radius:0 0 50% 50% / 0 0 13% 13%;
  }

  .agenda-page .agenda-day-selector,
  .agenda-page .agenda-modern-timeline{
    margin-left:14px;
    margin-right:14px;
  }
}

@media(max-width:620px){
  .agenda-header-brand{
    font-size:19px;
  }

  .agenda-header-brand .brand-mark{
    width:36px;
    height:36px;
    border-radius:13px;
  }

  .agenda-page .page-hero.compact{
    min-height:158px;
    padding-bottom:42px !important;
  }
}

/* Agenda interactive states */
.agenda-modern-timeline{
  transition:opacity .24s ease, transform .24s ease, filter .24s ease;
}

.agenda-modern-timeline.is-switching{
  opacity:0;
  transform:translateY(10px) scale(.985);
  filter:blur(4px);
}

.agenda-modern-item{
  transition:opacity .22s ease, transform .22s ease, filter .22s ease;
}

.agenda-modern-item[hidden]{
  display:none !important;
}

.agenda-modern-item.is-ended{
  opacity:.58;
  filter:grayscale(.85);
}

.agenda-modern-item.is-ended .agenda-modern-card{
  background:#f1f5f9;
  border-color:#e2e8f0;
  box-shadow:none;
}

.agenda-modern-item.is-ended .agenda-modern-card h2,
.agenda-modern-item.is-ended .agenda-modern-card p,
.agenda-modern-item.is-ended .agenda-modern-time{
  color:#94a3b8 !important;
  -webkit-text-fill-color:initial;
  background:none;
}

.agenda-modern-item.is-ended .agenda-modern-line span{
  background:#cbd5e1;
  box-shadow:0 0 0 2px #e2e8f0;
}

.agenda-modern-item.is-live .agenda-modern-card{
  background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);
  border-color:rgba(34,197,94,.32);
  box-shadow:0 14px 32px rgba(34,197,94,.13);
}

.agenda-modern-item.is-live .agenda-modern-card h2{
  color:#047857;
}

.agenda-modern-item.is-live .agenda-modern-card p{
  color:#059669;
}

.agenda-modern-item.is-live .agenda-modern-line span{
  width:12px;
  height:12px;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.55);
  animation:agendaLivePulse 1.5s infinite;
}

.agenda-modern-item.is-live .agenda-modern-avatar{
  background:linear-gradient(135deg,#bbf7d0 0%,#dcfce7 100%);
  color:#047857;
}

.agenda-fav-btn{
  position:absolute;
  right:14px;
  top:14px;
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  display:grid;
  place-items:center;
  color:#7c3aed;
  background:rgba(124,58,237,.08);
  transition:transform .18s ease, background .18s ease, color .18s ease;
}

.agenda-fav-btn:hover,
.agenda-fav-btn.is-favorite{
  color:#ec4899;
  background:rgba(236,72,153,.13);
}

.agenda-fav-btn:active{
  transform:scale(.88);
}

.agenda-modern-card .agenda-card-toggle{
  padding-right:34px;
}

.agenda-modern-card .agenda-desc{
  margin-right:34px;
}

.agenda-empty-state{
  display:none;
  margin:8px 14px 26px;
  padding:22px 18px;
  border:1px dashed rgba(148,163,184,.55);
  border-radius:20px;
  color:#64748b;
  text-align:center;
  background:rgba(255,255,255,.72);
}

.agenda-empty-state.is-visible{
  display:block;
}

@media (prefers-reduced-motion: reduce){
  .agenda-modern-timeline,
  .agenda-modern-item,
  .agenda-fav-btn{
    transition:none !important;
  }
}

/* Agenda refinements: favourite placement, favourite highlight and inline speaker */
.agenda-modern-card .agenda-card-toggle{
  padding-right:48px;
}

.agenda-modern-card .agenda-card-toggle > i{
  margin-right:34px;
}

.agenda-fav-btn{
  top:12px;
  right:12px;
  bottom:auto;
  z-index:3;
}

.agenda-modern-item.is-favorite .agenda-modern-card{
  background:linear-gradient(135deg,#f3edff 0%,#eef5ff 100%);
  border-color:rgba(124,58,237,.2);
  box-shadow:0 14px 34px rgba(124,58,237,.11);
}

.agenda-modern-item.is-favorite .agenda-modern-card h2,
.agenda-modern-item.is-favorite .agenda-modern-card p,
.agenda-modern-item.is-favorite .agenda-room{
  background:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.agenda-modern-item.is-ended.is-favorite .agenda-modern-card{
  background:#f1f5f9;
  border-color:#e2e8f0;
  box-shadow:none;
}

.agenda-modern-item.is-ended.is-favorite .agenda-modern-card h2,
.agenda-modern-item.is-ended.is-favorite .agenda-modern-card p,
.agenda-modern-item.is-ended.is-favorite .agenda-room{
  color:#94a3b8 !important;
  -webkit-text-fill-color:initial;
  background:none;
}

.agenda-speaker-inline{
  display:inline-flex;
  align-items:center;
  gap:7px;
}

.agenda-speaker-inline i{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,#f5d0fe 0%,#fed7aa 100%);
  color:#7c3aed;
  font-size:.74rem;
  -webkit-text-fill-color:initial;
}


/* Agenda language badge */
.agenda-lang-badge{
  position:absolute;
  left:14px;
  top:-11px;
  z-index:4;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.18);
  background:#fff;
  color:#7c3aed;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  font-size:.66rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
}

.agenda-lang-badge i{
  font-size:.72rem;
  line-height:1;
}

.agenda-modern-card{
  overflow:visible;
}

.agenda-modern-item.is-live .agenda-lang-badge{
  border-color:rgba(34,197,94,.25);
  color:#047857;
}

.agenda-modern-item.is-ended .agenda-lang-badge{
  color:#94a3b8;
  border-color:#e2e8f0;
  background:#f8fafc;
  box-shadow:none;
}

.agenda-modern-item.is-favorite .agenda-lang-badge{
  color:#7c3aed;
  border-color:rgba(124,58,237,.2);
}

/* Agenda refinements: top-border badges, translation info and live state priority */
.agenda-top-badges{
  position:absolute;
  left:14px;
  top:-12px;
  z-index:5;
  display:flex;
  align-items:center;
  gap:6px;
  pointer-events:none;
}

.agenda-lang-badge,
.agenda-translation-badge{
  position:static;
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid rgba(124,58,237,.18);
  background:#fff;
  color:#7c3aed;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  font-size:.66rem;
  line-height:1;
  font-weight:900;
  letter-spacing:.02em;
}

.agenda-translation-badge{
  color:#0f766e;
  border-color:rgba(15,118,110,.2);
  background:#f0fdfa;
}

.agenda-lang-badge i,
.agenda-translation-badge i{
  font-size:.72rem;
  line-height:1;
}

.agenda-fav-btn{
  top:-12px;
  right:14px;
  bottom:auto;
  z-index:6;
  width:32px;
  height:32px;
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  border:1px solid rgba(124,58,237,.14);
}

.agenda-modern-card .agenda-card-toggle{
  padding-right:34px;
}

.agenda-modern-card .agenda-card-toggle > i{
  margin-right:0;
  margin-top:8px;
}

.agenda-modern-item.is-live{
  opacity:1;
  filter:none;
}

.agenda-modern-item.is-live .agenda-modern-card,
.agenda-modern-item.is-live.is-favorite .agenda-modern-card{
  background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);
  border-color:rgba(34,197,94,.32);
  box-shadow:0 14px 32px rgba(34,197,94,.13);
}

.agenda-modern-item.is-live .agenda-modern-card h2,
.agenda-modern-item.is-live.is-favorite .agenda-modern-card h2{
  color:#047857 !important;
  -webkit-text-fill-color:initial;
  background:none;
}

.agenda-modern-item.is-live .agenda-modern-card p,
.agenda-modern-item.is-live .agenda-room,
.agenda-modern-item.is-live.is-favorite .agenda-modern-card p,
.agenda-modern-item.is-live.is-favorite .agenda-room{
  color:#059669 !important;
  -webkit-text-fill-color:initial;
  background:none;
}

.agenda-modern-item.is-live .agenda-modern-line span{
  width:12px;
  height:12px;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.55);
  animation:agendaLivePulse 1.5s infinite;
}

.agenda-modern-item.is-live .agenda-lang-badge,
.agenda-modern-item.is-live .agenda-translation-badge{
  border-color:rgba(34,197,94,.25);
  color:#047857;
  background:#fff;
  box-shadow:0 8px 18px rgba(34,197,94,.12);
}

.agenda-modern-item.is-ended .agenda-top-badges .agenda-lang-badge,
.agenda-modern-item.is-ended .agenda-top-badges .agenda-translation-badge{
  color:#94a3b8;
  border-color:#e2e8f0;
  background:#f8fafc;
  box-shadow:none;
}

/* Agenda live-state compatibility for mobile WebView */
.agenda-modern-item.live-now{
  opacity:1;
  filter:none;
}

.agenda-modern-item.live-now .agenda-modern-card,
.agenda-modern-item.live-now.is-favorite .agenda-modern-card{
  background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%);
  border-color:rgba(34,197,94,.32);
  box-shadow:0 14px 32px rgba(34,197,94,.13);
}

.agenda-modern-item.live-now .agenda-modern-card h2,
.agenda-modern-item.live-now.is-favorite .agenda-modern-card h2{
  color:#047857 !important;
  -webkit-text-fill-color:initial;
  background:none;
}

.agenda-modern-item.live-now .agenda-modern-card p,
.agenda-modern-item.live-now .agenda-room,
.agenda-modern-item.live-now.is-favorite .agenda-modern-card p,
.agenda-modern-item.live-now.is-favorite .agenda-room{
  color:#059669 !important;
  -webkit-text-fill-color:initial;
  background:none;
}

.agenda-modern-item.live-now .agenda-modern-line span{
  width:12px;
  height:12px;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.55);
  animation:agendaLivePulse 1.5s infinite;
}


/* Strong live-state override: active session must stay green and pulse */
.agenda-modern-item.is-live .agenda-modern-card,
.agenda-modern-item.live-now .agenda-modern-card{
  background:linear-gradient(135deg,#ecfdf5 0%,#f0fdf4 100%) !important;
  border-color:rgba(34,197,94,.45) !important;
  box-shadow:0 14px 32px rgba(34,197,94,.16) !important;
}

.agenda-modern-item.is-live .agenda-modern-line span,
.agenda-modern-item.live-now .agenda-modern-line span{
  width:12px !important;
  height:12px !important;
  background:#22c55e !important;
  border-color:#fff !important;
  box-shadow:0 0 0 0 rgba(34,197,94,.55) !important;
  animation:agendaLivePulse 1.5s infinite !important;
}

.agenda-modern-item.is-live .agenda-modern-card h2,
.agenda-modern-item.live-now .agenda-modern-card h2{
  color:#047857 !important;
  -webkit-text-fill-color:#047857 !important;
}

.agenda-modern-item.is-live .agenda-modern-card p,
.agenda-modern-item.live-now .agenda-modern-card p,
.agenda-modern-item.is-live .agenda-room,
.agenda-modern-item.live-now .agenda-room{
  color:#059669 !important;
  -webkit-text-fill-color:#059669 !important;
}

/* Agenda tags next to favourite action */
.agenda-tag-badges{
  position:absolute;
  top:-12px;
  right:54px;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  max-width:calc(100% - 150px);
  pointer-events:none;
}

.agenda-tag-badge{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:3px 8px;
  border-radius:999px;
  border:1px solid transparent;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  font-size:.63rem;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
  letter-spacing:.01em;
}

.agenda-tag-ai{background:#eef2ff;color:#4f46e5;border-color:rgba(79,70,229,.14)}
.agenda-tag-business{background:#eff6ff;color:#2563eb;border-color:rgba(37,99,235,.14)}
.agenda-tag-tech{background:#f0f9ff;color:#0284c7;border-color:rgba(2,132,199,.14)}
.agenda-tag-keynote{background:#fff7ed;color:#ea580c;border-color:rgba(234,88,12,.16)}
.agenda-tag-future{background:#f5f3ff;color:#7c3aed;border-color:rgba(124,58,237,.16)}
.agenda-tag-networking{background:#ecfdf5;color:#059669;border-color:rgba(5,150,105,.16)}
.agenda-tag-panel{background:#fdf2f8;color:#db2777;border-color:rgba(219,39,119,.16)}
.agenda-tag-innovation{background:#f0fdfa;color:#0f766e;border-color:rgba(15,118,110,.16)}
.agenda-tag-strategy{background:#f8fafc;color:#475569;border-color:rgba(71,85,105,.16)}
.agenda-tag-workshop{background:#fefce8;color:#a16207;border-color:rgba(161,98,7,.18)}
.agenda-tag-automation{background:#ecfeff;color:#0891b2;border-color:rgba(8,145,178,.16)}
.agenda-tag-leadership{background:#faf5ff;color:#9333ea;border-color:rgba(147,51,234,.16)}
.agenda-tag-summary{background:#f1f5f9;color:#64748b;border-color:#e2e8f0}
.agenda-tag-default{background:#fff;color:#64748b;border-color:#e2e8f0}

.agenda-modern-item.is-ended .agenda-tag-badge{
  background:#f8fafc !important;
  color:#94a3b8 !important;
  border-color:#e2e8f0 !important;
  box-shadow:none;
}

.agenda-modern-item.is-live .agenda-tag-badge{
  background:#fff !important;
  color:#047857 !important;
  border-color:rgba(34,197,94,.25) !important;
  box-shadow:0 8px 18px rgba(34,197,94,.12);
}

@media (max-width:420px){
  .agenda-tag-badges .agenda-tag-badge:nth-child(n+2){display:none;}
}

/* Agenda speaker bottom sheet */
.agenda-speaker-trigger{
  cursor:pointer;
  user-select:none;
}

.agenda-speaker-trigger:focus-visible{
  outline:3px solid rgba(124,58,237,.22);
  outline-offset:3px;
}

.agenda-speakers-row button,
.agenda-speakers-row .agenda-speaker-trigger{
  border:0;
  padding:0;
}

.agenda-speaker-inline{
  border:0;
  background:transparent;
  padding:0;
  margin-top:2px;
  color:#64748b;
  font:inherit;
}

.agenda-speaker-modal .modal-dialog{
  align-items:flex-end;
  min-height:100%;
  margin:0 auto;
  padding:0 12px 12px;
}

.agenda-speaker-dialog{
  max-width:520px;
}

.agenda-speaker-sheet{
  border:0;
  border-radius:28px 28px 24px 24px;
  box-shadow:0 -20px 60px rgba(15,23,42,.22);
  animation:agendaSheetIn .24s ease both;
  overflow:hidden;
}

.agenda-speaker-modal .modal-body{
  position:relative;
  padding:28px 22px 22px;
  text-align:center;
}

.agenda-speaker-handle{
  width:44px;
  height:5px;
  border-radius:999px;
  background:#cbd5e1;
  margin:10px auto 0;
}

.agenda-speaker-close{
  position:absolute;
  top:18px;
  right:18px;
  z-index:2;
}

.agenda-speaker-photo{
  width:86px;
  height:86px;
  object-fit:cover;
  border-radius:999px;
  border:4px solid #fff;
  box-shadow:0 14px 34px rgba(15,23,42,.16);
  background:#f1f5f9;
}

.agenda-speaker-kicker{
  margin:14px 0 4px !important;
  color:#7c3aed !important;
  font-size:.72rem !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.agenda-speaker-name{
  margin:0;
  font-size:1.32rem;
  font-weight:900;
  color:#111827;
}

.agenda-speaker-position{
  margin:6px 0 12px !important;
  color:#64748b !important;
  font-weight:700 !important;
  font-size:.84rem !important;
}

.agenda-speaker-bio{
  margin:0 auto 16px !important;
  max-width:430px;
  color:#475569 !important;
  font-size:.88rem !important;
  line-height:1.55;
  font-weight:500 !important;
}

.agenda-speaker-socials{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-bottom:16px;
}

.agenda-speaker-socials a{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  text-decoration:none;
  color:#7c3aed;
  background:rgba(124,58,237,.08);
  font-size:.78rem;
  font-weight:800;
}

.agenda-speaker-rating{
  padding:14px;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fafc 0%,#f5f3ff 100%);
}

.agenda-speaker-rating > span{
  display:block;
  margin-bottom:8px;
  color:#475569;
  font-size:.78rem;
  font-weight:800;
}

.agenda-rating-stars{
  display:flex;
  justify-content:center;
  gap:6px;
}

.agenda-rating-stars button{
  border:0;
  background:transparent;
  color:#cbd5e1;
  font-size:1.28rem;
  padding:2px;
  transition:transform .15s ease, color .15s ease;
}

.agenda-rating-stars button.is-active,
.agenda-rating-stars button:hover,
.agenda-rating-stars button:hover ~ button{
  color:#f59e0b;
}

.agenda-rating-stars button:active{
  transform:scale(.86);
}

@keyframes agendaSheetIn{
  from{transform:translateY(28px);opacity:.4;}
  to{transform:translateY(0);opacity:1;}
}

/* Agenda refinements: controls, rating direction and stacked speakers */
.agenda-modern-card{
  padding-top:22px;
}

.agenda-tag-badges{
  top:-12px;
  right:90px;
  align-items:center;
}

.agenda-fav-btn{
  top:-12px !important;
  right:14px !important;
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}

.agenda-fav-btn i{
  font-size:.9rem;
  line-height:1;
}

.agenda-modern-card .agenda-card-toggle{
  position:relative;
  width:100%;
  padding-right:0 !important;
}

.agenda-modern-card .agenda-card-toggle > div{
  width:100%;
  min-width:0;
  padding-right:0 !important;
}

.agenda-modern-card .agenda-card-toggle > i{
  position:absolute;
  top:-34px;
  right:48px;
  width:28px;
  height:28px;
  margin:0 !important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(124,58,237,.14);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  color:#7c3aed;
  z-index:6;
}

.agenda-modern-card .agenda-desc{
  margin-right:0 !important;
}

.agenda-speakers-row{
  display:flex !important;
  align-items:center;
  margin-top:10px;
  padding-left:0;
}

.agenda-speakers-row .agenda-speaker-trigger,
.agenda-speakers-row span{
  width:30px !important;
  height:30px !important;
  min-width:30px;
  border-radius:999px !important;
  background:linear-gradient(135deg,#f5d0fe 0%,#fed7aa 100%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  color:#7c3aed !important;
  font-size:.8rem !important;
  border:2px solid #fff !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  margin-left:-8px !important;
  padding:0 !important;
  -webkit-text-fill-color:initial !important;
}

.agenda-speakers-row .agenda-speaker-trigger:first-child,
.agenda-speakers-row span:first-child{
  margin-left:0 !important;
}

.agenda-speakers-row .agenda-speaker-trigger i,
.agenda-speakers-row span i{
  line-height:1;
}

.agenda-rating-stars button:hover,
.agenda-rating-stars button:hover ~ button{
  color:#cbd5e1;
}

.agenda-rating-stars button.is-hovered,
.agenda-rating-stars button.is-active{
  color:#f59e0b;
}

@media (max-width:420px){
  .agenda-tag-badges{right:88px; max-width:calc(100% - 190px);}
}


/* Agenda fixes: expand icon next to favourite and rating feedback popup */
.agenda-modern-card .agenda-card-toggle > i{
  top:-34px !important;
  right:14px !important;
}

.agenda-fav-btn{
  top:-12px !important;
  right:48px !important;
}

.agenda-tag-badges{
  right:90px !important;
}

.agenda-rating-stars{
  direction:ltr !important;
  flex-direction:row !important;
}

.agenda-rating-stars button:hover,
.agenda-rating-stars button:hover ~ button{
  color:#cbd5e1 !important;
}

.agenda-rating-stars button.is-hovered,
.agenda-rating-stars button.is-active{
  color:#f59e0b !important;
}

.agenda-rating-feedback{
  position:fixed;
  inset:0;
  z-index:1085;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}

.agenda-rating-feedback[hidden]{
  display:none !important;
}

.agenda-rating-feedback-card{
  width:min(100%,420px);
  border-radius:26px;
  background:#fff;
  padding:22px 18px 18px;
  box-shadow:0 24px 70px rgba(15,23,42,.24);
  animation:agendaRatingPopupIn .22s ease both;
}

.agenda-rating-feedback-icon{
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin:0 auto 10px;
  color:#16a34a;
  background:rgba(34,197,94,.13);
  font-size:1.35rem;
}

.agenda-rating-feedback h3{
  margin:0 0 6px;
  text-align:center;
  font-size:1.05rem;
  font-weight:900;
  color:#0f172a;
}

.agenda-rating-feedback p{
  margin:0 0 14px;
  text-align:center;
  color:#64748b;
  font-size:.88rem;
}

.agenda-rating-comment{
  width:100%;
  resize:none;
  border:1px solid rgba(148,163,184,.36);
  border-radius:16px;
  padding:12px 13px;
  font:inherit;
  color:#0f172a;
  background:#f8fafc;
  outline:none;
}

.agenda-rating-comment:focus{
  border-color:rgba(124,58,237,.52);
  box-shadow:0 0 0 4px rgba(124,58,237,.11);
  background:#fff;
}

.agenda-rating-feedback-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:14px;
}

.agenda-rating-feedback-actions .btn{
  border-radius:999px;
  font-weight:800;
  padding:10px 14px;
}

@keyframes agendaRatingPopupIn{
  from{transform:translateY(18px);opacity:0;}
  to{transform:translateY(0);opacity:1;}
}

[data-bs-theme="dark"] .agenda-rating-feedback-card{
  background:#111827;
}

[data-bs-theme="dark"] .agenda-rating-feedback h3,
[data-bs-theme="dark"] .agenda-rating-comment{
  color:#f8fafc;
}

[data-bs-theme="dark"] .agenda-rating-feedback p{
  color:#cbd5e1;
}

[data-bs-theme="dark"] .agenda-rating-comment{
  background:#0f172a;
  border-color:rgba(255,255,255,.12);
}


/* Final agenda controls spacing + saved-comment toast */
.agenda-modern-card{
  position:relative !important;
}

.agenda-modern-card .agenda-card-toggle{
  position:static !important;
  padding-right:0 !important;
}

.agenda-modern-card .agenda-card-toggle > div{
  width:100% !important;
  padding-right:0 !important;
}

.agenda-modern-card .agenda-card-toggle > i{
  position:absolute !important;
  top:-14px !important;
  right:12px !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  z-index:9 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(124,58,237,.14) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
  color:#7c3aed !important;
}

.agenda-fav-btn{
  position:absolute !important;
  top:-14px !important;
  right:48px !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  z-index:10 !important;
  margin:0 !important;
}

.agenda-tag-badges{
  right:86px !important;
  top:-12px !important;
  max-width:calc(100% - 190px) !important;
}

@media (max-width:420px){
  .agenda-tag-badges{
    right:84px !important;
    max-width:calc(100% - 176px) !important;
  }
}

.agenda-comment-toast{
  position:fixed;
  left:50%;
  bottom:88px;
  z-index:2000;
  transform:translate(-50%,18px) scale(.96);
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:max-content;
  max-width:calc(100vw - 32px);
  padding:12px 16px;
  border-radius:999px;
  color:#065f46;
  background:rgba(236,253,245,.96);
  border:1px solid rgba(16,185,129,.22);
  box-shadow:0 18px 44px rgba(15,23,42,.20);
  font-size:.86rem;
  font-weight:850;
  opacity:0;
  pointer-events:none;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:opacity .24s ease, transform .24s cubic-bezier(.2,.8,.2,1);
}

.agenda-comment-toast i{
  font-size:1.05rem;
  line-height:1;
}

.agenda-comment-toast.is-visible{
  opacity:1;
  transform:translate(-50%,0) scale(1);
}

.agenda-comment-toast.is-hiding{
  opacity:0;
  transform:translate(-50%,12px) scale(.98);
}

[data-bs-theme="dark"] .agenda-comment-toast{
  color:#bbf7d0;
  background:rgba(6,78,59,.94);
  border-color:rgba(52,211,153,.24);
}

/* Global top toast + refined agenda action controls */
.agenda-comment-toast{
  top:calc(env(safe-area-inset-top, 0px) + 14px) !important;
  bottom:auto !important;
  transform:translate(-50%,-18px) scale(.96) !important;
  z-index:5000 !important;
}

.agenda-comment-toast.is-visible{
  transform:translate(-50%,0) scale(1) !important;
}

.agenda-comment-toast.is-hiding{
  transform:translate(-50%,-12px) scale(.98) !important;
}

.agenda-rating-save{
  border:0 !important;
  background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%) !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(124,58,237,.24) !important;
}

.agenda-rating-save:hover,
.agenda-rating-save:focus{
  color:#fff !important;
  filter:brightness(1.03);
}

.agenda-modern-card .agenda-card-toggle > i{
  right:8px !important;
}

.agenda-fav-btn{
  right:44px !important;
}

.agenda-tag-badges{
  right:82px !important;
  max-width:calc(100% - 186px) !important;
}

@media (max-width:420px){
  .agenda-modern-card .agenda-card-toggle > i{
    right:8px !important;
  }

  .agenda-fav-btn{
    right:44px !important;
  }

  .agenda-tag-badges{
    right:82px !important;
    max-width:calc(100% - 174px) !important;
  }
}


/* Subtle top toast + speaker click/collapse polish */
.agenda-comment-toast{
  top:calc(env(safe-area-inset-top, 0px) + 10px) !important;
  padding:8px 12px !important;
  gap:7px !important;
  min-width:auto !important;
  max-width:calc(100vw - 56px) !important;
  border-radius:999px !important;
  font-size:.78rem !important;
  font-weight:750 !important;
  letter-spacing:-.01em !important;
  color:#166534 !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(34,197,94,.18) !important;
  box-shadow:0 10px 28px rgba(15,23,42,.12) !important;
  transform:translate(-50%,-10px) scale(.98) !important;
  backdrop-filter:blur(14px) saturate(1.15) !important;
  -webkit-backdrop-filter:blur(14px) saturate(1.15) !important;
}

.agenda-comment-toast i{
  font-size:.95rem !important;
  color:#22c55e !important;
}

.agenda-comment-toast.is-visible{
  transform:translate(-50%,0) scale(1) !important;
}

.agenda-comment-toast.is-hiding{
  transform:translate(-50%,-8px) scale(.985) !important;
}

[data-bs-theme="dark"] .agenda-comment-toast{
  color:#dcfce7 !important;
  background:rgba(15,23,42,.78) !important;
  border-color:rgba(74,222,128,.18) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.24) !important;
}

/* Restore stronger top toast, only with lighter text weight */
.agenda-comment-toast{
  top:calc(env(safe-area-inset-top, 0px) + 14px) !important;
  bottom:auto !important;
  left:50% !important;
  min-width:max-content !important;
  max-width:calc(100vw - 40px) !important;
  padding:11px 16px !important;
  gap:9px !important;
  border-radius:999px !important;
  font-size:.86rem !important;
  font-weight:500 !important;
  letter-spacing:0 !important;
  color:#166534 !important;
  background:rgba(240,253,244,.96) !important;
  border:1px solid rgba(34,197,94,.22) !important;
  box-shadow:0 18px 42px rgba(15,23,42,.18) !important;
  transform:translate(-50%,-18px) scale(.96) !important;
  backdrop-filter:blur(16px) saturate(1.2) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.2) !important;
  z-index:5000 !important;
}

.agenda-comment-toast i{
  font-size:1.05rem !important;
  color:#16a34a !important;
}

.agenda-comment-toast.is-visible{
  opacity:1 !important;
  transform:translate(-50%,0) scale(1) !important;
}

.agenda-comment-toast.is-hiding{
  opacity:0 !important;
  transform:translate(-50%,-12px) scale(.98) !important;
}

[data-bs-theme="dark"] .agenda-comment-toast{
  color:#bbf7d0 !important;
  background:rgba(6,78,59,.94) !important;
  border-color:rgba(52,211,153,.24) !important;
  box-shadow:0 18px 42px rgba(0,0,0,.26) !important;
}

/* Fix: speaker tap must not expand session; live session time + pulse visibility */
.agenda-speaker-area{
  margin-top:8px;
  position:relative;
  z-index:12;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  width:fit-content;
  max-width:100%;
}

.agenda-speaker-area .agenda-speaker-inline{
  margin-top:0 !important;
}

.agenda-speaker-area .agenda-speakers-row{
  margin-top:0 !important;
}

.agenda-modern-item.is-live .agenda-modern-time,
.agenda-modern-item.live-now .agenda-modern-time,
.agenda-modern-item.is-live .agenda-modern-time time,
.agenda-modern-item.is-live .agenda-modern-time span,
.agenda-modern-item.live-now .agenda-modern-time time,
.agenda-modern-item.live-now .agenda-modern-time span{
  color:#059669 !important;
  -webkit-text-fill-color:#059669 !important;
  font-weight:900 !important;
}

.agenda-modern-item.is-live .agenda-modern-line span,
.agenda-modern-item.live-now .agenda-modern-line span{
  display:block !important;
  opacity:1 !important;
  transform:none !important;
  border:2px solid #fff !important;
  background:#22c55e !important;
  box-shadow:0 0 0 0 rgba(34,197,94,.58) !important;
  animation:agendaLivePulse 1.35s ease-out infinite !important;
}

.agenda-modern-item.is-live .agenda-modern-line:before,
.agenda-modern-item.live-now .agenda-modern-line:before{
  background:rgba(34,197,94,.28) !important;
}

/* Final fix: visible live-dot pulse for WebView/Safari */
@keyframes agendaLiveDotRingPulse{
  0%{
    transform:translate(-50%, -50%) scale(.45);
    opacity:.55;
  }
  70%{
    transform:translate(-50%, -50%) scale(1.55);
    opacity:0;
  }
  100%{
    transform:translate(-50%, -50%) scale(1.55);
    opacity:0;
  }
}

.agenda-modern-line,
.agenda-modern-line span{
  overflow:visible !important;
}

.agenda-modern-item.is-live .agenda-modern-line span,
.agenda-modern-item.live-now .agenda-modern-line span{
  position:relative !important;
  width:12px !important;
  height:12px !important;
  min-width:12px !important;
  min-height:12px !important;
  background:#22c55e !important;
  border:2px solid #fff !important;
  box-shadow:0 0 0 2px rgba(34,197,94,.22) !important;
  animation:none !important;
}

.agenda-modern-item.is-live .agenda-modern-line span::after,
.agenda-modern-item.live-now .agenda-modern-line span::after{
  content:"" !important;
  position:absolute !important;
  left:50% !important;
  top:50% !important;
  width:26px !important;
  height:26px !important;
  border-radius:999px !important;
  background:rgba(34,197,94,.28) !important;
  transform:translate(-50%, -50%) scale(.45);
  opacity:.55;
  z-index:-1 !important;
  pointer-events:none !important;
  animation:agendaLiveDotRingPulse 1.35s ease-out infinite !important;
}

/* Session rating module - visible and not dimmed for ended sessions */
.agenda-session-rating{
  width:min(100%, 320px);
  margin:14px auto 4px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(135deg,#f8fafc 0%,#f5f3ff 100%);
  border:1px solid rgba(226,232,240,.78);
  box-shadow:0 10px 24px rgba(15,23,42,.05);
  text-align:center;
  color:#475569;
  filter:none !important;
  opacity:1 !important;
}

.agenda-session-rating > span{
  display:block;
  margin-bottom:8px;
  color:#475569 !important;
  font-size:.78rem;
  font-weight:800;
  -webkit-text-fill-color:initial !important;
}

.agenda-session-rating .agenda-rating-stars{
  justify-content:center;
}

.agenda-modern-item.is-ended{
  opacity:1 !important;
  filter:none !important;
}

.agenda-modern-item.is-ended .agenda-modern-time,
.agenda-modern-item.is-ended .agenda-modern-line,
.agenda-modern-item.is-ended .agenda-card-toggle,
.agenda-modern-item.is-ended .agenda-speaker-area,
.agenda-modern-item.is-ended .agenda-top-badges,
.agenda-modern-item.is-ended .agenda-tag-badges{
  opacity:.58;
  filter:grayscale(.85);
}

.agenda-modern-item.is-ended .agenda-desc > p{
  opacity:.62;
  filter:grayscale(.85);
}

.agenda-modern-item.is-ended .agenda-session-rating,
.agenda-modern-item.is-ended .agenda-session-rating *{
  opacity:1 !important;
  filter:none !important;
}

.agenda-session-rating-feedback{
  position:fixed;
  inset:0;
  z-index:1085;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(15,23,42,.22);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.agenda-session-rating-feedback[hidden]{
  display:none !important;
}

.agenda-session-rating-card{
  width:min(100%, 390px);
  border-radius:26px;
  background:#fff;
  box-shadow:0 28px 70px rgba(15,23,42,.24);
  padding:22px;
  animation:agendaSheetIn .24s ease both;
}

.agenda-session-rating-card h3{
  margin:0 0 6px;
  font-size:1rem;
  font-weight:900;
  color:#111827;
}

.agenda-session-rating-card p{
  margin:0 0 12px;
  color:#64748b;
  font-size:.84rem;
  font-weight:600;
}

[data-bs-theme="dark"] .agenda-session-rating,
[data-bs-theme="dark"] .agenda-session-rating-card{
  background:linear-gradient(135deg,#111827 0%,#1e1b4b 100%);
  border-color:rgba(148,163,184,.22);
}

[data-bs-theme="dark"] .agenda-session-rating > span,
[data-bs-theme="dark"] .agenda-session-rating-card h3{
  color:#f8fafc !important;
}


/* Final fixes: expand/favourite controls, added session rating visual parity */
.agenda-modern-card{
  position:relative !important;
}
.agenda-modern-card .agenda-card-toggle{
  position:static !important;
  padding-right:0 !important;
}
.agenda-modern-card .agenda-card-toggle > div{
  width:100% !important;
  padding-right:0 !important;
}
.agenda-modern-card .agenda-card-toggle > i{
  position:absolute !important;
  top:-14px !important;
  right:8px !important;
  bottom:auto !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  z-index:20 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(124,58,237,.14) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.08) !important;
  color:#7c3aed !important;
}
.agenda-fav-btn{
  position:absolute !important;
  top:-14px !important;
  right:46px !important;
  bottom:auto !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  margin:0 !important;
  z-index:21 !important;
}
.agenda-tag-badges{
  top:-12px !important;
  right:84px !important;
  max-width:calc(100% - 188px) !important;
}
.agenda-session-rating{
  width:100% !important;
  max-width:none !important;
  margin:14px 0 4px !important;
  padding:14px !important;
  border-radius:18px !important;
  background:linear-gradient(135deg,#f8fafc 0%,#f5f3ff 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  text-align:center !important;
  color:#475569 !important;
  opacity:1 !important;
  filter:none !important;
}
.agenda-session-rating > span{
  display:block !important;
  margin-bottom:8px !important;
  color:#475569 !important;
  font-size:.78rem !important;
  font-weight:800 !important;
  -webkit-text-fill-color:initial !important;
}
.agenda-session-rating .agenda-rating-stars{
  display:flex !important;
  justify-content:center !important;
  gap:6px !important;
}
.agenda-modern-item.is-ended .agenda-session-rating,
.agenda-modern-item.is-ended .agenda-session-rating *{
  opacity:1 !important;
  filter:none !important;
  color:revert;
}
.agenda-modern-item.is-ended .agenda-session-rating > span{
  color:#475569 !important;
}
.agenda-session-rating-card{
  width:min(100%,420px) !important;
  border-radius:26px !important;
  background:#fff !important;
  padding:22px 18px 18px !important;
  box-shadow:0 24px 70px rgba(15,23,42,.24) !important;
  animation:agendaRatingPopupIn .22s ease both !important;
}
.agenda-session-rating-card::before{
  content:"\F26B";
  font-family:"bootstrap-icons";
  width:44px;
  height:44px;
  border-radius:999px;
  display:grid;
  place-items:center;
  margin:0 auto 10px;
  color:#16a34a;
  background:rgba(34,197,94,.13);
  font-size:1.35rem;
}
.agenda-session-rating-card h3{
  margin:0 0 6px !important;
  text-align:center !important;
  font-size:1.05rem !important;
  font-weight:900 !important;
  color:#0f172a !important;
}
.agenda-session-rating-card p{
  margin:0 0 14px !important;
  text-align:center !important;
  color:#64748b !important;
  font-size:.88rem !important;
  font-weight:500 !important;
}
[data-bs-theme="dark"] .agenda-session-rating{
  background:linear-gradient(135deg,#111827 0%,#1e1b4b 100%) !important;
}
[data-bs-theme="dark"] .agenda-session-rating-card{
  background:#111827 !important;
}
[data-bs-theme="dark"] .agenda-session-rating > span,
[data-bs-theme="dark"] .agenda-session-rating-card h3{
  color:#f8fafc !important;
}
[data-bs-theme="dark"] .agenda-session-rating-card p{
  color:#cbd5e1 !important;
}
@media (max-width:420px){
  .agenda-modern-card .agenda-card-toggle > i{right:8px !important;}
  .agenda-fav-btn{right:46px !important;}
  .agenda-tag-badges{right:84px !important; max-width:calc(100% - 176px) !important;}
}


.agenda-modern-card{
  position:relative;
}
.agenda-fav-btn{
  right:48px !important;
  top:10px !important;
  bottom:auto !important;
}
.agenda-card-toggle > i{
  position:absolute;
  right:14px;
  top:16px;
}
.agenda-modern-card .agenda-card-toggle{
  padding-right:80px;
}

/* FIX 2026-05-10: keep tag badges at the top border and move only action icons up next to them */
.agenda-modern-card{
  position:relative !important;
  padding-top:22px !important;
}
.agenda-tag-badges{
  top:-12px !important;
  right:84px !important;
  max-width:calc(100% - 188px) !important;
  align-items:center !important;
}
.agenda-fav-btn{
  position:absolute !important;
  top:-16px !important;
  right:46px !important;
  bottom:auto !important;
  width:30px !important;
  height:30px !important;
  min-width:30px !important;
  margin:0 !important;
  z-index:31 !important;
}
.agenda-modern-card .agenda-card-toggle{
  position:static !important;
  padding-right:0 !important;
}
.agenda-modern-card .agenda-card-toggle > i{
  position:absolute !important;
  top:-16px !important;
  right:8px !important;
  bottom:auto !important;
  width:30px !important;
  height:30px !important;
  margin:0 !important;
  z-index:30 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
@media (max-width:420px){
  .agenda-tag-badges{right:84px !important; max-width:calc(100% - 176px) !important;}
  .agenda-fav-btn{right:46px !important; top:-16px !important;}
  .agenda-modern-card .agenda-card-toggle > i{right:8px !important; top:-16px !important;}
}

/* FIX: align top action icons also for ended sessions. Do not put filter on the whole toggle,
   because in WebView it changes the containing block for the absolute chevron icon. */
.agenda-modern-item.is-ended .agenda-card-toggle{
  opacity:1 !important;
  filter:none !important;
}
.agenda-modern-item.is-ended .agenda-card-toggle > div{
  opacity:.58 !important;
  filter:grayscale(.85) !important;
}
.agenda-modern-item.is-ended .agenda-card-toggle > i,
.agenda-modern-item.is-ended .agenda-fav-btn,
.agenda-modern-item.is-ended .agenda-tag-badges{
  opacity:1 !important;
  transform:none !important;
}
.agenda-modern-item.is-ended .agenda-modern-card .agenda-card-toggle > i,
.agenda-modern-card .agenda-card-toggle > i{
  position:absolute !important;
  top:-16px !important;
  right:8px !important;
  bottom:auto !important;
  width:30px !important;
  height:30px !important;
  z-index:32 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.agenda-modern-item.is-ended .agenda-fav-btn,
.agenda-fav-btn{
  position:absolute !important;
  top:-16px !important;
  right:46px !important;
  bottom:auto !important;
  width:30px !important;
  height:30px !important;
  z-index:33 !important;
}
.agenda-modern-item.is-ended .agenda-tag-badges,
.agenda-tag-badges{
  top:-12px !important;
  right:84px !important;
  align-items:center !important;
}
@media (max-width:420px){
  .agenda-modern-item.is-ended .agenda-modern-card .agenda-card-toggle > i,
  .agenda-modern-card .agenda-card-toggle > i{top:-16px !important; right:8px !important;}
  .agenda-modern-item.is-ended .agenda-fav-btn,
  .agenda-fav-btn{top:-16px !important; right:46px !important;}
  .agenda-modern-item.is-ended .agenda-tag-badges,
  .agenda-tag-badges{top:-12px !important; right:84px !important;}
}

/* Personal agenda switch + tag filter controls */
.agenda-personal-tools{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  width:100%;
  margin:14px 0 12px;
  padding:12px;
  border-radius:22px;
  background:rgba(255,255,255,.9);
  border:1px solid rgba(226,232,240,.8);
  box-shadow:0 14px 34px rgba(15,23,42,.06);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}

.agenda-personal-switch{
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
  margin:0;
  cursor:pointer;
  user-select:none;
}

.agenda-personal-switch input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.agenda-switch-track{
  position:relative;
  flex:0 0 auto;
  width:46px;
  height:28px;
  border-radius:999px;
  background:#e2e8f0;
  transition:background .22s ease, box-shadow .22s ease;
}

.agenda-switch-track span{
  position:absolute;
  top:4px;
  left:4px;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#fff;
  box-shadow:0 4px 12px rgba(15,23,42,.18);
  transition:transform .22s cubic-bezier(.2,.8,.2,1);
}

.agenda-personal-switch input:checked + .agenda-switch-track{
  background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  box-shadow:0 10px 24px rgba(124,58,237,.22);
}

.agenda-personal-switch input:checked + .agenda-switch-track span{
  transform:translateX(18px);
}

.agenda-switch-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.agenda-switch-copy strong{
  color:#111827;
  font-size:.92rem;
  font-weight:900;
  line-height:1.1;
}

.agenda-switch-copy small{
  color:#64748b;
  font-size:.72rem;
  font-weight:650;
  line-height:1.2;
}

.agenda-filter-btn{
  flex:0 0 auto;
  width:42px;
  height:42px;
  border:0;
  border-radius:16px;
  display:grid;
  place-items:center;
  color:#7c3aed;
  background:rgba(124,58,237,.09);
  box-shadow:inset 0 0 0 1px rgba(124,58,237,.08);
  transition:transform .16s ease, background .16s ease;
}

.agenda-filter-btn:active{
  transform:scale(.94);
}

.agenda-filter-btn i{
  font-size:1.15rem;
  line-height:1;
}

.agenda-active-filters{
  display:none;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:-2px 0 12px;
}

.agenda-active-filters.is-visible{
  display:flex;
}

.agenda-active-filter-badge{
  display:inline-flex;
  align-items:center;
  gap:5px;
  min-height:25px;
  padding:4px 8px 4px 10px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(15,23,42,.07);
}

.agenda-active-filter-badge i{
  font-size:.95rem;
  line-height:1;
}

.agenda-filter-modal .modal-dialog{
  align-items:flex-end;
  min-height:100%;
  margin:0 auto;
  padding:0 12px 12px;
}

.agenda-filter-dialog{
  max-width:520px;
}

.agenda-filter-sheet{
  border:0;
  border-radius:28px 28px 24px 24px;
  overflow:hidden;
  box-shadow:0 -20px 60px rgba(15,23,42,.22);
  animation:agendaSheetIn .24s ease both;
}

.agenda-filter-modal .modal-body{
  position:relative;
  padding:24px 18px 18px;
  text-align:center;
}

.agenda-filter-title{
  margin:0;
  color:#111827;
  font-size:1.18rem;
  font-weight:900;
}

.agenda-filter-desc{
  max-width:390px;
  margin:8px auto 16px !important;
  color:#64748b !important;
  font-size:.84rem !important;
  line-height:1.45;
  font-weight:600 !important;
}

.agenda-filter-tags{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  margin:0 auto 18px;
}

.agenda-filter-tag-btn{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:32px;
  padding:7px 10px 7px 12px;
  border-radius:999px;
  border:1px solid transparent;
  font-size:.76rem;
  font-weight:900;
  line-height:1;
  box-shadow:0 8px 18px rgba(15,23,42,.07);
  transition:transform .16s ease, box-shadow .16s ease;
}

.agenda-filter-tag-btn.is-selected{
  box-shadow:0 12px 24px rgba(124,58,237,.16), inset 0 0 0 1px rgba(124,58,237,.12);
  transform:translateY(-1px);
}

.agenda-filter-tag-btn i{
  font-size:.95rem;
}

.agenda-filter-close{
  width:100%;
  border-radius:999px;
  padding:11px 14px;
  font-weight:850;
}

[data-bs-theme="dark"] .agenda-personal-tools,
[data-bs-theme="dark"] .agenda-filter-sheet{
  background:rgba(17,24,39,.94);
  border-color:rgba(255,255,255,.1);
}

[data-bs-theme="dark"] .agenda-switch-copy strong,
[data-bs-theme="dark"] .agenda-filter-title{
  color:#f8fafc;
}

[data-bs-theme="dark"] .agenda-switch-copy small,
[data-bs-theme="dark"] .agenda-filter-desc{
  color:#cbd5e1 !important;
}


/* Fix: auth pages should stay edge-to-edge on mobile */
body.auth-page{
  padding:0 !important;
}

/* Speaker modal: favourite speaker + contact actions */
.agenda-speaker-title-row{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:0;
}

.agenda-speaker-title-row .agenda-speaker-name{
  margin:0;
}

.agenda-speaker-fav{
  width:34px;
  height:34px;
  border:1px solid rgba(124,58,237,.12);
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.72);
  color:#94a3b8;
  box-shadow:0 8px 20px rgba(15,23,42,.07);
  transition:transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
}

.agenda-speaker-fav:active{
  transform:scale(.94);
}

.agenda-speaker-fav.is-favorite{
  color:#ec4899;
  background:rgba(253,242,248,.82);
  border-color:rgba(236,72,153,.20);
}

.agenda-speaker-contact{
  margin-top:18px;
  padding:12px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(248,250,252,.74), rgba(255,255,255,.46));
  border:0;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78), 0 10px 28px rgba(15,23,42,.045);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}

.agenda-speaker-contact-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:10px;
  margin-bottom:9px;
  text-align:left;
}

.agenda-speaker-contact-head span{
  color:#64748b;
  font-size:.74rem;
  font-weight:760;
}

.agenda-speaker-contact-head small{
  color:#a8b3c3;
  font-size:.66rem;
  font-weight:650;
}

.agenda-speaker-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
}

.agenda-contact-action{
  min-height:52px;
  border:0;
  border-radius:15px;
  background:rgba(255,255,255,.66);
  color:#475569;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  padding:8px 7px;
  font-size:.70rem;
  font-weight:720;
  line-height:1.12;
  text-align:center;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72), 0 5px 14px rgba(15,23,42,.035);
  transition:transform .18s ease, box-shadow .18s ease, color .18s ease, background .18s ease;
}

.agenda-contact-action i{
  font-size:1rem;
  color:#7c3aed;
  opacity:.82;
}

.agenda-contact-action:hover,
.agenda-contact-action:focus-visible{
  transform:translateY(-1px);
  color:#5b21b6;
  background:rgba(255,255,255,.92);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85), 0 10px 22px rgba(124,58,237,.08);
}

.agenda-contact-action:active{
  transform:translateY(0) scale(.98);
}

[data-bs-theme="dark"] .agenda-speaker-fav{
  background:rgba(15,23,42,.68);
  border-color:rgba(148,163,184,.16);
}

[data-bs-theme="dark"] .agenda-speaker-contact{
  background:linear-gradient(180deg, rgba(15,23,42,.58), rgba(15,23,42,.36));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05), 0 10px 26px rgba(0,0,0,.12);
}

[data-bs-theme="dark"] .agenda-speaker-contact-head span,
[data-bs-theme="dark"] .agenda-contact-action{
  color:#e2e8f0;
}

[data-bs-theme="dark"] .agenda-speaker-contact-head small{
  color:#94a3b8;
}

[data-bs-theme="dark"] .agenda-contact-action{
  background:rgba(15,23,42,.54);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}


/* Agenda search inside filter bottom sheet */
.agenda-filter-search{
  width:100%;
  max-width:420px;
  margin:0 auto 14px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border-radius:18px;
  background:rgba(248,250,252,.92);
  box-shadow:inset 0 0 0 1px rgba(148,163,184,.22), 0 10px 24px rgba(15,23,42,.06);
}

.agenda-filter-search input{
  min-width:0;
  flex:1;
  border:0;
  outline:0;
  background:transparent;
  color:#111827;
  font-size:.86rem;
  font-weight:700;
  padding:9px 4px 9px 10px;
}

.agenda-filter-search input::placeholder{
  color:#94a3b8;
  font-weight:650;
}

.agenda-filter-search button{
  flex:0 0 auto;
  width:38px;
  height:38px;
  border:0;
  border-radius:14px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,#7c3aed 0%,#ec4899 100%);
  box-shadow:0 10px 20px rgba(124,58,237,.2);
  transition:transform .16s ease, box-shadow .16s ease;
}

.agenda-filter-search button:active{
  transform:scale(.94);
}

.agenda-search-active-badge{
  color:#5b21b6;
  background:rgba(124,58,237,.1);
  border-color:rgba(124,58,237,.16);
}

[data-bs-theme="dark"] .agenda-filter-search{
  background:rgba(30,41,59,.82);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);
}

[data-bs-theme="dark"] .agenda-filter-search input{
  color:#f8fafc;
}

/* Meetix premium animated popup */
.meetix-popup-lock{
  overflow:hidden;
}

.meetix-popup-overlay{
  position:fixed;
  inset:0;
  z-index:1088;
  display:grid;
  place-items:center;
  padding:24px;
  background:
    radial-gradient(circle at 50% 34%, rgba(109,93,251,.14), transparent 34%),
    rgba(9,20,38,.34);
  backdrop-filter:blur(18px) saturate(130%);
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  opacity:0;
  pointer-events:none;
  transition:opacity .32s ease;
}

.meetix-popup-overlay.is-visible{
  opacity:1;
  pointer-events:auto;
}

.meetix-popup-card{
  position:relative;
  width:min(100%, 430px);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.56);
  border-radius:30px;
  background:linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.88));
  color:var(--ink);
  box-shadow:0 30px 90px rgba(15,23,42,.22), 0 10px 34px rgba(109,93,251,.12);
  transform:translate3d(0,22px,0) scale(.965);
  opacity:0;
  filter:blur(8px);
  transition:transform .54s cubic-bezier(.16, 1, .3, 1), opacity .34s ease, filter .42s ease;
  isolation:isolate;
}

.meetix-popup-overlay.is-visible .meetix-popup-card{
  transform:translate3d(0,0,0) scale(1);
  opacity:1;
  filter:blur(0);
}

.meetix-popup-card::before{
  content:"";
  position:absolute;
  inset:-120px -90px auto auto;
  width:240px;
  height:240px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(109,93,251,.20), rgba(91,140,255,.07) 54%, transparent 72%);
  filter:blur(10px);
  z-index:-1;
  animation:meetixPopupFloat 6s ease-in-out infinite;
}

.meetix-popup-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.34), transparent 42%);
  z-index:-1;
}

.meetix-popup-close{
  position:absolute;
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.62);
  color:var(--muted);
  transition:transform .18s ease, color .18s ease, background .18s ease;
}

.meetix-popup-close:hover{
  transform:translateY(-1px) scale(1.03);
  color:var(--ink);
  background:#fff;
}

.meetix-popup-body{
  padding:34px 30px 30px;
  text-align:center;
}

.meetix-popup-icon{
  position:relative;
  width:62px;
  height:62px;
  margin:4px auto 20px;
  display:grid;
  place-items:center;
  border-radius:22px;
  color:var(--popup-accent, #6d5dfb);
  font-size:28px;
  background:linear-gradient(180deg, rgba(109,93,251,.13), rgba(91,140,255,.08));
  border:1px solid rgba(109,93,251,.16);
  box-shadow:0 14px 34px rgba(109,93,251,.14), inset 0 1px 0 rgba(255,255,255,.8);
  animation:meetixIconSettle .66s cubic-bezier(.16, 1, .3, 1) both .08s;
}

.meetix-popup-icon i{
  filter:drop-shadow(0 5px 10px rgba(109,93,251,.16));
}

.meetix-popup-icon::before{
  content:"";
  position:absolute;
  inset:-7px;
  border-radius:27px;
  border:1px solid color-mix(in srgb, var(--popup-accent, #6d5dfb) 18%, transparent);
  opacity:.62;
  transform:scale(.92);
  animation:meetixSoftPulse 2.35s ease-out infinite;
}

.meetix-popup-icon.success{--popup-accent:#16a66a; background:linear-gradient(180deg, rgba(22,166,106,.13), rgba(22,199,132,.07)); border-color:rgba(22,166,106,.18)}
.meetix-popup-icon.error{--popup-accent:#e54862; background:linear-gradient(180deg, rgba(229,72,98,.13), rgba(255,77,109,.07)); border-color:rgba(229,72,98,.18)}
.meetix-popup-icon.info{--popup-accent:#6d5dfb; background:linear-gradient(180deg, rgba(109,93,251,.13), rgba(91,140,255,.08)); border-color:rgba(109,93,251,.16)}

.meetix-popup-title{
  margin:0;
  font-size:clamp(24px, 4vw, 31px);
  line-height:1.05;
  letter-spacing:-.055em;
  font-weight:850;
}

.meetix-popup-text{
  margin:12px auto 0;
  max-width:340px;
  color:var(--muted);
  font-size:16px;
  line-height:1.55;
  letter-spacing:-.025em;
}

.meetix-popup-actions{
  display:flex;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  margin-top:26px;
}

.meetix-popup-btn{
  min-height:50px;
  border:0;
  border-radius:17px;
  padding:13px 20px;
  font-weight:800;
  letter-spacing:-.035em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.meetix-popup-btn:hover{
  transform:translateY(-2px);
}

.meetix-popup-btn-primary{
  color:#fff;
  background:linear-gradient(135deg, #6d5dfb, #5b8cff);
  box-shadow:0 14px 30px rgba(109,93,251,.26);
}

.meetix-popup-btn-primary:hover{
  box-shadow:0 18px 38px rgba(109,93,251,.32);
}

.meetix-popup-btn-light{
  color:var(--ink);
  background:rgba(15,23,42,.06);
}

.meetix-popup-btn-light:hover{
  background:rgba(15,23,42,.09);
}

.meetix-popup-progress{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  overflow:hidden;
  background:rgba(15,23,42,.06);
}

.meetix-popup-progress span{
  display:block;
  width:100%;
  height:100%;
  transform-origin:left center;
  background:linear-gradient(90deg, var(--popup-accent, #6d5dfb), #5b8cff);
  animation:meetixPopupProgress var(--meetix-popup-duration, 4s) linear forwards;
}

[data-bs-theme="dark"] .meetix-popup-overlay{
  background:
    radial-gradient(circle at 50% 34%, rgba(109,93,251,.25), transparent 34%),
    rgba(2,6,23,.60);
}

[data-bs-theme="dark"] .meetix-popup-card{
  border-color:rgba(255,255,255,.10);
  background:linear-gradient(180deg, rgba(15,26,43,.94), rgba(10,18,32,.90));
  box-shadow:0 34px 100px rgba(0,0,0,.48), 0 10px 32px rgba(109,93,251,.20);
}

[data-bs-theme="dark"] .meetix-popup-icon{
  box-shadow:0 14px 34px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08);
}

[data-bs-theme="dark"] .meetix-popup-close{
  background:rgba(255,255,255,.06);
}

[data-bs-theme="dark"] .meetix-popup-close:hover{
  background:rgba(255,255,255,.12);
}

[data-bs-theme="dark"] .meetix-popup-btn-light{
  background:rgba(255,255,255,.08);
  color:var(--ink);
}

[data-bs-theme="dark"] .meetix-popup-progress{
  background:rgba(255,255,255,.08);
}

@keyframes meetixIconSettle{
  0%{transform:translateY(8px) scale(.78) rotate(-4deg); opacity:0}
  62%{transform:translateY(-2px) scale(1.035) rotate(1deg); opacity:1}
  100%{transform:translateY(0) scale(1) rotate(0)}
}

@keyframes meetixSoftPulse{
  0%{transform:scale(.92); opacity:.55}
  100%{transform:scale(1.18); opacity:0}
}

@keyframes meetixPopupProgress{
  from{transform:scaleX(1)}
  to{transform:scaleX(0)}
}

@keyframes meetixPopupFloat{
  0%,100%{transform:translate3d(0,0,0)}
  50%{transform:translate3d(-14px,18px,0)}
}

@media (max-width:575.98px){
  .meetix-popup-overlay{padding:16px}
  .meetix-popup-card{border-radius:27px}
  .meetix-popup-body{padding:30px 22px 26px}
  .meetix-popup-actions{display:grid; grid-template-columns:1fr;}
  .meetix-popup-btn{width:100%}
}







/* ===== Elegant Icon Redesign ===== */

.meetix-popup-icon{
  position: relative;
  width: 74px;
  height: 74px;
  margin: -52px auto 18px;
  border-radius: 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform: translateY(10px) scale(.88);
  opacity: 0;
  animation: meetixIconSoft .7s cubic-bezier(.16,1,.3,1) forwards;
  backdrop-filter: blur(18px);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:
    0 10px 30px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.meetix-popup-icon::before{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));
}

.meetix-popup-icon svg{
  position:relative;
  z-index:2;
  width:30px;
  height:30px;
  stroke-width:2.2;
}

.meetix-popup-icon.info{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg, rgba(109,93,251,.18), rgba(91,140,255,.12));
  color:#7d8fff;
}

.meetix-popup-icon.success{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg, rgba(15,191,140,.18), rgba(56,211,159,.12));
  color:#34d399;
}

.meetix-popup-icon.error{
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.12), transparent 60%),
    linear-gradient(135deg, rgba(255,95,122,.18), rgba(255,123,84,.12));
  color:#ff6b81;
}

@keyframes meetixIconSoft{
  0%{
    opacity:0;
    transform:translateY(14px) scale(.82);
    filter:blur(6px);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
    filter:blur(0);
  }
}

/* ===== Fixed Dot-to-Tick Animation, preserving previous visual style ===== */

.meetix-success-svg,
.meetix-status-svg{
  width:34px;
  height:34px;
  position:relative;
  z-index:2;
  overflow:visible;
}

.meetix-success-dot{
  fill:currentColor;
  transform-origin:21px 39px;
  transform-box:view-box;
  animation:meetixSuccessDotFade .42s ease-out .12s both;
}

.meetix-success-tick{
  fill:none;
  stroke:currentColor;
  stroke-width:5.2;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:42;
  stroke-dashoffset:42;
  opacity:0;
  animation:meetixSuccessTickDrawFixed .7s cubic-bezier(.65,0,.35,1) .36s forwards;
}

.meetix-status-svg path,
.meetix-status-svg circle{
  fill:none;
  stroke:currentColor;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.meetix-status-svg circle{
  fill:currentColor;
  stroke:none;
}

.meetix-status-svg path{
  stroke-dasharray:36;
  stroke-dashoffset:36;
  animation:meetixStatusDraw .52s cubic-bezier(.65,0,.35,1) .2s forwards;
}

@keyframes meetixSuccessDotFade{
  0%{
    opacity:0;
    transform:scale(.25);
  }
  38%{
    opacity:1;
    transform:scale(1);
  }
  100%{
    opacity:0;
    transform:scale(.45);
  }
}

@keyframes meetixSuccessTickDrawFixed{
  0%{
    opacity:1;
    stroke-dashoffset:42;
  }
  100%{
    opacity:1;
    stroke-dashoffset:0;
  }
}

@keyframes meetixStatusDraw{
  to{
    stroke-dashoffset:0;
  }
}


/* ===== Minimal Premium Success Tick v9 ===== */

.meetix-success-svg{
  width:42px;
  height:42px;
}

.meetix-success-dot{
  transform-origin:18px 38px;
}

.meetix-success-tick{
  stroke-width:6.8;
  stroke-dasharray:54;
  stroke-dashoffset:54;
  animation:meetixSuccessTickDrawPremium .66s cubic-bezier(.65,0,.35,1) .30s forwards;
}

.meetix-popup-overlay.is-visible .meetix-popup-icon.success{
  animation:
    meetixIconSoft .7s cubic-bezier(.16,1,.3,1) forwards,
    meetixSuccessIconSettle .34s cubic-bezier(.16,1,.3,1) .86s both;
}

@keyframes meetixSuccessTickDrawPremium{
  0%{
    opacity:1;
    stroke-dashoffset:54;
  }
  100%{
    opacity:1;
    stroke-dashoffset:0;
  }
}

@keyframes meetixSuccessIconSettle{
  0%{
    transform:translateY(0) scale(1);
  }
  45%{
    transform:translateY(0) scale(1.045);
  }
  100%{
    transform:translateY(0) scale(1);
  }
}


/* ===== Larger Premium Tick v10 ===== */

.meetix-success-svg{
  width:48px;
  height:48px;
}

.meetix-success-dot{
  transform-origin:16px 38px;
}

.meetix-success-tick{
  stroke-width:7.6;
  stroke-dasharray:64;
  stroke-dashoffset:64;
}




.meetix-popup-progress-bar.is-running{
  animation:meetixPopupProgress var(--meetix-popup-duration, 4s) linear forwards;
}




.meetix-error-line{
  stroke-dasharray:32;
  stroke-dashoffset:32;
  animation:meetixErrorDraw .34s cubic-bezier(.65,0,.35,1) forwards;
}

.meetix-error-line-b{
  animation-delay:.16s;
}

@keyframes meetixErrorDraw{
  to{
    stroke-dashoffset:0;
  }
}




.meetix-popup-icon.error .meetix-error-svg{
  width:48px;
  height:48px;
  position:relative;
  z-index:2;
  overflow:visible;
}

.meetix-popup-icon.error .meetix-error-line{
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:7;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:34;
  stroke-dashoffset:34;
  animation:meetixErrorXDrawV14 .38s cubic-bezier(.65,0,.35,1) forwards;
}

.meetix-popup-icon.error .meetix-error-line-b{
  animation-delay:.16s;
}

.meetix-popup-icon.error .meetix-status-svg circle{
  display:none !important;
}

@keyframes meetixErrorXDrawV14{
  to{
    stroke-dashoffset:0;
  }
}




/* ===== Popup visual consistency v17 ===== */

/* Overlay zawsze jak w light mode */
.meetix-popup-overlay{
  background:rgba(10,12,22,.42) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

/* Popup zawsze jasny, także w dark mode */
.meetix-popup-card{
  background:#ffffff !important;
  color:#111827 !important;
  border-color:rgba(17,24,39,.08) !important;
}

.meetix-popup-title{
  color:#111827 !important;
}

/* Ciemniejszy tekst jak wcześniej */
.meetix-popup-message,
.meetixPopupText{
  color:#374151 !important;
}

/* Usuń czarną obwódkę / focus ring z przycisku OK */
.meetix-popup-button,
.meetix-popup-button.btn,
button.meetix-popup-button{
  border:0 !important;
  outline:0 !important;
  box-shadow:0 10px 24px rgba(91,140,255,.25) !important;
  -webkit-tap-highlight-color:transparent;
}

.meetix-popup-button:hover,
.meetix-popup-button:focus,
.meetix-popup-button:focus-visible,
.meetix-popup-button:active,
.meetix-popup-button.btn:hover,
.meetix-popup-button.btn:focus,
.meetix-popup-button.btn:focus-visible,
.meetix-popup-button.btn:active,
button.meetix-popup-button:hover,
button.meetix-popup-button:focus,
button.meetix-popup-button:focus-visible,
button.meetix-popup-button:active{
  border:0 !important;
  outline:0 !important;
  box-shadow:0 14px 30px rgba(91,140,255,.32) !important;
}

.meetix-popup-button::-moz-focus-inner{
  border:0 !important;
}

/* Usuń Bootstrap focus ring, jeśli template go dokłada */
.meetix-popup-button{
  --bs-btn-focus-box-shadow:none !important;
  --bs-btn-active-border-color:transparent !important;
  --bs-btn-border-color:transparent !important;
}

.meetix-popup-close{
  color:#111827 !important;
}

.meetix-popup-close:focus,
.meetix-popup-close:focus-visible,
.meetix-popup-close:active{
  outline:0 !important;
  box-shadow:none !important;
}


/* ===== Popup final visual override v18 ===== */
/* Target both class systems used by the popup: meetix-popup-* and meetixPopup* */

/* Overlay / background behind popup exactly like light version */
.meetix-popup-overlay,
.meetixPopupOverlay,
#meetixPopupOverlay{
  background:rgba(15,23,42,.45) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}

/* Card always light */
.meetix-popup-card,
.meetixPopup,
.meetixPopupBox,
.meetixPopupCard,
#meetixPopup{
  background:#ffffff !important;
  color:#111827 !important;
  border:1px solid rgba(17,24,39,.08) !important;
}

/* Title/text colors */
.meetix-popup-title,
.meetixPopupTitle{
  color:#111827 !important;
}

.meetix-popup-message,
.meetixPopupText,
.meetixPopupMessage,
#meetixPopupText{
  color:#1f2937 !important;
}

/* OK button: remove every possible black border/focus ring */
.meetix-popup-button,
.meetixPopupButton,
.meetixPopupConfirm,
.meetixPopupOk,
#meetixPopupButton,
#meetixPopupConfirm,
button.meetix-popup-button,
button.meetixPopupButton,
button.meetixPopupConfirm,
button.meetixPopupOk{
  border:0 !important;
  outline:0 !important;
  text-decoration:none !important;
  box-shadow:0 10px 24px rgba(91,140,255,.25) !important;
  -webkit-box-shadow:0 10px 24px rgba(91,140,255,.25) !important;
  --bs-btn-border-color:transparent !important;
  --bs-btn-hover-border-color:transparent !important;
  --bs-btn-active-border-color:transparent !important;
  --bs-btn-focus-box-shadow:none !important;
  --bs-focus-ring-color:transparent !important;
  --bs-focus-ring-opacity:0 !important;
  -webkit-tap-highlight-color:transparent !important;
}

.meetix-popup-button:hover,
.meetix-popup-button:focus,
.meetix-popup-button:focus-visible,
.meetix-popup-button:active,
.meetixPopupButton:hover,
.meetixPopupButton:focus,
.meetixPopupButton:focus-visible,
.meetixPopupButton:active,
.meetixPopupConfirm:hover,
.meetixPopupConfirm:focus,
.meetixPopupConfirm:focus-visible,
.meetixPopupConfirm:active,
.meetixPopupOk:hover,
.meetixPopupOk:focus,
.meetixPopupOk:focus-visible,
.meetixPopupOk:active,
#meetixPopupButton:hover,
#meetixPopupButton:focus,
#meetixPopupButton:focus-visible,
#meetixPopupButton:active,
#meetixPopupConfirm:hover,
#meetixPopupConfirm:focus,
#meetixPopupConfirm:focus-visible,
#meetixPopupConfirm:active{
  border:0 !important;
  outline:0 !important;
  box-shadow:0 14px 30px rgba(91,140,255,.32) !important;
  -webkit-box-shadow:0 14px 30px rgba(91,140,255,.32) !important;
}

.meetix-popup-button::-moz-focus-inner,
.meetixPopupButton::-moz-focus-inner,
.meetixPopupConfirm::-moz-focus-inner,
.meetixPopupOk::-moz-focus-inner{
  border:0 !important;
}

/* Close button also no ring */
.meetix-popup-close,
.meetixPopupClose{
  color:#111827 !important;
}

.meetix-popup-close:focus,
.meetix-popup-close:focus-visible,
.meetix-popup-close:active,
.meetixPopupClose:focus,
.meetixPopupClose:focus-visible,
.meetixPopupClose:active{
  outline:0 !important;
  box-shadow:none !important;
}

/* ===== Meetix Popup final fixes ===== */
/* confirmText:null nie tworzy przycisku, więc akcje nie powinny zostawiać pustego odstępu */
.meetix-popup-actions:empty{
  display:none !important;
  margin:0 !important;
}

/* Bez czarnej obwódki/focus ring na przyciskach popupu */
.meetix-popup-btn,
.meetix-popup-btn:focus,
.meetix-popup-btn:focus-visible,
.meetix-popup-btn:active{
  outline:0 !important;
  border:0 !important;
}

.meetix-popup-btn-primary:focus,
.meetix-popup-btn-primary:focus-visible,
.meetix-popup-btn-primary:active{
  box-shadow:0 14px 30px rgba(109,93,251,.26) !important;
}

/* Progress bar dokładnie jak w oryginalnym popupie z przycisku */
.meetix-popup-card{
  overflow:hidden !important;
}

.meetix-popup-progress{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:4px !important;
  margin:0 !important;
  border-radius:0 !important;
}

.meetix-popup-progress span{
  height:100% !important;
}


[data-bs-theme="dark"] .meetix-popup-overlay{
  background:rgba(15,23,42,.45) !important;
}

[data-bs-theme="dark"] .meetix-popup-card{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92)) !important;
  color:#111827 !important;
  border-color:rgba(17,24,39,.08) !important;
  box-shadow:0 34px 100px rgba(0,0,0,.28), 0 10px 32px rgba(109,93,251,.16) !important;
}

[data-bs-theme="dark"] .meetix-popup-title{
  color:#111827 !important;
}

[data-bs-theme="dark"] .meetix-popup-text{
  color:#1f2937 !important;
}




















/* ===== v49 FINAL: identical DOM dimensions for button and JS popup ===== */
/*
  Przy confirmText:null przycisk nie jest widoczny ani fokusowalny,
  ale jego box zostaje w układzie. Dzięki temu popup JS i popup z przycisku
  mają tę samą strukturę i ten sam układ.
*/

.meetix-popup-actions.is-confirm-hidden{
  display:flex !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
  margin-top:26px !important;
}

.meetix-popup-actions.is-confirm-hidden [data-meetix-popup-hidden-confirm]{
  visibility:hidden !important;
  pointer-events:none !important;
}

/* Jeden wspólny progress bar dla obu przypadków */
.meetix-popup-progress{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  height:4px !important;
  margin:0 !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:hidden !important;
  background:rgba(15,23,42,.06) !important;
}

.meetix-popup-progress span{
  display:block !important;
  width:100% !important;
  height:100% !important;
  border-radius:0 !important;
  transform-origin:left center !important;
  background:linear-gradient(90deg, var(--popup-accent, #6d5dfb), #5b8cff) !important;
}

/* Brak czarnej obwódki/focus ring */
.meetix-popup-btn,
.meetix-popup-btn-primary,
.meetix-popup-btn-light{
  outline:0 !important;
  border-color:transparent !important;
}

.meetix-popup-btn:focus,
.meetix-popup-btn:focus-visible,
.meetix-popup-btn:active{
  outline:0 !important;
  border-color:transparent !important;
}

/* Dark mode popup ma wyglądać jak light mode */
[data-bs-theme="dark"] .meetix-popup-overlay{
  background:rgba(15,23,42,.45) !important;
}

[data-bs-theme="dark"] .meetix-popup-card{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(255,255,255,.92)) !important;
  color:#111827 !important;
  border-color:rgba(17,24,39,.08) !important;
}

[data-bs-theme="dark"] .meetix-popup-title{
  color:#111827 !important;
}

[data-bs-theme="dark"] .meetix-popup-text{
  color:#1f2937 !important;
}
