/* ========================================
   Calendar Mode Styles
   ======================================== */

/* Calendar mode color */
:root {
  --color-calendar: #0d9488;
  --color-calendar-dark: #115e59;
  --color-calendar-tint: #f0fdfa;
}

/* Calendar mode button active state */
.mode-btn.mode-calendar.active {
  background-color: var(--color-calendar-dark);
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2);
}

/* Calendar config panel */
.calendar-config-panel {
  border-right-color: var(--color-calendar);
}

.calendar-config-panel h3 {
  color: var(--color-calendar-dark);
}

.calendar-config-panel .btn-primary {
  background-color: var(--color-calendar);
  border-color: var(--color-calendar);
}

.calendar-config-panel .btn-primary:hover {
  background-color: var(--color-calendar-dark);
}

.calendar-config-panel .input-group label {
  color: var(--color-calendar-dark);
}

.calendar-config-panel .input-group input:focus,
.calendar-config-panel .input-group textarea:focus,
.calendar-config-panel .input-group select:focus {
  border-color: var(--color-calendar);
  box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
}

/* Calendar scrollbar */
.calendar-config-panel::-webkit-scrollbar-thumb {
  background: var(--color-calendar);
}

/* Calendar preview panel */
.calendar-preview-panel {
  border-right-color: var(--color-calendar);
  background: linear-gradient(135deg, var(--color-surface) 0%, var(--color-calendar-tint) 100%);
}

#calendarModeContent .preview-header h2 {
  color: var(--color-calendar);
}

/* Calendar preview text */
#calendarPreview {
  font-family: "DotMatrix", "Courier New", monospace;
  font-size: 14px;
  line-height: 1.5;
}

#calendarPreview div {
  white-space: pre;
}

/* Calendar events list */
#calendarEventsList {
  margin-bottom: 0.3rem;
  max-height: 120px;
  overflow-y: auto;
  border: 1px solid var(--color-border);
  min-height: 40px;
  background-color: var(--color-surface);
  width: 100%;
}

#calendarEventsList:empty {
  padding: 0.2rem;
  font-style: italic;
  font-size: 0.8rem;
  color: var(--color-text-muted);
}

#calendarEventsList:empty::before {
  content: "No hay eventos agregados";
  display: block;
  padding: 10px;
  color: var(--color-text-muted);
  font-style: italic;
  text-align: left;
}

.event-row {
  display: flex;
  align-items: center;
  padding: 0.2rem 0.3rem;
  border-bottom: 1px solid var(--color-border);
  width: 100%;
  gap: 0.5rem;
}

.event-row:last-child {
  border-bottom: none;
}

.event-day {
  font-weight: bold;
  color: var(--color-calendar-dark);
  min-width: 35px;
}

.event-name {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-delete {
  cursor: pointer;
  color: var(--color-error);
  font-size: 1.1rem;
  line-height: 1;
  padding: 0 3px;
  opacity: 0.7;
}

.event-delete:hover {
  opacity: 1;
  color: #9b2c2c;
}

/* Full width button */
.btn-full {
  width: 100%;
  margin-top: 0.4rem;
}

/* Dark mode calendar styles */
[data-theme="dark"] .calendar-preview-panel {
  background: linear-gradient(135deg, #2d3748 0%, #1a202c 100%);
}

[data-theme="dark"] .calendar-config-panel {
  border-right-color: var(--color-calendar);
}

[data-theme="dark"] .calendar-config-panel .config-section:hover {
  border-left-color: var(--color-calendar);
}