/* Variables de Temas */
.schedule-section {
  --sw-pink: #f8b6cb;
  --sw-dark-pink: #e55c8a;
  --sw-text: #6d2f44;
  --sw-bg: #ffffff;
  --sw-border: #f27ca5;
  margin: 20px 0;
}

/* Variación Dark */
.schedule-section.theme-dark {
  --sw-pink: #333333;
  --sw-dark-pink: #f27ca5;
  --sw-text: #f8b6cb;
  --sw-bg: #1a1a1a;
  --sw-border: #444444;
}

/* Variación Retro */
.schedule-section.theme-retro {
  --sw-pink: #ffebad;
  --sw-dark-pink: #ff6600;
  --sw-text: #4a3a3a;
  --sw-bg: #fffdf5;
  --sw-border: #ffcc33;
}

.schedule-window {
  background: var(--sw-bg);
  border: 4px solid var(--sw-border);
  border-radius: 30px;
  padding: 20px;
  color: var(--sw-text);
  transition: all 0.4s ease;
}

.toolbar {
  display: flex;
  justify-content: space-between;
  margin-bottom: 15px;
  gap: 10px;
}

.btn-theme, .btn-action, .btn-download {
  border: none;
  padding: 8px 12px;
  border-radius: 12px;
  cursor: pointer;
  font-weight: 600;
  font-size: 11px;
  transition: 0.3s;
}

.btn-theme { background: var(--sw-pink); color: var(--sw-text); }
.btn-action { background: var(--sw-text); color: white; }
.btn-download { background: #4CAF50; color: white; }

/* Paleta de Colores */
.color-palette {
  display: flex;
  gap: 8px;
  align-items: center;
  padding: 10px;
  background: rgba(0,0,0,0.05);
  border-radius: 15px;
  margin-bottom: 15px;
}

.swatch {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  cursor: pointer;
  border: 2px solid white;
  box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

/* Tabla */
#capture-area { background: var(--sw-bg); padding: 15px; border-radius: 10px; }
.schedule-header h2 { margin: 0; color: var(--sw-dark-pink); text-align: center; }
.schedule-header p { text-align: center; font-size: 12px; margin-top: 5px; opacity: 0.7; }

table { width: 100%; border-collapse: separate; border-spacing: 4px; }
th { background: var(--sw-pink); padding: 10px; border-radius: 8px; font-size: 13px; }
td { 
  border: 2px dashed var(--sw-border); 
  border-radius: 10px; 
  height: 60px; 
  text-align: center; 
  transition: 0.2s;
  outline: none;
}
td.selected { border: 2px solid var(--sw-dark-pink); box-shadow: inset 0 0 8px rgba(0,0,0,0.1); }

.merge-tip { font-size: 11px; margin-top: 15px; text-align: center; opacity: 0.8; }
.btn-small { padding: 2px 8px; border-radius: 5px; border: 1px solid var(--sw-text); cursor: pointer; }


td { 
  /* ... tus otros estilos ... */
  transition: background-color 0.3s, color 0.3s;
  color: var(--sw-text); /* Color inicial */
}