/* work/combined-220/src/calendar-mac.css */
.calendar-period {
  display: flex;
  align-items: center;
  gap: 8px;
}
.calendar-period .search-area-trigger {
  font: inherit;
}
.calendar-overview .calendar-slot-create,
.calendar-overview .calendar-event {
  touch-action: none;
}
.calendar-drag-time {
  position: absolute;
  bottom: 12px;
  left: 20px;
  padding: 5px 10px;
  background: var(--paper,#faf9f5);
  border: 1px solid var(--line,#ddd);
  z-index: 4;
  pointer-events: none;
}
.calendar-overview .calendar-paper-detail {
  position: relative;
  background: var(--mail-surface,#fdfbf6);
  padding: 22px 20px;
  border-radius: 12px 0 0 0;
  color: var(--mail-text);
  box-shadow: -3px 0 12px #403c3408;
}
.calendar-paper-detail:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 22px;
  height: 22px;
  background:
    linear-gradient(
      45deg,
      #e6e2d9 47%,
      var(--mail-background) 51%);
  border-bottom-left-radius: 5px;
  pointer-events: none;
}
.calendar-overview .calendar-paper-detail > header {
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 0 18px;
  padding: 0;
  border: 0;
  font-size: 14px;
}
.calendar-overview .calendar-paper-detail > header button {
  font-size: 24px;
  padding: 0 8px;
}
.calendar-overview .calendar-paper-detail form {
  margin: 0;
  display: block;
}
.calendar-overview .calendar-paper-detail .calendar-title {
  font-family: inherit;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.3;
  resize: none;
  overflow-wrap: anywhere;
  width: 100%;
  min-height: 60px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--mail-border);
  background: none;
  border-radius: 0;
  margin: 0;
}
.calendar-owner {
  padding: 12px 0 20px;
  border-bottom: 1px solid var(--mail-border);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
}
.calendar-owner > span {
  color: #527cb3;
  font-size: 20px;
}
.calendar-time-block {
  padding: 18px 0;
  border-bottom: 1px solid var(--mail-border);
}
.calendar-time-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr);
  gap: 6px;
  align-items: center;
}
.calendar-time-line > label {
  margin: 0;
  color: var(--mail-muted);
  font-size: 12px;
}
.calendar-overview .calendar-time-line input[type=text] {
  font-family: inherit;
  width: 100%;
  font-size: 22px;
  padding: 4px 0;
  border: 0;
  background: none;
}
.calendar-time-line > span {
  align-self: end;
  padding-bottom: 8px;
  color: var(--mail-muted);
}
.calendar-overview .calendar-time-line .calendar-all-day {
  grid-column: 1/-1;
  display: flex;
  flex-direction: row;
  gap: 8px;
  align-items: center;
  margin-top: 6px;
}
.calendar-all-day input {
  width: auto !important;
}
.calendar-duration {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  color: var(--mail-muted);
  margin: 6px 0 0 !important;
}
.calendar-overview .calendar-duration input {
  width: 48px;
  padding: 0;
  border: 0;
  background: none;
  font-size: 12px;
  text-align: right;
}
.calendar-overview .calendar-detail-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 14px;
  min-height: 54px;
  padding: 10px 0;
  margin: 0;
  border-bottom: 1px solid var(--mail-border);
  font-size: 14px;
}
.calendar-detail-row > svg {
  width: 20px;
  height: 20px;
  flex: none;
}
.calendar-overview .calendar-detail-row input,
.calendar-overview .calendar-detail-row textarea {
  width: 100%;
  min-width: 0;
  background: none;
  border: 0;
  border-radius: 0;
  padding: 0;
  font: inherit;
  color: inherit;
}
.calendar-detail-row .settings-choice {
  min-width: 0;
  flex: 1;
}
.calendar-detail-row .search-area-trigger {
  width: 100%;
  justify-content: space-between;
  text-align: left;
  padding: 0;
}
.calendar-overview .calendar-note {
  align-items: flex-start;
  min-height: 110px;
  padding-top: 18px;
  border-bottom: 0;
}
.calendar-note textarea {
  resize: vertical;
}
.calendar-overview .calendar-paper-detail footer {
  display: flex;
  justify-content: flex-end;
  gap: 14px;
  margin-top: 16px;
  padding: 14px 0 0;
  border-top: 1px solid var(--mail-border);
  height: auto;
  background: none;
}
.calendar-paper-detail footer button:last-child {
  font-weight: 600;
  color: #315885;
}
.calendar-feature-note {
  display: block;
  margin-top: 12px;
  font-size: 10px;
  color: var(--mail-muted);
}
@media (min-width: 1100px) {
  .calendar-overview-body {
    grid-template-columns: 150px minmax(300px, 1fr) 390px;
  }
  .calendar-time-line {
    grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr) 80px;
  }
  .calendar-overview .calendar-time-line .calendar-all-day {
    grid-column: auto;
    margin-top: 18px;
    font-size: 12px;
  }
  .calendar-overview .calendar-time-line input[type=text] {
    font-size: 24px;
  }
}
.calendar-overview .calendar-paper-detail textarea.calendar-title {
  font-size: 23px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  padding: 0 !important;
  border-bottom: 1px solid var(--mail-border) !important;
}
.calendar-overview .calendar-time-line input[type=text] {
  font-size: 24px !important;
  font-weight: 400 !important;
  line-height: 1.3 !important;
  color: var(--mail-text) !important;
}
.calendar-week {
  overscroll-behavior-x: contain;
  min-width: 0;
}
.calendar-slot .calendar-range-preview {
  position: absolute;
  left: 0;
  right: 0;
  pointer-events: none;
  z-index: 3;
  background: color-mix(in srgb, var(--mail-accent,#527cb3) 16%, transparent);
  border-left: 1px solid var(--mail-accent,#527cb3);
  border-right: 1px solid var(--mail-accent,#527cb3);
  box-sizing: border-box;
}
.calendar-range-preview.range-start {
  border-top: 1px solid var(--mail-accent,#527cb3);
  border-radius: 4px 4px 0 0;
}
.calendar-range-preview.range-end {
  border-bottom: 1px solid var(--mail-accent,#527cb3);
  border-radius: 0 0 4px 4px;
}
.calendar-range-preview.range-start.range-end {
  border-radius: 4px;
}
.calendar-range-preview > span {
  position: absolute;
  top: 2px;
  left: 4px;
  white-space: nowrap;
  font-size: 11px;
  line-height: 16px;
  color: var(--mail-text);
  background: var(--mail-surface,#faf9f5);
  padding: 0 3px;
  border-radius: 2px;
}
.calendar-pan-viewport {
  display: flex;
  width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scroll-behavior: auto;
  scroll-snap-type: none;
}
.calendar-panel {
  flex: 0 0 100%;
  min-width: 0;
  overflow: hidden;
}
.calendar-pan-viewport.pan-ready,
.calendar-pan-viewport.pan-ready button {
  cursor: grab;
}
.calendar-pan-viewport.pan-ready:active,
.calendar-pan-viewport.pan-ready:active button {
  cursor: grabbing;
}
.calendar-pan-viewport.pan-ready {
  user-select: none;
}
.calendar-pan-viewport {
  flex: 1;
  min-height: 0;
}
.calendar-panel {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.calendar-overview {
  --calendar-hour-height:42px;
}
.calendar-overview .calendar-hour {
  height: var(--calendar-hour-height);
  min-height: var(--calendar-hour-height);
  max-height: var(--calendar-hour-height);
  box-sizing: border-box;
}
.calendar-overview .calendar-slot {
  min-height: 0;
  position: relative;
  overflow: visible;
}
.calendar-overview .timed-event {
  margin: 0;
  box-sizing: border-box;
  min-height: 0;
}
.calendar-overview .timed-event .calendar-event {
  height: 100%;
  width: 100%;
  margin: 0;
  min-height: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  overflow: hidden;
  padding: 3px 5px;
  background: var(--mail-surface);
  border-left: 2px solid var(--mail-accent);
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px var(--mail-border);
}
.calendar-event-title {
  font-weight: 500;
  overflow-wrap: anywhere;
}
.calendar-event small {
  font-size: 10px;
  font-weight: 400;
  white-space: nowrap;
}
.calendar-overview .timed-event .calendar-resize {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  margin: 0;
  width: 100%;
  z-index: 3;
}
.calendar-integrated {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: var(--mail-background);
  overflow: hidden;
  --calendar-sidebar-width:260px;
}
.calendar-integrated > header {
  flex: none;
  min-height: 48px;
  padding: 8px 14px;
  gap: 12px;
  border-bottom: 1px solid var(--mail-border);
}
.calendar-integrated .calendar-period {
  font-size: 18px;
  font-weight: 500;
  margin: 0 auto 0 0;
}
.calendar-integrated .calendar-overview-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--calendar-sidebar-width);
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.calendar-integrated .calendar-week {
  padding-bottom: 42px;
  min-height: 0;
}
.calendar-integrated .calendar-week-head {
  min-height: 34px;
  flex: none;
  font-size: 12px;
}
.calendar-integrated .calendar-allday {
  min-height: 24px;
  font-size: 10px;
}
.calendar-integrated .calendar-hours {
  overflow-y: scroll;
  scrollbar-gutter: stable;
  overflow-x: hidden;
  overscroll-behavior-y: contain;
}
.calendar-integrated .calendar-hour > small {
  font-size: 11px;
  padding: 2px 4px;
}
.calendar-month-sidebar {
  min-height: 0;
  overflow: auto;
  padding: 14px 12px;
  border-left: 1px solid var(--mail-border);
  background: var(--mail-surface);
}
.calendar-month-sidebar > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  margin-bottom: 12px;
}
.calendar-month-sidebar h3 {
  font-size: 14px;
  font-weight: 500;
  margin: 0;
}
.calendar-mini-month {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 3px;
  margin-bottom: 22px;
}
.calendar-mini-month > small {
  text-align: center;
  font-size: 10px;
  padding: 4px 0;
  color: var(--mail-muted);
}
.calendar-mini-month > button {
  position: relative;
  min-width: 0;
  min-height: 32px;
  padding: 10px 2px 3px !important;
  font-size: 12px;
  border-radius: 4px;
}
.calendar-mini-month > button[aria-pressed=true] {
  background: var(--mail-hover);
  font-weight: 600;
}
.calendar-mini-month > button.adjacent-month {
  color: var(--mail-muted);
}
.calendar-day-dot {
  position: absolute;
  top: 3px;
  left: calc(50% - 2px);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--mail-accent);
}
.calendar-month-sidebar .calendar-list {
  padding: 16px 0 0;
  border: 0;
  border-top: 1px solid var(--mail-border);
  font-size: 12px;
}
.calendar-list h3 {
  margin-bottom: 12px;
}
.calendar-list label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.calendar-list small {
  font-size: 10px;
}
.calendar-dialog-stage {
  position: absolute;
  inset: 49px var(--calendar-sidebar-width) 0 0;
  z-index: 15;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
}
.calendar-integrated .calendar-dialog-stage .calendar-paper-detail {
  width: min(460px, 100%);
  max-height: 100%;
  overflow: auto;
  border: 1px solid var(--mail-border);
  border-radius: 10px 0 8px 8px;
  box-shadow: 0 8px 30px #20202020;
  padding: 16px 18px;
  min-height: 0;
}
.calendar-integrated .calendar-paper-detail > div > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
  margin-bottom: 10px;
}
.calendar-integrated .calendar-paper-detail textarea.calendar-title {
  font-size: 20px !important;
  min-height: 30px;
  line-height: 1.25 !important;
}
.calendar-integrated .calendar-owner {
  padding: 8px 0;
  font-size: 12px;
}
.calendar-integrated .calendar-time-block {
  padding: 10px 0;
}
.calendar-integrated .calendar-time-line {
  grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr) 72px;
}
.calendar-integrated .calendar-time-line .calendar-all-day {
  grid-column: auto;
  font-size: 10px;
  margin-top: 16px;
}
.calendar-integrated .calendar-time-line input[type=text] {
  font-size: 18px !important;
}
.calendar-integrated .calendar-detail-row {
  min-height: 38px;
  padding: 8px 0;
  font-size: 12px;
  gap: 10px;
}
.calendar-integrated .calendar-note {
  min-height: 58px;
}
.calendar-integrated .calendar-note textarea {
  min-height: 40px;
  max-height: 100px;
}
.calendar-integrated .calendar-paper-detail footer {
  margin-top: 8px;
  padding-top: 8px;
  font-size: 12px;
}
.calendar-integrated .calendar-feature-note {
  font-size: 9px;
  margin-top: 8px;
}
.calendar-discard {
  padding: 10px 0;
  font-size: 13px;
}
.calendar-discard button {
  margin-right: 8px;
}
.bruce-workspace.calendar-mode {
  grid-template-columns: 48px minmax(0, 1fr) !important;
}
@media (max-width: 900px) {
  .calendar-integrated {
    --calendar-sidebar-width:210px;
  }
  .calendar-dialog-stage {
    inset: 49px 0 0 0;
    justify-content: flex-start;
  }
  .calendar-integrated .calendar-paper-detail {
    width: min(420px, calc(100% - 16px));
  }
  .calendar-integrated > header {
    gap: 5px;
    padding: 6px;
  }
  .calendar-integrated .calendar-period {
    font-size: 15px;
  }
}
.calendar-integrated .calendar-paper-detail > div > header,
.calendar-integrated .calendar-month-sidebar > header {
  height: auto;
  min-height: 0;
  padding: 0;
  border: 0;
  margin: 0 0 10px;
}
.calendar-integrated .calendar-paper-detail > div > header {
  font-size: 12px;
}
.calendar-integrated .calendar-paper-detail > div > header button {
  padding: 2px 5px;
  font-size: 18px;
}
.calendar-integrated .calendar-time-line {
  grid-template-columns: minmax(0, 1fr) 15px minmax(0, 1fr);
}
.calendar-duration-group {
  display: flex;
  align-items: center;
  gap: 24px;
  margin-top: 6px;
}
.calendar-integrated .calendar-duration-group .calendar-duration {
  margin: 0 !important;
}
.calendar-integrated .calendar-duration-group .calendar-all-day {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  margin: 0;
}
.calendar-integrated .calendar-detail-row {
  min-height: 32px;
  padding: 6px 0;
}
.calendar-integrated .calendar-note {
  min-height: 46px;
}
.calendar-integrated .calendar-note textarea {
  min-height: 32px;
}
.calendar-integrated .calendar-owner {
  padding: 8px 0;
  border-top: 1px solid var(--mail-border);
  border-bottom: 0;
}
.calendar-integrated .calendar-paper-detail textarea.calendar-title {
  font-size: 23px !important;
  font-weight: 500 !important;
}
.calendar-integrated .calendar-duration-group .calendar-all-day {
  flex-direction: row !important;
}
.calendar-pan-viewport {
  position: relative;
  overflow: hidden;
  display: block;
}
.calendar-panel {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--mail-background);
}
.calendar-transition-copy {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}
.calendar-fixed-axis {
  position: absolute;
  inset: 0 auto 0 0;
  width: 52px;
  z-index: 4;
  pointer-events: none;
  background: var(--mail-background);
  display: flex;
  flex-direction: column;
}
.calendar-fixed-heading {
  height: var(--calendar-grid-top,58px);
  flex: none;
  border-bottom: 1px solid var(--mail-border);
}
.calendar-fixed-hours {
  overflow: hidden;
  min-height: 0;
  flex: 1;
}
.calendar-fixed-hours > small {
  height: var(--calendar-hour-height);
  display: block;
  box-sizing: border-box;
  border-top: 1px solid var(--mail-border);
  font-size: 11px;
  padding: 2px 4px;
  color: var(--mail-muted);
}
.calendar-mini-month > button {
  padding: 5px 2px !important;
}
.calendar-mini-month > button.occupied {
  background: color-mix(in srgb, var(--mail-accent) 12%, transparent);
}
.calendar-mini-month > button.today {
  box-shadow: inset 0 0 0 1px var(--mail-accent);
}
.calendar-mini-month > button[aria-pressed=true] {
  background: color-mix(in srgb, var(--mail-accent) 25%, var(--mail-background));
  font-weight: 600;
}
.calendar-dialog-stage {
  pointer-events: none;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 8px;
}
.calendar-dialog-stage > .calendar-paper-detail,
.calendar-dialog-stage > .calendar-readonly-dialog {
  pointer-events: auto;
  margin-left: clamp(0px, calc(var(--editor-x,50%) - 8px), max(0px, 100% - 460px));
  margin-top: clamp(0px, calc(var(--editor-y,49px) - 49px), max(0px, 100% - 530px));
}
.calendar-integrated .calendar-time-block {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.calendar-integrated .calendar-time-line {
  display: flex;
  gap: 8px;
  align-items: center;
}
.calendar-integrated .calendar-time-line > label {
  font-size: 0;
}
.calendar-integrated .calendar-time-line input[type=text] {
  font-size: 15px !important;
  width: 49px;
}
.calendar-integrated .calendar-time-line > span {
  padding: 0;
  align-self: center;
}
.calendar-integrated .calendar-duration-group {
  margin: 0;
  flex: 1;
  gap: 12px;
  justify-content: space-between;
}
.calendar-integrated .calendar-duration input {
  width: 38px;
}
.calendar-integrated .calendar-detail-row {
  font-size: 14px;
}
.calendar-integrated .calendar-feature-note {
  font-size: 11px;
}
.calendar-chat-history[hidden] {
  display: none;
}
.account-connected {
  padding: 8px 0;
  border-bottom: 1px solid var(--mail-border);
}
.account-connected > small {
  display: block;
  color: var(--mail-muted);
  margin-top: 4px;
}
.account-add {
  margin-top: 16px;
  padding-top: 8px;
  border-top: 1px solid var(--mail-border);
}
.account-add [hidden] {
  display: none !important;
}
.calendar-fixed-heading {
  position: relative;
}
.calendar-fixed-heading > small {
  position: absolute;
  bottom: 4px;
  left: 3px;
  font-size: 10px;
  color: var(--mail-muted);
}
.calendar-event-title {
  max-height: calc(100% - 14px);
  overflow: hidden;
  flex-shrink: 1;
}
.calendar-event small {
  flex-shrink: 0;
}

/* work/combined-220/src/calendar-chat.css */
.calendar-chat-paper {
  position: fixed;
  z-index: 1100;
  right: 12px;
  bottom: 54px;
  width: min(350px, calc(100vw - 24px));
  max-height: calc(100dvh - 100px);
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 16px;
  background: var(--mail-background,#faf8f1);
  color: var(--mail-text,#403e36);
  border: 1px solid var(--mail-border,#ded8c9);
  box-shadow: 0 8px 30px #29251c24;
  box-sizing: border-box;
  overflow: auto;
  animation: calendar-chat-in .2s ease-out;
}
.calendar-chat-paper:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
  height: 20px;
  background:
    linear-gradient(
      45deg,
      #d5c8a4 49%,
      var(--mail-background,#faf8f1) 51%);
  border-bottom-left-radius: 6px;
  pointer-events: none;
}
.calendar-chat-paper header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  touch-action: none;
  padding-right: 14px;
}
.calendar-chat-paper header strong {
  font-weight: 600;
}
.calendar-chat-paper button.quiet {
  background: transparent;
  color: inherit;
  border: 0;
  box-shadow: none;
  padding: 6px 8px;
  font-size: inherit;
}
.calendar-chat-source {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  opacity: .7;
}
.calendar-chat-history {
  overflow: auto;
  min-height: 0;
  flex: 1;
}
.calendar-chat-history p {
  font-size: 14px;
  line-height: 1.45;
  margin: 8px 0;
  white-space: pre-wrap;
}
.calendar-chat-user {
  font-weight: 600;
}
.calendar-chat-card {
  border-top: 1px solid var(--mail-border,#ded8c9);
  padding-top: 8px;
}
.calendar-chat-card fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.calendar-chat-card label {
  display: block;
  font-size: 12px;
  min-width: 0;
}
.calendar-chat-card fieldset > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.calendar-chat-paper input {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
  background: transparent;
  color: inherit;
  border: 0;
  border-bottom: 1px solid var(--mail-border,#ded8c9);
  padding: 6px 0;
  font-size: 16px;
  border-radius: 0;
}
.calendar-chat-input {
  display: flex;
  gap: 6px;
  align-items: center;
  margin: 0;
}
.calendar-chat-input input {
  flex: 1;
}
.calendar-chat-input button {
  flex: none;
}
.calendar-chat-paper small {
  font-size: 12px;
  line-height: 1.35;
}
.calendar-chat-paper [role=alert] {
  color: #953c35;
}
@keyframes calendar-chat-in {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (orientation: portrait), (max-width: 700px), (max-height: 500px) and (max-width: 1000px) {
  .calendar-chat-paper {
    left: 8px;
    right: 8px;
    bottom: calc(58px + env(safe-area-inset-bottom));
    width: auto;
    max-height: 52dvh;
    padding: 10px 14px;
    gap: 5px;
  }
  .calendar-chat-paper button.quiet {
    min-height: 44px;
    min-width: 44px;
  }
  .calendar-chat-history p {
    margin: 5px 0;
  }
  .calendar-chat-card {
    flex-shrink: 0;
  }
  .calendar-chat-input {
    position: sticky;
    bottom: 0;
    background: var(--mail-background,#faf8f1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .calendar-chat-paper {
    animation: none;
  }
}
.calendar-chat-launch {
  display: none;
}
@media (orientation: portrait), (max-width: 700px), (max-height: 500px) and (max-width: 1000px) {
  .calendar-chat-launch.quiet {
    display: flex;
    position: fixed;
    bottom: calc(48px + env(safe-area-inset-bottom));
    left: 8px;
    right: 8px;
    z-index: 1099;
    min-height: 36px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: var(--mail-background,#faf8f1);
    color: var(--mail-text,#403e36);
    border: 0;
    border-top: 1px solid var(--mail-border,#ded8c9);
    border-radius: 0;
    font-size: 14px;
  }
  .calendar-chat-paper {
    bottom: calc(86px + env(safe-area-inset-bottom));
  }
}
@media (max-width: 500px) {
  .calendar-chat-card fieldset > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .calendar-chat-card fieldset > div label {
    display: grid;
    grid-template-columns: 30px 1fr;
    align-items: center;
  }
  .calendar-chat-card fieldset > div input {
    padding: 4px 0;
  }
}
@media (orientation: portrait), (max-width: 700px), (max-height: 500px) and (max-width: 1000px) {
  .calendar-chat-paper {
    bottom: max(calc(86px + env(safe-area-inset-bottom)), calc(var(--chat-keyboard,0px) + 8px));
    max-height: min(52dvh, calc(100dvh - var(--chat-keyboard,0px) - 24px));
  }
}
.bruce-shell .calendar-chat-paper > header {
  height: auto;
  min-height: 32px;
  border: 0;
  margin: 0;
  padding: 0 14px 0 0;
}
.bruce-shell .calendar-chat-paper .calendar-chat-input {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 6px;
}
.bruce-shell .calendar-chat-paper input {
  font-size: 16px;
  padding: 6px 0;
}
.calendar-chat-card fieldset > div {
  grid-template-columns: 1fr;
  gap: 3px;
}
.calendar-chat-card fieldset > div label {
  display: grid;
  grid-template-columns: 30px 1fr;
  align-items: center;
}
.calendar-chat-card fieldset > div input {
  padding: 4px 0;
}
.bruce-shell .calendar-chat-paper form {
  margin: 0;
}
.bruce-shell .calendar-chat-input > button {
  width: 36px;
  flex: none;
}
.calendar-chat-paper > header,
.calendar-chat-source,
.calendar-chat-input {
  flex-shrink: 0;
}
.calendar-chat-history {
  min-height: 56px;
}
.calendar-chat-paper .calendar-chat-card input {
  background: transparent !important;
}
.calendar-chat-paper .calendar-chat-card label {
  margin: 0;
}

/* work/combined-220/reply-compact.css */
.compose-dialog .writing-assistant.compact-writing {
  padding: 0 !important;
  margin: 6px 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.compose-dialog .compact-writing .writing-prompt {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 4px;
  border: 1px solid var(--mail-border,#ded7c8);
  border-radius: 12px;
  padding: 3px 6px;
  background: var(--mail-surface,#fffdf8);
}
.compose-dialog .compact-writing .writing-prompt textarea {
  flex: 1;
  width: 0 !important;
  min-width: 0 !important;
  min-height: 24px !important;
  max-height: 72px !important;
  height: auto;
  margin: 0 !important;
  padding: 0 4px !important;
  line-height: 24px !important;
  font-size: 14px;
  resize: none;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-y: auto;
}
.compose-dialog .compact-writing .writing-prompt button {
  flex: none;
  min-width: 32px;
  min-height: 32px;
  padding: 4px !important;
  background: transparent;
  border: 0;
}
.compose-dialog .compact-writing .writing-feedback {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 4px !important;
  font-size: 12px;
}
.compose-dialog .compact-writing .writing-options {
  margin: 4px 0;
  padding: 4px 0;
}
.compose-dialog .compact-writing .writing-presets {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 0;
}
.compose-dialog .compact-writing .writing-history {
  max-height: 160px;
  overflow: auto;
}
.compose-dialog .compact-writing .writing-history button {
  display: block;
  text-align: left;
  white-space: normal;
}
.compose-dialog fieldset > .compose-ai-container {
  order: 5;
}
.compose-dialog .compose-footer {
  margin-top: 6px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}
@media (pointer: coarse) {
  .compose-dialog .compact-writing .writing-prompt textarea {
    font-size: 16px !important;
  }
  .compose-dialog .compact-writing .writing-prompt button {
    min-width: 44px;
    min-height: 44px;
  }
  .compose-dialog .compact-writing button {
    touch-action: manipulation;
  }
}

/* work/combined-220/src/rich-editor.css */
.rich-text-input {
  font: inherit;
  color: inherit;
  line-height: 1.5;
  width: 100%;
  box-sizing: border-box;
  outline: none;
  overflow-wrap: anywhere;
  overflow: auto;
  padding: 8px 0;
}
.rich-text-input:empty:before {
  content: attr(placeholder);
  opacity: .5;
  pointer-events: none;
}
.selection-tools {
  position: fixed;
  z-index: 100000;
  background: #faf8f1;
  color: #3f3d35;
  border: 1px solid #dcd5c5;
  border-radius: 9px;
  box-shadow: 0 4px 16px #0002;
  padding: 4px;
  max-width: calc(100vw - 16px);
  font: 14px/1.4 system-ui;
}
.selection-icons {
  display: flex;
  flex-wrap: wrap;
}
.selection-tools button {
  background: none;
  border: 0;
  color: inherit;
  padding: 7px;
  min-width: 36px;
  min-height: 36px;
  font: inherit;
  cursor: pointer;
  border-radius: 4px;
}
.selection-tools button:hover,
.selection-tools button:focus-visible {
  background: #e9e4d8;
}
.selection-tools button:disabled {
  opacity: .4;
}
.selection-entry {
  display: flex;
  padding: 4px;
  gap: 4px;
}
.selection-entry input {
  min-width: 0;
  flex: 1;
  font: inherit;
  border: 0;
  background: transparent;
  outline: none;
}
.selection-colors {
  display: flex;
}
.selection-feedback {
  display: block;
}
.quote-editor:has(.rich-text-input) .quote-guides {
  display: none;
}
.signature-edit-fields .rich-text-input {
  min-height: 180px;
}
@media (pointer: coarse) {
  .selection-tools button {
    min-height: 44px;
    min-width: 40px;
  }
  .selection-entry input {
    font-size: 16px;
  }
}
@media (pointer: coarse) {
  .rich-text-input {
    font-size: max(16px, 1em);
  }
}
.selection-tools {
  box-sizing: border-box;
}
.selection-icons button:nth-child(1) {
  font-weight: 700;
}
.selection-icons button:nth-child(2) {
  font-style: italic;
}
.selection-icons button:nth-child(3) {
  text-decoration: underline;
}
.selection-icons button:nth-child(4) {
  text-decoration: line-through;
}
@media (max-width: 500px) {
  .selection-tools {
    width: 350px;
  }
  .selection-icons {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
  }
  .selection-tools button {
    min-height: 44px;
  }
  .selection-entry input {
    font-size: 16px;
  }
}
.compose-dialog .selection-tools button,
.selection-tools .selection-icons button {
  background: transparent;
  box-shadow: none;
  border: 0;
  min-height: 36px;
  font-size: 14px;
  padding: 7px;
}
.compose-dialog .selection-tools button:hover,
.selection-tools .selection-icons button:hover {
  background: #e9e4d8;
}
@media (max-width: 500px), (pointer: coarse) {
  .compose-dialog .selection-tools button,
  .selection-tools .selection-icons button {
    min-height: 44px;
  }
}

/* work/combined-220/signature-local.css */
.signature-variants {
  display: flex;
  gap: 12px;
}
.signature-variants button {
  background: transparent !important;
  border: 0 !important;
}
.signature-variants [aria-pressed=true] {
  font-weight: 700;
}
.compose-signature-choice {
  font-size: inherit;
}
.signature-editor-head,
.signature-content-tools,
.signature-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.signature-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}
.signature-preview {
  border-right: 1px solid var(--line,#ddd6c6);
}
.signature-preview iframe {
  width: 100%;
  height: 220px;
  border: 0;
  background: transparent;
}
.signature-edit-fields textarea {
  min-height: 180px;
  width: 100%;
  resize: vertical;
}
.signature-image-chip {
  display: inline-flex;
  align-items: center;
  margin: 0 8px 0 0;
  font-size: 12px;
}
.signature-editor .signature-bottom {
  margin-top: 8px;
  align-items: flex-start;
}
.signature-editor .signature-bottom details[open] {
  max-width: 75%;
}
.signature-editor .signature-bottom small {
  display: block;
}
.signature-assistance .writing-prompt {
  display: flex;
  gap: 6px;
  align-items: center;
  border: 1px solid var(--line,#ddd6c6);
  border-radius: 12px;
  padding: 4px 8px;
}
.signature-assistance .writing-prompt textarea {
  flex: 1;
  min-width: 0;
  min-height: 24px;
  max-height: 72px;
  line-height: 24px;
  padding: 0;
  resize: none;
  border: 0;
  background: none;
}
.signature-assistance {
  margin-top: 8px;
}
.signature-assistance small {
  font-size: 12px;
}
.signature-assistance .signature-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  .signature-workspace {
    grid-template-columns: 1fr;
  }
  .signature-preview {
    border-right: 0;
  }
  .signature-preview iframe {
    height: 130px;
  }
  .signature-edit-fields textarea {
    min-height: 90px;
  }
  .signature-assistance textarea {
    font-size: 16px;
  }
}
.signature-safe-preview {
  display: flex;
  gap: 12px;
  padding: 12px 8px;
  font: 14px/1.5 -apple-system, sans-serif;
  overflow-wrap: anywhere;
}
.signature-preview-images {
  flex: none;
}
.signature-preview-images img {
  display: block;
  height: auto;
  max-width: 120px;
}
.signature-safe-preview table {
  max-width: 100%;
}

/* work/combined-220/mail-context.css */
.thread-attachment-group {
  margin: 10px 0;
  padding-top: 8px;
  border-top: 1px solid var(--line,#dedbd4);
}
.thread-attachment-group h5 {
  font: inherit;
  font-size: 11px;
  margin: 0 0 5px;
  opacity: .75;
}
.thread-attachments .received-attachment {
  min-width: 0;
  overflow-wrap: anywhere;
}
.thread-attachment-group > .contact-attachments {
  margin: 0;
  padding: 0;
  border: 0;
}
.thread-attachment-group > .contact-attachments > h4 {
  display: none;
}
.mail-day-view header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 8px;
}
.mail-day-view h3 {
  font: inherit;
  font-size: 15px;
  font-weight: 500;
  margin: 0;
}
.mail-day-view ul {
  list-style: none;
  padding: 0;
  margin: 12px 0;
}
.mail-day-view li {
  border-top: 1px solid var(--line,#dedbd4);
  padding: 9px 0;
}
.mail-day-view li strong,
.mail-day-view li small {
  display: block;
  overflow-wrap: anywhere;
}
.mail-day-view li strong {
  font-weight: 500;
}
.mail-document-indicator {
  display: inline-flex;
  vertical-align: middle;
  margin: 0 4px;
  opacity: .65;
}
.thread-attachments > h4 {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.thread-attachments > h4 small {
  display: inline;
}

.label-library-main[data-other-account="true"] .label-chip{opacity:.55}

.overlay.quick-reply-overlay{position:fixed!important;inset:0!important;z-index:60!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:16px!important}
.quick-reply-overlay>.compose-dialog.quick-reply-dialog{box-sizing:border-box;width:min(620px,calc(100vw - 32px))!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 32px)!important;margin:0!important;padding:16px 20px!important;overflow-y:auto!important;background:var(--mail-surface,#fdfbf6)}
.quick-reply-dialog .reply-original{max-height:100px!important;margin:0 0 8px!important;padding:0 0 8px!important;overflow-y:auto}
.quick-reply-dialog .reply-original h3,.quick-reply-dialog .reply-original p{margin:4px 0}
.quick-reply-dialog form,.quick-reply-dialog fieldset{height:auto!important;min-height:0!important}
.quick-reply-dialog .quote-editor{min-height:0!important;flex:none!important}
.quick-reply-dialog .rich-text-input,.quick-reply-dialog textarea[aria-label=Nachricht]{box-sizing:border-box;min-height:84px!important;height:clamp(84px,18dvh,150px)!important;max-height:150px!important;overflow:auto!important;padding:8px 0!important}
.quick-reply-dialog .compose-heading{min-height:24px}
.quick-reply-dialog .writing-assistant{margin-top:6px!important}
.quick-reply-dialog *{min-width:0;box-sizing:border-box}
.quick-reply-dialog form,.quick-reply-dialog fieldset,.quick-reply-dialog .compose-tools{max-width:100%}
.quick-reply-dialog .compose-footer,.quick-reply-dialog .compose-tools,.quick-reply-dialog .compose-text-actions,.quick-reply-dialog .compose-icon-actions,.quick-reply-dialog .send-choice{flex-wrap:wrap!important;min-width:0!important;max-width:100%;white-space:normal}
.quick-reply-dialog .compose-footer .spacer{display:none}
.quick-reply-dialog .compose-footer>.compose-tools{flex:1 1 180px!important}
.quick-reply-dialog .compose-footer button{white-space:normal}
@media(max-height:650px){.quick-reply-dialog .reply-original{max-height:78px!important}.quick-reply-dialog .rich-text-input,.quick-reply-dialog textarea[aria-label=Nachricht]{height:84px!important}}

/* Jimmy: reference A, 02.11.2026. Existing label palette and typography. */
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs{overflow-x:auto;scrollbar-width:thin;gap:6px;padding:3px 2px;min-width:0}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab]{position:relative;flex-shrink:0;border-radius:7px;background:var(--label-tab-bg,var(--mail-surface));color:var(--label-tab-ink,var(--mail-text));border:1px solid transparent;padding:5px 9px;font:inherit;white-space:nowrap}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab][aria-selected=true]{background:color-mix(in srgb,var(--label-tab-bg,var(--mail-surface)) 90%,var(--label-tab-ink,var(--mail-text)) 10%);border-color:currentColor;box-shadow:inset 0 0 0 1px color-mix(in srgb,currentColor 18%,transparent)}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab]:hover{filter:brightness(.98)}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs .label-drag-hint{display:inline-block;width:12px;opacity:0;overflow:hidden;vertical-align:middle;transition:opacity .12s}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [draggable=true]:hover .label-drag-hint,.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [draggable=true]:focus-visible .label-drag-hint{opacity:.65}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [draggable=true]{cursor:grab}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [draggable=true]:active{cursor:grabbing}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab].label-drop-target::before{content:"";position:absolute;left:-5px;top:0;bottom:0;border-left:2px solid var(--mail-accent)}

.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab].label-drop-after::before{left:auto;right:-5px}

.quick-preview-dialog .compose-heading{gap:12px;align-items:flex-start}
.quick-preview-dialog .compose-heading h3{margin:0 0 8px;overflow-wrap:anywhere;font:inherit;font-weight:600}
.quick-preview-dialog .quick-preview-content{white-space:pre-wrap;overflow-wrap:anywhere;max-height:min(55dvh,420px);overflow:auto;margin:12px 0;line-height:1.5}
.quick-preview-dialog>small{display:block;margin:4px 0}

/* PL30: compact existing header type; colour approval applies only to tabs. */
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs{height:auto;max-height:30px;margin:0;padding:0 2px;gap:5px}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab]{font-family:inherit;font-size:11px;line-height:1.25;font-weight:400;min-height:0;height:auto;padding:2px 6px;border-radius:4px;background:color-mix(in srgb,var(--label-tab-bg,var(--mail-surface)) 28%,transparent);box-shadow:none}
.bruce-content .inbox-toolbar .smart-dashboard .free-label-tabs [role=tab][aria-selected=true]{font-weight:400;background:color-mix(in srgb,var(--label-tab-bg,var(--mail-surface)) 55%,transparent);border-color:color-mix(in srgb,var(--label-tab-ink,var(--mail-text)) 45%,transparent);box-shadow:none}
.label-browser,.label-browser .label-library-list{background:transparent}
.label-browser .label-library-row,.label-browser .label-library-row:hover,.label-browser .label-library-row:focus-within,.label-browser .label-library-row.label-new{position:relative;width:fit-content;max-width:100%;min-height:26px;padding:2px 0!important;gap:0;background:transparent!important}
.label-browser .label-library-main,.label-browser .label-library-main:hover,.label-browser .label-library-main:focus-visible,.label-browser .label-library-main:active{position:relative;flex:initial;min-height:24px;padding:2px 28px 2px 22px!important;gap:8px;background:transparent!important;box-shadow:none}
.label-browser .label-description{max-width:240px;overflow:hidden;text-overflow:ellipsis;background:transparent}
.label-browser .label-choice-check{position:absolute;left:3px;top:50%;transform:translateY(-50%);width:13px;height:13px;line-height:12px;border:1px solid var(--mail-muted);border-radius:2px;text-align:center;opacity:0;visibility:hidden;pointer-events:none}
.label-browser .label-gear{position:absolute;right:0;top:50%;transform:translateY(-50%);width:24px;min-width:24px;min-height:24px;padding:3px!important;background:transparent!important;opacity:0;visibility:hidden;pointer-events:none}
.label-browser .label-library-row:hover .label-choice-check,.label-browser .label-library-row:focus-within .label-choice-check,.label-browser .label-library-row[data-selected=true] .label-choice-check,.label-browser .label-library-row:hover .label-gear,.label-browser .label-library-row:focus-within .label-gear,.label-browser .label-library-row[data-selected=true] .label-gear{opacity:1;visibility:visible;pointer-events:auto}
.label-browser .label-library-main:focus-visible,.label-browser .label-gear:focus-visible{outline:1px solid var(--mail-accent)!important;outline-offset:1px;background:transparent!important}
.label-browser .label-options-menu,.label-browser .label-inline-editor{background:var(--mail-surface)}
.label-browser .label-delete-effect{max-width:46ch;line-height:1.5}
.label-browser .label-library-footer{gap:14px;justify-content:flex-start;flex-wrap:wrap}
.label-browser .label-confirm{margin-left:auto}
.label-work-notice{position:fixed;bottom:42px;left:50%;transform:translateX(-50%);z-index:100;display:flex;gap:8px;align-items:center;max-width:min(520px,calc(100vw - 32px));padding:6px 10px;border:1px solid var(--mail-border);border-radius:4px;background:var(--mail-surface);color:var(--mail-text);font-size:12px;box-shadow:none}
.label-work-notice button{flex:none;background:transparent;border:0;color:inherit;padding:2px 4px}

/* PL32: identical right edge/row height for compact and expanded queued cards. */
.outbox-notice.queued-countdown{justify-self:end;box-sizing:border-box;width:max-content;max-width:calc(100vw - 36px);height:48px;min-height:48px;padding:6px 10px;gap:14px;line-height:1.2}
.queued-countdown .queued-copy{display:contents}
.queued-countdown .queued-clock{order:3;flex:0 0 auto;display:block;min-height:0;padding:0;border:0;background:transparent;color:inherit;font:inherit;line-height:1.2;text-align:left;max-width:min(150px,35vw);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.queued-countdown .queued-clock:focus-visible{outline:1px solid var(--mail-accent);outline-offset:2px}
.queued-countdown .queued-clock-compact{display:none;font-variant-numeric:tabular-nums}
.queued-countdown .queued-subject{order:1;flex:1 1 auto;min-width:0;max-width:230px;margin-top:0;font-size:12px;line-height:1.2}
.queued-countdown .queued-cancel{order:2;flex:none;padding:0;min-height:0;line-height:1.2}
.queued-countdown .queued-cancel small{margin-top:3px;font-size:11px;line-height:1.2}
.queued-countdown[data-expanded=false]{gap:0}
.queued-countdown[data-expanded=false] .queued-subject,.queued-countdown[data-expanded=false] .queued-cancel,.queued-countdown[data-expanded=false] .queued-clock-full{display:none}
.queued-countdown[data-expanded=false] .queued-clock-compact{display:inline}
@media(max-width:600px){.outbox-notice.queued-countdown{max-width:calc(100vw - 32px)}}

/* Only the informational label-example notice is anchored at the right edge. */
.notice.action-toast.label-example-notice{left:auto;right:16px;transform:none}

/* Compact thread cards only; keep existing attachment preview and cache controls. */
.thread-attachments .thread-attachment-group{margin:7px 0;padding-top:0;border-top:0}
.thread-attachments .thread-attachment-group h5{font-size:10px;margin:0 0 5px;color:var(--mail-muted);opacity:1}
.thread-attachments .thread-attachment-group>ul{display:flex;flex-wrap:wrap;gap:4px;list-style:none;padding:0;margin:0}
.thread-attachments .thread-attachment-group>ul>li{max-width:100%;min-width:0;margin:0;padding:0}
.thread-attachments .compact-attachment-card{display:block;max-width:100%;min-width:0;text-align:left;border:1px solid var(--mail-border);border-radius:7px;background:var(--mail-surface);padding:4px 7px;font:inherit;font-size:11px;line-height:1.3;cursor:pointer}
.thread-attachments .compact-attachment-card strong{display:block;min-width:0;font:inherit;font-weight:500;overflow-wrap:anywhere;white-space:normal}
.thread-attachments .compact-attachment-card:hover{border-color:#81978a}
.thread-attachments .compact-attachment-card:focus-visible{outline:1px solid #81978a;outline-offset:2px}

/* Recurrence icon is nested inside a label, unlike the other direct row icons. */
.calendar-detail-row.calendar-repeat > label > svg{width:20px;height:20px;flex:none}

/* Confirmed existing selected-paper tokens and fold, applied only to pointer hover. */
html[data-mail-theme] .bruce-content .message-row:hover:not(.selected){position:relative;isolation:isolate;background:linear-gradient(120deg,var(--bruce-selected),var(--bruce-selected-light));border-radius:4px}
.bruce-content .message-row:hover:not(.selected)::after{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:16px;
  height:16px;
  background:linear-gradient(45deg,var(--bruce-fold-base),var(--bruce-fold-light) 47%,var(--mail-background) 51%);
  border-radius:0 0 0 5px;
  filter:drop-shadow(-1px 1px 1px #6e573216);
  pointer-events:none;
  z-index:3;
}

/* Authorised label dialog footer only: text actions, existing hints on hover/focus. */
.label-browser .label-library-footer > button {
  position: relative;
  background: transparent;
  color: inherit;
  border: 0;
  box-shadow: none;
}
.label-browser .label-library-footer > button > .key-caps {
  position: absolute;
  right: 0;
  bottom: calc(100% + 6px);
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}
.label-browser .label-library-footer > button:hover > .key-caps,
.label-browser .label-library-footer > button:focus-visible > .key-caps {
  visibility: visible;
  opacity: 1;
}

.ai-usage-scroll{max-width:100%;overflow-x:auto}.ai-usage table{border-collapse:collapse;font-size:11px;width:100%}.ai-usage th,.ai-usage td{text-align:left;vertical-align:top;padding:5px 7px;border-bottom:1px solid #deded7}.ai-usage td small{display:block;font-size:10px}.ai-usage label{max-width:220px}

.label-browser .label-options-menu > strong {
  overflow-wrap: anywhere;
}

html[data-mail-theme] .settings-menu .settings-area:hover {
  position: relative;
  isolation: isolate;
  background: linear-gradient(120deg,var(--bruce-selected),var(--bruce-selected-light));
}
.settings-menu .settings-area:hover::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 16px;
  height: 16px;
  background: linear-gradient(45deg,var(--bruce-fold-base),var(--bruce-fold-light) 47%,var(--mail-background) 51%);
  border-radius: 0 0 0 5px;
  filter: drop-shadow(-1px 1px 1px #6e573216);
  pointer-events: none;
  z-index: -1;
}

.settings-group-popup .label-browser .label-library-main {
  box-sizing: border-box;
  max-width: 100%;
}
.settings-group-popup .label-browser .label-library-main .label-chip {
  flex: 0 1 auto;
  min-width: 0;
  max-width: none;
}

/* Scoped reply toolbar: keep Bruce's paper palette and the existing editor. */
.compose-dialog .reply-proposal.reply-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
  margin: 6px 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.reply-editor-toolbar .reply-stylebar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  margin: 0;
  padding: 0;
}
.reply-editor-toolbar [aria-label="Antwortvarianten"],
.reply-editor-toolbar .reply-edit-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 3px;
}
.reply-editor-toolbar .reply-stylebar button,
.reply-editor-toolbar .reply-edit-actions button {
  padding: 4px 6px !important;
  min-height: 28px;
  font-size: 12px;
}
.reply-editor-toolbar > details { margin: 0; font-size: 11px; }
.reply-editor-toolbar > details[open],
.reply-editor-toolbar > .writing-prompt,
.reply-editor-toolbar > .instant-reply-preview,
.reply-editor-toolbar > .tools,
.reply-editor-toolbar > [role="alert"] { flex-basis: 100%; }

@media (prefers-reduced-motion: no-preference) {
  .bruce-sync-running svg {
    animation: bruce-sync-turn 1s linear infinite;
  }
}
@keyframes bruce-sync-turn {
  to { transform: rotate(360deg); }
}

/* The normal reply keeps the existing paper surface and editor. */
:is(.reply-compact, .new-mail-compact) .reply-envelope {
  margin: 0 0 6px;
}
:is(.reply-compact, .new-mail-compact) .reply-envelope > summary {
  cursor: pointer;
  padding: 3px 0;
  overflow-wrap: anywhere;
}
:is(.reply-compact, .new-mail-compact) .compose-footer,
:is(.reply-compact, .new-mail-compact) .compose-tools,
:is(.reply-compact, .new-mail-compact) .compose-icon-actions,
:is(.reply-compact, .new-mail-compact) .compose-text-actions,
:is(.reply-compact, .new-mail-compact) .send-choice {
  flex-wrap: wrap;
  min-width: 0;
  max-width: 100%;
}
:is(.reply-compact, .new-mail-compact) .compose-footer {
  justify-content: flex-start;
  gap: 4px 8px;
}
:is(.reply-compact, .new-mail-compact) .compose-tools,
:is(.reply-compact, .new-mail-compact) .compose-icon-actions,
:is(.reply-compact, .new-mail-compact) .compose-text-actions {
  gap: 4px;
}
:is(.reply-compact, .new-mail-compact) .compose-signature-choice,
:is(.reply-compact, .new-mail-compact) .reply-extra-actions {
  margin: 0;
}
:is(.reply-compact, .new-mail-compact) .compose-signature-choice > summary,
:is(.reply-compact, .new-mail-compact) .reply-extra-actions > summary,
:is(.reply-compact, .new-mail-compact) .reply-bruce-button {
  cursor: pointer;
  padding: 4px 6px;
}
:is(.reply-compact, .new-mail-compact) .reply-proposal,
:is(.reply-compact, .new-mail-compact) .writing-assistant {
  min-width: 0;
  overflow-wrap: anywhere;
}

:is(.reply-compact, .new-mail-compact) .reply-decision {
  flex-wrap: wrap;
  gap: 3px 6px;
}
:is(.reply-compact, .new-mail-compact) .reply-decision > small {
  flex-basis: 100%;
}
:is(.reply-compact, .new-mail-compact) .reply-decision > button {
  min-height: 28px;
  padding: 4px 6px !important;
  font-size: 12px;
}
:is(.reply-compact, .new-mail-compact) .rich-text-input {
  min-height: 7em !important;
}
@media (max-width: 800px) {
  :is(.reply-compact, .new-mail-compact) .compose-footer > .compose-tools {
    flex: 1 1 100%;
  }
  :is(.reply-compact, .new-mail-compact) .send-choice .key-caps {
    display: none;
  }
  :is(.reply-compact, .new-mail-compact) .compose-icon-actions .compose-icon {
    padding-inline: 4px;
  }
}

.new-mail-compact .new-mail-addresses {
  margin: 0 0 6px;
}
.new-mail-compact .new-mail-addresses > summary {
  width: fit-content;
  cursor: pointer;
  padding: 3px 0;
  font-size: 12px;
}
.new-mail-compact .compose-field {
  min-width: 0;
}
.new-mail-compact .compose-field input,
.new-mail-compact .compose-field select {
  min-width: 0;
  max-width: 100%;
}
.new-mail-compact .compose-footer > .compose-tools {
  flex: 0 1 auto;
}
.new-mail-compact .compose-icon-actions {
  margin-left: 0;
}
@media (max-width: 480px) {
  .new-mail-compact .compose-footer > .compose-tools {
    flex: 1 1 100%;
  }
}
