/* =====================================================================
   TEMA BIKERLAND — se carga solo cuando APP_BRAND=bikerland (ver app/branding.py).
   Mismo diseno de siempre, con la identidad de Bikerland: fondo claro, tarjetas
   blancas, texto casi negro y el rojo de la marca (#d71920), igual que el catalogo.
   Todo va bajo `body.brand-bikerland`, asi no afecta a ninguna otra marca.
   ===================================================================== */
body.brand-bikerland {
  --bg: #f4f5f7;
  --panel: #ffffff;
  --panel-2: #f6f7f9;
  --line: #e5e7eb;
  --text: #111318;
  --muted: #6b7280;
  --white: #ffffff;
  --accent: #d71920;
  --accent-2: #b3141b;
  --success: #1fa855;
  --warning: #b7791f;
  --danger: #c62828;
  --shadow: 0 1px 2px rgba(17, 19, 24, .06), 0 6px 18px rgba(17, 19, 24, .06);
  --radius: 16px;
  background: var(--bg);
  color: var(--text);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.brand-bikerland a { color: #b3141b; }
.brand-bikerland a:hover { color: var(--accent); }

/* cabecera */
.brand-bikerland .site-header { background: rgba(255, 255, 255, .96); border-bottom: 1px solid var(--line); backdrop-filter: blur(8px); }
.brand-bikerland .nav-shell { min-height: 64px; }
.brand-bikerland .brand-logo { height: 40px; }
.brand-bikerland .nav-links a:not(.btn) { color: var(--text); font-weight: 600; }
.brand-bikerland .nav-links a:not(.btn):hover { color: var(--accent); }

/* botones */
.brand-bikerland .btn-primary { background: var(--accent); color: #fff; box-shadow: none; }
.brand-bikerland .btn-primary:hover { background: var(--accent-2); color: #fff; }
.brand-bikerland .btn-secondary { background: #eceef2; color: var(--text); border: 1px solid var(--line); }
.brand-bikerland .btn-ghost { background: transparent; color: var(--text); border: 1px solid #d5d8de; }
.brand-bikerland .btn-success { background: rgba(31,168,85,.12); color: #146c38; border-color: rgba(31,168,85,.35); }
.brand-bikerland .btn-warning { background: rgba(183,121,31,.12); color: #7a4f10; border-color: rgba(183,121,31,.35); }
.brand-bikerland .btn-danger  { background: rgba(198,40,40,.10); color: #9b1c1c; border-color: rgba(198,40,40,.32); }

/* tarjetas y paneles */
.brand-bikerland .feature-card, .brand-bikerland .glass-card, .brand-bikerland .panel,
.brand-bikerland .stat-card, .brand-bikerland .stack-card, .brand-bikerland .tl-card {
  background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow);
}
.brand-bikerland .section-header p, .brand-bikerland .muted, .brand-bikerland .stat-card span { color: var(--muted); }
.brand-bikerland .eyebrow { color: var(--accent); border-color: rgba(215,25,32,.3); background: rgba(215,25,32,.05); }

/* barra lateral */
.brand-bikerland .side-nav { background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow); }
.brand-bikerland .side-nav a { color: var(--text); font-weight: 600; }
.brand-bikerland .side-nav a:hover { background: #f3f4f6; color: var(--accent); }

/* campos */
.brand-bikerland input, .brand-bikerland textarea, .brand-bikerland select { border: 1px solid #d5d8de; background: #fff; color: var(--text); }
.brand-bikerland input:focus, .brand-bikerland textarea:focus, .brand-bikerland select:focus {
  border-color: var(--accent); box-shadow: 0 0 0 4px rgba(215, 25, 32, .12);
}

/* tablas */
.brand-bikerland th, .brand-bikerland td { border-bottom: 1px solid var(--line); }
.brand-bikerland th { color: var(--muted); }
.brand-bikerland td { color: var(--text); }

/* avisos e insignias */
.brand-bikerland .alert { background: #fff; color: var(--text); border: 1px solid var(--line); box-shadow: var(--shadow); }
.brand-bikerland .alert-success { background: #eefaf2; color: #146c38; border-color: rgba(31,168,85,.35); }
.brand-bikerland .alert-danger  { background: #fdf0f0; color: #9b1c1c; border-color: rgba(198,40,40,.3); }
.brand-bikerland .alert-warning { background: #fdf7ea; color: #7a4f10; border-color: rgba(183,121,31,.35); }
.brand-bikerland .alert-info    { background: #f1f5fb; color: #1e3a5f; border-color: rgba(30,58,95,.2); }
.brand-bikerland .status-approved { background: #eefaf2; color: #146c38; border-color: rgba(31,168,85,.35); }
.brand-bikerland .status-pending  { background: #f1f5fb; color: #1e3a5f; border-color: rgba(30,58,95,.25); }
.brand-bikerland .status-rejected, .brand-bikerland .status-disabled { background: #fdf0f0; color: #9b1c1c; border-color: rgba(198,40,40,.3); }
.brand-bikerland .status-warning { background: #fdf7ea; color: #7a4f10; border-color: rgba(183,121,31,.35); }
.brand-bikerland .badge { background: #f3f4f6; color: var(--muted); }
.brand-bikerland .badge-warn { background: #fdf7ea; color: #7a4f10; border-color: rgba(183,121,31,.35); }
.brand-bikerland .crm-aviso { background: #fdf7ea; }

/* inicio de sesion: panel izquierdo con la marca */
.brand-bikerland .login-brand-panel { background: linear-gradient(155deg, #111318 0%, #2a0d0f 100%); border-color: transparent; color: #fff; }
.brand-bikerland .login-brand-panel::after { background: radial-gradient(circle, rgba(215,25,32,.35), transparent 62%); }
.brand-bikerland .brand-copy h1 { color: #fff; }
.brand-bikerland .brand-copy p, .brand-bikerland .mini-feature-list span { color: #d1d5db; }
.brand-bikerland .login-card { background: #fff; color: var(--text); box-shadow: var(--shadow); border: 1px solid var(--line); }
.brand-bikerland .login-card-header h2 { color: var(--text); }
.brand-bikerland .login-card-header p, .brand-bikerland .small-center { color: var(--muted); }
.brand-bikerland .muted-link { color: var(--accent); }
.brand-bikerland .login-logo { width: min(100%, 260px); }

/* ---- modulo de taller ---- */
.brand-bikerland .tl-back { color: var(--muted); }
.brand-bikerland .tl-top-new { background: var(--accent); color: #fff; border-color: transparent; }
.brand-bikerland .tl-title { color: var(--text); }
.brand-bikerland .tl-step-dot { background: #fff; border-color: #d5d8de; color: var(--muted); }
.brand-bikerland .tl-steps .is-done .tl-step-dot { background: var(--success); border-color: var(--success); color: #fff; }
.brand-bikerland .tl-steps .is-current .tl-step-dot { background: var(--accent); border-color: var(--accent); color: #fff; }
.brand-bikerland .tl-card-main span, .brand-bikerland .tl-customer span, .brand-bikerland .tl-empty { color: var(--muted); }
.brand-bikerland .tl-pill { background: #f3f4f6; color: var(--text); }
.brand-bikerland .tl-status { background: #f3f4f6; color: var(--muted); border-color: var(--line); }
.brand-bikerland .tl-status-received, .brand-bikerland .tl-status-repairing { background: #fdecec; color: #9b1c1c; border-color: rgba(215,25,32,.3); }
.brand-bikerland .tl-status-diagnosing { background: #f1ecfb; color: #4a2c8a; border-color: rgba(74,44,138,.25); }
.brand-bikerland .tl-status-awaiting_approval { background: #fdf7ea; color: #7a4f10; border-color: rgba(183,121,31,.35); }
.brand-bikerland .tl-status-approved, .brand-bikerland .tl-status-ready { background: #eefaf2; color: #146c38; border-color: rgba(31,168,85,.35); }
.brand-bikerland .tl-status-cancelled { background: #fdf0f0; color: #9b1c1c; border-color: rgba(198,40,40,.3); }
.brand-bikerland .tl-moto.is-new { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(215,25,32,.2), var(--shadow); }
.brand-bikerland .tl-next { color: #7a4f10 !important; }
.brand-bikerland .tl-summary { color: var(--text); }

/* ---- Bloque 3 (tema Bikerland) ---- */
.brand-bikerland .tl-chip span { background: #fff; border-color: #d5d8de; color: var(--text); }
.brand-bikerland .tl-chip input:checked + span { border-color: var(--accent); background: #fdecec; color: #9b1c1c; box-shadow: 0 0 0 2px rgba(215,25,32,.18); }
.brand-bikerland .tl-photo { background: #f3f4f6; }
.brand-bikerland .tl-file-btn { border-color: var(--accent); background: #fdf5f5; color: var(--text); }
.brand-bikerland .tl-todo li { background: #fff; }

/* ---- Bloque 4 (tema Bikerland) ---- */
.brand-bikerland .tl-seg-op span { background: #fff; border-color: #d5d8de; color: var(--text); }
.brand-bikerland .tl-seg-ok input:checked + span { background: #eefaf2; border-color: #1fa855; color: #146c38; }
.brand-bikerland .tl-seg-review input:checked + span { background: #fdf7ea; border-color: #b7791f; color: #7a4f10; }
.brand-bikerland .tl-seg-replace input:checked + span { background: #fdecec; border-color: #d71920; color: #9b1c1c; }
.brand-bikerland .tl-x { background: #fff; border-color: #d5d8de; }
.brand-bikerland .tl-meses input[type=range]::-webkit-slider-runnable-track { background: linear-gradient(90deg, var(--accent) var(--rango, 25%), #e1e3e8 var(--rango, 25%)); }
.brand-bikerland .tl-meses input[type=range]::-moz-range-track { background: #e1e3e8; }
.brand-bikerland .tl-aviso, .brand-bikerland .tl-punto { background: #fff; border-color: var(--line); }

.brand-bikerland .tl-aprox { background: #fffdf7; border-color: #e3c98a; }
