.iatc { position: relative; display: inline-block; font-family: inherit; }

/* Button can be styled by theme; keep neutral */
.iatc__btn {
  appearance: none;
  border: 1px solid rgba(0,0,0,0.18);
  background: #fff;
  padding: 0.65rem 1.0rem;
  border-radius: 999px;
  cursor: pointer;
  font: inherit;
  box-shadow: 0 8px 24px rgba(0,0,0,0.10);
}

/* Dropdown menu (fallback) */
.iatc__dropdown {
  position: absolute;
  z-index: 9999;
  min-width: 320px;
  left: 0;
  margin-top: 0.5rem;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 14px;
  box-shadow: 0 20px 50px rgba(0,0,0,0.20);
  padding: 10px;
}

/* Popup overlay */
.iatc__overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  background: rgba(0,0,0,0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.iatc__dialog {
  width: min(360px, 100%);
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 28px 80px rgba(0,0,0,0.28);
  border: 1px solid rgba(0,0,0,0.10);
  overflow: hidden;
}

.iatc__dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 18px 12px 18px;
}

.iatc__dialog-title {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 800;
  font-size: 28px;
  line-height: 1.1;
}

.iatc__header-icon {
  width: 34px;
  height: 34px;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  /* simple calendar-plus icon */
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2.5' x2='16' y2='6'/><line x1='8' y1='2.5' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/><line x1='12' y1='14' x2='12' y2='18'/><line x1='10' y1='16' x2='14' y2='16'/></svg>");
}

.iatc__close {
  appearance: none;
  border: 0;
  background: transparent;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  padding: 6px 10px;
  border-radius: 10px;
}
.iatc__close:hover { background: rgba(0,0,0,0.06); }

.iatc__menu {
  padding: 0 8px 12px 8px;
}

.iatc__link {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 14px;
  text-decoration: none;
  color: inherit;
  border-radius: 12px;
  font-size: 22px;
  font-weight: 500;
}
.iatc__link:hover { background: rgba(0,0,0,0.06); }
.iatc__icon { width: 28px; height: 28px; display: inline-block; background-size: contain; background-repeat: no-repeat; background-position: center; }

.iatc__icon--apple { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23000'><path d='M16.365 1.43c0 1.14-.46 2.2-1.29 3.04-.9.9-2.33 1.6-3.58 1.5-.16-1.2.53-2.47 1.37-3.31.9-.9 2.45-1.56 3.5-1.23z'/><path d='M20.2 17.2c-.7 1.6-1.6 3.1-2.7 4.6-.9 1.2-1.7 2.2-3.1 2.2-1.3 0-1.7-.8-3.3-.8s-2.1.8-3.3.8c-1.4 0-2.3-1.1-3.2-2.3C.7 20.6 0 17.9 0 15.4c0-4.8 3.1-7.4 6.2-7.4 1.6 0 3 .9 4 .9 1 0 2.7-1.1 4.6-1 0 0 3.5.1 5.2 2.7-4.6 2.5-3.9 8.3.2 10.6z'/></svg>"); }
.iatc__icon--google { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%23EA4335' d='M24 9.5c3.2 0 5.4 1.4 6.6 2.5l4.8-4.8C32.6 4.7 28.7 2.8 24 2.8 14.8 2.8 7 8.9 4 17.3l5.9 4.6C11.4 14.9 17.2 9.5 24 9.5z'/><path fill='%234285F4' d='M46.5 24.5c0-1.6-.1-2.8-.4-4.1H24v7.8h12.7c-.3 2-1.6 5-4.6 7.1l7 5.4c4.1-3.8 6.4-9.4 6.4-15.2z'/><path fill='%2334A853' d='M9.9 28.1A14.5 14.5 0 0 1 9.1 24c0-1.4.3-2.8.7-4.1l-5.9-4.6A21.4 21.4 0 0 0 2.5 24c0 3.4.8 6.7 2.3 9.7l5.1-5.6z'/><path fill='%23FBBC05' d='M24 45.2c5.8 0 10.6-1.9 14.1-5.2l-7-5.4c-1.9 1.3-4.4 2.3-7.1 2.3-6.8 0-12.6-5.4-14.1-12.8l-5.1 5.6C7 39.1 14.8 45.2 24 45.2z'/></svg>"); }
.iatc__icon--ical { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='18' rx='2'/><line x1='16' y1='2.5' x2='16' y2='6'/><line x1='8' y1='2.5' x2='8' y2='6'/><line x1='3' y1='10' x2='21' y2='10'/><line x1='7' y1='14' x2='17' y2='14'/><line x1='7' y1='18' x2='13' y2='18'/></svg>"); }
.iatc__icon--m365 { background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%23F25022' d='M6 6h17v17H6z'/><path fill='%237FBA00' d='M25 6h17v17H25z'/><path fill='%2300A4EF' d='M6 25h17v17H6z'/><path fill='%23FFB900' d='M25 25h17v17H25z'/></svg>\"); }
.iatc__icon--teams { background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%235B5FC7' d='M30 14c0-3.3 2.7-6 6-6s6 2.7 6 6-2.7 6-6 6-6-2.7-6-6z'/><path fill='%235B5FC7' d='M28 22h10c5 0 8 3 8 8v8H28V22z'/><path fill='%236B6FD2' d='M4 16h26c2.2 0 4 1.8 4 4v18c0 2.2-1.8 4-4 4H14l-6 4v-4H4c-2.2 0-4-1.8-4-4V20c0-2.2 1.8-4 4-4z'/><path fill='%23fff' d='M13 23h10v3h-3v11h-4V26h-3z'/></svg>\"); }
.iatc__icon--outlook { background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%230078D4' d='M6 10h22c2.2 0 4 1.8 4 4v20c0 2.2-1.8 4-4 4H6V10z'/><path fill='%231061B0' d='M30 14l12-6v32l-12-6V14z'/><path fill='%23fff' d='M13 18c-3 0-5 2.7-5 6s2 6 5 6 5-2.7 5-6-2-6-5-6zm0 3c1.2 0 2 .9 2 3s-.8 3-2 3-2-.9-2-3 .8-3 2-3z'/></svg>\"); }
.iatc__icon--yahoo { background-image: url(\"data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'><path fill='%235B00D5' d='M30.6 8 24 21.2 17.4 8H10l10.3 20V40h7.4V28L38 8z'/><path fill='%235B00D5' d='M35.5 40h-7.3l5.6-11.6z'/></svg>\"); }

body.iatc__noscroll { overflow: hidden; }
.iatc--inline .iatc__dropdown { position: static; box-shadow: none; border: 0; padding: 0; display: flex; gap: 0.5rem; min-width: auto; }
.iatc--inline .iatc__link { border: 1px solid rgba(0,0,0,0.12); font-size: 16px; padding: 10px 12px; }
.iatc--invalid .iatc__btn { opacity: 0.6; cursor: not-allowed; box-shadow: none; }