@charset "UTF-8";
/* Backgrounds */
.bg-color1 {
  background-color: #d4ac6d;
}

.bg-color2 {
  background-color: #a37c48;
}

.bg-color3 {
  background-color: #1e6b63;
}

.bg-color4 {
  background-color: #889ba0;
}

.bg-color5 {
  background-color: #f4eedf;
}

.bg-color1-light {
  background-color: #f7efe3;
}

.bg-color2-light {
  background-color: #dac5aa;
}

.bg-color3-light {
  background-color: #53cfc2;
}

.bg-color4-light {
  background-color: #dde2e4;
}

.bg-color5-light {
  background-color: white;
}

/* End of Backgrounds */
/* Gradients */
.gradient-1 {
  background-image: linear-gradient(135deg, #fdfcfb 0%, #e2d1c3 100%);
  background-color: #fdfcfb;
}

/* End of Gradients */
/* Create Paddings and Margins classes */
.gap-10 {
  gap: -10px !important;
}

.mt-10 {
  margin-top: -10px !important;
}

.pt-10 {
  padding-top: -10px !important;
}

@media (max-width: 992px) {
  .mt-10-mobile {
    margin-top: -10px !important;
  }
}

@media (max-width: 992px) {
  .pt-10-mobile {
    padding-top: -10px !important;
  }
}

.mb-10 {
  margin-bottom: -10px !important;
}

.pb-10 {
  padding-bottom: -10px !important;
}

@media (max-width: 992px) {
  .mb-10-mobile {
    margin-bottom: -10px !important;
  }
}

@media (max-width: 992px) {
  .pb-10-mobile {
    padding-bottom: -10px !important;
  }
}

.ml-10 {
  margin-left: -10px !important;
}

.pl-10 {
  padding-left: -10px !important;
}

@media (max-width: 992px) {
  .ml-10-mobile {
    margin-left: -10px !important;
  }
}

@media (max-width: 992px) {
  .pl-10-mobile {
    padding-left: -10px !important;
  }
}

.mr-10 {
  margin-right: -10px !important;
}

.pr-10 {
  padding-right: -10px !important;
}

@media (max-width: 992px) {
  .mr-10-mobile {
    margin-right: -10px !important;
  }
}

@media (max-width: 992px) {
  .pr-10-mobile {
    padding-right: -10px !important;
  }
}

.m-10 {
  margin: -10px !important;
}

.p-10 {
  padding: -10px !important;
}

@media (max-width: 992px) {
  .m-10-mobile {
    margin: -10px !important;
  }
}

@media (max-width: 992px) {
  .p-10-mobile {
    padding: -10px !important;
  }
}

.gap-20 {
  gap: -20px !important;
}

.mt-20 {
  margin-top: -20px !important;
}

.pt-20 {
  padding-top: -20px !important;
}

@media (max-width: 992px) {
  .mt-20-mobile {
    margin-top: -20px !important;
  }
}

@media (max-width: 992px) {
  .pt-20-mobile {
    padding-top: -20px !important;
  }
}

.mb-20 {
  margin-bottom: -20px !important;
}

.pb-20 {
  padding-bottom: -20px !important;
}

@media (max-width: 992px) {
  .mb-20-mobile {
    margin-bottom: -20px !important;
  }
}

@media (max-width: 992px) {
  .pb-20-mobile {
    padding-bottom: -20px !important;
  }
}

.ml-20 {
  margin-left: -20px !important;
}

.pl-20 {
  padding-left: -20px !important;
}

@media (max-width: 992px) {
  .ml-20-mobile {
    margin-left: -20px !important;
  }
}

@media (max-width: 992px) {
  .pl-20-mobile {
    padding-left: -20px !important;
  }
}

.mr-20 {
  margin-right: -20px !important;
}

.pr-20 {
  padding-right: -20px !important;
}

@media (max-width: 992px) {
  .mr-20-mobile {
    margin-right: -20px !important;
  }
}

@media (max-width: 992px) {
  .pr-20-mobile {
    padding-right: -20px !important;
  }
}

.m-20 {
  margin: -20px !important;
}

.p-20 {
  padding: -20px !important;
}

@media (max-width: 992px) {
  .m-20-mobile {
    margin: -20px !important;
  }
}

@media (max-width: 992px) {
  .p-20-mobile {
    padding: -20px !important;
  }
}

.gap-30 {
  gap: -30px !important;
}

.mt-30 {
  margin-top: -30px !important;
}

.pt-30 {
  padding-top: -30px !important;
}

@media (max-width: 992px) {
  .mt-30-mobile {
    margin-top: -30px !important;
  }
}

@media (max-width: 992px) {
  .pt-30-mobile {
    padding-top: -30px !important;
  }
}

.mb-30 {
  margin-bottom: -30px !important;
}

.pb-30 {
  padding-bottom: -30px !important;
}

@media (max-width: 992px) {
  .mb-30-mobile {
    margin-bottom: -30px !important;
  }
}

@media (max-width: 992px) {
  .pb-30-mobile {
    padding-bottom: -30px !important;
  }
}

.ml-30 {
  margin-left: -30px !important;
}

.pl-30 {
  padding-left: -30px !important;
}

@media (max-width: 992px) {
  .ml-30-mobile {
    margin-left: -30px !important;
  }
}

@media (max-width: 992px) {
  .pl-30-mobile {
    padding-left: -30px !important;
  }
}

.mr-30 {
  margin-right: -30px !important;
}

.pr-30 {
  padding-right: -30px !important;
}

@media (max-width: 992px) {
  .mr-30-mobile {
    margin-right: -30px !important;
  }
}

@media (max-width: 992px) {
  .pr-30-mobile {
    padding-right: -30px !important;
  }
}

.m-30 {
  margin: -30px !important;
}

.p-30 {
  padding: -30px !important;
}

@media (max-width: 992px) {
  .m-30-mobile {
    margin: -30px !important;
  }
}

@media (max-width: 992px) {
  .p-30-mobile {
    padding: -30px !important;
  }
}

.gap-40 {
  gap: -40px !important;
}

.mt-40 {
  margin-top: -40px !important;
}

.pt-40 {
  padding-top: -40px !important;
}

@media (max-width: 992px) {
  .mt-40-mobile {
    margin-top: -40px !important;
  }
}

@media (max-width: 992px) {
  .pt-40-mobile {
    padding-top: -40px !important;
  }
}

.mb-40 {
  margin-bottom: -40px !important;
}

.pb-40 {
  padding-bottom: -40px !important;
}

@media (max-width: 992px) {
  .mb-40-mobile {
    margin-bottom: -40px !important;
  }
}

@media (max-width: 992px) {
  .pb-40-mobile {
    padding-bottom: -40px !important;
  }
}

.ml-40 {
  margin-left: -40px !important;
}

.pl-40 {
  padding-left: -40px !important;
}

@media (max-width: 992px) {
  .ml-40-mobile {
    margin-left: -40px !important;
  }
}

@media (max-width: 992px) {
  .pl-40-mobile {
    padding-left: -40px !important;
  }
}

.mr-40 {
  margin-right: -40px !important;
}

.pr-40 {
  padding-right: -40px !important;
}

@media (max-width: 992px) {
  .mr-40-mobile {
    margin-right: -40px !important;
  }
}

@media (max-width: 992px) {
  .pr-40-mobile {
    padding-right: -40px !important;
  }
}

.m-40 {
  margin: -40px !important;
}

.p-40 {
  padding: -40px !important;
}

@media (max-width: 992px) {
  .m-40-mobile {
    margin: -40px !important;
  }
}

@media (max-width: 992px) {
  .p-40-mobile {
    padding: -40px !important;
  }
}

.gap-50 {
  gap: -50px !important;
}

.mt-50 {
  margin-top: -50px !important;
}

.pt-50 {
  padding-top: -50px !important;
}

@media (max-width: 992px) {
  .mt-50-mobile {
    margin-top: -50px !important;
  }
}

@media (max-width: 992px) {
  .pt-50-mobile {
    padding-top: -50px !important;
  }
}

.mb-50 {
  margin-bottom: -50px !important;
}

.pb-50 {
  padding-bottom: -50px !important;
}

@media (max-width: 992px) {
  .mb-50-mobile {
    margin-bottom: -50px !important;
  }
}

@media (max-width: 992px) {
  .pb-50-mobile {
    padding-bottom: -50px !important;
  }
}

.ml-50 {
  margin-left: -50px !important;
}

.pl-50 {
  padding-left: -50px !important;
}

@media (max-width: 992px) {
  .ml-50-mobile {
    margin-left: -50px !important;
  }
}

@media (max-width: 992px) {
  .pl-50-mobile {
    padding-left: -50px !important;
  }
}

.mr-50 {
  margin-right: -50px !important;
}

.pr-50 {
  padding-right: -50px !important;
}

@media (max-width: 992px) {
  .mr-50-mobile {
    margin-right: -50px !important;
  }
}

@media (max-width: 992px) {
  .pr-50-mobile {
    padding-right: -50px !important;
  }
}

.m-50 {
  margin: -50px !important;
}

.p-50 {
  padding: -50px !important;
}

@media (max-width: 992px) {
  .m-50-mobile {
    margin: -50px !important;
  }
}

@media (max-width: 992px) {
  .p-50-mobile {
    padding: -50px !important;
  }
}

.gap5 {
  gap: 5px !important;
}

.mt5 {
  margin-top: 5px !important;
}

.pt5 {
  padding-top: 5px !important;
}

@media (max-width: 992px) {
  .mt5-mobile {
    margin-top: 5px !important;
  }
}

@media (max-width: 992px) {
  .pt5-mobile {
    padding-top: 5px !important;
  }
}

.mb5 {
  margin-bottom: 5px !important;
}

.pb5 {
  padding-bottom: 5px !important;
}

@media (max-width: 992px) {
  .mb5-mobile {
    margin-bottom: 5px !important;
  }
}

@media (max-width: 992px) {
  .pb5-mobile {
    padding-bottom: 5px !important;
  }
}

.ml5 {
  margin-left: 5px !important;
}

.pl5 {
  padding-left: 5px !important;
}

@media (max-width: 992px) {
  .ml5-mobile {
    margin-left: 5px !important;
  }
}

@media (max-width: 992px) {
  .pl5-mobile {
    padding-left: 5px !important;
  }
}

.mr5 {
  margin-right: 5px !important;
}

.pr5 {
  padding-right: 5px !important;
}

@media (max-width: 992px) {
  .mr5-mobile {
    margin-right: 5px !important;
  }
}

@media (max-width: 992px) {
  .pr5-mobile {
    padding-right: 5px !important;
  }
}

.m5 {
  margin: 5px !important;
}

.p5 {
  padding: 5px !important;
}

@media (max-width: 992px) {
  .m5-mobile {
    margin: 5px !important;
  }
}

@media (max-width: 992px) {
  .p5-mobile {
    padding: 5px !important;
  }
}

.gap10 {
  gap: 10px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.pt10 {
  padding-top: 10px !important;
}

@media (max-width: 992px) {
  .mt10-mobile {
    margin-top: 10px !important;
  }
}

@media (max-width: 992px) {
  .pt10-mobile {
    padding-top: 10px !important;
  }
}

.mb10 {
  margin-bottom: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

@media (max-width: 992px) {
  .mb10-mobile {
    margin-bottom: 10px !important;
  }
}

@media (max-width: 992px) {
  .pb10-mobile {
    padding-bottom: 10px !important;
  }
}

.ml10 {
  margin-left: 10px !important;
}

.pl10 {
  padding-left: 10px !important;
}

@media (max-width: 992px) {
  .ml10-mobile {
    margin-left: 10px !important;
  }
}

@media (max-width: 992px) {
  .pl10-mobile {
    padding-left: 10px !important;
  }
}

.mr10 {
  margin-right: 10px !important;
}

.pr10 {
  padding-right: 10px !important;
}

@media (max-width: 992px) {
  .mr10-mobile {
    margin-right: 10px !important;
  }
}

@media (max-width: 992px) {
  .pr10-mobile {
    padding-right: 10px !important;
  }
}

.m10 {
  margin: 10px !important;
}

.p10 {
  padding: 10px !important;
}

@media (max-width: 992px) {
  .m10-mobile {
    margin: 10px !important;
  }
}

@media (max-width: 992px) {
  .p10-mobile {
    padding: 10px !important;
  }
}

.gap15 {
  gap: 15px !important;
}

.mt15 {
  margin-top: 15px !important;
}

.pt15 {
  padding-top: 15px !important;
}

@media (max-width: 992px) {
  .mt15-mobile {
    margin-top: 15px !important;
  }
}

@media (max-width: 992px) {
  .pt15-mobile {
    padding-top: 15px !important;
  }
}

.mb15 {
  margin-bottom: 15px !important;
}

.pb15 {
  padding-bottom: 15px !important;
}

@media (max-width: 992px) {
  .mb15-mobile {
    margin-bottom: 15px !important;
  }
}

@media (max-width: 992px) {
  .pb15-mobile {
    padding-bottom: 15px !important;
  }
}

.ml15 {
  margin-left: 15px !important;
}

.pl15 {
  padding-left: 15px !important;
}

@media (max-width: 992px) {
  .ml15-mobile {
    margin-left: 15px !important;
  }
}

@media (max-width: 992px) {
  .pl15-mobile {
    padding-left: 15px !important;
  }
}

.mr15 {
  margin-right: 15px !important;
}

.pr15 {
  padding-right: 15px !important;
}

@media (max-width: 992px) {
  .mr15-mobile {
    margin-right: 15px !important;
  }
}

@media (max-width: 992px) {
  .pr15-mobile {
    padding-right: 15px !important;
  }
}

.m15 {
  margin: 15px !important;
}

.p15 {
  padding: 15px !important;
}

@media (max-width: 992px) {
  .m15-mobile {
    margin: 15px !important;
  }
}

@media (max-width: 992px) {
  .p15-mobile {
    padding: 15px !important;
  }
}

.gap20 {
  gap: 20px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.pt20 {
  padding-top: 20px !important;
}

@media (max-width: 992px) {
  .mt20-mobile {
    margin-top: 20px !important;
  }
}

@media (max-width: 992px) {
  .pt20-mobile {
    padding-top: 20px !important;
  }
}

.mb20 {
  margin-bottom: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

@media (max-width: 992px) {
  .mb20-mobile {
    margin-bottom: 20px !important;
  }
}

@media (max-width: 992px) {
  .pb20-mobile {
    padding-bottom: 20px !important;
  }
}

.ml20 {
  margin-left: 20px !important;
}

.pl20 {
  padding-left: 20px !important;
}

@media (max-width: 992px) {
  .ml20-mobile {
    margin-left: 20px !important;
  }
}

@media (max-width: 992px) {
  .pl20-mobile {
    padding-left: 20px !important;
  }
}

.mr20 {
  margin-right: 20px !important;
}

.pr20 {
  padding-right: 20px !important;
}

@media (max-width: 992px) {
  .mr20-mobile {
    margin-right: 20px !important;
  }
}

@media (max-width: 992px) {
  .pr20-mobile {
    padding-right: 20px !important;
  }
}

.m20 {
  margin: 20px !important;
}

.p20 {
  padding: 20px !important;
}

@media (max-width: 992px) {
  .m20-mobile {
    margin: 20px !important;
  }
}

@media (max-width: 992px) {
  .p20-mobile {
    padding: 20px !important;
  }
}

.gap25 {
  gap: 25px !important;
}

.mt25 {
  margin-top: 25px !important;
}

.pt25 {
  padding-top: 25px !important;
}

@media (max-width: 992px) {
  .mt25-mobile {
    margin-top: 25px !important;
  }
}

@media (max-width: 992px) {
  .pt25-mobile {
    padding-top: 25px !important;
  }
}

.mb25 {
  margin-bottom: 25px !important;
}

.pb25 {
  padding-bottom: 25px !important;
}

@media (max-width: 992px) {
  .mb25-mobile {
    margin-bottom: 25px !important;
  }
}

@media (max-width: 992px) {
  .pb25-mobile {
    padding-bottom: 25px !important;
  }
}

.ml25 {
  margin-left: 25px !important;
}

.pl25 {
  padding-left: 25px !important;
}

@media (max-width: 992px) {
  .ml25-mobile {
    margin-left: 25px !important;
  }
}

@media (max-width: 992px) {
  .pl25-mobile {
    padding-left: 25px !important;
  }
}

.mr25 {
  margin-right: 25px !important;
}

.pr25 {
  padding-right: 25px !important;
}

@media (max-width: 992px) {
  .mr25-mobile {
    margin-right: 25px !important;
  }
}

@media (max-width: 992px) {
  .pr25-mobile {
    padding-right: 25px !important;
  }
}

.m25 {
  margin: 25px !important;
}

.p25 {
  padding: 25px !important;
}

@media (max-width: 992px) {
  .m25-mobile {
    margin: 25px !important;
  }
}

@media (max-width: 992px) {
  .p25-mobile {
    padding: 25px !important;
  }
}

.gap30 {
  gap: 30px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.pt30 {
  padding-top: 30px !important;
}

@media (max-width: 992px) {
  .mt30-mobile {
    margin-top: 30px !important;
  }
}

@media (max-width: 992px) {
  .pt30-mobile {
    padding-top: 30px !important;
  }
}

.mb30 {
  margin-bottom: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

@media (max-width: 992px) {
  .mb30-mobile {
    margin-bottom: 30px !important;
  }
}

@media (max-width: 992px) {
  .pb30-mobile {
    padding-bottom: 30px !important;
  }
}

.ml30 {
  margin-left: 30px !important;
}

.pl30 {
  padding-left: 30px !important;
}

@media (max-width: 992px) {
  .ml30-mobile {
    margin-left: 30px !important;
  }
}

@media (max-width: 992px) {
  .pl30-mobile {
    padding-left: 30px !important;
  }
}

.mr30 {
  margin-right: 30px !important;
}

.pr30 {
  padding-right: 30px !important;
}

@media (max-width: 992px) {
  .mr30-mobile {
    margin-right: 30px !important;
  }
}

@media (max-width: 992px) {
  .pr30-mobile {
    padding-right: 30px !important;
  }
}

.m30 {
  margin: 30px !important;
}

.p30 {
  padding: 30px !important;
}

@media (max-width: 992px) {
  .m30-mobile {
    margin: 30px !important;
  }
}

@media (max-width: 992px) {
  .p30-mobile {
    padding: 30px !important;
  }
}

.gap35 {
  gap: 35px !important;
}

.mt35 {
  margin-top: 35px !important;
}

.pt35 {
  padding-top: 35px !important;
}

@media (max-width: 992px) {
  .mt35-mobile {
    margin-top: 35px !important;
  }
}

@media (max-width: 992px) {
  .pt35-mobile {
    padding-top: 35px !important;
  }
}

.mb35 {
  margin-bottom: 35px !important;
}

.pb35 {
  padding-bottom: 35px !important;
}

@media (max-width: 992px) {
  .mb35-mobile {
    margin-bottom: 35px !important;
  }
}

@media (max-width: 992px) {
  .pb35-mobile {
    padding-bottom: 35px !important;
  }
}

.ml35 {
  margin-left: 35px !important;
}

.pl35 {
  padding-left: 35px !important;
}

@media (max-width: 992px) {
  .ml35-mobile {
    margin-left: 35px !important;
  }
}

@media (max-width: 992px) {
  .pl35-mobile {
    padding-left: 35px !important;
  }
}

.mr35 {
  margin-right: 35px !important;
}

.pr35 {
  padding-right: 35px !important;
}

@media (max-width: 992px) {
  .mr35-mobile {
    margin-right: 35px !important;
  }
}

@media (max-width: 992px) {
  .pr35-mobile {
    padding-right: 35px !important;
  }
}

.m35 {
  margin: 35px !important;
}

.p35 {
  padding: 35px !important;
}

@media (max-width: 992px) {
  .m35-mobile {
    margin: 35px !important;
  }
}

@media (max-width: 992px) {
  .p35-mobile {
    padding: 35px !important;
  }
}

.gap40 {
  gap: 40px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.pt40 {
  padding-top: 40px !important;
}

@media (max-width: 992px) {
  .mt40-mobile {
    margin-top: 40px !important;
  }
}

@media (max-width: 992px) {
  .pt40-mobile {
    padding-top: 40px !important;
  }
}

.mb40 {
  margin-bottom: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

@media (max-width: 992px) {
  .mb40-mobile {
    margin-bottom: 40px !important;
  }
}

@media (max-width: 992px) {
  .pb40-mobile {
    padding-bottom: 40px !important;
  }
}

.ml40 {
  margin-left: 40px !important;
}

.pl40 {
  padding-left: 40px !important;
}

@media (max-width: 992px) {
  .ml40-mobile {
    margin-left: 40px !important;
  }
}

@media (max-width: 992px) {
  .pl40-mobile {
    padding-left: 40px !important;
  }
}

.mr40 {
  margin-right: 40px !important;
}

.pr40 {
  padding-right: 40px !important;
}

@media (max-width: 992px) {
  .mr40-mobile {
    margin-right: 40px !important;
  }
}

@media (max-width: 992px) {
  .pr40-mobile {
    padding-right: 40px !important;
  }
}

.m40 {
  margin: 40px !important;
}

.p40 {
  padding: 40px !important;
}

@media (max-width: 992px) {
  .m40-mobile {
    margin: 40px !important;
  }
}

@media (max-width: 992px) {
  .p40-mobile {
    padding: 40px !important;
  }
}

.gap45 {
  gap: 45px !important;
}

.mt45 {
  margin-top: 45px !important;
}

.pt45 {
  padding-top: 45px !important;
}

@media (max-width: 992px) {
  .mt45-mobile {
    margin-top: 45px !important;
  }
}

@media (max-width: 992px) {
  .pt45-mobile {
    padding-top: 45px !important;
  }
}

.mb45 {
  margin-bottom: 45px !important;
}

.pb45 {
  padding-bottom: 45px !important;
}

@media (max-width: 992px) {
  .mb45-mobile {
    margin-bottom: 45px !important;
  }
}

@media (max-width: 992px) {
  .pb45-mobile {
    padding-bottom: 45px !important;
  }
}

.ml45 {
  margin-left: 45px !important;
}

.pl45 {
  padding-left: 45px !important;
}

@media (max-width: 992px) {
  .ml45-mobile {
    margin-left: 45px !important;
  }
}

@media (max-width: 992px) {
  .pl45-mobile {
    padding-left: 45px !important;
  }
}

.mr45 {
  margin-right: 45px !important;
}

.pr45 {
  padding-right: 45px !important;
}

@media (max-width: 992px) {
  .mr45-mobile {
    margin-right: 45px !important;
  }
}

@media (max-width: 992px) {
  .pr45-mobile {
    padding-right: 45px !important;
  }
}

.m45 {
  margin: 45px !important;
}

.p45 {
  padding: 45px !important;
}

@media (max-width: 992px) {
  .m45-mobile {
    margin: 45px !important;
  }
}

@media (max-width: 992px) {
  .p45-mobile {
    padding: 45px !important;
  }
}

.gap50 {
  gap: 50px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.pt50 {
  padding-top: 50px !important;
}

@media (max-width: 992px) {
  .mt50-mobile {
    margin-top: 50px !important;
  }
}

@media (max-width: 992px) {
  .pt50-mobile {
    padding-top: 50px !important;
  }
}

.mb50 {
  margin-bottom: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

@media (max-width: 992px) {
  .mb50-mobile {
    margin-bottom: 50px !important;
  }
}

@media (max-width: 992px) {
  .pb50-mobile {
    padding-bottom: 50px !important;
  }
}

.ml50 {
  margin-left: 50px !important;
}

.pl50 {
  padding-left: 50px !important;
}

@media (max-width: 992px) {
  .ml50-mobile {
    margin-left: 50px !important;
  }
}

@media (max-width: 992px) {
  .pl50-mobile {
    padding-left: 50px !important;
  }
}

.mr50 {
  margin-right: 50px !important;
}

.pr50 {
  padding-right: 50px !important;
}

@media (max-width: 992px) {
  .mr50-mobile {
    margin-right: 50px !important;
  }
}

@media (max-width: 992px) {
  .pr50-mobile {
    padding-right: 50px !important;
  }
}

.m50 {
  margin: 50px !important;
}

.p50 {
  padding: 50px !important;
}

@media (max-width: 992px) {
  .m50-mobile {
    margin: 50px !important;
  }
}

@media (max-width: 992px) {
  .p50-mobile {
    padding: 50px !important;
  }
}

.gap60 {
  gap: 60px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.pt60 {
  padding-top: 60px !important;
}

@media (max-width: 992px) {
  .mt60-mobile {
    margin-top: 60px !important;
  }
}

@media (max-width: 992px) {
  .pt60-mobile {
    padding-top: 60px !important;
  }
}

.mb60 {
  margin-bottom: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

@media (max-width: 992px) {
  .mb60-mobile {
    margin-bottom: 60px !important;
  }
}

@media (max-width: 992px) {
  .pb60-mobile {
    padding-bottom: 60px !important;
  }
}

.ml60 {
  margin-left: 60px !important;
}

.pl60 {
  padding-left: 60px !important;
}

@media (max-width: 992px) {
  .ml60-mobile {
    margin-left: 60px !important;
  }
}

@media (max-width: 992px) {
  .pl60-mobile {
    padding-left: 60px !important;
  }
}

.mr60 {
  margin-right: 60px !important;
}

.pr60 {
  padding-right: 60px !important;
}

@media (max-width: 992px) {
  .mr60-mobile {
    margin-right: 60px !important;
  }
}

@media (max-width: 992px) {
  .pr60-mobile {
    padding-right: 60px !important;
  }
}

.m60 {
  margin: 60px !important;
}

.p60 {
  padding: 60px !important;
}

@media (max-width: 992px) {
  .m60-mobile {
    margin: 60px !important;
  }
}

@media (max-width: 992px) {
  .p60-mobile {
    padding: 60px !important;
  }
}

.gap70 {
  gap: 70px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.pt70 {
  padding-top: 70px !important;
}

@media (max-width: 992px) {
  .mt70-mobile {
    margin-top: 70px !important;
  }
}

@media (max-width: 992px) {
  .pt70-mobile {
    padding-top: 70px !important;
  }
}

.mb70 {
  margin-bottom: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

@media (max-width: 992px) {
  .mb70-mobile {
    margin-bottom: 70px !important;
  }
}

@media (max-width: 992px) {
  .pb70-mobile {
    padding-bottom: 70px !important;
  }
}

.ml70 {
  margin-left: 70px !important;
}

.pl70 {
  padding-left: 70px !important;
}

@media (max-width: 992px) {
  .ml70-mobile {
    margin-left: 70px !important;
  }
}

@media (max-width: 992px) {
  .pl70-mobile {
    padding-left: 70px !important;
  }
}

.mr70 {
  margin-right: 70px !important;
}

.pr70 {
  padding-right: 70px !important;
}

@media (max-width: 992px) {
  .mr70-mobile {
    margin-right: 70px !important;
  }
}

@media (max-width: 992px) {
  .pr70-mobile {
    padding-right: 70px !important;
  }
}

.m70 {
  margin: 70px !important;
}

.p70 {
  padding: 70px !important;
}

@media (max-width: 992px) {
  .m70-mobile {
    margin: 70px !important;
  }
}

@media (max-width: 992px) {
  .p70-mobile {
    padding: 70px !important;
  }
}

.gap80 {
  gap: 80px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.pt80 {
  padding-top: 80px !important;
}

@media (max-width: 992px) {
  .mt80-mobile {
    margin-top: 80px !important;
  }
}

@media (max-width: 992px) {
  .pt80-mobile {
    padding-top: 80px !important;
  }
}

.mb80 {
  margin-bottom: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

@media (max-width: 992px) {
  .mb80-mobile {
    margin-bottom: 80px !important;
  }
}

@media (max-width: 992px) {
  .pb80-mobile {
    padding-bottom: 80px !important;
  }
}

.ml80 {
  margin-left: 80px !important;
}

.pl80 {
  padding-left: 80px !important;
}

@media (max-width: 992px) {
  .ml80-mobile {
    margin-left: 80px !important;
  }
}

@media (max-width: 992px) {
  .pl80-mobile {
    padding-left: 80px !important;
  }
}

.mr80 {
  margin-right: 80px !important;
}

.pr80 {
  padding-right: 80px !important;
}

@media (max-width: 992px) {
  .mr80-mobile {
    margin-right: 80px !important;
  }
}

@media (max-width: 992px) {
  .pr80-mobile {
    padding-right: 80px !important;
  }
}

.m80 {
  margin: 80px !important;
}

.p80 {
  padding: 80px !important;
}

@media (max-width: 992px) {
  .m80-mobile {
    margin: 80px !important;
  }
}

@media (max-width: 992px) {
  .p80-mobile {
    padding: 80px !important;
  }
}

.gap90 {
  gap: 90px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.pt90 {
  padding-top: 90px !important;
}

@media (max-width: 992px) {
  .mt90-mobile {
    margin-top: 90px !important;
  }
}

@media (max-width: 992px) {
  .pt90-mobile {
    padding-top: 90px !important;
  }
}

.mb90 {
  margin-bottom: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

@media (max-width: 992px) {
  .mb90-mobile {
    margin-bottom: 90px !important;
  }
}

@media (max-width: 992px) {
  .pb90-mobile {
    padding-bottom: 90px !important;
  }
}

.ml90 {
  margin-left: 90px !important;
}

.pl90 {
  padding-left: 90px !important;
}

@media (max-width: 992px) {
  .ml90-mobile {
    margin-left: 90px !important;
  }
}

@media (max-width: 992px) {
  .pl90-mobile {
    padding-left: 90px !important;
  }
}

.mr90 {
  margin-right: 90px !important;
}

.pr90 {
  padding-right: 90px !important;
}

@media (max-width: 992px) {
  .mr90-mobile {
    margin-right: 90px !important;
  }
}

@media (max-width: 992px) {
  .pr90-mobile {
    padding-right: 90px !important;
  }
}

.m90 {
  margin: 90px !important;
}

.p90 {
  padding: 90px !important;
}

@media (max-width: 992px) {
  .m90-mobile {
    margin: 90px !important;
  }
}

@media (max-width: 992px) {
  .p90-mobile {
    padding: 90px !important;
  }
}

.gap100 {
  gap: 100px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.pt100 {
  padding-top: 100px !important;
}

@media (max-width: 992px) {
  .mt100-mobile {
    margin-top: 100px !important;
  }
}

@media (max-width: 992px) {
  .pt100-mobile {
    padding-top: 100px !important;
  }
}

.mb100 {
  margin-bottom: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

@media (max-width: 992px) {
  .mb100-mobile {
    margin-bottom: 100px !important;
  }
}

@media (max-width: 992px) {
  .pb100-mobile {
    padding-bottom: 100px !important;
  }
}

.ml100 {
  margin-left: 100px !important;
}

.pl100 {
  padding-left: 100px !important;
}

@media (max-width: 992px) {
  .ml100-mobile {
    margin-left: 100px !important;
  }
}

@media (max-width: 992px) {
  .pl100-mobile {
    padding-left: 100px !important;
  }
}

.mr100 {
  margin-right: 100px !important;
}

.pr100 {
  padding-right: 100px !important;
}

@media (max-width: 992px) {
  .mr100-mobile {
    margin-right: 100px !important;
  }
}

@media (max-width: 992px) {
  .pr100-mobile {
    padding-right: 100px !important;
  }
}

.m100 {
  margin: 100px !important;
}

.p100 {
  padding: 100px !important;
}

@media (max-width: 992px) {
  .m100-mobile {
    margin: 100px !important;
  }
}

@media (max-width: 992px) {
  .p100-mobile {
    padding: 100px !important;
  }
}

.gap0 {
  gap: 0px !important;
}

.mt0 {
  margin-top: 0px !important;
}

.pt0 {
  padding-top: 0px !important;
}

@media (max-width: 992px) {
  .mt0-mobile {
    margin-top: 0px !important;
  }
}

@media (max-width: 992px) {
  .pt0-mobile {
    padding-top: 0px !important;
  }
}

.mb0 {
  margin-bottom: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

@media (max-width: 992px) {
  .mb0-mobile {
    margin-bottom: 0px !important;
  }
}

@media (max-width: 992px) {
  .pb0-mobile {
    padding-bottom: 0px !important;
  }
}

.ml0 {
  margin-left: 0px !important;
}

.pl0 {
  padding-left: 0px !important;
}

@media (max-width: 992px) {
  .ml0-mobile {
    margin-left: 0px !important;
  }
}

@media (max-width: 992px) {
  .pl0-mobile {
    padding-left: 0px !important;
  }
}

.mr0 {
  margin-right: 0px !important;
}

.pr0 {
  padding-right: 0px !important;
}

@media (max-width: 992px) {
  .mr0-mobile {
    margin-right: 0px !important;
  }
}

@media (max-width: 992px) {
  .pr0-mobile {
    padding-right: 0px !important;
  }
}

.m0 {
  margin: 0px !important;
}

.p0 {
  padding: 0px !important;
}

@media (max-width: 992px) {
  .m0-mobile {
    margin: 0px !important;
  }
}

@media (max-width: 992px) {
  .p0-mobile {
    padding: 0px !important;
  }
}

/* End of Create Paddings and Margins classes */
.hidden {
  display: none !important;
}

/* Chat Widget */
#chat-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 999999;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}
#chat-widget #chat-toggle {
  width: 60px;
  height: 60px;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}
#chat-widget #chat-toggle:hover {
  transform: scale(1.05);
  box-shadow: 0 6px 25px rgba(0, 0, 0, 0.2);
}
#chat-widget #chat-container {
  position: absolute;
  bottom: 70px;
  right: 0;
  width: 350px;
  height: 500px;
  background: white;
  border-radius: 12px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
  display: none;
  flex-direction: column;
  overflow: hidden;
  animation: slideUp 0.3s ease;
}
@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#chat-widget #chat-header {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  color: white;
  padding: 20px;
  text-align: center;
  position: relative;
}
#chat-widget #chat-header h4 {
  margin: 0 0 5px 0;
  font-size: 18px;
  font-weight: 600;
  color: white;
}
#chat-widget #chat-header p {
  margin: 0;
  font-size: 14px;
  opacity: 0.9;
  color: white;
}
#chat-widget #chat-header .mobile-close-btn {
  display: none;
  position: absolute;
  top: 15px;
  right: 15px;
  width: 30px;
  height: 30px;
  background: rgba(255, 255, 255, 0.2);
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  transition: background 0.2s ease;
}
#chat-widget #chat-header .mobile-close-btn:hover {
  background: rgba(255, 255, 255, 0.3);
}
@media (max-width: 480px) {
  #chat-widget #chat-header .mobile-close-btn {
    display: flex;
  }
}
#chat-widget #chat-messages {
  flex: 1;
  overflow-y: auto;
  padding: 20px;
  background: #f8f9fa;
}
#chat-widget #chat-messages .message {
  margin-bottom: 15px;
  animation: fadeIn 0.3s ease;
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#chat-widget #chat-messages .message.user-message {
  text-align: right;
}
#chat-widget #chat-messages .message.user-message .message-content {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  color: white;
}
#chat-widget #chat-messages .message.assistant-message {
  text-align: left;
}
#chat-widget #chat-messages .message.assistant-message .message-content {
  background: white;
  color: #333;
  border: 1px solid #e1e5e9;
}
#chat-widget #chat-messages .message .message-content {
  display: inline-block;
  max-width: 80%;
  padding: 12px 16px;
  border-radius: 18px;
  font-size: 14px;
  line-height: 1.4;
}
#chat-widget #chat-messages .message .message-content .product-link {
  display: inline-block;
  margin-top: 8px;
  padding: 8px 12px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white !important;
  text-decoration: none;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 500;
  transition: all 0.2s ease;
  border: none;
}
#chat-widget #chat-messages .message .message-content .product-link:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
  color: white !important;
}
#chat-widget #chat-messages .message .message-content .chat-link {
  color: #d4ac6d;
  text-decoration: underline;
  font-size: 14px;
  word-wrap: break-word;
}
#chat-widget #chat-messages .message .message-content .chat-link:hover {
  color: #764ba2;
}
#chat-widget #chat-messages .typing-indicator {
  display: flex;
  align-items: center;
  padding: 12px 16px;
  background: white;
  border: 1px solid #e1e5e9;
  border-radius: 18px;
  margin-bottom: 15px;
  animation: fadeIn 0.3s ease;
}
#chat-widget #chat-messages .typing-indicator .typing-dots {
  display: flex;
  gap: 4px;
}
#chat-widget #chat-messages .typing-indicator .typing-dots .typing-dot {
  width: 8px;
  height: 8px;
  background: #999;
  border-radius: 50%;
  animation: typingDot 1.4s infinite ease-in-out;
}
#chat-widget #chat-messages .typing-indicator .typing-dots .typing-dot:nth-child(2) {
  animation-delay: 0.2s;
}
#chat-widget #chat-messages .typing-indicator .typing-dots .typing-dot:nth-child(3) {
  animation-delay: 0.4s;
}
@keyframes typingDot {
  0%, 60%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  30% {
    transform: scale(1);
    opacity: 1;
  }
}
#chat-widget #chat-input-container {
  display: flex;
  padding: 15px;
  background: white;
  border-top: 1px solid #e1e5e9;
  gap: 10px;
}
#chat-widget #chat-input-container #chat-input {
  flex: 1;
  border: 1px solid #e1e5e9;
  border-radius: 25px;
  padding: 12px 16px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.3s ease;
}
#chat-widget #chat-input-container #chat-input:focus {
  border-color: #a37c48;
}
#chat-widget #chat-input-container #send-button {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  border: none;
  border-radius: 50%;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease;
}
#chat-widget #chat-input-container #send-button:hover {
  transform: scale(1.05);
}
#chat-widget #chat-input-container #send-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  transform: none;
}
@media (max-width: 480px) {
  #chat-widget #chat-container {
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100vw;
    height: 100dvh;
    border-radius: 0;
    z-index: 999999;
    flex-direction: column;
  }
  #chat-widget #chat-container #chat-input {
    font-size: 16px;
  }
  #chat-widget #chat-toggle {
    z-index: 999998;
  }
  #chat-widget #chat-header {
    flex-shrink: 0;
    position: relative;
  }
  #chat-widget #chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 15px;
  }
  #chat-widget #chat-input-container {
    flex-shrink: 0;
    background: white;
    padding: 15px;
    border-top: 1px solid #e1e5e9;
  }
  #chat-widget #chat-input-container #chat-input {
    font-size: 16px;
    min-height: 44px;
  }
}

/* End of Chat Widget */
.event-diagram-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 60px 20px;
  min-height: 100vh;
}
@media (max-width: 768px) {
  .event-diagram-container {
    padding: 40px 16px;
    padding-left: 0px;
    padding-right: 0px;
  }
}

.diagram-title {
  text-align: center;
  margin-bottom: 48px;
  animation: fadeInDown 0.6s ease-out;
}
.diagram-title h1 {
  font-size: 32px;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 12px 0;
}
@media (max-width: 768px) {
  .diagram-title h1 {
    font-size: 24px;
  }
}
.diagram-title p {
  font-size: 16px;
  color: #718096;
  margin: 0;
}
@media (max-width: 768px) {
  .diagram-title p {
    font-size: 14px;
  }
}

.mobile-tabs {
  display: none;
}
@media (max-width: 768px) {
  .mobile-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
    padding: 0 20px;
    justify-content: center;
  }
}
.mobile-tabs .tab-btn {
  flex: 1;
  padding: 12px 20px;
  border: 2px solid #e2e8f0;
  background: white;
  border-radius: 24px;
  font-size: 14px;
  font-weight: 600;
  color: #718096;
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
}
.mobile-tabs .tab-btn.active {
  background: linear-gradient(135deg, #78562d, #a9804b);
  border-color: #7d5b31;
  color: white;
  box-shadow: 0 4px 12px rgba(148, 110, 62, 0.21);
}
.mobile-tabs .tab-btn:hover:not(.active) {
  border-color: #cbd5e0;
  background: #f7fafc;
}

.branches-container {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}
@media (max-width: 1024px) {
  .branches-container {
    gap: 24px;
  }
}
@media (max-width: 768px) {
  .branches-container {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 20px;
    padding: 0;
    margin: 0;
    scrollbar-width: none;
  }
  .branches-container::-webkit-scrollbar {
    display: none;
  }
  .branches-container::before, .branches-container::after {
    content: "";
    flex: 0 0 10%;
  }
}

.branch-column {
  flex: 1;
  min-width: 0;
  animation: fadeInUp 0.6s ease-out backwards;
}
.branch-column:nth-child(1) {
  animation-delay: 0.1s;
}
.branch-column:nth-child(2) {
  animation-delay: 0.2s;
}
.branch-column:nth-child(3) {
  animation-delay: 0.3s;
}
@media (max-width: 768px) {
  .branch-column {
    flex: 0 0 80%;
    scroll-snap-align: center;
    scroll-snap-stop: always;
  }
}

.branch-header {
  z-index: 10;
  padding: 16px 0;
  padding-bottom: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.branch-header h3 {
  font-size: 22px;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 6px 0;
  letter-spacing: -0.3px;
}
@media (max-width: 768px) {
  .branch-header h3 {
    font-size: 20px;
  }
}
.branch-header .task-count {
  font-size: 13px;
  color: #718096;
  font-weight: 500;
}

.branch-items {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  padding: 12px;
  border: 1px solid #e8e5e1;
  border-radius: 12px;
  background: #fffaf2;
}
.branch-items::-webkit-scrollbar {
  width: 6px;
}
.branch-items::-webkit-scrollbar-track {
  background: transparent;
}
.branch-items::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 3px;
}
.branch-items::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}
.branch-items:hover .add-item-btn {
  opacity: 1;
  transform: scale(1);
}

.workflow-item {
  flex: none;
  background: linear-gradient(45deg, #ffffff, #f3f1ee);
  border: 2px dashed #e3c9b0;
  border-radius: 12px;
  padding: 18px;
  display: flex;
  align-items: center;
  gap: 16px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  animation: slideInUp 0.4s ease-out backwards;
  z-index: 9;
}
.workflow-item::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -62px;
  transform: translateX(-50%);
  width: 2px;
  height: 60px;
  background: rgba(231, 217, 201, 0.4509803922);
  z-index: -2;
}
.workflow-item::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 0px;
  width: 4px;
  height: calc(100% - 4px);
  background: #765c40;
  transform: scaleY(0);
  transition: transform 0.3s ease;
  z-index: 1;
}
.workflow-item:hover {
  border-color: #e3c9b0;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
  transform: translateY(0px);
}
.workflow-item:hover::before {
  transform: scaleY(1);
}
.workflow-item:hover .item-icon {
  transform: scale(1.1);
  background: #765b40;
}
.workflow-item:hover .item-icon i {
  color: white;
}
.workflow-item:hover .item-text {
  color: #1a202c;
}
.workflow-item:hover .item-menu {
  opacity: 1;
  transform: translateX(0);
}
.workflow-item:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.workflow-item .item-icon {
  width: 52px;
  height: 52px;
  background: #f1ebe5;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.3s ease;
}
.workflow-item .item-icon i {
  font-size: 22px;
  color: #765b40;
  transition: all 0.3s ease;
}
.workflow-item .item-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.workflow-item .item-text {
  font-size: 18px;
  font-weight: bold;
  color: #65503b;
  transition: color 0.3s ease;
  line-height: 1.4;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.workflow-item .item-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 2px;
}
.workflow-item .item-datetime {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #785c3e;
  font-size: 12px;
  font-weight: 500;
  transition: all 0.2s ease;
  opacity: 0.7;
}
.workflow-item .item-datetime i {
  font-size: 14px;
}
.workflow-item .item-datetime span {
  font-size: 12px;
}
.workflow-item .item-datetime .date {
  font-weight: 600;
}
.workflow-item .item-datetime .time {
  font-weight: 700;
  color: #785c3e;
}
.workflow-item .type-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.workflow-item .type-badge i {
  font-size: 10px;
}
.workflow-item .type-badge::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: translateX(-100%);
  transition: transform 0.6s;
}
.workflow-item .type-badge:hover::before {
  transform: translateX(100%);
}
.workflow-item .type-badge.type-message {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e40af;
  border: 1px solid #93c5fd;
}
.workflow-item .type-badge.type-task {
  background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);
  color: #15803d;
  border: 1px solid #86efac;
}
.workflow-item .type-badge.type-game {
  background: linear-gradient(135deg, #fce7f3 0%, #fbcfe8 100%);
  color: #be185d;
  border: 1px solid #f9a8d4;
}
.workflow-item.happening-now {
  border: 2px solid #667eea;
  background: linear-gradient(135deg, #f0f4ff 0%, #e8efff 100%);
  box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.7), 0 8px 24px rgba(102, 126, 234, 0.25);
  animation: glowPulse 2s ease-in-out infinite;
  position: relative;
  z-index: 5;
}
.workflow-item.happening-now::before {
  transform: scaleY(1);
  width: 6px;
  background: linear-gradient(180deg, #667eea, #764ba2);
  box-shadow: 0 0 12px rgba(102, 126, 234, 0.6);
}
.workflow-item.happening-now::after {
  background: linear-gradient(180deg, #667eea, #764ba2);
  box-shadow: 0 0 8px rgba(102, 126, 234, 0.4);
}
.workflow-item.happening-now .item-icon {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.4), 0 0 24px rgba(102, 126, 234, 0.3);
  animation: iconPulse 2s ease-in-out infinite;
}
.workflow-item.happening-now .item-icon i {
  color: white;
  animation: iconBounce 2s ease-in-out infinite;
}
.workflow-item.happening-now .item-text {
  color: #1a202c;
  font-weight: 700;
}
.workflow-item.happening-now .item-datetime {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
  border-color: #667eea;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}
.workflow-item.happening-now .item-datetime i {
  color: white;
  opacity: 1;
}
.workflow-item.happening-now .item-datetime .date,
.workflow-item.happening-now .item-datetime .time {
  color: white;
}
.workflow-item.happening-now:hover {
  box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.7), 0 12px 32px rgba(102, 126, 234, 0.35);
}
.workflow-item.upcoming-soon {
  border-color: #fbbf24;
  background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);
}
.workflow-item.upcoming-soon::before {
  background: linear-gradient(180deg, #fbbf24, #f59e0b);
}
.workflow-item.upcoming-soon .item-icon {
  background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);
  border: 2px solid #fbbf24;
}
.workflow-item .live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 12px;
  background: linear-gradient(135deg, #fee2e2 0%, #fecaca 100%);
  border: 1px solid #ef4444;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  color: #dc2626;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  animation: blink 2s ease-in-out infinite;
}
.workflow-item .live-indicator i {
  font-size: 8px;
  animation: livePulse 1.5s ease-in-out infinite;
}
.workflow-item.past-item {
  opacity: 1;
  filter: grayscale(40%);
}
.workflow-item.past-item .item-icon {
  background: linear-gradient(135deg, #e2e8f0 0%, #cbd5e0 100%);
  color: #94a3b8;
  opacity: 0.6;
}
.workflow-item.past-item .item-datetime {
  color: #64748b;
}
.workflow-item.past-item .item-datetime i {
  color: #94a3b8;
}
.workflow-item.past-item .type-badge {
  background: linear-gradient(135deg, #f8fafc 0%, #f1f5f9 100%);
  border-color: #e2e8f0;
  color: #94a3b8;
}
.workflow-item.past-item .type-badge i {
  color: #cbd5e0;
}
.workflow-item.past-item::before {
  background: linear-gradient(to bottom, #e2e8f0 0%, #cbd5e0 100%);
}
.workflow-item.past-item:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(148, 163, 184, 0.15);
}
.workflow-item.past-item .item-content {
  opacity: 0.6;
}
.workflow-item.past-item .item-menu {
  opacity: 0.6;
}
.workflow-item.highlighted {
  position: relative;
  box-shadow: 0px 0px 12px rgba(234, 178, 8, 0.333);
  animation: highlightPulse 2s ease-in-out infinite;
  background: linear-gradient(45deg, #76552c, #ac824d);
  border: 2px solid #7d5b30;
}
.workflow-item.highlighted .item-icon {
  background: #ffeed5;
  color: #ca8a04;
  box-shadow: 0 4px 12px rgba(234, 179, 8, 0.3);
  animation: iconBounce 2s ease-in-out infinite;
}
.workflow-item.highlighted .item-text {
  color: white;
}
.workflow-item.highlighted .item-datetime {
  color: white;
  font-weight: 600;
}
.workflow-item.highlighted .item-datetime i {
  color: white;
  animation: iconPulse 1.5s ease-in-out infinite;
}
.workflow-item.highlighted .item-datetime span {
  color: white;
}
.workflow-item.highlighted .type-badge {
  border-color: #f59e0b;
  font-weight: 600;
}
.workflow-item.highlighted::before {
  background: #534431;
}
.workflow-item.highlighted:hover .item-icon {
  background-color: #ffeed5;
  color: #ca8a04;
}
.workflow-item.highlighted:hover .item-icon i {
  color: #392f17;
}
.workflow-item .item-menu {
  display: flex;
  gap: 8px;
  opacity: 0;
  transform: translateX(10px);
  transition: all 0.3s ease;
}
.workflow-item .item-menu button {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  border: none;
  background: #f7fafc;
  color: #765c40;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  position: relative;
  overflow: hidden;
}
.workflow-item .item-menu button::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: width 0.3s ease, height 0.3s ease;
}
.workflow-item .item-menu button:hover {
  background: #ffffff;
  transform: scale(1.1);
}
.workflow-item .item-menu button:hover::before {
  width: 100%;
  height: 100%;
}
.workflow-item .item-menu button:active {
  transform: scale(0.95);
}
.workflow-item .item-menu button i {
  font-size: 14px;
  position: relative;
  z-index: 1;
}
.workflow-item .item-menu .edit-btn:hover {
  background: #765c40;
  color: #f7fafc;
}
.workflow-item .item-menu .delete-btn:hover {
  background: #e53e3e;
  color: #ffffff;
}

.scroll-indicator {
  display: none;
}
@media (max-width: 768px) {
  .scroll-indicator {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 32px;
    padding: 16px 0;
  }
}
.scroll-indicator .dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #cbd5e0;
  transition: all 0.3s ease;
  cursor: pointer;
  position: relative;
}
.scroll-indicator .dot::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: transparent;
  transition: background 0.2s ease;
}
.scroll-indicator .dot:hover::after {
  background: rgba(102, 126, 234, 0.1);
}
.scroll-indicator .dot.active {
  width: 24px;
  border-radius: 4px;
  background: #66502f;
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.3);
}

.live-indicator {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
  color: white;
  border-radius: 20px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.8px;
  box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
  animation: livePulse 1.5s ease-in-out infinite;
}
.live-indicator i {
  font-size: 6px;
  animation: blink 1.5s ease-in-out infinite;
}

@keyframes glowPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.7), 0 8px 24px rgba(102, 126, 234, 0.25);
  }
  50% {
    box-shadow: 0 0 0 8px rgba(102, 126, 234, 0), 0 12px 32px rgba(102, 126, 234, 0.4);
  }
}
@keyframes iconPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 4px 16px rgba(102, 126, 234, 0.4), 0 0 24px rgba(102, 126, 234, 0.3);
  }
  50% {
    transform: scale(1.05);
    box-shadow: 0 6px 20px rgba(102, 126, 234, 0.5), 0 0 32px rgba(102, 126, 234, 0.4);
  }
}
@keyframes iconBounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-3px);
  }
}
@keyframes livePulse {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.9;
    transform: scale(1.02);
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
@keyframes highlightPulse {
  0%, 100% {
    box-shadow: 0px 0px 12px rgba(234, 178, 8, 0.333);
  }
  50% {
    box-shadow: 0px 0px 24px rgba(234, 178, 8, 0.5);
  }
}
.add-item-btn {
  flex: none;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 2px dashed #e3cab0;
  background: white;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  margin: 0 auto;
  position: relative;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  opacity: 0;
  transform: scale(0.8);
  z-index: 10;
}
.add-item-btn::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 10px;
  background: #e3cab0;
  transition: all 0.3s ease;
}
.add-item-btn::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 2px;
  height: 10px;
  background: #e3cab0;
  transition: all 0.3s ease;
}
.add-item-btn i {
  font-size: 16px;
  color: #b3a08c;
  transition: all 0.3s ease;
}
.add-item-btn:hover {
  border-color: #765c40;
  border-style: solid;
  background: #765c40;
  box-shadow: 0 4px 16px rgba(102, 126, 234, 0.3);
  transform: scale(1.15);
}
.add-item-btn:hover::before, .add-item-btn:hover::after {
  background: #765d41;
}
.add-item-btn:hover i {
  color: white;
  transform: rotate(90deg);
}
.add-item-btn:active {
  transform: scale(1.05);
  box-shadow: 0 2px 8px rgba(102, 126, 234, 0.2);
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .workflow-item {
    padding: 16px;
  }
  .workflow-item .item-icon {
    width: 48px;
    height: 48px;
  }
  .workflow-item .item-icon i {
    font-size: 20px;
  }
  .workflow-item .item-text {
    font-size: 14px;
  }
  .workflow-item .item-menu {
    opacity: 1;
    transform: translateX(0);
  }
  .add-item-btn {
    width: 40px;
    height: 40px;
  }
  .add-item-btn i {
    font-size: 14px;
  }
}
@media (hover: none) {
  .workflow-item .item-menu {
    opacity: 1;
    transform: translateX(0);
  }
}
.item-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.item-modal.active {
  opacity: 1;
  visibility: visible;
}
.item-modal.active .modal-content {
  transform: scale(1) translateY(0);
  opacity: 1;
}
.item-modal.active .modal-overlay {
  opacity: 1;
}
.item-modal .modal-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.3s ease;
}
.item-modal .modal-content {
  position: relative;
  background: white;
  border-radius: 20px;
  width: 90%;
  max-width: 600px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  transform: scale(0.9) translateY(20px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  z-index: 10000;
}
@media (max-width: 768px) {
  .item-modal .modal-content {
    width: 95%;
    max-height: 85vh;
    border-radius: 16px;
  }
}
.item-modal .modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: #f7fafc;
  color: #718096;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 10;
}
.item-modal .modal-close i {
  font-size: 18px;
}
.item-modal .modal-close:hover {
  background: #edf2f7;
  color: #2d3748;
  transform: rotate(90deg);
}
.item-modal .modal-close:active {
  transform: rotate(90deg) scale(0.9);
}
.item-modal .modal-header {
  padding: 32px 32px 24px 32px;
  border-bottom: 2px solid #f7fafc;
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 768px) {
  .item-modal .modal-header {
    padding: 24px 20px 20px 20px;
    gap: 16px;
  }
}
.item-modal .modal-header .modal-icon {
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 8px 20px rgba(102, 126, 234, 0.3);
}
.item-modal .modal-header .modal-icon i {
  font-size: 28px;
  color: white;
}
@media (max-width: 768px) {
  .item-modal .modal-header .modal-icon {
    width: 56px;
    height: 56px;
  }
  .item-modal .modal-header .modal-icon i {
    font-size: 24px;
  }
}
.item-modal .modal-header .modal-title-section {
  flex: 1;
  min-width: 0;
}
.item-modal .modal-header .modal-title {
  font-size: 24px;
  font-weight: 700;
  color: #1a202c;
  margin: 0 0 8px 0;
  line-height: 1.3;
}
@media (max-width: 768px) {
  .item-modal .modal-header .modal-title {
    font-size: 20px;
  }
}
.item-modal .modal-header .modal-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.item-modal .modal-header .modal-meta .modal-date-badge,
.item-modal .modal-header .modal-meta .modal-time-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
}
.item-modal .modal-header .modal-meta .modal-date-badge i,
.item-modal .modal-header .modal-meta .modal-time-badge i {
  font-size: 12px;
  opacity: 0.8;
}
.item-modal .modal-header .modal-meta .modal-date-badge {
  background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
  color: #7c3aed;
  border: 1px solid #ddd6fe;
}
.item-modal .modal-header .modal-meta .modal-time-badge {
  background: linear-gradient(135deg, #dbeafe 0%, #bfdbfe 100%);
  color: #1e40af;
  border: 1px solid #93c5fd;
}
.item-modal .modal-body {
  padding: 24px 32px 32px 32px;
}
@media (max-width: 768px) {
  .item-modal .modal-body {
    padding: 20px 20px 24px 20px;
  }
}
.item-modal .modal-description {
  background: #f7fafc;
  border-radius: 12px;
  padding: 20px;
}
.item-modal .modal-description .info-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}
.item-modal .modal-description .info-label i {
  font-size: 14px;
}
.item-modal .modal-description .description-content p {
  font-size: 14px;
  line-height: 1.6;
  color: #4a5568;
  margin: 0;
}
.item-modal .modal-message-details {
  margin-top: 20px;
}
.item-modal .modal-message-details .message-details-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}
@media (max-width: 768px) {
  .item-modal .modal-message-details .message-details-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.item-modal .modal-message-details .detail-item {
  background: linear-gradient(135deg, #f7fafc 0%, #edf2f7 100%);
  border-radius: 12px;
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid #e2e8f0;
  transition: all 0.3s ease;
}
.item-modal .modal-message-details .detail-item:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: #cbd5e0;
}
.item-modal .modal-message-details .detail-item .detail-icon {
  width: 48px;
  height: 48px;
  border-radius: 10px;
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(59, 130, 246, 0.25);
}
.item-modal .modal-message-details .detail-item .detail-icon i {
  font-size: 20px;
  color: white;
}
.item-modal .modal-message-details .detail-item .detail-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.item-modal .modal-message-details .detail-item .detail-content .detail-label {
  font-size: 11px;
  font-weight: 600;
  color: #718096;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.item-modal .modal-message-details .detail-item .detail-content .detail-value {
  font-size: 18px;
  font-weight: 700;
  color: #1a202c;
  line-height: 1.2;
}
.item-modal .modal-message-details .detail-item:first-child .detail-icon {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.25);
}
.item-modal .modal-game-preview {
  margin-top: 20px;
}
.item-modal .modal-game-preview .preview-game-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 12px;
  border: none;
  background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
  color: white;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 16px rgba(236, 72, 153, 0.3);
  position: relative;
  overflow: hidden;
}
.item-modal .modal-game-preview .preview-game-btn::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.3);
  transform: translate(-50%, -50%);
  transition: width 0.4s ease, height 0.4s ease;
}
.item-modal .modal-game-preview .preview-game-btn:hover::before {
  width: 300px;
  height: 300px;
}
.item-modal .modal-game-preview .preview-game-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(236, 72, 153, 0.4);
}
.item-modal .modal-game-preview .preview-game-btn:active {
  transform: translateY(0) scale(0.98);
}
.item-modal .modal-game-preview .preview-game-btn i {
  font-size: 18px;
  position: relative;
  z-index: 1;
}
.item-modal .modal-game-preview .preview-game-btn span {
  position: relative;
  z-index: 1;
}
.item-modal.modal-type-task .modal-icon {
  background: linear-gradient(135deg, #10b981 0%, #059669 100%);
  box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
}
.item-modal.modal-type-message .modal-icon {
  background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
  box-shadow: 0 8px 20px rgba(59, 130, 246, 0.3);
}
.item-modal.modal-type-game .modal-icon {
  background: linear-gradient(135deg, #ec4899 0%, #db2777 100%);
  box-shadow: 0 8px 20px rgba(236, 72, 153, 0.3);
}

@keyframes statusPulse {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(102, 126, 234, 0.4);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(102, 126, 234, 0);
  }
}
.page-title-new {
  padding-top: 120px !important;
  background: linear-gradient(90deg, #231c13, #654d2c, #231c13);
}
.page-title-new h2 {
  font-size: 40px;
  font-weight: 800;
  color: white;
  text-align: center;
  margin: 0px;
  padding: 0px;
}

.alert-delivery-mode {
  min-width: 0;
  margin: 0 0 22px;
  padding: 0;
  border: 0;
}
.alert-delivery-mode legend {
  width: 100%;
  margin-bottom: 10px;
}
.alert-delivery-mode__options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.alert-delivery-option {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 22px;
  align-items: center;
  gap: 11px;
  min-height: 76px;
  margin: 0;
  padding: 12px 13px;
  border: 1px solid #dedad3;
  border-radius: 14px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.alert-delivery-option > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
.alert-delivery-option:hover {
  border-color: rgba(186, 150, 84, 0.65);
  transform: translateY(-1px);
}
.alert-delivery-option:has(> input:checked) {
  border-color: #ba9654;
  background: #fffaf0;
  box-shadow: 0 0 0 3px rgba(186, 150, 84, 0.11);
}
.alert-delivery-option:has(> input:checked) .alert-delivery-option__icon {
  background: #ba9654;
  color: #fff;
}
.alert-delivery-option:has(> input:checked) .alert-delivery-option__check {
  border-color: #ba9654;
  background: #ba9654;
  color: #fff;
}
.alert-delivery-option:has(> input:focus-visible) {
  outline: 2px solid #ba9654;
  outline-offset: 2px;
}
.alert-delivery-option__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: #f1eee8;
  color: #766c5c;
  transition: color 0.18s ease, background-color 0.18s ease;
}
.alert-delivery-option strong,
.alert-delivery-option small {
  display: block;
}
.alert-delivery-option strong {
  color: #303640;
  font-size: 13px;
  font-weight: 750;
}
.alert-delivery-option small {
  margin-top: 3px;
  color: #858c98;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.35;
}
.alert-delivery-option__check {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid #d7d2ca;
  border-radius: 50%;
  color: transparent;
  font-size: 9px;
  transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}

.alert-schedule-fields {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid #e5e1d9;
  border-radius: 14px;
  background: #faf9f7;
}
.alert-schedule-fields[hidden] {
  display: none;
}
.alert-schedule-fields .datetime-group {
  margin: 0;
}
.alert-schedule-fields .form-hint {
  display: block;
  margin: 0 0 6px;
  color: #686f7b;
  font-weight: 650;
}

@media (max-width: 620px) {
  .alert-delivery-mode__options {
    grid-template-columns: 1fr;
  }
}
#smsAlertRecipientsContainer,
#emailAlertRecipientsContainer {
  padding: 14px;
  border: 1px solid #e5e1d9;
  border-radius: 16px;
  background: #faf9f7;
}
#smsAlertRecipientsContainer .search-wrapper,
#emailAlertRecipientsContainer .search-wrapper {
  margin-bottom: 10px;
}
#smsAlertRecipientsContainer .search-wrapper input,
#emailAlertRecipientsContainer .search-wrapper input {
  min-height: 44px;
  padding-inline: 14px;
  border: 1px solid #dedad3;
  border-radius: 12px;
  background: #fff;
}
#smsAlertRecipientsContainer .search-wrapper input:focus,
#emailAlertRecipientsContainer .search-wrapper input:focus {
  border-color: #ba9654;
  box-shadow: 0 0 0 3px rgba(186, 150, 84, 0.12);
}
#smsAlertRecipientsContainer .sms-recipients-list,
#emailAlertRecipientsContainer .sms-recipients-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}
#smsAlertRecipientsContainer .sms-recipients-list .item,
#emailAlertRecipientsContainer .sms-recipients-list .item {
  width: auto;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto 24px;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 62px;
  padding: 10px 11px;
  border: 1px solid #e2ded7;
  border-radius: 13px;
  background: #fff;
  color: #343a45;
  cursor: pointer;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
#smsAlertRecipientsContainer .sms-recipients-list .item:hover,
#emailAlertRecipientsContainer .sms-recipients-list .item:hover {
  border-color: rgba(186, 150, 84, 0.65);
  box-shadow: 0 5px 14px rgba(31, 45, 61, 0.07);
  transform: translateY(-1px);
}
#smsAlertRecipientsContainer .sms-recipients-list .item:focus-visible,
#emailAlertRecipientsContainer .sms-recipients-list .item:focus-visible {
  outline: 2px solid #ba9654;
  outline-offset: 2px;
}
#smsAlertRecipientsContainer .sms-recipients-list .item.selected,
#emailAlertRecipientsContainer .sms-recipients-list .item.selected {
  border-color: #ba9654;
  background: #fffaf0;
  box-shadow: 0 0 0 2px rgba(186, 150, 84, 0.1);
}
#smsAlertRecipientsContainer .sms-recipients-list .item.selected .sms-recipient-avatar,
#emailAlertRecipientsContainer .sms-recipients-list .item.selected .sms-recipient-avatar {
  background: #ba9654;
  color: #fff;
}
#smsAlertRecipientsContainer .sms-recipients-list .item.selected .check-icon,
#emailAlertRecipientsContainer .sms-recipients-list .item.selected .check-icon {
  border-color: #ba9654;
  background: #ba9654;
  color: #fff;
}
#smsAlertRecipientsContainer .sms-recipients-list .item.is-filtered-out, #smsAlertRecipientsContainer .sms-recipients-list .item.is-collapsed-out,
#emailAlertRecipientsContainer .sms-recipients-list .item.is-filtered-out,
#emailAlertRecipientsContainer .sms-recipients-list .item.is-collapsed-out {
  display: none;
}
#smsAlertRecipientsContainer .sms-recipients-list .item .check-icon,
#emailAlertRecipientsContainer .sms-recipients-list .item .check-icon {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid #d7d2ca;
  border-radius: 7px;
  background: #f7f5f1;
  color: transparent;
  font-size: 9px;
  transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}
#smsAlertRecipientsContainer .sms-recipients-list .item .check-icon i,
#emailAlertRecipientsContainer .sms-recipients-list .item .check-icon i {
  display: block;
}
#smsAlertRecipientsContainer .sms-recipient-avatar,
#emailAlertRecipientsContainer .sms-recipient-avatar {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #efede8;
  color: #766c5c;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  transition: color 0.18s ease, background-color 0.18s ease;
}
#smsAlertRecipientsContainer .sms-recipient-identity,
#emailAlertRecipientsContainer .sms-recipient-identity {
  display: block;
  min-width: 0;
}
#smsAlertRecipientsContainer .sms-recipient-identity strong,
#smsAlertRecipientsContainer .sms-recipient-identity small,
#emailAlertRecipientsContainer .sms-recipient-identity strong,
#emailAlertRecipientsContainer .sms-recipient-identity small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
#smsAlertRecipientsContainer .sms-recipient-identity strong,
#emailAlertRecipientsContainer .sms-recipient-identity strong {
  color: #2f3540;
  font-size: 13px;
  font-weight: 700;
}
#smsAlertRecipientsContainer .sms-recipient-identity small,
#emailAlertRecipientsContainer .sms-recipient-identity small {
  margin-top: 3px;
  color: #858c98;
  font-size: 11px;
}
#smsAlertRecipientsContainer .sms-recipient-status,
#emailAlertRecipientsContainer .sms-recipient-status {
  padding: 4px 7px;
  border-radius: 999px;
  background: #f1efeb;
  color: #8b8173;
  font-size: 9px;
  font-weight: 700;
}
#smsAlertRecipientsContainer .sms-recipient-status.is-confirmed,
#emailAlertRecipientsContainer .sms-recipient-status.is-confirmed {
  background: #eaf6ee;
  color: #398451;
}
#smsAlertRecipientsContainer .sms-recipients-toggle,
#emailAlertRecipientsContainer .sms-recipients-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 40px;
  margin-top: 9px;
  border: 0;
  border-radius: 10px;
  background: #f1eee8;
  color: #625b50;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: color 0.18s ease, background-color 0.18s ease;
}
#smsAlertRecipientsContainer .sms-recipients-toggle[hidden],
#emailAlertRecipientsContainer .sms-recipients-toggle[hidden] {
  display: none;
}
#smsAlertRecipientsContainer .sms-recipients-toggle:hover,
#emailAlertRecipientsContainer .sms-recipients-toggle:hover {
  background: #e9e4da;
  color: #403b34;
}
#smsAlertRecipientsContainer .sms-recipients-no-results,
#emailAlertRecipientsContainer .sms-recipients-no-results {
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 72px;
  margin-top: 10px;
  border: 1px dashed #d9d4cc;
  border-radius: 12px;
  color: #858078;
  font-size: 12px;
}
#smsAlertRecipientsContainer .sms-recipients-no-results:not([hidden]),
#emailAlertRecipientsContainer .sms-recipients-no-results:not([hidden]) {
  display: flex;
}
#smsAlertRecipientsContainer .selection-actions,
#emailAlertRecipientsContainer .selection-actions {
  margin-top: 12px;
}
#smsAlertRecipientsContainer .selected-counter,
#emailAlertRecipientsContainer .selected-counter {
  margin-top: 8px;
  border-radius: 4px;
  padding: 2px 8px;
  background: rgba(186, 150, 84, 0.1);
}
#smsAlertRecipientsContainer .users-list-empty,
#emailAlertRecipientsContainer .users-list-empty {
  grid-column: 1/-1;
}

@media (max-width: 700px) {
  #smsAlertRecipientsContainer,
  #emailAlertRecipientsContainer {
    padding: 11px;
  }
  #smsAlertRecipientsContainer .sms-recipients-list,
  #emailAlertRecipientsContainer .sms-recipients-list {
    grid-template-columns: 1fr;
  }
  #smsAlertRecipientsContainer .sms-recipients-list .item,
  #emailAlertRecipientsContainer .sms-recipients-list .item {
    grid-template-columns: 38px minmax(0, 1fr) 24px;
  }
  #smsAlertRecipientsContainer .sms-recipient-status,
  #emailAlertRecipientsContainer .sms-recipient-status {
    display: none;
  }
}
.email-composer {
  overflow: hidden;
  border: 1px solid #dedad3;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(37, 42, 51, 0.06);
}
.email-composer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid #ebe7e0;
  background: linear-gradient(135deg, #fbfaf8, #f7f4ee);
}
.email-composer__intro {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 0 0 auto;
}
.email-composer__intro strong,
.email-composer__intro small {
  display: block;
}
.email-composer__intro strong {
  color: #303640;
  font-size: 13px;
  font-weight: 750;
}
.email-composer__intro small {
  margin-top: 2px;
  color: #8a8f98;
  font-size: 10px;
}
.email-composer__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #ba9654;
  color: #fff;
  box-shadow: 0 5px 12px rgba(186, 150, 84, 0.22);
}
.email-composer__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 14px;
  border-top: 1px solid #ebe7e0;
  background: #fbfaf8;
  color: #858b95;
  font-size: 10px;
}
.email-composer__footer i {
  margin-right: 4px;
}
.email-composer__format {
  flex: 0 0 auto;
  color: #716650;
  font-weight: 700;
}
.email-composer > .form-textarea {
  border: 0;
  border-radius: 0;
}
.email-composer .ck.ck-editor {
  border: 0;
}
.email-composer .ck.ck-toolbar {
  padding: 7px 10px;
  border: 0;
  border-bottom: 1px solid #ebe7e0;
  background: #fff;
}
.email-composer .ck.ck-toolbar .ck-button {
  border-radius: 7px;
}
.email-composer .ck.ck-toolbar .ck-button.ck-on {
  background: #f3ead9;
  color: #8f6d30;
}
.email-composer .ck.ck-editor__main > .ck-editor__editable {
  min-height: 260px;
  padding: 20px 24px;
  border: 0 !important;
  box-shadow: none !important;
  color: #303640;
  font-size: 14px;
  line-height: 1.65;
}
.email-composer .ck-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.email-placeholder-shortcuts {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
.email-placeholder-shortcuts__label {
  margin-right: 2px;
  color: #8a8175;
  font-size: 10px;
  font-weight: 700;
}
.email-placeholder-shortcuts button {
  padding: 6px 9px;
  border: 1px solid #e2d9ca;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.7);
  color: #655b4c;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
  opacity: 0.62;
  transition: opacity 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}
.email-placeholder-shortcuts button:hover, .email-placeholder-shortcuts button:focus-visible {
  border-color: #ba9654;
  background: #fff;
  opacity: 1;
  outline: none;
  transform: translateY(-1px);
}

.email-template-preview {
  margin: 20px 0 26px;
  overflow: hidden;
  border: 1px solid #ddd7ce;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(37, 42, 51, 0.07);
}
.email-template-preview__header {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  padding: 13px 15px;
  border-bottom: 1px solid #e9e5df;
  background: linear-gradient(135deg, #fbfaf8, #f5f1ea);
}
.email-template-preview__header strong,
.email-template-preview__header small {
  display: block;
}
.email-template-preview__header strong {
  color: #303640;
  font-size: 13px;
  font-weight: 750;
}
.email-template-preview__header small {
  margin-top: 2px;
  color: #8a8f98;
  font-size: 10px;
}
.email-template-preview__icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: #303640;
  color: #fff;
}
.email-template-preview__badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 9px;
  border: 1px solid #e2d5bf;
  border-radius: 999px;
  background: #fffaf1;
  color: #87682f;
  font-size: 9px;
  font-weight: 750;
}
.email-template-preview__viewport {
  position: relative;
  height: clamp(440px, 62vh, 650px);
  overflow: hidden;
  background: radial-gradient(circle at 20% 0, rgba(186, 150, 84, 0.11), transparent 34%), #eeece8;
}
.email-template-preview__viewport iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #f3f1ed;
}
.email-template-preview__loading {
  position: absolute;
  z-index: 2;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: rgba(243, 241, 237, 0.9);
  color: #746b5e;
  font-size: 12px;
  font-weight: 700;
}
.email-template-preview__loading[hidden] {
  display: none;
}

@media (max-width: 760px) {
  .email-composer__header {
    align-items: flex-start;
    flex-direction: column;
  }
  .email-composer__footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .email-composer .ck.ck-editor__main > .ck-editor__editable {
    min-height: 230px;
    padding: 16px;
  }
  .email-placeholder-shortcuts {
    justify-content: flex-start;
  }
  .email-template-preview__header {
    grid-template-columns: 38px minmax(0, 1fr);
  }
  .email-template-preview__badge {
    display: none;
  }
  .email-template-preview__viewport {
    height: 500px;
  }
}
.timeline-container {
  animation: fadeInUp 0.6s ease-out;
}

.phase-section {
  margin-bottom: 48px;
}
.phase-section:last-child {
  margin-bottom: 0;
}

.phase-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 3px solid #f7fafc;
}
@media (max-width: 992px) {
  .phase-header {
    flex-wrap: wrap;
    gap: 8px;
  }
}

.phase-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.phase-title h2 {
  font-size: 24px;
  font-weight: 700;
  color: #1a202c;
  margin: 0px;
  padding: 0px;
}

.phase-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: linear-gradient(135deg, #78562d, #a9804b);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 20px;
}

.phase-period {
  font-size: 14px;
  color: #718096;
  padding: 8px 16px;
  background: #f7fafc;
  border-radius: 8px;
}

.phase-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.days-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 24px;
}

.day-card {
  background: linear-gradient(135deg, #ffffff, #fffbf5);
  border: 2px solid #eee7de;
  border-radius: 16px;
  padding: 20px;
  transition: all 0.3s ease;
  position: relative;
}
.day-card:hover {
  border-color: #d4c5b0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.day-card:hover .day-actions {
  opacity: 1;
}
.day-card.current-day {
  border-color: #987140;
  background: #fcf7f0;
  box-shadow: 0 0 30px rgba(246, 162, 59, 0.3), 0 10px 30px rgba(0, 0, 0, 0.1);
  position: relative;
  animation: pulseGlow 3s ease-in-out infinite;
}

.current-day-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  background: linear-gradient(135deg, #78562d, #a9804b);
  color: #ffffff;
  padding: 6px 14px;
  border-radius: 24px;
  font-size: 12px;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 6px;
  z-index: 10;
  animation: slideInDown 0.5s ease-out;
}
.current-day-badge i {
  font-size: 8px;
  animation: pulse 1.5s ease-in-out infinite;
}

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 20px rgba(246, 184, 59, 0.3), 0 10px 30px rgba(0, 0, 0, 0.1);
  }
  50% {
    box-shadow: 0 0 40px rgba(246, 162, 59, 0.5), 0 10px 30px rgba(0, 0, 0, 0.15);
  }
}
@keyframes gradientShift {
  0%, 100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes pulseScale {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.4;
  }
}
.day-header {
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px dashed #e8e5e1;
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 8px;
  flex-wrap: wrap;
}

.day-date {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.day-date-main {
  font-size: 18px;
  font-weight: 700;
  color: #78562d;
}

.day-date-sub {
  font-size: 12px;
  color: #a0825c;
  font-weight: 500;
}

.day-count {
  font-size: 12px;
  color: #718096;
  background: #ffffff;
  padding: 4px 12px;
  border-radius: 12px;
  border: 1px solid #e6d8ba;
  font-weight: 600;
}

.day-actions {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  gap: 6px;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 11;
}

.remove-day-btn {
  width: 28px;
  height: 28px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  border-radius: 8px;
  background: #fee2e2;
  color: #ef4444;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 12px;
}
.remove-day-btn:hover {
  transform: scale(1.1);
}
.remove-day-btn:hover {
  background: #ef4444;
  color: #ffffff;
}

.timeline-items-wrapper {
  position: relative;
  padding: 16px 0;
}
.timeline-items-wrapper::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, transparent 0%, #a9804b 10%, #a9804b 90%, transparent 100%);
  border-radius: 2px;
}

.timeline-item-container {
  position: relative;
  margin-bottom: 12px;
}

.timeline-connector {
  position: absolute;
  left: -24px;
  top: calc(50% - 10px);
  width: 12px;
  height: 12px;
  background: #ffffff;
  border: 3px solid #78562d;
  border-radius: 50%;
  z-index: 2;
  box-shadow: 0 2px 8px rgba(120, 86, 45, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}
.timeline-connector i {
  display: none;
  font-size: 8px;
  color: #ffffff;
}
.timeline-connector.connector-completed {
  background: #10b981;
  border-color: #10b981;
  box-shadow: 0 2px 8px rgba(16, 185, 129, 0.4);
  width: 14px;
  height: 14px;
  left: -24px;
  top: calc(50% - 7px);
}
.timeline-connector.connector-completed i {
  display: block;
  font-size: 10px;
}

.timeline-add-between-btn,
.timeline-add-first-btn {
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #f7fafc;
  border: 2px solid #cbd5e0;
  color: #718096;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  margin-left: -7px;
  display: flex;
  transition: all 0.2s ease;
  position: relative;
  z-index: 3;
}
.timeline-add-between-btn:hover,
.timeline-add-first-btn:hover {
  background: #78562d;
  border-color: #78562d;
  color: #ffffff;
  transform: scale(1.15);
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.3);
}
.timeline-add-between-btn.timeline-add-last,
.timeline-add-first-btn.timeline-add-last {
  margin-top: 12px;
}

.timeline-add-first-btn {
  width: auto;
  padding: 8px 16px;
  border-radius: 12px;
  margin-top: 16px;
  gap: 8px;
  margin: 0 auto;
  padding: 16px;
  border-radius: 32px;
}

.timeline-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.timeline-items.drag-over {
  background: rgba(120, 86, 45, 0.05);
  border: 2px dashed #78562d;
  border-radius: 12px;
}

.timeline-item2 {
  background: #ffffff;
  border: 2px solid #e8e5e1;
  border-radius: 12px;
  padding: 16px;
  margin-left: 21px;
  cursor: move;
  transition: all 0.3s ease;
  position: relative;
}
.timeline-item2.item-sent {
  opacity: 0.85;
}
.timeline-item2.communication-item {
  overflow: hidden;
  padding: 0;
  cursor: pointer;
}
.timeline-item2.communication-item > .item-header {
  padding: 16px 16px 12px;
}
.timeline-item2.communication-item.item-sent {
  background: #fff;
  opacity: 1;
}
.timeline-item2::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  border-radius: 12px 0 0 12px;
  background: linear-gradient(135deg, #78562d, #a9804b);
  transform: scaleY(0);
  transition: transform 0.3s ease;
}
.timeline-item2:hover {
  border-color: #d4c5b0;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
}
.timeline-item2:hover::before {
  transform: scaleY(1);
}
.timeline-item2:hover .item-actions {
  opacity: 1;
}
.timeline-item2:hover .timeline-connector {
  transform: scale(1.2);
}
.timeline-item2:hover .timeline-connector:not(.connector-completed) {
  background: #fffaf2;
}
.timeline-item2.item-past {
  opacity: 1;
  cursor: pointer;
}
.timeline-item2.dragging {
  opacity: 0.5;
  transform: scale(0.95);
  cursor: grabbing;
}
.timeline-item2.drag-over-item {
  border-color: #78562d;
  background: rgba(120, 86, 45, 0.05);
}

.item-header {
  display: flex;
  align-items: center;
  gap: 12px;
}

.item-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 18px;
  color: #ffffff;
}
.item-icon.type-alert {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.item-icon.type-email {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}
.item-icon.type-sms {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.item-icon.type-wedgame {
  background: linear-gradient(135deg, #ec4899, #db2777);
}
.item-icon.type-info {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}
.item-icon.type-task {
  background: linear-gradient(135deg, #10b981, #059669);
}

.item-content {
  flex: 1;
  min-width: 0;
}

.item-title {
  font-size: 15px;
  line-height: 1.3;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 6px;
}

.sent-badge {
  display: inline-block;
  font-size: 11px;
  color: #10b981;
  margin-left: 8px;
  font-weight: 600;
}

.item-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.item-time-wrapper {
  position: relative;
}

.item-time {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 13px;
  color: #78562d;
  font-weight: 600;
}
.item-time.item-time-display {
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 8px;
  transition: all 0.2s ease;
  position: relative;
}
.item-time.item-time-display .edit-icon {
  opacity: 0;
  font-size: 11px;
  margin-left: 2px;
  transition: opacity 0.2s ease;
}
.item-time.item-time-display:hover {
  background: #fffaf2;
}
.item-time.item-time-display:hover .edit-icon {
  opacity: 1;
}
.item-time.item-time-display.is-locked {
  cursor: not-allowed;
  color: #718096;
}
.item-time.item-time-display.is-locked .lock-icon {
  margin-left: 3px;
  color: #94a3b8;
  font-size: 11px;
}
.item-time.item-time-display.is-locked:hover {
  background: #edf2f7;
}

.floating-time-editor {
  position: absolute;
  z-index: 10000;
  display: none;
  align-items: center; 
  gap: 6px;
  padding: 12px;
  background: #ffffff;
  border: 2px solid #78562d;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(120, 86, 45, 0.3), 0 0 0 1px rgba(120, 86, 45, 0.1);
  animation: fadeInScale 0.2s ease-out;
  white-space: nowrap;
}
.floating-time-editor .edit-date-input,
.floating-time-editor .edit-time-input {
  padding: 4px 8px;
  border: 1px solid #cbd5e0;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 600;
  color: #78562d;
}
.floating-time-editor .edit-date-input:focus,
.floating-time-editor .edit-time-input:focus {
  outline: none;
  border-color: #78562d;
}
.floating-time-editor .edit-date-input {
  width: 130px;
}
.floating-time-editor .edit-time-input {
  width: 90px;
}
.floating-time-editor .edit-save-btn,
.floating-time-editor .edit-cancel-btn {
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all 0.2s ease;
}
.floating-time-editor .edit-save-btn {
  background: #10b981;
  color: #ffffff;
}
.floating-time-editor .edit-save-btn:hover:not(:disabled) {
  background: #059669;
  transform: scale(1.1);
}
.floating-time-editor .edit-save-btn:disabled {
  background: #94a3b8;
  cursor: not-allowed;
  opacity: 0.7;
}
.floating-time-editor .edit-cancel-btn {
  background: #e2e8f0;
  color: #64748b;
}
.floating-time-editor .edit-cancel-btn:hover {
  background: #fee2e2;
  color: #ef4444;
  transform: scale(1.1);
}

@keyframes fadeInScale {
  from {
    opacity: 0;
    transform: scale(0.95);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.item-participants {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: #64748b;
  font-weight: 500;
}

.item-badge {
  font-size: 11px;
  padding: 4px 8px;
  border-radius: 6px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.item-badge.type-alert {
  background: #dbeafe;
  color: #1e40af;
}
.item-badge.type-email {
  background: #ede9fe;
  color: #6d28d9;
}
.item-badge.type-sms {
  background: #e7f2ff;
  color: #2563eb;
}
.item-badge.type-wedgame {
  background: #fce7f3;
  color: #be185d;
}
.item-badge.type-info {
  background: #fef3c7;
  color: #92400e;
}
.item-badge.type-task {
  background: #dcfce7;
  color: #15803d;
}

.communication-preview {
  margin: 0 12px 12px;
  overflow: hidden;
  border: 1px solid #ece9e4;
  border-radius: 12px;
  background: #faf9f7;
}
.communication-preview__message {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 8px;
  padding: 12px 13px;
  color: #555c67;
}
.communication-preview__message > i {
  margin-top: 3px;
  color: #bbb4aa;
  font-size: 11px;
}
.communication-preview__message p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  color: #535a66;
  font-size: 12px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.communication-preview__details {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-top: 1px solid #ece9e4;
  background: #fff;
}

.communication-detail {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #747b86;
  font-size: 10px;
  font-weight: 650;
}
.communication-detail i {
  font-size: 10px;
}
.communication-detail--recipients i {
  color: #8b5cf6;
}
.communication-detail--delivery {
  padding: 4px 8px;
  border-radius: 999px;
}
.communication-detail--delivery.is-sent {
  background: #eaf7ee;
  color: #31824d;
}
.communication-detail--delivery.is-pending {
  background: #fff5df;
  color: #9b6b17;
}

.communication-item--sms .communication-detail--recipients i {
  color: #3b82f6;
}

@media (max-width: 620px) {
  .timeline-item2.communication-item > .item-header {
    align-items: flex-start;
    padding: 14px 13px 11px;
  }
  .communication-preview {
    margin: 0 9px 9px;
  }
  .communication-preview__details {
    align-items: flex-start;
    flex-direction: column;
  }
}
.item-actions {
  display: flex;
  gap: 6px;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.item-delete-btn {
  width: 32px;
  height: 32px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  border-radius: 8px;
  background: #fee2e2;
  color: #ef4444;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  font-size: 14px;
}
.item-delete-btn:hover {
  transform: scale(1.1);
}
.item-delete-btn:hover {
  background: #ef4444;
  color: #ffffff;
}

.add-item-btn {
  width: 100%;
  padding: 12px;
  border: 2px dashed #d4c5b0;
  background: #ffffff;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: #78562d;
  font-weight: 600;
  font-size: 14px;
}
.add-item-btn:hover {
  border-color: #78562d;
  border-style: solid;
  background: #78562d;
  color: #ffffff;
  transform: scale(1.02);
}
.add-item-btn i {
  font-size: 16px;
}

.timeline-add-fab {
  position: fixed;
  left: max(24px, env(safe-area-inset-right));
  bottom: max(24px, env(safe-area-inset-bottom) + 16px);
  z-index: 1000;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 7px 20px 7px 7px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 999px;
  background: linear-gradient(135deg, #ba9654, #987238);
  box-shadow: 0 14px 30px rgba(115, 82, 32, 0.3), 0 3px 9px rgba(43, 36, 25, 0.16);
  color: #fff;
  font: inherit;
  cursor: pointer;
  transition: bottom 0.25s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.timeline-add-fab__icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.17);
  font-size: 16px;
  transition: background-color 0.2s ease, transform 0.25s ease;
}
.timeline-add-fab__label {
  font-size: 13px;
  font-weight: 750;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.timeline-add-fab:hover {
  box-shadow: 0 18px 36px rgba(115, 82, 32, 0.36), 0 4px 10px rgba(43, 36, 25, 0.18);
  transform: translateY(-2px);
}
.timeline-add-fab:hover .timeline-add-fab__icon {
  background: rgba(255, 255, 255, 0.24);
  transform: rotate(90deg);
}
.timeline-add-fab:focus-visible {
  outline: 3px solid rgba(186, 150, 84, 0.3);
  outline-offset: 4px;
}
.timeline-add-fab:active {
  transform: translateY(0) scale(0.98);
}

.toast.show + .timeline-add-fab {
  bottom: max(112px, env(safe-area-inset-bottom) + 104px);
}

@media (max-width: 620px) {
  .timeline-add-fab {
    right: max(16px, env(safe-area-inset-right));
    bottom: max(16px, env(safe-area-inset-bottom) + 12px);
    width: 56px;
    min-height: 56px;
    padding: 6px;
  }
  .timeline-add-fab__icon {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }
  .timeline-add-fab__label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .toast.show + .timeline-add-fab {
    bottom: max(104px, env(safe-area-inset-bottom) + 96px);
  }
}
.add-day-btn {
  padding: 8px 16px;
  border: 2px solid #78562d;
  background: #ffffff;
  border-radius: 10px;
  color: #78562d;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.add-day-btn:hover {
  background: #78562d;
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.2);
}
.add-day-btn i {
  font-size: 12px;
}

.progress-steps {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 24px;
}

.progress-step {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  color: #94a3b8;
  transition: all 0.3s ease;
  position: relative;
}
.progress-step::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  width: 40px;
  height: 2px;
  background: #e2e8f0;
  transform: translateY(-50%);
}
.progress-step:last-child::after {
  display: none;
}
.progress-step.active {
  background: linear-gradient(135deg, #78562d, #a9804b);
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.2);
}
.progress-step.completed {
  background: #10b981;
  color: #ffffff;
}
.progress-step.completed::after {
  background: #10b981;
}

.form-group {
  margin-bottom: 24px;
}
.form-group:last-child {
  margin-bottom: 0;
}

.form-label {
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #1a202c;
  margin-bottom: 8px;
}
.form-label .required {
  color: #ef4444;
}

.form-input,
.form-textarea,
.form-select {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 15px;
  color: #1a202c;
  transition: all 0.2s ease;
  font-family: inherit;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  outline: none;
  border-color: #78562d;
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.1);
}

.form-textarea {
  min-height: 120px;
  resize: vertical;
}

.form-hint {
  font-size: 13px;
  color: #718096;
  margin-top: 6px;
}

.datetime-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.type-selection-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
}

.type-option {
  padding: 20px;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-align: center;
  background: #ffffff;
}
.type-option:hover {
  border-color: #cbd5e0;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.type-option.selected {
  border-color: #78562d;
  background: linear-gradient(135deg, #fffaf2, #fff8eb);
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.2);
}

.type-option-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 12px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  color: #ffffff;
}
.type-option-icon.type-alert {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.type-option-icon.type-email {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}
.type-option-icon.type-wedgame {
  background: linear-gradient(135deg, #ec4899, #db2777);
}
.type-option-icon.type-info {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}
.type-option-icon.type-task {
  background: linear-gradient(135deg, #10b981, #059669);
}

.type-option-title {
  font-size: 16px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 4px;
}

.type-option-desc {
  font-size: 12px;
  color: #718096;
}

.btn {
  padding: 12px 24px;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.btn-secondary {
  background: #f7fafc;
  color: #718096;
}
.btn-secondary:hover {
  background: #edf2f7;
  color: #2d3748;
}

.btn-primary {
  background: linear-gradient(135deg, #78562d, #a9804b);
  color: #ffffff;
}
.btn-primary:hover {
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.2);
}
.btn-primary:hover:hover {
  transform: translateY(-2px);
}
.btn-primary:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  transform: none;
}

.btn-danger {
  background: linear-gradient(135deg, #ef4444, #dc2626);
  color: #ffffff;
}
.btn-danger:hover {
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}
.btn-danger:hover:hover {
  transform: translateY(-2px);
}

.toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  background: #ffffff;
  padding: 16px 24px;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
  display: flex;
  align-items: center;
  gap: 12px;
  z-index: 999999999;
  transform: translateX(400px);
  opacity: 0;
  transition: all 0.3s ease;
}
.toast.show {
  transform: translateX(0);
  opacity: 1;
}
.toast.success {
  border-left: 4px solid #10b981;
}
.toast.success .toast-icon {
  background: #d1fae5;
  color: #10b981;
}
.toast.error {
  border-left: 4px solid #ef4444;
}
.toast.error .toast-icon {
  background: #fee2e2;
  color: #ef4444;
}
.toast.warning {
  border-left: 4px solid #f59e0b;
}
.toast.warning .toast-icon {
  background: #fef3c7;
  color: #f59e0b;
}

.toast-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex: none;
}

.toast-message {
  font-size: 14px;
  color: #1a202c;
  font-weight: 500;
}

.confirm-dialog {
  position: relative;
  transform: scale(0.9);
  width: 90%;
  max-width: 450px;
  background: #ffffff;
  border-radius: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  z-index: 1;
  display: none;
  opacity: 0;
  transition: all 0.3s ease;
}
.confirm-dialog.active {
  display: block;
  opacity: 1;
  transform: scale(1);
}

.confirm-dialog-header {
  padding: 24px;
  border-bottom: 2px solid #f7fafc;
}

.confirm-dialog-title {
  font-size: 20px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 8px;
}

.confirm-dialog-message {
  font-size: 14px;
  color: #718096;
}

.confirm-dialog-footer {
  padding: 16px 24px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.preview-modal {
  position: relative;
  transform: scale(0.9);
  width: 90%;
  max-width: 700px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  z-index: 1;
  display: none;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  max-height: 90vh;
  overflow-y: auto;
}
.preview-modal.active {
  display: block;
  opacity: 1;
  transform: scale(1);
}

/*
<div class="preview-modal-header">
    <div class="preview-modal-icon-wrapper" id="previewIcon">
        <i class="fas fa-bell"></i>
    </div>
    <div class="info-items">
        <h2 class="preview-modal-title" id="previewTitle">Item Title</h2>
        <div class="preview-modal-meta">
            <div class="preview-meta-item date">
                <i class="fas fa-calendar"></i>
                <span id="previewDate">June 15, 2026</span>
            </div>
            <div class="preview-meta-item">
                <i class="fas fa-clock"></i>
                <span id="previewTime">10:00</span>
            </div>
            <div class="preview-meta-item">
                <i class="fas fa-tag"></i>
                <span id="previewType">Alert</span>
            </div>
        </div>
    </div>
</div>
*/
.preview-modal-header {
  padding-top: 24px;
  padding-bottom: 24px;
  position: relative;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.preview-modal-header .preview-modal-icon-wrapper {
  flex-shrink: 0;
}
.preview-modal-header .info-items {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 4px;
}
.preview-modal-header .info-items h2 {
  margin: 0px;
  margin-right: 24px;
}

.preview-modal-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 40px;
  height: 40px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  background: #f7fafc;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #718096;
  font-size: 18px;
  transition: all 0.2s ease;
  z-index: 10;
}
.preview-modal-close:hover {
  background: #edf2f7;
  color: #2d3748;
  transform: rotate(90deg);
}

.preview-modal-icon-wrapper {
  width: 72px;
  height: 72px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  color: #ffffff;
}
.preview-modal-icon-wrapper.type-alert {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
.preview-modal-icon-wrapper.type-email {
  background: linear-gradient(135deg, #8b5cf6, #7c3aed);
}
.preview-modal-icon-wrapper.type-wedgame {
  background: linear-gradient(135deg, #ec4899, #db2777);
}
.preview-modal-icon-wrapper.type-info {
  background: linear-gradient(135deg, #f59e0b, #d97706);
}
.preview-modal-icon-wrapper.type-task {
  background: linear-gradient(135deg, #10b981, #059669);
}

.preview-modal-title {
  font-size: 28px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 12px;
}

.preview-modal-meta {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  align-items: center;
}

.preview-meta-item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 14px;
  background: #f7fafc;
  border-radius: 8px;
  font-size: 14px;
  color: #64748b;
  font-weight: 500;
}
.preview-meta-item i {
  font-size: 14px;
}
.preview-meta-item.date {
  color: #78562d;
  background: #fffaf2;
}

.preview-modal-body {
  padding: 32px;
}

.preview-section {
  margin-bottom: 28px;
}
.preview-section:last-child {
  margin-bottom: 0;
}

.preview-section-title {
  font-size: 14px;
  font-weight: 700;
  color: #64748b;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.preview-section-content {
  font-size: 15px;
  color: #1a202c;
  line-height: 1.6;
  background: #f7fafc;
  padding: 16px;
  border-radius: 12px;
}
.preview-section-content p {
  margin-bottom: 12px;
}
.preview-section-content p:last-child {
  margin-bottom: 0;
}
.preview-section-content strong {
  font-weight: 700;
  color: #78562d;
}
.preview-section-content em {
  font-style: italic;
}
.preview-section-content a {
  color: #3b82f6;
  text-decoration: underline;
}
.preview-section-content a:hover {
  color: #2563eb;
}
.preview-section-content ul,
.preview-section-content ol {
  margin: 12px 0;
  padding-left: 24px;
}
.preview-section-content li {
  margin-bottom: 8px;
}
.preview-section-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  margin: 12px 0;
  display: block;
}
.preview-section-content figure {
  margin: 16px 0;
}
.preview-section-content figure.image {
  text-align: center;
}
.preview-section-content figure.image img {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.preview-section-content h1,
.preview-section-content h2,
.preview-section-content h3,
.preview-section-content h4,
.preview-section-content h5,
.preview-section-content h6 {
  margin-top: 16px;
  margin-bottom: 12px;
  font-weight: 700;
  color: #78562d;
}
.preview-section-content h1:first-child,
.preview-section-content h2:first-child,
.preview-section-content h3:first-child,
.preview-section-content h4:first-child,
.preview-section-content h5:first-child,
.preview-section-content h6:first-child {
  margin-top: 0;
}
.preview-section-content h1 {
  font-size: 24px;
}
.preview-section-content h2 {
  font-size: 20px;
}
.preview-section-content h3 {
  font-size: 18px;
}
.preview-section-content h4 {
  font-size: 16px;
}

[data-modal26=preview] .modal26-dialog {
  border: 1px solid #e8e5df;
  background: #f7f7f8;
  box-shadow: 0 28px 80px rgba(25, 31, 40, 0.28);
}
[data-modal26=preview] .modal26-header {
  padding: 24px 28px 12px;
  border-bottom: 0;
  background: #fff;
}
[data-modal26=preview] .modal26-title {
  max-width: calc(100% - 60px);
  font-size: clamp(20px, 3vw, 28px);
  line-height: 1.2;
}
[data-modal26=preview] .modal26-subtitle-wrapper {
  padding: 0 28px 22px;
  border-bottom: 1px solid #ece9e4;
  background: #fff;
}
[data-modal26=preview] .modal26-body {
  padding: 22px 28px 28px;
}
[data-modal26=preview] .preview-modal-header {
  align-items: center;
  gap: 14px;
  padding: 0;
}
[data-modal26=preview] .preview-modal-icon-wrapper {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  font-size: 21px;
  box-shadow: 0 8px 20px rgba(35, 42, 53, 0.14);
}
[data-modal26=preview] .preview-modal-icon-wrapper.type-sms {
  background: linear-gradient(135deg, #3b82f6, #2563eb);
}
[data-modal26=preview] .preview-modal-meta {
  gap: 7px;
}
[data-modal26=preview] .preview-meta-item {
  min-height: 28px;
  padding: 5px 9px;
  border: 1px solid #ebe8e2;
  border-radius: 999px;
  background: #faf9f7;
  color: #656c77;
  font-size: 10px;
}
[data-modal26=preview] .preview-meta-item.date {
  border-color: #e7dbc3;
  background: #fffaf0;
  color: #906c2b;
}
[data-modal26=preview] .countdown-section {
  margin-bottom: 22px;
  padding: 14px 16px;
  border: 1px solid #e5d7ba;
  border-radius: 16px;
  background: linear-gradient(135deg, #fffaf0, #f7efe0);
}
[data-modal26=preview] .countdown-section.countdown-past {
  border-color: #e1e3e7;
  background: linear-gradient(135deg, #f5f6f8, #eceef1);
}
[data-modal26=preview] .countdown-label {
  margin-bottom: 10px;
  color: #8d6a2e;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.1em;
}
[data-modal26=preview] .countdown-timer {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
[data-modal26=preview] .countdown-unit {
  min-width: 0;
  padding: 9px 7px;
  border: 1px solid rgba(186, 150, 84, 0.15);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.75);
}
[data-modal26=preview] .countdown-value {
  margin-bottom: 3px;
  color: #3a3f48;
  font-size: 19px;
}
[data-modal26=preview] .countdown-unit-label {
  color: #8a8174;
  font-size: 8px;
  letter-spacing: 0.06em;
}
[data-modal26=preview] .preview-section {
  margin-bottom: 22px;
}
[data-modal26=preview] .preview-section-title {
  margin: 0 0 9px 2px;
  color: #7d838d;
  font-size: 9px;
  letter-spacing: 0.1em;
}
[data-modal26=preview] .preview-section-content {
  padding: 20px;
  border: 1px solid #e7e4df;
  border-radius: 15px;
  background: #fff;
  box-shadow: 0 7px 22px rgba(35, 42, 53, 0.05);
  color: #343a44;
  font-size: 14px;
  line-height: 1.7;
}
[data-modal26=preview] .preview-section-content.is-plain-message {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
[data-modal26=preview] .preview-section-content strong {
  color: inherit;
}
[data-modal26=preview] .preview-section-content > :first-child {
  margin-top: 0;
}
[data-modal26=preview] .preview-section-content > :last-child {
  margin-bottom: 0;
}
[data-modal26=preview] .preview-email-section[hidden] {
  display: none;
}
[data-modal26=preview] .preview-email-section__heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 10px;
}
[data-modal26=preview] .preview-email-section__heading .preview-section-title {
  margin-bottom: 3px;
}
[data-modal26=preview] .preview-email-section__heading p {
  margin: 0;
  color: #9297a0;
  font-size: 11px;
}
[data-modal26=preview] .preview-email-viewport {
  height: min(650px, 68vh);
  border: 1px solid #dfd9cf;
  border-radius: 16px;
}
[data-modal26=preview] .preview-email-edit-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  flex: 0 0 auto;
  padding: 9px 12px;
  border: 1px solid #ddccb0;
  border-radius: 10px;
  background: #fffaf1;
  color: #85652e;
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  cursor: pointer;
  transition: background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
[data-modal26=preview] .preview-email-edit-btn[hidden] {
  display: none;
}
[data-modal26=preview] .preview-email-edit-btn:hover, [data-modal26=preview] .preview-email-edit-btn:focus-visible {
  border-color: #ba9654;
  background: #f7ecd9;
  outline: none;
  transform: translateY(-1px);
}
[data-modal26=preview] .preview-game-btn {
  background: linear-gradient(135deg, #ec4899, #be185d);
  box-shadow: 0 8px 20px rgba(190, 24, 93, 0.18);
}
[data-modal26=preview] .preview-game-btn:hover {
  background: linear-gradient(135deg, #db2777, #9d174d);
  box-shadow: 0 12px 25px rgba(190, 24, 93, 0.24);
}

.preview-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: fit-content;
  margin-top: 4px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 750;
}
.preview-status-pill.is-success {
  background: #eaf7ee;
  color: #31824d;
}
.preview-status-pill.is-warning {
  background: #fff4dd;
  color: #9a6814;
}
.preview-status-pill.is-danger {
  background: #feecec;
  color: #bd3f3f;
}
.preview-status-pill.is-planned {
  background: #eaf2ff;
  color: #3169b4;
}
.preview-status-pill.is-neutral {
  background: #eeeff2;
  color: #626976;
}

.preview-overview-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 9px;
  margin-bottom: 18px;
}

.preview-overview-card {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 66px;
  padding: 10px 11px;
  border: 1px solid #e7e4df;
  border-radius: 13px;
  background: #fff;
}
.preview-overview-card__icon {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #f1efeb;
  color: #756d62;
}
.preview-overview-card small,
.preview-overview-card strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.preview-overview-card small {
  margin-bottom: 3px;
  color: #959aa2;
  font-size: 9px;
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.preview-overview-card strong {
  color: #353b45;
  font-size: 11px;
  font-weight: 750;
}
.preview-overview-card.is-success .preview-overview-card__icon {
  background: #eaf7ee;
  color: #31824d;
}
.preview-overview-card.is-warning .preview-overview-card__icon {
  background: #fff4dd;
  color: #9a6814;
}
.preview-overview-card.is-danger .preview-overview-card__icon {
  background: #feecec;
  color: #bd3f3f;
}
.preview-overview-card.is-planned .preview-overview-card__icon {
  background: #eaf2ff;
  color: #3169b4;
}
.preview-overview-card.is-audience .preview-overview-card__icon {
  background: #f0ebff;
  color: #7650c7;
}
.preview-overview-card.is-game .preview-overview-card__icon {
  background: #fce9f2;
  color: #c4407d;
}
.preview-overview-card.is-task .preview-overview-card__icon {
  background: #e8f7f1;
  color: #278064;
}

.preview-featured-media {
  position: relative;
  overflow: hidden;
  max-height: 260px;
  margin-bottom: 18px;
  border: 1px solid #e7e4df;
  border-radius: 16px;
  background: #eceef1;
}
.preview-featured-media[hidden] {
  display: none;
}
.preview-featured-media img {
  display: block;
  width: 100%;
  max-height: 260px;
  object-fit: cover;
}
.preview-featured-media::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 35%;
  background: linear-gradient(to top, rgba(15, 18, 24, 0.24), transparent);
  pointer-events: none;
}

@media (max-width: 620px) {
  [data-modal26=preview] .modal26-header {
    padding: 18px 18px 10px;
  }
  [data-modal26=preview] .modal26-subtitle-wrapper {
    padding: 0 18px 17px;
  }
  [data-modal26=preview] .modal26-body {
    padding: 16px 14px 20px;
  }
  [data-modal26=preview] .preview-modal-header {
    align-items: flex-start;
  }
  [data-modal26=preview] .preview-modal-icon-wrapper {
    width: 44px;
    height: 44px;
    border-radius: 12px;
    font-size: 18px;
  }
  [data-modal26=preview] .countdown-timer {
    gap: 5px;
  }
  [data-modal26=preview] .countdown-unit {
    padding: 8px 3px;
  }
  [data-modal26=preview] .countdown-value {
    font-size: 17px;
  }
  [data-modal26=preview] .preview-section-content {
    padding: 16px;
  }
  .preview-overview-grid {
    grid-template-columns: 1fr;
  }
}
.preview-video-content {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.preview-video-player {
  width: 100%;
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  background: #000;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
}
.preview-video-player:focus {
  outline: 2px solid #78562d;
  outline-offset: 2px;
}

.preview-video-caption {
  font-size: 13px;
  color: #2d3748;
  line-height: 1.6;
}
.preview-video-caption p {
  margin-bottom: 8px;
}
.preview-video-caption p:last-child {
  margin-bottom: 0;
}

.preview-game-btn {
  width: 100%;
  padding: 16px 24px;
  background: linear-gradient(135deg, #78562d 0%, #533b1f 100%);
  color: white;
  border: none;
  border-radius: 12px;
  font-size: 15px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.preview-game-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08);
  background: linear-gradient(135deg, #654926 0%, #402e18 100%);
}
.preview-game-btn:active {
  transform: translateY(0);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.preview-game-btn i {
  font-size: 20px;
  animation: gameIconPulse 2s ease-in-out infinite;
}
.preview-game-btn span {
  letter-spacing: 0.5px;
}

@keyframes gameIconPulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}
.countdown-section {
  background: linear-gradient(135deg, #fffaf2, #fff8eb);
  border: 2px solid #e8d6b8;
  border-radius: 16px;
  padding: 8px 24px;
  text-align: center;
  margin-bottom: 28px;
}
.countdown-section.countdown-past {
  background: linear-gradient(135deg, #f3f4f6, #e5e7eb);
  border-color: #d1d5db;
}
.countdown-section.countdown-past .countdown-label,
.countdown-section.countdown-past .countdown-value {
  color: #6b7280;
}

.countdown-label {
  font-size: 13px;
  color: #78562d;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.countdown-timer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

.countdown-unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 70px;
}

.countdown-value {
  font-size: 24px;
  font-weight: 800;
  color: #78562d;
  line-height: 1;
  margin-bottom: 6px;
}

.countdown-unit-label {
  font-size: 12px;
  color: #a0825c;
  font-weight: 600;
  text-transform: uppercase;
}

.drop-indicator {
  height: 4px;
  background: linear-gradient(135deg, #78562d, #a9804b);
  border-radius: 2px;
  margin: 8px 0;
  opacity: 0;
  transition: opacity 0.2s ease;
  box-shadow: 0 0 8px rgba(120, 86, 45, 0.5);
}
.drop-indicator.active {
  opacity: 1;
}

.empty-state {
  text-align: center;
  padding: 40px 20px;
  color: #718096;
  transition: all 0.3s ease;
}
.empty-state i {
  font-size: 20px;
  margin-bottom: 0px;
  opacity: 0.3;
}
.empty-state p {
  font-size: 14px;
  margin: 0;
}
.empty-state p:not(:last-child) {
  margin-bottom: 8px;
}
.empty-state .hint {
  font-size: 12px;
  color: #94a3b8;
  font-style: italic;
}
.empty-state.drag-over-empty {
  background: linear-gradient(135deg, #fffaf2, rgba(120, 86, 45, 0.05));
  border-radius: 12px;
  box-shadow: 0 0 0 2px #78562d, 0 4px 12px rgba(120, 86, 45, 0.2);
  transform: scale(1.02);
}
.empty-state.drag-over-empty i {
  color: #78562d;
  opacity: 0.6;
  transform: scale(1.2);
}
.empty-state.drag-over-empty p {
  color: #5d4221;
  font-weight: 600;
}

.phase-empty-state {
  text-align: center;
  padding: 60px 20px;
  background: linear-gradient(135deg, #f7fafc, #ffffff);
  border: 2px dashed #cbd5e0;
  border-radius: 16px;
  color: #718096;
  transition: all 0.3s ease;
}
.phase-empty-state:hover {
  border-color: #78562d;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
}
.phase-empty-state:hover i {
  color: #78562d;
  transform: scale(1.1);
}
.phase-empty-state i {
  font-size: 64px;
  margin-bottom: 16px;
  opacity: 0.4;
  color: #94a3b8;
  transition: all 0.3s ease;
}
.phase-empty-state p {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 8px 0;
  color: #2d3748;
}
.phase-empty-state .hint {
  font-size: 12px;
  color: #718096;
  margin: 0 0 24px 0;
}
.phase-empty-state .phase-empty-add-btn {
  margin-top: 16px;
  padding: 12px 28px;
  background: linear-gradient(135deg, #a9804b, #78562d);
  border: none;
  border-radius: 12px;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.2);
}
.phase-empty-state .phase-empty-add-btn i {
  font-size: 14px;
  margin-right: 8px;
  opacity: 1;
  color: #ffffff;
  transform: none;
}
.phase-empty-state .phase-empty-add-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(120, 86, 45, 0.3);
  background: linear-gradient(135deg, #78562d, #5d4221);
}
.phase-empty-state .phase-empty-add-btn:hover i {
  transform: scale(1.1);
}
.phase-empty-state .phase-empty-add-btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(120, 86, 45, 0.2);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInSlide {
  from {
    opacity: 0;
    transform: translateX(20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-10px);
  }
}
@media (max-width: 768px) {
  .days-grid {
    grid-template-columns: 1fr;
  }
  .type-selection-grid {
    grid-template-columns: 1fr;
  }
  .datetime-group {
    grid-template-columns: 1fr;
  }
  .modal {
    width: 95%;
    max-height: 90vh;
  }
  .modal-body {
    max-height: 400px;
  }
  .preview-modal {
    width: 95%;
  }
  .countdown-timer {
    gap: 12px;
  }
  .countdown-unit {
    min-width: 60px;
  }
  .countdown-value {
    font-size: 24px;
  }
}
@media (hover: none) {
  .item-actions,
  .day-actions {
    opacity: 1;
  }
}
#contentFormAlert .alert-type-selector,
#contentFormAlert .image-type-selector {
  display: flex;
  gap: 12px;
  margin-bottom: 20px;
}
#contentFormAlert .alert-type-selector .item,
#contentFormAlert .image-type-selector .item {
  flex: 1;
  padding: 20px 16px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #ffffff, #f7fafc);
  position: relative;
  overflow: hidden;
}
#contentFormAlert .alert-type-selector .item::before,
#contentFormAlert .image-type-selector .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(120, 86, 45, 0.1), transparent);
  transition: left 0.5s ease;
}
#contentFormAlert .alert-type-selector .item.selected,
#contentFormAlert .image-type-selector .item.selected {
  border-color: #78562d;
  background: linear-gradient(135deg, #fffaf2, #fff8eb);
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.1), 0 4px 12px rgba(120, 86, 45, 0.2);
  transform: scale(1.02);
}
#contentFormAlert .alert-type-selector .item.selected i,
#contentFormAlert .image-type-selector .item.selected i {
  color: #78562d;
  transform: scale(1.1);
}
#contentFormAlert .alert-type-selector .item.selected span,
#contentFormAlert .image-type-selector .item.selected span {
  color: #5d4221;
  font-weight: 700;
}
#contentFormAlert .alert-type-selector .item i,
#contentFormAlert .image-type-selector .item i {
  font-size: 32px;
  color: #a0825c;
  transition: all 0.3s ease;
}
#contentFormAlert .alert-type-selector .item span,
#contentFormAlert .image-type-selector .item span {
  font-size: 14px;
  font-weight: 600;
  color: #2d3748;
  transition: all 0.3s ease;
}
#contentFormAlert .alert-type-selector .item:hover,
#contentFormAlert .image-type-selector .item:hover {
  border-color: #a9804b;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
#contentFormAlert .alert-type-selector .item:hover::before,
#contentFormAlert .image-type-selector .item:hover::before {
  left: 100%;
}
#contentFormAlert .alert-type-selector .item:hover i,
#contentFormAlert .image-type-selector .item:hover i {
  color: #78562d;
  transform: scale(1.15) rotate(5deg);
}
#contentFormAlert .alert-type-selector .item:hover span,
#contentFormAlert .image-type-selector .item:hover span {
  color: #78562d;
}
#contentFormAlert .alert-type-selector .item:active,
#contentFormAlert .image-type-selector .item:active {
  transform: translateY(0) scale(0.98);
}
#contentFormAlert .recipient-selection-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
#contentFormAlert .recipient-search-bar {
  position: relative;
  display: flex;
  align-items: center;
}
#contentFormAlert .recipient-search-bar i {
  position: absolute;
  left: 12px;
  color: #718096;
  font-size: 12px;
  pointer-events: none;
  z-index: 1;
}
#contentFormAlert .recipient-search-bar .recipient-search-input {
  width: 100%;
  padding: 12px 12px 12px 32px;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  font-size: 14px;
  transition: all 0.2s ease;
  background: #ffffff;
}
#contentFormAlert .recipient-search-bar .recipient-search-input:focus {
  outline: none;
  border-color: #3b82f6;
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
#contentFormAlert .recipient-search-bar .recipient-search-input::placeholder {
  color: #94a3b8;
}
#contentFormAlert .recipient-actions {
  display: flex;
  gap: 8px;
}
#contentFormAlert .users-list-container {
  max-height: 280px;
  overflow-y: auto;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  background: #f7fafc;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
#contentFormAlert .users-list-container::-webkit-scrollbar {
  width: 8px;
}
#contentFormAlert .users-list-container::-webkit-scrollbar-track {
  background: #edf2f7;
  border-radius: 8px;
}
#contentFormAlert .users-list-container::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 8px;
}
#contentFormAlert .users-list-container::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}
#contentFormAlert .user-checkbox-item {
  padding: 4px 8px;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #ffffff;
  border: 1px solid #d6d4d1;
}
#contentFormAlert .user-checkbox-item:hover {
  background: #fff9ed;
  border-color: #ba9653;
  transform: translateX(2px);
}
#contentFormAlert .user-checkbox-item.selected {
  background: #fff9ed;
  border-color: #ba9653;
}
#contentFormAlert .user-checkbox-item.hidden {
  display: none;
}
#contentFormAlert .user-checkbox-item label {
  margin: 0;
  width: 100%;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  color: #2d3748;
}
#contentFormAlert .user-checkbox-item label input[type=checkbox] {
  width: 18px;
  height: 18px;
  cursor: pointer;
  border-radius: 6px;
  border: 2px solid #cbd5e0;
  transition: all 0.2s ease;
}
#contentFormAlert .user-checkbox-item label input[type=checkbox]:checked {
  background-color: #ba9654;
  border-color: #ba9654;
}
#contentFormAlert .user-checkbox-item label span {
  flex: 1;
  font-weight: 500;
}
#contentFormAlert .users-list-empty {
  padding: 24px;
  text-align: center;
  color: #718096;
  font-size: 12px;
}
#contentFormAlert .ck-editor {
  margin-bottom: 12px;
}
#contentFormAlert .ck.ck-editor__main > .ck-editor__editable {
  min-height: 200px;
  max-height: 400px;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px;
}
#contentFormAlert .ck.ck-editor__main > .ck-editor__editable:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
#contentFormAlert .ck.ck-toolbar {
  border: 2px solid #e2e8f0;
  border-bottom: none;
  border-radius: 10px 10px 0 0;
  background: #f7fafc;
}
#contentFormAlert .avatar-upload {
  position: relative;
  margin-top: 12px;
}
#contentFormAlert .avatar-upload .avatar-preview {
  width: 220px;
  height: 220px;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #f7fafc, #ffffff);
  border: 2px dashed #cbd5e0;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-size: cover;
  background-position: center;
}
#contentFormAlert .avatar-upload .avatar-preview:hover {
  border-color: #78562d;
  border-style: solid;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  transform: scale(1.02);
}
#contentFormAlert .avatar-upload .avatar-preview:hover span {
  color: #78562d;
  font-weight: 600;
}
#contentFormAlert .avatar-upload .avatar-preview span {
  transition: all 0.3s ease;
  font-size: 14px;
  color: #718096;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
#contentFormAlert .avatar-upload .avatar-preview span::before {
  content: "\f093";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 32px;
  color: #a0825c;
}
#contentFormAlert .avatar-upload .avatar-preview[style*=background-image] {
  border-style: solid;
  border-color: #a9804b;
}
#contentFormAlert .avatar-upload .avatar-preview[style*=background-image] span {
  display: none;
}
#contentFormAlert .avatar-upload .avatar-preview[style*=background-image]::after {
  content: "Click to change";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(26, 32, 44, 0.7);
  color: #ffffff;
  padding: 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  opacity: 0;
  transition: opacity 0.3s ease;
}
#contentFormAlert .avatar-upload .avatar-preview[style*=background-image]:hover::after {
  opacity: 1;
}
#contentFormAlert #gifSearchSection .form-input {
  padding: 12px 16px 12px 44px;
  border: 2px solid #e2e8f0;
  border-radius: 12px;
  font-size: 14px;
  transition: all 0.3s ease;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" fill="%23a9804b"><path d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>');
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 18px;
}
#contentFormAlert #gifSearchSection .form-input:focus {
  border-color: #78562d;
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.1);
  outline: none;
}
#contentFormAlert .gif-results {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 12px;
  background: linear-gradient(135deg, #f7fafc, #ffffff);
  padding: 16px;
  border-radius: 12px;
  border: 1px solid #e2e8f0;
  margin-top: 12px;
  max-height: 350px;
  overflow-y: auto;
}
#contentFormAlert .gif-results::-webkit-scrollbar {
  width: 8px;
}
#contentFormAlert .gif-results::-webkit-scrollbar-track {
  background: #edf2f7;
  border-radius: 8px;
}
#contentFormAlert .gif-results::-webkit-scrollbar-thumb {
  background: #a0825c;
  border-radius: 8px;
}
#contentFormAlert .gif-results::-webkit-scrollbar-thumb:hover {
  background: #78562d;
}
#contentFormAlert .gif-results:empty::before {
  content: "Search for GIFs above...";
  display: block;
  text-align: center;
  color: #718096;
  font-size: 14px;
  padding: 40px 20px;
  font-style: italic;
}
#contentFormAlert .gif-result {
  position: relative;
  cursor: pointer;
  border-radius: 10px;
  overflow: hidden;
  transition: all 0.3s ease;
  border: 2px solid transparent;
}
#contentFormAlert .gif-result:hover {
  transform: scale(1.05);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border-color: #78562d;
  z-index: 1;
}
#contentFormAlert .gif-result.selected {
  border-color: #78562d;
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.2), 0 8px 24px rgba(0, 0, 0, 0.08);
}
#contentFormAlert .gif-result.selected::after {
  content: "\f00c";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  position: absolute;
  top: 8px;
  right: 8px;
  background: #78562d;
  color: #ffffff;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
#contentFormAlert .gif-result img {
  width: 100%;
  height: 150px;
  object-fit: cover;
  border-radius: 10px;
  display: block;
}

.wedgame-creation-switcher {
  display: flex;
  gap: 15px;
  margin-bottom: 24px;
  padding: 0;
  background: transparent;
  border-radius: 8px;
}
.wedgame-creation-switcher .switcher-item {
  flex: 1;
  padding: 24px 20px;
  border: 2px solid #e0dcd6;
  border-radius: 10px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  background: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.wedgame-creation-switcher .switcher-item.selected {
  border-color: #b08b46;
  background: linear-gradient(135deg, #e4bf7b 0%, #d4a966 100%);
  box-shadow: 0 4px 12px rgba(176, 139, 70, 0.25);
  transform: translateY(-2px);
}
.wedgame-creation-switcher .switcher-item.selected i {
  color: white;
}
.wedgame-creation-switcher .switcher-item.selected span {
  color: white;
  font-weight: 600;
}
.wedgame-creation-switcher .switcher-item i {
  font-size: 36px;
  color: #b08b46;
  transition: all 0.25s;
}
.wedgame-creation-switcher .switcher-item span {
  font-size: 15px;
  font-weight: 500;
  color: #333;
  transition: all 0.25s;
}
.wedgame-creation-switcher .switcher-item:hover:not(.selected) {
  border-color: #b08b46;
  background: #fffbf5;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(176, 139, 70, 0.15);
}

#wedgameManualSection .form-group {
  margin-bottom: 24px;
}
#wedgameManualSection .form-group .form-label {
  font-weight: 600;
  margin-bottom: 8px;
  color: #333;
  font-size: 15px;
}
#wedgameManualSection .form-group .form-hint {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #666;
  font-style: italic;
}
#wedgameManualSection .form-group .form-input {
  font-size: 15px;
  padding: 12px 16px;
}
#wedgameManualSection #imageUploadSection, #wedgameManualSection .edit-yesgame-form {
  animation: fadeInSlide 0.3s ease-out;
}
#wedgameManualSection #imageUploadSection .form-label, #wedgameManualSection .edit-yesgame-form .form-label {
  font-size: 15px;
  color: #2d3748;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
#wedgameManualSection #imageUploadSection .form-label::before, #wedgameManualSection .edit-yesgame-form .form-label::before {
  content: "\f03e";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #78562d;
}
#wedgameManualSection #gifSearchSection {
  animation: fadeInSlide 0.3s ease-out;
}
#wedgameManualSection #gifSearchSection .form-label {
  font-size: 15px;
  color: #2d3748;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
#wedgameManualSection #gifSearchSection .form-label::before {
  content: "\f008";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: #78562d;
}

#wedgameTemplateSection .template-selection-header .template-description {
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  padding: 16px 20px;
  border-radius: 10px;
  border-left: 4px solid #b08b46;
  margin: 0;
  font-size: 14px;
  color: #555;
  display: flex;
  align-items: center;
  gap: 12px;
}
#wedgameTemplateSection .template-selection-header .template-description i {
  color: #b08b46;
  font-size: 18px;
  flex-shrink: 0;
}

.search-input-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.search-input-wrapper i.fa-search {
  position: absolute;
  left: 14px;
  color: #94a3b8;
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
}
.search-input-wrapper .search-input,
.search-input-wrapper .template-search-input {
  padding-left: 40px;
  padding-right: 40px;
  width: 100%;
  padding: 12px 40px 12px 40px;
  border: 2px solid #e2e8f0;
  border-radius: 10px;
  font-size: 14px;
  transition: all 0.3s ease;
  background: #ffffff;
}
.search-input-wrapper .search-input:focus,
.search-input-wrapper .template-search-input:focus {
  outline: none;
  border-color: #78562d;
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.1);
}
.search-input-wrapper .search-input:focus ~ i.fa-search,
.search-input-wrapper .template-search-input:focus ~ i.fa-search {
  color: #78562d;
}
.search-input-wrapper .clear-search-btn {
  position: absolute;
  right: 8px;
  width: 28px;
  height: 28px;
  border: none;
  background: #e2e8f0;
  border-radius: 50%;
  color: #64748b;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  z-index: 1;
}
.search-input-wrapper .clear-search-btn:hover {
  background: #cbd5e0;
  color: #1a202c;
  transform: scale(1.1);
}
.search-input-wrapper .clear-search-btn:active {
  transform: scale(0.95);
}
.search-input-wrapper .clear-search-btn i {
  font-size: 12px;
}

.category-filter-pills {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 0;
}

.filter-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: #ffffff;
  border: 2px solid #e2e8f0;
  border-radius: 24px;
  font-size: 13px;
  font-weight: 600;
  color: #64748b;
  cursor: pointer;
  transition: all 0.3s ease;
  user-select: none;
}
.filter-pill i {
  font-size: 13px;
  transition: all 0.3s ease;
}
.filter-pill:hover {
  border-color: #a9804b;
  background: linear-gradient(135deg, #ffffff, #fffaf2);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.filter-pill:hover i {
  transform: scale(1.1);
  color: #78562d;
}
.filter-pill.active {
  background: linear-gradient(135deg, #78562d, #a9804b);
  border-color: #78562d;
  color: #ffffff;
  box-shadow: 0 4px 12px rgba(120, 86, 45, 0.2);
}
.filter-pill.active i {
  color: #ffffff;
  animation: filterPillPulse 0.5s ease-out;
}
.filter-pill:active {
  transform: translateY(0);
}

@keyframes filterPillPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
  }
}
.templates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 20px;
  max-height: 520px;
  overflow-y: auto;
  padding: 10px 5px;
}
.templates-grid::-webkit-scrollbar {
  width: 8px;
}
.templates-grid::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}
.templates-grid::-webkit-scrollbar-thumb {
  background: #b08b46;
  border-radius: 4px;
}
.templates-grid::-webkit-scrollbar-thumb:hover {
  background: #8f6f38;
}
.templates-grid .template-card {
  position: relative;
  border: 2px solid #e0dcd6;
  border-radius: 12px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: white;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.templates-grid .template-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  border-color: #b08b46;
}
.templates-grid .template-card:hover .template-actions {
  opacity: 1;
}
.templates-grid .template-card.selected {
  border-color: #b08b46;
  box-shadow: 0 6px 20px rgba(176, 139, 70, 0.3);
}
.templates-grid .template-card.selected .template-selected-icon {
  display: flex;
}
.templates-grid .template-card .template-selected-icon {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 34px;
  height: 34px;
  background: linear-gradient(135deg, #b08b46 0%, #8f6f38 100%);
  border-radius: 50%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 3;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.templates-grid .template-card .template-selected-icon i {
  color: white;
  font-size: 16px;
}
.templates-grid .template-card .template-actions {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  gap: 8px;
  z-index: 3;
  opacity: 0;
  transition: opacity 0.25s;
}
.templates-grid .template-card .template-actions .template-action-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: none;
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  backdrop-filter: blur(4px);
}
.templates-grid .template-card .template-actions .template-action-btn i {
  font-size: 14px;
  color: #b08b46;
}
.templates-grid .template-card .template-actions .template-action-btn:hover {
  background: #b08b46;
  transform: scale(1.1);
}
.templates-grid .template-card .template-actions .template-action-btn:hover i {
  color: white;
}
.templates-grid .template-card .template-actions .template-action-btn:active {
  transform: scale(0.95);
}
.templates-grid .template-card .template-image {
  width: 100%;
  height: 160px;
  overflow: hidden;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  position: relative;
}
.templates-grid .template-card .template-image::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.05) 100%);
}
.templates-grid .template-card .template-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.templates-grid .template-card:hover .template-image img {
  transform: scale(1.05);
}
.templates-grid .template-card .template-info {
  padding: 16px;
}
.templates-grid .template-card .template-info .template-name {
  font-size: 15px;
  font-weight: 600;
  margin: 0 0 10px 0;
  color: #222;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 2;
}
.templates-grid .template-card .template-info .template-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.templates-grid .template-card .template-info .template-categories .category-badge {
  font-size: 11px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #f5e6d3 0%, #e4bf7b 100%);
  color: #5c4a2a;
  border-radius: 12px;
  font-weight: 600;
  letter-spacing: 0.3px;
}
.templates-grid .no-templates,
.templates-grid .error-message {
  grid-column: 1/-1;
  text-align: center;
  padding: 60px 20px;
  color: #999;
  font-size: 15px;
  font-weight: 500;
}
.templates-grid .error-message {
  color: #dc3545;
}

.no-filter-results {
  text-align: center;
  padding: 60px 20px;
  color: #718096;
  grid-column: 1/-1;
}
.no-filter-results i {
  font-size: 48px;
  color: #cbd5e0;
  margin-bottom: 16px;
}
.no-filter-results p {
  font-size: 16px;
  font-weight: 600;
  color: #2d3748;
  margin: 12px 0 8px 0;
}
.no-filter-results small {
  font-size: 13px;
  color: #718096;
}

.modal2-body .form-select {
  padding: 0px 16px;
}

.page-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
}
.page-header .page-header-left {
  flex: 1;
  min-width: 0;
}
.page-header .page-header-right {
  display: flex;
  align-items: center;
}

.timeline-visibility-toggle {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  background: linear-gradient(135deg, #ffffff, #f7fafc);
  border: 2px solid #e2e8f0;
  border-radius: 100px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  transition: all 0.3s ease;
}
.timeline-visibility-toggle:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border-color: #a9804b;
}

.toggle-label-wrapper {
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.3s ease;
}
.toggle-label-wrapper .toggle-icon {
  font-size: 15px;
  transition: all 0.3s ease;
}
.toggle-label-wrapper .toggle-label {
  font-size: 13px;
  font-weight: 600;
  transition: all 0.3s ease;
  white-space: nowrap;
}

.toggle-switch {
  position: relative;
  display: inline-block;
  width: 56px;
  height: 30px;
  cursor: pointer;
}
.toggle-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}
.toggle-switch input:checked + .toggle-slider {
  background: linear-gradient(135deg, #78562d, #a9804b);
}
.toggle-switch input:checked + .toggle-slider::before {
  transform: translateX(26px);
  background: #ffffff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}
.toggle-switch input:focus + .toggle-slider {
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.2);
}

.toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #cbd5e0, #94a3b8);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 100px;
}
.toggle-slider::before {
  position: absolute;
  content: "";
  height: 24px;
  width: 24px;
  left: 3px;
  bottom: 3px;
  background: #ffffff;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 50%;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.15);
}
.toggle-slider:hover {
  opacity: 0.9;
}

@keyframes toggleBounce {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
}
@media (max-width: 768px) {
  .timeline-visibility-toggle {
    padding: 8px 16px;
    gap: 8px;
  }
  .timeline-visibility-toggle .toggle-label {
    font-size: 12px;
  }
  .toggle-switch {
    width: 48px;
    height: 26px;
  }
  .toggle-switch input:checked + .toggle-slider::before {
    transform: translateX(22px);
  }
  .toggle-switch .toggle-slider::before {
    height: 20px;
    width: 20px;
  }
}
.image-type-selector {
  display: flex;
  gap: 14px;
}
.image-type-selector .item {
  flex: 1;
  padding: 22px 18px;
  border: 2px solid #e2e8f0;
  border-radius: 16px;
  text-align: center;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #ffffff, #f7fafc);
  position: relative;
  overflow: hidden;
}
.image-type-selector .item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(120, 86, 45, 0.1), transparent);
  transition: left 0.5s ease;
}
.image-type-selector .item.selected {
  border-color: #78562d;
  background: linear-gradient(135deg, #fffaf2, #fff8eb);
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.1), 0 4px 12px rgba(120, 86, 45, 0.2);
  transform: scale(1.02);
}
.image-type-selector .item.selected i {
  color: #78562d;
  transform: scale(1.1);
}
.image-type-selector .item.selected span {
  color: #5d4221;
  font-weight: 700;
}
.image-type-selector .item i {
  font-size: 36px;
  color: #a0825c;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.image-type-selector .item span {
  font-size: 13px;
  font-weight: 600;
  color: #2d3748;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.image-type-selector .item:hover {
  border-color: #a9804b;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}
.image-type-selector .item:hover::before {
  left: 100%;
}
.image-type-selector .item:hover i {
  color: #78562d;
  transform: scale(1.15) rotate(5deg);
}
.image-type-selector .item:hover span {
  color: #78562d;
}
.image-type-selector .item:active {
  transform: scale(0.98);
}

.modal2-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: none;
  opacity: 0;
  transition: opacity 0.3s ease;
  animation: fadeIn 0.2s ease;
}
.modal2-overlay.active {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 1;
}

.modal2 {
  position: relative;
  transform: scale(0.95);
  width: 90%;
  max-width: 650px;
  background: #ffffff;
  border-radius: 24px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(120, 86, 45, 0.1);
  z-index: 1;
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  overflow: hidden;
  max-height: calc(100svh - 24px);
  flex-direction: column;
}
.modal2.active {
  display: flex;
  opacity: 1;
  transform: scale(1);
}
.modal2.large {
  max-width: 900px;
}
.modal2.small {
  max-width: 450px;
}
.modal2 .form-label {
  margin-top: 0px;
}

.modal2-header {
  padding: 24px;
  border-bottom: 2px solid #edf2f7;
  position: relative;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  flex-shrink: 0;
}

.modal2-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 44px;
  height: 44px;
  border: none;
  background: none;
  cursor: pointer;
  padding: 0;
  background: #ffffff;
  border: 2px solid #e2e8f0;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #718096;
  font-size: 16px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
.modal2-close:hover {
  background: #fee2e2;
  color: #ef4444;
  border-color: #ef4444;
  transform: rotate(90deg) scale(1.05);
  box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
}

.modal2-title {
  font-size: 28px;
  font-weight: 700;
  color: #1a202c;
  margin-bottom: 8px;
  line-height: 1.2;
  padding-right: 48px;
  margin-top: 0px;
}

.modal2-subtitle {
  font-size: 14px;
  color: #64748b;
  line-height: 1.5;
}

.modal2-body {
  padding: 32px 24px;
  flex: 1;
  overflow-y: auto;
  scrollbar-width: none; /* Firefox */
  -ms-overflow-style: none; /* IE and Edge */
  /* Hide scrollbar for Chrome, Safari and Opera */
}
.modal2-body::-webkit-scrollbar {
  display: none;
}

.modal2-step {
  display: none;
  animation: fadeInSlide 0.4s ease-out;
}
.modal2-step.active {
  display: block;
}

.modal2-footer {
  padding: 24px;
  border-top: 2px solid #edf2f7;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  background: #f7fafc;
  flex-shrink: 0;
}

.modal26-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 10000;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(4px);
  opacity: 0;
  transition: opacity 0.3s ease;
  padding: 20px;
}
.modal26-container.active {
  display: flex;
  opacity: 1;
}
.modal26-container.active .modal26-dialog {
  transform: scale(1) translateY(0);
  opacity: 1;
}

.modal26-dialog {
  position: relative;
  background: white;
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  width: 100%;
  max-width: 600px;
  max-height: 90vh;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: scale(0.9) translateY(-20px);
  opacity: 0;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.modal26-dialog.size-sm {
  max-width: 400px;
}
.modal26-dialog.size-md {
  max-width: 600px;
}
.modal26-dialog.size-lg {
  max-width: 800px;
}
.modal26-dialog.size-xl {
  max-width: 1000px;
}

.modal26-header {
  padding: 24px 28px;
  border-bottom: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-shrink: 0;
  background: linear-gradient(135deg, #fffaf2, white);
}

.modal26-title {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #1a202c;
  line-height: 1.2;
}

.modal26-subtitle-wrapper {
  padding: 0 28px 16px;
  border-bottom: 1px solid #e2e8f0;
  flex-shrink: 0;
}

.modal26-subtitle {
  margin: 0;
  font-size: 12px;
  color: #64748b;
  line-height: 1.5;
}

.modal26-close {
  background: white;
  border: 2px solid #e2e8f0;
  font-size: 28px;
  line-height: 1;
  color: #718096;
  cursor: pointer;
  padding: 0;
  width: 36px;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  transition: all 0.2s ease;
  flex-shrink: 0;
}
.modal26-close:hover {
  background: #fee2e2;
  color: #ef4444;
  border-color: #ef4444;
  transform: rotate(90deg) scale(1.05);
}
.modal26-close:focus {
  outline: 2px solid #78562d;
  outline-offset: 2px;
}

.modal26-body {
  padding: 28px;
  overflow-y: auto;
  flex: 1;
  scrollbar-width: thin;
  scrollbar-color: #cbd5e0 transparent;
}
.modal26-body::-webkit-scrollbar {
  width: 8px;
}
.modal26-body::-webkit-scrollbar-track {
  background: transparent;
}
.modal26-body::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 4px;
}
.modal26-body::-webkit-scrollbar-thumb:hover {
  background: #94a3b8;
}

.modal26-footer {
  padding: 20px 28px;
  border-top: 1px solid #e2e8f0;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-shrink: 0;
  background: #f7fafc;
}

.modal26-form .form-group {
  margin-bottom: 20px;
}
.modal26-form .form-group:last-child {
  margin-bottom: 0;
}
.modal26-form label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
  color: #2d3748;
  font-size: 12px;
}
.modal26-form .form-control {
  width: 100%;
  padding: 12px 16px;
  border: 2px solid #e2e8f0;
  border-radius: 8px;
  font-size: 13px;
  transition: all 0.2s ease;
}
.modal26-form .form-control:focus {
  outline: none;
  border-color: #78562d;
  box-shadow: 0 0 0 3px rgba(120, 86, 45, 0.1);
}
.modal26-form .form-control::placeholder {
  color: #94a3b8;
}
.modal26-form textarea.form-control {
  resize: vertical;
  min-height: 100px;
}
.modal26-form select.form-control {
  cursor: pointer;
}

.modal26-container:nth-of-type(1) {
  z-index: 10000;
}

.modal26-container:nth-of-type(2) {
  z-index: 10001;
}

.modal26-container:nth-of-type(3) {
  z-index: 10002;
}

.modal26-container:nth-of-type(4) {
  z-index: 10003;
}

.modal26-container:nth-of-type(5) {
  z-index: 10004;
}

@media (max-width: 768px) {
  .modal26-container {
    padding: 12px;
  }
  .modal26-dialog {
    max-width: 100%;
    max-height: 95vh;
    border-radius: 12px;
  }
  .modal26-dialog.size-lg, .modal26-dialog.size-xl {
    max-width: 100%;
  }
  .modal26-header {
    padding: 20px;
  }
  .modal26-title {
    font-size: 18px;
  }
  .modal26-body {
    padding: 20px;
  }
  .modal26-footer {
    padding: 16px 20px;
    flex-wrap: wrap;
  }
  .modal26-footer .btn {
    flex: 1;
    min-width: 120px;
  }
}
.welcome-area strong {
  font-family: "Libre Baskerville", serif;
  font-size: 36px;
  line-height: 42px;
  text-align: center;
  margin: 0;
  padding: 0;
}

.empty-state-memories {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 80px 40px;
  text-align: center;
  min-height: 400px;
  background: white;
  border-radius: 10px;
  border: 2px dashed #f3eddc;
}
.empty-state-memories .empty-state-icon {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 30px;
  box-shadow: 0 10px 30px rgba(212, 172, 109, 0.3);
}
.empty-state-memories .empty-state-icon i {
  font-size: 48px;
  color: white;
}
.empty-state-memories .empty-state-title {
  font-family: "Libre Baskerville", serif;
  font-size: 28px;
  font-weight: 600;
  color: #a37c48;
  margin-bottom: 15px;
  margin-top: 0;
}
.empty-state-memories .empty-state-description {
  font-size: 16px;
  color: #889ba0;
  line-height: 1.6;
  max-width: 500px;
  margin: 0 auto 30px;
}
.empty-state-memories .btn {
  padding: 12px 30px;
  font-size: 16px;
  font-weight: 500;
  border-radius: 25px;
  transition: all 0.3s ease;
}
.empty-state-memories .btn i {
  margin-right: 8px;
}
.empty-state-memories .btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(212, 172, 109, 0.4);
}
@media (max-width: 768px) {
  .empty-state-memories {
    padding: 60px 20px;
    min-height: 350px;
  }
  .empty-state-memories .empty-state-icon {
    width: 100px;
    height: 100px;
  }
  .empty-state-memories .empty-state-icon i {
    font-size: 40px;
  }
  .empty-state-memories .empty-state-title {
    font-size: 24px;
  }
  .empty-state-memories .empty-state-description {
    font-size: 14px;
  }
}

.yesgame-templates-section .templates-section-header {
  margin-bottom: 30px;
  text-align: center;
}
.yesgame-templates-section .templates-section-header .section-title {
  font-family: "Libre Baskerville", serif;
  font-size: 28px;
  font-weight: 600;
  color: #a37c48;
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.yesgame-templates-section .templates-section-header .section-title i {
  color: #d4ac6d;
}
.yesgame-templates-section .templates-section-header .section-description {
  font-size: 15px;
  color: #889ba0;
  margin: 0;
}
.yesgame-templates-section .templates-controls {
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: 30px;
}
.yesgame-templates-section .templates-controls .search-wrapper {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 0 auto;
}
.yesgame-templates-section .templates-controls .search-wrapper i.fa-search {
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  color: #889ba0;
  font-size: 14px;
}
.yesgame-templates-section .templates-controls .search-wrapper .template-search-input {
  width: 100%;
  padding: 12px 45px 12px 45px;
  border: 1px solid #ede3c9;
  border-radius: 25px;
  font-size: 14px;
  transition: all 0.3s ease;
}
.yesgame-templates-section .templates-controls .search-wrapper .template-search-input:focus {
  outline: none;
  border-color: #d4ac6d;
  box-shadow: 0 0 0 3px rgba(212, 172, 109, 0.1);
}
.yesgame-templates-section .templates-controls .search-wrapper .clear-search-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: #889ba0;
  transition: all 0.2s ease;
}
.yesgame-templates-section .templates-controls .search-wrapper .clear-search-btn:hover {
  background: rgba(136, 155, 160, 0.1);
  color: #a37c48;
}
.yesgame-templates-section .templates-controls .category-filter-wrapper .category-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
}
.yesgame-templates-section .templates-controls .category-filter-wrapper .category-filter-pills .filter-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  border-radius: 20px;
  background: white;
  border: 1px solid #ede3c9;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  color: #7d5c2f;
}
.yesgame-templates-section .templates-controls .category-filter-wrapper .category-filter-pills .filter-pill i {
  font-size: 12px;
}
.yesgame-templates-section .templates-controls .category-filter-wrapper .category-filter-pills .filter-pill:hover {
  border-color: #d4ac6d;
  background: rgba(212, 172, 109, 0.05);
}
.yesgame-templates-section .templates-controls .category-filter-wrapper .category-filter-pills .filter-pill.active {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  border-color: #d4ac6d;
  color: white;
}
.yesgame-templates-section .yesgame-templates-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 24px;
  min-height: 200px;
}
.yesgame-templates-section .yesgame-templates-grid .templates-loading {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}
.yesgame-templates-section .yesgame-templates-grid .templates-loading .spinner {
  width: 40px;
  height: 40px;
  border: 4px solid #f3f3f3;
  border-top: 4px solid #d4ac6d;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 16px;
}
.yesgame-templates-section .yesgame-templates-grid .templates-loading p {
  color: #889ba0;
  font-size: 14px;
  margin: 0;
}
.yesgame-templates-section .yesgame-templates-grid .empty-state-templates,
.yesgame-templates-section .yesgame-templates-grid .error-state-templates,
.yesgame-templates-section .yesgame-templates-grid .no-filter-results {
  grid-column: 1/-1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  text-align: center;
}
.yesgame-templates-section .yesgame-templates-grid .empty-state-templates i,
.yesgame-templates-section .yesgame-templates-grid .error-state-templates i,
.yesgame-templates-section .yesgame-templates-grid .no-filter-results i {
  font-size: 48px;
  color: #889ba0;
  margin-bottom: 16px;
  opacity: 0.5;
}
.yesgame-templates-section .yesgame-templates-grid .empty-state-templates p,
.yesgame-templates-section .yesgame-templates-grid .error-state-templates p,
.yesgame-templates-section .yesgame-templates-grid .no-filter-results p {
  color: #889ba0;
  font-size: 15px;
  margin: 0;
}
.yesgame-templates-section .yesgame-templates-grid .error-state-templates i {
  color: #dc3545;
}
.yesgame-templates-section .yesgame-template-card {
  background: white;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}
.yesgame-templates-section .yesgame-template-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.yesgame-templates-section .yesgame-template-card:hover .template-image .template-overlay {
  opacity: 1;
  visibility: visible;
}
.yesgame-templates-section .yesgame-template-card .template-image {
  position: relative;
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #f5f5f5;
}
.yesgame-templates-section .yesgame-template-card .template-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 2;
  pointer-events: none;
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .template-overlay-buttons {
  display: flex;
  flex-direction: column;
  gap: 10px;
  pointer-events: auto;
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .btn-template-action {
  padding: 12px 24px;
  color: white;
  border: none;
  border-radius: 25px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
  white-space: nowrap;
  min-width: 160px;
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .btn-template-action i {
  font-size: 12px;
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .btn-template-action.btn-add {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .btn-template-action.btn-add:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 12px rgba(212, 172, 109, 0.5);
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .btn-template-action.btn-preview {
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.yesgame-templates-section .yesgame-template-card .template-image .template-overlay .btn-template-action.btn-preview:hover {
  background: rgba(255, 255, 255, 0.3);
  transform: scale(1.05);
}
.yesgame-templates-section .yesgame-template-card:hover .template-image img {
  transform: scale(1.05);
}
.yesgame-templates-section .yesgame-template-card .template-info {
  padding: 16px;
}
.yesgame-templates-section .yesgame-template-card .template-info .template-name {
  font-size: 16px;
  font-weight: 600;
  color: #a37c48;
  margin: 0 0 10px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.yesgame-templates-section .yesgame-template-card .template-info .template-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.yesgame-templates-section .yesgame-template-card .template-info .template-categories .category-badge {
  display: inline-block;
  padding: 4px 10px;
  background: rgba(212, 172, 109, 0.1);
  color: #d4ac6d;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 500;
}

.my-yesgames-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 16px;
}
.my-yesgames-header .section-title {
  font-family: "Libre Baskerville", serif;
  font-size: 24px;
  font-weight: 600;
  color: white;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.my-yesgames-header .section-title i {
  font-size: 22px;
}
.my-yesgames-header .btn {
  display: flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
}
@media (max-width: 576px) {
  .my-yesgames-header {
    flex-direction: column;
    align-items: stretch;
  }
  .my-yesgames-header .btn {
    width: 100%;
    justify-content: center;
  }
}

.template-quick-info {
  text-align: center;
  margin-bottom: 24px;
}
.template-quick-info .template-preview-image {
  width: 100%;
  max-width: 300px;
  height: 180px;
  margin: 0 auto 16px;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.template-quick-info .template-preview-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.template-quick-info h4 {
  font-size: 18px;
  font-weight: 600;
  color: #a37c48;
  margin: 0;
}

.datetime-group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.datetime-group > div .form-input {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ede3c9;
  border-radius: 8px;
  font-size: 14px;
}
.datetime-group > div .form-input:focus {
  outline: none;
  border-color: #d4ac6d;
  box-shadow: 0 0 0 3px rgba(212, 172, 109, 0.1);
}
.datetime-group > div .form-hint {
  font-size: 12px;
  color: #889ba0;
  margin: 6px 0 0;
}

.publish-options {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.publish-options .publish-option {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 2px solid #ede3c9;
  border-radius: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
}
.publish-options .publish-option i {
  font-size: 24px;
  color: #889ba0;
  min-width: 24px;
}
.publish-options .publish-option div {
  flex: 1;
  text-align: left;
}
.publish-options .publish-option div strong {
  display: block;
  font-size: 15px;
  color: #a37c48;
  margin-bottom: 4px;
}
.publish-options .publish-option div small {
  display: block;
  font-size: 13px;
  color: #889ba0;
}
.publish-options .publish-option:hover {
  border-color: #d4ac6d;
  background: rgba(212, 172, 109, 0.02);
}
.publish-options .publish-option.active {
  border-color: #d4ac6d;
  background: rgba(212, 172, 109, 0.05);
}
.publish-options .publish-option.active i {
  color: #d4ac6d;
}
.publish-options .publish-option.active div strong {
  color: #d4ac6d;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@media (max-width: 768px) {
  .yesgame-templates-section .templates-section-header .section-title {
    font-size: 24px;
    flex-direction: column;
  }
  .yesgame-templates-section .templates-section-header .section-description {
    font-size: 14px;
  }
  .yesgame-templates-section .yesgame-templates-grid {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 16px;
  }
  #addTemplateYesGame .datetime-group {
    grid-template-columns: 1fr;
  }
}
#widget-guests-list .extra-filters {
  display: block;
  width: 100%;
  margin-top: 14px;
  padding: 14px 16px 16px;
  border: 1px solid #ebe8e2;
  border-radius: 14px;
  background: #faf9f7;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#widget-guests-list .extra-filters.has-active-filters {
  border-color: rgba(212, 172, 109, 0.38);
  box-shadow: 0 5px 16px rgba(31, 45, 61, 0.05);
}
#widget-guests-list .extra-filters.has-active-filters .extra-filters__reset {
  visibility: visible;
  opacity: 1;
  transform: translateX(0);
}
#widget-guests-list .extra-filters__header, #widget-guests-list .extra-filters__title, #widget-guests-list .extra-filters__reset {
  display: flex;
  align-items: center;
}
#widget-guests-list .extra-filters__header {
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  margin-bottom: 12px;
}
#widget-guests-list .extra-filters__title {
  gap: 9px;
  color: #303744;
  font-weight: 700;
  line-height: 1.2;
}
#widget-guests-list .extra-filters__title small {
  display: block;
  margin-top: 3px;
  color: #8b94a5;
  font-size: 12px;
  font-weight: 400;
}
#widget-guests-list .extra-filters__icon {
  display: inline-grid;
  flex: 0 0 32px;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(212, 172, 109, 0.1);
  color: #d4ac6d;
}
#widget-guests-list .extra-filters__reset {
  gap: 7px;
  padding: 7px 10px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #d4ac6d;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  visibility: hidden;
  opacity: 0;
  transform: translateX(5px);
  transition: color 0.18s ease, background-color 0.18s ease, opacity 0.18s ease, transform 0.18s ease;
}
#widget-guests-list .extra-filters__reset:hover:not(:disabled) {
  background: rgba(212, 172, 109, 0.1);
}
#widget-guests-list .extra-filters__reset:disabled {
  cursor: default;
}
#widget-guests-list .extra-filters__active-count {
  display: inline-grid;
  place-items: center;
  min-width: 21px;
  height: 21px;
  padding: 0 6px;
  border-radius: 20px;
  background: #d4ac6d;
  color: #fff;
  font-size: 10px;
}
#widget-guests-list .extra-filters__options {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  gap: 7px;
}
#widget-guests-list .extra-filters .guest-filter-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  width: auto;
  min-width: 0;
  min-height: 34px;
  max-height: 34px;
  margin: 0;
  padding: 5px 11px 5px 7px;
  border: 1px solid #e0ddd7;
  border-radius: 10px;
  background: #fff;
  color: #515966;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  user-select: none;
  transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease, transform 0.18s ease;
}
#widget-guests-list .extra-filters .guest-filter-chip > input[type=checkbox] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
#widget-guests-list .extra-filters .guest-filter-chip__check {
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid #dedad3;
  border-radius: 6px;
  background: #f7f5f1;
  color: transparent;
  font-size: 8px;
  transition: color 0.18s ease, border-color 0.18s ease, background-color 0.18s ease;
}
#widget-guests-list .extra-filters .guest-filter-chip > input:checked ~ .guest-filter-chip__check {
  border-color: #d4ac6d;
  background: #d4ac6d;
  color: #fff;
}
#widget-guests-list .extra-filters .guest-filter-chip:hover {
  border-color: rgba(212, 172, 109, 0.5);
  background: #fff;
}
#widget-guests-list .extra-filters .guest-filter-chip:has(> input:checked) {
  border-color: rgba(212, 172, 109, 0.55);
  background: rgba(212, 172, 109, 0.08);
  color: #373c45;
}
#widget-guests-list .extra-filters .guest-filter-chip:has(> input:checked) .guest-filter-chip__check {
  border-color: #d4ac6d;
  background: #d4ac6d;
  color: #fff;
}
#widget-guests-list .extra-filters .guest-filter-chip:has(> input:focus-visible) {
  outline: 2px solid #d4ac6d;
  outline-offset: 2px;
}
#widget-guests-list .guest-selection-cell {
  width: 48px;
  min-width: 48px;
  padding-right: 8px;
  text-align: center;
}
#widget-guests-list .guest-selection-checkbox {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin: 0;
  cursor: pointer;
}
#widget-guests-list .guest-selection-checkbox input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
#widget-guests-list .guest-selection-checkbox input:checked + span, #widget-guests-list .guest-selection-checkbox input:indeterminate + span {
  border-color: #d4ac6d;
  background: #d4ac6d;
  box-shadow: 0 0 0 3px rgba(36, 107, 253, 0.12);
}
#widget-guests-list .guest-selection-checkbox input:checked + span::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 6px;
  width: 5px;
  height: 9px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
#widget-guests-list .guest-selection-checkbox input:indeterminate + span::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 4px;
  width: 9px;
  height: 2px;
  border-radius: 2px;
  background: #fff;
}
#widget-guests-list .guest-selection-checkbox input:focus-visible + span {
  outline: 2px solid #246bfd;
  outline-offset: 3px;
}
#widget-guests-list .guest-selection-checkbox span {
  position: relative;
  display: block;
  width: 19px;
  height: 19px;
  border: 1.5px solid #c8ced9;
  border-radius: 6px;
  background: #fff;
  transition: border-color 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}
#widget-guests-list .guests-table tbody tr {
  transition: background-color 0.18s ease;
}
#widget-guests-list .guests-table tbody tr.is-selected {
  background: rgba(121, 121, 121, 0.12);
}
#widget-guests-list .guest-bulk-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 76px;
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #e5e1d9;
  border-radius: 16px;
  background: #fff;
  color: #697386;
  box-shadow: 0 6px 22px rgba(31, 45, 61, 0.045);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
#widget-guests-list .guest-bulk-actions.is-active {
  border-color: rgba(212, 172, 109, 0.45);
  box-shadow: 0 9px 26px rgba(31, 45, 61, 0.09);
}
#widget-guests-list .guest-bulk-actions.is-active .guest-bulk-actions__status {
  background: #d4ac6d;
  color: #fff;
  transform: scale(1);
}
#widget-guests-list .guest-bulk-actions__summary, #widget-guests-list .guest-bulk-actions__controls {
  display: flex;
  align-items: center;
  gap: 8px;
}
#widget-guests-list .guest-bulk-actions__summary {
  min-width: 0;
}
#widget-guests-list .guest-bulk-actions__status {
  display: inline-grid;
  flex: 0 0 38px;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: #f0eee9;
  color: #a5a09a;
  transform: scale(0.94);
  transition: color 0.2s ease, background-color 0.2s ease, transform 0.2s ease;
}
#widget-guests-list .guest-bulk-actions__copy {
  color: #303744;
  font-weight: 600;
  line-height: 1.25;
}
#widget-guests-list .guest-bulk-actions__copy small {
  display: block;
  margin-top: 4px;
  color: #8b94a5;
  font-size: 12px;
  font-weight: 400;
}
#widget-guests-list .guest-bulk-actions__count {
  color: #1f2937;
  font-weight: 700;
}
#widget-guests-list .guest-bulk-actions__separator {
  width: 1px;
  height: 28px;
  margin: 0 4px;
  background: #e2ded6;
}
#widget-guests-list .guest-bulk-delete,
#widget-guests-list .guest-delete-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 10px;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
  transition: color 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
#widget-guests-list .guest-bulk-delete {
  border: 1px solid #d14343;
  background: #d14343;
  color: #fff;
  box-shadow: 0 4px 12px rgba(209, 67, 67, 0.18);
}
#widget-guests-list .guest-bulk-delete:hover:not(:disabled) {
  border-color: #b93636;
  background: #b93636;
  color: #fff;
  transform: translateY(-1px);
}
#widget-guests-list .guest-bulk-delete:disabled {
  border-color: #e4e1dc;
  background: #f3f1ed;
  color: #aaa6a0;
  box-shadow: none;
  cursor: not-allowed;
}
#widget-guests-list .guest-delete-all {
  border: 1px solid transparent;
  background: transparent;
  color: #b43636;
}
#widget-guests-list .guest-delete-all:hover:not(:disabled) {
  border-color: #b43636;
  background: #fff5f5;
  transform: translateY(-1px);
}
#widget-guests-list .guest-delete-all:disabled {
  opacity: 0.55;
  cursor: wait;
}
@media (max-width: 575px) {
  #widget-guests-list .extra-filters {
    padding: 14px;
  }
  #widget-guests-list .extra-filters__header {
    align-items: flex-start;
  }
  #widget-guests-list .extra-filters__title small {
    max-width: 180px;
  }
  #widget-guests-list .extra-filters .guest-filter-chip {
    flex: 0 1 auto;
  }
  #widget-guests-list .guest-bulk-actions {
    align-items: flex-start;
    flex-direction: column;
    padding: 14px;
  }
  #widget-guests-list .guest-bulk-actions__controls {
    justify-content: flex-start;
    flex-wrap: wrap;
    width: 100%;
  }
  #widget-guests-list .guest-bulk-actions__separator {
    display: none;
  }
  #widget-guests-list .guest-bulk-actions__copy small {
    max-width: 230px;
  }
  #widget-guests-list .guest-bulk-delete,
  #widget-guests-list .guest-delete-all {
    justify-content: center;
    flex: 1 1 170px;
  }
}

.gestionare-invitati-actions-top {
  display: flex;
  row-gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 992px) {
  .gestionare-invitati-actions-top a {
    flex: none;
  }
}

.premium-container {
  max-width: 1200px;
  margin: 0 auto;
}

.premium-hero {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  border-radius: 20px;
  padding: 80px 40px;
  text-align: center;
  margin-bottom: 50px;
  color: white;
  box-shadow: 0 10px 40px rgba(163, 124, 72, 0.25);
  position: relative;
  overflow: hidden;
}
.premium-hero::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 20s infinite ease-in-out;
}
.premium-hero::after {
  content: "";
  position: absolute;
  bottom: -30%;
  left: -15%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.08) 0%, transparent 70%);
  border-radius: 50%;
  animation: float 15s infinite ease-in-out reverse;
}
@media (max-width: 768px) {
  .premium-hero {
    padding: 50px 24px;
  }
}

.premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(255, 255, 255, 0.2);
  backdrop-filter: blur(10px);
  padding: 10px 24px;
  border-radius: 50px;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 24px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  position: relative;
  z-index: 1;
  animation: fadeInDown 0.8s ease-out;
}
.premium-badge i {
  color: #ffd700;
  animation: pulse 2s infinite;
}

.premium-title {
  font-size: 48px;
  font-weight: 700;
  margin-bottom: 20px;
  line-height: 1.2;
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.8s ease-out 0.2s both;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
  .premium-title {
    font-size: 36px;
  }
}

.premium-subtitle {
  font-size: 19px;
  opacity: 0.95;
  max-width: 650px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  animation: fadeInUp 0.8s ease-out 0.4s both;
  line-height: 1.6;
}

.premium-hero.premium-active {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
}

.premium-active-badge {
  background: rgba(255, 255, 255, 0.3);
  border: 2px solid rgba(255, 255, 255, 0.5);
}

.premium-status-card {
  background: white;
  border-radius: 20px;
  padding: 50px 45px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  margin-bottom: 50px;
  position: relative;
  overflow: hidden;
}
.premium-status-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #d4ac6d 0%, #a37c48 100%);
}

.premium-status-header {
  text-align: center;
  margin-bottom: 50px;
  padding-bottom: 30px;
  border-bottom: 2px solid #ede3c9;
}
.premium-status-header .status-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto 24px;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 40px;
  color: white;
  box-shadow: 0 8px 24px rgba(212, 172, 109, 0.3);
  animation: pulse 2s infinite;
}
.premium-status-header h2 {
  font-size: 32px;
  color: #a37c48;
  margin-bottom: 12px;
  font-weight: 700;
}
.premium-status-header p {
  color: #666;
  font-size: 16px;
}

.premium-benefits-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-bottom: 50px;
}

.benefit-item {
  display: flex;
  gap: 20px;
  padding: 28px;
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border-radius: 16px;
  border: 2px solid #ede3c9;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.benefit-item.active {
  border-color: rgba(212, 172, 109, 0.3);
}
.benefit-item.active .benefit-icon {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  color: white;
}
.benefit-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 12px 32px rgba(212, 172, 109, 0.15);
}
.benefit-item .benefit-icon {
  width: 60px;
  height: 60px;
  min-width: 60px;
  background: linear-gradient(135deg, #f4eedf 0%, #fbf8f2 100%);
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  color: #a37c48;
  transition: all 0.3s;
}
.benefit-item .benefit-content {
  flex: 1;
  position: relative;
}
.benefit-item .benefit-content h3 {
  font-size: 18px;
  color: #a37c48;
  margin-bottom: 8px;
  font-weight: 700;
}
.benefit-item .benefit-content p {
  color: #666;
  font-size: 14px;
  margin-bottom: 12px;
  line-height: 1.5;
}
.benefit-item .benefit-content .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 12px;
  background: #e9ecef;
  color: #666;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 600;
}
.benefit-item .benefit-content .status-badge.active {
  background: rgba(212, 172, 109, 0.1);
  color: #d4ac6d;
}
.benefit-item .benefit-content .status-badge.active::before {
  content: "✓";
  font-weight: 700;
}

.premium-cta-section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 32px;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
  border-radius: 16px;
  gap: 24px;
}
@media (max-width: 768px) {
  .premium-cta-section {
    flex-direction: column;
    text-align: center;
  }
}
.premium-cta-section .support-info {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (max-width: 768px) {
  .premium-cta-section .support-info {
    flex-direction: column;
  }
}
.premium-cta-section .support-info i {
  font-size: 48px;
  color: #d4ac6d;
}
.premium-cta-section .support-info h4 {
  font-size: 18px;
  color: #a37c48;
  margin-bottom: 4px;
  font-weight: 700;
}
.premium-cta-section .support-info p {
  color: #666;
  font-size: 14px;
  margin: 0;
}
.premium-cta-section .btn-premium-support {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  padding: 16px 32px;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  color: white;
  border-radius: 12px;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 16px rgba(212, 172, 109, 0.3);
}
.premium-cta-section .btn-premium-support:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(212, 172, 109, 0.4);
  color: white;
  text-decoration: none;
}
.premium-cta-section .btn-premium-support i {
  font-size: 18px;
}

.premium-pricing-section {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
  margin-bottom: 60px;
}
@media (max-width: 992px) {
  .premium-pricing-section {
    grid-template-columns: 1fr;
  }
}

.pricing-card {
  background: white;
  border-radius: 20px;
  padding: 50px 45px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(212, 172, 109, 0.1);
  position: relative;
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.pricing-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #d4ac6d 0%, #a37c48 100%);
}
.pricing-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 15px 45px rgba(212, 172, 109, 0.15);
}

.pricing-header {
  text-align: center;
  margin-bottom: 45px;
}
.pricing-header h2 {
  font-size: 32px;
  color: #a37c48;
  margin-bottom: 12px;
  font-weight: 700;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.pricing-header p {
  color: #666;
  font-size: 16px;
  opacity: 0.8;
}

.pricing-calculator .calculator-input-group {
  margin-bottom: 30px;
}
.pricing-calculator .calculator-input-group label {
  display: block;
  font-weight: 600;
  color: #a37c48;
  margin-bottom: 12px;
  font-size: 15px;
}
.pricing-calculator .calculator-input-group .input-wrapper {
  position: relative;
}
.pricing-calculator .calculator-input-group .input-wrapper input[type=number] {
  width: 100%;
  padding: 18px 90px 18px 22px;
  border: 2px solid #ede3c9;
  border-radius: 12px;
  font-size: 20px;
  font-weight: 700;
  color: #a37c48;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  background: linear-gradient(135deg, #ffffff 0%, #fafafa 100%);
}
.pricing-calculator .calculator-input-group .input-wrapper input[type=number]:focus {
  outline: none;
  border-color: #d4ac6d;
  box-shadow: 0 0 0 4px rgba(212, 172, 109, 0.12);
  transform: translateY(-2px);
}
.pricing-calculator .calculator-input-group .input-wrapper .input-unit {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: #999;
  font-size: 14px;
  pointer-events: none;
}

.calculator-slider {
  margin-bottom: 30px;
}
.calculator-slider input[type=range] {
  width: 100%;
  height: 6px;
  border-radius: 5px;
  background: linear-gradient(to right, #d4ac6d 0%, #a37c48 100%);
  outline: none;
  -webkit-appearance: none;
}
.calculator-slider input[type=range]::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: white;
  border: 3px solid #d4ac6d;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
}
.calculator-slider input[type=range]::-webkit-slider-thumb:hover {
  transform: scale(1.2);
}
.calculator-slider input[type=range]::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: white;
  border: 3px solid #d4ac6d;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
}
.calculator-slider input[type=range]::-moz-range-thumb:hover {
  transform: scale(1.2);
}
.calculator-slider .slider-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
}
.calculator-slider .slider-labels span {
  font-size: 12px;
  color: #999;
}

.pricing-breakdown {
  background: linear-gradient(135deg, #f4eedf 0%, #fbf8f2 100%);
  border-radius: 16px;
  padding: 32px 28px;
  margin-bottom: 30px;
  border: 1px solid #f0e8d4;
  position: relative;
  box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.5);
}
.pricing-breakdown .price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.pricing-breakdown .price-row:last-child {
  margin-bottom: 0;
}
.pricing-breakdown .price-row .label {
  font-size: 15px;
  color: #666;
}
.pricing-breakdown .price-row .value {
  font-size: 18px;
  font-weight: 600;
  color: #a37c48;
}
.pricing-breakdown .price-row.total {
  padding-top: 20px;
  border-top: 2px dashed #eadec1;
  margin-top: 16px;
}
.pricing-breakdown .price-row.total .label {
  font-size: 18px;
  font-weight: 700;
  color: #a37c48;
}
.pricing-breakdown .price-row.total .value {
  font-size: 36px;
  font-weight: 800;
  color: #d4ac6d;
  text-shadow: 0 2px 4px rgba(212, 172, 109, 0.2);
  animation: priceUpdate 0.3s ease-out;
}
.pricing-breakdown::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
  background: linear-gradient(180deg, #d4ac6d 0%, #a37c48 100%);
  border-radius: 16px 0 0 16px;
}
.pricing-breakdown .price-note {
  font-size: 13px;
  color: #888;
  font-style: italic;
  margin-top: 12px;
  text-align: center;
}

.btn-premium-upgrade {
  width: 100%;
  padding: 22px 36px;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  color: white;
  border: none;
  border-radius: 14px;
  font-size: 18px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  box-shadow: 0 8px 24px rgba(212, 172, 109, 0.35);
  position: relative;
  overflow: hidden;
}
.btn-premium-upgrade::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.2);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}
.btn-premium-upgrade:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(212, 172, 109, 0.45);
}
.btn-premium-upgrade:hover::before {
  width: 300px;
  height: 300px;
}
.btn-premium-upgrade:active {
  transform: translateY(-1px);
}
.btn-premium-upgrade i:first-child {
  color: #ffd700;
  animation: pulse 2s infinite;
}
.btn-premium-upgrade i:last-child {
  transition: transform 0.3s;
}
.btn-premium-upgrade:hover i:last-child {
  transform: translateX(4px);
}
.btn-premium-upgrade:disabled {
  opacity: 0.7;
  cursor: not-allowed;
  transform: none !important;
}

.pricing-tiers-info {
  background: white;
  border-radius: 10px;
  padding: 30px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border: 2px solid #ede3c9;
}
.pricing-tiers-info h3 {
  font-size: 20px;
  color: #a37c48;
  margin-bottom: 20px;
  text-align: center;
}

.tiers-list .tier-item {
  padding: 16px 0;
  border-bottom: 1px solid #ede3c9;
}
.tiers-list .tier-item:last-child {
  border-bottom: none;
}
.tiers-list .tier-item .tier-range {
  font-size: 14px;
  color: #666;
  margin-bottom: 4px;
}
.tiers-list .tier-item .tier-price {
  font-size: 15px;
  font-weight: 600;
  color: #d4ac6d;
}

.premium-features {
  margin-bottom: 60px;
}
.premium-features h2 {
  text-align: center;
  font-size: 32px;
  color: #a37c48;
  margin-bottom: 40px;
}

.features-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 24px;
}

.feature-card {
  background: white;
  border-radius: 16px;
  padding: 40px 28px;
  text-align: center;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  border: 1px solid #ede3c9;
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  overflow: hidden;
}
.feature-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #d4ac6d 0%, #a37c48 100%);
  transform: scaleX(0);
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.feature-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 16px 40px rgba(212, 172, 109, 0.2);
  border-color: rgba(212, 172, 109, 0.3);
}
.feature-card:hover::before {
  transform: scaleX(1);
}
.feature-card:hover .feature-icon {
  transform: scale(1.1) rotate(5deg);
}
.feature-card .feature-icon {
  width: 72px;
  height: 72px;
  margin: 0 auto 24px;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  color: white;
  box-shadow: 0 8px 20px rgba(212, 172, 109, 0.3);
  transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
}
.feature-card .feature-icon::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  opacity: 0.2;
  filter: blur(10px);
  z-index: -1;
}
.feature-card h3 {
  font-size: 20px;
  color: #a37c48;
  margin-bottom: 14px;
  font-weight: 700;
}
.feature-card p {
  font-size: 15px;
  color: #666;
  line-height: 1.7;
  opacity: 0.9;
}

.premium-comparison {
  margin-bottom: 40px;
}
.premium-comparison h2 {
  text-align: center;
  font-size: 32px;
  color: #a37c48;
  margin-bottom: 40px;
}

.comparison-table {
  background: white;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border: 2px solid #ede3c9;
}

.comparison-header {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  background: #f4eedf;
  font-weight: 600;
}
.comparison-header div {
  padding: 20px;
  background-color: white;
}
.comparison-header div.col-plan {
  text-align: center !important;
}
.comparison-header div.premium {
  background: linear-gradient(135deg, #d4ac6d 0%, #a37c48 100%);
  color: white;
  text-align: center;
  position: relative;
}
.comparison-header div.premium:after {
  content: "★";
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 16px;
  color: #ffd700;
}

.comparison-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  border-top: 1px solid #ede3c9;
}
.comparison-row div {
  padding: 18px 20px;
}
.comparison-row div.col-feature {
  font-weight: 500;
  color: #444;
}
.comparison-row div.col-plan {
  text-align: center !important;
  color: #666;
}
.comparison-row div.col-plan.premium {
  background: #fbf8f2;
  color: #d4ac6d;
  font-weight: 600;
}
.comparison-row div.col-plan i.fa-check {
  color: #d4ac6d;
  font-size: 18px;
}
.comparison-row div.col-plan i.fa-times {
  color: #dc3545;
  font-size: 18px;
}

@media (max-width: 768px) {
  .comparison-header,
  .comparison-row {
    grid-template-columns: 1.5fr 1fr 1fr;
  }
  .comparison-header div,
  .comparison-row div {
    padding: 14px 12px;
    font-size: 14px;
  }
  .comparison-header .col-plan,
  .comparison-row .col-plan {
    text-align: center !important;
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes float {
  0%, 100% {
    transform: translate(0, 0) scale(1);
  }
  50% {
    transform: translate(30px, -30px) scale(1.1);
  }
}
@keyframes pulse {
  0%, 100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
}
@keyframes priceUpdate {
  0% {
    transform: scale(1.2);
  }
  50% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
.premium-features,
.premium-comparison {
  animation: fadeInUp 0.8s ease-out both;
}

.features-grid .feature-card {
  animation: fadeInUp 0.6s ease-out both;
}
.features-grid .feature-card:nth-child(1) {
  animation-delay: 0.1s;
}
.features-grid .feature-card:nth-child(2) {
  animation-delay: 0.2s;
}
.features-grid .feature-card:nth-child(3) {
  animation-delay: 0.3s;
}
.features-grid .feature-card:nth-child(4) {
  animation-delay: 0.4s;
}
.features-grid .feature-card:nth-child(5) {
  animation-delay: 0.5s;
}
.features-grid .feature-card:nth-child(6) {
  animation-delay: 0.6s;
}

.trust-indicators {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 24px;
  margin-bottom: 60px;
  animation: fadeInUp 0.8s ease-out both;
}
.trust-indicators .trust-item {
  text-align: center;
  padding: 24px;
  background: white;
  border-radius: 16px;
  border: 1px solid #ede3c9;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.trust-indicators .trust-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 24px rgba(212, 172, 109, 0.15);
}
.trust-indicators .trust-item .trust-value {
  font-size: 36px;
  color: #d4ac6d;
  font-weight: 700;
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.trust-indicators .trust-item .trust-value i {
  font-size: 24px;
}
.trust-indicators .trust-item .trust-label {
  color: #666;
  font-size: 14px;
  font-weight: 500;
}

html {
  scroll-behavior: smooth;
}

.btn-premium-upgrade.loading {
  pointer-events: none;
}
.btn-premium-upgrade.loading .fa-spinner {
  animation: spin 1s linear infinite;
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@media (max-width: 992px) {
  .premium-container {
    padding: 0 20px;
  }
  .features-grid {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }
}
@media (max-width: 576px) {
  .premium-hero {
    padding: 40px 20px;
  }
  .premium-title {
    font-size: 28px;
  }
  .premium-subtitle {
    font-size: 16px;
  }
  .pricing-card {
    padding: 30px 20px;
  }
  .features-grid {
    grid-template-columns: 1fr;
  }
  .trust-indicators {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
  .premium-status-card {
    padding: 30px 20px;
  }
  .premium-benefits-grid {
    grid-template-columns: 1fr;
  }
  .benefit-item {
    flex-direction: column;
    text-align: center;
  }
  .benefit-item .benefit-icon {
    margin: 0 auto;
  }
}
.agenda-no-event {
  display: flex;
  min-height: 430px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 56px 24px;
  border: 1px solid #f1e4d0;
  border-radius: 20px;
  background: linear-gradient(145deg, white, #fcfaf6);
  color: #44341e;
  text-align: center;
  box-shadow: 0 14px 45px rgba(163, 124, 72, 0.05);
}
.agenda-no-event .agenda-no-event-icon {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  margin-bottom: 22px;
  border: 1px solid #f1e4d0;
  border-radius: 20px;
  background: #f9f3e9;
  color: #a37c48;
  font-size: 27px;
}
.agenda-no-event .agenda-eyebrow {
  margin-bottom: 8px;
  color: #755934;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
}
.agenda-no-event h2 {
  margin: 0 0 10px;
  font-size: 27px;
  color: #44341e;
}
.agenda-no-event p {
  max-width: 470px;
  margin: 0 0 22px;
  color: #755934;
  line-height: 1.65;
}
.agenda-no-event .btn-primary {
  border-color: #a37c48;
  background: #a37c48;
  color: white;
}

.agenda-planner {
  color: #44341e;
  padding-bottom: 40px;
}
.agenda-planner [hidden] {
  display: none !important;
}
.agenda-planner button {
  cursor: pointer;
}
.agenda-planner button:focus-visible,
.agenda-planner summary:focus-visible,
.agenda-planner input:focus-visible,
.agenda-planner textarea:focus-visible {
  outline: 3px solid rgba(163, 124, 72, 0.4);
  outline-offset: 3px;
}
.agenda-planner .agenda-notice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 18px 22px;
  background: #f9f3e9;
  border: 1px solid #f1e4d0;
  border-radius: 14px;
  color: #a37c48;
}
.agenda-planner .agenda-notice i {
  margin-top: 4px;
}
.agenda-planner .agenda-notice p {
  margin: 0;
}
.agenda-planner .agenda-toolbar,
.agenda-planner .agenda-day-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin: 28px 0 20px;
}
.agenda-planner .agenda-toolbar h2,
.agenda-planner .agenda-toolbar h3,
.agenda-planner .agenda-day-heading h2,
.agenda-planner .agenda-day-heading h3 {
  margin: 0 0 6px;
  font-size: 22px;
  color: #44341e;
}
.agenda-planner .agenda-toolbar p,
.agenda-planner .agenda-day-heading p {
  margin: 0;
  color: #755934;
  font-size: 14px;
}
.agenda-planner .agenda-day-summary {
  color: #a37c48;
  font-size: 13px;
  font-weight: 600;
  margin: 8px 0;
}
.agenda-planner .agenda-drag-status {
  position: fixed;
  bottom: 28px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10000;
  pointer-events: none;
  padding: 10px 16px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: #44341e;
  color: white;
  box-shadow: 0 10px 35px rgba(68, 52, 30, 0.25);
  max-width: calc(100vw - 32px);
  text-align: center;
  font-size: 12px;
  animation: agenda-status-in 160ms ease-out;
}
.agenda-planner .agenda-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.agenda-planner .agenda-days {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  padding: 4px 3px 12px;
}
.agenda-planner .agenda-day {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  min-width: 200px;
  max-width: 320px;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  border: 1px solid #f1e4d0;
  border-radius: 14px;
  padding: 16px 20px;
  background: white;
  color: #44341e;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.agenda-planner .agenda-day span {
  font-weight: 600;
  text-transform: capitalize;
}
.agenda-planner .agenda-day small {
  color: #755934;
}
.agenda-planner .agenda-day:hover {
  border-color: #a37c48;
  transform: translateY(-1px);
}
.agenda-planner .agenda-day.is-selected {
  background: #a37c48;
  color: white;
  border-color: #a37c48;
}
.agenda-planner .agenda-day.is-selected small {
  color: #f9f3e9;
}
.agenda-planner .agenda-message {
  padding: 12px 18px;
  margin: 16px 0;
  background: #f9f3e9;
  border-radius: 10px;
}
.agenda-planner .agenda-message.is-error {
  color: #44341e;
  background: #f9f3e9;
}
.agenda-planner .agenda-empty {
  border: 1px dashed #f1e4d0;
  border-radius: 18px;
  background: white;
  padding: 60px 24px;
  text-align: center;
}
.agenda-planner .agenda-empty i {
  display: block;
  font-size: 38px;
  margin-bottom: 20px;
  color: #a37c48;
}
.agenda-planner .agenda-empty h3 {
  font-size: 22px;
}
.agenda-planner .agenda-empty p {
  color: #755934;
  margin-bottom: 0;
}
.agenda-planner .agenda-calendar {
  scrollbar-width: thin;
  scrollbar-color: #d4ac6d #fcfaf6;
  position: relative;
  max-height: 72vh;
  border: 1px solid #f1e4d0;
  border-radius: 16px;
  background: white;
  overflow: auto;
  overscroll-behavior: contain;
}
.agenda-planner .agenda-hour {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  height: 120px;
  box-sizing: border-box;
}
.agenda-planner .agenda-hour + .agenda-hour {
  box-shadow: inset 0 1px #f1e4d0;
}
.agenda-planner .agenda-hour.is-drop-hour .agenda-hour-label {
  background: #f9f3e9;
  color: #44341e;
}
.agenda-planner .agenda-hour-label {
  position: sticky;
  left: 0;
  z-index: 4;
  padding: 14px 12px;
  text-align: center;
  color: #755934;
  background: #fcfaf6;
  font-size: 13px;
  font-weight: 600;
}
.agenda-planner .agenda-hour-body {
  position: relative;
  height: 120px;
  min-height: 0;
  border-left: 1px solid #f1e4d0;
}
.agenda-planner .agenda-hour-slots {
  position: absolute;
  inset: 0;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
}
.agenda-planner .agenda-slot {
  position: relative;
  cursor: pointer;
  border-top: 1px dashed #f9f3e9;
  transition: background 120ms ease, box-shadow 120ms ease;
}
.agenda-planner .agenda-slot:hover {
  background: #f9f3e9;
}
.agenda-planner .agenda-slot:hover span {
  display: block;
}
.agenda-planner .agenda-slot:first-child {
  border-top: 0;
}
.agenda-planner .agenda-slot span {
  display: none;
  position: absolute;
  left: 8px;
  top: 3px;
  color: #a37c48;
  font-size: 11px;
  font-weight: 600;
}
.agenda-planner .agenda-slot span::before {
  content: "+ ";
}
.agenda-planner .agenda-slot.is-drop-target {
  z-index: 3;
  background: rgba(212, 172, 109, 0.16);
  box-shadow: inset 0 2px #a37c48, inset 0 -1px rgba(163, 124, 72, 0.18);
}
.agenda-planner .agenda-slot.is-drop-target::after {
  content: "";
  position: absolute;
  top: -4px;
  left: -5px;
  width: 10px;
  height: 10px;
  border: 2px solid white;
  border-radius: 50%;
  background: #a37c48;
  box-shadow: 0 2px 7px rgba(163, 124, 72, 0.25);
}
.agenda-planner .agenda-slot.is-drop-target span {
  display: block;
  top: 4px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #a37c48;
  color: white;
  line-height: 1.2;
  box-shadow: 0 3px 9px rgba(163, 124, 72, 0.18);
}
.agenda-planner .agenda-hour-items {
  position: absolute;
  inset: 0 8px 0 44px;
  padding: 0;
  pointer-events: none;
}
.agenda-planner .agenda-item {
  pointer-events: auto;
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px;
  border: 1px solid #f1e4d0;
  border-left: 4px solid #a37c48;
  border-radius: 12px;
  background: #fcfaf6;
  box-shadow: 0 3px 10px rgba(163, 124, 72, 0.06);
  min-width: 0;
  transition: border-color 160ms ease, box-shadow 160ms ease, opacity 160ms ease, transform 160ms ease;
}
.agenda-planner .agenda-item.is-dragging {
  opacity: 0.18;
  border-style: dashed;
  box-shadow: none;
  transform: scale(0.995);
}
.agenda-planner .agenda-item h4 {
  font-size: 17px;
  margin: 5px 0;
  color: #44341e;
  overflow-wrap: anywhere;
}
.agenda-planner .agenda-item p {
  font-size: 14px;
  color: #755934;
  margin: 0 0 8px;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.agenda-planner .agenda-item details {
  margin-top: 8px;
}
.agenda-planner .agenda-item summary {
  cursor: pointer;
  color: #a37c48;
  font-size: 13px;
}
.agenda-planner .agenda-item-copy {
  flex: 1;
  min-width: 0;
}
.agenda-planner .agenda-item.agenda-item-timed {
  position: absolute;
  top: calc(var(--agenda-start-minute) * 2px);
  height: calc(var(--agenda-duration-minutes) * 2px);
  left: calc(100% / var(--agenda-columns) * var(--agenda-column));
  width: calc(100% / var(--agenda-columns) - 4px);
  box-sizing: border-box;
  z-index: 2;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-content: start;
  gap: 6px;
  padding: 8px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  border-radius: 8px;
}
.agenda-planner .agenda-item.agenda-item-timed:focus-visible {
  outline: 2px solid #a37c48;
  outline-offset: -2px;
}
.agenda-planner .agenda-item.agenda-item-timed .agenda-drag {
  grid-column: 1;
  grid-row: 1;
  padding: 0;
}
.agenda-planner .agenda-item.agenda-item-timed .agenda-item-copy {
  grid-column: 2;
  grid-row: 1;
}
.agenda-planner .agenda-item.agenda-item-timed .agenda-item-image {
  grid-column: 3;
  grid-row: 1;
  width: 36px;
  height: 36px;
}
.agenda-planner .agenda-item.agenda-item-timed .agenda-item-actions {
  grid-column: 2/-1;
  margin: 0;
}
.agenda-planner .agenda-item.agenda-item-timed .agenda-item-duration {
  display: inline-block;
  white-space: nowrap;
}
.agenda-planner .agenda-item.agenda-item-timed .agenda-item-continuation {
  display: block;
  font-size: 11px;
  color: #a37c48;
}
.agenda-planner .agenda-item.agenda-item-timed h4 {
  margin: 2px 0;
  font-size: 14px;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact {
  padding: 2px 4px;
  gap: 4px;
  grid-template-columns: 18px minmax(0, 1fr) auto;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-image,
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-duration,
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-copy > p,
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact details,
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact [data-delete] {
  display: none;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-copy {
  display: flex;
  align-items: baseline;
  gap: 6px;
  overflow: hidden;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-time {
  font-size: 10px;
  white-space: nowrap;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact h4 {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  font-size: 12px;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-actions {
  grid-column: 3;
  grid-row: 1;
}
.agenda-planner .agenda-item.agenda-item-timed.agenda-item-compact .agenda-item-actions button {
  padding: 2px 4px;
  font-size: 10px;
}
.agenda-planner .agenda-item-time {
  font-size: 12px;
  color: #a37c48;
  font-weight: 600;
}
.agenda-planner .agenda-item-image {
  width: 68px;
  height: 68px;
  object-fit: cover;
  border-radius: 8px;
}
.agenda-planner .agenda-item-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.agenda-planner .agenda-item-actions button {
  background: white;
  border: 1px solid #f1e4d0;
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 12px;
  color: #a37c48;
}
.agenda-planner .agenda-item-actions [data-delete] {
  color: #755934;
}
.agenda-planner .agenda-drag {
  border: 0;
  background: transparent;
  color: #755934;
  font-size: 24px;
  padding: 0 5px;
  cursor: grab;
  touch-action: none;
  transition: color 140ms ease, transform 140ms ease;
}
.agenda-planner .agenda-drag:hover {
  color: #a37c48;
  transform: scale(1.08);
}
.agenda-planner.is-dragging {
  user-select: none;
}
.agenda-planner.is-dragging .agenda-hour-items {
  pointer-events: none;
}
.agenda-planner.is-dragging .agenda-item {
  pointer-events: none;
}
.agenda-planner.is-dragging .agenda-slot span {
  display: block;
}
.agenda-planner.is-dragging .agenda-slot span::before {
  content: "";
}
.agenda-planner.is-dragging .agenda-slot:not(.is-drop-target) span {
  opacity: 0.42;
}
.agenda-planner.is-busy {
  cursor: progress;
}
.agenda-planner [data-modal26=agendaItem] .ck-editor__editable {
  min-height: 200px;
  max-height: 420px;
}
.agenda-planner [data-modal26=agendaItem] .ck.ck-editor {
  --ck-border-radius: 8px;
}
.agenda-planner .agenda-form-error {
  color: #44341e;
  margin: 12px 0;
}
.agenda-planner .agenda-image-preview {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 12px 0;
}
.agenda-planner .agenda-image-preview img {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
}
.agenda-planner .agenda-rich {
  margin-top: 12px;
  overflow-wrap: anywhere;
  overflow-x: auto;
}
.agenda-planner .agenda-rich img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}
.agenda-planner .agenda-rich figure {
  margin: 12px 0;
}
.agenda-planner .agenda-rich ul,
.agenda-planner .agenda-rich ol {
  padding-left: 24px;
}
.agenda-planner .agenda-rich ul {
  list-style: disc;
}
.agenda-planner .agenda-rich ol {
  list-style: decimal;
}
.agenda-planner .agenda-rich table {
  border-collapse: collapse;
  width: 100%;
}
.agenda-planner .agenda-rich td,
.agenda-planner .agenda-rich th {
  border: 1px solid #f1e4d0;
  padding: 8px;
}
.agenda-planner .agenda-rich blockquote {
  border-left: 3px solid #a37c48;
  padding-left: 16px;
}
@media (max-width: 767px) {
  .agenda-planner .agenda-toolbar,
  .agenda-planner .agenda-day-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .agenda-planner .agenda-actions {
    width: 100%;
    flex-wrap: wrap;
  }
  .agenda-planner .agenda-hour {
    grid-template-columns: 48px minmax(0, 1fr);
  }
  .agenda-planner .agenda-hour-label {
    padding: 14px 4px;
    font-size: 11px;
  }
  .agenda-planner .agenda-hour-items {
    left: 30px;
    right: 4px;
  }
  .agenda-planner .agenda-slot span {
    left: 2px;
    font-size: 10px;
  }
  .agenda-planner .agenda-item {
    gap: 8px;
    padding: 10px;
    flex-wrap: wrap;
  }
  .agenda-planner .agenda-item-copy {
    flex-basis: calc(100% - 40px);
  }
  .agenda-planner .agenda-item-image {
    width: 48px;
    height: 48px;
  }
  .agenda-planner .agenda-item-actions {
    margin-left: auto;
  }
}
.agenda-planner .agenda-eyebrow {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.8px;
  color: #755934;
  margin-bottom: 10px;
}
.agenda-planner .agenda-toolbar {
  margin: 12px 0 24px;
  padding: 32px;
  border: 1px solid #f1e4d0;
  border-radius: 20px;
  background: linear-gradient(115deg, #fcfaf6, #f9f3e9);
}
.agenda-planner .agenda-toolbar h2 {
  font-size: clamp(24px, 2.4vw, 34px);
  letter-spacing: -1px;
  line-height: 1.2;
  margin-bottom: 12px;
}
.agenda-planner .agenda-toolbar p {
  max-width: 560px;
  line-height: 1.6;
}
.agenda-planner .agenda-overview {
  display: flex;
  gap: 28px;
  flex-shrink: 0;
}
.agenda-planner .agenda-overview > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.agenda-planner .agenda-overview > div + div {
  padding-left: 28px;
  border-left: 1px solid #f1e4d0;
}
.agenda-planner .agenda-overview strong {
  font-size: 32px;
  font-weight: 600;
  color: #44341e;
  line-height: 1.2;
}
.agenda-planner .agenda-overview span {
  font-size: 12px;
  color: #755934;
}
.agenda-planner .agenda-workspace {
  display: grid;
  grid-template-columns: 264px minmax(0, 1fr);
  border: 1px solid #f1e4d0;
  border-radius: 20px;
  background: white;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(163, 124, 72, 0.05);
}
.agenda-planner .agenda-sidebar {
  padding: 24px 20px;
  background: #fcfaf6;
  border-right: 1px solid #f1e4d0;
  min-width: 0;
}
.agenda-planner .agenda-month-heading,
.agenda-planner .agenda-sidebar-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 18px;
}
.agenda-planner .agenda-month-heading h3,
.agenda-planner .agenda-sidebar-heading h3 {
  color: #44341e;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}
.agenda-planner .agenda-month-heading h3 {
  text-transform: capitalize;
}
.agenda-planner .agenda-nav {
  display: flex;
  align-items: center;
  gap: 6px;
}
.agenda-planner .agenda-nav button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #f1e4d0;
  border-radius: 8px;
  background: white;
  color: #44341e;
  font-size: 22px;
  line-height: 1;
}
.agenda-planner .agenda-nav button.agenda-jump {
  width: auto;
  padding: 0 12px;
  font-size: 12px;
  margin-left: 4px;
}
.agenda-planner .agenda-weekdays,
.agenda-planner .agenda-month-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  text-align: center;
  gap: 3px;
}
.agenda-planner .agenda-weekdays {
  margin-bottom: 8px;
  color: #755934;
  font-size: 10px;
  font-weight: 600;
}
.agenda-planner .agenda-month-grid button {
  position: relative;
  aspect-ratio: 1;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #755934;
  font-size: 12px;
  padding: 0;
}
.agenda-planner .agenda-month-grid button[aria-current=date] {
  border-color: #a37c48;
}
.agenda-planner .agenda-month-grid button.has-agenda {
  color: #44341e;
  font-weight: 700;
  background: #f9f3e9;
}
.agenda-planner .agenda-month-grid button.has-agenda::after {
  content: "";
  position: absolute;
  bottom: 3px;
  left: calc(50% - 2px);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: #a37c48;
}
.agenda-planner .agenda-month-grid button:hover {
  background: #f1e4d0;
}
.agenda-planner .agenda-month-grid button.is-selected {
  background: #a37c48;
  color: white;
}
.agenda-planner .agenda-month-grid button.is-selected::after {
  background: white;
}
.agenda-planner .agenda-month-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 12px 0 28px;
  font-size: 10px;
  color: #755934;
}
.agenda-planner .agenda-month-hint span {
  width: 5px;
  height: 5px;
  background: #a37c48;
  border-radius: 50%;
}
.agenda-planner .agenda-sidebar-heading {
  border-top: 1px solid #f1e4d0;
  padding-top: 22px;
  margin-bottom: 12px;
}
.agenda-planner .agenda-sidebar-heading span {
  color: #755934;
  font-size: 11px;
}
.agenda-planner .agenda-days {
  flex-direction: column;
  gap: 8px;
  padding: 3px;
  margin: 0 -3px 12px;
  max-height: 310px;
  overflow-y: auto;
}
.agenda-planner .agenda-day {
  flex-direction: row;
  align-items: center;
  min-width: 0;
  max-width: none;
  width: 100%;
  padding: 10px;
  border-radius: 10px;
  gap: 10px;
}
.agenda-planner .agenda-day .agenda-day-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-shrink: 0;
  min-width: 34px;
  font-size: 22px;
  line-height: 1.15;
}
.agenda-planner .agenda-day .agenda-day-number small {
  font-size: 10px;
  font-weight: 400;
  margin-top: 3px;
}
.agenda-planner .agenda-day .agenda-day-copy {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.agenda-planner .agenda-day .agenda-day-copy strong {
  font-size: 12px;
  font-weight: 600;
}
.agenda-planner .agenda-day .agenda-day-copy small {
  font-size: 10px;
  font-weight: 400;
  text-transform: none;
}
.agenda-planner .agenda-day .agenda-day-arrow {
  margin-left: auto;
  font-size: 20px;
}
.agenda-planner .agenda-day.is-selected {
  background: #f9f3e9;
  color: #44341e;
  border-color: #d4ac6d;
  box-shadow: inset 3px 0 #a37c48;
}
.agenda-planner .agenda-day.is-selected small {
  color: #755934;
}
.agenda-planner .btn {
  border-radius: 9px;
  padding: 11px 16px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: none;
}
.agenda-planner .btn.btn-danger {
  background: #44341e;
  border-color: #44341e;
  color: white;
}
.agenda-planner .btn.btn-primary {
  background: #a37c48;
  border-color: #a37c48;
  color: white;
}
.agenda-planner .btn.btn-primary:hover {
  background: #755934;
  border-color: #755934;
}
.agenda-planner .btn.btn-outline-primary {
  background: white;
  border-color: #f1e4d0;
  color: #44341e;
}
.agenda-planner .btn.btn-outline-primary:hover {
  background: #f9f3e9;
  border-color: #d4ac6d;
}
.agenda-planner .agenda-add-day {
  width: 100%;
}
.agenda-planner .agenda-sidebar-tip {
  display: flex;
  gap: 10px;
  margin-top: 28px;
  padding: 16px 0 0;
  border-top: 1px solid #f1e4d0;
  color: #755934;
}
.agenda-planner .agenda-sidebar-tip i {
  margin-top: 3px;
}
.agenda-planner .agenda-sidebar-tip p {
  font-size: 11px;
  line-height: 1.8;
  margin: 0;
}
.agenda-planner .agenda-sidebar-tip strong {
  font-weight: 600;
}
.agenda-planner .agenda-main {
  min-width: 0;
}
.agenda-planner .agenda-day-heading {
  margin: 0;
  padding: 24px;
}
.agenda-planner .agenda-day-heading h3 {
  font-size: 18px;
  letter-spacing: -0.3px;
  line-height: 1.4;
}
.agenda-planner .agenda-day-heading .agenda-eyebrow {
  margin-bottom: 5px;
  font-size: 9px;
}
.agenda-planner .agenda-day-heading > .btn {
  flex-shrink: 0;
}
.agenda-planner .agenda-date-heading {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}
.agenda-planner .agenda-date-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: #f9f3e9;
  color: #44341e;
  border: 1px solid #f1e4d0;
  border-radius: 12px;
  width: 58px;
  height: 64px;
  flex-shrink: 0;
}
.agenda-planner .agenda-date-badge strong {
  font-size: 26px;
  line-height: 1;
}
.agenda-planner .agenda-date-badge span {
  font-size: 10px;
  text-transform: uppercase;
  margin-top: 5px;
}
.agenda-planner .agenda-day-summary {
  margin: 4px 0 0;
  font-size: 11px;
  color: #755934;
  font-weight: 400;
}
.agenda-planner .agenda-calendar-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 24px;
  border-top: 1px solid #f1e4d0;
  border-bottom: 1px solid #f1e4d0;
}
.agenda-planner .agenda-actions {
  align-items: center;
}
.agenda-planner .agenda-view-label {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  color: #755934;
}
.agenda-planner .agenda-delete-day {
  width: 32px;
  height: 32px;
  border: 0;
  border-left: 1px solid #f1e4d0;
  background: transparent;
  color: #755934;
  margin-left: 8px;
}
.agenda-planner .agenda-calendar {
  border: 0;
  border-radius: 0;
  height: 660px;
  max-height: 70vh;
}
.agenda-planner .agenda-calendar.is-scroll-up {
  box-shadow: inset 0 22px 18px -18px rgba(163, 124, 72, 0.35);
}
.agenda-planner .agenda-calendar.is-scroll-down {
  box-shadow: inset 0 -22px 18px -18px rgba(163, 124, 72, 0.35);
}
.agenda-planner .agenda-hour-label {
  background: white;
  color: #755934;
  font-size: 11px;
  padding-top: 8px;
  font-variant-numeric: tabular-nums;
}
.agenda-planner .agenda-hour-items {
  right: 14px;
}
.agenda-planner .agenda-item.agenda-item-timed {
  background: #f9f3e9;
  border-color: #f1e4d0;
  border-left-color: #a37c48;
  box-shadow: 0 2px 5px rgba(163, 124, 72, 0.06);
  border-radius: 7px;
}
.agenda-planner .agenda-item.agenda-item-timed h4 {
  font-weight: 600;
}
.agenda-planner .agenda-item.agenda-item-timed:hover {
  border-color: #d4ac6d;
  border-left-color: #a37c48;
  box-shadow: 0 7px 18px rgba(163, 124, 72, 0.12);
  transform: translateY(-1px);
}
.agenda-planner .agenda-item-time {
  color: #755934;
  font-variant-numeric: tabular-nums;
}
.agenda-planner .agenda-item-actions button {
  background: rgba(255, 255, 255, 0.7);
  color: #44341e;
}
.agenda-planner .agenda-drag {
  color: #755934;
}
.agenda-planner .agenda-calendar-footer {
  padding: 13px 24px;
  border-top: 1px solid #f1e4d0;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  font-size: 10px;
  color: #755934;
}
.agenda-planner .agenda-empty {
  border: 0;
  border-radius: 0;
  padding: 100px 24px;
  background: white;
}
.agenda-planner .agenda-empty .agenda-empty-icon {
  display: grid;
  width: 64px;
  height: 64px;
  place-items: center;
  margin: 0 auto 20px;
  border: 1px solid #f1e4d0;
  border-radius: 18px;
  background: #f9f3e9;
  color: #a37c48;
  font-size: 25px;
}
.agenda-planner .agenda-empty .agenda-eyebrow {
  margin-bottom: 8px;
}
.agenda-planner .agenda-empty h3 {
  margin: 0 0 8px;
  color: #44341e;
}
.agenda-planner .agenda-empty p {
  margin: 0 auto 20px;
  max-width: 410px;
}
.agenda-planner .agenda-loader {
  display: inline-block;
  width: 28px;
  height: 28px;
  margin-bottom: 18px;
  border: 3px solid #f1e4d0;
  border-top-color: #a37c48;
  border-radius: 50%;
  animation: agenda-spin 700ms linear infinite;
}
.agenda-planner .agenda-message {
  font-size: 13px;
  border: 1px solid #f1e4d0;
}
.agenda-planner .agenda-message.is-error {
  border-left: 4px solid #a37c48;
  font-weight: 600;
}
.agenda-planner button:disabled {
  cursor: default;
  opacity: 0.4;
}
.agenda-planner .modal26-header,
.agenda-planner .modal26-footer {
  background: #fcfaf6;
  border-color: #f1e4d0;
}
.agenda-planner .modal26-title,
.agenda-planner .form-label {
  color: #44341e;
}
.agenda-planner .form-input:focus,
.agenda-planner .form-textarea:focus {
  border-color: #a37c48;
  box-shadow: 0 0 0 3px rgba(212, 172, 109, 0.2);
}
@media (max-width: 1199px) {
  .agenda-planner .agenda-workspace {
    grid-template-columns: 230px minmax(0, 1fr);
  }
  .agenda-planner .agenda-sidebar {
    padding: 20px 14px;
  }
  .agenda-planner .agenda-day-heading {
    flex-wrap: wrap;
    padding: 20px;
  }
  .agenda-planner .agenda-overview {
    gap: 16px;
  }
  .agenda-planner .agenda-overview > div + div {
    padding-left: 16px;
  }
}
@media (max-width: 767px) {
  .agenda-planner .agenda-toolbar {
    padding: 24px;
    gap: 22px;
  }
  .agenda-planner .agenda-overview {
    gap: 28px;
  }
  .agenda-planner .agenda-overview > div + div {
    padding-left: 28px;
  }
  .agenda-planner .agenda-overview strong {
    font-size: 26px;
  }
  .agenda-planner .agenda-workspace {
    grid-template-columns: minmax(0, 1fr);
  }
  .agenda-planner .agenda-sidebar {
    border-right: 0;
    border-bottom: 1px solid #f1e4d0;
    padding: 20px;
  }
  .agenda-planner .agenda-month-grid button {
    aspect-ratio: auto;
    height: 34px;
  }
  .agenda-planner .agenda-month-hint {
    margin-bottom: 16px;
  }
  .agenda-planner .agenda-sidebar-heading {
    padding-top: 16px;
  }
  .agenda-planner .agenda-days {
    flex-direction: row;
    overflow-x: auto;
    max-height: none;
  }
  .agenda-planner .agenda-days .agenda-day {
    width: 190px;
    flex: 0 0 190px;
  }
  .agenda-planner .agenda-sidebar-tip {
    display: none;
  }
  .agenda-planner .agenda-day-heading {
    gap: 16px;
  }
  .agenda-planner .agenda-day-heading > .btn {
    width: 100%;
  }
  .agenda-planner .agenda-calendar-toolbar {
    padding: 12px;
    flex-wrap: wrap;
  }
  .agenda-planner .agenda-calendar-toolbar .agenda-actions {
    width: auto;
  }
  .agenda-planner .agenda-view-label {
    font-size: 10px;
  }
  .agenda-planner .agenda-calendar-footer {
    flex-direction: column;
    gap: 5px;
    padding: 12px;
  }
  .agenda-planner .agenda-hour {
    min-width: 540px;
  }
  .agenda-planner .agenda-hour-items {
    right: 4px;
  }
  .agenda-planner .agenda-date-heading {
    gap: 12px;
  }
}

body.agenda-dragging,
body.agenda-dragging * {
  cursor: grabbing !important;
}

.agenda-drag-preview {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10020;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 64px;
  max-height: 104px;
  padding: 12px 13px;
  overflow: hidden;
  pointer-events: none;
  border: 1px solid #d4ac6d;
  border-left: 4px solid #a37c48;
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.97);
  color: #44341e;
  box-shadow: 0 18px 45px rgba(68, 52, 30, 0.2), 0 4px 12px rgba(163, 124, 72, 0.12);
  transform: translate3d(-999px, -999px, 0);
  will-change: transform;
  animation: agenda-preview-in 140ms ease-out;
}

.agenda-drag-preview-grip {
  color: #a37c48;
  font-size: 21px;
  line-height: 1;
}

.agenda-drag-preview-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 3px;
}
.agenda-drag-preview-copy small {
  color: #755934;
  font-size: 10px;
}
.agenda-drag-preview-copy strong {
  overflow: hidden;
  font-size: 13px;
  font-weight: 650;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.agenda-drag-preview-time {
  min-width: 52px;
  padding: 6px 8px;
  border-radius: 8px;
  background: #a37c48;
  color: white;
  font-size: 12px;
  font-weight: 700;
  text-align: center;
  font-variant-numeric: tabular-nums;
}

@keyframes agenda-preview-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes agenda-status-in {
  from {
    opacity: 0;
    transform: translate(-50%, 6px);
  }
  to {
    opacity: 1;
    transform: translate(-50%, 0);
  }
}
@keyframes agenda-spin {
  to {
    transform: rotate(360deg);
  }
}
@media (prefers-reduced-motion: reduce) {
  .agenda-planner *,
  .agenda-planner *::before,
  .agenda-planner *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}
body.agenda-editor-open .ck.ck-balloon-panel {
  z-index: 10100;
}

h1 {
  color: #d4ac6d;
}

/*# sourceMappingURL=main.css.map */
