* { box-sizing: border-box; }
body {
  margin: 0;
  background: #F6F4EC;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  color: #23281B;
}
a { color: inherit; }

/* ---- Shell / sidebar ---- */
.vo-shell { display: flex; min-height: 100vh; }
.vo-sidebar {
  width: 232px; padding: 22px 16px; border-right: 1px solid #DEDBC9;
  background: #F0EDE0; flex-shrink: 0; display: flex; flex-direction: column;
}
.vo-brand { display: flex; align-items: center; gap: 10px; padding: 0 6px; }
.vo-brand-logo { width: 34px; height: 34px; border-radius: 8px; object-fit: cover; }
.vo-brand-name { font-weight: 700; font-size: 14.5px; }
.vo-brand-sub { font-size: 11.5px; color: #8A8672; }
.vo-hr { height: 1px; background: #DEDBC9; margin: 18px 0; }
.vo-nav-item {
  display: block; width: 100%; padding: 9px 10px; margin-bottom: 4px; border: none;
  background: transparent; border-radius: 8px; font-size: 13.5px; color: #4D4A3C;
  text-decoration: none; text-align: left;
}
.vo-nav-item.active { background: #3E4D1E; color: #F6F4EC; }
.vo-sidebar-footer { margin-top: auto; padding-top: 14px; }
.vo-user-box { font-size: 12.5px; padding: 0 6px; margin-bottom: 8px; }
.vo-user-name { font-weight: 700; }
.vo-user-rol { color: #8A8672; font-size: 11px; }
.vo-logout { display: block; padding: 8px 10px; font-size: 12.5px; color: #8C3A30; text-decoration: none; }

.vo-main { flex: 1; padding: 28px 36px 60px; max-width: 1080px; }

/* ---- Header ---- */
.vo-header-row { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.vo-h1 { font-size: 22px; font-weight: 700; margin: 0; letter-spacing: -0.3px; }
.vo-subtitle { font-size: 13.5px; color: #6B6752; margin-top: 4px; }

/* ---- KPIs ---- */
.vo-kpi-row { display: flex; gap: 12px; flex-wrap: wrap; }
.vo-kpi { background: #FFFFFF; border: 1px solid #E3E1D6; border-radius: 12px; padding: 16px 18px; min-width: 150px; flex: 1 1 150px; }
.vo-kpi-value { font-size: 21px; font-weight: 700; color: #3E4D1E; }
.vo-kpi-label { font-size: 12px; color: #8A8672; margin-top: 4px; }
.vo-action-row { display: flex; gap: 10px; margin-top: 20px; }
.vo-section-title { font-size: 14px; font-weight: 700; margin-bottom: 10px; }

/* ---- Card / rows / table ---- */
.vo-card { background: #FFFFFF; border: 1px solid #E3E1D6; border-radius: 12px; padding: 6px; }
.vo-row {
  display: flex; align-items: center; gap: 14px; padding: 12px 14px;
  border-bottom: 1px solid #F0EEE4; font-size: 13.5px; text-decoration: none; color: inherit;
}
.vo-row:last-child { border-bottom: none; }
.vo-row-num { font-family: ui-monospace, monospace; font-size: 12.5px; color: #8A8672; }
.vo-row-amount { font-weight: 600; color: #3E4D1E; }
.vo-tabular { font-variant-numeric: tabular-nums; }
.vo-table-head {
  display: flex; align-items: center; gap: 14px; padding: 10px 14px; font-size: 11.5px;
  text-transform: uppercase; letter-spacing: 0.4px; color: #8A8672; font-weight: 600; border-bottom: 1px solid #E3E1D6;
}
.vo-link { text-decoration: none; color: #23281B; }
.vo-link:hover { text-decoration: underline; }
.vo-empty {
  padding: 30px 16px; text-align: center; color: #8A8672; font-size: 13.5px;
  border: 1px dashed #DEDBC9; border-radius: 12px; background: #FBFAF5;
}

/* ---- Badges ---- */
.vo-badge { font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 999px; display: inline-block; }
.badge-gris { background: #EFEDE2; color: #6B6752; }
.badge-oro { background: #F5E9C8; color: #8A6A16; }
.badge-verde { background: #E1E8D3; color: #3E4D1E; }
.badge-verde-oscuro { background: #DCE3D0; color: #2F3A18; }
.badge-rojo { background: #F2DCD8; color: #8C3A30; }

/* ---- Buttons ---- */
.vo-btn-primary {
  display: inline-flex; align-items: center; gap: 6px; background: #3E4D1E; color: #F6F4EC;
  border: none; border-radius: 9px; padding: 9px 15px; font-size: 13.5px; font-weight: 600;
  cursor: pointer; text-decoration: none;
}
.vo-btn-secondary {
  display: inline-flex; align-items: center; gap: 6px; background: #EFEDE2; color: #3E4D1E;
  border: 1px solid #DEDBC9; border-radius: 9px; padding: 9px 15px; font-size: 13.5px; font-weight: 600;
  cursor: pointer; text-decoration: none;
}
.vo-btn-ghost {
  display: inline-flex; align-items: center; gap: 6px; background: transparent; color: #6B6752;
  border: 1px solid #DEDBC9; border-radius: 9px; padding: 8px 13px; font-size: 13px; cursor: pointer; text-decoration: none;
}
.vo-btn-text { color: #3E4D1E; font-size: 12.5px; font-weight: 600; text-decoration: none; }
.vo-icon-btn, .vo-icon-btn-danger {
  border: 1px solid #DEDBC9; background: #FFFFFF; border-radius: 7px; width: 28px; height: 28px;
  cursor: pointer; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; text-decoration: none;
}
.vo-icon-btn-danger { border-color: #F2DCD8; background: #FBF3F2; color: #8C3A30; }

/* ---- Forms ---- */
.vo-search-bar {
  display: flex; align-items: center; gap: 8px; background: #FFFFFF; border: 1px solid #E3E1D6;
  border-radius: 9px; padding: 9px 12px; margin-bottom: 14px; max-width: 340px;
}
.vo-search-bar input { border: none; outline: none; background: transparent; font-size: 13.5px; flex: 1; }
.vo-form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; padding: 12px; }
.vo-field { display: flex; flex-direction: column; gap: 6px; }
.vo-field label { font-size: 11.5px; font-weight: 600; color: #8A8672; text-transform: uppercase; letter-spacing: 0.3px; }
input, select, textarea {
  border: 1px solid #DEDBC9; border-radius: 8px; padding: 8px 10px; font-size: 13.5px;
  color: #23281B; background: #FCFBF6; outline: none; font-family: inherit;
}
input:focus, select:focus, textarea:focus { border-color: #4A5A26; box-shadow: 0 0 0 3px rgba(74,90,38,0.12); }
textarea { width: 100%; resize: vertical; }
.vo-alert { background: #F2DCD8; color: #8C3A30; border-radius: 9px; padding: 10px 14px; font-size: 13.5px; margin-bottom: 16px; }
.vo-alert-ok { background: #E1E8D3; color: #3E4D1E; }

/* ---- Items editor ---- */
.vo-items-head { display: flex; gap: 10px; padding: 8px 14px; font-size: 11px; text-transform: uppercase; letter-spacing: 0.3px; color: #8A8672; font-weight: 600; }
.vo-item-row { display: flex; gap: 10px; align-items: center; padding: 6px 14px; }
.vo-add-item-btn {
  display: inline-flex; align-items: center; gap: 6px; background: transparent; border: 1px dashed #C7C4B2;
  border-radius: 8px; padding: 8px 12px; font-size: 13px; color: #3E4D1E; cursor: pointer; margin: 8px 14px 4px;
}
.vo-item-valor { color: #3E4D1E; font-weight: 600; font-variant-numeric: tabular-nums; }
.vo-totals-block { margin-top: 8px; margin-left: auto; width: 300px; padding: 12px 14px; border-top: 1px solid #E3E1D6; }
.vo-totals-row { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: #6B6752; padding: 3px 0; }
.vo-totals-final { font-size: 15px; font-weight: 700; color: #3E4D1E; border-top: 1px solid #E3E1D6; margin-top: 4px; padding-top: 8px; }
.vo-form-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 18px; }

/* ---- Auth pages (login / instalar) ---- */
.vo-auth-page { display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.vo-auth-card {
  background: #FFFFFF; border: 1px solid #E3E1D6; border-radius: 16px; padding: 36px 32px;
  width: 100%; max-width: 380px; text-align: center;
}
.vo-auth-logo { width: 56px; height: 56px; border-radius: 12px; margin-bottom: 12px; }
.vo-auth-card h1 { font-size: 20px; margin: 0 0 2px; }
.vo-auth-sub { color: #8A8672; font-size: 13px; margin-bottom: 20px; }
.vo-auth-form { display: flex; flex-direction: column; gap: 4px; text-align: left; }
.vo-auth-form label { font-size: 11.5px; font-weight: 600; color: #8A8672; text-transform: uppercase; margin-top: 10px; }
.vo-auth-form button { margin-top: 18px; }

/* ---- Print / document view ---- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,600&display=swap');

.vo-print-page { background: #E5E3D6; min-height: 100vh; padding: 24px 0; }
.vo-print-actions { max-width: 760px; margin: 0 auto 16px; display: flex; justify-content: space-between; padding: 0 4px; }
.vo-doc {
  max-width: 760px; margin: 0 auto; background: #fff;
  padding: 40px 46px 34px;
  font-family: 'Inter', -apple-system, 'Helvetica Neue', Arial, sans-serif;
  color: #23281B; font-size: 11.5px; line-height: 1.5;
  box-shadow: 0 2px 20px rgba(0,0,0,0.08);
}

.vo-doc-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 22px; }
.vo-doc-brand { display: flex; gap: 12px; }
.vo-doc-logo { width: 44px; height: 44px; border-radius: 10px; object-fit: cover; }
.vo-doc-brand-text { line-height: 1.5; padding-top: 1px; }
.vo-doc-company-name { font-weight: 700; font-size: 13.5px; color: #23281B; margin-bottom: 2px; }
.vo-doc-meta { color: #6B6752; font-size: 9.5px; }

.vo-doc-title {
  text-align: center; min-width: 168px; border: 1px solid #DEDBC9; border-top: 4px solid #8FAE3D;
  border-radius: 3px; padding: 10px 14px 9px;
}
.vo-doc-title-label { font-size: 9.5px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: #23281B; }
.vo-doc-title-num { font-size: 15px; font-weight: 700; color: #23281B; margin-top: 3px; }
.vo-doc-emision { font-size: 8.5px; color: #8A8672; margin-top: 5px; letter-spacing: 0.3px; }

.vo-doc-section-title {
  font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.3px;
  color: #23281B; margin: 20px 0 8px; padding-bottom: 5px; border-bottom: 1px solid #DEDBC9;
}

.vo-doc-panel { border: 1px solid #E3E1D6; border-radius: 5px; overflow: hidden; }
.vo-doc-panel-grid { display: grid; grid-template-columns: repeat(3, 1fr); background: #E3E1D6; gap: 1px; }
.vo-doc-panel-grid .cell { background: #FBFAF6; padding: 9px 14px; }
.vo-doc-panel-grid .lbl { font-size: 8px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: #9A9680; margin-bottom: 3px; }
.vo-doc-panel-grid .val { font-size: 11px; color: #23281B; }

.vo-doc-items { width: 100%; border-collapse: collapse; font-size: 10.5px; margin-top: 4px; }
.vo-doc-items th {
  border-bottom: 1px solid #C7C4B2; padding: 0 8px 6px 0; font-size: 8.5px;
  font-weight: 700; letter-spacing: 0.5px; text-transform: uppercase; color: #8A8672; text-align: left;
}
.vo-doc-items th:first-child, .vo-doc-items td:first-child { padding-left: 2px; }
.vo-doc-items td { border-bottom: 1px solid #F0EEE4; padding: 9px 8px 9px 2px; vertical-align: top; }
.vo-doc-mono { font-variant-numeric: tabular-nums; }
.vo-doc-strong { font-weight: 700; }
.vo-doc-tag { font-size: 10px; font-weight: 600; color: #3E4D1E; letter-spacing: 0.3px; }
.vo-doc-linecount { font-size: 9px; color: #9A9680; margin: 8px 0 22px; }

.vo-doc-bottom { display: flex; justify-content: space-between; gap: 30px; align-items: flex-start; }
.vo-doc-cond-card { flex: 1; background: #FBFAF6; border: 1px solid #E3E1D6; border-radius: 5px; padding: 13px 16px; font-size: 10.5px; color: #4D4A3C; line-height: 1.75; }
.vo-doc-cond-title { font-size: 9px; font-weight: 700; letter-spacing: 0.6px; text-transform: uppercase; color: #23281B; margin-bottom: 6px; }
.vo-doc-cond-card strong { color: #23281B; font-weight: 600; }

.vo-doc-totals { border-collapse: collapse; font-size: 11px; min-width: 240px; }
.vo-doc-totals td { padding: 3px 4px; }
.vo-doc-totals td:first-child { color: #6B6752; }
.vo-doc-totals td:last-child { text-align: right; font-variant-numeric: tabular-nums; color: #4D4A3C; }
.vo-doc-total-final td {
  background: #F2F0CE; font-weight: 700; padding: 9px 8px;
  border-top: 2px solid #8FAE3D; border-bottom: 2px solid #8FAE3D;
}
.vo-doc-total-final td:first-child { font-size: 10.5px; letter-spacing: 0.4px; text-transform: uppercase; color: #23281B; }
.vo-doc-total-final td:last-child { font-size: 15px; color: #23281B; }

.vo-doc-refline {
  display: flex; justify-content: space-between; gap: 20px; font-size: 8.5px; color: #8A8672;
  margin-top: 24px; padding-top: 10px; border-top: 1px solid #E3E1D6;
}
.vo-doc-page { text-align: center; font-size: 8px; color: #C7C4B2; margin-top: 6px; letter-spacing: 0.3px; }

/* Tamaño Carta (21.6 x 27.9 cm) para impresión y guardado como PDF */
@page {
  size: letter;
  margin: 1.1cm 1.3cm;
}

@media print {
  body { background: #fff !important; }
  .vo-noprint { display: none !important; }
  .vo-doc { box-shadow: none; margin: 0; padding: 14px 4px 6px; max-width: 100%; }
  .vo-doc-total-final td, .vo-doc-panel-grid, .vo-doc-panel-grid .cell, .vo-doc-title {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
  }
}

@media (max-width: 900px) {
  .vo-shell { flex-direction: column; }
  .vo-sidebar { width: 100%; }
  .vo-form-grid { grid-template-columns: 1fr 1fr; }
}

/* =========================================================
   CRM VERDE OLIVO - FASE 1
   ========================================================= */
.vo-nav-section {
  margin: 15px 10px 7px;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: .9px;
  text-transform: uppercase;
  color: #9A9680;
}

.vo-crm-client-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
.vo-crm-client-card {
  display: flex; align-items: center; gap: 14px;
  padding: 15px 16px; background: #fff; border: 1px solid #E3E1D6;
  border-radius: 13px; text-decoration: none; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.vo-crm-client-card:hover { transform: translateY(-1px); border-color: #C9C9AF; box-shadow: 0 7px 20px rgba(34,40,27,.06); }
.vo-crm-client-avatar, .vo-crm-profile-avatar {
  display: flex; align-items: center; justify-content: center; flex: 0 0 auto;
  background: linear-gradient(145deg,#3E4D1E,#78872F); color: #F8F7F1;
  font-weight: 800; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}
.vo-crm-client-avatar { width: 42px; height: 42px; border-radius: 12px; font-size: 16px; }
.vo-crm-client-main { min-width: 0; flex: 1; }
.vo-crm-client-title-row { display: flex; align-items: center; gap: 8px; }
.vo-crm-client-title-row strong { font-size: 14.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vo-crm-client-meta { margin-top: 4px; color: #7B7766; font-size: 12.2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vo-crm-client-stats { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 9px; font-size: 11.5px; color: #8A8672; }
.vo-crm-client-stats b { color: #3E4D1E; font-weight: 700; }
.vo-crm-client-stats .is-alert, .vo-crm-client-stats .is-alert b { color: #8C3A30; }
.vo-crm-client-last { text-align: right; color: #9A9680; font-size: 10.5px; min-width: 92px; }
.vo-crm-client-last span { display: block; }
.vo-crm-client-last strong { display: block; margin-top: 3px; color: #4D4A3C; font-size: 12px; }

.vo-crm-profile-head {
  display: flex; align-items: flex-start; justify-content: space-between; gap: 20px;
  margin-bottom: 22px; padding: 18px 20px; background: #fff; border: 1px solid #E3E1D6; border-radius: 15px;
}
.vo-crm-profile-identity { display: flex; align-items: center; gap: 14px; min-width: 0; }
.vo-crm-profile-avatar { width: 54px; height: 54px; border-radius: 15px; font-size: 20px; }
.vo-crm-profile-eyebrow { color: #8A8672; font-size: 10px; letter-spacing: .8px; font-weight: 800; text-transform: uppercase; margin-bottom: 4px; }
.vo-crm-profile-actions { display: flex; gap: 7px; flex-wrap: wrap; justify-content: flex-end; }

.vo-crm-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 16px; align-items: start; }
.vo-crm-section-card { padding: 0; overflow: hidden; }
.vo-crm-side-card { padding: 0; overflow: hidden; }
.vo-crm-section-head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 13px 14px; border-bottom: 1px solid #F0EEE4;
}
.vo-crm-section-head > div { min-width: 0; }
.vo-crm-section-head strong { display: block; font-size: 13.5px; color: #23281B; }
.vo-crm-section-head span { display: block; margin-top: 2px; font-size: 10.5px; color: #9A9680; }

.vo-crm-timeline { padding: 3px 0; }
.vo-crm-timeline-item {
  display: grid; grid-template-columns: 14px 108px minmax(0,1fr); gap: 9px;
  padding: 11px 14px; text-decoration: none; border-bottom: 1px solid #F5F3EC; position: relative;
}
.vo-crm-timeline-item:last-child { border-bottom: 0; }
.vo-crm-timeline-item:hover { background: #FBFAF6; }
.vo-crm-timeline-dot { width: 8px; height: 8px; border-radius: 50%; background: #9CA80E; margin-top: 5px; position: relative; z-index: 1; }
.vo-crm-timeline-item:not(:last-child) .vo-crm-timeline-dot:after { content:''; position:absolute; top:9px; left:3px; width:1px; height:48px; background:#E5E3D8; }
.vo-crm-timeline-date { font-size: 10.5px; color: #9A9680; padding-top: 2px; font-variant-numeric: tabular-nums; }
.vo-crm-timeline-body span { font-size: 9.5px; text-transform: uppercase; letter-spacing: .55px; color:#8A8672; font-weight:700; }
.vo-crm-timeline-body strong { display:block; font-size:12.7px; margin-top:2px; color:#2F331F; }
.vo-crm-timeline-body p { margin:4px 0 0; font-size:11.5px; line-height:1.45; color:#6B6752; }

.vo-crm-data-list { display: grid; grid-template-columns: 88px 1fr; margin: 0; padding: 10px 14px 14px; gap: 0; }
.vo-crm-data-list dt, .vo-crm-data-list dd { padding: 7px 0; border-bottom: 1px solid #F3F1E9; margin: 0; font-size: 11.5px; }
.vo-crm-data-list dt { color: #9A9680; }
.vo-crm-data-list dd { color: #3F4333; overflow-wrap:anywhere; }
.vo-crm-contact { display:block; text-decoration:none; padding:10px 14px; border-bottom:1px solid #F3F1E9; }
.vo-crm-contact:hover { background:#FBFAF6; }
.vo-crm-contact strong { display:block; font-size:12.3px; color:#34392A; }
.vo-crm-contact span { display:block; font-size:10.8px; color:#8A8672; margin-top:2px; }
.vo-crm-ref-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 14px; border-bottom:1px solid #F3F1E9; font-size:11.5px; }
.vo-crm-ref-row span { color:#8A8672; }
.vo-crm-ref-row strong { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:11px; color:#3E4D1E; }
.vo-crm-muted { padding: 13px 14px; color:#9A9680; font-size:11.5px; }

.vo-crm-split { display:grid; grid-template-columns: 1fr 1fr; gap:0; }
.vo-crm-split > div { padding: 12px 14px 14px; }
.vo-crm-split > div + div { border-left: 1px solid #F0EEE4; }
.vo-crm-mini-title { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.7px; color:#8A8672; margin-bottom:5px; }
.vo-crm-mini-row { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:7px 0; border-bottom:1px solid #F4F2EA; font-size:11.5px; text-decoration:none; }
.vo-crm-mini-row span { color:#4D4A3C; }
.vo-crm-mini-row b { color:#6B6752; font-size:10.8px; font-weight:600; }

.vo-crm-migration-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:12px; }
.vo-crm-migration-grid > div { background:#F8F7F1; border:1px solid #ECE9DC; border-radius:10px; padding:13px; }
.vo-crm-migration-grid strong { display:block; font-size:20px; color:#3E4D1E; }
.vo-crm-migration-grid span { display:block; font-size:10.5px; color:#8A8672; margin-top:3px; }

@media (max-width: 980px) {
  .vo-crm-detail-grid { grid-template-columns: 1fr; }
  .vo-crm-detail-side { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
  .vo-crm-detail-side .vo-card { margin-top:0 !important; }
}
@media (max-width: 760px) {
  .vo-crm-profile-head { flex-direction:column; }
  .vo-crm-profile-actions { justify-content:flex-start; }
  .vo-crm-client-last { display:none; }
  .vo-crm-timeline-item { grid-template-columns: 14px 1fr; }
  .vo-crm-timeline-date { grid-column:2; order:2; padding-top:0; }
  .vo-crm-timeline-body { grid-column:2; grid-row:1; }
  .vo-crm-detail-side { grid-template-columns: 1fr; }
  .vo-crm-split { grid-template-columns:1fr; }
  .vo-crm-split > div + div { border-left:0; border-top:1px solid #F0EEE4; }
  .vo-crm-migration-grid { grid-template-columns:1fr 1fr; }
}

/* =========================================================
   CRM VERDE OLIVO - UI V2 / REDISEÑO
   ========================================================= */
:root {
  --vo-bg: #F3F5F1;
  --vo-surface: #FFFFFF;
  --vo-surface-soft: #F8FAF6;
  --vo-sidebar: #182116;
  --vo-sidebar-2: #202A1D;
  --vo-text: #1F261D;
  --vo-muted: #768070;
  --vo-border: #DFE5DA;
  --vo-accent: #B7C72F;
  --vo-accent-2: #D7E35C;
  --vo-accent-dark: #34451F;
  --vo-danger: #A64B42;
  --vo-warning: #A47720;
  --vo-shadow: 0 10px 34px rgba(31, 38, 29, .07);
  --vo-radius: 16px;
}

body { background: var(--vo-bg); color: var(--vo-text); }
.vo-shell { min-height: 100vh; }
.vo-sidebar {
  width: 248px;
  padding: 22px 14px 18px;
  border-right: 0;
  background: linear-gradient(180deg, var(--vo-sidebar), #131B12 100%);
  color: #EEF2EA;
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
}
.vo-brand { padding: 0 8px 18px; gap: 12px; }
.vo-brand-logo { width: 40px; height: 40px; border-radius: 12px; box-shadow: 0 5px 18px rgba(0,0,0,.18); }
.vo-brand-name { color: #fff; font-size: 15px; letter-spacing: -.1px; }
.vo-brand-sub { color: #AEB9A8; font-size: 11px; margin-top: 2px; }
.vo-hr { background: rgba(255,255,255,.09); margin: 5px 4px 14px; }
.vo-nav-section { color: #788574; margin: 18px 11px 7px; font-size: 9px; letter-spacing: 1.15px; }
.vo-nav-item {
  color: #C9D2C4;
  border-radius: 10px;
  padding: 10px 11px;
  margin-bottom: 3px;
  transition: background .14s ease, color .14s ease, transform .14s ease;
}
.vo-nav-item:hover { background: rgba(255,255,255,.06); color: #fff; }
.vo-nav-item.active {
  background: linear-gradient(135deg, #B7C72F, #9EAF20);
  color: #162014;
  font-weight: 750;
  box-shadow: 0 8px 18px rgba(183,199,47,.16);
}
.vo-sidebar-footer { border-top: 1px solid rgba(255,255,255,.08); padding: 15px 6px 0; }
.vo-user-name { color: #F6F8F4; }
.vo-user-rol { color: #889483; }
.vo-logout { color: #E0A6A0; padding-left: 6px; }

.vo-main {
  flex: 1;
  max-width: none;
  min-width: 0;
  padding: 0 38px 64px;
}
.vo-main:before {
  content: '';
  display: block;
  height: 26px;
}

.vo-topbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 0 -4px 26px;
  padding: 12px 4px 18px;
  border-bottom: 1px solid var(--vo-border);
}
.vo-topbar-left { display:flex; align-items:center; gap:10px; min-width:0; }
.vo-topbar-context { font-size:12px; color: var(--vo-muted); white-space:nowrap; }
.vo-env-pill {
  display:inline-flex; align-items:center; gap:6px;
  border-radius:999px; padding:5px 9px;
  font-size:9.5px; font-weight:800; letter-spacing:.65px; text-transform:uppercase;
  background:#EFF3E8; color:#53643B; border:1px solid #DDE6D3;
}
.vo-env-pill:before { content:''; width:6px; height:6px; border-radius:50%; background:#8EA127; }
.vo-env-pill.is-test { background:#FFF5D8; color:#82651D; border-color:#F0DFA2; }
.vo-env-pill.is-test:before { background:#D19A20; }
.vo-topbar-user { display:flex; align-items:center; gap:10px; }
.vo-topbar-user-avatar {
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:#E9EEDF; color:#40502E; font-size:12px; font-weight:800;
}
.vo-topbar-user-meta { line-height:1.2; text-align:right; }
.vo-topbar-user-meta strong { display:block; font-size:11.5px; }
.vo-topbar-user-meta span { display:block; font-size:10px; color:var(--vo-muted); margin-top:2px; }

.vo-header-row { align-items: center; margin-bottom: 22px; gap:16px; }
.vo-h1 { font-size: 27px; line-height:1.15; letter-spacing: -.7px; color: #1E261C; }
.vo-subtitle { color: var(--vo-muted); font-size: 13px; margin-top:6px; }
.vo-page-kicker { font-size:10px; font-weight:850; letter-spacing:1px; text-transform:uppercase; color:#839073; margin-bottom:6px; }

.vo-card,
.vo-kpi,
.vo-crm-client-card,
.vo-crm-profile-head {
  border-color: var(--vo-border);
  border-radius: var(--vo-radius);
  box-shadow: none;
}
.vo-card { padding: 0; overflow: hidden; }
.vo-card:hover { box-shadow: none; }
.vo-kpi-row { gap: 12px; }
.vo-kpi {
  padding: 17px 18px;
  background: var(--vo-surface);
  min-width: 150px;
}
.vo-kpi-value { color: #2E3B22; font-size: 22px; letter-spacing:-.3px; }
.vo-kpi-label { color: #7D8678; font-size: 11.5px; }
.vo-kpi.is-attention .vo-kpi-value { color: var(--vo-danger); }
.vo-kpi.is-warning .vo-kpi-value { color: var(--vo-warning); }

.vo-btn-primary,
.vo-btn-secondary,
.vo-btn-ghost {
  border-radius: 10px;
  min-height: 38px;
  padding: 9px 14px;
  font-size: 12.5px;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;
}
.vo-btn-primary {
  background: #26361F;
  color: #fff;
  box-shadow: 0 7px 16px rgba(38,54,31,.14);
}
.vo-btn-primary:hover { transform: translateY(-1px); background:#1E2C19; }
.vo-btn-secondary { background:#fff; color:#33442A; border-color:#DDE4D7; }
.vo-btn-secondary:hover { background:#F7F9F5; }
.vo-btn-ghost { border-color:#DDE4D7; color:#667061; }
.vo-btn-text { color:#52653B; }

input, select, textarea {
  border-color: #D9E0D5;
  background: #fff;
  border-radius: 10px;
  min-height: 40px;
}
input:focus, select:focus, textarea:focus { border-color:#9BAA72; box-shadow:0 0 0 3px rgba(155,170,114,.13); }
.vo-search-bar {
  max-width:none;
  margin-bottom:0;
  border-color:#DDE4D7;
  border-radius:12px;
  min-height:44px;
  box-shadow:0 1px 0 rgba(31,38,29,.02);
}
.vo-search-bar input { min-height:auto; }

.vo-alert { border:1px solid #E7C6C2; }
.vo-alert-ok { border-color:#D0DDC3; }

/* Dashboard V2 */
.vo-dashboard-hero {
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);
  gap:16px;
  margin-bottom:18px;
}
.vo-dashboard-welcome {
  background: linear-gradient(135deg, #26361F 0%, #1A2818 72%);
  color:#fff;
  border-radius:20px;
  padding:26px 28px;
  position:relative;
  overflow:hidden;
}
.vo-dashboard-welcome:after {
  content:'';
  position:absolute;
  width:210px; height:210px; border-radius:50%;
  right:-72px; top:-96px;
  background:rgba(198,214,61,.13);
}
.vo-dashboard-welcome .vo-page-kicker { color:#AAB69E; }
.vo-dashboard-welcome h1 { margin:0; font-size:29px; letter-spacing:-.8px; }
.vo-dashboard-welcome p { max-width:590px; color:#BFC9B9; font-size:13px; line-height:1.55; margin:9px 0 20px; }
.vo-dashboard-actions { display:flex; flex-wrap:wrap; gap:8px; }
.vo-dashboard-actions a { background:rgba(255,255,255,.08); color:#EEF2EA; border:1px solid rgba(255,255,255,.12); box-shadow:none; }
.vo-dashboard-actions a:first-child { background:var(--vo-accent); color:#162014; border-color:transparent; }
.vo-dashboard-focus {
  background:#fff;
  border:1px solid var(--vo-border);
  border-radius:20px;
  padding:20px;
}
.vo-dashboard-focus h3 { margin:0 0 3px; font-size:14px; }
.vo-dashboard-focus > p { margin:0 0 14px; font-size:11px; color:var(--vo-muted); }
.vo-focus-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:10px 0; border-top:1px solid #EDF0E9; }
.vo-focus-row:first-of-type { border-top:0; }
.vo-focus-row span { color:#5D6857; font-size:11.5px; }
.vo-focus-row strong { font-size:17px; }
.vo-focus-row.is-danger strong { color:var(--vo-danger); }
.vo-focus-row.is-warning strong { color:var(--vo-warning); }

.vo-dashboard-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(310px,.75fr); gap:16px; align-items:start; }
.vo-dashboard-stack { display:grid; gap:16px; }
.vo-section-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:16px 18px; border-bottom:1px solid #EEF1EB; }
.vo-section-toolbar h3 { margin:0; font-size:13.5px; }
.vo-section-toolbar p { margin:3px 0 0; font-size:10.5px; color:var(--vo-muted); }
.vo-activity-row { display:grid; grid-template-columns:92px minmax(0,1fr) 115px; gap:14px; padding:13px 18px; border-bottom:1px solid #F0F2ED; align-items:center; }
.vo-activity-row:last-child { border-bottom:0; }
.vo-activity-time { font-size:10px; color:#949C90; font-variant-numeric:tabular-nums; }
.vo-activity-main strong { display:block; font-size:12px; }
.vo-activity-main span { display:block; margin-top:2px; font-size:10.5px; color:#7B8575; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-activity-user { text-align:right; font-size:10px; color:#8A9385; }

/* Clients directory V2 */
.vo-clients-head {
  display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin-bottom:18px;
}
.vo-clients-toolbar {
  background:#fff; border:1px solid var(--vo-border); border-radius:16px; padding:12px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-bottom:14px;
}
.vo-clients-toolbar .vo-search-bar { flex:1 1 320px; }
.vo-filter-pills { display:flex; gap:6px; flex-wrap:wrap; }
.vo-filter-pill {
  display:inline-flex; align-items:center; gap:6px; text-decoration:none;
  padding:8px 10px; border-radius:999px; border:1px solid #E1E6DD; background:#FAFBF9;
  font-size:10.5px; color:#6B7566; font-weight:700;
}
.vo-filter-pill strong { font-size:10px; min-width:18px; height:18px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:#ECEFE8; color:#626C5C; }
.vo-filter-pill.active { background:#25341F; color:#fff; border-color:#25341F; }
.vo-filter-pill.active strong { background:rgba(255,255,255,.15); color:#fff; }

.vo-client-table-wrap { background:#fff; border:1px solid var(--vo-border); border-radius:18px; overflow:hidden; }
.vo-client-table { width:100%; border-collapse:collapse; table-layout:fixed; }
.vo-client-table th {
  text-align:left; padding:12px 16px; font-size:9.5px; color:#8A9385; letter-spacing:.65px; text-transform:uppercase; font-weight:850; background:#F8FAF7; border-bottom:1px solid #EAEDE7;
}
.vo-client-table td { padding:14px 16px; border-bottom:1px solid #EFF1ED; vertical-align:middle; font-size:11.5px; }
.vo-client-table tr:last-child td { border-bottom:0; }
.vo-client-table tbody tr { transition:background .12s ease; }
.vo-client-table tbody tr:hover { background:#FAFBF8; }
.vo-client-cell { display:flex; align-items:center; gap:11px; min-width:0; }
.vo-client-avatar-sm {
  width:37px; height:37px; border-radius:11px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  background:#EAF0E3; color:#40552F; font-size:13px; font-weight:850;
}
.vo-client-name { min-width:0; }
.vo-client-name a { display:block; text-decoration:none; font-size:12.5px; font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-client-name span { display:block; margin-top:3px; font-size:10px; color:#8A9385; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-client-contact { color:#667060; line-height:1.45; }
.vo-client-contact strong { display:block; color:#465042; font-size:11px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-client-contact span { display:block; color:#8A9385; font-size:10px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-client-rel { display:flex; gap:5px; flex-wrap:wrap; }
.vo-rel-chip { display:inline-flex; align-items:center; gap:4px; padding:4px 7px; border-radius:999px; background:#F0F3EC; color:#65705F; font-size:9.5px; font-weight:700; }
.vo-rel-chip.is-alert { background:#FBEBE8; color:#985047; }
.vo-health { display:inline-flex; align-items:center; gap:6px; font-size:10px; font-weight:750; color:#64705F; }
.vo-health:before { content:''; width:7px; height:7px; border-radius:50%; background:#8E9E83; }
.vo-health.good:before { background:#7F9B4E; }
.vo-health.warn { color:#947123; }
.vo-health.warn:before { background:#D5A632; }
.vo-health.alert { color:#9B5148; }
.vo-health.alert:before { background:#C7655B; }
.vo-client-last-v2 { color:#7C8677; font-size:10.5px; font-variant-numeric:tabular-nums; }
.vo-client-last-v2 span { display:block; font-size:9.5px; color:#9AA298; margin-top:2px; }
.vo-row-arrow { color:#A7AFA3; text-align:right; font-size:17px; }
.vo-pagination { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 15px; background:#FAFBF9; border-top:1px solid #EEF1EB; }
.vo-pagination span { font-size:10.5px; color:#8A9385; }
.vo-pagination-links { display:flex; gap:6px; }
.vo-pagination-links a, .vo-pagination-links span { min-width:32px; height:30px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #E0E5DC; border-radius:8px; background:#fff; text-decoration:none; color:#586352; font-size:10.5px; }
.vo-pagination-links span.current { background:#26361F; color:#fff; border-color:#26361F; }
.vo-empty-modern { padding:44px 18px; text-align:center; }
.vo-empty-modern strong { display:block; font-size:13px; }
.vo-empty-modern span { display:block; color:#8A9385; font-size:11px; margin-top:5px; }

/* Client profile V2 */
.vo-profile-breadcrumb { margin-bottom:12px; font-size:10.5px; color:#8C9588; }
.vo-profile-breadcrumb a { color:#63705D; text-decoration:none; }
.vo-profile-hero {
  background:linear-gradient(135deg,#FFFFFF 0%,#FAFBF8 100%);
  border:1px solid var(--vo-border); border-radius:20px; padding:20px;
  display:flex; justify-content:space-between; gap:20px; align-items:flex-start; margin-bottom:14px;
}
.vo-profile-left { display:flex; align-items:center; gap:15px; min-width:0; }
.vo-profile-avatar-lg {
  width:58px; height:58px; border-radius:17px; flex:0 0 auto;
  display:flex; align-items:center; justify-content:center;
  color:#fff; background:linear-gradient(145deg,#344829,#6E8438); font-size:20px; font-weight:850;
}
.vo-profile-title-wrap { min-width:0; }
.vo-profile-title-wrap h1 { margin:0; font-size:24px; letter-spacing:-.6px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-profile-meta-line { display:flex; flex-wrap:wrap; gap:7px 12px; margin-top:7px; color:#75806F; font-size:10.5px; }
.vo-profile-meta-line a { text-decoration:none; color:#53644A; }
.vo-profile-actions-v2 { display:flex; gap:7px; flex-wrap:wrap; justify-content:flex-end; }
.vo-profile-summary {
  display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-bottom:16px;
}
.vo-profile-stat { background:#fff; border:1px solid var(--vo-border); border-radius:14px; padding:13px 14px; }
.vo-profile-stat span { display:block; font-size:9.5px; color:#8B9486; text-transform:uppercase; letter-spacing:.55px; font-weight:800; }
.vo-profile-stat strong { display:block; margin-top:5px; font-size:17px; color:#2C3925; }
.vo-profile-stat.alert strong { color:#A64B42; }
.vo-profile-layout { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(290px,.62fr); gap:16px; align-items:start; }
.vo-profile-stack { display:grid; gap:16px; }
.vo-profile-side { display:grid; gap:16px; }
.vo-profile-section { background:#fff; border:1px solid var(--vo-border); border-radius:17px; overflow:hidden; }
.vo-profile-section-head { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:15px 16px; border-bottom:1px solid #EEF1EB; }
.vo-profile-section-head h3 { margin:0; font-size:13px; }
.vo-profile-section-head p { margin:3px 0 0; font-size:10px; color:#8A9385; }
.vo-profile-section-head a { font-size:10px; color:#5E6D54; font-weight:750; text-decoration:none; }
.vo-doc-row { display:grid; grid-template-columns:95px minmax(0,1fr) 110px 110px; gap:12px; align-items:center; padding:12px 16px; border-bottom:1px solid #F0F2ED; text-decoration:none; }
.vo-doc-row:last-child { border-bottom:0; }
.vo-doc-row:hover { background:#FAFBF8; }
.vo-doc-row .code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; color:#7F887A; font-size:10px; }
.vo-doc-row .desc { min-width:0; font-size:11.5px; color:#414B3D; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.vo-doc-row .amount { text-align:right; font-size:11px; font-weight:700; color:#47563C; }
.vo-profile-info { padding:4px 16px 10px; }
.vo-profile-info-row { display:grid; grid-template-columns:82px minmax(0,1fr); gap:12px; padding:9px 0; border-bottom:1px solid #F0F2ED; }
.vo-profile-info-row:last-child { border-bottom:0; }
.vo-profile-info-row span { font-size:9.5px; color:#91998E; text-transform:uppercase; letter-spacing:.35px; }
.vo-profile-info-row strong { font-size:10.8px; color:#465042; font-weight:600; overflow-wrap:anywhere; }
.vo-note-box { padding:14px 16px 16px; }
.vo-note-box textarea { min-height:100px; }

.vo-timeline-v2 { padding:2px 0; }
.vo-timeline-event { display:grid; grid-template-columns:24px 92px minmax(0,1fr); gap:8px; padding:12px 16px; border-bottom:1px solid #F0F2ED; text-decoration:none; }
.vo-timeline-event:last-child { border-bottom:0; }
.vo-timeline-event:hover { background:#FAFBF8; }
.vo-timeline-icon { width:22px; height:22px; border-radius:7px; display:flex; align-items:center; justify-content:center; background:#EEF2E9; color:#596C4B; font-size:9px; font-weight:850; margin-top:1px; }
.vo-timeline-time { font-size:9.5px; color:#929A8F; line-height:1.45; }
.vo-timeline-content span { display:block; font-size:9px; text-transform:uppercase; letter-spacing:.5px; color:#899483; font-weight:800; }
.vo-timeline-content strong { display:block; margin-top:2px; font-size:11.5px; color:#3E493A; }
.vo-timeline-content p { margin:3px 0 0; font-size:10.5px; color:#7A8475; line-height:1.45; }

@media (max-width: 1100px) {
  .vo-dashboard-hero, .vo-dashboard-grid, .vo-profile-layout { grid-template-columns:1fr; }
  .vo-profile-summary { grid-template-columns:repeat(3,1fr); }
  .vo-client-table th:nth-child(4), .vo-client-table td:nth-child(4) { display:none; }
}
@media (max-width: 900px) {
  .vo-sidebar { position:relative; height:auto; width:100%; }
  .vo-main { padding:0 18px 50px; }
  .vo-topbar { margin-top:4px; }
  .vo-client-table th:nth-child(3), .vo-client-table td:nth-child(3),
  .vo-client-table th:nth-child(5), .vo-client-table td:nth-child(5) { display:none; }
  .vo-profile-hero { flex-direction:column; }
  .vo-profile-actions-v2 { justify-content:flex-start; }
  .vo-profile-summary { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 640px) {
  .vo-main { padding:0 12px 40px; }
  .vo-topbar-user-meta { display:none; }
  .vo-dashboard-welcome { padding:22px 20px; }
  .vo-clients-head { align-items:flex-start; flex-direction:column; }
  .vo-client-table th:nth-child(2), .vo-client-table td:nth-child(2) { display:none; }
  .vo-client-table th, .vo-client-table td { padding-left:12px; padding-right:12px; }
  .vo-profile-left { align-items:flex-start; }
  .vo-profile-avatar-lg { width:48px; height:48px; border-radius:14px; }
  .vo-profile-title-wrap h1 { font-size:20px; }
  .vo-profile-summary { grid-template-columns:1fr 1fr; }
  .vo-doc-row { grid-template-columns:85px minmax(0,1fr); }
  .vo-doc-row .amount, .vo-doc-row .vo-badge { display:none; }
  .vo-timeline-event { grid-template-columns:22px minmax(0,1fr); }
  .vo-timeline-time { grid-column:2; grid-row:2; }
}


/* =========================================================
   VERDE OLIVO UI V3 · IDENTIDAD OPERATIVA
   Diseño propio: sobrio, logístico, sin estética genérica.
   ========================================================= */
:root{
  --vo-ink:#182116;
  --vo-ink-2:#263322;
  --vo-olive:#3f5723;
  --vo-olive-2:#58762d;
  --vo-leaf:#91aa58;
  --vo-gold:#c9b56c;
  --vo-sand:#f5f2e9;
  --vo-paper:#fffdf8;
  --vo-line:#ded8c8;
  --vo-muted:#777361;
  --vo-sidebar:#172214;
  --vo-sidebar-2:#1d2b18;
}
body{background:var(--vo-sand);color:var(--vo-ink);font-feature-settings:"tnum" 1,"ss01" 1}
.vo-shell{align-items:stretch}
.vo-sidebar{
  width:248px;padding:20px 14px 18px;background:var(--vo-sidebar);border-right:0;color:#eef1e8;
  position:sticky;top:0;height:100vh;overflow:auto;
}
.vo-brand{gap:12px;padding:0 8px 18px;margin:0 0 6px;border-bottom:1px solid rgba(255,255,255,.09)}
.vo-brand-mark{width:42px;height:42px;display:grid;place-items:center;color:#a9c36a;flex:0 0 auto}
.vo-brand-mark svg{width:42px;height:42px}
.vo-brand-name{font-size:16px;font-weight:800;letter-spacing:-.25px;color:#fff}
.vo-brand-sub{font-size:10.5px;color:#9ba991;margin-top:2px}
.vo-nav{padding-top:4px}
.vo-nav-section{
  font-size:9px;letter-spacing:1.45px;text-transform:uppercase;color:#73816e;font-weight:800;
  padding:18px 11px 7px;margin:0;
}
.vo-nav-item{
  min-height:38px;display:flex;align-items:center;gap:11px;padding:9px 11px;margin:2px 0;border-radius:9px;
  color:#c9d0c3;font-size:13px;font-weight:580;transition:background .16s ease,color .16s ease,transform .16s ease;
}
.vo-nav-item:hover{background:rgba(255,255,255,.055);color:#fff;text-decoration:none}
.vo-nav-item.active{
  background:#eef1df;color:#233218;box-shadow:inset 3px 0 0 var(--vo-gold);font-weight:750;
}
.vo-icon{width:18px;height:18px;flex:0 0 auto}
.vo-nav-item .vo-icon{opacity:.86}
.vo-nav-item.active .vo-icon{opacity:1}
.vo-sidebar-footer{border-top:1px solid rgba(255,255,255,.09);padding:14px 7px 0}
.vo-user-box{display:flex;align-items:center;gap:9px;padding:0;margin-bottom:10px}
.vo-user-avatar{width:30px;height:30px;border-radius:8px;background:#2d4025;border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;font-weight:800;color:#dbe7c5}
.vo-user-name{color:#f4f5ef;font-size:12.5px}
.vo-user-rol{color:#83907f}
.vo-logout{color:#c5a59f;padding:5px 39px;font-size:11px}

.vo-main{max-width:none;padding:0 34px 70px;min-width:0}
.vo-topbar{
  height:58px;margin:0 -34px 24px;padding:0 34px;border-bottom:1px solid var(--vo-line);
  display:flex;align-items:center;justify-content:space-between;background:rgba(245,242,233,.92);backdrop-filter:blur(10px);
  position:sticky;top:0;z-index:20;
}
.vo-topbar-left,.vo-topbar-right{display:flex;align-items:center;gap:8px}
.vo-env-dot{width:7px;height:7px;border-radius:50%;background:#5c7d36;box-shadow:0 0 0 4px rgba(92,125,54,.11)}
.vo-env-dot.is-test{background:#c3a84c;box-shadow:0 0 0 4px rgba(195,168,76,.13)}
.vo-topbar-context,.vo-topbar-right{font-size:11.5px;color:#746f5e}
.vo-topbar-right strong{color:#39402f;font-weight:700}
.vo-topbar-sep{width:1px;height:15px;background:#d7d1c0;margin:0 2px}

.vo-header-row{margin-bottom:20px;align-items:center}
.vo-commercial-eyebrow,.vo-overline{
  font-size:9.5px;letter-spacing:1.25px;text-transform:uppercase;font-weight:850;color:#829067;margin-bottom:6px;
}
.vo-h1{font-size:27px;line-height:1.05;letter-spacing:-.8px;font-weight:820;color:#192017}
.vo-subtitle{font-size:12.5px;color:#777361;margin-top:5px}

.vo-card{
  border:1px solid var(--vo-line);border-radius:11px;background:var(--vo-paper);box-shadow:0 2px 10px rgba(34,42,26,.025);
}
.vo-kpi{border-radius:9px;background:#fffef9;border-color:#e1dbc9}
.vo-kpi-value{color:#33491f}
.vo-table-head{background:#efecdf;border-bottom-color:#ddd6c4}
.vo-row{transition:background .13s ease}
.vo-row:hover{background:#f4f2e8}
.vo-search-bar{background:#fffdf8;border-color:#ded8c8;border-radius:10px;box-shadow:none}
input,select,textarea{background:#fffef9;border-color:#d9d3c2;border-radius:8px}
input:focus,select:focus,textarea:focus{border-color:#829a54;box-shadow:0 0 0 3px rgba(130,154,84,.12)}

.vo-btn-primary,.vo-btn-secondary,.vo-btn-ghost{
  border-radius:8px;min-height:38px;gap:7px;font-weight:720;letter-spacing:-.05px;box-shadow:none;
}
.vo-btn-primary{background:#334b1c;color:#fff}
.vo-btn-primary:hover{background:#2b4018}
.vo-btn-secondary{background:#fffdf8;border-color:#d7d0bc;color:#33441f}
.vo-btn-secondary:hover{background:#efede2}
.vo-btn-ghost{background:transparent;border-color:#d8d1be;color:#655f4d}
.vo-btn-primary .vo-icon,.vo-btn-secondary .vo-icon,.vo-btn-ghost .vo-icon{width:16px;height:16px}

.vo-badge{border-radius:6px;font-size:10px;letter-spacing:.18px}
.badge-oro{background:#efe5bd;color:#76631d}
.badge-verde{background:#dfe8cf;color:#36501f}
.badge-gris{background:#ebe9e1;color:#666252}

.vo-alert{border-radius:9px;border:1px solid #ead1cc}
.vo-alert-ok{border-color:#d2dfc2;background:#edf3e5}

.vo-crm-section-head{
  padding:15px 17px;border-bottom:1px solid #e8e2d1;background:transparent;
}
.vo-crm-section-head strong{font-size:15px;letter-spacing:-.18px}
.vo-crm-section-head span{font-size:11px}

/* Guía de despacho: menos tarjetas, más lectura operativa */
.vo-tracking-panel{
  margin-bottom:14px;border:1px solid #d8d1be;border-radius:11px;background:#fffdf8;overflow:hidden;
  box-shadow:inset 4px 0 0 #4d6828;
}
.vo-tracking-panel-main{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px 16px}
.vo-tracking-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:15px;color:#687153;margin-top:3px}
.vo-tracking-state{font-size:24px;font-weight:820;letter-spacing:-.65px;color:#1e2918;margin-top:7px}
.vo-stage-chip{display:flex;align-items:baseline;gap:7px;background:#eef1df;border:1px solid #dce2ca;padding:8px 10px;border-radius:8px;color:#45582c}
.vo-stage-chip span{font-size:10px;text-transform:uppercase;letter-spacing:.7px}
.vo-stage-chip strong{font-size:15px}
.vo-tracking-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0;border-top:1px solid #e8e2d1}
.vo-tracking-meta>div{padding:12px 20px;border-right:1px solid #e8e2d1}
.vo-tracking-meta>div:last-child{border-right:0}
.vo-tracking-meta dt{font-size:9.5px;text-transform:uppercase;letter-spacing:.65px;color:#8b8673;font-weight:800}
.vo-tracking-meta dd{margin:5px 0 0;font-size:12.5px;font-weight:700;color:#2b3325}

.vo-tech-panel{
  margin:0 0 16px;border:1px dashed #cfc8b4;border-radius:9px;background:#f3f0e6;color:#3f4337;
}
.vo-tech-panel summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 13px}
.vo-tech-panel summary::-webkit-details-marker{display:none}
.vo-tech-summary-left{display:flex;align-items:center;gap:8px}
.vo-tech-summary-left .vo-icon{width:15px;height:15px;color:#65754a}
.vo-tech-summary-left strong{font-size:12px}
.vo-tech-summary-left small{font-size:10.5px;color:#85806f}
.vo-tech-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #ddd6c4}
.vo-tech-grid>div{padding:10px 12px;border-right:1px solid #ddd6c4}
.vo-tech-grid>div:last-child{border-right:0}
.vo-tech-grid span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.6px;color:#8b8673}
.vo-tech-grid strong{display:block;font-size:11.5px;margin-top:4px}
.vo-tech-grid small{display:block;font-size:10px;color:#817b69;margin-top:3px}
.vo-tech-note{font-size:10.5px;color:#7e7866;margin:0;padding:9px 12px;border-top:1px solid #ddd6c4}

/* Listado de guías */
body .vo-table-head{font-size:10px;letter-spacing:.45px}
body .vo-row-num{color:#334b1c;font-weight:750}

/* Responsive */
@media(max-width:980px){
  .vo-sidebar{width:214px}
  .vo-main{padding-left:24px;padding-right:24px}
  .vo-topbar{margin-left:-24px;margin-right:-24px;padding-left:24px;padding-right:24px}
  .vo-tracking-meta,.vo-tech-grid{grid-template-columns:1fr 1fr}
  .vo-tracking-meta>div:nth-child(2),.vo-tech-grid>div:nth-child(2){border-right:0}
}
@media(max-width:760px){
  .vo-shell{display:block}
  .vo-sidebar{width:100%;height:auto;position:relative}
  .vo-nav{display:grid;grid-template-columns:1fr 1fr;gap:2px}
  .vo-nav-section{grid-column:1/-1}
  .vo-main{padding:0 16px 50px}
  .vo-topbar{position:relative;margin:0 -16px 18px;padding:0 16px}
  .vo-topbar-right{display:none}
  .vo-tracking-panel-main{display:block}
  .vo-stage-chip{display:inline-flex;margin-top:14px}
  .vo-tracking-meta,.vo-tech-grid{grid-template-columns:1fr}
  .vo-tracking-meta>div,.vo-tech-grid>div{border-right:0;border-bottom:1px solid #e8e2d1}
  .vo-tracking-meta>div:last-child,.vo-tech-grid>div:last-child{border-bottom:0}
}


/* =========================================================
   VERDE OLIVO UI V4 · IDENTIDAD OFICIAL
   Paleta basada en el isotipo oficial.
   ========================================================= */
:root{
  --vo-navy:#151321;
  --vo-navy-2:#1E243B;
  --vo-navy-3:#28314E;
  --vo-brand:#85A439;
  --vo-brand-soft:#C8D069;
  --vo-brand-pale:#F0F4DF;
  --vo-ink:#1D251B;
  --vo-ink-soft:#485143;
  --vo-muted:#7F867A;
  --vo-bg:#F7F7F3;
  --vo-paper:#FFFFFF;
  --vo-warm:#FAF8F2;
  --vo-line:#E5E4DD;
  --vo-line-strong:#D9D8CF;
  --vo-danger:#B55C52;
  --vo-warning:#B89029;
  --vo-success:#58752E;
  --vo-shadow:0 8px 28px rgba(21,19,33,.055);
}
html{background:var(--vo-bg)}
body{
  background:var(--vo-bg);
  color:var(--vo-ink);
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.vo-shell{min-height:100vh;background:var(--vo-bg)}
.vo-sidebar{
  width:246px;
  padding:18px 13px 16px;
  background:linear-gradient(180deg,var(--vo-navy) 0%, #131A2B 100%);
  color:#fff;
  border-right:0;
  box-shadow:8px 0 32px rgba(21,19,33,.08);
}
.vo-brand{
  min-height:64px;
  padding:4px 8px 18px;
  gap:12px;
  border-bottom:1px solid rgba(255,255,255,.09);
}
.vo-brand-mark{
  width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;color:inherit;
}
.vo-brand-mark img{
  width:46px;height:46px;display:block;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.08));
}
.vo-brand-name{font-size:16px;font-weight:820;color:#fff;letter-spacing:-.28px}
.vo-brand-sub{font-size:10.5px;line-height:1.35;color:#AAB1C3;margin-top:2px}
.vo-nav{padding-top:4px}
.vo-nav-section{
  margin:0;padding:17px 10px 7px;
  color:#79849D;font-size:8.8px;letter-spacing:1.55px;font-weight:850;
}
.vo-nav-item{
  min-height:38px;display:flex;align-items:center;gap:10px;
  margin:2px 0;padding:9px 10px;border-radius:9px;
  color:#D7DBE5;font-size:12.5px;font-weight:610;
}
.vo-nav-item:hover{background:rgba(255,255,255,.06);color:#fff}
.vo-nav-item.active{
  background:linear-gradient(90deg,rgba(133,164,57,.92),rgba(98,127,38,.92));
  color:#fff;box-shadow:0 5px 16px rgba(0,0,0,.12);font-weight:760;
}
.vo-nav-item.active:before{display:none}
.vo-nav-item .vo-icon{width:17px;height:17px;color:#C7CDDA;opacity:.95}
.vo-nav-item.active .vo-icon{color:#fff}
.vo-sidebar-footer{
  border-top:1px solid rgba(255,255,255,.09);padding:12px 7px 0;margin-top:auto;
}
.vo-system-status{
  display:grid;grid-template-columns:8px minmax(0,1fr) 28px;gap:9px;align-items:center;
  padding:9px 8px 11px;margin-bottom:7px;border-bottom:1px solid rgba(255,255,255,.06);
}
.vo-system-dot{width:7px;height:7px;border-radius:50%;background:#8FC949;box-shadow:0 0 0 4px rgba(143,201,73,.08)}
.vo-system-status strong{display:block;color:#F4F5F8;font-size:10.5px}
.vo-system-status small{display:block;color:#8791A7;font-size:9px;margin-top:2px}
.vo-system-pulse{
  width:25px;height:13px;position:relative;opacity:.95;
  background:linear-gradient(90deg,transparent 0 15%,#8FC949 15% 20%,transparent 20% 35%,#8FC949 35% 40%,transparent 40%);
  clip-path:polygon(0 50%,20% 50%,28% 5%,38% 92%,48% 25%,57% 50%,100% 50%,100% 58%,60% 58%,51% 38%,39% 100%,28% 25%,23% 58%,0 58%);
}
.vo-user-box{display:flex;align-items:center;gap:9px;padding:8px 8px 4px}
.vo-user-avatar{
  width:31px;height:31px;border-radius:50%;display:grid;place-items:center;
  background:#26304A;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:11px;font-weight:800;
}
.vo-user-name{font-size:11px;color:#F2F3F7}
.vo-user-rol{font-size:9.5px;color:#8993A8}
.vo-logout{padding:5px 48px;color:#D4A7A2;font-size:10px}

.vo-main{max-width:none;min-width:0;padding:0 34px 70px}
.vo-topbar{
  height:62px;margin:0 -34px 26px;padding:0 34px;
  background:rgba(255,255,255,.92);
  border-bottom:1px solid var(--vo-line);
  backdrop-filter:blur(14px);
  display:flex;align-items:center;justify-content:space-between;
  position:sticky;top:0;z-index:30;
}
.vo-breadcrumb{display:flex;align-items:center;gap:7px;min-width:0;color:#737B71;font-size:10.5px}
.vo-breadcrumb strong{color:#35402F;font-weight:760;white-space:nowrap}
.vo-breadcrumb-home{width:21px;height:21px;display:grid;place-items:center;color:#71796F}
.vo-breadcrumb-home .vo-icon{width:14px;height:14px}
.vo-breadcrumb-sep{width:12px;height:12px;color:#B5BAB2;flex:0 0 auto}
.vo-topbar-account{display:flex;align-items:center;gap:9px}
.vo-company-badge{
  width:34px;height:34px;border-radius:9px;display:grid;place-items:center;
  color:#68842F;background:#F0F4E6;border:1px solid #DCE5C8;
}
.vo-company-badge .vo-icon{width:17px;height:17px}
.vo-company-meta,.vo-user-top-meta{display:flex;flex-direction:column;line-height:1.18}
.vo-company-meta strong,.vo-user-top-meta strong{font-size:10.5px;color:#273021}
.vo-company-meta span,.vo-user-top-meta span{font-size:9px;color:#8A9186;margin-top:2px}
.vo-user-avatar-top{width:32px;height:32px;background:#17213A;color:#fff}
.vo-topbar-sep{width:1px;height:28px;background:#E1E1DB;margin:0 2px}

.vo-header-row{align-items:center;margin-bottom:20px;gap:20px}
.vo-commercial-eyebrow,.vo-overline,.vo-page-kicker{
  color:#718E3C;font-size:9px;font-weight:850;letter-spacing:1.25px;text-transform:uppercase;
}
.vo-h1{font-size:29px;line-height:1.04;letter-spacing:-.9px;color:#1E251D;font-weight:840}
.vo-subtitle{font-size:12px;color:#6E766A;margin-top:5px}

.vo-card{
  background:#fff;border:1px solid var(--vo-line);border-radius:14px;
  box-shadow:0 2px 10px rgba(21,19,33,.025);
}
.vo-card:hover{box-shadow:0 4px 18px rgba(21,19,33,.035)}
.vo-crm-section-head{
  padding:15px 17px;border-bottom:1px solid #ECECE6;background:transparent;
}
.vo-crm-section-head strong{font-size:13.5px;color:#252D22}
.vo-crm-section-head span{font-size:10px;color:#8B9187}

.vo-btn-primary,.vo-btn-secondary,.vo-btn-ghost{
  min-height:39px;border-radius:9px;padding:9px 14px;font-size:11.5px;font-weight:760;gap:7px;
}
.vo-btn-primary{
  background:linear-gradient(180deg,#314D1F,#263E19);color:#fff;border-color:#263E19;
  box-shadow:0 4px 11px rgba(50,79,31,.13);
}
.vo-btn-primary:hover{background:#223718}
.vo-btn-secondary{background:#fff;border:1px solid #D8D9D3;color:#27351F}
.vo-btn-secondary:hover{background:#F7F8F4}
.vo-btn-ghost{background:#fff;border:1px solid #DDDDD7;color:#646B61}
.vo-btn-primary .vo-icon,.vo-btn-secondary .vo-icon,.vo-btn-ghost .vo-icon{width:15px;height:15px}
.vo-guide-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}

input,select,textarea{
  min-height:39px;border:1px solid #DCDED8;border-radius:8px;background:#fff;color:#263025;
  font-size:12px;padding:8px 10px;
}
input[readonly],input:disabled,select:disabled,textarea:disabled{background:#FAFAF7;color:#4D554A}
input:focus,select:focus,textarea:focus{border-color:#8FAA4E;box-shadow:0 0 0 3px rgba(133,164,57,.12)}
.vo-field{gap:5px}
.vo-field label{font-size:9px;letter-spacing:.62px;color:#7C8377;font-weight:820}
.vo-form-grid{gap:13px;padding:15px 16px}
.vo-form-actions{padding:0 16px 16px;margin-top:12px}
.vo-alert{border-radius:10px;padding:11px 14px;font-size:11.5px}
.vo-alert-ok{background:#EDF4E3;color:#436126;border-color:#D6E5C1}

/* Listado de guías */
.vo-guides-toolbar{
  display:grid;grid-template-columns:minmax(260px,1fr) 160px 160px auto;
  gap:8px;align-items:center;
  background:#fff;border:1px solid var(--vo-line);border-radius:13px;padding:9px;margin-bottom:12px;
}
.vo-guides-toolbar input,.vo-guides-toolbar select{min-height:36px}
.vo-guides-table{overflow:hidden}
.vo-guides-head,.vo-guide-row{
  display:grid;grid-template-columns:120px 120px minmax(180px,1fr) 125px 300px 120px;
  align-items:center;gap:0;
}
.vo-guides-head{
  min-height:38px;padding:0 14px;background:#F4F4EF;border-bottom:1px solid #E5E5DE;
  color:#858B81;text-transform:uppercase;letter-spacing:.7px;font-size:8.5px;font-weight:850;
}
.vo-guide-row{
  min-height:58px;padding:0 14px;border-bottom:1px solid #EFEFEA;text-decoration:none;color:inherit;
  transition:background .12s ease,transform .12s ease;
}
.vo-guide-row:last-child{border-bottom:0}
.vo-guide-row:hover{background:#FAFBF8}
.vo-guide-code{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#416324}
.vo-guide-client{font-size:11.5px;font-weight:720;color:#252D22}
.vo-guide-secondary{font-size:9.5px;color:#8C9189;margin-top:2px;display:block}
.vo-guide-track strong{font-size:10.5px;color:#2A3227}
.vo-badge{border-radius:999px;padding:4px 8px;font-size:8.5px;font-weight:800}
.badge-oro{background:#F3E9BD;color:#765E12}
.badge-verde{background:#E5EED8;color:#466323}
.badge-gris{background:#ECECE7;color:#686D65}

/* Hero de seguimiento */
.vo-tracking-panel{
  margin-bottom:13px;border:1px solid #E1E2DC;border-radius:14px;background:#fff;overflow:hidden;
  box-shadow:var(--vo-shadow);border-left:4px solid #648832;
}
.vo-tracking-panel-main{
  display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 20px 15px;
}
.vo-tracking-identity{display:flex;align-items:center;gap:15px;min-width:0}
.vo-tracking-hero-icon{
  width:50px;height:50px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:#F0F4E4;color:#76943B;border:1px solid #E2E9D2;
}
.vo-tracking-hero-icon .vo-icon{width:27px;height:27px}
.vo-tracking-code{font:11.5px ui-monospace,SFMono-Regular,Menlo,monospace;color:#596151;margin-top:4px}
.vo-tracking-state{font-size:22px;line-height:1.08;font-weight:840;letter-spacing:-.58px;color:#172039;margin-top:5px}
.vo-stage-chip{
  display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border-radius:8px;
  background:#EFF4E5;border:1px solid #DCE5CB;color:#425A26;white-space:nowrap;
}
.vo-stage-chip span{font-size:8.5px;letter-spacing:.8px}
.vo-stage-chip strong{font-size:14.5px}
.vo-tracking-meta{grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #EBEBE6}
.vo-tracking-meta>div{padding:10px 20px;border-right:1px solid #EBEBE6}
.vo-tracking-meta dt{font-size:8.5px;color:#858B80}
.vo-tracking-meta dd{font-size:11.5px;color:#242C22;margin-top:4px}

.vo-tech-panel{
  border:1px solid #DEE3F1;background:#F5F7FE;border-radius:10px;margin:0 0 15px;color:#343C50;
}
.vo-tech-panel summary{padding:9px 12px}
.vo-tech-summary-left strong{font-size:10.5px;color:#313B53}
.vo-tech-summary-left small{font-size:9px;color:#7F879A}
.vo-tech-summary-left .vo-icon{color:#6D82D1}
.vo-tech-grid{border-top:1px solid #E2E6F2}
.vo-tech-note{border-top:1px solid #E2E6F2}
.vo-tech-panel .badge-oro{background:#EEF1FF;color:#536AC3}

/* Resumen compacto de guía */
.vo-guide-summary{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;
  background:#fff;border:1px solid var(--vo-line);border-radius:14px;overflow:hidden;margin-bottom:15px;
}
.vo-guide-summary-head{
  grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:15px;
  padding:13px 15px;border-bottom:1px solid #ECECE7;
}
.vo-guide-summary-title{display:flex;align-items:center;gap:9px}
.vo-guide-summary-icon{
  width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:#EAF1DE;color:#4E7124;
}
.vo-guide-summary-icon .vo-icon{width:16px;height:16px}
.vo-guide-summary-title strong{font-size:12.5px}
.vo-guide-summary-title span{display:block;font-size:9px;color:#8A9086;margin-top:2px}
.vo-guide-summary-cell{
  padding:12px 14px;border-right:1px solid #EFEFEA;border-bottom:1px solid #EFEFEA;min-width:0;
}
.vo-guide-summary-cell:nth-last-child(-n+4){border-bottom:0}
.vo-guide-summary-cell:nth-child(5),.vo-guide-summary-cell:nth-child(9){border-right:0}
.vo-guide-summary-cell small{display:block;font-size:8.5px;color:#8B9187;margin-bottom:4px}
.vo-guide-summary-cell strong{display:block;font-size:10.5px;color:#2A3228;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vo-guide-summary-cell .vo-rut-ok{color:#5F7C34;font-size:8.5px;margin-top:3px}

.vo-edit-panel{
  border:1px solid var(--vo-line);border-radius:12px;background:#fff;margin:0 0 16px;overflow:hidden;
}
.vo-edit-panel>summary{
  cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 15px;
  list-style:none;color:#384236;font-size:11px;font-weight:760;background:#FBFBF8;
}
.vo-edit-panel>summary::-webkit-details-marker{display:none}
.vo-edit-panel>summary .vo-icon{width:15px;height:15px;color:#6E7E63}
.vo-edit-panel[open]>summary{border-bottom:1px solid #ECECE7}
.vo-edit-panel .vo-card{border:0;border-radius:0;box-shadow:none;margin:0!important}
.vo-edit-panel .vo-form-actions{border-top:1px solid #ECECE7;padding-top:13px}

/* Operación logística: tracking + historial */
.vo-guide-ops-grid{
  display:grid;grid-template-columns:minmax(340px,.9fr) minmax(520px,1.35fr);gap:14px;align-items:start;margin-top:15px;
}
.vo-guide-history-card{grid-column:1}
.vo-guide-tracking-card{grid-column:2;grid-row:1}
.vo-guide-tracking-card .vo-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px}
.vo-guide-tracking-card .vo-span-4{grid-column:span 4}
.vo-guide-tracking-card .vo-span-2{grid-column:span 2}
.vo-guide-tracking-card .vo-form-actions{justify-content:flex-end}
.vo-guide-tracking-card .vo-crm-section-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px
}
.vo-section-icon-title{display:flex;align-items:center;gap:9px}
.vo-section-icon{
  width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#E7EFDC;color:#4E7025;
}
.vo-section-icon .vo-icon{width:15px;height:15px}
.vo-section-icon-title strong{display:block}
.vo-section-icon-title span{display:block}

.vo-guide-history-card .vo-crm-section-head{display:flex;align-items:center;justify-content:space-between}
.vo-history-list{padding:5px 15px 11px}
.vo-history-row{
  display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;
  min-height:48px;border-bottom:1px solid #EFEFEA;position:relative;
}
.vo-history-row:last-child{border-bottom:0}
.vo-history-row:before{
  content:'';position:absolute;left:13px;top:-1px;bottom:-1px;width:1px;background:#DCE4D0;z-index:0;
}
.vo-history-row:first-child:before{top:24px}
.vo-history-row:last-child:before{bottom:24px}
.vo-history-dot{
  width:22px;height:22px;border-radius:50%;display:grid;place-items:center;z-index:1;
  background:#53772A;color:#fff;font-size:9px;font-weight:850;border:2px solid #F7F9F2;
}
.vo-history-main strong{font-size:10.5px;color:#2A3227}
.vo-history-main small{display:block;font-size:9px;color:#858C82;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vo-history-time{text-align:right;font-size:9px;color:#717970;font-variant-numeric:tabular-nums}
.vo-history-stage{display:inline-flex;margin-top:3px;padding:3px 6px;border-radius:999px;background:#EFF4E5;color:#58732F;font-size:8px;font-weight:800}

/* Productos y firma */
.vo-items-head{font-size:8.5px;color:#858C82}
.vo-item-row{min-height:46px}
.vo-signature-card{background:#F8FAF4!important;border-color:#E1E8D5!important}

/* Seguimiento interno */
.vo-internal-note{
  display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;
  background:#EEF1F9;color:#5D6D9C;font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.55px;
}

/* Generic tables and dashboards get the official shell automatically */
.vo-table-head{background:#F4F4EF;color:#838A80;border-bottom-color:#E5E5DE}
.vo-row{border-bottom-color:#EFEFEA}
.vo-row:hover{background:#FAFBF8}
.vo-search-bar{background:#fff;border-color:var(--vo-line);border-radius:11px}
.vo-dashboard-welcome{
  background:linear-gradient(135deg,#17213A 0%,#151321 72%);
}
.vo-dashboard-welcome:after{background:rgba(200,208,105,.11)}
.vo-dashboard-actions a:first-child{background:#A9BF50;color:#17213A}

/* Responsive */
@media(max-width:1180px){
  .vo-guide-ops-grid{grid-template-columns:1fr}
  .vo-guide-history-card,.vo-guide-tracking-card{grid-column:1;grid-row:auto}
  .vo-guides-head,.vo-guide-row{grid-template-columns:105px 105px minmax(150px,1fr) 105px 250px 100px}
}
@media(max-width:980px){
  .vo-sidebar{width:215px}
  .vo-main{padding-left:22px;padding-right:22px}
  .vo-topbar{margin-left:-22px;margin-right:-22px;padding-left:22px;padding-right:22px}
  .vo-company-meta{display:none}
  .vo-guide-summary{grid-template-columns:1fr 1fr}
  .vo-guide-summary-cell:nth-child(n){border-right:1px solid #EFEFEA;border-bottom:1px solid #EFEFEA}
  .vo-guide-summary-cell:nth-child(3),.vo-guide-summary-cell:nth-child(5),.vo-guide-summary-cell:nth-child(7),.vo-guide-summary-cell:nth-child(9){border-right:0}
  .vo-guide-summary-cell:nth-last-child(-n+2){border-bottom:0}
  .vo-guides-head,.vo-guide-row{grid-template-columns:105px 105px minmax(160px,1fr) 105px 240px}
  .vo-guides-head>*:last-child,.vo-guide-row>*:last-child{display:none}
}
@media(max-width:760px){
  .vo-sidebar{width:100%;height:auto;position:relative;border-radius:0}
  .vo-topbar-account .vo-company-badge,.vo-user-top-meta{display:none}
  .vo-breadcrumb{overflow:hidden;white-space:nowrap}
  .vo-guide-actions{justify-content:flex-start}
  .vo-tracking-panel-main{align-items:flex-start}
  .vo-tracking-identity{align-items:flex-start}
  .vo-tracking-hero-icon{width:42px;height:42px}
  .vo-tracking-state{font-size:19px}
  .vo-guide-tracking-card .vo-form-grid{grid-template-columns:1fr 1fr}
  .vo-guide-tracking-card .vo-span-4{grid-column:span 2}
  .vo-guide-summary{grid-template-columns:1fr}
  .vo-guide-summary-cell:nth-child(n){border-right:0;border-bottom:1px solid #EFEFEA}
  .vo-guide-summary-cell:last-child{border-bottom:0}
  .vo-guides-toolbar{grid-template-columns:1fr 1fr}
  .vo-guides-toolbar input{grid-column:1/-1}
  .vo-guides-head{display:none}
  .vo-guide-row{
    grid-template-columns:1fr auto;gap:8px;padding:12px 14px;min-height:auto;
  }
  .vo-guide-row>*{display:block!important;width:auto!important}
  .vo-guide-row .vo-guide-client{grid-column:1}
  .vo-guide-row .vo-guide-track{grid-column:1/-1}
}

/* =========================================================
   VERDE OLIVO UI V5 · LEGIBILIDAD GLOBAL
   Ajuste exclusivamente visual para pantalla.
   No afecta impresión/PDF.
   ========================================================= */
@media screen {
  :root{
    --vo-muted:#626B60;
  }

  body{
    font-size:14px;
    line-height:1.5;
  }

  /* Sidebar */
  .vo-brand-sub{font-size:12px;color:#B4BDD0}
  .vo-nav-section{font-size:10px;color:#9EA8BC;letter-spacing:1.3px}
  .vo-nav-item{font-size:14px;line-height:1.3}
  .vo-system-status strong{font-size:12px}
  .vo-system-status small{font-size:10.5px;color:#A7B1C5}
  .vo-user-name{font-size:12.5px}
  .vo-user-rol{font-size:11px;color:#A7B1C5}
  .vo-logout{font-size:11.5px}

  /* Topbar / encabezados */
  .vo-breadcrumb{font-size:12px;color:#626B60}
  .vo-company-meta strong,.vo-user-top-meta strong{font-size:12px}
  .vo-company-meta span,.vo-user-top-meta span{font-size:10.5px;color:#697267}
  .vo-commercial-eyebrow,.vo-overline,.vo-page-kicker{font-size:10.5px}
  .vo-subtitle{font-size:14px;color:#5F685D}
  .vo-topbar-context,.vo-topbar-right{font-size:12.5px}

  /* Botones y formularios */
  .vo-btn-primary,.vo-btn-secondary,.vo-btn-ghost{font-size:13.5px}
  .vo-btn-text{font-size:13px}
  input,select,textarea{font-size:14px}
  .vo-field label{font-size:11.5px;color:#626B60;letter-spacing:.5px}
  .vo-alert{font-size:13px}
  .vo-items-head{font-size:10.5px;color:#697267}
  .vo-add-item-btn{font-size:13.5px}
  .vo-totals-row{font-size:13.5px}

  /* KPI / tarjetas / tablas genéricas */
  .vo-kpi-label{font-size:13px;color:#646D61}
  .vo-section-title{font-size:15px}
  .vo-table-head{font-size:11.5px;color:#626B60}
  .vo-row{font-size:14px}
  .vo-row-num{font-size:13px;color:#596451}
  .vo-empty{font-size:14px;color:#626B60}
  .vo-badge{font-size:10.5px}

  /* Clientes */
  .vo-crm-client-meta{font-size:13px;color:#626B60}
  .vo-crm-client-stats{font-size:12.5px;color:#626B60}
  .vo-crm-client-last{font-size:11.5px;color:#697267}
  .vo-crm-profile-eyebrow{font-size:11px;color:#626B60}
  .vo-crm-section-head span{font-size:12px;color:#697267}
  .vo-crm-timeline-date{font-size:11.5px;color:#697267}
  .vo-crm-timeline-body span{font-size:10.5px;color:#626B60}
  .vo-crm-timeline-body strong{font-size:13.5px}
  .vo-crm-timeline-body p{font-size:12.5px;color:#596451}
  .vo-crm-data-list dt,.vo-crm-data-list dd{font-size:12.5px}
  .vo-crm-data-list dt{color:#697267}
  .vo-crm-contact strong{font-size:13px}
  .vo-crm-contact span{font-size:11.5px;color:#626B60}
  .vo-crm-ref-row{font-size:12.5px}
  .vo-crm-ref-row span{color:#626B60}
  .vo-crm-ref-row strong{font-size:12px}
  .vo-crm-muted{font-size:12.5px;color:#697267}
  .vo-crm-mini-title{font-size:11px;color:#626B60}
  .vo-crm-mini-row{font-size:12.5px}
  .vo-crm-mini-row b{font-size:11.5px}
  .vo-crm-migration-grid span{font-size:11.5px;color:#626B60}

  /* Directorio moderno de clientes */
  .vo-filter-pill{font-size:11.5px;color:#5F685D}
  .vo-filter-pill strong{font-size:11px}
  .vo-client-table th{font-size:11px;color:#626B60}
  .vo-client-table td{font-size:13px}
  .vo-client-name a{font-size:14px}
  .vo-client-name span{font-size:11.5px;color:#697267}
  .vo-client-contact{color:#596451}
  .vo-client-contact strong{font-size:12.5px;color:#414B3D}
  .vo-client-contact span{font-size:11.5px;color:#697267}
  .vo-rel-chip{font-size:10.5px}
  .vo-health{font-size:11.5px}
  .vo-client-last-v2{font-size:11.5px;color:#626B60}
  .vo-client-last-v2 span{font-size:10.5px;color:#747D72}
  .vo-pagination span,.vo-pagination-links a,.vo-pagination-links span{font-size:11.5px}
  .vo-empty-modern span{font-size:12px;color:#697267}

  /* Perfil de cliente */
  .vo-profile-breadcrumb{font-size:11.5px;color:#697267}
  .vo-profile-meta-line{font-size:12px;color:#626B60}
  .vo-profile-stat span{font-size:11px;color:#697267}
  .vo-profile-section-head p{font-size:11.5px;color:#697267}
  .vo-profile-section-head a{font-size:11.5px}
  .vo-doc-row .code{font-size:11.5px;color:#626B60}
  .vo-doc-row .desc{font-size:13px}
  .vo-doc-row .amount{font-size:12.5px}
  .vo-profile-info-row span{font-size:11px;color:#697267}
  .vo-profile-info-row strong{font-size:12.5px}
  .vo-timeline-time{font-size:11px;color:#697267}
  .vo-timeline-content span{font-size:10.5px;color:#626B60}
  .vo-timeline-content strong{font-size:13px}
  .vo-timeline-content p{font-size:12.5px;color:#596451}

  /* Dashboard / actividad */
  .vo-dashboard-welcome p{font-size:14px;color:#D1D7CD}
  .vo-dashboard-focus > p{font-size:12px;color:#626B60}
  .vo-focus-row span{font-size:12.5px;color:#596451}
  .vo-section-toolbar p{font-size:11.5px;color:#697267}
  .vo-activity-time{font-size:11.5px;color:#697267}
  .vo-activity-main strong{font-size:13px}
  .vo-activity-main span{font-size:11.5px;color:#626B60}
  .vo-activity-user{font-size:11.5px;color:#697267}

  /* Guías de despacho */
  .vo-guides-head{font-size:10.5px;color:#626B60}
  .vo-guide-code{font-size:12.5px}
  .vo-guide-client{font-size:13px}
  .vo-guide-secondary{font-size:11px;color:#697267}
  .vo-guide-track strong{font-size:12px}
  .vo-tracking-code{font-size:13px;color:#505A4C}
  .vo-stage-chip span{font-size:10px}
  .vo-tracking-meta dt{font-size:10px;color:#697267}
  .vo-tracking-meta dd{font-size:13px}
  .vo-tech-summary-left strong{font-size:12px}
  .vo-tech-summary-left small{font-size:10.5px;color:#697267}
  .vo-tech-grid span{font-size:10px;color:#697267}
  .vo-tech-grid strong{font-size:12.5px}
  .vo-tech-grid small{font-size:11px;color:#626B60}
  .vo-tech-note{font-size:11.5px;color:#626B60}
  .vo-guide-summary-title span{font-size:10.5px;color:#697267}
  .vo-guide-summary-cell small{font-size:10px;color:#697267}
  .vo-guide-summary-cell strong{font-size:12px}
  .vo-guide-summary-cell .vo-rut-ok{font-size:10px}
  .vo-edit-panel>summary{font-size:12.5px}
  .vo-history-main strong{font-size:12px}
  .vo-history-main small{font-size:10.5px;color:#697267}
  .vo-history-time{font-size:10.5px;color:#596451}
  .vo-history-stage{font-size:9.5px}

  /* Contraste secundario general sobre superficies claras */
  .vo-muted,
  .vo-secondary,
  .text-muted{
    color:#626B60 !important;
  }
}

/* =========================================================
   VERDE OLIVO UI V5.1 · LEGIBILIDAD REFORZADA
   Segunda pasada de accesibilidad visual para pantalla.
   ========================================================= */
@media screen {
  body{
    font-size:15px;
    line-height:1.52;
  }

  /* Navegación lateral */
  .vo-brand-name{font-size:17px}
  .vo-brand-sub{font-size:12.5px}
  .vo-nav-section{font-size:10.5px;color:#AAB4C6}
  .vo-nav-item{font-size:14.5px;min-height:41px}
  .vo-system-status strong{font-size:12.5px}
  .vo-system-status small{font-size:11px}
  .vo-user-name{font-size:13px}
  .vo-user-rol{font-size:11.5px}
  .vo-logout{font-size:12px}

  /* Barra superior y cabeceras */
  .vo-breadcrumb{font-size:12.5px}
  .vo-company-meta strong,.vo-user-top-meta strong{font-size:12.5px}
  .vo-company-meta span,.vo-user-top-meta span{font-size:11px}
  .vo-commercial-eyebrow,.vo-overline,.vo-page-kicker{font-size:11px}
  .vo-subtitle{font-size:14.5px}
  .vo-topbar-context,.vo-topbar-right{font-size:13px}

  /* Acciones y formularios */
  .vo-btn-primary,.vo-btn-secondary,.vo-btn-ghost{font-size:14px;min-height:41px}
  .vo-btn-text{font-size:13.5px}
  input,select,textarea{font-size:14.5px;min-height:42px}
  .vo-field label{font-size:12px;color:#586257}
  .vo-alert{font-size:13.5px}
  .vo-items-head{font-size:11px}
  .vo-add-item-btn{font-size:14px}
  .vo-totals-row{font-size:14px}

  /* Elementos generales */
  .vo-kpi-label{font-size:13.5px}
  .vo-section-title{font-size:15.5px}
  .vo-table-head{font-size:12px}
  .vo-row{font-size:14.5px}
  .vo-row-num{font-size:13.5px}
  .vo-empty{font-size:14.5px}
  .vo-badge{font-size:11px}

  /* Clientes */
  .vo-crm-client-title-row strong{font-size:15px}
  .vo-crm-client-meta{font-size:13.5px}
  .vo-crm-client-stats{font-size:13px}
  .vo-crm-client-last{font-size:12px}
  .vo-crm-section-head strong{font-size:14.5px}
  .vo-crm-section-head span{font-size:12.5px}

  /* Directorio de clientes moderno */
  .vo-filter-pill{font-size:12px}
  .vo-client-table th{font-size:11.5px}
  .vo-client-table td{font-size:13.5px}
  .vo-client-name a{font-size:14.5px}
  .vo-client-name span{font-size:12px}
  .vo-client-contact strong{font-size:13px}
  .vo-client-contact span{font-size:12px}
  .vo-rel-chip{font-size:11px}
  .vo-health{font-size:12px}
  .vo-client-last-v2{font-size:12px}
  .vo-client-last-v2 span{font-size:11px}

  /* Dashboard / actividad */
  .vo-dashboard-welcome p{font-size:14.5px}
  .vo-dashboard-focus > p{font-size:12.5px}
  .vo-focus-row span{font-size:13px}
  .vo-section-toolbar p{font-size:12px}
  .vo-activity-time{font-size:12px}
  .vo-activity-main strong{font-size:13.5px}
  .vo-activity-main span{font-size:12px}
  .vo-activity-user{font-size:12px}

  /* Guías de despacho: prioridad de lectura */
  .vo-guides-head{font-size:11.5px;color:#596259}
  .vo-guide-row{min-height:64px}
  .vo-guide-code{font-size:13px}
  .vo-guide-client{font-size:13.5px}
  .vo-guide-secondary{font-size:12px;color:#646D63}
  .vo-guide-track strong{font-size:12.5px}
  .vo-tracking-code{font-size:13.5px}
  .vo-stage-chip span{font-size:10.5px}
  .vo-tracking-meta dt{font-size:10.5px}
  .vo-tracking-meta dd{font-size:13.5px}
  .vo-guide-summary-title strong{font-size:13.5px}
  .vo-guide-summary-title span{font-size:11px}
  .vo-guide-summary-cell small{font-size:10.5px}
  .vo-guide-summary-cell strong{font-size:12.5px}
  .vo-edit-panel>summary{font-size:13px}
  .vo-history-main strong{font-size:12.5px}
  .vo-history-main small{font-size:11px}
  .vo-history-time{font-size:11px}
  .vo-history-stage{font-size:10px}

  /* Textos secundarios sobre blanco */
  .vo-guide-secondary,
  .vo-client-name span,
  .vo-client-contact span,
  .vo-crm-section-head span,
  .vo-activity-main span,
  .vo-profile-section-head p,
  .vo-timeline-content p{
    color:#5F695E;
  }
}

/* =========================================================
   VERDE OLIVO UI V6 · MODO OPERATIVO ALTO CONTRASTE
   Pantalla solamente.
   ========================================================= */
@media screen {

  :root{
    --vo-op-bg:#EDE8DC;
    --vo-op-surface:#FFFDF7;
    --vo-op-surface-2:#F3F0E5;
    --vo-op-surface-3:#E7ECD9;
    --vo-op-line:#CFC9B7;
    --vo-op-line-strong:#B8B09B;
    --vo-op-ink:#1D271C;
    --vo-op-ink-2:#354332;
    --vo-op-muted:#556251;
    --vo-op-olive:#4C6327;
    --vo-op-olive-dark:#31461D;
    --vo-op-olive-soft:#DCE5C7;
    --vo-op-navy:#171A2B;
    --vo-op-gold:#B69A3A;
    --vo-op-danger:#994A42;
    --vo-op-warning:#8A6A17;
  }

  html,body{
    background:var(--vo-op-bg) !important;
    color:var(--vo-op-ink) !important;
  }

  body{
    font-size:16px !important;
    line-height:1.5 !important;
  }

  /* Menos aire general */
  .vo-main{
    padding:0 24px 48px !important;
  }

  .vo-topbar{
    height:56px !important;
    margin:0 -24px 18px !important;
    padding:0 24px !important;
    background:#F8F4EA !important;
    border-bottom:1px solid var(--vo-op-line) !important;
  }

  .vo-header-row{
    margin-bottom:14px !important;
  }

  /* Sidebar más legible y menos tenue */
  .vo-sidebar{
    width:252px !important;
    background:linear-gradient(180deg,#15192A 0%,#101623 100%) !important;
  }

  .vo-brand-name{font-size:17px !important}
  .vo-brand-sub{font-size:13px !important;color:#D2D8E2 !important}
  .vo-nav-section{
    font-size:11px !important;
    color:#AAB4C8 !important;
    letter-spacing:1.2px !important;
    padding-top:14px !important;
  }
  .vo-nav-item{
    min-height:42px !important;
    font-size:15px !important;
    color:#F0F3F7 !important;
    padding:9px 10px !important;
  }
  .vo-nav-item:hover{
    background:rgba(255,255,255,.09) !important;
  }
  .vo-nav-item.active{
    background:#708C32 !important;
    color:#fff !important;
    box-shadow:none !important;
  }
  .vo-user-name{font-size:13px !important;color:#fff !important}
  .vo-user-rol{font-size:12px !important;color:#BFC7D5 !important}
  .vo-system-status strong{font-size:12.5px !important}
  .vo-system-status small{font-size:11.5px !important;color:#BFC7D5 !important}

  /* Encabezados */
  .vo-h1{font-size:30px !important;color:#182218 !important}
  .vo-subtitle{
    font-size:15px !important;
    color:var(--vo-op-muted) !important;
  }
  .vo-commercial-eyebrow,
  .vo-overline,
  .vo-page-kicker{
    font-size:11.5px !important;
    color:var(--vo-op-olive) !important;
  }
  .vo-breadcrumb{
    font-size:13px !important;
    color:#4E5B4C !important;
  }

  /* Tarjetas ya no blanco clínico */
  .vo-card,
  .vo-kpi,
  .vo-crm-client-card,
  .vo-crm-profile-head,
  .vo-client-table-wrap,
  .vo-profile-section,
  .vo-dashboard-focus,
  .vo-edit-panel,
  .vo-tracking-panel{
    background:var(--vo-op-surface) !important;
    border-color:var(--vo-op-line) !important;
    box-shadow:0 1px 0 rgba(37,45,32,.04) !important;
  }

  .vo-kpi{
    padding:13px 16px !important;
    background:linear-gradient(180deg,#FFFDF7 0%,#F5F1E5 100%) !important;
  }
  .vo-kpi-value{
    font-size:24px !important;
    color:var(--vo-op-olive-dark) !important;
  }
  .vo-kpi-label{
    font-size:14px !important;
    color:#4F5B4D !important;
  }

  /* Formularios: crema suave, texto oscuro */
  input,select,textarea{
    min-height:42px !important;
    background:#FFFDF8 !important;
    color:#172118 !important;
    border-color:#BDB6A5 !important;
    font-size:15px !important;
  }
  input::placeholder,textarea::placeholder{
    color:#7A8177 !important;
    opacity:1 !important;
  }
  .vo-field label{
    font-size:12.5px !important;
    color:#44513F !important;
  }

  /* Botones */
  .vo-btn-primary,.vo-btn-secondary,.vo-btn-ghost{
    min-height:42px !important;
    font-size:14.5px !important;
  }
  .vo-btn-primary{
    background:#3F5723 !important;
    color:#fff !important;
  }
  .vo-btn-secondary{
    background:#E7ECD9 !important;
    border-color:#C7D0B3 !important;
    color:#26381D !important;
  }
  .vo-btn-ghost{
    background:#F7F2E7 !important;
    color:#3E493B !important;
    border-color:#C9C2AF !important;
  }

  /* Tablas genéricas */
  .vo-table-head,
  .vo-guides-head{
    background:#DDE4CC !important;
    color:#35422F !important;
    border-bottom:1px solid #BFC8AE !important;
    font-size:12px !important;
  }

  .vo-row,
  .vo-guide-row{
    background:#FFFDF7 !important;
    border-bottom:1px solid #DAD4C5 !important;
    min-height:60px !important;
    font-size:14.5px !important;
  }
  .vo-row:nth-child(even),
  .vo-guide-row:nth-child(even){
    background:#F6F2E8 !important;
  }
  .vo-row:hover,
  .vo-guide-row:hover{
    background:#E9EEDC !important;
  }

  .vo-row-num{font-size:13.5px !important;color:#38511F !important}
  .vo-guide-code{font-size:13.5px !important;color:#38511F !important}
  .vo-guide-client{font-size:14px !important;color:#1E281E !important}
  .vo-guide-secondary{font-size:12.5px !important;color:#4F5B4D !important}
  .vo-guide-track strong{font-size:13px !important;color:#263125 !important}

  /* Clientes: tarjetas más densas y coloreadas */
  .vo-crm-client-card{
    padding:11px 14px !important;
    background:#FFFDF7 !important;
  }
  .vo-crm-client-card:nth-child(even){
    background:#F6F2E8 !important;
  }
  .vo-crm-client-title-row strong{font-size:15.5px !important}
  .vo-crm-client-meta{font-size:13.5px !important;color:#4E594B !important}
  .vo-crm-client-stats{font-size:13px !important;color:#4E594B !important}
  .vo-crm-client-last{font-size:12.5px !important;color:#5B6557 !important}

  /* Directorio moderno de clientes */
  .vo-client-table th{
    background:#DDE4CC !important;
    color:#35422F !important;
    font-size:12px !important;
  }
  .vo-client-table td{
    font-size:14px !important;
    background:#FFFDF7 !important;
  }
  .vo-client-table tbody tr:nth-child(even) td{
    background:#F6F2E8 !important;
  }
  .vo-client-table tbody tr:hover td{
    background:#E9EEDC !important;
  }
  .vo-client-name a{font-size:15px !important}
  .vo-client-name span{font-size:12.5px !important;color:#4F5B4D !important}
  .vo-client-contact strong{font-size:13.5px !important}
  .vo-client-contact span{font-size:12.5px !important;color:#4F5B4D !important}
  .vo-client-last-v2{font-size:12.5px !important;color:#4F5B4D !important}

  /* Secciones y datos secundarios */
  .vo-crm-section-head{
    background:#E7ECD9 !important;
    border-bottom-color:#C8D0B7 !important;
    padding:12px 15px !important;
  }
  .vo-crm-section-head strong{font-size:15px !important}
  .vo-crm-section-head span{font-size:12.5px !important;color:#4F5B4D !important}

  .vo-profile-section-head{
    background:#E7ECD9 !important;
  }
  .vo-profile-section-head h3{font-size:14px !important}
  .vo-profile-section-head p{font-size:12px !important;color:#4F5B4D !important}

  .vo-profile-info-row span,
  .vo-crm-data-list dt{
    color:#536050 !important;
    font-size:12px !important;
  }
  .vo-profile-info-row strong,
  .vo-crm-data-list dd{
    color:#243023 !important;
    font-size:13px !important;
  }

  /* Dashboard */
  .vo-dashboard-welcome{
    background:linear-gradient(135deg,#1B2234 0%,#141A28 72%) !important;
  }
  .vo-dashboard-welcome p{
    color:#E0E4EA !important;
    font-size:15px !important;
  }
  .vo-dashboard-focus{
    background:#F5F1E5 !important;
  }

  .vo-section-toolbar{
    background:#E7ECD9 !important;
    padding:12px 15px !important;
  }
  .vo-section-toolbar h3{font-size:14.5px !important}
  .vo-section-toolbar p{font-size:12px !important;color:#4F5B4D !important}

  .vo-activity-row{
    padding:10px 15px !important;
    background:#FFFDF7 !important;
  }
  .vo-activity-row:nth-child(even){
    background:#F6F2E8 !important;
  }
  .vo-activity-time,
  .vo-activity-user{
    font-size:12.5px !important;
    color:#4F5B4D !important;
  }
  .vo-activity-main strong{font-size:13.5px !important}
  .vo-activity-main span{font-size:12.5px !important;color:#4F5B4D !important}

  /* Guía detalle */
  .vo-tracking-panel{
    background:#FFFDF7 !important;
  }
  .vo-tracking-state{font-size:24px !important}
  .vo-tracking-code{font-size:13.5px !important;color:#4E5A4B !important}
  .vo-stage-chip{
    background:#DCE5C7 !important;
    border-color:#C0CCAA !important;
    color:#33471F !important;
  }
  .vo-tracking-meta{
    background:#F5F1E5 !important;
  }
  .vo-tracking-meta dt{
    font-size:10.5px !important;
    color:#556251 !important;
  }
  .vo-tracking-meta dd{
    font-size:13.5px !important;
    color:#1F2B1E !important;
  }

  .vo-guide-summary{
    background:#FFFDF7 !important;
  }
  .vo-guide-summary-head{
    background:#E7ECD9 !important;
  }
  .vo-guide-summary-cell{
    background:#FFFDF7 !important;
  }
  .vo-guide-summary-cell:nth-child(even){
    background:#F6F2E8 !important;
  }
  .vo-guide-summary-cell small{
    font-size:10.5px !important;
    color:#556251 !important;
  }
  .vo-guide-summary-cell strong{
    font-size:13px !important;
    color:#1F2B1E !important;
  }

  /* Pills y badges con más contraste */
  .vo-badge{
    font-size:11px !important;
    font-weight:800 !important;
  }
  .badge-gris{
    background:#D8D6CC !important;
    color:#353B35 !important;
  }
  .badge-verde{
    background:#DCE7C9 !important;
    color:#2F4A1D !important;
  }
  .badge-oro{
    background:#F0E2A9 !important;
    color:#6E5610 !important;
  }

  /* Búsqueda / filtros */
  .vo-search-bar{
    background:#FFFDF8 !important;
    border-color:#BDB6A5 !important;
  }
  .vo-filter-pill{
    background:#F3EFE3 !important;
    border-color:#CFC8B6 !important;
    color:#3F4A3D !important;
    font-size:12px !important;
  }

  /* Reducir huecos verticales */
  .vo-kpi-row{gap:8px !important}
  .vo-dashboard-grid,
  .vo-dashboard-stack,
  .vo-profile-stack,
  .vo-profile-side{
    gap:12px !important;
  }
  .vo-profile-summary{
    gap:7px !important;
    margin-bottom:12px !important;
  }
  .vo-profile-stat{
    padding:10px 12px !important;
    background:#F6F2E8 !important;
  }

  /* Texto secundario genérico: más oscuro */
  .vo-muted,
  .vo-secondary,
  .text-muted,
  small{
    color:#556251;
  }
}
