/* Calendar Integrations — isolated page layout */
.po-calendar-page,
.po-calendar-page *{box-sizing:border-box}

.po-calendar-page{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  padding:0 0 64px!important;
}

.po-calendar-page > *{margin-top:0}
.po-calendar-page > * + *{margin-top:24px!important}

.po-calendar-page .po-crm-header{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.po-calendar-page .po-crm-header>div{min-width:0!important;max-width:1050px}
.po-calendar-page .po-crm-header .po-eyebrow{display:block!important;margin:0 0 10px!important}
.po-calendar-page .po-crm-header h1{margin:0 0 12px!important}
.po-calendar-page .po-crm-header p{margin:0!important;line-height:1.55!important}
.po-calendar-page .po-crm-header>.po-button{
  flex:0 0 auto!important;
  align-self:center!important;
  min-height:54px!important;
  margin:0!important;
  padding:0 24px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
}

.po-calendar-page .po-calendar-kpis{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  margin:26px 0 0!important;
  padding:0!important;
}
.po-calendar-page .po-calendar-kpis article{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:8px!important;
  width:100%!important;
  min-width:0!important;
  min-height:124px!important;
  margin:0!important;
  padding:22px 24px!important;
  border:1px solid #d7e1ee!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:0 12px 30px rgba(15,39,76,.06)!important;
  overflow:hidden!important;
}
.po-calendar-page .po-calendar-kpis article span{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  color:#60728d!important;
  font-size:14px!important;
  font-weight:600!important;
  line-height:1.35!important;
}
.po-calendar-page .po-calendar-kpis article strong{
  display:block!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  color:#0d2348!important;
  font-size:34px!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:-.025em!important;
}
.po-calendar-page .po-calendar-kpis article small{
  display:block!important;
  width:100%!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  color:#74849b!important;
  font-size:13px!important;
  line-height:1.4!important;
}

.po-calendar-page .po-crm-card{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:28px 30px!important;
  border:1px solid #d7e1ee!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 14px 32px rgba(15,39,76,.055)!important;
  overflow:hidden!important;
}
.po-calendar-page .po-card-heading{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:18px!important;
  width:100%!important;
  margin:0 0 22px!important;
  padding:0 0 20px!important;
  border:0!important;
  border-bottom:1px solid #e3eaf2!important;
  background:transparent!important;
}
.po-calendar-page .po-card-heading .po-eyebrow{display:block!important;margin:0 0 8px!important;padding:0!important}
.po-calendar-page .po-card-heading h2,
.po-calendar-page .po-crm-card>h2{
  margin:0!important;
  padding:0!important;
  color:#102a56!important;
  font-size:26px!important;
  line-height:1.2!important;
}
.po-calendar-page .po-crm-card>p{margin:10px 0 20px!important;color:#64758d!important;line-height:1.6!important}

.po-calendar-page .po-table-wrap{
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow-x:auto!important;
  border:1px solid #e1e8f0!important;
  border-radius:15px!important;
  background:#fff!important;
}
.po-calendar-page .po-table-wrap table{width:100%!important;margin:0!important;border-collapse:collapse!important}
.po-calendar-page .po-table-wrap th,
.po-calendar-page .po-table-wrap td{
  padding:15px 17px!important;
  border:0!important;
  border-bottom:1px solid #e8edf3!important;
  text-align:left!important;
  vertical-align:middle!important;
}
.po-calendar-page .po-table-wrap th{background:#f7f9fc!important;color:#526781!important;font-size:12px!important;text-transform:uppercase!important;letter-spacing:.045em!important}
.po-calendar-page .po-table-wrap tbody tr:last-child td{border-bottom:0!important}
.po-calendar-page .po-table-wrap td small{display:block!important;margin-top:5px!important;color:#718096!important}
.po-calendar-page .po-empty-state{margin:0!important;padding:32px 24px!important;text-align:center!important;border:1px dashed #cfdbea!important;border-radius:13px!important;background:#f7f9fc!important;color:#6b7f98!important}

.po-calendar-page .po-calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:20px!important;
  width:100%!important;
  margin:24px 0 0!important;
  padding:0!important;
}
.po-calendar-page .po-calendar-grid .po-crm-card{padding:28px 30px!important}
.po-calendar-page .po-cal-logo{display:grid!important;place-items:center!important;width:48px!important;height:48px!important;margin:0 0 16px!important;border-radius:13px!important;background:#eaf3ff!important;color:#0d63ce!important;font-size:21px!important;font-weight:800!important}
.po-calendar-page .po-cal-provider{display:inline-flex!important;padding:6px 10px!important;border-radius:999px!important;background:#eef4ff!important;color:#215ca8!important;font-weight:700!important}
.po-calendar-page .po-cal-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
.po-calendar-page .po-cal-hint{margin:18px 0 0!important;padding:13px 15px!important;border:1px solid #e1e8f0!important;border-radius:12px!important;background:#f8fafc!important;color:#64748b!important;line-height:1.5!important}

.po-calendar-page .po-cal-form{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 22px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.po-calendar-page .po-cal-form>label{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#18345b!important;
  font-size:14px!important;
  font-weight:700!important;
  line-height:1.35!important;
}
.po-calendar-page .po-cal-form>label:before,
.po-calendar-page .po-cal-form>label:after{display:none!important;content:none!important}
.po-calendar-page .po-cal-form input:not([type=checkbox]),
.po-calendar-page .po-cal-form select{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0 15px!important;
  border:1px solid #cfdbea!important;
  border-radius:12px!important;
  background:#fff!important;
  color:#102a43!important;
  font:inherit!important;
  font-weight:500!important;
  line-height:1.35!important;
  box-shadow:none!important;
  position:static!important;
  transform:none!important;
}
.po-calendar-page .po-cal-form input:focus,
.po-calendar-page .po-cal-form select:focus{outline:0!important;border-color:#1676e8!important;box-shadow:0 0 0 3px rgba(22,118,232,.12)!important}
.po-calendar-page .po-cal-form .po-cal-check{
  grid-column:1/-1!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  gap:10px!important;
  min-height:50px!important;
  padding:13px 15px!important;
  border:1px solid #e1e8f0!important;
  border-radius:12px!important;
  background:#f6f8fb!important;
}
.po-calendar-page .po-cal-form .po-cal-check input{flex:0 0 auto!important;width:19px!important;height:19px!important;min-height:0!important;margin:0!important;padding:0!important}
.po-calendar-page .po-cal-form>.po-button{justify-self:start!important;min-height:50px!important;margin:0!important;padding:0 21px!important}

.po-calendar-page .po-cal-settings{padding:0!important}
.po-calendar-page .po-cal-settings summary{display:block!important;cursor:pointer!important;list-style:none!important;margin:0!important;padding:22px 28px!important;color:#102a56!important;font-size:17px!important;font-weight:800!important}
.po-calendar-page .po-cal-settings summary::-webkit-details-marker{display:none!important}
.po-calendar-page .po-cal-settings[open] summary{border-bottom:1px solid #e3eaf2!important}
.po-calendar-page .po-cal-settings .po-cal-form{padding:26px 28px 28px!important}

@media(max-width:1100px){
  .po-calendar-page .po-calendar-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:820px){
  .po-calendar-page .po-crm-header{flex-direction:column!important}
  .po-calendar-page .po-crm-header>.po-button{width:100%!important;align-self:stretch!important}
  .po-calendar-page .po-calendar-grid,
  .po-calendar-page .po-cal-form{grid-template-columns:1fr!important}
  .po-calendar-page .po-cal-form .po-cal-check{grid-column:1!important}
}
@media(max-width:600px){
  .po-calendar-page{padding-bottom:40px!important}
  .po-calendar-page>*+*{margin-top:18px!important}
  .po-calendar-page .po-calendar-kpis{grid-template-columns:1fr!important;gap:12px!important;margin-top:20px!important}
  .po-calendar-page .po-calendar-kpis article{min-height:108px!important;padding:19px 20px!important}
  .po-calendar-page .po-calendar-kpis article strong{font-size:30px!important}
  .po-calendar-page .po-crm-card,
  .po-calendar-page .po-calendar-grid .po-crm-card{padding:21px 19px!important;border-radius:18px!important}
  .po-calendar-page .po-card-heading{margin-bottom:18px!important;padding-bottom:16px!important}
  .po-calendar-page .po-card-heading h2,
  .po-calendar-page .po-crm-card>h2{font-size:23px!important}
  .po-calendar-page .po-table-wrap th,
  .po-calendar-page .po-table-wrap td{padding:13px!important}
  .po-calendar-page .po-cal-actions{flex-direction:column!important}
  .po-calendar-page .po-cal-actions .po-button{width:100%!important}
  .po-calendar-page .po-cal-settings summary{padding:19px!important}
  .po-calendar-page .po-cal-settings .po-cal-form{padding:20px 19px 22px!important}
}

/* 0.59.6.17 — section spacing, OAuth disclosure and button consistency */
.po-calendar-page > .po-calendar-kpis,
.po-calendar-page > .po-crm-card,
.po-calendar-page > .po-calendar-grid,
.po-calendar-page > .po-cal-settings{
  margin-top:30px!important;
}
.po-calendar-page > .po-calendar-grid + .po-crm-card,
.po-calendar-page > .po-crm-card + .po-crm-card,
.po-calendar-page > .po-crm-card + .po-cal-settings{
  margin-top:30px!important;
}
.po-calendar-page .po-cal-settings{
  overflow:hidden!important;
}
.po-calendar-page .po-cal-settings summary{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  min-height:68px!important;
  padding:20px 62px 20px 28px!important;
  user-select:none!important;
}
.po-calendar-page .po-cal-settings summary::after{
  content:""!important;
  position:absolute!important;
  right:28px!important;
  top:50%!important;
  width:10px!important;
  height:10px!important;
  margin-top:-7px!important;
  border-right:2px solid #17345f!important;
  border-bottom:2px solid #17345f!important;
  transform:rotate(45deg)!important;
  transform-origin:center!important;
  transition:transform .18s ease, margin-top .18s ease!important;
}
.po-calendar-page .po-cal-settings[open] summary::after{
  margin-top:-2px!important;
  transform:rotate(225deg)!important;
}
.po-calendar-page .po-cal-settings summary:hover{
  background:#f7f9fc!important;
}
.po-calendar-page .po-cal-settings .po-cal-form--settings > .po-button{
  min-height:46px!important;
  height:46px!important;
  width:auto!important;
  max-width:max-content!important;
  padding:0 20px!important;
  border-radius:11px!important;
  font-size:15px!important;
  line-height:1!important;
  justify-self:start!important;
  align-self:end!important;
}
@media(max-width:600px){
  .po-calendar-page > .po-calendar-kpis,
  .po-calendar-page > .po-crm-card,
  .po-calendar-page > .po-calendar-grid,
  .po-calendar-page > .po-cal-settings{
    margin-top:22px!important;
  }
  .po-calendar-page .po-cal-settings summary{
    min-height:62px!important;
    padding:18px 52px 18px 19px!important;
  }
  .po-calendar-page .po-cal-settings summary::after{right:21px!important}
}
