/* Version 19.0: Google-Kalender-Anbindung */
.google-calendar-connection-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  margin: 14px 0;
  padding: 16px;
  border: 1px solid rgba(66, 133, 244, 0.24);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(66, 133, 244, 0.10), rgba(52, 168, 83, 0.07));
}

.google-calendar-card-icon {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 8px 22px rgba(38, 70, 119, 0.12);
  font-size: 1.45rem;
}

.google-calendar-card-copy p,
.google-calendar-card-copy h2,
.google-calendar-card-copy span { margin: 0; }
.google-calendar-card-copy p { color: #41648e; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.google-calendar-card-copy h2 { margin-top: 2px; font-size: 1rem; }
.google-calendar-card-copy span { display: block; margin-top: 3px; color: var(--muted-text, #64748b); font-size: .86rem; line-height: 1.35; }
.google-calendar-connection-card[data-state="connected"] { border-color: rgba(22, 163, 74, .30); background: linear-gradient(135deg, rgba(22, 163, 74, .10), rgba(66, 133, 244, .06)); }

.google-calendar-sync-button { border-color: rgba(66, 133, 244, .42); color: #2457a6; }
.google-calendar-event-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 4px;
  padding: 11px 13px;
  border-radius: 13px;
  background: #f3f6fa;
  color: #536273;
  font-size: .88rem;
}
.google-calendar-event-status small { flex-basis: 100%; padding-left: 28px; color: #6b7280; }
.google-calendar-event-status.synced { background: #ecfdf3; color: #137a3f; }
.google-calendar-event-status.error { background: #fff1f2; color: #b42318; }
.google-calendar-event-status.dirty { background: #fff8e7; color: #946200; }
.google-calendar-inline-status { margin: 8px 0 0; font-size: .82rem; font-weight: 750; color: #5c6775; }
.google-calendar-inline-status.synced { color: #137a3f; }
.google-calendar-inline-status.dirty { color: #946200; }
.google-calendar-inline-status.error { color: #b42318; }

.google-calendar-profile-status { display: inline-flex; align-items: center; gap: 5px; color: #137a3f; font-size: .81rem; font-weight: 750; }
.google-calendar-profile-status.dirty { color: #946200; }
.google-calendar-profile-status.error { color: #b42318; }
.google-calendar-profile-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.google-calendar-profile-actions button { min-height: 42px; }
.simple-event-google-calendar { display: grid; gap: 10px; margin: 12px 0 16px; }
.google-calendar-match-list { display: grid; gap: 10px; margin-top: 15px; max-height: 50vh; overflow: auto; }
.google-calendar-match-option { display: flex; gap: 11px; align-items: center; padding: 12px; border: 1px solid #d8d3c7; border-radius: 14px; cursor: pointer; }
.google-calendar-match-option input { flex: none; width: 22px; height: 22px; accent-color: #8b2926; }
.google-calendar-match-option span { display: grid; min-width: 0; gap: 3px; }
.google-calendar-match-option small { color: #667085; overflow-wrap: anywhere; }
.google-calendar-choice-dialog .dialog-body p { line-height: 1.45; }
.calendar-excluded-panel summary { cursor: pointer; display: grid; gap: 3px; }
.calendar-excluded-panel summary small { color: #667085; font-weight: 450; }
.calendar-excluded-list { display: grid; gap: 10px; margin-top: 14px; }
.calendar-excluded-row { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; padding: 10px; border: 1px solid #e5dfd4; border-radius: 12px; }
.calendar-excluded-row span { display: grid; gap: 3px; }
.calendar-excluded-row small { color: #667085; }

.event-schedule-reminder-chip {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: 7px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(66, 133, 244, .09);
  color: #2457a6;
  font-size: .76rem;
  font-weight: 750;
}

.google-calendar-dialog-status {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 16px;
  padding: 13px;
  border-radius: 14px;
  background: #f3f6fa;
}
.google-calendar-dialog-status > span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: #fff; font-weight: 900; }
.google-calendar-dialog-status strong,
.google-calendar-dialog-status p { margin: 0; }
.google-calendar-dialog-status p { margin-top: 2px; color: #667085; font-size: .84rem; }
.google-calendar-dialog-status.connected { background: #ecfdf3; color: #137a3f; }
.google-calendar-setup-note { margin: 14px 0; padding: 12px 13px; border-left: 4px solid #f3b61f; border-radius: 0 12px 12px 0; background: #fff8e7; }
.google-calendar-setup-note strong,
.google-calendar-setup-note p { margin: 0; }
.google-calendar-setup-note p { margin-top: 3px; color: #67510d; font-size: .84rem; line-height: 1.45; }
.google-calendar-setup-note code { overflow-wrap: anywhere; font: inherit; font-weight: 750; }
.google-calendar-privacy-note { margin: 14px 0 0; color: #667085; font-size: .82rem; line-height: 1.45; }
.google-calendar-dialog-actions { flex-wrap: wrap; }

@media (max-width: 700px) {
  .google-calendar-connection-card { grid-template-columns: auto minmax(0, 1fr); }
  .google-calendar-connection-card > button { grid-column: 1 / -1; width: 100%; min-height: 48px; }
  .google-calendar-sync-button { width: 100%; min-height: 50px; }
  .google-calendar-profile-actions button { width: 100%; min-height: 48px; }
  .google-calendar-choice-dialog .dialog-actions button { width: 100%; min-height: 48px; }
  .google-calendar-dialog-actions > button { flex: 1 1 100%; min-height: 48px; }
}
