/* Theme switcher and cross-theme transitions. Component colors stay in tokens.css. */

body,
.sidebar,
.topbar,
.card,
.table-wrap,
.table thead th,
.auth-card,
.badge,
input,
select,
textarea {
  transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease),
    border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}

.theme-toggle {
  display:inline-flex;
  align-items:center;
  gap:var(--s-2);
  min-height:40px;
  padding:0 var(--s-3);
  color:var(--text);
  background:var(--control-bg);
  border:1px solid var(--control-border);
  border-radius:var(--radius-full);
  font:inherit;
  font-size:.85rem;
  font-weight:600;
  cursor:pointer;
  box-shadow:var(--shadow-1);
  transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease),
    border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease),
    transform var(--dur) var(--ease);
}

.theme-toggle:hover {
  color:var(--accent);
  background:var(--control-hover);
  border-color:var(--accent);
  box-shadow:var(--glow);
}

.theme-toggle:active { transform:translateY(1px); }

.theme-toggle__icon {
  display:grid;
  place-items:center;
  width:1.25rem;
  color:var(--accent);
  font-size:1rem;
  line-height:1;
  --icon-src:url("/static/icons/sun.svg");
}

:root[data-theme="light"] .theme-toggle__icon {
  --icon-src:url("/static/icons/moon.svg");
}

.auth-tools {
  position:fixed;
  z-index:10;
  top:var(--s-4);
  right:var(--s-4);
}

/* prefers-reduced-motion обрабатывается глобально в app.css (* !important),
   локальный блок был избыточен. */
