zreev-google-calendar { display:block; width:100%; min-width:0; font:inherit; color:#152033; }
.zreev-calendar-control { padding:24px; border:1px solid #e5eaf2; border-radius:12px; background:#fff; }
.zreev-calendar-control header { display:flex; align-items:center; gap:10px; margin-bottom:24px; }
.zreev-calendar-control h2 { margin:0; font-size:20px; line-height:1.4; font-weight:700; }
.zreev-calendar-control dl { display:grid; gap:16px; margin:0; }
.zreev-calendar-control dl div { display:grid; grid-template-columns:minmax(140px,1fr) 2fr; gap:16px; }
.zreev-calendar-control dt { color:#667085; }
.zreev-calendar-control dd { margin:0; overflow-wrap:anywhere; }
.zreev-calendar-control p { margin:16px 0 0; line-height:1.6; }
.zreev-calendar-actions { display:flex; flex-wrap:wrap; gap:16px; margin-top:24px; }
.zreev-calendar-control button { font:inherit; font-weight:600; line-height:1.4; color:#2f6bff; background:#fff; border:1px solid #2f6bff; border-radius:12px; padding:10px 16px; cursor:pointer; box-shadow:none; }
.zreev-calendar-control button:disabled { opacity:.55; cursor:wait; }
.zreev-calendar-control :focus-visible { outline:2px solid #2f6bff; outline-offset:3px; }
.zreev-calendar-help { position:relative; }
.zreev-calendar-help summary { display:grid; place-items:center; width:22px; height:22px; border:1px solid #aab6c8; border-radius:50%; font-size:13px; cursor:pointer; list-style:none; }
.zreev-calendar-help summary::-webkit-details-marker { display:none; }
.zreev-calendar-help p { position:absolute; z-index:3; top:24px; left:0; width:min(320px,70vw); padding:16px; margin:0; background:#fff; border:1px solid #e5eaf2; border-radius:12px; font-size:14px; }
.zreev-calendar-filters { display:grid; gap:24px; margin-top:32px; }
.zreev-calendar-filters fieldset { border:0; padding:0; margin:0; display:grid; gap:12px; }
.zreev-calendar-filters legend { font-weight:600; margin-bottom:12px; }
.zreev-calendar-hint { color:#667085; font-size:14px; line-height:1.5; }
.zreev-calendar-filters label { display:flex; align-items:center; gap:10px; }
.zreev-calendar-filters label[hidden] { display:none; }
.zreev-calendar-filters input { width:18px; height:18px; accent-color:#2f6bff; flex:none; }
.zreev-calendar-filters > button { justify-self:end; }
.zreev-calendar-error { color:#b42318; }
@media (max-width:600px) {
  .zreev-calendar-control { padding:20px; }
  .zreev-calendar-control dl div { grid-template-columns:1fr; gap:4px; }
  .zreev-calendar-help p { left:auto; right:0; }
}

.zreev-appointment-calendar{margin:24px 0;text-align:left;color:#64748b;font-size:14px;line-height:1.6;scroll-margin-top:96px}
.zreev-appointment-calendar p{margin:0 0 12px}
.zreev-appointment-calendar button,.zreev-appointment-calendar a{display:inline-block;padding:10px 16px;border:1px solid #2f6bff;border-radius:9px;background:transparent;color:#2f6bff;font:inherit;font-weight:600;text-decoration:none;cursor:pointer}
.zreev-appointment-calendar button:disabled{opacity:.6;cursor:wait}
.zreev-appointment-calendar button:focus-visible,.zreev-appointment-calendar a:focus-visible{outline:2px solid #2f6bff;outline-offset:3px}
@media(max-width:600px){.zreev-appointment-calendar button,.zreev-appointment-calendar a{display:block;width:100%;box-sizing:border-box;text-align:center}}

.zreev-integrations-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;font:inherit}
.zreev-integrations-tabs button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:8px 16px;border:0;border-radius:999px;background:#f3f5f8;color:#64748b;font:inherit;font-size:.875rem;font-weight:600;line-height:1.5;cursor:pointer}
.zreev-integrations-tabs button[aria-selected="true"]{background:#eaf1ff;color:#2f6bff}
.zreev-integrations-tabs button:focus-visible{outline:2px solid #2f6bff;outline-offset:3px}
.zreev-calendar-users{list-style:none;padding:0;margin:0;border-top:1px solid #e5eaf2}
.zreev-calendar-users>li{margin:0;border-bottom:1px solid #e5eaf2}
.zreev-calendar-users>li[hidden]{display:none}
.zreev-calendar-users>li>label{display:grid;grid-template-columns:18px minmax(0,1fr) minmax(140px,.6fr);gap:12px;align-items:center;padding:14px 0;cursor:pointer}
.zreev-calendar-user-name,.zreev-calendar-user-facility{overflow-wrap:anywhere}
.zreev-calendar-user-facility{color:#667085}
.zreev-calendar-users-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,.6fr);gap:12px;padding:0 0 0 30px;color:#667085;font-size:14px;font-weight:600}
@media(max-width:600px){.zreev-calendar-users-head{display:none}.zreev-calendar-users>li>label{grid-template-columns:18px minmax(0,1fr);row-gap:4px}.zreev-calendar-users input{grid-row:1/3}.zreev-calendar-user-facility{grid-column:2;font-size:14px}}

.zreev-calendar-control .zreev-calendar-scope-note{margin:0 0 24px;color:#152033}
.zreev-calendar-scope-options{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0 0 4px}
.zreev-calendar-scope-options label{min-height:32px;font-weight:600;cursor:pointer}
.zreev-calendar-filters input:disabled{cursor:default}
.zreev-calendar-filters [data-calendar-filter-error][hidden]{display:none}

.zreev-integration-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-bottom:24px}
.zreev-integration-tile{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;padding:24px;border:1px solid #e5eaf2;border-radius:12px;background:#fff;color:#152033;text-align:left;font:inherit;cursor:pointer}
.zreev-integration-tile img{display:block;object-fit:contain}
.zreev-integration-tile-name{font-size:1rem;font-weight:700}
.zreev-integration-tile-status{color:#667085;font-size:.875rem;line-height:1.5}
.zreev-integration-tile-link{color:#2f6bff;font-size:.875rem;font-weight:600;margin-top:auto}
.zreev-integration-tile:hover,.zreev-integration-tile[aria-expanded="true"]{border-color:#2f6bff}
.zreev-integration-tile:focus-visible{outline:2px solid #2f6bff;outline-offset:3px}
.zreev-calendar-control[hidden]{display:none}
@media(max-width:600px){.zreev-integration-grid{grid-template-columns:1fr}}
