/* =====================================================
   TAXICONFIANZA — styles.css
   Sistema de tema claro/oscuro compartido por TODA la plataforma
   (landing, dashboard conductor, dashboard propietario, etc.)
   ===================================================== */

/* -----------------------------------------------------
   1) VARIABLES DE TEMA
   Modo oscuro = default (body sin clase)
   Modo claro  = body.light-mode
   ----------------------------------------------------- */
:root {
  --bg-app: #ffffff;
  --bg-nav: #1c1a17;      /* franja del menú: mismo oscuro estándar del panel (sidebar) */
  --bg-card: rgba(30, 20, 10, 0.03);
  --bg-card-solid: #fbf8f2;
  --bg-alt: #f7f3ec;
  --bg-feed: #ffffff;

  --border: rgba(30, 20, 10, 0.09);
  --border-soft: rgba(30, 20, 10, 0.055);

  --text-primary: #241c14;
  --text-secondary: #6b5f50;
  --text-tertiary: #8a7d6b;

  --gold: #d9a94a;      /* amarillo suave, coherente con el color del gremio pero menos saturado */
  --gold-strong: #b28a2f; /* variante más oscura para texto/links sobre fondo blanco */
  --cream: #f3ece1;
  --green: #4d8f68;
  --red: #e24b4a;
  --blue: #3b7ea1;
  --purple: #a78bfa;

  --shadow: 0 1px 3px rgba(0, 0, 0, 0.05);

  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 14px;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
    "Helvetica Neue", Arial, sans-serif;
  --font-serif: Georgia, "Iowan Old Style", "Palatino Linotype", "Book Antiqua",
    "Times New Roman", serif;
}

/* -----------------------------------------------------
   2) RESET BÁSICO
   ----------------------------------------------------- */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  width: 100%;
  overflow-x: hidden;
  min-height: 100vh;
  font-family: var(--font-sans);
  background: var(--bg-app);
  color: var(--text-primary);
  transition: background 0.25s ease, color 0.25s ease;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font-family: inherit;
  cursor: pointer;
}

/* -----------------------------------------------------
   3) LAYOUT BASE — pantalla completa, sin márgenes muertos
   ----------------------------------------------------- */
.tc-page {
  width: 100%;
  min-height: 100vh;
  background: var(--bg-app);
}

.tc-container {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 32px;
}

@media (max-width: 768px) {
  .tc-container {
    padding: 0 16px;
  }
}

/* -----------------------------------------------------
   4) NAVBAR
   ----------------------------------------------------- */
.tc-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 32px;
  background: var(--bg-nav);
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
  box-shadow: var(--shadow);
  position: sticky;
  top: 0;
  z-index: 100;
}

.tc-nav-logo,
.tc-nav-links a {
  color: rgba(243, 236, 225, 0.85);
}
.tc-nav-logo { color: #f3ece1; }
.tc-nav-links a:hover { color: var(--gold); }
.tc-nav .tc-btn-ghost {
  border-color: rgba(255, 255, 255, 0.18);
  color: #f3ece1;
}
.tc-nav .tc-btn-ghost:hover {
  border-color: var(--gold);
  background: rgba(217, 169, 74, 0.1);
}

.tc-nav-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 16px;
  color: var(--text-primary);
}

.tc-logo-badge {
  background: var(--gold);
  color: #1c1a17;
  width: 32px;
  height: 32px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 12px;
  flex-shrink: 0;
}

.tc-nav-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.tc-btn-ghost {
  background: transparent;
  border: 0.5px solid var(--border);
  color: var(--text-primary);
  padding: 9px 20px;
  border-radius: 999px;
  font-size: 13px;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.tc-btn-ghost:hover {
  border-color: var(--gold);
  background: rgba(217, 169, 74, 0.06);
}

.tc-btn-gold {
  background: var(--gold);
  border: none;
  color: #201d19;
  padding: 9px 20px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.15s;
}
.tc-btn-gold:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}

.tc-btn-gold-lg {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gold);
  border: none;
  color: #201d19;
  padding: 14px 30px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: opacity 0.2s, transform 0.15s;
}
.tc-btn-gold-lg:hover {
  opacity: 0.88;
  transform: translateY(-1px);
}


/* -----------------------------------------------------
   6) TRUST BAR
   ----------------------------------------------------- */
.tc-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  padding: 10px 32px;
  background: #1c1a17;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.08);
  flex-wrap: wrap;
}

.tc-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: rgba(243, 236, 225, 0.75);
}

.tc-trust-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

/* -----------------------------------------------------
   7) HERO
   ----------------------------------------------------- */
.tc-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 24px;
  min-height: 460px;
  max-width: 1280px;
  margin: 0 auto;
}

@media (max-width: 900px) {
  .tc-hero {
    grid-template-columns: 1fr;
  }
}

.tc-hero-left {
  padding: 56px 12px 56px 48px;
}

@media (max-width: 900px) {
  .tc-hero-left {
    padding: 40px 24px;
  }
}

@keyframes tc-fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to   { opacity: 1; transform: translateY(0); }
}
.tc-hero-left > * {
  opacity: 0;
  animation: tc-fade-up 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.tc-hero-left > *:nth-child(1) { animation-delay: 0.05s; }
.tc-hero-left > *:nth-child(2) { animation-delay: 0.15s; }
.tc-hero-left > *:nth-child(3) { animation-delay: 0.28s; }
.tc-hero-left > *:nth-child(4) { animation-delay: 0.4s; }
.tc-hero-left > *:nth-child(5) { animation-delay: 0.5s; }
@media (prefers-reduced-motion: reduce) {
  .tc-hero-left > * { animation: none; opacity: 1; }
}

.tc-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: rgba(30, 20, 10, 0.035);
  border: 0.5px solid var(--border);
  color: var(--text-secondary);
  padding: 7px 16px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 26px;
}
.tc-hero-badge::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

.tc-hero-left h1 {
  font-family: var(--font-serif);
  font-size: 46px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--text-primary);
  margin-bottom: 20px;
  max-width: 580px;
  letter-spacing: -0.01em;
}

.tc-hero-left h1 span {
  color: var(--gold);
  font-style: italic;
}

.tc-hero-left p {
  font-size: 15.5px;
  color: var(--text-secondary);
  line-height: 1.75;
  margin-bottom: 30px;
  max-width: 460px;
}

.tc-cta-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 420px;
}

.tc-cta-card {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 15px 18px;
  border: 0.5px solid var(--border);
  border-radius: var(--radius-md);
  cursor: pointer;
  background: var(--bg-card);
  transition: border-color 0.2s, transform 0.15s;
}
.tc-cta-card:hover {
  border-color: rgba(217, 169, 74, 0.4);
  transform: translateY(-1px);
}

.tc-cta-icon {
  width: 40px;
  height: 40px;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}

.tc-cta-text h4 {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.tc-cta-text p {
  font-size: 12px;
  color: var(--text-tertiary);
}

.tc-cta-arrow {
  margin-left: auto;
  color: var(--gold);
  font-size: 16px;
}

.tc-login-hint {
  font-size: 13px;
  color: var(--text-tertiary);
  text-align: center;
  margin-top: 14px;
}
.tc-login-hint span {
  color: var(--gold);
  cursor: pointer;
  font-weight: 600;
}

/* ---- Hero right: foto estilo Workana (forma orgánica) ---- */
.tc-hero-right {
  position: relative;
  padding: 20px 48px 20px 12px;
  min-height: 500px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.tc-organic-graphic {
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 480px;
  opacity: 0;
  transform: scale(0.96);
  animation: tc-fade-up 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.25s forwards;
}
@media (prefers-reduced-motion: reduce) {
  .tc-organic-graphic { animation: none; opacity: 1; transform: none; }
}

.tc-blob-bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 280px;
  height: 280px;
  border-radius: 50% 50% 0 50%;
  background: var(--gold);
  opacity: 0.85;
  transform: rotate(8deg);
}

.tc-accent-circle {
  position: absolute;
  bottom: 20px;
  left: 10px;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: var(--green);
  opacity: 0.9;
}

.tc-accent-ring {
  position: absolute;
  bottom: 40px;
  right: 15px;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 3px solid var(--gold);
  opacity: 0.6;
}

.tc-photo-mask {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 420px;
  height: 420px;
  border-radius: 50% 8% 50% 50%;
  overflow: hidden;
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.3);
  background: linear-gradient(135deg, #2a3045, #1a2035);
}

.tc-photo-mask img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

.tc-photo-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 8px;
}

.tc-photo-placeholder .icon {
  font-size: 64px;
  opacity: 0.45;
}

.tc-photo-placeholder .label {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.35);
}

/* -----------------------------------------------------
   8) STATS PANEL (alternativa al hero-right en algunas vistas)
   ----------------------------------------------------- */
.tc-stats-panel {
  background: var(--bg-alt);
  padding: 32px 28px;
  border-radius: var(--radius-lg);
}

.tc-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  border-radius: var(--radius-sm);
  overflow: hidden;
  margin-bottom: 16px;
}

.tc-stat-cell {
  background: var(--bg-card-solid);
  padding: 16px 10px;
  text-align: center;
}

.tc-stat-num {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  color: var(--gold);
}

.tc-stat-label {
  font-size: 11px;
  color: var(--text-tertiary);
  margin-top: 3px;
}

.tc-benefit-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  background: var(--bg-card);
  border: 0.5px solid var(--border-soft);
  border-radius: var(--radius-sm);
  margin-bottom: 8px;
}

.tc-benefit-item .icon {
  font-size: 18px;
  flex-shrink: 0;
}

.tc-benefit-item h5 {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 2px;
}

.tc-benefit-item p {
  font-size: 12px;
  color: var(--text-tertiary);
  line-height: 1.5;
}

/* -----------------------------------------------------
   9) SECCIÓN GENÉRICA (cómo funciona, ciudades, testimonio)
   ----------------------------------------------------- */
.tc-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 48px;
  border-top: 0.5px solid var(--border-soft);
}

@media (max-width: 900px) {
  .tc-section {
    padding: 40px 24px;
  }
}

.tc-section-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-tertiary);
  margin-bottom: 10px;
}
.tc-section-label::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
}

.tc-section-title {
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 400;
  color: var(--text-primary);
  margin-bottom: 32px;
  letter-spacing: -0.01em;
}

/* Cómo funciona — pasos */
.tc-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

@media (max-width: 768px) {
  .tc-steps {
    grid-template-columns: 1fr;
  }
}

.tc-step {
  background: #fbf8f2;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  padding: 22px;
}

.tc-step-num {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--gold);
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
  color: #201d19;
  margin-bottom: 14px;
}

.tc-step h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
}

.tc-step p {
  font-size: 13px;
  color: var(--text-tertiary);
  line-height: 1.6;
}

/* Ciudades */
.tc-cities-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

@media (max-width: 768px) {
  .tc-cities-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.tc-city-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: var(--bg-card);
  border: 0.5px solid var(--border-soft);
  border-radius: var(--radius-sm);
}

.tc-city-pill.soon {
  opacity: 0.55;
  border-style: dashed;
}

.tc-city-dot {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  flex-shrink: 0;
  background: var(--green);
}

.tc-city-pill.soon .tc-city-dot {
  background: var(--gold);
}

.tc-city-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.tc-city-count {
  font-size: 11px;
  color: var(--text-tertiary);
}

/* Testimonio */
.tc-testimonial-card {
  background: var(--bg-card);
  border: 0.5px solid rgba(217, 169, 74, 0.2);
  border-radius: var(--radius-md);
  padding: 22px;
  max-width: 480px;
  box-shadow: var(--shadow);
}

.tc-stars {
  color: var(--gold);
  font-size: 14px;
  margin-bottom: 10px;
}

.tc-testimonial-card blockquote {
  font-family: var(--font-serif);
  font-size: 16px;
  color: var(--text-secondary);
  line-height: 1.65;
  font-style: italic;
  margin-bottom: 16px;
}

.tc-testimonial-author {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tc-author-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(217, 169, 74, 0.15);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: var(--gold);
}

.tc-author-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--text-primary);
}

.tc-author-role {
  font-size: 11px;
  color: var(--text-tertiary);
}

/* -----------------------------------------------------
   10) FINAL CTA + FOOTER
   ----------------------------------------------------- */
.tc-final-cta {
  padding: 48px;
  text-align: center;
  background: #1c1a17;
  border-top: 0.5px solid rgba(255, 255, 255, 0.08);
}

.tc-final-cta h2 {
  font-family: var(--font-serif);
  font-size: 30px;
  font-weight: 400;
  line-height: 1.3;
  color: #f3ece1;
  margin: 0 auto 10px;
  max-width: 640px;
}

.tc-final-cta p {
  font-size: 13px;
  color: rgba(243, 236, 225, 0.6);
  margin-bottom: 24px;
}

.tc-final-btns {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.tc-final-btns .tc-btn-ghost {
  border-color: rgba(255, 255, 255, 0.2);
  color: #f3ece1;
}
.tc-final-btns .tc-btn-ghost:hover {
  border-color: var(--gold);
  background: rgba(217, 169, 74, 0.1);
}

.tc-footer {
  padding: 22px 32px;
  border-top: 0.5px solid var(--border-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
}

.tc-footer-links {
  display: flex;
  gap: 18px;
  font-size: 12px;
  color: var(--text-tertiary);
}

.tc-footer-links a:hover {
  color: var(--gold);
}

.tc-footer-copy {
  font-size: 12px;
  color: rgba(243, 236, 225, 0.5);
}

/* =====================================================
   11) NAV — enlaces extendidos (desktop)
   ===================================================== */
.tc-nav-links {
  display: flex;
  align-items: center;
  gap: 26px;
}
.tc-nav-links a {
  font-size: 13px;
  color: rgba(243, 236, 225, 0.85);
  transition: color 0.2s;
}
.tc-nav-links a:hover {
  color: var(--gold);
}
@media (max-width: 1080px) {
  .tc-nav-links { display: none; }
}

/* =====================================================
   12) SCROLL REVEAL — IntersectionObserver + CSS transitions
   ===================================================== */
.tc-reveal {
  opacity: 0;
  transform: translateY(36px);
  filter: blur(6px);
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              filter 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform, filter;
}
.tc-reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
@media (prefers-reduced-motion: reduce) {
  .tc-reveal {
    transition: none;
    opacity: 1;
    transform: none;
    filter: none;
  }
}

/* =====================================================
   13) HERO SLIDER — pista deslizante + controles
   ===================================================== */
.tc-slider-track {
  display: flex;
  width: 100%;
  height: 100%;
  transition: transform 0.7s cubic-bezier(0.65, 0, 0.35, 1);
}
.tc-slider-track img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  flex: 0 0 100%;
}
.tc-slider-dots {
  position: absolute;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 7px;
  z-index: 5;
}
.tc-slider-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: background 0.25s, width 0.25s;
}
.tc-slider-dot.active {
  background: #ffffff;
  width: 20px;
  border-radius: 4px;
}

/* =====================================================
   14) AUDIENCIA — grid de 4 tarjetas ("para quién es esto")
   ===================================================== */
.tc-audience-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 980px) {
  .tc-audience-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .tc-audience-grid { grid-template-columns: 1fr; }
}
.tc-audience-card {
  background: var(--bg-card);
  border: 0.5px solid var(--border-soft);
  border-radius: var(--radius-md);
  padding: 24px 20px;
  transition: border-color 0.2s, transform 0.2s;
}
.tc-audience-card:hover {
  border-color: rgba(217, 169, 74, 0.35);
  transform: translateY(-3px);
}
.tc-audience-icon {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  margin-bottom: 16px;
}
.tc-audience-card h4 {
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  margin-bottom: 6px;
}
.tc-audience-card p {
  font-size: 12.5px;
  color: var(--text-tertiary);
  line-height: 1.6;
  margin-bottom: 14px;
}
.tc-audience-card a {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--gold);
}

/* =====================================================
   15) SECTION HEAD — label + título + link a la derecha
   ===================================================== */
.tc-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 32px;
  flex-wrap: wrap;
}
.tc-section-head .tc-section-title { margin-bottom: 0; }
.tc-section-link {
  font-size: 13px;
  font-weight: 600;
  color: var(--gold);
  white-space: nowrap;
}

/* =====================================================
   16) STATS BANNER — franja de confianza en números
   ===================================================== */
.tc-stats-banner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1px;
  background: var(--border);
  border: 0.5px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
}
@media (max-width: 768px) {
  .tc-stats-banner { grid-template-columns: repeat(2, 1fr); }
}
.tc-stats-banner .tc-stat-cell {
  background: var(--bg-card-solid);
  padding: 26px 16px;
}
.tc-stats-banner .tc-stat-num {
  font-size: 28px;
}

/* =====================================================
   17) FOOTER EXPANDIDO
   ===================================================== */
.tc-footer-expanded {
  padding: 56px 48px 0;
  background: #1c1a17;
  border-top: 0.5px solid rgba(255, 255, 255, 0.08);
}
@media (max-width: 900px) {
  .tc-footer-expanded { padding: 40px 24px 0; }
}
.tc-footer-top {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr 1.3fr;
  gap: 28px;
  padding-bottom: 40px;
}
@media (max-width: 900px) {
  .tc-footer-top { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .tc-footer-top { grid-template-columns: 1fr; }
}
.tc-footer-brand .tc-nav-logo { margin-bottom: 10px; }
.tc-footer-brand p {
  font-size: 12.5px;
  color: rgba(243, 236, 225, 0.55);
  line-height: 1.6;
  max-width: 240px;
  margin-bottom: 16px;
}
.tc-footer-social {
  display: flex;
  gap: 8px;
}
.tc-footer-social a {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  border: 0.5px solid rgba(255, 255, 255, 0.14);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  color: rgba(243, 236, 225, 0.75);
  transition: border-color 0.2s, color 0.2s;
}
.tc-footer-social a:hover {
  border-color: var(--gold);
  color: var(--gold);
}
.tc-footer-col h5 {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #f3ece1;
  margin-bottom: 14px;
}
.tc-footer-col a {
  display: block;
  font-size: 13px;
  color: rgba(243, 236, 225, 0.55);
  margin-bottom: 10px;
  transition: color 0.2s;
}
.tc-footer-col a:hover {
  color: var(--gold);
}
.tc-newsletter p {
  font-size: 12.5px;
  color: rgba(243, 236, 225, 0.55);
  line-height: 1.6;
  margin-bottom: 12px;
}
.tc-newsletter-form {
  display: flex;
  gap: 8px;
}
.tc-newsletter-form input {
  flex: 1;
  min-width: 0;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  border: 0.5px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.05);
  color: #f3ece1;
  font-size: 12.5px;
  outline: none;
}
.tc-newsletter-form input:focus {
  border-color: var(--gold);
}
.tc-newsletter-note {
  font-size: 11px;
  color: rgba(243, 236, 225, 0.45);
  margin-top: 8px;
}
.tc-footer-bottom {
  padding: 18px 0;
  border-top: 0.5px solid rgba(255, 255, 255, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}

/* =====================================================
   18) CENTRO DE INTELIGENCIA — panel de datos simulado
   ===================================================== */
.tc-intel {
  padding: 64px 48px;
  border-top: 0.5px solid var(--border-soft);
  background: var(--bg-alt);
}
.tc-intel-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 40px;
  max-width: 1280px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .tc-intel {
    padding: 40px 24px;
  }
  .tc-intel-inner {
    grid-template-columns: 1fr;
  }
}

.tc-intel-left p {
  font-size: 14.5px;
  color: var(--text-secondary);
  line-height: 1.75;
  max-width: 460px;
  margin: 4px 0 26px;
}

.tc-intel-right {
  display: flex;
  justify-content: center;
}

.tc-intel-panel {
  width: 100%;
  max-width: 380px;
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 0.5px solid rgba(217, 169, 74, 0.18);
  background:
    radial-gradient(420px 160px at 15% 0%, rgba(217, 169, 74, 0.14), transparent 60%),
    radial-gradient(420px 160px at 90% 10%, rgba(56, 189, 248, 0.10), transparent 55%),
    var(--bg-card-solid);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
}

.tc-intel-panel-head {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0.03em;
  color: var(--text-tertiary);
  text-transform: uppercase;
  margin-bottom: 18px;
}

.tc-intel-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 0 4px rgba(29, 158, 117, 0.18);
  flex-shrink: 0;
}

.tc-intel-metric {
  margin-bottom: 18px;
}

.tc-intel-metric-num {
  font-family: var(--font-serif);
  font-size: 36px;
  font-weight: 400;
  color: var(--text-primary);
  font-variant-numeric: tabular-nums;
}

.tc-intel-metric-label {
  font-size: 12px;
  color: var(--text-tertiary);
  margin-top: 2px;
}

.tc-intel-chart {
  width: 100%;
  height: 70px;
  display: block;
  margin-bottom: 18px;
}

.tc-intel-chart-line {
  fill: none;
  stroke: var(--gold);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tc-intel-chart-fill {
  fill: rgba(217, 169, 74, 0.12);
  stroke: none;
}

.tc-intel-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tc-intel-chip {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 11.5px;
  font-weight: 600;
  border: 0.5px solid var(--border);
  background: var(--bg-card);
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
}
.tc-intel-chip.ok {
  border-color: rgba(29, 158, 117, 0.35);
  color: var(--green);
  background: rgba(29, 158, 117, 0.1);
}
.tc-intel-chip.warn {
  border-color: rgba(217, 169, 74, 0.35);
  color: var(--gold);
  background: rgba(217, 169, 74, 0.1);
}
.tc-intel-chip.info {
  border-color: rgba(59, 130, 246, 0.35);
  color: var(--blue);
  background: rgba(59, 130, 246, 0.1);
}

/* =====================================================
   19) PÁGINA DE REGISTRO / LOGIN — layout partido
   Panel foto = gris oscuro (desaturado), panel formulario = blanco/crema
   ===================================================== */
.tc-auth-page {
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100vh;
  max-width: 1440px;
  margin: 0 auto;
}
@media (max-width: 980px) {
  .tc-auth-page {
    grid-template-columns: 1fr;
    height: auto;
    min-height: 100vh;
  }
}

/* ---- Panel izquierdo: foto en gris con overlay ---- */
.tc-auth-photo {
  position: relative;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  padding: 40px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  background: #1c1a17;
}
@media (max-width: 980px) {
  .tc-auth-photo {
    height: auto;
    min-height: 380px;
    padding: 32px 22px;
  }
}

/* Marco de la foto: nunca se deforma (object-fit: contain) y vive dentro de
   un contenedor con su propio fondo oscuro degradado, así si la imagen no
   llena el espacio, se ve intencional en vez de "rota" — listo para
   cuadrar la foto final después sin romper el diseño. */
.tc-auth-photo-frame {
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  overflow: hidden;
  background: linear-gradient(155deg, #2a251f 0%, #1c1a17 100%);
  z-index: 0;
}
.tc-auth-photo-frame img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}

.tc-auth-photo-overlay {
  position: absolute;
  inset: 18px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(15, 14, 12, 0.75) 0%, rgba(15, 14, 12, 0.3) 24%, rgba(15, 14, 12, 0.05) 45%, rgba(10, 9, 8, 0.7) 100%);
  z-index: 1;
}

.tc-auth-photo > * {
  position: relative;
  z-index: 2;
}

.tc-auth-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.tc-auth-brand-text h2 {
  font-size: 17px;
  font-weight: 700;
  color: #f3ece1;
}
.tc-auth-brand-text p {
  font-size: 12px;
  color: rgba(243, 236, 225, 0.6);
}

.tc-auth-headline h1 {
  font-family: var(--font-serif);
  font-size: 27px;
  font-weight: 400;
  line-height: 1.28;
  color: #f3ece1;
  max-width: 460px;
  margin-bottom: 10px;
}
.tc-auth-headline h1 span {
  color: var(--gold);
  font-style: italic;
}
.tc-auth-headline p {
  font-size: 13px;
  color: rgba(243, 236, 225, 0.68);
  line-height: 1.6;
  max-width: 420px;
  margin-bottom: 18px;
}

.tc-auth-benefits {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.tc-auth-benefit {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.06);
  border: 0.5px solid rgba(255, 255, 255, 0.09);
  backdrop-filter: blur(2px);
}
.tc-auth-benefit .tc-auth-benefit-icon {
  width: 34px;
  height: 34px;
  border-radius: 9px;
  background: rgba(217, 169, 74, 0.16);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  flex-shrink: 0;
}
.tc-auth-benefit h5 {
  font-size: 13px;
  font-weight: 600;
  color: #f3ece1;
  margin-bottom: 2px;
}
.tc-auth-benefit p {
  font-size: 11.5px;
  color: rgba(243, 236, 225, 0.6);
  line-height: 1.5;
}

/* ---- Panel derecho: formulario en blanco/crema ---- */
.tc-auth-form-panel {
  background: var(--cream);
  color: #241c14;
  height: 100%;
  padding: 32px 36px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow-y: auto;
}
@media (max-width: 980px) {
  .tc-auth-form-panel {
    height: auto;
    padding: 32px 22px;
  }
}

.tc-auth-form-inner {
  width: 100%;
  max-width: 480px;
}

.tc-auth-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: #b28a2f;
  margin-bottom: 16px;
  width: fit-content;
}

.tc-auth-form-panel h1 {
  font-family: var(--font-serif);
  font-size: 25px;
  font-weight: 400;
  color: #241c14;
  margin-bottom: 4px;
}
.tc-auth-form-panel h1 span {
  color: #b28a2f;
  font-style: italic;
}
.tc-auth-form-panel > p {
  font-size: 13.5px;
  color: #6b5f50;
  margin-bottom: 16px;
}

.tc-role-select {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 18px;
}
.tc-role-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 6px;
  padding: 13px 10px;
  border-radius: var(--radius-sm);
  border: 1.5px solid rgba(30, 20, 10, 0.12);
  background: #fffdf9;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s, transform 0.15s;
}
.tc-role-card:hover {
  transform: translateY(-1px);
}
.tc-role-card.active {
  border-color: var(--gold);
  background: rgba(217, 169, 74, 0.1);
}
.tc-role-card-icon {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 19px;
  background: rgba(30, 20, 10, 0.06);
}
.tc-role-card.active .tc-role-card-icon {
  background: var(--gold);
}
.tc-role-card h4 {
  font-size: 13.5px;
  font-weight: 700;
  color: #241c14;
}
.tc-role-card p {
  font-size: 11px;
  color: #726555;
}

.tc-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
@media (max-width: 480px) {
  .tc-form-row {
    grid-template-columns: 1fr;
  }
}

.tc-form-group {
  margin-bottom: 13px;
}
.tc-form-group label {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: #241c14;
  margin-bottom: 6px;
}
.tc-form-field {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.14);
  background: #fffdf9;
  transition: border-color 0.2s;
}
.tc-form-field:focus-within {
  border-color: var(--gold);
}
.tc-form-field .tc-field-icon {
  font-size: 14px;
  opacity: 0.55;
  flex-shrink: 0;
}
.tc-form-field input {
  border: none;
  outline: none;
  background: transparent;
  flex: 1;
  min-width: 0;
  font-size: 13.5px;
  color: #241c14;
  font-family: var(--font-sans);
}
.tc-form-field input::placeholder {
  color: #a89d8d;
}
.tc-field-toggle {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  opacity: 0.55;
  padding: 0;
}

.tc-submit-btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border: none;
  border-radius: 999px;
  background: var(--gold);
  color: #241c14;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  margin: 4px 0 16px;
  transition: opacity 0.2s, transform 0.15s;
}
.tc-submit-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.tc-auth-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 11.5px;
  color: #a89d8d;
  margin-bottom: 18px;
}
.tc-auth-divider::before,
.tc-auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(30, 20, 10, 0.12);
}

.tc-social-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
.tc-social-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.14);
  background: #fffdf9;
  font-size: 13px;
  font-weight: 600;
  color: #241c14;
  cursor: pointer;
  transition: border-color 0.2s;
}
.tc-social-btn:hover {
  border-color: rgba(30, 20, 10, 0.3);
}

.tc-auth-footer-note {
  text-align: center;
  font-size: 13px;
  color: #6b5f50;
  padding-top: 18px;
  border-top: 0.5px solid rgba(30, 20, 10, 0.1);
}
.tc-auth-footer-note a {
  color: #b28a2f;
  font-weight: 700;
}

/* =====================================================
   20) LOGIN — extras del panel foto (stats) y del panel formulario
   (reutiliza .tc-auth-photo / .tc-auth-form-panel de register.html)
   ===================================================== */

/* ---- Stats al pie del panel foto ---- */
.tc-auth-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding-top: 14px;
  margin-top: 14px;
  border-top: 0.5px solid rgba(255, 255, 255, 0.12);
}
@media (max-width: 560px) {
  .tc-auth-stats { grid-template-columns: repeat(2, 1fr); }
}
.tc-auth-stat {
  text-align: center;
}
.tc-auth-stat .icon {
  font-size: 16px;
  margin-bottom: 4px;
}
.tc-auth-stat .num {
  font-family: var(--font-serif);
  font-size: 17px;
  color: #f3ece1;
  font-variant-numeric: tabular-nums;
}
.tc-auth-stat .label {
  font-size: 11px;
  color: rgba(243, 236, 225, 0.55);
  line-height: 1.3;
  margin-top: 1px;
}

/* ---- Encabezado pequeño ("¡Bienvenido nuevamente!") ---- */
.tc-auth-eyebrow {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  font-weight: 600;
  color: #b28a2f;
  margin-bottom: 6px;
}

/* ---- Fila recordarme / olvidaste tu contraseña ---- */
.tc-auth-row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 20px;
  flex-wrap: wrap;
  gap: 8px;
}
.tc-checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #241c14;
  cursor: pointer;
  user-select: none;
}
.tc-checkbox-label input {
  width: 16px;
  height: 16px;
  accent-color: var(--gold);
  cursor: pointer;
}
.tc-link-muted {
  font-size: 12.5px;
  font-weight: 600;
  color: #6b5f50;
}
.tc-link-muted:hover {
  color: #b28a2f;
}

/* ---- Caja "conexión segura" ---- */
.tc-secure-box {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  background: rgba(217, 169, 74, 0.07);
  border: 0.5px solid rgba(217, 169, 74, 0.22);
  margin-bottom: 22px;
}
.tc-secure-box .icon {
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: rgba(217, 169, 74, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  flex-shrink: 0;
}
.tc-secure-box h5 {
  font-size: 12.5px;
  font-weight: 700;
  color: #241c14;
  margin-bottom: 2px;
}
.tc-secure-box p {
  font-size: 11.5px;
  color: #6b5f50;
  line-height: 1.5;
}

/* ---- Divisor con el logo en el medio ---- */
.tc-divider-logo {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}
.tc-divider-logo::before,
.tc-divider-logo::after {
  content: "";
  flex: 1;
  height: 1px;
  background: rgba(30, 20, 10, 0.12);
}
.tc-divider-logo .tc-logo-badge {
  width: 30px;
  height: 30px;
  font-size: 11px;
  flex-shrink: 0;
}

.tc-auth-footer-note p {
  font-size: 13px;
  color: #6b5f50;
  margin-bottom: 12px;
}

/* ---- Botón outline dorado ("Crear cuenta") ---- */
.tc-btn-outline-gold {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 13px;
  border-radius: 999px;
  border: 1.5px solid var(--gold);
  background: transparent;
  color: #b28a2f;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s;
}
.tc-btn-outline-gold:hover {
  background: rgba(217, 169, 74, 0.08);
}

/* =====================================================
   21) DASHBOARD PROPIETARIO — sidebar gris, contenido blanco
   ===================================================== */
.tc-dash-page {
  display: flex;
  min-height: 100vh;
  background: var(--cream);
}

/* ---- Sidebar (gris/oscuro) ---- */
.tc-dash-sidebar {
  width: 250px;
  flex-shrink: 0;
  background: #1c1a17;
  color: rgba(243, 236, 225, 0.85);
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}
@media (max-width: 980px) {
  .tc-dash-sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    transform: translateX(-100%);
    transition: transform 0.28s ease;
    z-index: 200;
    display: flex !important;
  }
  .tc-dash-sidebar.tc-open {
    transform: translateX(0);
  }
  .tc-dash-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(15,12,8,0.5);
    z-index: 190;
  }
  .tc-dash-overlay.tc-open {
    display: block;
  }
  .tc-dash-hamburger {
    display: flex !important;
  }
}
@media (min-width: 981px) {
  .tc-dash-hamburger {
    display: none;
  }
}

.tc-dash-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 6px;
}
.tc-dash-brand h2 {
  font-size: 15px;
  font-weight: 700;
  color: #f3ece1;
}
.tc-dash-brand p {
  font-size: 11.5px;
  color: rgba(243, 236, 225, 0.5);
}

.tc-dash-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.tc-dash-nav a {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  font-size: 13px;
  color: rgba(243, 236, 225, 0.68);
  transition: background 0.2s, color 0.2s;
}
.tc-dash-nav a .ico { font-size: 15px; width: 18px; text-align: center; flex-shrink: 0; }
.tc-dash-nav a:hover {
  background: rgba(255, 255, 255, 0.05);
  color: #f3ece1;
}
.tc-dash-nav a.active {
  background: var(--gold);
  color: #201d19;
  font-weight: 700;
}
.tc-dash-nav .tc-dash-badge {
  margin-left: auto;
  background: rgba(217, 169, 74, 0.18);
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: 999px;
}

.tc-dash-pro-box {
  background: rgba(217, 169, 74, 0.1);
  border: 0.5px solid rgba(217, 169, 74, 0.25);
  border-radius: var(--radius-md);
  padding: 14px;
}
.tc-dash-pro-box .tag {
  font-size: 11px;
  font-weight: 700;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 4px;
}
.tc-dash-pro-box h5 {
  font-size: 12.5px;
  color: #f3ece1;
  margin-bottom: 2px;
}
.tc-dash-pro-box p {
  font-size: 11.5px;
  color: rgba(243, 236, 225, 0.55);
  margin-bottom: 10px;
}
.tc-dash-pro-box a {
  display: block;
  text-align: center;
  background: var(--gold);
  color: #201d19;
  font-size: 11.5px;
  font-weight: 700;
  padding: 8px;
  border-radius: 999px;
}

.tc-dash-help-box {
  font-size: 11px;
  color: rgba(243, 236, 225, 0.55);
  text-align: center;
  padding-top: 10px;
  border-top: 0.5px solid rgba(255, 255, 255, 0.08);
}
.tc-dash-help-box strong {
  display: block;
  color: #f3ece1;
  font-size: 12.5px;
  margin: 4px 0;
}

/* ---- Contenido principal (blanco) ---- */
.tc-dash-main {
  flex: 1;
  min-width: 0;
  padding: 26px 34px 60px;
  color: #241c14;
}
@media (max-width: 768px) {
  .tc-dash-main { padding: 20px 18px 40px; }
}

.tc-dash-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 26px;
  flex-wrap: wrap;
}
.tc-dash-topbar h1 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  color: #241c14;
}
.tc-dash-topbar > div:first-child p {
  font-size: 13px;
  color: #6b5f50;
  margin-top: 2px;
}
.tc-dash-topbar-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.tc-dash-bell {
  position: relative;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(30, 20, 10, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  background: #fffdf9;
}
.tc-dash-bell .dot {
  position: absolute;
  top: -3px;
  right: -3px;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--gold);
  color: #201d19;
  font-size: 9px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tc-dash-user {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tc-dash-user img,
.tc-dash-user .tc-dash-avatar-fallback {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
  background: rgba(217, 169, 74, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #b28a2f;
}
.tc-dash-user .name {
  font-size: 13px;
  font-weight: 700;
  color: #241c14;
}
.tc-dash-user .role {
  font-size: 11px;
  color: #726555;
}

/* ---- Stats row ---- */
.tc-dash-stats {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 14px;
  margin-bottom: 22px;
}
@media (max-width: 980px) {
  .tc-dash-stats { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 600px) {
  .tc-dash-stats { grid-template-columns: repeat(2, 1fr); }
}
.tc-dash-stat-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px;
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.08);
  border-radius: var(--radius-md);
}
.tc-dash-stat-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex-shrink: 0;
}
.tc-dash-stat-card .num {
  font-family: var(--font-serif);
  font-size: 21px;
  color: #241c14;
  line-height: 1.1;
}
.tc-dash-stat-card .label {
  font-size: 11px;
  color: #726555;
  margin-top: 2px;
}

/* ---- Cards genéricas del dashboard ---- */
.tc-dash-card {
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.08);
  border-radius: var(--radius-lg);
  padding: 20px;
}
.tc-dash-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}
.tc-dash-card-head h3 {
  font-size: 14.5px;
  font-weight: 700;
  color: #241c14;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tc-dash-card-head a {
  font-size: 12px;
  font-weight: 600;
  color: #b28a2f;
}

.tc-dash-row-2 {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 16px;
  margin-bottom: 16px;
}
@media (max-width: 900px) {
  .tc-dash-row-2 { grid-template-columns: 1fr; }
}

/* Vehículo destacado */
.tc-dash-vehicle-photo {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  height: 190px;
  margin-bottom: 8px;
  background: #eee6d8;
}
.tc-dash-vehicle-photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-dash-vehicle-badge {
  position: absolute;
  top: 10px;
  left: 10px;
  background: rgba(255, 253, 249, 0.92);
  color: var(--green);
  font-size: 11px;
  font-weight: 700;
  padding: 4px 10px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  gap: 5px;
}
.tc-dash-vehicle-thumbs {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}
.tc-dash-vehicle-thumbs .thumb {
  width: 52px;
  height: 40px;
  border-radius: 8px;
  overflow: hidden;
  border: 2px solid transparent;
  cursor: pointer;
  background: #eee6d8;
}
.tc-dash-vehicle-thumbs .thumb.active { border-color: var(--gold); }
.tc-dash-vehicle-thumbs .thumb img { width: 100%; height: 100%; object-fit: cover; }

.tc-dash-vehicle-info h4 {
  font-size: 17px;
  font-weight: 700;
  color: #241c14;
}
.tc-dash-vehicle-info .sub {
  font-size: 12.5px;
  color: #726555;
  margin-bottom: 12px;
}
.tc-dash-spec-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 16px;
  margin-bottom: 16px;
}
.tc-dash-spec-list div {
  font-size: 12px;
  color: #6b5f50;
}
.tc-dash-spec-list div span {
  display: block;
  font-size: 12.5px;
  color: #241c14;
  font-weight: 600;
  margin-top: 1px;
}

.tc-dash-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.tc-dash-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12.5px;
  color: #6b5f50;
  gap: 10px;
}
.tc-dash-list-row span:last-child {
  color: #241c14;
  font-weight: 600;
  text-align: right;
}
.tc-dash-list-row .stars { color: var(--gold); letter-spacing: 1px; }

/* Historial + progreso circular */
.tc-dash-timeline {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tc-dash-timeline-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 12.5px;
}
.tc-dash-timeline-item .dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--green);
  margin-top: 4px;
  flex-shrink: 0;
}
.tc-dash-timeline-item .txt { color: #241c14; font-weight: 600; }
.tc-dash-timeline-item .date { color: #726555; margin-left: auto; white-space: nowrap; }

.tc-progress-ring-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.tc-progress-ring-wrap .pct {
  font-family: var(--font-serif);
  font-size: 26px;
  fill: #241c14;
}
.tc-progress-ring-wrap .status {
  font-size: 11.5px;
  color: #726555;
  margin-top: -6px;
  margin-bottom: 12px;
}
.tc-progress-sub {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.tc-progress-sub div {
  display: flex;
  justify-content: space-between;
  font-size: 11.5px;
  color: #6b5f50;
}
.tc-progress-sub .stars { color: var(--gold); }

/* Postulaciones */
.tc-dash-candidate {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.07);
}
.tc-dash-candidate:last-child { border-bottom: none; padding-bottom: 0; }
.tc-dash-candidate img {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  background: rgba(217, 169, 74, 0.16);
}
.tc-dash-candidate .info { flex: 1; min-width: 0; }
.tc-dash-candidate .name { font-size: 13px; font-weight: 700; color: #241c14; }
.tc-dash-candidate .meta { font-size: 11px; color: #726555; }
.tc-dash-candidate .match {
  font-size: 11px;
  font-weight: 700;
  color: var(--green);
}
.tc-dash-candidate-actions {
  display: flex;
  flex-direction: column;
  gap: 6px;
  flex-shrink: 0;
}
.tc-dash-candidate-actions button {
  font-size: 11px;
  font-weight: 700;
  padding: 6px 12px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}
.tc-btn-mini-ghost {
  border: 1px solid rgba(30, 20, 10, 0.15);
  background: transparent;
  color: #241c14;
}
.tc-btn-mini-gold {
  border: none;
  background: var(--gold);
  color: #201d19;
}

/* Banner inferior */
.tc-dash-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-radius: var(--radius-lg);
  background: #1c1a17;
  color: #f3ece1;
  flex-wrap: wrap;
}
.tc-dash-banner h4 { font-size: 15px; font-weight: 700; margin-bottom: 2px; }
.tc-dash-banner p { font-size: 12.5px; color: rgba(243, 236, 225, 0.6); }
.tc-dash-banner button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: none;
  background: var(--gold);
  color: #201d19;
  font-size: 13px;
  font-weight: 700;
  padding: 11px 20px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}

/* =====================================================
   22) DASHBOARD — plantilla general (Mis Vehículos y páginas siguientes)
   Sidebar gris con tarjeta de usuario + contenido blanco con tabla,
   donut de resumen y vencimientos. Reutiliza .tc-dash-* ya definidos.
   ===================================================== */

/* ---- Tarjeta de usuario en el sidebar ---- */
.tc-dash-sidebar-user {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.05);
  border: 0.5px solid rgba(255, 255, 255, 0.08);
}
.tc-dash-sidebar-user img,
.tc-dash-sidebar-user .fallback {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  object-fit: cover;
  flex-shrink: 0;
  background: rgba(217, 169, 74, 0.2);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  color: var(--gold);
}
.tc-dash-sidebar-user .name {
  font-size: 12.5px;
  font-weight: 700;
  color: #f3ece1;
}
.tc-dash-sidebar-user .role {
  font-size: 11.5px;
  color: rgba(243, 236, 225, 0.5);
}

/* ---- Topbar: botón hamburguesa + iconos extra ---- */
.tc-dash-hamburger {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.1);
  background: #fffdf9;
  font-size: 15px;
  cursor: pointer;
  flex-shrink: 0;
}
.tc-dash-topbar-left {
  display: flex;
  align-items: center;
  gap: 14px;
}
.tc-dash-user-caret { font-size: 11px; color: #726555; margin-left: 2px; }

/* ---- Barra de búsqueda + acciones sobre la tabla ---- */
.tc-dash-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.tc-dash-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(30, 20, 10, 0.12);
  background: #fffdf9;
  min-width: 260px;
  flex: 1;
  max-width: 340px;
}
.tc-dash-search input {
  border: none;
  outline: none;
  background: transparent;
  font-size: 12.5px;
  color: #241c14;
  width: 100%;
}
.tc-dash-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tc-btn-filter {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 9px 16px;
  border-radius: 999px;
  border: 1px solid rgba(30, 20, 10, 0.14);
  background: #fffdf9;
  font-size: 12.5px;
  font-weight: 600;
  color: #241c14;
  cursor: pointer;
  white-space: nowrap;
}
.tc-btn-dark {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 10px 18px;
  border-radius: 999px;
  border: none;
  background: #1c1a17;
  color: #f3ece1;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}

/* ---- Tabla de vehículos ---- */
.tc-dash-table-wrap { overflow-x: auto; }
.tc-dash-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 680px;
}
.tc-dash-table thead th {
  text-align: left;
  font-size: 11.5px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #726555;
  padding: 0 10px 10px;
  border-bottom: 1px solid rgba(30, 20, 10, 0.08);
}
.tc-dash-table tbody td {
  padding: 12px 10px;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
  font-size: 12.5px;
  color: #241c14;
  vertical-align: middle;
}
.tc-dash-table tbody tr:last-child td { border-bottom: none; }

.tc-dash-vehicle-cell {
  display: flex;
  align-items: center;
  gap: 10px;
}
.tc-dash-vehicle-cell img {
  width: 52px;
  height: 38px;
  border-radius: 8px;
  object-fit: cover;
  background: #eee6d8;
  flex-shrink: 0;
}
.tc-dash-vehicle-cell .plate { font-weight: 700; }

.tc-dash-cell-sub {
  display: block;
  font-size: 11px;
  color: #726555;
  margin-top: 1px;
}

.tc-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 700;
}
.tc-status-pill.on { color: var(--green); }
.tc-status-pill.warn { color: var(--gold); }
.tc-status-pill .dot {
  width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex-shrink: 0;
}

.tc-avail-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 11.5px;
  font-weight: 600;
  color: #241c14;
}
.tc-avail-pill .dot { width: 6px; height: 6px; border-radius: 50%; flex-shrink: 0; }
.tc-avail-pill.free .dot { background: var(--green); }
.tc-avail-pill.busy .dot { background: var(--blue); }
.tc-avail-pill.maint .dot { background: var(--gold); }

.tc-doc-ring { display: flex; align-items: center; gap: 6px; }
.tc-doc-ring svg { flex-shrink: 0; }
.tc-doc-ring .pct { font-size: 11.5px; font-weight: 700; }

.tc-row-actions {
  border: none;
  background: transparent;
  font-size: 16px;
  color: #726555;
  cursor: pointer;
  padding: 4px 8px;
}

.tc-dash-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  margin-top: 4px;
  flex-wrap: wrap;
  gap: 10px;
}
.tc-dash-pagination .note { font-size: 11.5px; color: #726555; }
.tc-dash-pagination .pages {
  display: flex;
  align-items: center;
  gap: 6px;
}
.tc-dash-pagination .pages button {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(30, 20, 10, 0.12);
  background: #fffdf9;
  font-size: 12px;
  color: #241c14;
  cursor: pointer;
}
.tc-dash-pagination .pages button.active {
  background: var(--gold);
  border-color: var(--gold);
  color: #201d19;
  font-weight: 700;
}

/* ---- Resumen de flota (donut) ---- */
.tc-donut-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 6px 0 14px;
}
.tc-donut-wrap .center-num {
  font-family: var(--font-serif);
  font-size: 22px;
  fill: #241c14;
}
.tc-donut-wrap .center-label {
  font-size: 9px;
  fill: #726555;
}
.tc-donut-legend {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 6px;
}
.tc-donut-legend div {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #6b5f50;
}
.tc-donut-legend .sw {
  width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0;
}
.tc-donut-legend span:last-child {
  margin-left: auto;
  font-weight: 700;
  color: #241c14;
}

/* ---- Próximos vencimientos ---- */
.tc-venc-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-venc-item:last-of-type { border-bottom: none; }
.tc-venc-item .ico { font-size: 14px; margin-top: 1px; }
.tc-venc-item .txt { font-size: 12px; font-weight: 600; color: #241c14; }
.tc-venc-item .sub { font-size: 11.5px; color: #726555; }
.tc-venc-item .days {
  margin-left: auto;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--gold);
  white-space: nowrap;
}

/* ---- Caja de consejo ---- */
.tc-tip-box {
  display: flex;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: rgba(217, 169, 74, 0.08);
  border: 0.5px solid rgba(217, 169, 74, 0.22);
}
.tc-tip-box .ico { font-size: 15px; }
.tc-tip-box h5 { font-size: 12px; font-weight: 700; color: #241c14; margin-bottom: 2px; }
.tc-tip-box p { font-size: 11px; color: #6b5f50; line-height: 1.5; }

.tc-dash-side-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tc-dash-cols {
  display: grid;
  grid-template-columns: 2.3fr 1fr;
  gap: 16px;
  align-items: start;
}
@media (max-width: 1100px) {
  .tc-dash-cols { grid-template-columns: 1fr; }
}

/* =====================================================
   23) PUBLICAR OFERTA — stepper, tarjetas de opción, preview, tips
   ===================================================== */

/* ---- Stepper superior ---- */
.tc-stepper {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 14px 0 20px;
  overflow-x: auto;
}
.tc-stepper-step {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.tc-stepper-step .circle {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 700;
  background: rgba(30, 20, 10, 0.08);
  color: #726555;
  flex-shrink: 0;
}
.tc-stepper-step.done .circle { background: var(--green); color: #fff; }
.tc-stepper-step.active .circle { background: var(--gold); color: #201d19; }
.tc-stepper-step .label {
  font-size: 12.5px;
  font-weight: 600;
  color: #726555;
  white-space: nowrap;
}
.tc-stepper-step.active .label,
.tc-stepper-step.done .label { color: #241c14; }
.tc-stepper-line {
  width: 30px;
  height: 1px;
  background: rgba(30, 20, 10, 0.14);
  flex-shrink: 0;
}

/* ---- Secciones numeradas del formulario ---- */
.tc-form-section {
  padding: 22px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.08);
}
.tc-form-section:first-of-type { padding-top: 4px; }
.tc-form-section:last-of-type { border-bottom: none; }
.tc-form-section-title {
  font-size: 15px;
  font-weight: 700;
  color: #241c14;
  margin-bottom: 2px;
}
.tc-form-section-sub {
  font-size: 12px;
  color: #726555;
  margin-bottom: 16px;
}

/* ---- Vehículo seleccionado ---- */
.tc-vehicle-select-card {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(30, 20, 10, 0.1);
  background: #fffdf9;
  margin-bottom: 18px;
}
.tc-vehicle-select-card img {
  width: 64px;
  height: 46px;
  border-radius: 8px;
  object-fit: cover;
  background: #eee6d8;
  flex-shrink: 0;
}
.tc-vehicle-select-card .info { flex: 1; min-width: 0; }
.tc-vehicle-select-card .plate { font-size: 13.5px; font-weight: 700; color: #241c14; }
.tc-vehicle-select-card .sub { font-size: 11.5px; color: #726555; }
.tc-vehicle-select-card .avail { font-size: 11px; font-weight: 700; color: var(--green); margin-top: 1px; }
.tc-vehicle-select-card a {
  font-size: 12px;
  font-weight: 600;
  color: #b28a2f;
  white-space: nowrap;
}

/* ---- Tarjetas de opción (radio visual) ---- */
.tc-option-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}
.tc-option-card {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 14px;
  border-radius: var(--radius-md);
  border: 1.5px solid rgba(30, 20, 10, 0.12);
  background: #fffdf9;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
}
.tc-option-card.active {
  border-color: var(--gold);
  background: rgba(217, 169, 74, 0.08);
}
.tc-option-card .radio {
  width: 17px;
  height: 17px;
  border-radius: 50%;
  border: 2px solid rgba(30, 20, 10, 0.25);
  flex-shrink: 0;
  position: relative;
}
.tc-option-card.active .radio { border-color: var(--gold); }
.tc-option-card.active .radio::after {
  content: "";
  position: absolute;
  inset: 3px;
  border-radius: 50%;
  background: var(--gold);
}
.tc-option-card h5 { font-size: 13px; font-weight: 700; color: #241c14; }
.tc-option-card p { font-size: 11px; color: #726555; }

/* ---- Select nativo estilizado ---- */
.tc-select-field {
  padding: 10px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.14);
  background: #fffdf9;
  font-size: 13px;
  color: #241c14;
  font-family: var(--font-sans);
  width: 100%;
  cursor: pointer;
}
.tc-field-hint {
  font-size: 11px;
  color: #a89d8d;
  margin-top: 5px;
}

/* ---- Checkboxes en grilla (afiliaciones) ---- */
.tc-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 6px;
}
.tc-check-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 10px 12px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.1);
  background: #fffdf9;
  font-size: 12.5px;
  color: #241c14;
  cursor: pointer;
}
.tc-check-item input { width: 15px; height: 15px; accent-color: var(--gold); cursor: pointer; }

/* ---- Toggle switch ---- */
.tc-toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(30, 20, 10, 0.1);
  background: #fffdf9;
  margin-bottom: 12px;
}
.tc-toggle-row .txt { font-size: 13px; font-weight: 600; color: #241c14; }
.tc-switch {
  position: relative;
  width: 38px;
  height: 21px;
  flex-shrink: 0;
}
.tc-switch input { opacity: 0; width: 0; height: 0; }
.tc-switch .track {
  position: absolute;
  inset: 0;
  background: rgba(30, 20, 10, 0.18);
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.2s;
}
.tc-switch .track::before {
  content: "";
  position: absolute;
  width: 15px; height: 15px;
  left: 3px; top: 3px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.2s;
}
.tc-switch input:checked + .track { background: var(--gold); }
.tc-switch input:checked + .track::before { transform: translateX(17px); }

textarea.tc-form-field-textarea {
  width: 100%;
  padding: 11px 14px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.14);
  background: #fffdf9;
  font-size: 13px;
  font-family: var(--font-sans);
  color: #241c14;
  resize: vertical;
  min-height: 76px;
}

/* ---- Vista previa de la oferta ---- */
.tc-preview-badge {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #b28a2f;
  background: rgba(217, 169, 74, 0.14);
  padding: 3px 9px;
  border-radius: 999px;
}
.tc-preview-vehicle {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0 14px;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.08);
  margin-bottom: 12px;
}
.tc-preview-vehicle img {
  width: 52px; height: 40px; border-radius: 8px; object-fit: cover; background: #eee6d8; flex-shrink: 0;
}
.tc-preview-vehicle .plate { font-size: 13px; font-weight: 700; color: #241c14; }
.tc-preview-vehicle .sub { font-size: 11px; color: #726555; }

/* ---- Lista de consejos ---- */
.tc-tips-list { display: flex; flex-direction: column; gap: 9px; margin-top: 4px; }
.tc-tips-list div { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #6b5f50; line-height: 1.4; }
.tc-tips-list .check { color: var(--green); font-weight: 700; flex-shrink: 0; }

/* ---- Caja "¿Listo para publicar?" ---- */
.tc-ready-box p {
  font-size: 12px;
  color: #6b5f50;
  line-height: 1.6;
  margin-bottom: 14px;
}
.tc-ready-box .tc-submit-btn { margin: 0 0 10px; }

/* ---- Franja de beneficios inferior ---- */
.tc-benefits-strip {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
@media (max-width: 900px) {
  .tc-benefits-strip { grid-template-columns: repeat(2, 1fr); }
}
.tc-benefit-strip-item {
  text-align: center;
  padding: 18px 12px;
}
.tc-benefit-strip-item .ico {
  width: 40px; height: 40px;
  border-radius: 50%;
  background: rgba(217, 169, 74, 0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  margin: 0 auto 10px;
}
.tc-benefit-strip-item h5 { font-size: 12.5px; font-weight: 700; color: #241c14; margin-bottom: 3px; }
.tc-benefit-strip-item p { font-size: 11px; color: #726555; line-height: 1.4; }

/* =====================================================
   24) PANEL DEL CONDUCTOR — hoja de vida, ofertas, reputación
   Reutiliza .tc-dash-* ya definidos; agrega solo piezas nuevas.
   ===================================================== */

.tc-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--green);
  background: rgba(126, 168, 138, 0.14);
  padding: 3px 9px;
  border-radius: 999px;
}

/* ---- Encabezado de la hoja de vida ---- */
.tc-cv-header {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 16px;
}
.tc-cv-header img,
.tc-cv-header .fallback {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  object-fit: cover;
  flex-shrink: 0;
  background: rgba(217, 169, 74, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: 700;
  color: #b28a2f;
}
.tc-cv-header h4 { font-size: 16px; font-weight: 700; color: #241c14; }
.tc-cv-header .role { font-size: 12px; color: #726555; margin-bottom: 6px; }

.tc-cv-meta-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px 18px;
  padding: 14px 0;
  border-top: 0.5px solid rgba(30, 20, 10, 0.07);
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.07);
  margin-bottom: 16px;
}
.tc-cv-meta-grid div {
  font-size: 12px;
  color: #6b5f50;
}
.tc-cv-meta-grid div span {
  display: block;
  font-size: 12.5px;
  color: #241c14;
  font-weight: 600;
  margin-top: 1px;
}

/* ---- Información destacada (checklist informativo) ---- */
.tc-highlight-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
}
.tc-highlight-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 12px;
}
.tc-highlight-item .check {
  color: var(--green);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 1px;
}
.tc-highlight-item .txt { font-weight: 600; color: #241c14; }
.tc-highlight-item .sub { display: block; font-size: 11.5px; color: #726555; }

/* ---- Tarjeta de oferta disponible ---- */
.tc-offer-card {
  display: flex;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.07);
}
.tc-offer-card:last-child { border-bottom: none; padding-bottom: 0; }
.tc-offer-card .photo {
  position: relative;
  width: 120px;
  height: 84px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  flex-shrink: 0;
  background: #eee6d8;
}
.tc-offer-card .photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-offer-card .tag {
  position: absolute;
  top: 6px;
  left: 6px;
  font-size: 9.5px;
  font-weight: 700;
  color: #fff;
  background: #d9534f;
  padding: 2px 7px;
  border-radius: 999px;
}
.tc-offer-card .body { flex: 1; min-width: 0; }
.tc-offer-card h5 { font-size: 13.5px; font-weight: 700; color: #241c14; }
.tc-offer-card .loc { font-size: 11.5px; color: #726555; margin-bottom: 4px; }
.tc-offer-card .meta { font-size: 11px; color: #6b5f50; line-height: 1.5; }
.tc-offer-card .side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: space-between;
  flex-shrink: 0;
  gap: 6px;
}
.tc-offer-card .price { font-family: var(--font-serif); font-size: 17px; color: #241c14; text-align: right; }
.tc-offer-card .price-sub { font-size: 11px; color: #726555; text-align: right; }

/* ---- Barra de progreso lineal ---- */
.tc-linear-progress-track {
  width: 100%;
  height: 8px;
  border-radius: 999px;
  background: rgba(30, 20, 10, 0.08);
  overflow: hidden;
  margin: 6px 0 10px;
}
.tc-linear-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--gold);
}
.tc-linear-progress-label {
  display: flex;
  justify-content: space-between;
  font-size: 11.5px;
  color: #6b5f50;
}
.tc-linear-progress-label strong { color: #241c14; }

/* ---- Recomendado por propietarios ---- */
.tc-recommend-box {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: rgba(126, 168, 138, 0.08);
  border: 0.5px solid rgba(126, 168, 138, 0.25);
  margin-top: 14px;
}
.tc-recommend-box .pct {
  font-family: var(--font-serif);
  font-size: 20px;
  color: var(--green);
  flex-shrink: 0;
}
.tc-recommend-box .txt { font-size: 11px; color: #6b5f50; line-height: 1.4; flex: 1; }
.tc-recommend-box svg { flex-shrink: 0; }

/* ---- Documentos ---- */
.tc-doc-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
  font-size: 12.5px;
  color: #241c14;
}
.tc-doc-row:last-child { border-bottom: none; }
.tc-doc-row .ok { color: var(--green); font-size: 11.5px; font-weight: 700; display: flex; align-items: center; gap: 4px; }

/* ---- Banner de consejo (claro) ---- */
.tc-tip-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 20px;
  border-radius: var(--radius-lg);
  background: rgba(217, 169, 74, 0.09);
  border: 0.5px solid rgba(217, 169, 74, 0.25);
  flex-wrap: wrap;
}
.tc-tip-banner p { font-size: 12.5px; color: #6b5f50; flex: 1; min-width: 240px; }
.tc-tip-banner p strong { color: #241c14; }
.tc-tip-banner a { font-size: 12px; font-weight: 700; color: #b28a2f; white-space: nowrap; }

/* =====================================================
   25) FIX GLOBAL — imágenes rotas nunca deben mostrar
   texto alt pequeño y casi invisible ni el ícono roto.
   ===================================================== */
img {
  font-size: 0;
  color: transparent;
}

/* =====================================================
   26) MI HOJA DE VIDA — asistente de registro en pasos
   ===================================================== */

/* ---- Encabezado del wizard ---- */
.tc-wizard-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 22px;
  flex-wrap: wrap;
  gap: 10px;
}
.tc-wizard-header h3 {
  font-size: 15px;
  font-weight: 700;
  color: #241c14;
  display: flex;
  align-items: center;
  gap: 8px;
}
.tc-wizard-header h3::before {
  content: "";
  width: 4px;
  height: 16px;
  border-radius: 3px;
  background: var(--gold);
}
.tc-step-badge {
  font-size: 11px;
  font-weight: 700;
  color: #b28a2f;
  background: rgba(217, 169, 74, 0.14);
  padding: 4px 12px;
  border-radius: 999px;
}

/* ---- Contenido del paso: ilustración + pregunta ---- */
.tc-step-content {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 28px;
  align-items: center;
  min-height: 230px;
  margin-bottom: 26px;
}
@media (max-width: 720px) {
  .tc-step-content { grid-template-columns: 1fr; }
}
.tc-step-illustration {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: linear-gradient(160deg, rgba(217, 169, 74, 0.18), rgba(111, 168, 201, 0.14));
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 64px;
}
.tc-step-question h4 {
  font-size: 17px;
  font-weight: 700;
  color: #241c14;
  margin-bottom: 6px;
}
.tc-step-question > p {
  font-size: 12.5px;
  color: #6b5f50;
  line-height: 1.6;
  margin-bottom: 18px;
  max-width: 420px;
}
.tc-step-question .tc-form-field,
.tc-step-question .tc-select-field {
  max-width: 420px;
}
.tc-step-example {
  font-size: 11.5px;
  color: #a89d8d;
  margin: 6px 0 16px;
}

.tc-privacy-note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: rgba(217, 169, 74, 0.08);
  border: 0.5px solid rgba(217, 169, 74, 0.22);
  max-width: 460px;
  font-size: 12px;
  color: #6b5f50;
  line-height: 1.5;
}
.tc-privacy-note .ico { flex-shrink: 0; }

/* ---- Navegación anterior/siguiente ---- */
.tc-wizard-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 0.5px solid rgba(30, 20, 10, 0.08);
  margin-bottom: 22px;
}
.tc-nav-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 10px 20px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  border: none;
}
.tc-nav-btn.prev {
  background: transparent;
  border: 1px solid rgba(30, 20, 10, 0.16);
  color: #241c14;
}
.tc-nav-btn.prev:disabled { opacity: 0.4; cursor: not-allowed; }
.tc-nav-btn.next {
  background: var(--gold);
  color: #201d19;
}

/* ---- Stepper inferior con puntos grandes ---- */
.tc-dots-stepper {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-top: 18px;
  border-top: 0.5px solid rgba(30, 20, 10, 0.08);
}
.tc-dots-step {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  flex: 1;
  position: relative;
}
.tc-dots-step::before {
  content: "";
  position: absolute;
  top: 14px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: rgba(30, 20, 10, 0.1);
  z-index: 0;
}
.tc-dots-step:first-child::before { display: none; }
.tc-dots-step.done::before { background: var(--green); }
.tc-dots-step .circle {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  background: #fffdf9;
  border: 2px solid rgba(30, 20, 10, 0.15);
  color: #8a7d6b;
}
.tc-dots-step.done .circle { background: var(--green); border-color: var(--green); color: #fff; }
.tc-dots-step.active .circle { background: var(--gold); border-color: var(--gold); color: #201d19; }
.tc-dots-step .label {
  font-size: 11px;
  font-weight: 600;
  color: #8a7d6b;
}
.tc-dots-step.active .label,
.tc-dots-step.done .label { color: #241c14; }

/* ---- Nota final banner y verificación ---- */
.tc-wizard-footer-note {
  text-align: center;
  font-size: 11.5px;
  color: #8a7d6b;
  margin-top: 14px;
}

/* ---- Tarjeta "Tu perfil" (progreso, checklist) ---- */
.tc-profile-checklist {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 4px;
}
.tc-profile-checklist div {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  color: #6b5f50;
}
.tc-profile-checklist .tick {
  width: 17px; height: 17px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px;
  font-weight: 700;
  flex-shrink: 0;
  border: 1.5px solid rgba(30, 20, 10, 0.15);
  color: transparent;
}
.tc-profile-checklist div.done { color: #241c14; font-weight: 600; }
.tc-profile-checklist div.done .tick { background: var(--green); border-color: var(--green); color: #fff; }
.tc-profile-checklist div.current .tick { border-color: var(--gold); }
.tc-profile-checklist div.current { color: #241c14; font-weight: 600; }

.tc-reason-list { display: flex; flex-direction: column; gap: 9px; }
.tc-reason-list div { display: flex; align-items: flex-start; gap: 8px; font-size: 12px; color: #6b5f50; line-height: 1.45; }
.tc-reason-list .check { color: var(--green); flex-shrink: 0; }

/* ---- Subida de foto (tamaño normal, con vista previa) ---- */
.tc-photo-upload {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.tc-photo-upload-preview {
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(217, 169, 74, 0.12);
  border: 2px dashed rgba(217, 169, 74, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 34px;
  color: #b28a2f;
  overflow: hidden;
  flex-shrink: 0;
}
.tc-photo-upload-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tc-photo-upload-actions { flex: 1; min-width: 200px; }
.tc-photo-upload-actions p {
  font-size: 11.5px;
  color: #8a7d6b;
  margin-top: 8px;
  line-height: 1.5;
}
.tc-upload-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(30, 20, 10, 0.16);
  background: #fffdf9;
  font-size: 12.5px;
  font-weight: 700;
  color: #241c14;
  cursor: pointer;
}
.tc-upload-btn:hover { border-color: var(--gold); }

/* ---- Subida de hoja de vida (CV opcional) ---- */
.tc-cv-upload {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  border: 1.5px dashed rgba(30, 20, 10, 0.18);
  background: #fffdf9;
  cursor: pointer;
}
.tc-cv-upload .ico {
  width: 38px; height: 38px;
  border-radius: 10px;
  background: rgba(111, 168, 201, 0.16);
  display: flex; align-items: center; justify-content: center;
  font-size: 17px;
  flex-shrink: 0;
}
.tc-cv-upload .txt h5 { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-cv-upload .txt p { font-size: 11px; color: #8a7d6b; }
.tc-cv-upload .filename {
  margin-left: auto;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--green);
  white-space: nowrap;
}

/* =====================================================
   27) OPORTUNIDADES — lista + detalle de oferta para el conductor
   ===================================================== */

/* ---- Barra de filtros ---- */
.tc-filters-bar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.tc-filters-bar .tc-select-field {
  width: auto;
  min-width: 130px;
  padding: 8px 12px;
  font-size: 12px;
}
.tc-filters-bar .tc-btn-filter { padding: 8px 14px; font-size: 12px; }

.tc-results-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  flex-wrap: wrap;
  gap: 8px;
}
.tc-results-head .count { font-size: 13px; font-weight: 700; color: #241c14; }
.tc-results-head .sort { display: flex; align-items: center; gap: 6px; font-size: 11.5px; color: #8a7d6b; }
.tc-results-head .sort select {
  border: none;
  background: transparent;
  font-size: 11.5px;
  font-weight: 700;
  color: #241c14;
  cursor: pointer;
}

/* ---- Tarjeta de oportunidad (lista) ---- */
.tc-oppty-list { display: flex; flex-direction: column; gap: 12px; }
.tc-oppty-card {
  display: flex;
  gap: 12px;
  padding: 12px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(30, 20, 10, 0.08);
  background: #fffdf9;
  cursor: pointer;
  transition: border-color 0.2s;
}
.tc-oppty-card:hover { border-color: rgba(217, 169, 74, 0.4); }
.tc-oppty-card.selected { border-color: var(--gold); background: rgba(217, 169, 74, 0.05); }
.tc-oppty-card .photo {
  position: relative;
  width: 110px;
  height: 90px;
  border-radius: 8px;
  overflow: hidden;
  flex-shrink: 0;
  background: #eee6d8;
}
.tc-oppty-card .photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-oppty-card .tag {
  position: absolute;
  top: 6px;
  left: 6px;
  font-size: 9px;
  font-weight: 700;
  color: #fff;
  padding: 2px 7px;
  border-radius: 999px;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.tc-oppty-card .tag.nueva { background: #4d8f68; }
.tc-oppty-card .tag.demanda { background: #d98a3d; }
.tc-oppty-card .tag.cupos { background: #d9534f; }
.tc-oppty-card .tag.exclusivo { background: #8b6fd6; }

.tc-oppty-card .body { flex: 1; min-width: 0; }
.tc-oppty-card .row-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.tc-oppty-card h5 { font-size: 13.5px; font-weight: 700; color: #241c14; }
.tc-oppty-card .loc { font-size: 11px; color: #8a7d6b; margin-bottom: 4px; }
.tc-oppty-card .price { font-family: var(--font-serif); font-size: 16px; color: #241c14; text-align: right; }
.tc-oppty-card .price-sub { font-size: 9.5px; color: #8a7d6b; text-align: right; }
.tc-oppty-card .meta { font-size: 10.5px; color: #6b5f50; margin: 4px 0; }
.tc-oppty-card .footer-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}
.tc-oppty-card .rating { font-size: 11px; color: #241c14; font-weight: 600; }
.tc-oppty-card .rating .stars { color: var(--gold); }
.tc-oppty-card .badges-row { display: flex; gap: 5px; flex-wrap: wrap; margin: 4px 0; }
.tc-mini-badge {
  font-size: 9.5px;
  font-weight: 700;
  color: var(--green);
  background: rgba(126, 168, 138, 0.14);
  padding: 2px 7px;
  border-radius: 999px;
}
.tc-oppty-card .actions { display: flex; align-items: center; gap: 6px; }

.tc-compat-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1px;
  flex-shrink: 0;
}
.tc-compat-ring .n { font-size: 12.5px; font-weight: 700; }
.tc-compat-ring .l { font-size: 8px; color: #8a7d6b; text-transform: uppercase; }

/* ---- Panel de detalle ---- */
.tc-detail-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.tc-detail-topline a { font-size: 12.5px; font-weight: 600; color: #b28a2f; }
.tc-detail-hero {
  position: relative;
  border-radius: var(--radius-md);
  overflow: hidden;
  height: 180px;
  margin-bottom: 14px;
  background: #eee6d8;
}
.tc-detail-hero img { width: 100%; height: 100%; object-fit: cover; }
.tc-detail-hero .badge-topleft {
  position: absolute; top: 10px; left: 10px;
  background: #4d8f68; color: #fff;
  font-size: 10px; font-weight: 700;
  padding: 4px 10px; border-radius: 999px;
}
.tc-detail-hero .badge-topright {
  position: absolute; top: 10px; right: 10px;
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(255,255,255,0.85);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px;
}

.tc-detail-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}
.tc-detail-title-row h2 { font-family: var(--font-serif); font-size: 21px; font-weight: 400; color: #241c14; }
.tc-detail-title-row .loc { font-size: 12px; color: #8a7d6b; margin: 2px 0 6px; }
.tc-detail-title-row .badges-row { display: flex; gap: 6px; flex-wrap: wrap; }

.tc-tabs {
  display: flex;
  gap: 4px;
  border-bottom: 1px solid rgba(30, 20, 10, 0.08);
  margin-bottom: 18px;
  overflow-x: auto;
}
.tc-tab-btn {
  padding: 9px 14px;
  font-size: 12.5px;
  font-weight: 600;
  color: #8a7d6b;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  white-space: nowrap;
}
.tc-tab-btn.active { color: #241c14; border-bottom-color: var(--gold); }
.tc-tab-panel { display: none; }
.tc-tab-panel.active { display: block; }

.tc-detail-section { margin-bottom: 20px; }
.tc-detail-section h4 { font-size: 13.5px; font-weight: 700; color: #241c14; margin-bottom: 10px; }
.tc-detail-spec-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 18px;
}
.tc-detail-spec-grid div { font-size: 12px; color: #8a7d6b; }
.tc-detail-spec-grid div span { display: block; font-size: 12.5px; color: #241c14; font-weight: 600; margin-top: 1px; }

.tc-benefit-check-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 9px;
}
.tc-benefit-check-grid div { display: flex; align-items: center; gap: 7px; font-size: 12px; color: #241c14; }
.tc-benefit-check-grid .check { color: var(--green); font-weight: 700; flex-shrink: 0; }

.tc-detail-actions { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; }
.tc-detail-actions .tc-submit-btn { margin: 0; }

/* ---- Perfil del propietario (columna angosta) ---- */
.tc-owner-card { text-align: center; }
.tc-owner-card img,
.tc-owner-card .fallback {
  width: 64px; height: 64px; border-radius: 50%;
  object-fit: cover; margin: 0 auto 10px;
  background: rgba(217,169,74,.18);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #b28a2f; font-size: 20px;
}
.tc-owner-card .rating { color: var(--gold); font-size: 13px; margin-bottom: 4px; }
.tc-owner-card .rating strong { color: #241c14; margin-left: 4px; }
.tc-owner-stats { display: flex; flex-direction: column; gap: 8px; margin-top: 14px; text-align: left; }
.tc-owner-stats div { font-size: 11.5px; color: #6b5f50; display: flex; justify-content: space-between; }
.tc-owner-stats div span { color: #241c14; font-weight: 600; }

.tc-quality-score {
  text-align: center;
}
.tc-quality-score .score {
  font-family: var(--font-serif);
  font-size: 30px;
  color: #241c14;
}
.tc-quality-score .score span { font-size: 14px; color: #8a7d6b; }
.tc-quality-score .tag { font-size: 11.5px; font-weight: 700; color: var(--gold); margin-bottom: 4px; }
.tc-quality-score .stars { color: var(--gold); font-size: 13px; margin-bottom: 12px; }
.tc-quality-list { display: flex; flex-direction: column; gap: 7px; text-align: left; }
.tc-quality-list div { display: flex; align-items: center; gap: 7px; font-size: 11.5px; color: #6b5f50; }
.tc-quality-list .check { color: var(--green); flex-shrink: 0; }

/* ---- Notificación inferior ---- */
.tc-notify-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 18px;
  border-radius: var(--radius-md);
  background: rgba(217, 169, 74, 0.08);
  border: 0.5px solid rgba(217, 169, 74, 0.22);
  margin-top: 14px;
  flex-wrap: wrap;
}
.tc-notify-banner p { font-size: 12px; color: #6b5f50; }

/* =====================================================
   28) DETALLE DE POSTULACIÓN — versión compacta de 2 columnas
   (reutiliza mucho de la sección 27 de Oportunidades)
   ===================================================== */

.tc-premium-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  font-weight: 700;
  color: #b8862e;
  background: linear-gradient(90deg, rgba(217,169,74,.18), rgba(217,169,74,.08));
  border: 0.5px solid rgba(217,169,74,.35);
  padding: 3px 10px;
  border-radius: 999px;
}

.tc-updated-note {
  font-size: 11px;
  color: #8a7d6b;
  margin: 8px 0 18px;
}

/* ---- Mini tarjetas de condiciones ---- */
.tc-condition-mini-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-bottom: 20px;
}
@media (max-width: 700px) {
  .tc-condition-mini-grid { grid-template-columns: repeat(2, 1fr); }
}
.tc-condition-mini {
  padding: 12px;
  border-radius: var(--radius-sm);
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.08);
  text-align: center;
}
.tc-condition-mini .l { font-size: 10.5px; color: #8a7d6b; margin-bottom: 3px; }
.tc-condition-mini .v { font-size: 13px; font-weight: 700; color: #241c14; }

/* ---- Fila compacta del propietario ---- */
.tc-owner-inline-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: var(--radius-md);
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.08);
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.tc-owner-inline-row img,
.tc-owner-inline-row .fallback {
  width: 46px; height: 46px; border-radius: 50%;
  object-fit: cover; flex-shrink: 0;
  background: rgba(217,169,74,.18);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #b28a2f; font-size: 15px;
}
.tc-owner-inline-row .name { font-size: 13px; font-weight: 700; color: #241c14; }
.tc-owner-inline-row .rating { font-size: 11.5px; color: var(--gold); }
.tc-owner-inline-stats {
  display: flex;
  gap: 18px;
  margin-left: auto;
  flex-wrap: wrap;
}
.tc-owner-inline-stats div { text-align: center; }
.tc-owner-inline-stats .n { font-size: 13.5px; font-weight: 700; color: #241c14; }
.tc-owner-inline-stats .l { font-size: 9.5px; color: #8a7d6b; }

/* ---- Actividad de la oferta ---- */
.tc-activity-list { display: flex; flex-direction: column; gap: 10px; }
.tc-activity-list div { display: flex; justify-content: space-between; align-items: center; font-size: 12px; color: #6b5f50; }
.tc-activity-list div span { color: #241c14; font-weight: 700; }

/* ---- Banner de urgencia ---- */
.tc-urgency-banner {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: rgba(217, 83, 79, 0.07);
  border: 0.5px solid rgba(217, 83, 79, 0.22);
  font-size: 11.5px;
  color: #a3403c;
  line-height: 1.5;
}

/* =====================================================
   29) POSTULACIÓN ENVIADA — confirmación de éxito
   ===================================================== */

.tc-success-head {
  text-align: center;
  padding: 10px 0 24px;
}
.tc-success-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
}
.tc-success-head h2 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  color: #241c14;
  margin-bottom: 6px;
}
.tc-success-head p { font-size: 13px; color: #6b5f50; }

/* ---- Cajas de alerta (verde/dorada) ---- */
.tc-alert-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 22px;
}
@media (max-width: 700px) { .tc-alert-grid { grid-template-columns: 1fr; } }
.tc-alert-box {
  display: flex;
  gap: 10px;
  padding: 13px 15px;
  border-radius: var(--radius-md);
}
.tc-alert-box .ico { font-size: 16px; flex-shrink: 0; }
.tc-alert-box h5 { font-size: 12.5px; font-weight: 700; margin-bottom: 2px; }
.tc-alert-box p { font-size: 11.5px; line-height: 1.5; }
.tc-alert-box.green {
  background: rgba(126, 168, 138, 0.09);
  border: 0.5px solid rgba(126, 168, 138, 0.28);
}
.tc-alert-box.green h5 { color: var(--green); }
.tc-alert-box.green p { color: #4d6b58; }
.tc-alert-box.gold {
  background: rgba(217, 169, 74, 0.09);
  border: 0.5px solid rgba(217, 169, 74, 0.28);
}
.tc-alert-box.gold h5 { color: #b28a2f; }
.tc-alert-box.gold p { color: #6b5f50; }

/* ---- Resumen de la oferta postulada ---- */
.tc-offer-summary {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(30, 20, 10, 0.08);
  background: #fffdf9;
  flex-wrap: wrap;
  margin-bottom: 24px;
}
.tc-offer-summary .photo {
  position: relative;
  width: 96px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  background: #eee6d8;
  flex-shrink: 0;
}
.tc-offer-summary .photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-offer-summary .body { flex: 1; min-width: 160px; }
.tc-offer-summary h5 { font-size: 14px; font-weight: 700; color: #241c14; }
.tc-offer-summary .loc { font-size: 11.5px; color: #8a7d6b; }
.tc-offer-summary .price { font-family: var(--font-serif); font-size: 17px; color: #241c14; }
.tc-offer-summary .stats { display: flex; gap: 14px; align-items: center; }

/* ---- Pasos numerados horizontales (¿Qué puede pasar ahora?) ---- */
.tc-process-steps {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 24px;
  gap: 6px;
}
.tc-process-step {
  flex: 1;
  text-align: center;
  position: relative;
  padding: 0 6px;
}
.tc-process-step::before {
  content: "";
  position: absolute;
  top: 19px;
  left: -50%;
  width: 100%;
  height: 2px;
  background: rgba(30, 20, 10, 0.1);
  z-index: 0;
}
.tc-process-step:first-child::before { display: none; }
.tc-process-step .circle {
  position: relative;
  z-index: 1;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: rgba(217, 169, 74, 0.14);
  color: #b28a2f;
  border: 1.5px solid rgba(217, 169, 74, 0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  font-weight: 700;
  margin: 0 auto 8px;
}
.tc-process-step h5 { font-size: 12px; font-weight: 700; color: #241c14; margin-bottom: 2px; }
.tc-process-step p { font-size: 10.5px; color: #8a7d6b; line-height: 1.4; }

/* ---- Consejos con icono ---- */
.tc-advice-list { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.tc-advice-item { display: flex; align-items: flex-start; gap: 10px; }
.tc-advice-item .ico {
  width: 30px; height: 30px; border-radius: 9px;
  background: rgba(217, 169, 74, 0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; flex-shrink: 0;
}
.tc-advice-item h5 { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-advice-item p { font-size: 11px; color: #8a7d6b; }

/* ---- Timeline de estado de la postulación ---- */
.tc-status-timeline { display: flex; flex-direction: column; }
.tc-status-step {
  display: flex;
  gap: 12px;
  position: relative;
  padding-bottom: 22px;
}
.tc-status-step:last-child { padding-bottom: 0; }
.tc-status-step::before {
  content: "";
  position: absolute;
  left: 11px;
  top: 24px;
  bottom: 0;
  width: 2px;
  background: rgba(30, 20, 10, 0.1);
}
.tc-status-step:last-child::before { display: none; }
.tc-status-step.done::before { background: var(--green); }
.tc-status-step .dot {
  width: 24px; height: 24px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700;
  flex-shrink: 0;
  background: rgba(30, 20, 10, 0.08);
  color: #8a7d6b;
  z-index: 1;
}
.tc-status-step.done .dot { background: var(--green); color: #fff; }
.tc-status-step.current .dot { background: var(--gold); color: #201d19; }
.tc-status-step .txt { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-status-step .sub { font-size: 10.5px; color: #8a7d6b; }
.tc-status-step.pending .txt { color: #8a7d6b; font-weight: 600; }

/* ---- Ofertas mini (otras que pueden interesar) ---- */
.tc-mini-offer-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-mini-offer-row:last-of-type { border-bottom: none; }
.tc-mini-offer-row .photo {
  width: 46px; height: 36px; border-radius: 7px; overflow: hidden; flex-shrink: 0; background: #eee6d8;
}
.tc-mini-offer-row .photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-mini-offer-row .name { font-size: 12px; font-weight: 700; color: #241c14; }
.tc-mini-offer-row .meta { font-size: 10.5px; color: #8a7d6b; }
.tc-mini-offer-row .price { margin-left: auto; font-size: 12px; font-weight: 700; color: #241c14; white-space: nowrap; }

/* =====================================================
   30) REGISTRAR VEHÍCULO — formulario completo con validación
   ===================================================== */

.tc-required-mark { color: #d9534f; font-weight: 700; }

/* ---- Stepper con íconos (encabezado del formulario) ---- */
.tc-icon-stepper {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  overflow-x: auto;
}
.tc-icon-step {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.tc-icon-step .circle {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 17px;
  background: rgba(30, 20, 10, 0.05);
  border: 1.5px solid rgba(30, 20, 10, 0.12);
  color: #8a7d6b;
  flex-shrink: 0;
}
.tc-icon-step.active .circle {
  background: rgba(217, 169, 74, 0.14);
  border-color: var(--gold);
  color: #b28a2f;
}
.tc-icon-step.done .circle {
  background: var(--green);
  border-color: var(--green);
  color: #fff;
}
.tc-icon-step .n { font-size: 12px; font-weight: 700; color: #8a7d6b; }
.tc-icon-step.active .n { color: #b28a2f; }
.tc-icon-step .lbl { font-size: 13px; font-weight: 700; color: #241c14; line-height: 1.2; }
.tc-icon-step .opt { font-size: 10.5px; color: #8a7d6b; font-weight: 500; }
.tc-icon-step-line {
  width: 46px;
  height: 2px;
  background: rgba(30, 20, 10, 0.1);
  flex-shrink: 0;
  margin: 0 6px;
  align-self: center;
}
.tc-icon-step-line.done { background: var(--green); }

/* ---- Encabezado de tarjeta con ícono ---- */
.tc-card-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 16px;
}
.tc-card-title-row .ico {
  width: 34px; height: 34px; border-radius: 9px;
  background: rgba(217, 169, 74, 0.14);
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; flex-shrink: 0;
}
.tc-card-title-row h3 { font-size: 14.5px; font-weight: 700; color: #241c14; display: flex; align-items: center; gap: 5px; }
.tc-card-title-row .opt-tag { font-size: 11px; font-weight: 600; color: #8a7d6b; }
.tc-card-title-row .sub { font-size: 11px; color: #8a7d6b; margin-top: 1px; }

/* ---- Grillas de formulario ---- */
.tc-form-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}
.tc-form-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
  margin-bottom: 14px;
}
@media (max-width: 720px) {
  .tc-form-grid-3, .tc-form-grid-2 { grid-template-columns: 1fr; }
}
.tc-field-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #241c14;
  margin-bottom: 6px;
}
.tc-field-invalid .tc-form-field,
.tc-field-invalid .tc-select-field {
  border-color: #d9534f !important;
  background: rgba(217, 83, 79, 0.04);
}
.tc-field-error-msg {
  display: none;
  font-size: 10.5px;
  color: #d9534f;
  margin-top: 4px;
}
.tc-field-invalid .tc-field-error-msg { display: block; }

/* ---- Subida de fotos del vehículo ---- */
.tc-photo-dropzone {
  border: 1.5px dashed rgba(30, 20, 10, 0.18);
  border-radius: var(--radius-md);
  background: #fffdf9;
  min-height: 168px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 8px;
  cursor: pointer;
  padding: 16px;
  position: relative;
  overflow: hidden;
}
.tc-photo-dropzone .cloud { font-size: 22px; color: #b28a2f; }
.tc-photo-dropzone h5 { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-photo-dropzone p { font-size: 10.5px; color: #8a7d6b; }
.tc-photo-dropzone img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tc-photo-dropzone .edit-badge {
  position: absolute;
  top: 8px; right: 8px;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(255,255,255,.92);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px;
}

.tc-photo-thumb-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  margin-top: 10px;
}
.tc-photo-thumb {
  position: relative;
  border-radius: var(--radius-sm);
  overflow: hidden;
  height: 64px;
  background: #eee6d8;
}
.tc-photo-thumb img { width: 100%; height: 100%; object-fit: cover; }
.tc-photo-thumb .lbl {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(0,0,0,.45);
  color: #fff; font-size: 9px; text-align: center; padding: 2px 0;
}
.tc-photo-thumb-add {
  border: 1.5px dashed rgba(30, 20, 10, 0.18);
  border-radius: var(--radius-sm);
  height: 64px;
  display: flex; align-items: center; justify-content: center;
  font-size: 18px;
  color: #8a7d6b;
  cursor: pointer;
  background: #fffdf9;
}

/* ---- Documentación: filas con check + vencimiento ---- */
.tc-doc-check-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-doc-check-row:last-of-type { border-bottom: none; }
.tc-doc-check-row .left { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: #241c14; }
.tc-doc-check-row .left .tick {
  width: 18px; height: 18px; border-radius: 50%;
  background: var(--green); color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; flex-shrink: 0;
}
.tc-doc-check-row .date-field {
  display: flex; align-items: center; gap: 5px;
  font-size: 11.5px; color: #6b5f50;
}
.tc-doc-check-row .date-field input {
  border: 1px solid rgba(30, 20, 10, 0.14);
  border-radius: 6px;
  padding: 5px 8px;
  font-size: 11.5px;
  color: #241c14;
  font-family: var(--font-sans);
}

/* ---- Estado del vehículo (2x2 tarjetas) ---- */
.tc-state-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.tc-state-card {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 11px 12px;
  border-radius: var(--radius-sm);
  border: 1.5px solid rgba(30, 20, 10, 0.1);
  background: #fffdf9;
  cursor: pointer;
}
.tc-state-card .ico { font-size: 15px; flex-shrink: 0; }
.tc-state-card h5 { font-size: 12px; font-weight: 700; color: #241c14; }
.tc-state-card p { font-size: 10px; color: #8a7d6b; }
.tc-state-card.active.green { border-color: var(--green); background: rgba(126,168,138,.09); }
.tc-state-card.active.orange { border-color: #d98a3d; background: rgba(217,138,61,.09); }
.tc-state-card.active.gray { border-color: #8a7d6b; background: rgba(30,20,10,.05); }
.tc-state-card.active.red { border-color: #d9534f; background: rgba(217,83,79,.07); }

/* ---- Nota informativa pequeña ---- */
.tc-info-note {
  display: flex;
  gap: 7px;
  font-size: 11px;
  color: #8a7d6b;
  line-height: 1.5;
  margin-top: 10px;
}

/* ---- Fila de acciones final ---- */
.tc-form-actions-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 4px;
}
.tc-form-actions-row .tc-btn-outline-gold,
.tc-form-actions-row .tc-submit-btn {
  width: auto;
  margin: 0;
  padding: 12px 26px;
}

/* =====================================================
   31) PERFIL PÚBLICO — encabezado, historial, testimonios
   ===================================================== */

.tc-public-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  flex-wrap: wrap;
  gap: 10px;
}
.tc-public-header-row h1 {
  font-size: 17px;
  font-weight: 700;
  color: #241c14;
  display: flex;
  align-items: center;
  gap: 6px;
}
.tc-public-header-row .sub { font-size: 12px; color: #8a7d6b; margin-top: 2px; }

/* ---- Cabecera del perfil (foto + nombre + rating) ---- */
.tc-profile-hero {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-bottom: 18px;
  flex-wrap: wrap;
}
.tc-profile-hero img,
.tc-profile-hero .fallback {
  width: 84px; height: 84px; border-radius: 20px;
  object-fit: cover; flex-shrink: 0;
  background: rgba(217,169,74,.16);
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; font-weight: 700; color: #b28a2f;
}
.tc-profile-hero h2 {
  font-family: var(--font-serif);
  font-size: 24px;
  font-weight: 400;
  color: #241c14;
  display: flex;
  align-items: center;
  gap: 6px;
}
.tc-profile-hero .verified-check { color: var(--green); font-size: 18px; }
.tc-profile-hero .rating { font-size: 13px; color: var(--gold); margin: 4px 0 2px; }
.tc-profile-hero .rating strong { color: #241c14; margin-left: 4px; }
.tc-profile-hero .rating-note { font-size: 11px; color: #8a7d6b; }

.tc-meta-row {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  padding-top: 16px;
  margin-top: 4px;
  border-top: 0.5px solid rgba(30, 20, 10, 0.07);
}
.tc-meta-row div { font-size: 11.5px; color: #8a7d6b; }
.tc-meta-row div span { display: block; font-size: 12.5px; color: #241c14; font-weight: 600; margin-top: 1px; }

/* ---- Historial: fila de mini stats (5 columnas) ---- */
.tc-history-stats-5 {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-bottom: 16px;
}
@media (max-width: 900px) { .tc-history-stats-5 { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .tc-history-stats-5 { grid-template-columns: repeat(2, 1fr); } }
.tc-history-stat {
  text-align: center;
  padding: 12px 8px;
  border-radius: var(--radius-sm);
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.07);
}
.tc-history-stat .ico { font-size: 15px; margin-bottom: 5px; }
.tc-history-stat .v { font-size: 15px; font-weight: 700; color: #241c14; }
.tc-history-stat .l { font-size: 9.5px; color: #8a7d6b; line-height: 1.3; margin-top: 2px; }

/* ---- Grid de vehículos/miniaturas públicas ---- */
.tc-public-vehicle-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}
@media (max-width: 700px) { .tc-public-vehicle-grid { grid-template-columns: repeat(2, 1fr); } }
.tc-public-vehicle-card {
  border-radius: var(--radius-sm);
  overflow: hidden;
  border: 1px solid rgba(30, 20, 10, 0.08);
  background: #fffdf9;
}
.tc-public-vehicle-card .photo { height: 70px; background: #eee6d8; }
.tc-public-vehicle-card .photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-public-vehicle-card .info { padding: 8px 10px; }
.tc-public-vehicle-card .plate { font-size: 12px; font-weight: 700; color: #241c14; }
.tc-public-vehicle-card .sub { font-size: 10px; color: #8a7d6b; }
.tc-public-vehicle-card .avail { font-size: 9.5px; font-weight: 700; color: var(--green); margin-top: 2px; }
.tc-public-vehicle-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  border-radius: var(--radius-sm);
  border: 1.5px dashed rgba(30, 20, 10, 0.15);
  background: #fffdf9;
  font-size: 11px;
  font-weight: 700;
  color: #8a7d6b;
  text-align: center;
  padding: 10px;
}
.tc-public-vehicle-more .plus { font-size: 18px; color: #b28a2f; }

/* ---- Reputación (lista con flecha) ---- */
.tc-rep-list-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12.5px;
  color: #241c14;
  padding: 9px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-rep-list-row:last-child { border-bottom: none; }
.tc-rep-list-row strong { font-weight: 700; }
.tc-rep-list-row .arrow { margin-left: auto; color: #b8b0a2; }

/* ---- Testimonios mini ---- */
.tc-testimonial-mini {
  padding: 12px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-testimonial-mini:last-of-type { border-bottom: none; }
.tc-testimonial-mini .head {
  display: flex;
  align-items: center;
  gap: 9px;
  margin-bottom: 6px;
}
.tc-testimonial-mini img,
.tc-testimonial-mini .fallback {
  width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  background: rgba(217,169,74,.16);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: #b28a2f;
}
.tc-testimonial-mini .name { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-testimonial-mini .time { font-size: 10px; color: #8a7d6b; }
.tc-testimonial-mini .stars { margin-left: auto; color: var(--gold); font-size: 11px; }
.tc-testimonial-mini p { font-size: 12px; color: #6b5f50; line-height: 1.55; }

/* =====================================================
   32) DETALLE DEL VEHÍCULO
   ===================================================== */

.tc-vehicle-header-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 16px;
  flex-wrap: wrap;
}
.tc-vehicle-header-row h1 {
  font-size: 17px;
  font-weight: 700;
  color: #241c14;
  display: flex;
  align-items: center;
  gap: 6px;
}
.tc-vehicle-header-row .sub { font-size: 12px; color: #8a7d6b; margin-top: 2px; }
.tc-vehicle-header-actions { display: flex; align-items: center; gap: 8px; }
.tc-icon-menu-btn {
  width: 34px; height: 34px; border-radius: var(--radius-sm);
  border: 1px solid rgba(30, 20, 10, 0.1);
  background: #fffdf9;
  display: flex; align-items: center; justify-content: center;
  font-size: 15px; cursor: pointer; color: #8a7d6b;
}

.tc-vehicle-plate-label { font-size: 11px; color: #8a7d6b; margin-bottom: 3px; }
.tc-vehicle-plate-row { display: flex; align-items: center; gap: 10px; margin-bottom: 3px; }
.tc-vehicle-plate-row h2 { font-family: var(--font-serif); font-size: 22px; font-weight: 400; color: #241c14; }
.tc-vehicle-plate-sub { font-size: 12px; color: #8a7d6b; margin-bottom: 16px; }

/* ---- Estado actual (columna derecha superior) ---- */
.tc-current-state {
  padding: 12px 14px;
  border-radius: var(--radius-md);
  background: rgba(126, 168, 138, 0.08);
  border: 0.5px solid rgba(126, 168, 138, 0.25);
  margin-bottom: 14px;
}
.tc-current-state .lbl { font-size: 10.5px; color: #8a7d6b; margin-bottom: 4px; }
.tc-current-state .val { display: flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 700; color: var(--green); }
.tc-current-state .val .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.tc-current-state .note { font-size: 10.5px; color: #8a7d6b; margin-top: 2px; }

/* ---- Documentación: fila solo lectura con estado ---- */
.tc-doc-view-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
  font-size: 12px;
}
.tc-doc-view-row:last-of-type { border-bottom: none; }
.tc-doc-view-row .name { font-weight: 600; color: #241c14; }
.tc-doc-view-row .vence { color: #8a7d6b; font-size: 11px; margin-left: 4px; }
.tc-status-vigente {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--green);
  background: rgba(126, 168, 138, 0.14);
  padding: 3px 9px;
  border-radius: 999px;
  white-space: nowrap;
}

/* ---- Conductor asignado (card compacta) ---- */
.tc-assigned-driver {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 14px;
}
.tc-assigned-driver img,
.tc-assigned-driver .fallback {
  width: 46px; height: 46px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  background: rgba(217,169,74,.16);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #b28a2f; font-size: 15px;
}
.tc-assigned-driver .name { font-size: 13.5px; font-weight: 700; color: #241c14; }
.tc-assigned-driver .meta { font-size: 11px; color: #8a7d6b; }

/* ---- Botón secundario tipo "outline" para acciones dentro de cards ---- */
.tc-card-cta-ghost {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  padding: 10px;
  border-radius: 999px;
  border: 1px solid rgba(217, 169, 74, 0.4);
  background: rgba(217, 169, 74, 0.06);
  color: #b28a2f;
  font-size: 12.5px;
  font-weight: 700;
  cursor: pointer;
  text-decoration: none;
}
.tc-card-cta-ghost:hover { background: rgba(217, 169, 74, 0.12); }

/* ---- Fila de acciones final (volver / publicar) ---- */
.tc-detail-footer-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}
.tc-detail-footer-actions .tc-btn-filter,
.tc-detail-footer-actions .tc-submit-btn {
  width: auto;
  margin: 0;
}
.tc-detail-footer-actions .tc-submit-btn { flex: 1; max-width: 340px; }

/* =====================================================
   33) PERFIL DEL CONDUCTOR (vista del propietario) — historial y desempeño
   ===================================================== */

.tc-breadcrumb {
  font-size: 12px;
  color: #8a7d6b;
  margin-bottom: 4px;
}
.tc-breadcrumb strong { color: #241c14; font-weight: 600; }

.tc-profile-split-row {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
}
.tc-profile-split-row .left { flex: 1.5; min-width: 260px; }
.tc-profile-split-row .divider {
  width: 1px;
  align-self: stretch;
  background: rgba(30, 20, 10, 0.08);
}
.tc-profile-split-row .right {
  flex: 1;
  min-width: 200px;
  text-align: center;
  padding-left: 4px;
}
@media (max-width: 800px) {
  .tc-profile-split-row .divider { display: none; }
}

.tc-reputation-general .lbl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 11.5px;
  color: #8a7d6b;
  margin-bottom: 4px;
}
.tc-reputation-general .num {
  font-family: var(--font-serif);
  font-size: 34px;
  color: #241c14;
}
.tc-reputation-general .stars { color: var(--gold); font-size: 15px; margin: 2px 0 6px; }
.tc-reputation-general .tag {
  display: inline-block;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--green);
  background: rgba(126, 168, 138, 0.14);
  padding: 3px 10px;
  border-radius: 999px;
  margin-bottom: 8px;
}
.tc-reputation-general p { font-size: 11px; color: #8a7d6b; line-height: 1.5; }

/* ---- Documentación con ícono circular ---- */
.tc-doc-icon-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-bottom: 14px;
}
@media (max-width: 900px) { .tc-doc-icon-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px) { .tc-doc-icon-grid { grid-template-columns: repeat(2, 1fr); } }
.tc-doc-icon-item {
  text-align: center;
  padding: 12px 8px;
  border-radius: var(--radius-sm);
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.07);
}
.tc-doc-icon-item .ico {
  width: 30px; height: 30px; border-radius: 50%;
  background: rgba(126, 168, 138, 0.14);
  color: var(--green);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  margin: 0 auto 6px;
}
.tc-doc-icon-item .name { font-size: 10.5px; font-weight: 600; color: #241c14; line-height: 1.3; margin-bottom: 3px; }
.tc-doc-icon-item .tag { font-size: 9px; font-weight: 700; color: var(--green); }

/* ---- Fila de contrataciones/cancelaciones ---- */
.tc-simple-stat-row {
  display: flex;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
  font-size: 12.5px;
  color: #6b5f50;
}
.tc-simple-stat-row span { color: #241c14; font-weight: 700; }

/* ---- Nota de privacidad al pie ---- */
.tc-privacy-footnote {
  font-size: 10.5px;
  color: #a89d8d;
  text-align: center;
  margin-top: 14px;
  line-height: 1.5;
}

/* =====================================================
   34) CALIFICAR CONDUCTOR — evaluaciones y formulario de calificación
   ===================================================== */

/* ---- Nivel de confianza (sidebar) ---- */
.tc-trust-level-box {
  padding: 14px;
  border-radius: var(--radius-md);
  background: rgba(217, 169, 74, 0.08);
  border: 0.5px solid rgba(217, 169, 74, 0.22);
  text-align: center;
}
.tc-trust-level-box .medal { font-size: 22px; margin-bottom: 4px; }
.tc-trust-level-box .level { font-size: 11px; font-weight: 700; color: #b28a2f; text-transform: uppercase; letter-spacing: 0.04em; }
.tc-trust-level-box .score { font-size: 11px; color: rgba(243,236,225,.6); margin: 2px 0 8px; }
.tc-trust-level-box .track { height: 6px; border-radius: 999px; background: rgba(255,255,255,.12); overflow: hidden; margin-bottom: 8px; }
.tc-trust-level-box .fill { height: 100%; background: var(--gold); border-radius: 999px; }
.tc-trust-level-box p { font-size: 10px; color: rgba(243,236,225,.5); line-height: 1.4; margin-bottom: 8px; }
.tc-trust-level-box a { font-size: 11px; font-weight: 700; color: var(--gold); }

/* ---- Resumen de desempeño (mini panel derecho del hero) ---- */
.tc-perf-summary { min-width: 200px; }
.tc-perf-summary h5 { font-size: 12.5px; font-weight: 700; color: #241c14; margin-bottom: 10px; }
.tc-perf-summary-row {
  display: flex; justify-content: space-between;
  font-size: 12px; color: #6b5f50;
  padding: 6px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-perf-summary-row:last-child { border-bottom: none; }
.tc-perf-summary-row span { color: #241c14; font-weight: 700; }

/* ---- Fila de criterio de evaluación (histórico, solo lectura) ---- */
.tc-eval-criteria-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 9px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
  font-size: 12px;
}
.tc-eval-criteria-row:last-of-type { border-bottom: none; }
.tc-eval-criteria-row .label { color: #241c14; font-weight: 600; }
.tc-eval-criteria-row .right { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.tc-eval-criteria-row .stars-static { color: var(--gold); font-size: 12px; }
.tc-eval-criteria-row .val { font-size: 11.5px; font-weight: 700; color: #241c14; }
.tc-eval-criteria-row a { font-size: 10.5px; font-weight: 600; color: #b28a2f; white-space: nowrap; }
.tc-eval-average-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  margin-top: 4px;
  border-top: 1px solid rgba(30, 20, 10, 0.09);
  font-size: 13px;
  font-weight: 700;
  color: #241c14;
}
.tc-eval-average-row .stars-static { color: var(--gold); font-size: 14px; margin-right: 6px; }

/* ---- Resumen de contratos con este propietario ---- */
.tc-contracts-summary-row {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  padding-top: 12px;
  margin-top: 10px;
  border-top: 0.5px solid rgba(30, 20, 10, 0.07);
}
.tc-contracts-summary-row .item { text-align: center; }
.tc-contracts-summary-row .n { font-size: 15px; font-weight: 700; }
.tc-contracts-summary-row .n.green { color: var(--green); }
.tc-contracts-summary-row .n.red { color: #d9534f; }
.tc-contracts-summary-row .l { font-size: 9.5px; color: #8a7d6b; }

/* ---- Tarjeta de calificación (interactiva, resaltada en verde) ---- */
.tc-rate-card {
  border: 1.5px solid var(--green);
  background: rgba(126, 168, 138, 0.05);
  border-radius: var(--radius-lg);
  padding: 18px;
}
.tc-rate-card .tc-dash-card-head h3 { color: var(--green); }
.tc-rate-card > p {
  font-size: 11.5px;
  color: #6b5f50;
  line-height: 1.5;
  margin-bottom: 16px;
}

.tc-rate-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 0;
}
.tc-rate-row .label { font-size: 12px; color: #241c14; font-weight: 600; }

.tc-star-input { display: flex; gap: 3px; flex-shrink: 0; }
.tc-star-input .star {
  font-size: 17px;
  color: rgba(30, 20, 10, 0.18);
  cursor: pointer;
  transition: color 0.15s, transform 0.1s;
  user-select: none;
}
.tc-star-input .star:hover { transform: scale(1.12); }
.tc-star-input .star.filled { color: var(--gold); }

.tc-rate-comment-label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #241c14;
  margin: 14px 0 6px;
}

.tc-btn-green {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px;
  border: none;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 13.5px;
  font-weight: 700;
  cursor: pointer;
  margin-top: 14px;
  transition: opacity 0.2s;
}
.tc-btn-green:hover { opacity: 0.9; }
.tc-btn-green:disabled { opacity: 0.5; cursor: not-allowed; }

/* =====================================================
   35) CALIFICAR PROPIETARIO — evaluaciones con barra + formulario
   ===================================================== */

.tc-eval-bar-row { margin-bottom: 12px; }
.tc-eval-bar-row .top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
  gap: 8px;
}
.tc-eval-bar-row .label { font-size: 11.5px; font-weight: 600; color: #241c14; }
.tc-eval-bar-row .val { font-size: 11.5px; font-weight: 700; color: #241c14; white-space: nowrap; }
.tc-eval-bar-row .tag {
  font-size: 9px;
  font-weight: 700;
  padding: 1px 7px;
  border-radius: 999px;
  margin-left: 6px;
}
.tc-eval-bar-row .tag.blue { background: rgba(111,168,201,.16); color: #3b7ea1; }
.tc-eval-bar-row .tag.gold { background: rgba(217,169,74,.16); color: #b28a2f; }
.tc-eval-bar-track {
  height: 6px;
  border-radius: 999px;
  background: rgba(30, 20, 10, 0.08);
  overflow: hidden;
}
.tc-eval-bar-fill { height: 100%; border-radius: 999px; background: var(--green); }

.tc-level-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 10.5px;
  font-weight: 700;
  color: #6b6b6b;
  background: rgba(150, 150, 150, 0.14);
  padding: 3px 10px;
  border-radius: 999px;
  margin-top: 6px;
}

.tc-info-tip-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 16px;
}
@media (max-width: 800px) { .tc-info-tip-row { grid-template-columns: 1fr; } }
.tc-info-tip-box {
  display: flex;
  gap: 10px;
  padding: 13px 15px;
  border-radius: var(--radius-md);
  background: rgba(126, 168, 138, 0.07);
  border: 0.5px solid rgba(126, 168, 138, 0.22);
  font-size: 11.5px;
  color: #4d6b58;
  line-height: 1.5;
}
.tc-info-tip-box.gold {
  background: rgba(217, 169, 74, 0.07);
  border-color: rgba(217, 169, 74, 0.22);
  color: #6b5f50;
}
.tc-info-tip-box .ico { flex-shrink: 0; }

/* =====================================================
   36) DASHBOARD PROPIETARIO — rediseño de la página de inicio
   ===================================================== */

/* ---- Sidebar: foto de usuario con check de verificado ---- */
.tc-sidebar-user-photo {
  position: relative;
  width: 44px;
  height: 44px;
  flex-shrink: 0;
}
.tc-sidebar-user-photo img,
.tc-sidebar-user-photo .fallback {
  width: 100%; height: 100%; border-radius: 50%; object-fit: cover;
  background: rgba(217,169,74,.2);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: var(--gold); font-size: 14px;
}
.tc-sidebar-user-photo img {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.tc-sidebar-user-photo .fallback {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.tc-sidebar-user-photo .badge-check {
  position: absolute;
  bottom: -2px; right: -2px;
  width: 16px; height: 16px;
  border-radius: 50%;
  background: var(--gold);
  border: 2px solid #1c1a17;
  display: flex; align-items: center; justify-content: center;
  font-size: 8px;
  color: #1c1a17;
  z-index: 3;
}

/* ---- Botón cerrar sesión (sidebar) ---- */
.tc-logout-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px;
  border-radius: var(--radius-sm);
  border: 1px solid rgba(217, 83, 79, 0.4);
  background: rgba(217, 83, 79, 0.08);
  color: #e2726f;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  margin-top: auto;
}
.tc-logout-btn:hover { background: rgba(217, 83, 79, 0.15); }

/* ---- Tarjetas de estadísticas verticales (con link) ---- */
.tc-stat-card-v2 {
  padding: 16px;
  border-radius: var(--radius-lg);
  background: #fffdf9;
  border: 1px solid rgba(30, 20, 10, 0.07);
}
.tc-stat-card-v2 .head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
}
.tc-stat-card-v2 .icon-box {
  width: 38px; height: 38px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px; flex-shrink: 0;
}
.tc-stat-card-v2 .head span { font-size: 12.5px; font-weight: 600; color: #6b5f50; line-height: 1.3; }
.tc-stat-card-v2 .big-num { font-family: var(--font-serif); font-size: 28px; color: #241c14; margin-bottom: 4px; }
.tc-stat-card-v2 .stars-row { color: var(--gold); font-size: 13px; margin-bottom: 8px; }
.tc-stat-card-v2 a { font-size: 12px; font-weight: 700; color: #b28a2f; }

/* ---- Fila de oferta publicada ---- */
.tc-offer-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.07);
}
.tc-offer-row:last-of-type { border-bottom: none; }
.tc-offer-row .photo {
  width: 76px; height: 58px; border-radius: 8px; overflow: hidden; flex-shrink: 0; background: #eee6d8;
}
.tc-offer-row .photo img { width: 100%; height: 100%; object-fit: cover; }
.tc-offer-row .body { flex: 1; min-width: 0; }
.tc-offer-row h5 { font-size: 13.5px; font-weight: 700; color: #241c14; }
.tc-offer-row .loc { font-size: 11.5px; color: #8a7d6b; }
.tc-offer-row .sched { font-size: 11.5px; color: #8a7d6b; }
.tc-offer-row .price-col { text-align: right; flex-shrink: 0; }
.tc-offer-row .price { font-family: var(--font-serif); font-size: 15px; color: #241c14; }
.tc-offer-row .price-sub { font-size: 10px; color: #8a7d6b; }
.tc-offer-row .status-col { text-align: right; flex-shrink: 0; min-width: 130px; }
.tc-offer-row .status-time { font-size: 10.5px; color: #8a7d6b; margin-top: 4px; }
.tc-offer-row .menu-btn { border: none; background: transparent; font-size: 16px; color: #8a7d6b; cursor: pointer; flex-shrink: 0; }

.tc-pill-status {
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 999px;
  display: inline-block;
}
.tc-pill-status.activa { color: var(--green); background: rgba(126,168,138,.14); }
.tc-pill-status.pausada { color: #b28a2f; background: rgba(217,169,74,.16); }

/* ---- Accesos rápidos ---- */
.tc-quick-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
}
@media (max-width: 640px) { .tc-quick-grid { grid-template-columns: repeat(3, 1fr); } }
.tc-quick-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  text-align: center;
  text-decoration: none;
}
.tc-quick-item .box {
  position: relative;
  width: 52px; height: 52px;
  border-radius: 14px;
  background: rgba(217, 169, 74, 0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 20px;
}
.tc-quick-item .box .badge {
  position: absolute; top: -5px; right: -5px;
  width: 17px; height: 17px; border-radius: 50%;
  background: var(--gold); color: #201d19;
  font-size: 9px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.tc-quick-item span.lbl { font-size: 11.5px; font-weight: 600; color: #241c14; }

/* ---- Mi perfil como propietario ---- */
.tc-mini-profile-photo {
  position: relative;
  width: 64px; height: 64px;
  margin: 0 auto 10px;
}
.tc-mini-profile-photo img,
.tc-mini-profile-photo .fallback {
  width: 100%; height: 100%; border-radius: 50%; object-fit: cover;
  background: rgba(217,169,74,.16);
  display: flex; align-items: center; justify-content: center;
  font-weight: 700; color: #b28a2f; font-size: 20px;
}
.tc-mini-profile-photo img { position: absolute; inset: 0; z-index: 2; }
.tc-mini-profile-photo .fallback { position: absolute; inset: 0; z-index: 1; }
.tc-mini-profile-photo .badge-check {
  position: absolute; bottom: 0; right: 0;
  width: 19px; height: 19px; border-radius: 50%;
  background: var(--gold);
  border: 2px solid #fffdf9;
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; color: #201d19;
  z-index: 3;
}

/* ---- Solicitud / postulación recibida (fila compacta con 2 botones) ---- */
.tc-applicant-row {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-applicant-row:last-of-type { border-bottom: none; }
.tc-applicant-row img,
.tc-applicant-row .fallback {
  width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0;
  background: rgba(217,169,74,.16);
  display: flex; align-items: center; justify-content: center;
  font-size: 12px; font-weight: 700; color: #b28a2f;
}
.tc-applicant-row .name { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-applicant-row .meta { font-size: 10.5px; color: #8a7d6b; }
.tc-applicant-row .actions { display: flex; gap: 6px; margin-left: auto; flex-shrink: 0; }
.tc-applicant-row .actions button {
  font-size: 10.5px;
  font-weight: 700;
  padding: 6px 10px;
  border-radius: 999px;
  cursor: pointer;
  white-space: nowrap;
}

/* ---- Actividad reciente ---- */
.tc-activity-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 10px 0;
  border-bottom: 0.5px solid rgba(30, 20, 10, 0.06);
}
.tc-activity-row:last-of-type { border-bottom: none; }
.tc-activity-row .ico {
  width: 30px; height: 30px; border-radius: 9px;
  background: rgba(217, 169, 74, 0.12);
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; flex-shrink: 0;
}
.tc-activity-row .txt { font-size: 12.5px; font-weight: 700; color: #241c14; }
.tc-activity-row .sub { font-size: 11px; color: #8a7d6b; }
.tc-activity-row .time { margin-left: auto; font-size: 10.5px; color: #a89d8d; white-space: nowrap; flex-shrink: 0; }
