/* ============================================================
   agenda.css — MLRO Agenda Feature Styles
   Brand: #015441 (primary), #0F3D24 (dark), #2D7A52 (mid green)
   Typography: IBM Plex Sans (imported below)
   Tone: ultra-premium institutional, no gradients
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&display=swap');

/* ── CSS variables scoped to agenda ─────────────────────────── */
:root {
  --ag-primary:     #015441;
  --ag-dark:        #0F3D24;
  --ag-mid:         #2D7A52;
  --ag-light-bg:    #FAFAFA;
  --ag-white:       #FFFFFF;
  --ag-border:      #E2E8E4;
  --ag-muted:       #BDBDBD;
  --ag-ink:         #1A2E26;
  --ag-ink-2:       #3D5249;
  --ag-high:        #C0392B;
  --ag-medium:      #E67E22;
  --ag-low:         #2D7A52;
  --ag-font:        'IBM Plex Sans', 'Inter', system-ui, sans-serif;
}

/* ── Tab container ───────────────────────────────────────────── */
.agenda-tab {
  font-family:    var(--ag-font);
  background:     var(--ag-light-bg);
  min-height:     100%;
  padding:        0;
  display:        flex;
  flex-direction: column;
}

/* ── Toolbar ─────────────────────────────────────────────────── */
.agenda-toolbar {
  display:         flex;
  align-items:     center;
  gap:             10px;
  padding:         14px 20px;
  background:      var(--ag-white);
  border-bottom:   1px solid var(--ag-border);
  flex-wrap:       wrap;
}

.agenda-toolbar-filters {
  display:     flex;
  align-items: center;
  gap:         8px;
  flex:        1;
  flex-wrap:   wrap;
}

.agenda-filter-select {
  font-family:   var(--ag-font);
  font-size:     .75rem;
  font-weight:   500;
  color:         var(--ag-ink);
  background:    var(--ag-white);
  border:        1px solid var(--ag-border);
  border-radius: 5px;
  padding:       5px 10px;
  cursor:        pointer;
  outline:       none;
  transition:    border-color .15s;
}
.agenda-filter-select:focus {
  border-color: var(--ag-mid);
}

.agenda-filter-date {
  font-family:   var(--ag-font);
  font-size:     .75rem;
  color:         var(--ag-ink);
  background:    var(--ag-white);
  border:        1px solid var(--ag-border);
  border-radius: 5px;
  padding:       5px 10px;
  outline:       none;
}

.agenda-add-btn {
  font-family:    var(--ag-font);
  font-size:      .75rem;
  font-weight:    600;
  color:          var(--ag-white);
  background:     var(--ag-primary);
  border:         none;
  border-radius:  5px;
  padding:        7px 14px;
  cursor:         pointer;
  display:        flex;
  align-items:    center;
  gap:            5px;
  white-space:    nowrap;
  transition:     background .15s;
}
.agenda-add-btn:hover {
  background: var(--ag-dark);
}

/* ── List ─────────────────────────────────────────────────────── */
.agenda-list {
  flex:           1;
  overflow-y:     auto;
  padding:        16px 20px;
  display:        flex;
  flex-direction: column;
  gap:            10px;
}

.agenda-list-empty {
  text-align:  center;
  padding:     48px 20px;
  color:       var(--ag-muted);
  font-family: var(--ag-font);
  font-size:   .8rem;
}

/* ── Cards ────────────────────────────────────────────────────── */
.agenda-card {
  background:    var(--ag-white);
  border:        1px solid var(--ag-border);
  border-left:   4px solid var(--ag-muted);
  border-radius: 6px;
  padding:       14px 16px;
  transition:    box-shadow .15s, border-color .15s;
}
.agenda-card:hover {
  box-shadow: 0 2px 8px rgba(1,84,65,.08);
}

.agenda-card--meeting { border-left-color: var(--ag-mid); }
.agenda-card--task    { border-left-color: var(--ag-primary); }

/* Priority left-border overrides */
.agenda-card[data-priority="high"]   { border-left-color: var(--ag-high); }
.agenda-card[data-priority="medium"] { border-left-color: var(--ag-medium); }
.agenda-card[data-priority="low"]    { border-left-color: var(--ag-low); }

/* Completed / cancelled state */
.agenda-card--completed,
.agenda-card--cancelled {
  opacity:    .6;
  background: #F9FAFB;
}

.agenda-card__header {
  display:         flex;
  align-items:     center;
  gap:             8px;
  margin-bottom:   6px;
}

.agenda-card__title {
  font-family: var(--ag-font);
  font-size:   .85rem;
  font-weight: 600;
  color:       var(--ag-ink);
  flex:        1;
  white-space: nowrap;
  overflow:    hidden;
  text-overflow: ellipsis;
}

.agenda-card__badge {
  font-family:   var(--ag-font);
  font-size:     .62rem;
  font-weight:   600;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding:       2px 7px;
  border-radius: 3px;
  white-space:   nowrap;
}
.agenda-card__badge--meeting {
  background: rgba(45,122,82,.12);
  color:      var(--ag-mid);
}
.agenda-card__badge--task {
  background: rgba(1,84,65,.10);
  color:      var(--ag-primary);
}

.agenda-card__meta {
  display:     flex;
  align-items: center;
  gap:         12px;
  flex-wrap:   wrap;
  font-family: var(--ag-font);
  font-size:   .72rem;
  color:       var(--ag-ink-2);
  margin-bottom: 10px;
}

.agenda-card__meta-item {
  display:     flex;
  align-items: center;
  gap:         4px;
}

.agenda-status-badge {
  font-size:     .62rem;
  font-weight:   600;
  padding:       2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: .03em;
}
.agenda-status-badge--pending   { background: rgba(230,126,34,.12); color: #B45309; }
.agenda-status-badge--completed { background: rgba(45,122,82,.12);  color: var(--ag-mid); }
.agenda-status-badge--cancelled { background: rgba(189,189,189,.2); color: #6B7280; }

.agenda-card__actions {
  display:  flex;
  gap:      6px;
  flex-wrap: wrap;
}

.agenda-action-btn {
  font-family:   var(--ag-font);
  font-size:     .7rem;
  font-weight:   500;
  padding:       4px 10px;
  border-radius: 4px;
  border:        1px solid var(--ag-border);
  background:    var(--ag-white);
  color:         var(--ag-ink-2);
  cursor:        pointer;
  transition:    background .12s, color .12s, border-color .12s;
}
.agenda-action-btn:hover        { background: var(--ag-light-bg); border-color: var(--ag-mid); color: var(--ag-primary); }
.agenda-action-btn--danger      { border-color: rgba(192,57,43,.3); color: var(--ag-high); }
.agenda-action-btn--danger:hover{ background: rgba(192,57,43,.06); border-color: var(--ag-high); }
.agenda-action-btn--primary     { background: var(--ag-primary); color: var(--ag-white); border-color: var(--ag-primary); }
.agenda-action-btn--primary:hover{ background: var(--ag-dark); border-color: var(--ag-dark); }

/* ── Modal shell ─────────────────────────────────────────────── */
.agenda-modal-overlay {
  position:   fixed;
  inset:      0;
  background: rgba(0,0,0,.45);
  z-index:    1100;
  display:    flex;
  align-items: center;
  justify-content: center;
  padding:    20px;
}
.agenda-modal-overlay.hidden { display: none; }

.agenda-modal {
  font-family:   var(--ag-font);
  background:    var(--ag-white);
  border-radius: 8px;
  width:         100%;
  max-width:     540px;
  max-height:    90vh;
  display:       flex;
  flex-direction: column;
  box-shadow:    0 16px 48px rgba(0,0,0,.18);
  overflow:      hidden;
}

.agenda-modal--wide { max-width: 680px; }

.agenda-modal__header {
  display:       flex;
  align-items:   center;
  justify-content: space-between;
  padding:       16px 20px;
  border-bottom: 1px solid var(--ag-border);
  background:    var(--ag-primary);
  color:         var(--ag-white);
}

.agenda-modal__title {
  font-size:   .9rem;
  font-weight: 600;
}

.agenda-modal__close {
  background:    none;
  border:        none;
  color:         rgba(255,255,255,.7);
  font-size:     1.2rem;
  cursor:        pointer;
  padding:       2px 6px;
  border-radius: 3px;
  transition:    color .12s;
}
.agenda-modal__close:hover { color: var(--ag-white); }

.agenda-modal__body {
  flex:       1;
  overflow-y: auto;
  padding:    20px;
}

.agenda-modal__footer {
  display:       flex;
  align-items:   center;
  justify-content: flex-end;
  gap:           8px;
  padding:       14px 20px;
  border-top:    1px solid var(--ag-border);
  background:    #F9FAFB;
}

/* ── Modal form ──────────────────────────────────────────────── */
.agenda-modal__form {
  display:        flex;
  flex-direction: column;
  gap:            14px;
}

.agenda-form-group {
  display:        flex;
  flex-direction: column;
  gap:            5px;
}

.agenda-form-label {
  font-size:   .72rem;
  font-weight: 600;
  color:       var(--ag-ink-2);
  text-transform: uppercase;
  letter-spacing: .04em;
}

.agenda-form-input,
.agenda-form-select,
.agenda-form-textarea {
  font-family:   var(--ag-font);
  font-size:     .82rem;
  color:         var(--ag-ink);
  background:    var(--ag-white);
  border:        1px solid var(--ag-border);
  border-radius: 5px;
  padding:       8px 10px;
  outline:       none;
  transition:    border-color .15s;
  width:         100%;
  box-sizing:    border-box;
}
.agenda-form-input:focus,
.agenda-form-select:focus,
.agenda-form-textarea:focus { border-color: var(--ag-mid); }
.agenda-form-textarea { resize: vertical; min-height: 80px; }

.agenda-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.agenda-type-radios {
  display: flex;
  gap:     16px;
}

.agenda-type-radio {
  display:     flex;
  align-items: center;
  gap:         6px;
  cursor:      pointer;
  font-size:   .8rem;
  color:       var(--ag-ink-2);
}

.agenda-meeting-fields { display: none; }
.agenda-meeting-fields.visible { display: block; }

.agenda-attendee-tags {
  display:     flex;
  flex-wrap:   wrap;
  gap:         5px;
  padding:     6px 8px;
  border:      1px solid var(--ag-border);
  border-radius: 5px;
  min-height:  38px;
  background:  var(--ag-white);
  cursor:      text;
}

.agenda-attendee-tag {
  display:       flex;
  align-items:   center;
  gap:           4px;
  background:    rgba(45,122,82,.12);
  color:         var(--ag-mid);
  font-size:     .72rem;
  font-weight:   500;
  padding:       2px 7px;
  border-radius: 3px;
}

.agenda-attendee-tag__remove {
  background:  none;
  border:      none;
  padding:     0;
  color:       var(--ag-mid);
  cursor:      pointer;
  font-size:   .9rem;
  line-height: 1;
}

.agenda-attendee-input {
  font-family: var(--ag-font);
  font-size:   .78rem;
  border:      none;
  outline:     none;
  flex:        1;
  min-width:   100px;
  color:       var(--ag-ink);
}

.agenda-form-hint {
  font-size: .68rem;
  color:     var(--ag-muted);
  margin-top: 2px;
}

/* ── Notes list ──────────────────────────────────────────────── */
.agenda-notes-list {
  display:        flex;
  flex-direction: column;
  gap:            12px;
  margin-bottom:  16px;
}

.agenda-note {
  background:    #F9FAFB;
  border:        1px solid var(--ag-border);
  border-radius: 5px;
  padding:       12px 14px;
}

.agenda-note__header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  margin-bottom:   6px;
}

.agenda-note__type {
  font-size:     .65rem;
  font-weight:   600;
  text-transform: uppercase;
  letter-spacing: .05em;
  padding:       2px 7px;
  border-radius: 3px;
}
.agenda-note__type--pre        { background: rgba(1,84,65,.10);  color: var(--ag-primary); }
.agenda-note__type--post       { background: rgba(45,122,82,.12);color: var(--ag-mid); }
.agenda-note__type--ai_summary { background: rgba(230,126,34,.10);color: #B45309; }

.agenda-note__meta {
  font-size: .65rem;
  color:     var(--ag-muted);
}

.agenda-note__content {
  font-size:   .78rem;
  color:       var(--ag-ink);
  line-height: 1.55;
  white-space: pre-wrap;
}

.agenda-add-note-form {
  border-top:  1px solid var(--ag-border);
  padding-top: 14px;
  margin-top:  4px;
}

.agenda-ai-btn {
  font-family:   var(--ag-font);
  font-size:     .72rem;
  font-weight:   600;
  color:         var(--ag-white);
  background:    #B45309;
  border:        none;
  border-radius: 4px;
  padding:       6px 12px;
  cursor:        pointer;
  transition:    background .12s;
}
.agenda-ai-btn:hover    { background: #92400E; }
.agenda-ai-btn:disabled { opacity: .5; cursor: default; }

/* Previous meetings section in notes modal */
.agenda-prev-meetings {
  border-top:  1px solid var(--ag-border);
  padding-top: 14px;
  margin-top:  8px;
}

.agenda-prev-meetings__title {
  font-size:   .72rem;
  font-weight: 600;
  color:       var(--ag-ink-2);
  text-transform: uppercase;
  letter-spacing: .04em;
  margin-bottom: 8px;
}

.agenda-prev-meeting-row {
  display:       flex;
  align-items:   center;
  justify-content: space-between;
  padding:       7px 10px;
  border-radius: 4px;
  cursor:        pointer;
  transition:    background .12s;
  font-size:     .78rem;
  color:         var(--ag-ink-2);
}
.agenda-prev-meeting-row:hover { background: rgba(45,122,82,.06); color: var(--ag-primary); }

.agenda-prev-meeting-date {
  font-size:  .68rem;
  color:      var(--ag-muted);
}

/* ── Dashboard widget ────────────────────────────────────────── */
.agenda-dashboard-widget {
  background:    var(--ag-white);
  border:        1px solid var(--ag-border);
  border-radius: 6px;
  font-family:   var(--ag-font);
  overflow:      hidden;
  min-width:     0;
}

.agenda-widget__header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         12px 14px 10px;
  border-bottom:   1px solid var(--ag-border);
}

.agenda-widget__title {
  font-size:   .78rem;
  font-weight: 700;
  color:       var(--ag-ink);
  display:     flex;
  align-items: center;
  gap:         6px;
}

.agenda-widget__count {
  font-size:     .65rem;
  font-weight:   600;
  color:         var(--ag-mid);
  background:    rgba(45,122,82,.10);
  padding:       2px 7px;
  border-radius: 10px;
}

.agenda-widget__add {
  font-family:   var(--ag-font);
  font-size:     .68rem;
  font-weight:   600;
  color:         var(--ag-primary);
  background:    none;
  border:        1px solid var(--ag-border);
  border-radius: 4px;
  padding:       3px 8px;
  cursor:        pointer;
  transition:    background .12s, border-color .12s;
}
.agenda-widget__add:hover { background: rgba(1,84,65,.06); border-color: var(--ag-mid); }

.agenda-widget__list {
  padding: 6px 0;
}

.agenda-widget-item {
  display:       flex;
  align-items:   center;
  gap:           8px;
  padding:       7px 14px;
  transition:    background .1s;
  cursor:        default;
}
.agenda-widget-item:hover { background: #F4F8F6; }

.agenda-widget-item__type {
  font-size:     .65rem;
  font-weight:   700;
  color:         var(--ag-white);
  background:    var(--ag-mid);
  width:         18px;
  height:        18px;
  border-radius: 3px;
  display:       flex;
  align-items:   center;
  justify-content: center;
  flex-shrink:   0;
}
.agenda-widget-item__type--meeting { background: var(--ag-mid); }
.agenda-widget-item__type--task    { background: var(--ag-primary); }

.agenda-widget-item__title {
  flex:          1;
  font-size:     .75rem;
  color:         var(--ag-ink);
  white-space:   nowrap;
  overflow:      hidden;
  text-overflow: ellipsis;
}

.agenda-widget-item__time {
  font-size: .68rem;
  color:     var(--ag-muted);
  white-space: nowrap;
}

.agenda-widget-item__priority {
  width:         7px;
  height:        7px;
  border-radius: 50%;
  flex-shrink:   0;
}
.agenda-widget-item__priority--high   { background: var(--ag-high); }
.agenda-widget-item__priority--medium { background: var(--ag-medium); }
.agenda-widget-item__priority--low    { background: var(--ag-low); }

.agenda-widget__empty {
  padding:     16px 14px;
  font-size:   .75rem;
  color:       var(--ag-muted);
  text-align:  center;
}

/* ── Reminder popup ──────────────────────────────────────────── */
.agenda-reminder-popup {
  position:      fixed;
  bottom:        20px;
  right:         20px;
  width:         320px;
  background:    var(--ag-white);
  border:        1px solid var(--ag-border);
  border-radius: 8px;
  box-shadow:    0 8px 32px rgba(1,84,65,.18);
  z-index:       2000;
  font-family:   var(--ag-font);
  overflow:      hidden;
  animation:     ag-popup-in .2s ease-out;
}
.agenda-reminder-popup.hidden { display: none; }

@keyframes ag-popup-in {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

.agenda-reminder-popup__header {
  background:      var(--ag-primary);
  color:           var(--ag-white);
  padding:         10px 14px;
  display:         flex;
  align-items:     center;
  justify-content: space-between;
}

.agenda-reminder-popup__label {
  font-size:   .7rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  opacity:     .85;
}

.agenda-reminder-popup__type-badge {
  font-size:   .62rem;
  font-weight: 600;
  background:  rgba(255,255,255,.2);
  padding:     2px 7px;
  border-radius: 3px;
}

.agenda-reminder-popup__body {
  padding: 14px;
}

.agenda-reminder-popup__title {
  font-size:     .88rem;
  font-weight:   600;
  color:         var(--ag-ink);
  margin-bottom: 4px;
}

.agenda-reminder-popup__time {
  font-size: .72rem;
  color:     var(--ag-ink-2);
  margin-bottom: 6px;
}

.agenda-reminder-popup__attendees {
  font-size:    .7rem;
  color:        var(--ag-muted);
  margin-bottom: 6px;
}

.agenda-reminder-popup__previous {
  font-size:   .72rem;
  color:       var(--ag-muted);
  margin-top:  6px;
  padding-top: 6px;
  border-top:  1px solid var(--ag-border);
}

.agenda-reminder-popup__previous a {
  color:           var(--ag-mid);
  text-decoration: none;
  font-weight:     500;
  cursor:          pointer;
}
.agenda-reminder-popup__previous a:hover {
  text-decoration: underline;
}

.agenda-reminder-popup__actions {
  display:       flex;
  gap:           6px;
  padding:       0 14px 14px;
}

.ag-popup-btn {
  font-family:   var(--ag-font);
  font-size:     .72rem;
  font-weight:   600;
  border-radius: 4px;
  padding:       6px 11px;
  cursor:        pointer;
  border:        1px solid var(--ag-border);
  transition:    background .12s;
}
.ag-popup-btn--dismiss {
  background: var(--ag-primary);
  color:      var(--ag-white);
  border-color: var(--ag-primary);
  flex:       1;
}
.ag-popup-btn--dismiss:hover { background: var(--ag-dark); border-color: var(--ag-dark); }
.ag-popup-btn--snooze {
  background: var(--ag-white);
  color:      var(--ag-ink-2);
  flex:       1;
}
.ag-popup-btn--snooze:hover { background: var(--ag-light-bg); }

/* ── Agenda Bubble (floating FAB) ────────────────────────────── */
.agenda-bubble {
  position:        fixed;
  bottom:          24px;
  right:           24px;
  z-index:         9000;
  width:           52px;
  height:          52px;
  border-radius:   50%;
  background:      var(--ag-primary);
  color:           #fff;
  border:          none;
  cursor:          pointer;
  display:         flex;
  align-items:     center;
  justify-content: center;
  box-shadow:      0 4px 16px rgba(1,84,65,0.35);
  transition:      background 0.18s ease, transform 0.14s ease;
}
.agenda-bubble:hover {
  background:  var(--ag-dark);
  transform:   scale(1.07);
}

.agenda-bubble__badge {
  position:        absolute;
  top:             4px;
  right:           4px;
  min-width:       18px;
  height:          18px;
  padding:         0 4px;
  border-radius:   9px;
  background:      #dc2626;
  color:           #fff;
  font-family:     'Inter', sans-serif;
  font-size:       10px;
  font-weight:     700;
  display:         flex;
  align-items:     center;
  justify-content: center;
  border:          2px solid #fff;
}

@keyframes ag-bubble-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(220,38,38,0.5); }
  70%  { box-shadow: 0 0 0 8px rgba(220,38,38,0); }
  100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); }
}
.agenda-bubble--pulse .agenda-bubble__badge {
  animation: ag-bubble-pulse 1.6s ease infinite;
}

/* ── Agenda Chat Panel ───────────────────────────────────────── */
.agenda-chat-panel {
  position:      fixed;
  bottom:        80px;
  right:         24px;
  z-index:       8900;
  width:         340px;
  height:        480px;
  background:    #fff;
  border-radius: 12px;
  box-shadow:    0 8px 32px rgba(1,84,65,0.18), 0 2px 8px rgba(0,0,0,0.08);
  display:       none;
  flex-direction: column;
  overflow:      hidden;
  opacity:       0;
  transform:     translateY(12px);
  transition:    opacity 0.2s ease-out, transform 0.2s ease-out;
}
.agenda-chat-panel--visible {
  opacity:   1;
  transform: translateY(0);
}

.agenda-chat-panel__header {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         12px 14px;
  background:      var(--ag-primary);
  color:           #fff;
  flex-shrink:     0;
}
.agenda-chat-panel__header-left {
  display:     flex;
  align-items: center;
  gap:         8px;
}
.agenda-chat-panel__title {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size:   14px;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.agenda-chat-panel__date {
  font-family: 'Inter', sans-serif;
  font-size:   11px;
  color:       rgba(255,255,255,0.65);
}
.agenda-chat-panel__header-right {
  display:     flex;
  align-items: center;
  gap:         4px;
}
.agenda-chat-panel__open-full,
.agenda-chat-panel__close {
  background:  transparent;
  border:      none;
  color:       rgba(255,255,255,0.75);
  cursor:      pointer;
  font-size:   16px;
  line-height: 1;
  padding:     4px 6px;
  border-radius: 4px;
  transition:  color 0.15s;
}
.agenda-chat-panel__open-full:hover,
.agenda-chat-panel__close:hover {
  color: #fff;
}

.agenda-chat-panel__tabs {
  display:     flex;
  border-bottom: 1px solid var(--ag-border);
  flex-shrink: 0;
  background:  var(--ag-white);
}
.agenda-chat-panel__tab {
  flex:        1;
  padding:     9px 0;
  border:      none;
  background:  transparent;
  font-family: 'Inter', sans-serif;
  font-size:   12px;
  font-weight: 500;
  color:       var(--ag-muted);
  cursor:      pointer;
  border-bottom: 2px solid transparent;
  transition:  color 0.15s, border-color 0.15s;
}
.agenda-chat-panel__tab--active {
  color:        var(--ag-primary);
  border-bottom-color: var(--ag-primary);
}
.agenda-chat-panel__tab:hover {
  color: var(--ag-mid);
}

.agenda-chat-panel__body {
  flex:       1;
  overflow-y: auto;
  padding:    8px;
  display:    flex;
  flex-direction: column;
  gap:        6px;
}

/* ── Type badge (shared: MTG / TASK) ─────────────────────────── */
.agenda-type-badge {
  font-family:  'IBM Plex Sans', sans-serif;
  font-size:    9px;
  font-weight:  700;
  letter-spacing: 0.06em;
  padding:      2px 6px;
  border-radius: 3px;
  flex-shrink:  0;
}
.agenda-type-badge--meeting {
  background: rgba(1,84,65,0.12);
  color:      var(--ag-primary);
}
.agenda-type-badge--task {
  background: rgba(217,119,6,0.12);
  color:      #92400e;
}

/* ── Reminder bubble card ────────────────────────────────────── */
.agenda-reminder-bubble {
  background:    var(--ag-light-bg);
  border:        1px solid var(--ag-border);
  border-radius: 8px;
  padding:       10px 12px;
  display:       flex;
  flex-direction: column;
  gap:           6px;
}
.agenda-reminder-bubble__top {
  display:     flex;
  align-items: flex-start;
  gap:         7px;
}
.agenda-reminder-bubble__title {
  font-family:  'Inter', sans-serif;
  font-size:    13px;
  font-weight:  500;
  color:        var(--ag-ink);
  line-height:  1.35;
  flex:         1;
}
.agenda-reminder-bubble__meta {
  display:     flex;
  align-items: center;
  gap:         8px;
  font-family: 'Inter', sans-serif;
  font-size:   11px;
  color:       var(--ag-muted);
}
.agenda-reminder-bubble__time {
  font-weight: 600;
  color:       var(--ag-ink-2);
}
.agenda-reminder-bubble__attendees {
  overflow:     hidden;
  text-overflow: ellipsis;
  white-space:  nowrap;
}
.agenda-reminder-bubble__prev {
  background:  transparent;
  border:      none;
  color:       var(--ag-mid);
  font-size:   11px;
  font-family: 'Inter', sans-serif;
  cursor:      pointer;
  padding:     0;
  text-decoration: underline;
  text-align:  left;
}
.agenda-reminder-bubble__actions {
  display: flex;
  gap:     6px;
  margin-top: 2px;
}
.agenda-reminder-bubble__actions button {
  flex:          1;
  padding:       5px 0;
  border-radius: 5px;
  border:        1px solid var(--ag-border);
  background:    #fff;
  font-family:   'Inter', sans-serif;
  font-size:     11px;
  font-weight:   500;
  color:         var(--ag-ink-2);
  cursor:        pointer;
  transition:    background 0.14s, color 0.14s;
}
.agenda-reminder-bubble__actions button:first-child {
  border-color: var(--ag-primary);
  color:        var(--ag-primary);
}
.agenda-reminder-bubble__actions button:first-child:hover {
  background: var(--ag-primary);
  color:      #fff;
}
.agenda-reminder-bubble__actions button:not(:first-child):hover {
  background: var(--ag-light-bg);
}

/* ── Today item row ──────────────────────────────────────────── */
.agenda-today-item {
  background:    var(--ag-light-bg);
  border:        1px solid var(--ag-border);
  border-radius: 8px;
  padding:       9px 12px;
  display:       flex;
  flex-direction: column;
  gap:           6px;
}
.agenda-today-item__row {
  display:     flex;
  align-items: center;
  gap:         7px;
}
.agenda-today-item__time {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size:   11px;
  font-weight: 600;
  color:       var(--ag-ink-2);
  flex-shrink: 0;
}
.agenda-today-item__title {
  font-family:  'Inter', sans-serif;
  font-size:    12px;
  font-weight:  500;
  color:        var(--ag-ink);
  flex:         1;
  overflow:     hidden;
  text-overflow: ellipsis;
  white-space:  nowrap;
}
.agenda-priority-dot {
  width:        7px;
  height:       7px;
  border-radius: 50%;
  flex-shrink:  0;
}
.agenda-priority-dot--high   { background: #C0392B; }
.agenda-priority-dot--medium { background: #E67E22; }
.agenda-priority-dot--low    { background: var(--ag-mid); }

.agenda-today-item__actions {
  display: flex;
  gap:     6px;
}
.agenda-today-item__actions button {
  flex:          1;
  padding:       4px 0;
  border-radius: 5px;
  border:        1px solid var(--ag-border);
  background:    #fff;
  font-family:   'Inter', sans-serif;
  font-size:     11px;
  color:         var(--ag-ink-2);
  cursor:        pointer;
  transition:    background 0.14s;
}
.agenda-today-item__actions button:hover { background: var(--ag-light-bg); }

/* ── Panel empty state and add-row ──────────────────────────── */
.agenda-panel-empty {
  flex:            1;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-family:     'Inter', sans-serif;
  font-size:       13px;
  color:           var(--ag-muted);
  padding:         24px 0;
}
.agenda-panel-add-row {
  text-align: center;
  padding:    6px 0 4px;
}
.agenda-panel-add-btn {
  background:    transparent;
  border:        1px dashed var(--ag-border);
  border-radius: 6px;
  padding:       6px 18px;
  font-family:   'Inter', sans-serif;
  font-size:     12px;
  color:         var(--ag-mid);
  cursor:        pointer;
  transition:    border-color 0.14s, color 0.14s;
}
.agenda-panel-add-btn:hover {
  border-color: var(--ag-primary);
  color:        var(--ag-primary);
}

/* ── Quick Add Form (chat panel inline) ─────────────────────── */
.agenda-quick-add {
  padding:       12px;
  border-top:    1px solid var(--ag-border);
  display:       flex;
  flex-direction: column;
  gap:           10px;
}
.agenda-quick-add__heading {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size:   12px;
  font-weight: 600;
  color:       var(--ag-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.agenda-quick-add__type-row {
  display: flex;
  gap:     6px;
}
.agenda-quick-add__type-btn {
  flex:          1;
  padding:       5px 0;
  border-radius: 5px;
  border:        1px solid var(--ag-border);
  background:    #fff;
  font-family:   'Inter', sans-serif;
  font-size:     12px;
  font-weight:   500;
  color:         var(--ag-muted);
  cursor:        pointer;
  transition:    background 0.14s, color 0.14s, border-color 0.14s;
}
.agenda-quick-add__type-btn--active {
  background:   var(--ag-primary);
  border-color: var(--ag-primary);
  color:        #fff;
}
.agenda-quick-add__input {
  width:         100%;
  padding:       8px 10px;
  border:        1px solid var(--ag-border);
  border-radius: 6px;
  font-family:   'Inter', sans-serif;
  font-size:     13px;
  color:         var(--ag-ink);
  background:    #fff;
  outline:       none;
  box-sizing:    border-box;
  transition:    border-color 0.15s;
}
.agenda-quick-add__input:focus { border-color: var(--ag-primary); }
.agenda-quick-add__datetime {
  display: flex;
  gap:     8px;
}
.agenda-quick-add__date,
.agenda-quick-add__time {
  flex:          1;
  padding:       7px 8px;
  border:        1px solid var(--ag-border);
  border-radius: 6px;
  font-family:   'Inter', sans-serif;
  font-size:     12px;
  color:         var(--ag-ink);
  background:    #fff;
  outline:       none;
  box-sizing:    border-box;
  transition:    border-color 0.15s;
}
.agenda-quick-add__date:focus,
.agenda-quick-add__time:focus { border-color: var(--ag-primary); }
.agenda-quick-add__error {
  font-family: 'Inter', sans-serif;
  font-size:   11px;
  color:       #dc2626;
  padding:     0 2px;
}
.agenda-quick-add__actions {
  display: flex;
  gap:     8px;
}
.agenda-quick-add__btn {
  flex:          1;
  padding:       7px 0;
  border-radius: 6px;
  border:        1px solid var(--ag-border);
  font-family:   'Inter', sans-serif;
  font-size:     13px;
  font-weight:   500;
  cursor:        pointer;
  transition:    background 0.15s, color 0.15s;
}
.agenda-quick-add__btn--cancel {
  background: #fff;
  color:      var(--ag-muted);
}
.agenda-quick-add__btn--cancel:hover { background: var(--ag-light-bg); }
.agenda-quick-add__btn--submit {
  background:   var(--ag-primary);
  border-color: var(--ag-primary);
  color:        #fff;
}
.agenda-quick-add__btn--submit:hover   { background: var(--ag-dark); border-color: var(--ag-dark); }
.agenda-quick-add__btn--submit:disabled { opacity: 0.6; cursor: not-allowed; }

/* ── Agenda Calendar Tab ─────────────────────────────────────── */
.agcal-wrap {
  display:        flex;
  flex-direction: column;
  height:         100%;
  font-family:    'Inter', sans-serif;
  background:     var(--ag-light-bg);
}

.agcal-toolbar {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         14px 20px;
  background:      #fff;
  border-bottom:   1px solid var(--ag-border);
  flex-wrap:       wrap;
  gap:             10px;
  flex-shrink:     0;
}
.agcal-toolbar-left {
  display:     flex;
  align-items: center;
  gap:         10px;
}
.agcal-nav-btn {
  background:    transparent;
  border:        1px solid var(--ag-border);
  border-radius: 6px;
  width:         30px;
  height:        30px;
  font-size:     18px;
  line-height:   1;
  color:         var(--ag-ink-2);
  cursor:        pointer;
  transition:    background 0.14s;
  display:       flex;
  align-items:   center;
  justify-content: center;
}
.agcal-nav-btn:hover { background: var(--ag-light-bg); }
.agcal-month-label {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size:   16px;
  font-weight: 600;
  color:       var(--ag-ink);
  min-width:   160px;
  text-align:  center;
}
.agcal-toolbar-right {
  display:     flex;
  align-items: center;
  gap:         10px;
  flex-wrap:   wrap;
}
.agcal-filter-group {
  display: flex;
  gap:     4px;
}
.agcal-filter-btn {
  padding:       5px 10px;
  border-radius: 5px;
  border:        1px solid var(--ag-border);
  background:    #fff;
  font-family:   'Inter', sans-serif;
  font-size:     12px;
  font-weight:   500;
  color:         var(--ag-muted);
  cursor:        pointer;
  transition:    background 0.14s, color 0.14s, border-color 0.14s;
}
.agcal-filter-btn--active {
  background:   var(--ag-primary);
  border-color: var(--ag-primary);
  color:        #fff;
}
.agcal-add-btn {
  padding:       7px 14px;
  border-radius: 6px;
  background:    var(--ag-primary);
  border:        none;
  color:         #fff;
  font-family:   'Inter', sans-serif;
  font-size:     13px;
  font-weight:   500;
  cursor:        pointer;
  white-space:   nowrap;
  transition:    background 0.15s;
}
.agcal-add-btn:hover { background: var(--ag-dark); }

/* Add form inside calendar tab */
.agcal-add-form {
  background:    #fff;
  border-bottom: 1px solid var(--ag-border);
  padding:       16px 20px;
}
.agcal-add-form__heading {
  font-family: 'IBM Plex Sans', sans-serif;
  font-size:   13px;
  font-weight: 600;
  color:       var(--ag-ink-2);
  margin-bottom: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.agcal-add-form__body {
  display:        flex;
  flex-direction: column;
  gap:            10px;
}
.agcal-add-form__input {
  width:         100%;
  padding:       8px 10px;
  border:        1px solid var(--ag-border);
  border-radius: 6px;
  font-family:   'Inter', sans-serif;
  font-size:     13px;
  color:         var(--ag-ink);
  background:    #fff;
  outline:       none;
  box-sizing:    border-box;
  transition:    border-color 0.15s;
}
.agcal-add-form__input:focus { border-color: var(--ag-primary); }
.agcal-add-form__datetime {
  display: flex;
  gap:     10px;
}
.agcal-add-form__date,
.agcal-add-form__time {
  flex:          1;
  padding:       7px 10px;
  border:        1px solid var(--ag-border);
  border-radius: 6px;
  font-family:   'Inter', sans-serif;
  font-size:     13px;
  color:         var(--ag-ink);
  background:    #fff;
  outline:       none;
  box-sizing:    border-box;
  transition:    border-color 0.15s;
}
.agcal-add-form__date:focus,
.agcal-add-form__time:focus { border-color: var(--ag-primary); }
.agcal-add-form__actions {
  display:         flex;
  gap:             10px;
  justify-content: flex-end;
}

/* Calendar grid */
.agcal-grid-wrap {
  background:  #fff;
  border-bottom: 1px solid var(--ag-border);
  padding:     0 16px 12px;
  flex-shrink: 0;
}
.agcal-day-headers {
  display:               grid;
  grid-template-columns: repeat(7, 1fr);
  padding-top:           10px;
}
.agcal-day-header {
  text-align:  center;
  font-size:   11px;
  font-weight: 600;
  color:       var(--ag-muted);
  padding:     4px 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
.agcal-grid {
  display:               grid;
  grid-template-columns: repeat(7, 1fr);
  gap:                   2px;
}
.agcal-cell {
  min-height:     52px;
  border-radius:  6px;
  padding:        5px 4px 3px;
  cursor:         pointer;
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            3px;
  transition:     background 0.13s;
}
.agcal-cell:hover        { background: var(--ag-light-bg); }
.agcal-cell--empty       { cursor: default; }
.agcal-cell--empty:hover { background: transparent; }
.agcal-cell--today .agcal-cell-num {
  background:    var(--ag-primary);
  color:         #fff;
  border-radius: 50%;
  width:         24px;
  height:        24px;
  display:       flex;
  align-items:   center;
  justify-content: center;
}
.agcal-cell--selected { background: rgba(1,84,65,0.08); }
.agcal-cell-num {
  font-size:   13px;
  font-weight: 500;
  color:       var(--ag-ink);
  width:       24px;
  height:      24px;
  display:     flex;
  align-items: center;
  justify-content: center;
}
.agcal-cell-dots {
  display: flex;
  gap:     3px;
}
.agcal-dot {
  width:         6px;
  height:        6px;
  border-radius: 50%;
  flex-shrink:   0;
}
.agcal-dot--pending   { background: #E67E22; }
.agcal-dot--completed { background: var(--ag-mid); }
.agcal-dot--cancelled { background: var(--ag-muted); }

/* Divider */
.agcal-divider {
  height:     1px;
  background: var(--ag-border);
  flex-shrink: 0;
}

/* Audit list */
.agcal-audit {
  flex:       1;
  overflow-y: auto;
  padding:    16px 20px;
}
.agcal-audit-heading {
  font-family:    'IBM Plex Sans', sans-serif;
  font-size:      13px;
  font-weight:    600;
  color:          var(--ag-ink-2);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom:  10px;
}
.agcal-audit-list {
  display:        flex;
  flex-direction: column;
  gap:            6px;
}
.agcal-empty {
  font-size:  13px;
  color:      var(--ag-muted);
  padding:    20px 0;
  text-align: center;
}
.agcal-audit-row {
  background:    #fff;
  border:        1px solid var(--ag-border);
  border-radius: 8px;
  padding:       10px 14px;
  display:       flex;
  align-items:   flex-start;
  justify-content: space-between;
  gap:           12px;
}
.agcal-audit-row__left {
  display:     flex;
  align-items: flex-start;
  gap:         10px;
  flex:        1;
  min-width:   0;
}
.agcal-audit-row__info { flex: 1; min-width: 0; }
.agcal-audit-row__title {
  font-size:    13px;
  font-weight:  500;
  color:        var(--ag-ink);
  overflow:     hidden;
  text-overflow: ellipsis;
  white-space:  nowrap;
}
.agcal-audit-row__meta {
  font-size:  11px;
  color:      var(--ag-muted);
  margin-top: 2px;
}
.agcal-audit-row__right {
  display:        flex;
  flex-direction: column;
  align-items:    flex-end;
  gap:            6px;
  flex-shrink:    0;
}
.agcal-status {
  font-family:  'Inter', sans-serif;
  font-size:    10px;
  font-weight:  600;
  padding:      2px 8px;
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space:  nowrap;
}
.agcal-status--pending   { background: rgba(230,126,34,0.12);  color: #92400e; }
.agcal-status--completed { background: rgba(45,122,82,0.12);   color: var(--ag-primary); }
.agcal-status--cancelled { background: rgba(189,189,189,0.2);  color: #666; }
.agcal-audit-row__actions { display: flex; gap: 6px; }
.agcal-action-btn {
  padding:       4px 10px;
  border-radius: 5px;
  border:        1px solid var(--ag-border);
  background:    #fff;
  font-family:   'Inter', sans-serif;
  font-size:     11px;
  font-weight:   500;
  cursor:        pointer;
  transition:    background 0.13s, color 0.13s, border-color 0.13s;
}
.agcal-action-btn--complete {
  border-color: var(--ag-primary);
  color:        var(--ag-primary);
}
.agcal-action-btn--complete:hover {
  background:   var(--ag-primary);
  color:        #fff;
}
.agcal-action-btn--remove {
  border-color: #dc2626;
  color:        #dc2626;
}
.agcal-action-btn--remove:hover {
  background: #dc2626;
  color:      #fff;
}
