.portal-authenticated .rr-calendar{padding:var(--rr-space-6);min-width:0;max-width:100%}.rr-calendar .rr-page-heading{margin-bottom:var(--rr-space-5)}.rr-calendar .rr-page-heading p{margin-top:var(--rr-space-2);font:var(--rr-callout);color:var(--rr-text-2)}
.rr-calendar .rr-heading-actions{flex-wrap:wrap}.rr-calendar .rr-calendar-demo{padding:var(--rr-space-3);margin-bottom:var(--rr-space-4);border-radius:var(--rr-radius-sm);background:var(--rr-plum-50);font:var(--rr-caption);color:var(--rr-text-2)}
.rr-calendar-toolbar,.rr-calendar-date-controls,.rr-calendar-filters,.rr-calendar-modes{display:flex;align-items:center;gap:var(--rr-space-2);flex-wrap:wrap}.rr-calendar-toolbar{justify-content:space-between;margin-bottom:var(--rr-space-4);gap:var(--rr-space-4)}.rr-calendar-date-controls h2{font:var(--rr-headline);margin:0 var(--rr-space-2)}
.rr-calendar-modes{gap:var(--rr-space-1);padding:var(--rr-space-1);border-radius:var(--rr-radius-md);background:var(--rr-sunken)}.rr-calendar-modes button{min-height:44px;padding:var(--rr-space-2) var(--rr-space-3);font:var(--rr-label);border:0;border-radius:var(--rr-radius-sm);background:transparent;color:var(--rr-text-2)}.rr-calendar-modes [aria-pressed=true]{background:var(--rr-white);color:var(--rr-plum);box-shadow:var(--rr-e1)}
.rr-calendar-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:var(--rr-space-4);align-items:start}.rr-calendar-main{padding:0;overflow:hidden;min-width:0}.rr-calendar-grid-scroll{overflow:auto;max-height:790px;scrollbar-width:thin;overscroll-behavior:contain}.rr-calendar-time-grid{min-width:calc(64px + var(--calendar-days)*108px)}
.rr-calendar-grid-head{display:grid;grid-template-columns:64px repeat(var(--calendar-days),minmax(0,1fr));position:sticky;top:0;background:var(--rr-white);border-bottom:1px solid var(--rr-line);z-index:4;min-height:60px}.rr-calendar-grid-head>span{align-self:center;text-align:center;font:var(--rr-caption);color:var(--rr-text-2)}.rr-calendar-grid-head button{display:flex;align-items:center;justify-content:center;gap:var(--rr-space-2);min-height:60px;border:0;background:var(--rr-white);color:var(--rr-plum);font:var(--rr-label)}.rr-calendar-grid-head button span{font:var(--rr-caption);color:var(--rr-text-2)}.rr-calendar-grid-head strong{font:var(--rr-title2)}.rr-calendar .is-today{background:var(--rr-plum);color:var(--rr-cream);border-radius:var(--rr-radius-sm);padding:var(--rr-space-1) var(--rr-space-2)}
.rr-calendar-grid-body{display:grid;grid-template-columns:64px repeat(var(--calendar-days),minmax(0,1fr));height:calc(var(--calendar-hours)*88px);margin:0 var(--rr-space-3) var(--rr-space-5) 0}.rr-calendar-times{position:relative;color:var(--rr-text-2);font:var(--rr-caption)}.rr-calendar-times>span{position:absolute;right:var(--rr-space-2);transform:translateY(-50%);white-space:nowrap}.rr-calendar-times>span:first-child{transform:none}
.rr-calendar-day{position:relative;border-left:1px solid var(--rr-line);background:repeating-linear-gradient(to bottom,var(--rr-line) 0,var(--rr-line) 1px,transparent 1px,transparent 88px)}.rr-calendar-event{position:absolute;z-index:1;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;min-height:44px;overflow:hidden;text-align:left;background:var(--rr-sunken);color:var(--rr-plum);border:0;border-left:4px solid var(--rr-plum);border-radius:var(--rr-radius-sm);padding:var(--rr-space-2);font:var(--rr-caption);line-height:1.3;box-sizing:border-box}.rr-calendar-event>span{flex:none;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-calendar-event time,.rr-calendar-event strong{font-weight:800}.rr-calendar-event small{flex:none;display:block;font:var(--rr-caption);color:var(--rr-text-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rr-calendar-event--request{border:1px solid var(--rr-coral-700);background:var(--rr-white)}.rr-calendar-event--group{background:var(--rr-plum-50)}.rr-calendar-event--open{padding-top:var(--rr-space-1);background:var(--rr-success-tint);border-color:var(--rr-success);z-index:0}.rr-calendar-event.is-contained{z-index:2;box-shadow:var(--rr-e1)}.rr-calendar-event.is-compact{display:flex;flex-direction:row;align-items:center}.rr-calendar-event.is-compact>span{flex:1;min-width:0}.rr-calendar-event svg{width:16px;height:16px;display:inline-block;vertical-align:middle}
.rr-calendar-sidebar{display:flex;flex-direction:column;gap:var(--rr-space-4);min-width:0}.rr-calendar-sidebar .rr-panel{padding:var(--rr-space-4)}.rr-calendar-sidebar h2{font:var(--rr-title2);margin:0}.rr-calendar-sidebar header{display:flex;align-items:center;justify-content:space-between;gap:var(--rr-space-2)}.rr-calendar-sidebar p{font:var(--rr-caption);color:var(--rr-text-2);line-height:1.6;margin:var(--rr-space-2) 0 var(--rr-space-3)}.rr-calendar-requests article{padding:var(--rr-space-4);background:var(--rr-cream);border-radius:var(--rr-radius-md);margin-top:var(--rr-space-3)}.rr-calendar-requests article>strong{font:var(--rr-label)}.rr-calendar-requests article>div{display:flex;flex-wrap:wrap;gap:var(--rr-space-2)}.rr-calendar-requests .rr-button{font:var(--rr-caption);padding:var(--rr-space-2) var(--rr-space-3)}
.rr-calendar-window-list{display:flex;flex-direction:column;gap:var(--rr-space-2);margin-bottom:var(--rr-space-3)}.rr-calendar-window{display:block;min-height:52px;text-align:left;width:100%;background:var(--rr-plum-50);border:0;border-radius:var(--rr-radius-sm);color:var(--rr-plum);padding:var(--rr-space-3);overflow-wrap:anywhere}.rr-calendar-window strong{font:var(--rr-label);display:block}.rr-calendar-window small{font:var(--rr-caption);color:var(--rr-text-2);display:block;margin-top:var(--rr-space-1)}
.rr-calendar-connection{padding:var(--rr-space-4);background:var(--rr-sunken);border-radius:var(--rr-radius-lg)}.rr-calendar-legend{display:flex;gap:var(--rr-space-3);flex-wrap:wrap;font:var(--rr-caption);color:var(--rr-text-2)}.rr-calendar-legend>span{display:flex;align-items:center;gap:var(--rr-space-2)}.rr-calendar-legend i{width:14px;height:14px;border-left:3px solid var(--rr-plum);background:var(--rr-sunken);border-radius:var(--rr-radius-xs)}.rr-calendar-legend .rr-calendar-legend--group{background:var(--rr-plum-50)}.rr-calendar-legend .rr-calendar-legend--open{background:var(--rr-success-tint);border-color:var(--rr-success)}.rr-calendar-legend .rr-calendar-legend--request{background:var(--rr-white);border:1px solid var(--rr-coral-700)}
.rr-calendar-month{display:grid;grid-template-columns:repeat(7,minmax(108px,1fr));min-width:756px}.rr-calendar-month>span{font:var(--rr-label);padding:var(--rr-space-3);text-align:center;border-bottom:1px solid var(--rr-line)}.rr-calendar-month>section{min-height:130px;border:1px solid var(--rr-line);padding:var(--rr-space-2);min-width:0}.rr-calendar-month .is-outside{background:var(--rr-cream)}.rr-calendar-date{display:grid;place-items:center;min-width:44px;min-height:44px;background:transparent;border:0;color:var(--rr-plum);font:var(--rr-label)}.rr-calendar-month .rr-calendar-event{position:relative;width:100%;margin-top:var(--rr-space-1)}
.rr-calendar-footnote,.rr-calendar-empty,.rr-calendar-pagination{font:var(--rr-caption);color:var(--rr-text-2);padding:var(--rr-space-4);line-height:1.6}.rr-calendar-pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--rr-space-3)}.rr-calendar-notice{background:var(--rr-coral-50);border-radius:var(--rr-radius-md);padding:var(--rr-space-4);margin-bottom:var(--rr-space-4)}.rr-calendar-notice p{margin:var(--rr-space-2) 0 var(--rr-space-3)}
.rr-calendar-modal .rr-modal-body{display:flex;flex-direction:column;gap:var(--rr-space-4)}.rr-calendar-form{display:flex;flex-direction:column;gap:var(--rr-space-4)}.rr-calendar-form p{margin:0}.rr-calendar-form-actions{display:flex;gap:var(--rr-space-2);flex-wrap:wrap}.rr-calendar-time-row{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) minmax(90px,1fr);align-items:center;gap:var(--rr-space-2)}.rr-calendar-time-row input{text-align:center}.rr-calendar-time-row .rr-select>[data-rr-select-trigger]{min-height:52px;border-radius:var(--rr-radius-input)}.rr-calendar-time-row .rr-select>[role=listbox]{min-width:100%;width:100%}.rr-calendar-form fieldset{border:0;padding:0;margin:0;min-width:0}.rr-calendar-form legend{font:var(--rr-label);margin-bottom:var(--rr-space-2)}.rr-calendar-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--rr-space-3)}.rr-calendar-error{color:var(--rr-danger);font:var(--rr-callout)}
@media(max-width:1279px){.rr-calendar-workspace{grid-template-columns:minmax(0,1fr)}.rr-calendar-sidebar{display:grid;grid-template-columns:1fr 1fr}.rr-calendar-connection,.rr-calendar-legend{grid-column:1/-1}}@media(max-width:767px){.portal-authenticated .rr-calendar{padding:var(--rr-space-3)}.rr-calendar-sidebar{display:flex}.rr-calendar-pair{grid-template-columns:1fr}.rr-calendar .rr-heading-actions{width:100%}.rr-calendar .rr-search{flex:1 1 100%;width:100%}.rr-calendar-toolbar{align-items:flex-start}.rr-calendar-date-controls h2{width:100%;order:2}.rr-calendar-grid-scroll{max-height:640px}}

.rr-calendar-form .rr-calendar-toggle{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;min-height:44px;margin:0;gap:var(--rr-space-3)}.rr-calendar-toggle input[type=checkbox]{box-sizing:border-box;padding:0;width:20px;height:20px;min-height:20px;flex:none;margin:0}

/* Approved organized Calendar and Precision event treatment. */
/* Local design review only; all tokens and controls come from the active v1 system. */
.review-organized .rr-calendar-demo {
  background: transparent;
  padding: 0;
  margin-bottom: var(--rr-space-5);
}
.review-calendar-layout {
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr) 248px;
  gap: var(--rr-space-5);
  align-items: start;
}
.review-calendar-left,
.review-calendar-right {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-5);
}
.review-organized .review-mini {
  padding: var(--rr-space-2);
  box-shadow: none;
}
.review-mini header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rr-space-1);
  padding-left: var(--rr-space-1);
}
.review-mini header strong {
  font: var(--rr-caption);
  color: var(--rr-plum);
}
.review-mini header > div {
  display: flex;
}
.review-mini .rr-icon-button {
  min-width: 24px;
  width: 24px;
}
.review-mini .rr-icon-button svg {
  width: 16px;
  height: 16px;
}
.review-mini-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: var(--rr-space-1) 0;
  padding-bottom: var(--rr-space-2);
}
.review-mini-grid > span {
  text-align: center;
  font: var(--rr-overline);
  color: var(--rr-text-2);
  padding: var(--rr-space-2) 0;
}
.review-mini-grid > button {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 32px;
  border: 0;
  border-radius: var(--rr-radius-pill);
  padding: 0;
  background: transparent;
  color: var(--rr-plum);
  font: var(--rr-caption);
  cursor: pointer;
}
.review-mini-grid .is-outside {
  color: var(--rr-ink-400);
}
.review-mini-grid .is-selected {
  background: var(--rr-plum);
  color: var(--rr-cream);
}
.review-mini-grid .has-event:after {
  content: "";
  position: absolute;
  bottom: 2px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: currentColor;
}
.review-filter-section {
  padding: 0 var(--rr-space-1);
}
.review-filter-section h2 {
  font: var(--rr-label);
  margin-bottom: var(--rr-space-3);
}
.review-organized .rr-calendar-filters {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-1);
  align-items: stretch;
}
.review-organized .rr-calendar-filters .rr-chip {
  width: 100%;
  border-color: transparent;
  border-radius: var(--rr-radius-sm);
  justify-content: flex-start;
  background: transparent;
  text-align: left;
  padding: var(--rr-space-2);
  gap: var(--rr-space-2);
}
.review-organized .rr-calendar-filters .rr-chip[aria-pressed="true"] {
  background: var(--rr-plum-50);
  color: var(--rr-plum);
}
.rr-calendar-filters .rr-chip > span {
  flex: 1;
}
.rr-calendar-filters .rr-chip > small {
  color: var(--rr-text-2);
  font: var(--rr-caption);
}
.review-dot,
.review-agenda-time > i {
  display: block;
  width: 8px;
  height: 8px;
  flex: none;
  border-radius: var(--rr-radius-xs);
  background: var(--rr-plum-500);
}
.review-dot--showing {
  background: var(--rr-plum);
}
.review-dot--group {
  background: var(--rr-plum-300);
}
.review-dot--open,
.review-agenda-item--open .review-agenda-time > i {
  background: var(--rr-success);
}
.review-dot--request,
.review-agenda-item--request .review-agenda-time > i {
  background: var(--rr-coral-700);
}
.review-filter-section > p,
.review-organized .review-timezone {
  font: var(--rr-caption);
  font-weight: 500;
  margin-top: var(--rr-space-3);
  line-height: 1.6;
}
.review-availability {
  border-top: 1px solid var(--rr-line);
  padding-top: var(--rr-space-4);
}
.review-availability > summary {
  display: flex;
  align-items: center;
  gap: var(--rr-space-2);
  min-height: 44px;
  list-style: none;
  font: var(--rr-caption);
  color: var(--rr-plum);
  cursor: pointer;
}
.review-availability > summary::-webkit-details-marker {
  display: none;
}
.review-availability > summary > span {
  flex: 1;
}
.review-availability > summary svg {
  width: 16px;
  height: 16px;
}
.review-availability[open] > summary > svg:last-child {
  transform: rotate(90deg);
}
.review-organized .review-availability .rr-calendar-windows {
  border: 0;
  box-shadow: none;
  background: transparent;
  padding: var(--rr-space-3) 0 0;
}
.review-availability .rr-calendar-windows > h2 {
  display: none;
}
.review-availability .rr-calendar-windows > p {
  font: var(--rr-caption);
  margin-bottom: var(--rr-space-3);
}
.review-availability .rr-calendar-window strong {
  font: var(--rr-caption);
  line-height: 1.6;
}
.review-availability .rr-calendar-window small {
  font-weight: 500;
  line-height: 1.6;
}
.review-availability .rr-button {
  width: 100%;
  font: var(--rr-caption);
}
.review-organized .rr-calendar-main {
  min-width: 0;
  border-radius: var(--rr-radius-md);
  box-shadow: var(--rr-e1);
}
.review-calendar-controls {
  padding: var(--rr-space-3);
  border-bottom: 1px solid var(--rr-line);
  justify-content: flex-start;
  gap: var(--rr-space-1);
}
.review-organized .review-calendar-controls h2 {
  flex: 1;
  margin: 0;
  padding: var(--rr-space-1) var(--rr-space-2);
  font: var(--rr-headline);
}
.review-calendar-controls .rr-button {
  margin-left: auto;
  font: var(--rr-caption);
  padding: var(--rr-space-2) var(--rr-space-3);
}
.review-calendar-controls .rr-icon-button {
  width: 44px;
  min-width: 44px;
}
.review-calendar-controls .rr-calendar-modes {
  margin-left: auto;
  background: var(--rr-plum-50);
}
.review-calendar-controls [data-cal="previous"] svg,
.review-mini [data-review-month="-1"] svg {
  transform: rotate(180deg);
}
.review-calendar-controls .rr-calendar-modes button {
  font: var(--rr-caption);
  padding: var(--rr-space-2);
}
.review-organized .rr-calendar-time-grid {
  min-width: calc(44px + var(--calendar-days) * 80px);
}
.review-organized .rr-calendar-grid-head {
  grid-template-columns: 44px repeat(var(--calendar-days), minmax(0, 1fr));
  min-height: 76px;
}
.review-organized .rr-calendar-grid-head > button {
  flex-direction: column;
  gap: var(--rr-space-1);
  min-height: 76px;
}
.review-organized .rr-calendar-grid-head strong {
  font: var(--rr-headline);
}
.review-organized .rr-calendar-grid-head > button[aria-pressed="true"] {
  background: var(--rr-plum-50);
  color: var(--rr-plum);
}
.review-organized .rr-calendar-grid-head > button[aria-pressed="true"] strong {
  box-shadow: 0 2px 0 var(--rr-plum);
}
.review-open-row {
  display: grid;
  grid-template-columns: 44px repeat(var(--calendar-days), minmax(0, 1fr));
  position: sticky;
  top: 76px;
  z-index: 3;
  border-bottom: 1px solid var(--rr-line);
  background: var(--rr-white);
}
.review-open-label {
  font: var(--rr-caption);
  font-weight: 500;
  color: var(--rr-text-2);
  padding: var(--rr-space-3) var(--rr-space-1);
  overflow-wrap: normal;
  line-height: 1.6;
}
.review-open-day {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-1);
  padding: var(--rr-space-2) 3px;
  border-left: 1px solid var(--rr-line);
  min-width: 0;
}
.review-open-event {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--rr-space-1);
  padding: var(--rr-space-2);
  min-height: 44px;
  width: 100%;
  border: 0;
  border-left: 3px solid var(--rr-success);
  border-radius: var(--rr-radius-xs);
  background: var(--rr-success-tint);
  color: var(--rr-success);
  font: var(--rr-caption);
  text-align: left;
  cursor: pointer;
}
.review-open-event time {
  font-weight: 800;
  white-space: nowrap;
}
.review-open-event strong,
.review-open-event small {
  display: block;
  font: var(--rr-caption);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.review-organized .rr-calendar-grid-body {
  grid-template-columns: 44px repeat(var(--calendar-days), minmax(0, 1fr));
  margin-right: var(--rr-space-2);
}
.review-organized .rr-calendar-grid-scroll {
  max-height: calc(100dvh - 320px);
  min-height: 360px;
}
.review-organized .rr-calendar-day {
  background: repeating-linear-gradient(
    to bottom,
    var(--rr-line) 0,
    var(--rr-line) 1px,
    transparent 1px,
    transparent 88px
  );
}
.review-organized .rr-calendar-event {
  padding: var(--rr-space-1);
  border-left-width: 3px;
  border-radius: var(--rr-radius-xs);
}
.review-organized .rr-calendar-event > span > time:after {
  content: " ";
  white-space: pre;
}
.review-organized .rr-calendar-event.is-compact {
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
}
.review-organized .rr-calendar-event.is-compact > span {
  flex: none;
  white-space: normal;
}
.review-organized .rr-calendar-event.is-compact time,
.review-organized .rr-calendar-event.is-compact strong {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.review-organized .rr-calendar-event.review-concurrent {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}
.review-organized .review-concurrent > span {
  white-space: normal;
  overflow: hidden;
}
.review-organized .review-concurrent time {
  display: block;
}
.review-organized .review-concurrent strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.review-organized .rr-calendar-month {
  min-width: 560px;
  grid-template-columns: repeat(7, minmax(80px, 1fr));
}
.review-organized .rr-calendar-footnote {
  padding: var(--rr-space-3);
  font-weight: 500;
}
.review-organized .review-agenda {
  padding: var(--rr-space-4);
  box-shadow: none;
}
.review-eyebrow {
  display: block;
  font: var(--rr-overline);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--rr-text-2);
  margin-bottom: var(--rr-space-3);
}
.review-organized .review-agenda h2 {
  font: var(--rr-headline);
  line-height: 1.6;
}
.review-organized .review-agenda > p {
  font: var(--rr-caption);
  font-weight: 500;
  margin: var(--rr-space-2) 0 var(--rr-space-3);
}
.review-agenda > [role="status"] > p {
  font: var(--rr-caption);
  font-weight: 500;
  margin: var(--rr-space-2) 0 var(--rr-space-3);
}
.review-agenda-list {
  display: flex;
  flex-direction: column;
}
.review-agenda-item {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-2);
  padding: var(--rr-space-4) 0;
  text-align: left;
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rr-line);
  color: var(--rr-plum);
  cursor: pointer;
}
.review-agenda-item:last-child {
  border-bottom: 0;
}
.review-agenda-time {
  display: flex;
  align-items: center;
  gap: var(--rr-space-2);
  font: var(--rr-caption);
  font-weight: 500;
  color: var(--rr-text-2);
}
.review-agenda-time > svg {
  width: 16px;
  height: 16px;
  margin-left: auto;
}
.review-agenda-item > strong {
  font: var(--rr-label);
  line-height: 1.6;
}
.review-agenda-address {
  font: var(--rr-caption);
  font-weight: 500;
  color: var(--rr-text-2);
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.review-agenda-type {
  display: flex;
  align-items: center;
  gap: var(--rr-space-2);
  flex-wrap: wrap;
}
.review-agenda-type small {
  font: var(--rr-caption);
  font-weight: 500;
  color: var(--rr-text-2);
  line-height: 1.6;
}
.review-agenda footer {
  border-top: 1px solid var(--rr-line);
  padding-top: var(--rr-space-3);
  margin-top: var(--rr-space-2);
  font: var(--rr-caption);
  font-weight: 500;
  line-height: 1.6;
  color: var(--rr-text-2);
}
.review-organized .rr-calendar-requests {
  padding: var(--rr-space-4);
  box-shadow: none;
}
.review-organized .rr-calendar-requests h2 {
  font: var(--rr-headline);
}
.review-organized .rr-calendar-requests header {
  display: flex;
  gap: var(--rr-space-2);
  align-items: center;
  justify-content: space-between;
}
.review-organized .rr-calendar-requests > p,
.review-organized .rr-calendar-requests article p {
  font: var(--rr-caption);
  font-weight: 500;
  line-height: 1.6;
  margin: var(--rr-space-2) 0 var(--rr-space-3);
}
.review-organized .rr-calendar-requests article {
  padding: var(--rr-space-3);
}
.review-organized .rr-calendar-requests article > div {
  flex-direction: column;
  align-items: stretch;
}
.review-organized .rr-calendar-requests .rr-button {
  width: 100%;
  font: var(--rr-caption);
}
@media (min-width: 1600px) {
  .review-calendar-layout {
    grid-template-columns: 208px minmax(0, 1fr) 280px;
  }
  .review-organized .review-calendar-controls h2 {
    flex: 1;
    order: 0;
    margin-right: auto;
  }
  .review-calendar-controls .rr-calendar-modes {
    order: 2;
  }
  .review-calendar-controls .rr-button {
    margin-left: 0;
  }
}
@media (max-width: 1279px) {
  .review-calendar-layout {
    grid-template-columns: 184px minmax(0, 1fr);
  }
  .review-calendar-right {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--rr-space-4);
  }
  .review-organized .rr-calendar-grid-scroll {
    max-height: 560px;
  }
}
@media (max-width: 767px) {
  .review-calendar-layout {
    display: flex;
    flex-direction: column;
  }
  .review-calendar-left,
  .review-calendar-right,
  .review-calendar-layout > .rr-calendar-main {
    width: 100%;
  }
  .review-calendar-left {
    display: grid;
    grid-template-columns: 184px minmax(0, 1fr);
    gap: var(--rr-space-3);
  }
  .review-availability,
  .review-timezone {
    grid-column: 1/-1;
  }
  .review-calendar-right {
    display: flex;
  }
  .review-organized .rr-calendar-grid-scroll {
    min-height: 320px;
    max-height: 480px;
  }
}
@media (max-width: 460px) {
  .review-calendar-left {
    display: flex;
  }
  .review-mini {
    max-width: 280px;
    width: 100%;
  }
}

.tools-work-queue {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rr-space-4);
  padding: var(--rr-space-3) var(--rr-space-4);
  border: 1px solid var(--rr-line);
  border-radius: var(--rr-radius-sm);
  background: var(--rr-white);
  margin-bottom: var(--rr-space-5);
}
.tools-work-queue > div {
  display: flex;
  align-items: center;
  gap: var(--rr-space-3);
  flex-wrap: wrap;
}
.tools-work-queue strong {
  display: block;
  font: var(--rr-label);
  color: var(--rr-plum);
}
.tools-work-queue small {
  display: block;
  font: var(--rr-caption);
  font-weight: 500;
  color: var(--rr-text-2);
  margin-top: var(--rr-space-1);
}
.tools-work-queue .rr-button {
  font: var(--rr-caption);
}
.tools-count {
  display: grid;
  place-items: center;
  min-width: 36px;
  min-height: 36px;
  border-radius: var(--rr-radius-pill);
  background: var(--rr-coral-100);
  color: var(--rr-coral-800);
  font: var(--rr-headline);
}
.tools-details-actions {
  display: grid;
  gap: var(--rr-space-3);
}
.tools-details-actions > .rr-button {
  width: 100%;
}
.tools-decision-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rr-space-3);
  align-items: stretch;
}
.tools-decision-grid > .rr-button {
  width: 100%;
  height: 100%;
}
.tools-decision-grid > .rr-button:only-child {
  grid-column: 1/-1;
}
.tools-context-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--rr-space-3);
  flex-wrap: wrap;
  border-top: 1px solid var(--rr-line);
  padding-top: var(--rr-space-3);
}
.tools-modal .tools-conversation-link {
  display: inline-flex;
  align-items: center;
  gap: var(--rr-space-2);
  min-height: 44px;
  max-width: 100%;
  font: var(--rr-label);
  text-decoration: none;
  color: var(--rr-plum);
  border: 0;
  background: transparent;
  padding: 0;
}
.tools-conversation-link svg {
  width: 18px;
  height: 18px;
}
.tools-conversation-link > svg:last-child {
  width: 16px;
  height: 16px;
}
.tools-modal .tools-cancel-link {
  background: transparent;
  border-color: transparent;
  color: var(--rr-danger);
  font: var(--rr-caption);
  padding: var(--rr-space-2);
  box-shadow: none;
}
.tools-modal .tools-conversation-link:hover {
  text-decoration: underline;
  text-underline-offset: var(--rr-space-1);
}
.tools-planner .rr-select > [data-rr-select-trigger] {
  width: 100%;
  justify-content: space-between;
}
.tools-recipients {
  display: grid;
  gap: var(--rr-space-4);
}
.tools-planner > .rr-calendar-form-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--rr-space-3);
  align-items: stretch;
}
.tools-planner > .rr-calendar-form-actions > .rr-button {
  width: 100%;
  height: 100%;
}
.tools-planner [data-rr-select-trigger] > span {
  flex: 1;
  order: 0;
  text-align: left;
}
.tools-planner [data-rr-select-trigger] > svg {
  order: 1;
  transform: rotate(90deg);
}
.tools-check li + li {
  margin-top: var(--rr-space-2);
}
.tools-check li > strong,
.tools-check li > span,
.tools-check li > time {
  display: block;
  line-height: 1.6;
}
.tools-check li > strong {
  font: var(--rr-caption);
}
.tools-check li > time {
  white-space: nowrap;
}
.rr-calendar:has(.tools-work-queue) .rr-calendar-grid-scroll {
  max-height: calc(100dvh - 420px);
}
.tools-modal .rr-modal-body {
  gap: var(--rr-space-5);
}
.tools-modal h3 {
  font: var(--rr-headline);
  color: var(--rr-plum);
}
.tools-summary {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-2);
}
.tools-summary > span,
.tools-note {
  font: var(--rr-caption);
  color: var(--rr-text-2);
}
.tools-summary > strong {
  font: var(--rr-label);
  line-height: 1.6;
}
.tools-summary p {
  margin: 0;
}
.tools-check,
.tools-change {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-2);
  padding: var(--rr-space-4);
  border-radius: var(--rr-radius-sm);
  border: 1px solid var(--rr-line);
  background: var(--rr-cream);
}
.tools-check p,
.tools-check li,
.tools-change small {
  font: var(--rr-caption);
  font-weight: 500;
  line-height: 1.6;
}
.tools-check ul {
  margin: 0;
  padding-left: var(--rr-space-4);
}
.tools-check.has-conflict {
  background: var(--rr-coral-50);
  border-color: var(--rr-coral-100);
}
.tools-check strong {
  font: var(--rr-label);
  color: var(--rr-plum);
}
.tools-request-list {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-2);
}
.tools-request-row {
  display: flex;
  align-items: center;
  gap: var(--rr-space-3);
  padding: var(--rr-space-4);
  background: transparent;
  border: 0;
  border-bottom: 1px solid var(--rr-line);
  color: var(--rr-plum);
  text-align: left;
  cursor: pointer;
}
.tools-request-row > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.tools-request-row strong {
  display: block;
  font: var(--rr-label);
}
.tools-request-row small {
  display: block;
  font: var(--rr-caption);
  font-weight: 500;
  line-height: 1.6;
  color: var(--rr-text-2);
  margin-top: var(--rr-space-1);
}
.tools-request-row > span:last-child {
  flex: none;
  min-width: 52px;
  margin-left: var(--rr-space-1);
  white-space: nowrap;
  text-align: right;
  font: var(--rr-caption);
}
.tools-avatar {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  flex: none;
  background: var(--rr-plum-50);
  border-radius: 50%;
  font: var(--rr-caption);
}
.tools-overlap-pair {
  display: flex;
  flex-direction: column;
  gap: var(--rr-space-4);
  border: 1px solid var(--rr-line);
  border-radius: var(--rr-radius-sm);
  padding: var(--rr-space-4);
}
.tools-overlap-pair > div + div {
  border-top: 1px solid var(--rr-line);
  padding-top: var(--rr-space-4);
}
.tools-overlap-pair p {
  margin: var(--rr-space-2) 0;
}
.tools-overlap-pair small {
  font: var(--rr-caption);
  color: var(--rr-text-2);
}
@media (max-width: 767px) {
  .tools-work-queue {
    flex-direction: column;
    align-items: stretch;
  }
  .tools-work-queue > div {
    justify-content: space-between;
  }
  .tools-work-queue .rr-button {
    flex: 1;
  }
}

/* Three local review treatments. Existing calendar geometry/actions stay intact. */
.rr-calendar.review-organized .rr-calendar-event {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  padding: var(--rr-space-1);
  transition: box-shadow var(--rr-dur-fast) var(--rr-ease-out);
}
.rr-calendar.review-organized .rr-calendar-event > span {
  flex: none;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  white-space: normal;
  overflow: hidden;
}
.rr-calendar.review-organized .rr-calendar-event time,
.rr-calendar.review-organized .rr-calendar-event strong {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font: var(--rr-caption);
}
.rr-calendar.review-organized .rr-calendar-event strong {
  font-weight: 800;
}
.rr-calendar.review-organized .rr-calendar-event time {
  font-weight: 500;
}
.rr-calendar.review-organized .rr-calendar-event small {
  font-weight: 500;
}
.rr-calendar.review-organized .rr-calendar-event time::after {
  content: none;
}
.rr-calendar .review-open-event {
  transition: box-shadow var(--rr-dur-fast) var(--rr-ease-out);
}

.rr-calendar.review-organized .rr-calendar-event {
  background: var(--rr-white);
  border: 1px solid var(--rr-plum-100);
  border-left: 4px solid var(--rr-plum);
  border-radius: var(--rr-radius-xs);
  color: var(--rr-plum);
  box-shadow: var(--rr-e1);
}
.rr-calendar.review-organized .rr-calendar-event time {
  color: var(--rr-text-2);
}
.rr-calendar.review-organized .rr-calendar-event--group {
  background: var(--rr-plum-50);
  border-color: var(--rr-plum-200);
  border-left-color: var(--rr-plum-500);
}
.rr-calendar.review-organized .rr-calendar-event--request {
  background: var(--rr-coral-50);
  border-style: dashed;
  border-color: var(--rr-coral-700);
  border-left-style: solid;
}
.rr-calendar .review-open-event {
  background: var(--rr-success-tint);
  border: 1px solid var(--rr-success);
  border-left: 4px solid var(--rr-success);
  border-radius: var(--rr-radius-xs);
  box-shadow: var(--rr-e1);
}
.rr-calendar .review-dot,
.rr-calendar .review-agenda-time > i {
  width: 10px;
  height: 10px;
}
.rr-calendar .review-dot--showing,
.rr-calendar .review-agenda-item--showing .review-agenda-time > i {
  background: var(--rr-plum);
}
.rr-calendar .review-dot--group,
.rr-calendar .review-agenda-item--group .review-agenda-time > i {
  background: var(--rr-plum-500);
}

.rr-calendar.review-organized .rr-calendar-event--open {
  background: var(--rr-success-tint);
  border-color: var(--rr-success);
  color: var(--rr-success);
}

/* CAL-CONNECT-01: approved shared connection/selection layout in an existing portal modal. */
.rr-calendar-connect { width:min(430px,calc(100vw - 32px)); }
.rr-calendar-connect .rr-modal-body { display:flex;flex-direction:column;gap:var(--rr-space-4);background:var(--rr-cream-100); }
.rr-calendar-connect h3 { font:var(--rr-title1);color:var(--rr-plum-700); }
.rr-calendar-connect p { color:var(--rr-ink-600);line-height:1.5; }
.rr-calendar-connect .rr-connect-card { border:1px solid var(--rr-line);border-radius:24px;background:var(--rr-white);padding:16px; }
.rr-calendar-connect .rr-connect-row,.rr-calendar-connect .rr-connect-calendar { display:flex;align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--rr-line); }
.rr-calendar-connect .rr-connect-row:last-child,.rr-calendar-connect .rr-connect-calendar:last-child { border:0; }
.rr-calendar-connect .rr-connect-row>div,.rr-calendar-connect .rr-connect-calendar>span { flex:1;min-width:0; }
.rr-calendar-connect strong,.rr-calendar-connect small { display:block;overflow-wrap:anywhere; }
.rr-calendar-connect small { color:var(--rr-ink-600);margin-top:4px; }
.rr-calendar-connect .rr-connect-calendar input { width:24px;height:24px;accent-color:var(--rr-plum-700);flex:none; }
.rr-calendar-connect .rr-connect-note { background:var(--rr-cream-200);border-radius:18px;padding:16px; }
.rr-calendar-connect footer { display:flex;flex-direction:column;gap:12px;position:sticky;bottom:0;background:var(--rr-cream-100);padding:16px 0; }
.rr-calendar-connect .rr-connect-overline { font-weight:700;text-transform:uppercase;letter-spacing:1px; }
