/* ================================
   Theme tokens
   ================================ */
:root {
  --radius: .6rem;
  --focus-shadow: 0 0 0 3px rgba(59,130,246,.35);
}

:root[data-theme="dark"] {
  --bg: #0b1020;
  --text: #e6e8ef;
  --muted: #9aa3b2;
  --panel: #121835;
  --panel-2: #0f1430;
  --border: #2a3155;
  --primary: #3ba2ff;

  --field-bg: #0f1430;
  --field-text: #e6e8ef;
  --field-placeholder: #9aa3b2;
  --field-border: #2a3155;
  --field-wrapper-bg: #0f1430;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --bg: #f6f7fb;
  --text: #111827;
  --muted: #6b7280;
  --panel: #ffffff;
  --panel-2: #ffffff;
  --border: #e5e7eb;
  --primary: #0ea5e9;

  --field-bg: #ffffff;
  --field-text: #111827;
  --field-placeholder: #9ca3af;
  --field-border: #e5e7eb;
  --field-wrapper-bg: #ffffff;
  color-scheme: light;
}

/* ================================
   Base layout
   ================================ */
html, body {
  background: var(--bg);
  color: var(--text);
}

.card {
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.breadcrumbs a { color: var(--text); opacity:.85; text-decoration:none }
.breadcrumbs a:hover { opacity:1 }

/* ================================
   Form controls – neutral baseline
   ================================ */
input, select, textarea, button {
  font: inherit;
}

/* Bloque universal de inputs */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="number"],
input[type="url"],
input[type="tel"],
select,
textarea {
  width: 100%;
  border: 1px solid var(--field-border);
  background-color: var(--field-bg);
  color: var(--field-text);
  border-radius: var(--radius);
  padding: .45rem .6rem;
  outline: none;
  transition: box-shadow .15s ease, border-color .15s ease, background-color .15s ease, color .15s ease;
}

/* Placeholders */
input::placeholder,
textarea::placeholder {
  color: var(--field-placeholder);
  opacity: 1;
}

/* Focus */
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  border-color: var(--primary);
  box-shadow: var(--focus-shadow);
}

/* Deshabilitados */
input:disabled,
select:disabled,
textarea:disabled {
  opacity: .6;
  cursor: not-allowed;
}

/* Select y date pickers */
select {
  background-image: none;
  appearance: none;
}

/* ================================
   Light theme hard overrides
   (por si algún CSS anterior oscurece inputs)
   ================================ */
:root[data-theme="light"] input[type="text"],
:root[data-theme="light"] input[type="email"],
:root[data-theme="light"] input[type="password"],
:root[data-theme="light"] input[type="search"],
:root[data-theme="light"] input[type="date"],
:root[data-theme="light"] input[type="time"],
:root[data-theme="light"] input[type="datetime-local"],
:root[data-theme="light"] input[type="number"],
:root[data-theme="light"] input[type="url"],
:root[data-theme="light"] input[type="tel"],
:root[data-theme="light"] select,
:root[data-theme="light"] textarea {
  background-color: #ffffff !important;
  color: #111827 !important;
  border-color: #e5e7eb !important;
}

/* El contenedor .group y el "input" interno que usas en toolbars */
.group {
  border: 1px solid var(--border);
  background: var(--field-wrapper-bg);
  border-radius: var(--radius);
}
.group .input {
  background: transparent !important;
  color: var(--field-text) !important;
}
:root[data-theme="light"] .group { background: #ffffff !important; }

/* ================================
   Autofill (Chrome/Safari)
   ================================ */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: var(--field-text) !important;
  box-shadow: 0 0 0px 1000px var(--field-bg) inset !important;
  transition: background-color 9999s ease-out 0s;
}

/* ================================
   Date inputs: icono/calendario
   ================================ */
:root[data-theme="light"] input[type="date"]::-webkit-calendar-picker-indicator {
  filter: none; /* evita inversión no deseada */
  opacity: .8;
}
:root[data-theme="dark"] input[type="date"]::-webkit-calendar-picker-indicator {
  filter: invert(1) hue-rotate(180deg) brightness(1.2);
  opacity: .85;
}

/* ================================
   Botones
   ================================ */
.btn {
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .45rem .7rem;
  border: 1px solid var(--border);
  background: var(--panel-2);
  color: var(--text);
  border-radius: var(--radius);
  text-decoration: none;
}
.btn:hover { border-color: var(--primary); }
.btn-primary {
  background: var(--primary);
  border-color: var(--primary);
  color: #fff;
}

/* Badges/Chips */
.badge {
  display:inline-block;
  padding:.2rem .45rem;
  border-radius: 999px;
  background: rgba(14,165,233,.15);
  color: var(--text);
  border: 1px solid var(--border);
}
.chip { background: var(--panel-2); border:1px solid var(--border); }
.chip-on { background: rgba(14,165,233,.12); border-color: rgba(14,165,233,.35); }