:root{
  color-scheme:light;
  --bg:#f3f5f7;--card:#fff;--text:#1f2937;--muted:#6b7280;--line:#d1d5db;
  --accent:#005F86;--accent-2:#143b63;--ok:#166534;--warn:#b45309;--danger:#b91c1c;
  --shadow:0 8px 24px rgba(15,23,42,.08);--radius:16px;
}

@media (max-width:768px){.commercial-client-modal-backdrop{align-items:flex-end;padding:0}.commercial-client-modal{width:100%;max-height:90vh;border-radius:20px 20px 0 0}.commercial-client-modal-header{padding:16px}.commercial-client-modal-header h3{font-size:18px}.commercial-client-modal-search{padding:12px 16px}.commercial-client-modal-list{padding:12px 16px 16px;max-height:62vh}.commercial-client-modal-row{padding:10px}.commercial-client-modal-name{font-size:14px}.commercial-client-modal-meta{font-size:11.5px}.commercial-client-picker-field{grid-template-columns:minmax(0,1fr) 44px}.commercial-client-picker-input,.commercial-client-picker-button{min-height:44px}}

*{box-sizing:border-box}body{margin:0;font-family:Inter,Roboto,"Segoe UI",Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}
.hidden{display:none!important}
.container{max-width:1500px;margin:0 auto;padding:20px}.card{background:var(--card);border:1px solid #e5e7eb;border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}
h1,h2,h3{margin:0 0 12px;color:var(--accent-2)}p{margin:0 0 10px}.small{font-size:12px;color:var(--muted);line-height:1.45}
.auth-gate{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:linear-gradient(135deg,#f7fafc,#e8eef5)}
.auth-card{width:min(460px,100%);background:#fff;border:1px solid #dfe6ee;border-radius:16px;box-shadow:0 18px 42px rgba(15,23,42,.12);padding:34px;text-align:center}
.auth-card h1{font-size:30px;line-height:1.15;margin-bottom:14px}.auth-card p{color:var(--muted);line-height:1.55;margin-bottom:22px}.auth-message{margin-top:16px;font-size:13px;color:var(--muted);line-height:1.45}.auth-message:empty{display:none}
.google-login-btn{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;cursor:pointer;background:#143b63;color:#fff;border:1px solid #143b63;font-weight:800;min-height:46px;box-shadow:0 6px 14px rgba(20,59,99,.18)}
.google-login-btn:hover{background:#005F86;border-color:#005F86}.google-icon{display:inline-flex;width:22px;height:22px;background:#fff;border-radius:50%;padding:3px}.google-icon svg,.logout-icon svg,.module-card-icon svg{width:100%;height:100%;display:block}.google-login-btn:focus-visible,.logout-outline-btn:focus-visible,.module-button:focus-visible,button:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
.main-menu{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;background:#eef2f5}
.main-menu-card{width:min(1180px,100%);background:#fff;border:1px solid #dfe6ee;border-radius:16px;box-shadow:0 18px 42px rgba(15,23,42,.1);padding:30px}
.main-menu-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:24px}
.main-menu-head h2{font-size:28px;line-height:1.2;margin-bottom:8px}.main-menu-head p{color:var(--muted)}
.module-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.module-button{text-align:left;min-height:205px;border-radius:12px;border:1px solid #dce3eb;background:#fff;padding:20px;display:flex;gap:16px;align-items:flex-start;justify-content:flex-start;box-shadow:0 4px 6px rgba(0,0,0,0.1);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.module-button.active{border-color:#b7c7d8;background:#fbfdff}.module-button.disabled{background:#fff;color:#4b5563}.module-button:hover{border-color:#30506b;box-shadow:0 10px 22px rgba(15,23,42,.12);transform:translateY(-1px)}
.module-card-icon{flex:0 0 44px;width:44px;height:44px;border-radius:12px;background:#eef4f8;color:#143b63;display:inline-flex;align-items:center;justify-content:center;padding:10px}.module-card-icon svg{fill:currentColor}
.module-content{display:flex;flex-direction:column;gap:10px;min-width:0}.module-title{font-size:19px;color:var(--accent-2);line-height:1.25}.module-description{font-size:14px;color:var(--muted);line-height:1.45}
.module-badge{align-self:flex-start;font-size:11px;font-weight:800;text-transform:uppercase;border-radius:999px;padding:5px 9px;letter-spacing:0}.module-badge.active{color:#14532d;background:#dcfce7;border:1px solid #bbf7d0}.module-badge.development{color:#78350f;background:#fef3c7;border:1px solid #fde68a}
.logout-outline-btn{border-radius:8px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:#143b63;border:1px solid #9fb1c3;padding:10px 14px;font-weight:800;white-space:nowrap}.logout-outline-btn:hover{background:#f5f8fb;border-color:#30506b}.logout-icon{width:18px;height:18px;display:inline-flex}.logout-icon svg{fill:currentColor}
.back-menu-bar{display:flex;justify-content:flex-start;margin-bottom:12px}
.admin-grid{margin:16px 0}
.topbar{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:16px;margin-bottom:16px}.hero{background:linear-gradient(135deg,var(--accent-2),var(--accent));border:0}.hero h1,.hero p{color:#fff}.hero p{opacity:.9}.metric span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.metric strong{display:block;font-size:30px;margin-top:8px}
.status-strip{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.status-strip span{font-size:12px;font-weight:700;padding:5px 9px;border-radius:999px;background:#eef4fa;color:var(--accent-2);border:1px solid #c9d8e8}
.panel-access{display:grid;grid-template-columns:1.3fr auto;gap:12px;margin-bottom:16px}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.join-row{display:flex;gap:8px;grid-column:1/-1}
button{border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:700}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.danger{background:#fff5f5;color:var(--danger);border-color:#fecaca}.full{width:100%;margin-top:10px}
input,select,textarea{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--line);font-size:14px;background:#fff;color:var(--text);margin-bottom:10px}textarea{min-height:84px;resize:vertical}label{display:block;font-size:13px;font-weight:700;color:#374151;margin-bottom:6px}
.tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.tab-btn{border-radius:999px}.tab-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.tab-panel{display:none}.tab-panel.active{display:block}
.grid-main{display:grid;grid-template-columns:320px 1fr;gap:16px}.grid-2{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.grid-acta{display:grid;grid-template-columns:1fr 300px;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.form-grid .wide{grid-column:1/-1}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.kpi{border:1px solid #e5e7eb;border-radius:14px;padding:14px;background:#fff}.kpi strong{display:block;font-size:26px;margin-top:6px}
.control-list{max-height:72vh;overflow:auto;padding-right:4px}.control-item{border:1px solid #e5e7eb;border-radius:16px;padding:16px;margin-bottom:12px;background:#fff}.control-head{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:12px}.control-title{font-weight:700}.control-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.control-text-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.badges{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.badge{display:inline-block;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;border:1px solid var(--line);background:#f9fafb}.badge.ok{color:var(--ok);border-color:#bbf7d0;background:#f0fdf4}.badge.warn{color:var(--warn);border-color:#fde68a;background:#fffbeb}.badge.danger{color:var(--danger);border-color:#fecaca;background:#fef2f2}
table{width:100%;border-collapse:collapse;font-size:14px;background:#fff}th,td{padding:10px;border:1px solid #d1d5db;text-align:left;vertical-align:top}th{background:#f9fafb}.print-sheet{background:#fff;border:1px solid #dfe3e8;border-radius:10px;padding:26px 28px}.document-header{display:flex;justify-content:space-between;border-bottom:2px solid var(--accent-2);padding-bottom:14px;margin-bottom:18px}.document-brand{font-size:22px;font-weight:700;color:var(--accent-2)} .document-sub,.document-doc{font-size:12px;color:#4b5563;text-transform:uppercase;letter-spacing:.08em}.acta-title{text-align:center;font-size:20px;font-weight:700;color:var(--accent-2);margin:10px 0 14px}.sheet-block{font-size:13px;line-height:1.6;white-space:pre-wrap}.signature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:34px}.signature-grid span{display:block;border-top:1px solid #374151;margin-bottom:6px}.signature-grid p{text-align:center;font-size:12px;font-weight:700;margin:0}.signature-grid small{display:block;text-align:center;color:#4b5563}
.editable-acta{border:1px dashed #9ca3af;border-radius:8px;padding:8px;min-height:38px;background:#fff;white-space:pre-wrap}.editable-acta:focus{outline:2px solid #bfdbfe;border-color:#005F86}
.editable-system-comment{border:1px dashed #9ca3af;border-radius:8px;padding:8px;min-height:34px;background:#fff}.editable-system-comment:focus{outline:2px solid #bfdbfe;border-color:#005F86}
.inline-option{display:flex;align-items:center;gap:6px;font-weight:600}.inline-option input{width:auto;margin:0}
.control-catalog-admin{margin-top:18px;padding-top:16px;border-top:1px solid #e5e7eb}.catalog-list{margin-top:12px;max-height:260px;overflow:auto;overflow-x:hidden}.catalog-table{font-size:12px}
.controls-catalog-list{display:grid;gap:8px;width:100%;max-width:100%;overflow-x:hidden}
.control-catalog-row{width:100%;min-height:46px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid #C7DDEA!important;border-radius:12px;background:#FFFFFF!important;color:#0F172A!important;text-align:left;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.control-catalog-row:hover{background:#F4F8FB!important;border-color:#8EC5DD!important;box-shadow:0 6px 16px rgba(0,95,134,.10);transform:translateY(-1px)}
.control-catalog-row:focus-visible{outline:3px solid rgba(0,95,134,.25);outline-offset:2px}
.control-catalog-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;color:#0F172A}
.control-catalog-chevron{color:#005F86;font-size:22px;font-weight:900;line-height:1}
body.control-modal-open{overflow:hidden!important}
.control-modal-overlay{position:fixed;inset:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.42)}
.control-modal-overlay.open{display:flex}
.control-modal{width:min(560px,100%);max-height:88vh;overflow-y:auto;background:#FFFFFF;color:#0F172A;border:1px solid #C7DDEA;border-radius:18px;box-shadow:0 22px 60px rgba(15,23,42,.24);padding:18px}
.control-modal-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.control-modal-title{margin:0;font-size:20px;font-weight:900;color:#0F172A}
.control-modal-close{border:1px solid #C7DDEA!important;background:#FFFFFF!important;color:#005F86!important;border-radius:10px;width:38px;height:38px;cursor:pointer;font-size:20px;font-weight:900}
.control-modal-body{display:grid;gap:12px}
.control-modal label{display:grid;gap:6px;font-size:13px;font-weight:900;color:#0F172A}
.control-modal input{width:100%;min-height:42px;border:1px solid #C7DDEA!important;border-radius:10px;padding:9px 11px;color:#0F172A!important;background:#FFFFFF!important}
.control-modal input:focus{outline:none;border-color:#005F86!important;box-shadow:0 0 0 3px rgba(0,95,134,.14)}
.control-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px;flex-wrap:wrap}
.control-modal-actions button{min-height:40px;border-radius:10px;padding:9px 14px;font-weight:900;cursor:pointer}
.control-modal-actions .btn-danger{background:#FEE2E2!important;color:#B91C1C!important;border:1px solid #FCA5A5!important}
.control-modal-actions .btn-secondary{background:#FFFFFF!important;color:#005F86!important;border:1px solid #C7DDEA!important}
.control-modal-actions .btn-primary{background:#005F86!important;color:#FFFFFF!important;border:1px solid #005F86!important}
@media (max-width:768px){
  .control-catalog-row{min-height:44px;padding:10px;border-radius:10px}
  .control-catalog-name{font-size:13px}
  .control-modal-overlay{align-items:flex-end;padding:0}
  .control-modal{width:100%;max-height:88vh;border-radius:18px 18px 0 0;padding:16px}
  .control-modal-actions{display:grid;grid-template-columns:1fr}
  .control-modal-actions button{width:100%;min-height:44px}
}
.reunion-panel{display:grid;gap:14px}.reunion-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.privacy-note{border:1px solid #fde68a;background:#fffbeb;color:#78350f;border-radius:10px;padding:10px;font-size:13px}.reunion-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.reunion-field.wide{grid-column:1/-1}.large-textarea{min-height:150px}.reunion-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.audio-recorder{min-height:20px}.recording-indicator{display:inline-block;width:10px;height:10px;background:#dc2626;border-radius:50%;margin-right:6px;animation:pulse-recording 1s infinite}.upload-list{display:grid;gap:8px}.upload-item{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:10px}.upload-item strong,.upload-item span{display:block}.upload-item span{font-size:12px;color:#6b7280}.minutes-output{display:grid;gap:8px}.minutes-title-row{display:flex;justify-content:space-between;gap:10px;align-items:center}.minutes-section{min-height:280px;font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;line-height:1.45}.admin-only-panel.hidden{display:none!important}@keyframes pulse-recording{0%,100%{opacity:1}50%{opacity:.35}}
.empresa-module .card{margin-bottom:16px}.empresa-form-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.empresa-field.wide{grid-column:1/-1}.empresa-actions,.empresa-tabs{display:flex;gap:10px;flex-wrap:wrap}.empresa-upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:16px 0}.photo-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.photo-preview-item,.video-preview-box,.empresa-visit-card,.empresa-draft-picker{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:10px}.empresa-draft-picker{margin-bottom:14px;background:#f8fafc}.photo-preview-item img{width:100%;height:90px;object-fit:cover;border-radius:8px}.photo-preview-item strong,.photo-preview-item span,.video-preview-box span{display:block;font-size:12px;color:#4b5563;overflow-wrap:anywhere}.web-info-box{border:1px solid #dce3eb;background:#f8fafc;border-radius:12px;padding:14px;margin:16px 0}.web-info-box textarea{min-height:140px;background:#fff}.empresa-visits-list{display:grid;gap:10px;margin-top:12px}.empresa-visit-card{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:start}.empresa-visit-card h3{margin-bottom:4px}.empresa-visit-card p{font-size:13px;color:#4b5563}.empresa-summary{border:1px solid #cbd5e1;background:#fbfdff;border-radius:14px;padding:16px;margin-top:16px}.empresa-summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.empresa-summary-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-top:10px}.empresa-summary-gallery img{width:100%;height:100px;object-fit:cover;border-radius:8px;border:1px solid #e5e7eb}.empresa-summary-gallery figure{margin:0}.empresa-summary-gallery figcaption{font-size:12px;color:#4b5563;margin-top:4px;overflow-wrap:anywhere}.empresa-status-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef4f8;color:#143b63}.empresa-status-badge.finalizado{background:#dcfce7;color:#14532d}.empresa-status-badge.enviado{background:#dbeafe;color:#1e3a8a}.email-send-modal{border:1px solid #d1d5db;border-radius:12px;padding:12px;background:#fff}
.fotos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.foto-preview,.foto-preview-error{border:1px solid #dce3eb;border-radius:10px;background:#f8fafc;min-height:104px;overflow:hidden;text-decoration:none;color:#143b63;display:flex;flex-direction:column;justify-content:flex-end}.foto-preview img{width:100%;height:92px;object-fit:cover;display:block;background:#eef2f7}.foto-preview span,.foto-preview-error span,.foto-preview-error strong{display:block;padding:4px 7px;font-size:11px;overflow-wrap:anywhere}.foto-preview-error{padding:8px;color:#64748b}
.empresa-photo-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 12px}.empresa-photo-actions .logout-outline-btn{min-height:40px}
.empresa-mobile-accordion,.empresa-mobile-accordion-body{display:contents}.empresa-mobile-accordion summary{display:none}.empresa-mobile-count{display:none}
.embedded-map-wrapper{position:relative;width:100%;height:var(--map-height,260px);border:1px solid rgba(0, 120, 168, .35);border-radius:14px;overflow:hidden;background:rgba(8,20,38,.72);margin:10px 0}.embedded-map-wrapper iframe{width:100%;height:100%;border:0;display:block}.embedded-map-link{position:absolute;right:10px;bottom:10px;border:1px solid rgba(0, 120, 168, .55);border-radius:999px;background:rgba(8,20,38,.88);color:var(--accent-main)!important;padding:6px 10px;font-size:12px;font-weight:900;text-decoration:none}.embedded-map-empty{display:flex;align-items:center;justify-content:center;min-height:160px;border:1px dashed rgba(0, 120, 168, .35);border-radius:14px;background:rgba(8,20,38,.5);color:var(--text-muted);font-weight:800;margin:10px 0;text-align:center}.empresa-summary-map{max-width:100%}.seguimiento-embedded-map,.seguimiento-detail-map{margin-top:0}
.seguimiento-oportunidad-scroll{max-height:7.5em;overflow-y:auto;padding-right:8px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.seguimiento-oportunidad-scroll::-webkit-scrollbar{width:8px}.seguimiento-oportunidad-scroll::-webkit-scrollbar-track{background:rgba(148,163,184,.08);border-radius:999px}.seguimiento-oportunidad-scroll::-webkit-scrollbar-thumb{background:rgba(0, 120, 168, .55);border-radius:999px}.seguimiento-oportunidad-scroll::-webkit-scrollbar-thumb:hover{background:rgba(0, 120, 168, .75)}.seguimiento-text-block{min-height:auto}
.empresa-reportes{display:grid;gap:16px}.report-filters{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:12px}.report-filter-row{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.report-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.report-kpi-card{border:1px solid #dce3eb;border-radius:12px;background:#fff;padding:12px;box-shadow:0 4px 6px rgba(0,0,0,.06)}.report-kpi-card span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;font-weight:800}.report-kpi-card strong{display:block;font-size:20px;color:#143b63;margin-top:6px;overflow-wrap:anywhere}.report-section{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:14px;overflow:auto}.report-table{font-size:13px}.table-scroll{overflow:auto}.report-ranking{display:grid;gap:10px}.report-ranking-item{display:grid;gap:6px}.report-ranking-item strong,.report-ranking-item span{display:block}.report-ranking-item span{font-size:12px;color:#64748b}.report-bar-chart{display:grid;gap:8px}.report-bar{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.report-bar span{display:block;height:100%;background:#005F86;border-radius:999px}.report-bar-label{display:flex;justify-content:space-between;font-size:13px;font-weight:800}.report-limited-view{border:1px solid #fde68a;background:#fffbeb;color:#78350f;border-radius:10px;padding:10px;font-size:13px}
.empresa-visit-picker{border:1px solid #dce3eb;border-radius:12px;background:#f8fafc;padding:14px;margin-top:12px}.seguimiento-dashboard{display:grid;gap:16px}.seguimiento-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.seguimiento-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #dce3eb;padding-bottom:10px}.seguimiento-tab-btn{border:1px solid #b6c4d3;background:#fff;color:#143b63;border-radius:999px}.seguimiento-tab-btn.active{background:#143b63;color:#fff;border-color:#143b63}.seguimiento-filters{border:1px solid #e5e7eb;background:#f8fafc;border-radius:12px;padding:12px}.seguimiento-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.seguimiento-kpi-card{border:1px solid #dce3eb;border-radius:12px;background:#fff;padding:12px;box-shadow:0 4px 6px rgba(0,0,0,.06)}.seguimiento-kpi-card span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;font-weight:900}.seguimiento-kpi-card strong{display:block;font-size:20px;color:#143b63;margin-top:6px}.seguimiento-section,.seguimiento-client-card{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:14px;overflow:auto}.seguimiento-section h3,.seguimiento-section h4{margin-top:0;color:#143b63}.seguimiento-table{width:100%;border-collapse:collapse;font-size:13px}.seguimiento-table th{background:#e8eef5;color:#143b63}.seguimiento-table th,.seguimiento-table td{border:1px solid #dce3eb;padding:8px;text-align:left;vertical-align:top}.seguimiento-client-selector{border:1px solid #dce3eb;border-radius:12px;background:#f8fafc;padding:12px;margin-bottom:12px}.seguimiento-client-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:10px;margin-bottom:10px}.seguimiento-client-header h3{margin:0;color:#143b63}.seguimiento-client-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.seguimiento-text-block{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:12px;overflow-wrap:anywhere}.seguimiento-priority-badge,.seguimiento-quality-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.seguimiento-priority-badge.high,.seguimiento-quality-badge.red{background:#fee2e2;color:#991b1b}.seguimiento-priority-badge.medium,.seguimiento-quality-badge.yellow{background:#fef3c7;color:#78350f}.seguimiento-priority-badge.low,.seguimiento-quality-badge.green{background:#dcfce7;color:#14532d}.seguimiento-map-placeholder{display:grid;gap:10px}.seguimiento-bar-chart{display:grid;gap:8px}.seguimiento-bar-row{display:grid;grid-template-columns:minmax(160px,1.4fr) 3fr 56px;gap:10px;align-items:center;font-size:13px}.seguimiento-bar{height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.seguimiento-bar b{display:block;height:100%;border-radius:999px;background:#005F86}
.seguimiento-kpi-dashboard{grid-template-columns:repeat(4,1fr)}.seguimiento-kpi-modern{display:grid;grid-template-columns:58px 1fr;column-gap:14px;align-items:center;min-height:92px}.seguimiento-kpi-modern>span:not(.seguimiento-kpi-icon),.seguimiento-kpi-modern strong,.seguimiento-kpi-modern small{grid-column:2}.seguimiento-kpi-icon{grid-row:1/4;width:56px;height:56px;border-radius:10px;background:linear-gradient(145deg,#006b62,#00453f);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 6px 14px rgba(0,77,70,.25)}.seguimiento-kpi-icon svg{width:30px;height:30px;fill:none;stroke:#fff;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.seguimiento-dashboard-grid{display:grid;grid-template-columns:1.05fr 1.9fr 1.25fr;gap:14px}.seguimiento-bottom-grid{display:grid;grid-template-columns:2fr .9fr;gap:14px}.seguimiento-panel{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:14px;box-shadow:0 4px 12px rgba(15,23,42,.06);overflow:hidden}.seguimiento-panel h3{margin:0 0 10px;color:#0f2f4a}.seguimiento-map-visual{height:210px;border-radius:10px;background:linear-gradient(135deg,#eef2e6,#dfe8dc);position:relative;display:flex;align-items:center;justify-content:center;color:#006b62;overflow:hidden}.seguimiento-map-visual:before,.seguimiento-map-visual:after{content:"";position:absolute;inset:20px;border:1px solid rgba(100,116,139,.18);transform:rotate(-10deg)}.seguimiento-map-visual:after{inset:55px;transform:rotate(18deg)}.seguimiento-map-pin{width:34px;height:34px;border-radius:50% 50% 50% 0;background:#006b62;transform:rotate(-45deg);box-shadow:0 5px 12px rgba(0,0,0,.25);z-index:1}.seguimiento-map-pin:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#fff;left:11px;top:11px}.seguimiento-map-visual strong{position:absolute;bottom:14px;z-index:1}.seguimiento-ficha-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 22px}.seguimiento-ficha-grid p{display:grid;grid-template-columns:130px 1fr;gap:8px;margin:0;font-size:13px}.seguimiento-ficha-grid b{color:#475569}.seguimiento-ficha-grid span{color:#111827}.seguimiento-ficha-notes{margin-top:12px}.seguimiento-ficha-notes>div{border:1px solid #e5e7eb;border-radius:10px;background:#fbfdff;padding:10px}.seguimiento-ficha-notes h4{margin:0 0 6px;color:#143b63}.seguimiento-ficha-notes p{margin:0;font-size:13px;line-height:1.45}.seguimiento-side-stack{display:grid;gap:14px}.seguimiento-evidence-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.seguimiento-evidence-thumb{min-height:78px;border-radius:8px;background:linear-gradient(135deg,#dbeafe,#f8fafc);border:1px solid #dce3eb;padding:0;font-size:11px;color:#143b63;font-weight:800;display:flex;align-items:flex-end;overflow:hidden;position:relative;margin:0}.seguimiento-evidence-thumb span{padding:8px;overflow-wrap:anywhere}.seguimiento-evidence-thumb img{width:100%;height:92px;object-fit:cover;display:block}.seguimiento-evidence-thumb figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(15,23,42,.72));color:#fff;padding:18px 7px 6px;font-size:10.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seguimiento-quality-list{display:grid;gap:9px}.seguimiento-quality-row{display:grid;grid-template-columns:22px 95px 1fr 44px;gap:8px;align-items:center;font-size:13px}.seguimiento-quality-row span{width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#dcfce7;color:#166534;font-weight:900}.seguimiento-quality-row:has(i[style*="0%"]) span{background:#ffedd5;color:#9a3412}.seguimiento-quality-meter{height:8px;border-radius:999px;background:#e5e7eb;overflow:hidden}.seguimiento-quality-meter i{display:block;height:100%;border-radius:999px;background:#006b62}.seguimiento-last-table th,.seguimiento-last-table td{font-size:12px;padding:7px}.seguimiento-donut-wrap{display:grid;grid-template-columns:140px 1fr;gap:12px;align-items:center}.seguimiento-donut{width:130px;height:130px;border-radius:50%;background:conic-gradient(#006b62 0 35%,#20a39e 35% 60%,#94a3b8 60% 75%,#f4c95d 75% 88%,#38bdf8 88% 100%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;color:#0f2f4a}.seguimiento-donut:before{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff}.seguimiento-donut strong,.seguimiento-donut span{position:relative;z-index:1}.seguimiento-donut strong{font-size:24px}.seguimiento-donut span{font-size:12px}.seguimiento-donut-legend{display:grid;gap:7px}.seguimiento-donut-legend p{display:grid;grid-template-columns:12px 1fr auto;gap:8px;margin:0;align-items:center;font-size:12px}.seguimiento-donut-legend span{width:10px;height:10px;border-radius:50%;background:#006b62}.seguimiento-donut-legend p:nth-child(2) span{background:#20a39e}.seguimiento-donut-legend p:nth-child(3) span{background:#94a3b8}.seguimiento-donut-legend p:nth-child(4) span{background:#f4c95d}.seguimiento-donut-legend p:nth-child(5) span{background:#38bdf8}.seguimiento-donut-legend em{font-style:normal;color:#64748b}
.seguimiento-panel-title-row{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}.seguimiento-panel-title-row h3{margin:0}.seguimiento-inline-select{max-width:320px;margin:0;font-size:13px}
.seguimiento-mobile-filterbar,.seguimiento-mobile-filter-head,.seguimiento-mobile-filter-actions,.seguimiento-filter-chips{display:none}
.empresa-rankings-section{border:1px solid #e5e7eb;background:#f8fafc;border-radius:14px;padding:12px;display:grid;gap:10px}.empresa-rankings-section h3{margin:0;color:#143b63}.empresa-rankings-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.empresa-ranking-card{border:1px solid #dce3eb;border-radius:12px;background:#fff;padding:10px;box-shadow:0 4px 6px rgba(0,0,0,.05)}.empresa-ranking-card h4{margin:0 0 8px;color:#143b63}.empresa-ranking-bars{display:grid;gap:5px}.empresa-ranking-row{width:100%;border:1px solid #e5e7eb;border-radius:9px;background:#fff;color:#1f2937;display:grid;grid-template-columns:26px minmax(0,1fr) 42px;gap:8px;align-items:center;padding:6px 8px;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease}.empresa-ranking-row:hover{background:#f8fafc;border-color:#9fb3c8;box-shadow:0 3px 10px rgba(15,23,42,.08)}.empresa-ranking-row.selected{background:#e8f1ff;border-color:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,.25);font-weight:900}.empresa-ranking-position{width:22px;height:22px;border-radius:999px;background:#eef4f8;color:#143b63;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:900}.empresa-ranking-main{display:grid;gap:4px;min-width:0}.empresa-ranking-label{display:grid;gap:1px}.empresa-ranking-label strong{color:#143b63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:13px}.empresa-ranking-label small{color:#64748b;font-size:10.5px}.empresa-ranking-bar{height:7px;border-radius:999px;background:#e5e7eb;overflow:hidden}.empresa-ranking-bar b{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#143b63,#0f6fa8)}.empresa-ranking-total{justify-self:end;color:#143b63;font-weight:900;font-size:14px}.empresa-detail-table{width:100%;border-collapse:collapse;font-size:13px}.empresa-detail-table th{background:#e8eef5;color:#143b63}.empresa-detail-table th,.empresa-detail-table td{border:1px solid #dce3eb;padding:8px;text-align:left;vertical-align:top}.empresa-report-detail{border:1px solid #dce3eb;border-radius:14px;background:#fff;padding:14px;display:grid;gap:12px}.empresa-report-detail-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.empresa-report-detail-header h3{margin:0;color:#143b63}.empresa-report-filter-label{margin:4px 0 0;color:#64748b;font-weight:800}.empresa-report-export-actions{display:flex;gap:8px;flex-wrap:wrap}
.no-visits-indicator{display:grid;grid-template-columns:220px 1fr;gap:14px;align-items:start}.no-visits-kpi{border:1px solid #fde68a;background:#fffbeb;border-radius:12px;padding:14px}.no-visits-kpi span{display:block;font-size:12px;text-transform:uppercase;font-weight:900;color:#78350f}.no-visits-kpi strong{display:block;font-size:34px;color:#92400e;margin-top:4px}.no-visits-list{display:flex;flex-wrap:wrap;gap:8px}.no-visits-list span{border:1px solid #e5e7eb;background:#fff;border-radius:999px;padding:6px 10px;font-size:13px;font-weight:800;color:#143b63}
.info-module .card{margin-bottom:16px}.info-tabs{display:flex;gap:10px;flex-wrap:wrap}.info-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:14px}.info-search{min-width:220px}.info-records-list{display:grid;gap:10px}.info-reglamentacion-selector{border:1px solid #dce3eb;border-radius:12px;background:#f8fafc;padding:14px;margin-bottom:14px}.info-reglamentacion-selector label{color:#143b63}.info-reglamentacion-selector select{margin-bottom:0;font-weight:800;color:#143b63}.info-detail-accordion{display:grid;gap:8px}.info-detail-dropdown{border:1px solid #dce3eb;border-radius:10px;background:#fff;overflow:hidden}.info-detail-dropdown-title{width:100%;border:0;border-radius:0;background:#fff;text-align:left;color:#143b63;font-size:14px;font-weight:900;padding:12px 14px;display:flex;justify-content:space-between;align-items:center;gap:12px}.info-detail-dropdown-title:hover{background:#f8fafc}.info-detail-dropdown-title::after{content:"+";width:24px;height:24px;flex:0 0 24px;border-radius:50%;border:1px solid #b6c4d3;color:#143b63;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.info-detail-dropdown-title[aria-expanded="true"]{background:#eef4f8}.info-detail-dropdown-title[aria-expanded="true"]::after{content:"−"}.info-detail-dropdown-body{border-top:1px solid #e5e7eb;background:#fbfdff;padding:14px}.info-detail-dropdown-body p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}.info-reglamentacion-list{display:grid;gap:8px}.info-reglamentacion-item{border:1px solid #dce3eb;border-radius:10px;background:#fff;overflow:hidden}.info-reglamentacion-title{width:100%;border:0;border-radius:0;background:#fff;text-align:left;color:#143b63;font-size:15px;font-weight:800;padding:12px 14px;display:flex;justify-content:space-between;gap:12px;align-items:center}.info-reglamentacion-title:hover{background:#f8fafc}.info-reglamentacion-title::after{content:"+";width:24px;height:24px;flex:0 0 24px;border-radius:50%;border:1px solid #b6c4d3;color:#143b63;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1}.info-reglamentacion-title[aria-expanded="true"]{background:#eef4f8}.info-reglamentacion-title[aria-expanded="true"]::after{content:"−"}.info-reglamentacion-item .info-record-detail{border-top:1px solid #e5e7eb;background:#fbfdff;padding:14px}.info-records-table,.info-documents-table{font-size:13px}.info-records-table th,.info-documents-table th{background:#e8eef5;color:#143b63}.info-preview{max-width:360px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.info-record-detail-row td{background:#fbfdff}.info-record-detail,.info-record-detail-inner{display:grid;gap:12px}.info-detail-meta{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;border-bottom:1px solid #dce3eb;padding-bottom:8px}.info-detail-meta strong{color:#143b63}.info-detail-meta span{color:#64748b;font-weight:700}.info-detail-block{border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:12px}.info-detail-block h4{margin:0 0 8px;color:#143b63}.info-detail-block p{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.45}.info-upload-panel{border-left:4px solid #143b63}.info-upload-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.info-documents-history{overflow:auto}.info-status-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef4f8;color:#143b63}.info-status-badge.active{background:#dcfce7;color:#14532d}.info-status-badge.inactive{background:#f3f4f6;color:#4b5563}.info-status-badge.processing{background:#fef3c7;color:#78350f}.info-status-badge.error{background:#fee2e2;color:#991b1b}.info-empty-state{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;padding:18px;text-align:center}
.facultades-module,.facultades-records{display:grid;gap:12px}.facultades-subtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;border-bottom:1px solid #dce3eb;padding-bottom:10px}.facultades-subtab-btn{border-radius:999px;background:#fff;color:#143b63;border:1px solid #b6c4d3}.facultades-subtab-btn.active{background:#143b63;color:#fff;border-color:#143b63}.facultades-subtab-panel{display:none}.facultades-subtab-panel.active{display:block}.facultades-empty-state{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;padding:18px;text-align:center}
.facultades-sheet-wrap{display:grid;gap:10px}.facultades-sheet-note{font-size:12px;color:#64748b}.facultades-sheet-table{border-collapse:collapse;width:max-content;min-width:100%;font-size:12px;background:#fff;color:#0f172a}.facultades-sheet-table td{border:1px solid #1f2937;padding:4px 6px;min-width:82px;max-width:260px;vertical-align:middle;overflow-wrap:anywhere;white-space:pre-wrap}.facultades-sheet-table .label-cell{min-width:230px;font-weight:700}.facultades-sheet-table .numeric{text-align:right;font-weight:800;font-variant-numeric:tabular-nums}.facultades-sheet-title td{border-color:#e5e7eb!important;text-align:center;font-weight:900;text-transform:uppercase;background:#fff;color:#0f172a}.facultades-sheet-title:first-child td{font-size:14px;text-decoration:underline}.facultades-sheet-header td{background:#d9ead3;font-weight:900;text-align:center;white-space:nowrap}.facultades-sheet-group td:first-child{font-weight:900}.facultades-sheet-group:nth-child(even) td{background:#d9d9d9}.facultades-sheet-table tr:nth-child(even):not(.facultades-sheet-title):not(.facultades-sheet-header):not(.facultades-sheet-group) td{background:#f3f4f6}
.facultades-modern-wrap{display:grid;gap:14px}.facultades-modern-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-end;border:1px solid #dce3eb;background:#f8fafc;border-radius:14px;padding:14px}.facultades-modern-toolbar h3{margin:0;color:#143b63;font-size:18px}.facultades-modern-toolbar p{margin:4px 0 0;color:#64748b;font-size:13px}.facultades-quick-filter{min-width:280px}.facultades-quick-filter span{display:block;font-size:12px;font-weight:900;color:#143b63;margin-bottom:6px}.facultades-quick-filter input{margin:0}.facultades-title-stack{display:grid;gap:6px}.facultades-title-strip{border:1px solid #dce3eb;background:#fff;border-radius:10px;padding:8px 12px;text-align:center;color:#334155;font-size:13px;font-weight:700}.facultades-title-strip.important{background:#eef4f8;color:#143b63;font-weight:900;text-transform:uppercase}.facultades-table-scroll{max-height:68vh;overflow:auto;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 4px 6px rgba(0,0,0,.08)}.facultades-modern-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;font-size:14px;color:#0f172a}.facultades-modern-table th{position:sticky;top:0;z-index:2;background:#143b63;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.02em;padding:12px 10px;border-bottom:2px solid #0f2f4f;white-space:nowrap}.facultades-modern-table th:first-child{left:0;z-index:3}.facultades-modern-table td{padding:10px 10px;border-bottom:1px solid #e5e7eb;min-width:108px;vertical-align:middle;background:#fff}.facultades-modern-table td:first-child{position:sticky;left:0;z-index:1;background:inherit;min-width:260px;max-width:360px;box-shadow:6px 0 10px rgba(15,23,42,.05)}.facultades-modern-table tr.zebra td{background:#f9fbfd}.facultades-modern-table tr:hover td{background:#eaf2f9}.facultades-modern-table tr.level-superior td{background:#f0f4f8;font-weight:900;color:#0f3558;border-top:2px solid #b6c4d3}.facultades-modern-table tr.level-central td{background:#f8fafc;font-weight:800;color:#1f2937}.facultades-modern-table tr.level-extended td{background:#f3f4f6}.facultades-modern-table tr.block-break td{border-top:3px solid #d1d5db}.facultades-modern-table .label-cell{font-weight:800;color:#111827}.facultades-modern-table .numeric{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.facultades-modern-table .high-amount{color:#005F86;background:#eff6ff!important;border-left:3px solid #005F86}.tipo-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#e0f2fe;color:#075985;border:1px solid #bae6fd;padding:4px 9px;font-size:12px;font-weight:900;white-space:nowrap}.type-cell{text-align:center}.facultades-modern-table tr.hidden{display:none}
.facultades-reminder{border:1px solid #bfdbfe;background:#eff6ff;color:#143b63;border-radius:12px;padding:10px 12px;font-size:13px;font-weight:800;line-height:1.35}
.dotacion-table-wrap{display:grid;gap:14px}.dotacion-table-scroll{max-height:68vh;overflow:auto;border:1px solid #cbd5e1;border-radius:14px;background:#fff;box-shadow:0 4px 6px rgba(0,0,0,.08)}.dotacion-data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;font-size:14px;color:#0f172a}.dotacion-data-table th{position:sticky;top:0;z-index:2;background:#143b63;color:#fff;text-transform:uppercase;font-size:11px;letter-spacing:.02em;padding:12px 10px;border-bottom:2px solid #0f2f4f;white-space:nowrap}.dotacion-data-table th:first-child{left:0;z-index:3}.dotacion-data-table td{padding:10px;border-bottom:1px solid #e5e7eb;min-width:130px;vertical-align:middle;background:#fff;overflow-wrap:anywhere}.dotacion-data-table td:first-child{position:sticky;left:0;z-index:1;background:inherit;min-width:220px;max-width:340px;box-shadow:6px 0 10px rgba(15,23,42,.05)}.dotacion-data-table tr.zebra td{background:#f9fbfd}.dotacion-data-table tr:hover td{background:#eaf2f9}.dotacion-data-table .label-cell{font-weight:800;color:#111827}.dotacion-data-table .numeric{text-align:right;font-variant-numeric:tabular-nums;font-weight:800}.dotacion-group-row td{background:#f0f4f8!important;color:#143b63;font-weight:900}.dotacion-data-table tr.hidden{display:none}
.dotacion-dashboard{display:grid;gap:16px}.dotacion-dashboard-header{border:1px solid #dce3eb;background:#f8fafc;border-radius:14px;padding:16px}.dotacion-dashboard-header h2{margin:0;color:#143b63}.dotacion-dashboard-header p{margin:4px 0 0;color:#64748b}.dotacion-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:14px}.dotacion-filters label{font-size:12px;font-weight:900;color:#143b63}.dotacion-filters input,.dotacion-filters select{margin-top:6px}.dotacion-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #dce3eb;padding-bottom:10px}.dotacion-tab-btn{border:1px solid #b6c4d3;background:#fff;color:#143b63;border-radius:999px}.dotacion-tab-btn.active{background:#143b63;color:#fff}.dotacion-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.dotacion-kpi-card{border:1px solid #dce3eb;border-radius:12px;background:#fff;padding:12px;box-shadow:0 4px 6px rgba(0,0,0,.06)}.dotacion-kpi-card span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;font-weight:900}.dotacion-kpi-card strong{display:block;font-size:22px;color:#143b63;margin-top:6px}.dotacion-section{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:14px;overflow:auto}.dotacion-section h3{margin:0 0 12px;color:#143b63}.dotacion-bar-chart{display:grid;gap:8px}.dotacion-bar-row{display:grid;grid-template-columns:minmax(160px,1.6fr) 3fr 70px;gap:10px;align-items:center;font-size:13px}.dotacion-bar{height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.dotacion-bar b{display:block;height:100%;border-radius:999px;background:#005F86}.dotacion-table{width:100%;border-collapse:collapse;font-size:13px}.dotacion-table th{background:#e8eef5;color:#143b63;text-align:left}.dotacion-table th,.dotacion-table td{border:1px solid #dce3eb;padding:8px;vertical-align:top}.dotacion-risk-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900}.dotacion-risk-badge.high{background:#fee2e2;color:#991b1b}.dotacion-risk-badge.medium{background:#fef3c7;color:#78350f}.dotacion-risk-badge.low{background:#dcfce7;color:#14532d}.dotacion-empty-state,.dotacion-restricted-message{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;padding:18px;text-align:center}.dotacion-restricted-message{border-color:#fde68a;background:#fffbeb;color:#78350f;font-weight:800}
.positive-delta{color:#166534;font-weight:900}.negative-delta{color:#991b1b;font-weight:900}

/* Visitas a Sucursales: encabezado compacto y colaboradores habilitados */
@media (min-width:769px){
  #appShell .visits-header-grid{
    display:grid;
    grid-template-columns:minmax(320px,1.4fr) repeat(4,minmax(130px,.7fr));
    gap:12px;
    align-items:stretch;
    margin-bottom:14px;
  }

  #appShell .visits-title-card,
  #appShell .visits-kpi-card{
    background:#FFFFFF!important;
    border:1px solid #D7E3EE!important;
    border-radius:16px!important;
    box-shadow:0 6px 18px rgba(15,23,42,.05)!important;
    color:#0F172A!important;
  }

  #appShell .visits-title-card{
    display:flex!important;
    align-items:center!important;
    gap:20px!important;
    min-height:96px;
    padding:14px 16px!important;
  }

  #appShell .visits-title-card h1{
    margin:0;
    font-size:clamp(1.45rem,1.8vw,2rem);
    line-height:1.12;
    color:#0F172A!important;
    font-weight:900;
  }

  #appShell .visits-title-card p{
    margin:8px 0 12px;
    font-size:.95rem;
    line-height:1.35;
    color:#334155!important;
    opacity:1!important;
  }

  #appShell .visits-kpi-card{
    position:relative;
    overflow:hidden;
    min-height:96px;
    padding:12px 14px!important;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    grid-template-rows:auto auto;
    align-content:center;
    column-gap:12px;
    row-gap:4px;
  }
}

@media (max-width:1100px) and (min-width:769px){
  #appShell .visits-header-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  #appShell .visits-title-card{
    grid-column:1/-1;
  }
}

#appShell .visits-status-chips,
#appShell .status-strip{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

#appShell .visits-header-tabs{
  grid-column:1/-1;
  display:flex!important;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  padding:10px 12px;
  margin:0;
  background:#FFFFFF;
  border:1px solid #D7E3EE;
  border-radius:14px;
  box-shadow:0 6px 18px rgba(15,23,42,.05);
}

#appShell .visits-header-tabs .tab-btn{
  flex:0 0 auto;
  min-height:36px;
  margin:0;
  padding:8px 12px;
  border-radius:999px;
  border:1px solid #BFD3E0;
  background:#FFFFFF;
  color:#005F86;
  font-size:.88rem;
  font-weight:900;
}

#appShell .visits-header-tabs .tab-btn.active{
  border-color:#005F86;
  background:#005F86;
  color:#FFFFFF;
}

#appShell .acta-drafts-card{
  margin-top:16px;
}

#appShell .status-strip span{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid #9DCAE0;
  background:#EAF7FC;
  color:#005F86!important;
  font-size:.75rem;
  font-weight:800;
  line-height:1;
}

#appShell .visits-kpi-label,
#appShell .metric span.visits-kpi-label{
  margin:0 0 8px;
  color:#64748B!important;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

#appShell .visits-kpi-icon{
  grid-row:1/3;
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,95,134,.10);
  color:#005F86;
  font-size:1rem;
  font-weight:900;
}

#appShell .visits-kpi-value,
#appShell .metric strong.visits-kpi-value{
  color:#005F86!important;
  font-size:clamp(1.35rem,1.75vw,1.85rem);
  font-weight:900;
  line-height:1;
  margin-top:0;
}

#appShell .visits-kpi-card::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:5px;
  background:linear-gradient(90deg,var(--kpi-accent,#005F86) var(--kpi-progress,0%),#E2E8F0 var(--kpi-progress,0%));
}

#appShell .visits-kpi-compliance{--kpi-accent:#16A34A}
#appShell .visits-kpi-findings{--kpi-accent:#F59E0B}
#appShell .visits-kpi-critical{--kpi-accent:#DC2626}
#appShell .visits-kpi-total{--kpi-accent:#005F86}

#appShell .visits-kpi-compliance .visits-kpi-icon{background:#DCFCE7;color:#166534}
#appShell .visits-kpi-findings .visits-kpi-icon{background:#FEF3C7;color:#92400E}
#appShell .visits-kpi-critical .visits-kpi-icon{background:#FEE2E2;color:#B91C1C}
#appShell .visits-kpi-total .visits-kpi-icon{background:#EAF7FC;color:#005F86}

#appShell .panel-access h2{
  color:#0F172A!important;
}

#appShell .panel-access .small,
#appShell #actCollaboratorHelp{
  color:#475569!important;
}

.visits-collaborators-row{
  align-items:start;
}

.visits-collaborators-field{
  display:grid;
  gap:8px;
  width:100%;
}

.visits-collaborator-select{
  width:100%;
  min-height:44px;
  border:1px solid #BFD3E0!important;
  border-radius:12px;
  background:#FFFFFF!important;
  color:#0F172A!important;
  padding:10px 12px;
  font-size:.92rem;
  margin-bottom:0;
}

.visits-collaborator-select:focus{
  outline:none;
  border-color:#005F86!important;
  box-shadow:0 0 0 3px rgba(0,95,134,.14);
}

.visits-collaborator-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.visits-collaborator-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-height:28px;
  padding:5px 9px;
  border-radius:999px;
  background:#EAF7FC;
  color:#005F86;
  border:1px solid #9DCAE0;
  font-size:.78rem;
  font-weight:800;
}

.visits-collaborator-chip small{
  color:#475569;
  font-size:.72rem;
  font-weight:800;
}

.visits-collaborator-chip button{
  border:none;
  background:transparent;
  color:#005F86;
  cursor:pointer;
  font-weight:900;
  padding:0 2px;
}

.visits-collaborator-empty{
  color:#64748B;
  font-size:.82rem;
  font-weight:700;
}

.visits-collaborator-mobile-trigger.hidden,
.visits-collaborator-mobile-sheet.hidden{
  display:none!important;
}

.visits-collaborator-mobile-trigger{
  width:100%;
  min-height:46px;
  border:1px solid #BFD3E0;
  border-radius:12px;
  background:#FFFFFF;
  color:#005F86;
  font-weight:900;
  text-align:left;
  padding:10px 12px;
}

.visits-collaborator-mobile-sheet{
  position:fixed;
  inset:0;
  z-index:3100;
  display:flex;
  align-items:flex-end;
  background:rgba(15,23,42,.38);
}

.visits-collaborator-mobile-backdrop{
  position:absolute;
  inset:0;
}

.visits-collaborator-mobile-panel{
  position:relative;
  width:100%;
  max-height:78vh;
  overflow:hidden;
  background:#FFFFFF;
  border-radius:20px 20px 0 0;
  box-shadow:0 -16px 36px rgba(15,23,42,.2);
  display:grid;
  grid-template-rows:auto 1fr;
}

.visits-collaborator-mobile-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px;
  border-bottom:1px solid rgba(0,95,134,.16);
}

.visits-collaborator-mobile-header h3{
  margin:0;
  color:#0F172A;
  font-size:1.05rem;
  font-weight:900;
}

.visits-collaborator-mobile-header button{
  border:1px solid #BFD3E0;
  background:#FFFFFF;
  color:#005F86;
  border-radius:10px;
  padding:8px 12px;
  font-weight:900;
}

.visits-collaborator-mobile-list{
  overflow-y:auto;
  padding:10px 14px calc(18px + env(safe-area-inset-bottom));
  display:grid;
  gap:8px;
}

.visits-collaborator-mobile-option{
  width:100%;
  min-height:52px;
  border:1px solid rgba(0,95,134,.18);
  background:#FFFFFF;
  color:#0F172A;
  border-radius:12px;
  padding:12px 14px;
  text-align:left;
  font-size:1rem;
  font-weight:900;
}

.visits-collaborator-mobile-empty{
  margin:10px 0;
  color:#475569;
  font-weight:800;
}

body.act-collaborator-sheet-open{
  overflow:hidden;
}

.enterprise-draft-modal-backdrop.hidden{
  display:none!important;
}

.enterprise-draft-modal-backdrop{
  position:fixed;
  inset:0;
  z-index:9990;
  background:rgba(15,23,42,.48);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.enterprise-draft-modal{
  width:min(900px, 96vw);
  max-height:82vh;
  background:#FFFFFF;
  border:1px solid #D7E3EE;
  border-radius:18px;
  box-shadow:0 24px 70px rgba(15,23,42,.28);
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.enterprise-draft-modal-header{
  flex:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-bottom:1px solid #E2E8F0;
  background:#F8FBFD;
}

.enterprise-draft-modal-title{
  margin:0;
  font-size:1.25rem;
  font-weight:900;
  color:#0F172A;
}

.enterprise-draft-modal-subtitle{
  margin:4px 0 0;
  font-size:.88rem;
  color:#475569;
}

.enterprise-draft-modal-close{
  border:1px solid #BFD3E0;
  background:#FFFFFF;
  color:#005F86;
  border-radius:10px;
  min-width:36px;
  min-height:36px;
  cursor:pointer;
  font-size:1.1rem;
  font-weight:900;
}

.enterprise-draft-modal-body{
  flex:1 1 auto;
  overflow-y:auto;
  padding:16px 20px 20px;
}

.enterprise-draft-search{
  width:100%;
  min-height:42px;
  border:1px solid #BFD3E0;
  border-radius:12px;
  background:#FFFFFF;
  color:#0F172A;
  padding:10px 12px;
  margin-bottom:12px;
}

.enterprise-draft-list-scroll{
  max-height:440px;
  overflow-y:auto;
  border:1px solid #D7E3EE;
  border-radius:14px;
  background:#FFFFFF;
}

.enterprise-draft-table{
  width:100%;
  border-collapse:collapse;
  font-size:.88rem;
}

.enterprise-draft-table th{
  position:sticky;
  top:0;
  z-index:1;
  background:#EAF3F7!important;
  color:#005F86!important;
  font-weight:900;
  text-align:left;
  padding:10px 12px;
  border-bottom:1px solid #C9DCE8;
}

.enterprise-draft-table td{
  padding:10px 12px;
  border-bottom:1px solid #E2E8F0;
  color:#0F172A!important;
  background:#FFFFFF!important;
}

.enterprise-draft-table tbody tr:hover td{
  background:#F4F8FB!important;
}

.enterprise-draft-load-btn{
  border:1px solid #9DCAE0;
  background:#FFFFFF;
  color:#005F86;
  border-radius:10px;
  min-height:34px;
  padding:7px 14px;
  font-weight:900;
  cursor:pointer;
}

.enterprise-draft-load-btn:hover{
  background:#005F86;
  color:#FFFFFF;
}

.enterprise-draft-card-list{
  display:none;
}

.enterprise-draft-card{
  border:1px solid #D7E3EE;
  border-radius:14px;
  background:#FFFFFF;
  padding:12px;
  display:grid;
  gap:7px;
}

.enterprise-draft-card-title{
  font-size:.95rem;
  font-weight:900;
  color:#0F172A;
}

.enterprise-draft-card-meta{
  font-size:.82rem;
  color:#475569;
  line-height:1.35;
}

.enterprise-draft-card-actions{
  display:flex;
  justify-content:flex-end;
  margin-top:4px;
}

.enterprise-draft-empty{
  padding:18px;
  color:#475569;
  font-weight:800;
}

body.enterprise-draft-modal-open{
  overflow:hidden;
}

#appShell .hallazgo-comment-input,
#appShell .hallazgo-comment-textarea,
#appShell textarea[name="hallazgoComentario"],
#appShell textarea[data-field="hallazgoComentario"],
#appShell input[name="hallazgoComentario"],
#appShell input[data-field="hallazgoComentario"]{
  display:block;
  width:100%;
  min-height:44px;
  background:#FFFFFF!important;
  color:#0F172A!important;
  -webkit-text-fill-color:#0F172A!important;
  border:1px solid #BFD3E0!important;
  border-radius:12px!important;
  padding:11px 13px;
  font-size:.95rem;
  line-height:1.45;
  box-shadow:none!important;
  opacity:1!important;
}

#appShell .hallazgo-comment-input::placeholder,
#appShell .hallazgo-comment-textarea::placeholder,
#appShell textarea[name="hallazgoComentario"]::placeholder,
#appShell textarea[data-field="hallazgoComentario"]::placeholder,
#appShell input[name="hallazgoComentario"]::placeholder,
#appShell input[data-field="hallazgoComentario"]::placeholder{
  color:#64748B!important;
  opacity:1!important;
}

#appShell .hallazgo-comment-input:focus,
#appShell .hallazgo-comment-textarea:focus,
#appShell textarea[name="hallazgoComentario"]:focus,
#appShell textarea[data-field="hallazgoComentario"]:focus,
#appShell input[name="hallazgoComentario"]:focus,
#appShell input[data-field="hallazgoComentario"]:focus{
  outline:none!important;
  border-color:#005F86!important;
  box-shadow:0 0 0 3px rgba(0,95,134,.14)!important;
}

#btnGenerarConclusion,
.generate-conclusion-btn,
button[data-action="generar-conclusion"],
button[data-action="generate-conclusion"]{
  display:none!important;
}

@media (max-width:768px){
  .enterprise-draft-modal-backdrop{
    align-items:flex-end;
    padding:0;
  }

  .enterprise-draft-modal{
    width:100%;
    max-height:88vh;
    border-radius:20px 20px 0 0;
  }

  .enterprise-draft-modal-header{
    padding:16px;
  }

  .enterprise-draft-modal-title{
    font-size:1.05rem;
  }

  .enterprise-draft-modal-body{
    padding:12px 14px 16px;
  }

  .enterprise-draft-list-scroll{
    max-height:62vh;
    border:none;
    overflow-y:auto;
  }

  .enterprise-draft-table{
    display:none;
  }

  .enterprise-draft-card-list{
    display:grid;
    gap:10px;
  }

  .enterprise-draft-card .enterprise-draft-load-btn{
    width:100%;
    min-height:42px;
  }
}

@media(max-width:420px){
  #appShell .topbar{
    grid-template-columns:1fr!important;
  }
}

@media (min-width:769px){
  #adminUsersPanel .admin-active-mobile-list,
  #adminActiveUserModal{
    display:none!important;
  }

  #adminUsersPanel .admin-mobile-user-actions{
    display:contents;
  }

  #adminUsersPanel .admin-mobile-user-actions > summary{
    display:none;
  }

  #adminUsersPanel .admin-row-actions{
    display:grid;
    gap:8px;
  }
}

@media (max-width:768px){
  body.admin-user-modal-open{
    overflow:hidden!important;
  }

  #adminUsersPanel{
    padding-bottom:112px!important;
  }

  #adminUsersPanel .card{
    overflow:visible!important;
  }

  #approvedUsersList .admin-users-table tbody{
    gap:14px!important;
  }

  #approvedUsersList .admin-users-table{
    display:none!important;
  }

  #approvedUsersList .admin-active-mobile-list{
    display:grid;
    gap:8px;
    width:100%;
    max-height:52vh;
    overflow-y:auto;
    padding:8px;
    border:1px solid rgba(0,95,134,.18);
    border-radius:16px;
    background:#F8FBFD;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.65);
  }

  #approvedUsersList .admin-active-mobile-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px 10px;
    width:100%;
    min-height:84px;
    padding:12px;
    border:1px solid rgba(0,95,134,.18);
    border-radius:14px;
    background:#FFFFFF;
    color:#0F172A;
    text-align:left;
    box-shadow:0 6px 16px rgba(15,23,42,.06);
  }

  #approvedUsersList .admin-active-mobile-row:active{
    transform:scale(.995);
    border-color:rgba(0,95,134,.45);
    background:#EFF8FC;
  }

  #approvedUsersList .admin-active-mobile-name{
    grid-column:1/-1;
    color:#0F172A;
    font-size:15px;
    font-weight:900;
    line-height:1.2;
    overflow-wrap:anywhere;
  }

  #approvedUsersList .admin-active-mobile-meta{
    display:grid;
    gap:2px;
    color:#1E293B;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    overflow-wrap:anywhere;
  }

  #approvedUsersList .admin-active-mobile-meta b{
    color:#64748B;
    font-size:10px;
    text-transform:uppercase;
    letter-spacing:.05em;
    font-weight:900;
  }

  #adminActiveUserModal{
    position:fixed;
    inset:0;
    z-index:3500;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    background:rgba(15,23,42,.38);
    padding:12px;
  }

  #adminActiveUserModal .admin-active-user-modal-panel{
    width:100%;
    max-height:88vh;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#FFFFFF;
    color:#0F172A;
    border:1px solid rgba(0,95,134,.18);
    border-radius:20px 20px 16px 16px;
    box-shadow:0 -18px 42px rgba(15,23,42,.22);
  }

  .admin-active-user-modal-header{
    flex:0 0 auto;
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
    padding:16px;
    border-bottom:1px solid rgba(0,95,134,.14);
    background:#F8FBFD;
  }

  .admin-active-user-modal-header p{
    margin:0 0 4px;
    color:#005F86;
    font-size:11px;
    text-transform:uppercase;
    letter-spacing:.06em;
    font-weight:900;
  }

  .admin-active-user-modal-header h3{
    margin:0;
    color:#0F172A;
    font-size:18px;
    line-height:1.15;
    overflow-wrap:anywhere;
  }

  .admin-active-user-modal-body{
    flex:1 1 auto;
    overflow-y:auto;
    padding:14px 16px;
    display:grid;
    gap:14px;
  }

  .admin-active-user-detail{
    display:grid;
    gap:8px;
    margin:0;
  }

  .admin-active-user-detail div{
    display:grid;
    grid-template-columns:minmax(96px,34%) 1fr;
    gap:10px;
    padding:8px 0;
    border-bottom:1px solid #E2E8F0;
  }

  .admin-active-user-detail dt{
    color:#64748B;
    font-size:12px;
    font-weight:900;
  }

  .admin-active-user-detail dd{
    margin:0;
    color:#0F172A;
    font-size:13px;
    font-weight:800;
    overflow-wrap:anywhere;
  }

  .admin-active-user-edit{
    border:1px solid rgba(0,95,134,.16);
    border-radius:14px;
    background:#F8FBFD;
    padding:12px;
  }

  .admin-active-user-edit h4{
    margin:0 0 10px;
    color:#005F86;
    font-size:14px;
    font-weight:900;
  }

  .admin-active-user-modal-actions{
    flex:0 0 auto;
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:12px 16px 16px;
    border-top:1px solid rgba(0,95,134,.14);
    background:#FFFFFF;
  }

  .admin-active-user-modal-actions button{
    width:100%;
    min-height:44px;
    margin:0!important;
  }

  #approvedUsersList .admin-users-table tr{
    padding:14px!important;
    border-color:rgba(0,95,134,.24)!important;
    box-shadow:0 8px 20px rgba(15,23,42,.08)!important;
  }

  #approvedUsersList .admin-users-table td{
    grid-template-columns:minmax(92px,32%) minmax(0,1fr)!important;
    gap:10px!important;
    padding:6px 0!important;
    font-size:13px;
  }

  #approvedUsersList .admin-users-table td[data-label="Nombre"]{
    display:block!important;
    padding:0 0 4px!important;
    color:#0F172A!important;
    font-size:16px;
    font-weight:900;
  }

  #approvedUsersList .admin-users-table td[data-label="Nombre"]::before{
    content:"Usuario activo";
    display:block;
    margin-bottom:4px;
    color:#005F86!important;
    font-size:11px;
    letter-spacing:.06em;
    text-transform:uppercase;
  }

  #approvedUsersList .admin-users-table td[data-label="Email"]{
    font-size:12.5px;
  }

  #approvedUsersList .admin-mobile-user-actions{
    width:100%;
    border:1px solid rgba(0,95,134,.18);
    border-radius:12px;
    background:#F8FBFD;
    overflow:hidden;
  }

  #approvedUsersList .admin-mobile-user-actions > summary{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    padding:10px 12px;
    color:#005F86;
    font-weight:900;
    cursor:pointer;
    list-style:none;
  }

  #approvedUsersList .admin-mobile-user-actions > summary::-webkit-details-marker{
    display:none;
  }

  #approvedUsersList .admin-mobile-user-actions > summary::after{
    content:"+";
    width:24px;
    height:24px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#EAF7FC;
    border:1px solid #9DCAE0;
    color:#005F86;
  }

  #approvedUsersList .admin-mobile-user-actions[open] > summary::after{
    content:"-";
  }

  #approvedUsersList .admin-role-controls{
    padding:0 12px 12px;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  #approvedUsersList .admin-role-controls select{
    min-height:44px;
    margin:0!important;
  }

  #approvedUsersList .admin-row-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    width:100%;
  }

  #approvedUsersList .admin-row-actions button{
    width:100%;
    min-height:44px;
    margin:0!important;
  }
}

.gestion-comercial-module .card{margin-bottom:16px}.gestion-comercial-tabs{display:flex;gap:10px;flex-wrap:wrap}.gestion-comercial-tab-btn.active{background:#143b63;color:#fff;border-color:#143b63}.gestion-comercial-panel{display:none}.gestion-comercial-panel.active{display:block}.html-upload-panel{border-left:4px solid #143b63}.html-tools-list{display:grid;gap:10px}.html-tools-table{font-size:13px;width:100%;border-collapse:collapse}.html-tools-table th{background:#e8eef5;color:#143b63}.html-tools-table th,.html-tools-table td{border:1px solid #dce3eb;padding:9px;text-align:left;vertical-align:top}.html-tools-table span{font-size:12px;color:#64748b;overflow-wrap:anywhere}.html-viewer-wrapper{display:grid;gap:12px}.html-viewer{width:100%;height:75vh;border:1px solid #cbd5e1;border-radius:12px;background:#fff}.commercial-empty-state{border:1px dashed #cbd5e1;border-radius:12px;background:#f8fafc;color:#64748b;padding:18px}.commercial-status-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;background:#eef4f8;color:#143b63}.commercial-status-badge.active{background:#dcfce7;color:#14532d}.commercial-status-badge.inactive{background:#f3f4f6;color:#4b5563}
.commercial-loan-launcher{min-height:auto}.commercial-loan-modal-open{overflow:hidden}.commercial-loan-modal-backdrop{position:fixed;inset:0;z-index:10080;display:flex;align-items:center;justify-content:center;padding:10px;background:rgba(15,23,42,.62)}.commercial-loan-modal{width:min(1500px,calc(100vw - 20px));height:calc(100vh - 20px);display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #D7E3EE;border-radius:18px;box-shadow:0 24px 80px rgba(15,23,42,.35)}.commercial-loan-modal-header{display:none!important}.commercial-loan-modal-iframe{flex:1 1 auto;width:100%;min-height:0;border:0;background:#fff}@media(max-width:768px){.commercial-loan-modal-backdrop{padding:0}.commercial-loan-modal{width:100vw;height:100dvh;border-radius:0;border:0}}
.gestion-comercial-module.prestamos-direct-view > .gestion-comercial-heading-card,
.gestion-comercial-module.prestamos-direct-view > #gestionComercialTabsBar {
  display: none !important;
}

.gestion-comercial-module.prestamos-direct-view {
  padding-top: 0 !important;
}

.gestion-comercial-module.prestamos-direct-view #prestamosPanel {
  min-height: 0 !important;
}
.client-upload-panel{border-left:4px solid #005F86}.client-selector-panel{background:#f8fafc;border:1px solid #dce3eb}.ficha-cliente{display:grid;gap:14px}.ficha-header,.client-section{border:1px solid #dce3eb;border-radius:14px;background:#fff;padding:14px;box-shadow:0 4px 6px rgba(0,0,0,.06)}.ficha-header h3,.client-section-title{margin:0 0 10px;color:#143b63}.ficha-header-grid,.client-info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.client-info-item{border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc;padding:9px;min-width:0}.client-info-item span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#64748b}.client-info-item strong{display:block;margin-top:4px;color:#1f2937;overflow-wrap:anywhere}.client-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.client-kpi-card{border:1px solid #e5e7eb;border-radius:12px;background:#f8fafc;padding:12px}.client-kpi-card span{display:block;font-size:11px;text-transform:uppercase;font-weight:900;color:#64748b}.client-kpi-card strong{display:block;margin-top:6px;font-size:20px;color:#143b63}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:900}.status-badge.valid{background:#dcfce7;color:#14532d}.status-badge.expired{background:#fee2e2;color:#991b1b}.status-badge.no-data{background:#f3f4f6;color:#4b5563}.assistance-chart{display:grid;gap:9px}.assistance-bar-row{display:grid;grid-template-columns:minmax(140px,1.2fr) 3fr minmax(90px,.8fr);gap:10px;align-items:center;font-size:13px}.assistance-bar{height:12px;border-radius:999px;background:#e5e7eb;overflow:hidden}.assistance-bar b{display:block;height:100%;border-radius:999px;background:#005F86}.product-matrix{width:100%;border-collapse:collapse;font-size:13px}.product-matrix th{background:#e8eef5;color:#143b63}.product-matrix th,.product-matrix td{border:1px solid #dce3eb;padding:8px;text-align:left;vertical-align:top}.alertas-comerciales{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.alerta-card{border-radius:12px;padding:12px;border:1px solid #e5e7eb;background:#f8fafc}.alerta-card strong{display:block;color:#143b63;margin-bottom:5px}.alerta-card p{margin:0 0 6px;color:#1f2937}.alerta-card small{color:#64748b}.alerta-card.alto{background:#fef2f2;border-color:#fecaca}.alerta-card.alto strong{color:#991b1b}.alerta-card.medio{background:#fffbeb;border-color:#fde68a}.alerta-card.medio strong{color:#78350f}.alerta-card.bajo{background:#f0fdf4;border-color:#bbf7d0}.alerta-card.bajo strong{color:#14532d}
.commercial-client-picker-field{display:grid;grid-template-columns:minmax(0,1fr) 46px;align-items:stretch;width:100%;border:1px solid #BFD3E0;border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 0 0 3px rgba(0,95,134,.08)}.commercial-client-picker-input{border:0!important;box-shadow:none!important;border-radius:0!important;background:#fff!important;color:#0F172A!important;cursor:pointer;min-height:44px;padding:10px 13px!important}.commercial-client-picker-input::placeholder{color:#8A9AB2!important;opacity:1}.commercial-client-picker-input:focus{outline:none!important}.commercial-client-picker-button{border:0;border-left:1px solid #D7E3EE;background:#fff;color:#0F172A;cursor:pointer;font-size:18px;font-weight:900;min-height:44px}.commercial-client-picker-button:hover{background:#EAF7FC;color:#005F86}body.commercial-client-modal-open{overflow:hidden}.commercial-client-modal-backdrop{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:22px;background:rgba(15,23,42,.52)}.commercial-client-modal-backdrop.hidden{display:none}.commercial-client-modal{width:min(760px,96vw);max-height:84vh;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #D7E3EE;border-radius:18px;box-shadow:0 24px 70px rgba(15,23,42,.28);color:#0F172A}.commercial-client-modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;border-bottom:1px solid #E2E8F0;background:#F8FBFD}.commercial-client-modal-header h3{margin:0;color:#0F172A;font-size:20px;font-weight:900}.commercial-client-modal-header p{margin:4px 0 0;color:#475569;font-size:13px}.commercial-client-modal-close{width:38px;height:38px;border:1px solid #BFD3E0;border-radius:10px;background:#fff;color:#005F86;cursor:pointer;font-size:22px;font-weight:900;line-height:1}.commercial-client-modal-close:hover{background:#EAF7FC}.commercial-client-modal-search{display:grid;gap:7px;padding:14px 20px;border-bottom:1px solid #E2E8F0}.commercial-client-modal-search label{font-size:12px;font-weight:900;color:#0F172A;text-transform:uppercase;letter-spacing:.04em}.commercial-client-modal-search input{width:100%;min-height:44px;border:1px solid #BFD3E0;border-radius:12px;background:#fff;color:#0F172A;padding:10px 12px;font-size:15px}.commercial-client-modal-search input:focus{outline:none;border-color:#005F86;box-shadow:0 0 0 3px rgba(0,95,134,.14)}.commercial-client-modal-list{display:grid;gap:8px;padding:14px 20px 18px;overflow-y:auto;max-height:56vh}.commercial-client-modal-row{width:100%;display:grid;grid-template-columns:minmax(0,1fr);gap:4px;text-align:left;border:1px solid #D7E3EE;border-radius:12px;background:#fff;color:#0F172A;padding:11px 12px;cursor:pointer;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}.commercial-client-modal-row:hover,.commercial-client-modal-row:focus-visible{background:#F4F8FB;border-color:#8EC5DD;box-shadow:0 6px 16px rgba(0,95,134,.12);outline:none;transform:translateY(-1px)}.commercial-client-modal-name{font-size:15px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#0F172A}.commercial-client-modal-meta{font-size:12px;font-weight:700;color:#64748B;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.commercial-client-modal-empty{border:1px dashed #BFD3E0;border-radius:14px;background:#F8FBFD;color:#475569;padding:18px;text-align:center;font-weight:800}
.acta-final{font-family:Inter,Roboto,"Segoe UI",Arial,sans-serif;color:#1f2937}.acta-print-document{display:block}.print-page{background:#fff;border:1px solid #dfe3e8;border-radius:10px;margin-bottom:18px;padding:18px}.executive-page{display:flex;flex-direction:column;min-height:980px}.executive-header{border-bottom:2px solid #143b63;padding-bottom:12px;margin-bottom:12px}.executive-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.executive-title-row h1{font-size:25px;margin:0;color:#143b63}.executive-meta-box{background:#f3f6f9;border:1px solid #dce3eb;border-radius:10px;padding:12px}.executive-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.executive-meta-grid span{display:block;font-size:10px;text-transform:uppercase;color:#64748b;font-weight:800}.executive-meta-grid strong{display:block;font-size:12px;color:#1f2937;margin-top:2px}.risk-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:900;white-space:nowrap}.risk-badge.critical{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.risk-badge.warning{background:#fef3c7;color:#78350f;border:1px solid #fde68a}.risk-badge.success{background:#dcfce7;color:#14532d;border:1px solid #bbf7d0}.executive-section{margin:10px 0;break-inside:avoid}.executive-section h3,.signatures-footer h3{font-size:15px;color:#143b63;border-bottom:1px solid #d1d5db;padding-bottom:5px;margin-bottom:8px}.executive-section p{font-size:12.5px;line-height:1.45;margin:0}.kpi-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.kpi-box{border:1px solid #dce3eb;border-radius:10px;background:#f8fafc;padding:9px}.kpi-box span{display:block;font-size:10px;color:#64748b;text-transform:uppercase;font-weight:800}.kpi-box strong{display:block;font-size:21px;color:#143b63;margin:2px 0}.kpi-box small{display:block;font-size:10.5px;color:#64748b}.priority-list{margin:0;padding-left:20px;display:grid;gap:7px}.priority-item{font-size:11.5px;line-height:1.35;padding:7px;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.priority-item strong,.priority-item span{display:block}.empty-priority{border:1px solid #e5e7eb;border-radius:8px;background:#f8fafc;padding:10px}.signatures-footer{margin-top:auto}.signatures-table{table-layout:fixed;width:100%;border-collapse:collapse}.signatures-table td{height:92px;text-align:center;vertical-align:bottom;border:1px solid #d1d5db;padding:10px;overflow-wrap:anywhere}.firma-line{border-top:1px solid #374151;margin:34px 8px 8px}.signatures-table strong,.signatures-table span{display:block;font-size:11.5px}.annex-page{border-top:4px solid #143b63}.annex-title{margin-bottom:12px}.annex-title h2{font-size:20px;color:#143b63;margin:0}.controls-matrix-table{table-layout:fixed;width:100%;border-collapse:collapse;font-size:10.5px}.controls-matrix-table th{background:#e8eef5;color:#143b63;font-size:10px}.controls-matrix-table th,.controls-matrix-table td{border:1px solid #cbd5e1;padding:6px;overflow-wrap:anywhere;word-wrap:break-word;vertical-align:top}.controls-matrix-table th:nth-child(1),.controls-matrix-table td:nth-child(1){width:34px}.controls-matrix-table th:nth-child(6),.controls-matrix-table td:nth-child(6),.controls-matrix-table th:nth-child(7),.controls-matrix-table td:nth-child(7){width:18%}
.gobierno-module{display:grid;gap:16px}.gobierno-tabs{display:flex;gap:10px;flex-wrap:wrap;border-bottom:1px solid #dce3eb;padding-bottom:12px}.gobierno-tab-btn{border-radius:999px;border:1px solid #9fb1c3;color:#143b63;background:#fff}.gobierno-tab-btn.active{background:#064e3b;color:#fff;border-color:#064e3b}.gobierno-section{border:1px solid #e5e7eb;background:#fff;border-radius:14px;padding:16px;margin-top:14px;overflow:auto}.gobierno-section-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.gobierno-kpi-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.gobierno-kpi-card{border:1px solid #dce3eb;border-radius:14px;background:#fff;padding:14px;box-shadow:0 4px 10px rgba(15,23,42,.06);text-align:left;cursor:pointer}.gobierno-kpi-card:hover{background:#f0fdfa;border-color:#99f6e4}.gobierno-kpi-card span{display:block;font-size:11px;color:#64748b;text-transform:uppercase;font-weight:900}.gobierno-kpi-card strong{display:block;font-size:26px;color:#064e3b;margin-top:6px}.gobierno-dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gobierno-bars{display:grid;gap:10px}.gobierno-bar-row{width:100%;display:grid;grid-template-columns:minmax(150px,1.2fr) 48px 3fr;gap:10px;align-items:center;font-size:13px;text-align:left;border:1px solid transparent;background:#fff;border-radius:10px;padding:8px;cursor:pointer}.gobierno-bar-row:hover{background:#f0fdfa;border-color:#99f6e4}.gobierno-bar-row span{font-weight:800;color:#0f172a;overflow-wrap:anywhere}.gobierno-bar-track{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden}.gobierno-bar-track div{height:100%;background:#0f766e;border-radius:999px}.gobierno-applied-filter{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #99f6e4;background:#f0fdfa;color:#064e3b;border-radius:12px;padding:10px 12px;margin:10px 0;font-size:13px}.gobierno-applied-filter button{padding:6px 10px}.gobierno-filters{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border:1px solid #dce3eb;background:#f8fafc;border-radius:12px;padding:12px;margin:10px 0}.gobierno-table-count{font-size:12px;color:#64748b;font-weight:900;margin-bottom:8px}.gobierno-table{font-size:13px}.gobierno-table th{background:#e6f0ef;color:#064e3b;position:sticky;top:0;z-index:1}.gobierno-table th,.gobierno-table td{border:1px solid #d8e2e1;padding:8px;vertical-align:top}.gobierno-task-table td:nth-child(2){min-width:240px}.gobierno-badge{display:inline-flex;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:900;white-space:nowrap;background:#f1f5f9;color:#334155}.gobierno-badge.en-gestion,.gobierno-badge.estado.en-gestion{background:#dbeafe;color:#1e3a8a}.gobierno-badge.en-espera-de-tercero{background:#ffedd5;color:#9a3412}.gobierno-badge.vencida,.gobierno-badge.alta{background:#fee2e2;color:#991b1b}.gobierno-badge.por-vencer,.gobierno-badge.media{background:#fef3c7;color:#78350f}.gobierno-badge.en-termino,.gobierno-badge.cumplido,.gobierno-badge.baja{background:#dcfce7;color:#14532d}.gobierno-badge.cerrada,.gobierno-badge.cancelado,.gobierno-badge.rechazado{background:#e5e7eb;color:#374151}.gobierno-detail{margin-top:14px;border:1px solid #cbd5e1;border-radius:14px;background:#fbfdff;padding:16px}.gobierno-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border-bottom:1px solid #dce3eb;padding-bottom:10px;margin-bottom:12px}.gobierno-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gobierno-detail-grid section{border:1px solid #e5e7eb;border-radius:12px;background:#fff;padding:12px}.gobierno-detail-grid .wide{grid-column:1/-1}.gobierno-detail-grid p{font-size:13px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.gobierno-form{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.gobierno-field.wide,.gobierno-actions.wide{grid-column:1/-1}.gobierno-field textarea{min-height:110px}.gobierno-actions{display:flex;gap:10px;flex-wrap:wrap}.gobierno-action-form{border:1px solid #bfdbfe;background:#f8fafc;border-radius:14px;padding:14px;margin:14px 0}.gobierno-action-form h4{grid-column:1/-1;margin:0;color:#064e3b}
.gobierno-task-picker{border:1px solid #dce3eb;background:#f8fafc;border-radius:12px;padding:14px;margin-top:12px}.gobierno-task-picker label{color:#064e3b}.gobierno-task-picker select{margin-bottom:4px}
.gobierno-detail-actions{border-bottom:1px solid #dce3eb;margin:-2px 0 14px;padding-bottom:12px}

/* Paleta institucional azul petroleo / teal */
:root{
  --color-primary:#005F86;
  --color-primary-dark:#EEF4F7;
  --color-primary-darker:#F4F8FB;
  --color-primary-light:#0078A8;
  --color-primary-soft:rgba(0,95,134,.18);
  --bg-main:#F4F8FB;
  --bg-main-alt:#EEF4F7;
  --bg-sidebar:#002538;
  --bg-card:#FFFFFF;
  --bg-card-hover:#0A4B68;
  --bg-workspace:#F4F8FB;
  --bg-workspace-alt:#EEF4F7;
  --border-soft:rgba(0,120,168,.45);
  --border-strong:rgba(0,120,168,.75);
  --accent-main:#00A6D6;
  --accent-soft:rgba(0,166,214,.18);
  --text-title:#F8FAFC;
  --text-main:#E5EEF5;
  --text-muted:#A9C3D1;
  --success-bg:rgba(34,197,94,.16);
  --success-text:#86EFAC;
  --warning-bg:rgba(245,158,11,.16);
  --warning-text:#FCD34D;
  --danger-bg:rgba(239,68,68,.16);
  --danger-text:#FCA5A5;
  --shadow-card:0 18px 40px rgba(0,0,0,.28);
  --radius-card:18px;
  --radius-button:12px;
}
body{
  background:var(--bg-main);
  color:var(--text-main);
}
.app-sidebar{
  background:var(--bg-sidebar);
  border-right:1px solid var(--border-soft);
}
.app-main{
  background:var(--bg-main);
}
.dashboard-shell,
.panel-shell,
.module-card,
.kpi-card,
.report-kpi-card,
.seguimiento-kpi-card,
.dotacion-kpi-card,
.gobierno-kpi-card,
.client-section,
.ficha-header,
.ficha-cliente,
.empresa-ranking-card,
.empresa-report-detail,
.info-record-card,
.auth-card,
.main-menu-card,
.card,
.report-section,
.seguimiento-section,
.seguimiento-client-card,
.dotacion-section,
.gobierno-section,
.facultades-summary-panel{
  background:linear-gradient(145deg,var(--bg-card),var(--bg-main-alt));
  border-color:var(--border-soft);
  box-shadow:var(--shadow-card);
  color:var(--text-main);
}
.module-card:hover,
.sidebar-module-btn:hover,
.sidebar-primary-item:hover,
.sidebar-submenu-item:hover,
.gobierno-kpi-card:hover{
  border-color:var(--border-strong);
  background:var(--bg-card-hover);
}
.btn-primary,
.primary-btn,
button.primary,
.module-button.primary{
  background:var(--color-primary);
  color:var(--text-title);
  border-color:var(--color-primary-light);
}
.btn-primary:hover,
.primary-btn:hover,
button.primary:hover,
.module-button.primary:hover{
  background:var(--color-primary-light);
}
.logout-outline-btn,
.btn-outline,
.install-app-btn,
.tab-btn,
.empresa-tab-btn,
.seguimiento-tab-btn,
.dotacion-tab-btn,
.gobierno-tab-btn,
.gestion-comercial-tab-btn{
  background:transparent;
  color:var(--accent-main);
  border-color:var(--border-strong);
}
.logout-outline-btn:hover,
.btn-outline:hover,
.install-app-btn:hover,
.tab-btn:hover,
.empresa-tab-btn:hover,
.seguimiento-tab-btn:hover,
.dotacion-tab-btn:hover,
.gobierno-tab-btn:hover,
.gestion-comercial-tab-btn:hover{
  background:var(--accent-soft);
  color:var(--text-title);
}
.sidebar-primary-item.active,
.sidebar-module-btn.active,
.sidebar-submenu-item.active,
.tab-btn.active,
.empresa-tab-btn.active,
.seguimiento-tab-btn.active,
.dotacion-tab-btn.active,
.gobierno-tab-btn.active,
.gestion-comercial-tab-btn.active{
  background:var(--accent-soft);
  color:var(--text-title);
  border-color:var(--border-strong);
}
.sidebar-section-title,
.brand-mark,
.dashboard-home-title,
.client-section-title,
.facultades-reminder-box h4{
  color:var(--accent-main);
}
input,
select,
textarea{
  background:#FFFFFF;
  color:var(--text-main);
  border-color:rgba(169,195,209,.28);
}
input:focus,
select:focus,
textarea:focus{
  border-color:var(--accent-main);
  outline:2px solid var(--accent-soft);
}
::placeholder{
  color:var(--text-muted);
}
table th{
  background:rgba(0,95,134,.28);
  color:var(--text-title);
}
table td{
  border-color:rgba(169,195,209,.14);
}
tr:hover{
  background:rgba(0,166,214,.08);
}
.empresa-ranking-sparkline-fill,
.report-bar span,
.dotacion-bar b,
.assistance-bar b,
.seguimiento-bar b,
.gobierno-bar-track div{
  background:var(--accent-main);
}
.empresa-ranking-sparkline-track,
.report-bar,
.dotacion-bar,
.assistance-bar,
.seguimiento-bar,
.gobierno-bar-track{
  background:rgba(169,195,209,.22);
}
.empresa-ranking-sparkline-marker{
  background:var(--color-primary);
  color:var(--text-title);
  border:1px solid var(--accent-main);
}
.status-badge.active,
.commercial-status-badge.active{
  background:var(--success-bg);
  color:var(--success-text);
  border:1px solid rgba(134,239,172,.25);
}
.auth-gate{
  background:var(--bg-main);
}
.google-login-btn{
  background:#fff;
  color:#1f2937!important;
  border:1px solid rgba(148,163,184,.45);
}
.google-login-btn span,
.google-login-text{
  color:#1f2937!important;
}
.google-login-btn:hover{
  background:#f8fafc;
  color:#111827!important;
}
@media print{
  body{background:#fff;color:#1f2937}
}
@media(max-width:1180px){.topbar,.panel-access,.grid-main,.grid-2,.grid-acta,.form-grid,.control-grid,.control-text-grid,.signature-grid,.module-grid,.executive-meta-grid,.kpi-dashboard,.reunion-grid,.empresa-form-grid,.empresa-upload-grid,.empresa-summary-grid,.report-filter-row,.report-kpi-grid,.info-toolbar,.ficha-header-grid,.client-info-grid,.client-kpi-grid,.alertas-comerciales,.seguimiento-kpi-grid,.seguimiento-client-grid,.empresa-rankings-grid,.no-visits-indicator,.seguimiento-kpi-dashboard,.seguimiento-dashboard-grid,.seguimiento-bottom-grid,.seguimiento-ficha-grid,.seguimiento-donut-wrap{grid-template-columns:1fr}.join-row,.main-menu-head,.executive-title-row,.reunion-header,.seguimiento-header,.seguimiento-client-header,.empresa-report-detail-header,.seguimiento-panel-title-row{flex-direction:column}.executive-page{min-height:auto}.info-preview{white-space:normal}.seguimiento-bar-row{grid-template-columns:1fr}.seguimiento-inline-select{max-width:100%;width:100%}}
@media(max-width:1180px){.dotacion-filters,.dotacion-kpi-grid{grid-template-columns:1fr 1fr}.dotacion-bar-row{grid-template-columns:1fr}}
@media(max-width:760px){.facultades-modern-toolbar{align-items:stretch;flex-direction:column}.facultades-quick-filter{min-width:0}.facultades-modern-table{font-size:13px}.facultades-modern-table th,.facultades-modern-table td{padding:9px 8px}.facultades-modern-table td:first-child{min-width:210px}.facultades-modern-table .optional-mobile{display:none}}
@media(max-width:760px){.dotacion-filters,.dotacion-kpi-grid{grid-template-columns:1fr}}
@media(max-width:1180px){.gobierno-kpi-grid,.gobierno-dashboard-grid,.gobierno-filters,.gobierno-form,.gobierno-detail-grid{grid-template-columns:1fr}.gobierno-section-head,.gobierno-detail-head{flex-direction:column}.gobierno-bar-row{grid-template-columns:1fr}}
@media print{@page{size:A4;margin:12mm}body{background:#fff}.print-hide,.tabs,.topbar,.panel-access,.main-menu,.auth-gate{display:none!important}.container{max-width:100%;padding:0}.tab-panel{display:none!important}#acta{display:block!important}.card{box-shadow:none;border:0;padding:0}.print-sheet{border:0;padding:0}.grid-acta{display:block}.editable-acta,.editable-system-comment{border:0;padding:0;outline:0}.acta-print-document{display:block}.print-page{border:0;border-radius:0;margin:0;padding:0;page-break-after:always;break-after:page}.print-page:last-child{page-break-after:auto;break-after:auto}.executive-page{min-height:calc(297mm - 24mm);max-height:calc(297mm - 24mm);overflow:hidden;display:flex;flex-direction:column}.signatures-footer{margin-top:auto}.controls-matrix-table thead{display:table-header-group}.controls-matrix-table tr{break-inside:avoid;page-break-inside:avoid}.executive-section,.signatures-table{break-inside:avoid;page-break-inside:avoid}}

/* Dark Mode Ejecutivo: capa visual para login y panel principal */
:root{
  --bg-main:#071426;
  --bg-main-alt:#0A1B31;
  --bg-sidebar:#061225;
  --bg-card:#1C232B;
  --bg-card-hover:#242D36;
  --bg-workspace:#171D24;
  --bg-workspace-alt:#202832;
  --border-soft:rgba(0, 120, 168, .45);
  --border-strong:rgba(0, 120, 168, .75);
  --accent-main:#00A6D6;
  --accent-soft:rgba(0, 120, 168, .16);
  --text-title:#F8FAFC;
  --text-main:#E5E7EB;
  --text-muted:#94A3B8;
  --success-bg:rgba(34,197,94,.16);
  --success-text:#86EFAC;
  --warning-bg:rgba(245,158,11,.16);
  --warning-text:#FCD34D;
  --danger-bg:rgba(239,68,68,.16);
  --danger-text:#FCA5A5;
  --icon-green-bg:rgba(74,222,128,.14);
  --icon-blue-bg:rgba(96,165,250,.14);
  --icon-pink-bg:rgba(244,114,182,.14);
  --icon-violet-bg:rgba(167,139,250,.14);
  --icon-teal-bg:rgba(45,212,191,.14);
  --shadow-card:0 18px 40px rgba(0,0,0,.28);
  --radius-card:18px;
  --radius-button:12px;
}
body{font-family:Inter,Roboto,"Segoe UI",Arial,Helvetica,sans-serif}
.auth-gate{
  background:
    radial-gradient(circle at top left,rgba(0, 120, 168, .12),transparent 34%),
    linear-gradient(135deg,var(--bg-main),var(--bg-main-alt));
}
.auth-card{
  background:var(--bg-surface)!important;
  border:1px solid var(--border-soft);
  border-radius:20px;
  box-shadow:var(--shadow-card);
  color:var(--text-main);
}
.auth-brand{justify-content:center;margin-bottom:22px}
.auth-card h1{color:var(--text-title)}
.auth-card p,.auth-message{color:var(--text-muted)}
.google-login-btn{
  background:#fff;
  color:#1f2937!important;
  border:1px solid rgba(148,163,184,.45);
  border-radius:8px;
  box-shadow:0 12px 24px rgba(0,0,0,.2);
}
.google-login-btn span,
.google-login-btn .google-login-text{color:#1f2937!important}
.google-login-btn:hover{
  background:#f8fafc;
  color:#111827!important;
  border-color:var(--accent-main);
}
.google-login-btn:hover span,
.google-login-btn:hover .google-login-text{color:#111827!important}
.brand{display:flex;align-items:center;gap:10px;color:var(--text-title);font-weight:800;letter-spacing:.02em}
.brand-mark{width:34px;height:34px;color:var(--accent-main);display:inline-flex}
.brand-mark svg{width:100%;height:100%;display:block}
.main-menu{
  min-height:100vh;
  display:block;
  padding:0;
  background:
    radial-gradient(circle at top right,rgba(0, 120, 168, .08),transparent 30%),
    linear-gradient(135deg,var(--bg-main),var(--bg-main-alt));
}
.app-layout{width:100%;min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}
.app-sidebar{
  position:sticky;
  top:0;
  height:100vh;
  background:var(--bg-sidebar);
  border-right:1px solid var(--border-soft);
  padding:24px 18px;
  display:flex;
  flex-direction:column;
  gap:28px;
}
.sidebar-nav{display:grid;gap:8px}
.sidebar-nav-item{
  width:100%;
  border:1px solid transparent;
  border-left:3px solid transparent;
  background:transparent;
  color:var(--text-muted);
  border-radius:12px;
  padding:12px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  text-align:left;
}
.sidebar-nav-item:hover,
.sidebar-nav-item.active{
  background:var(--accent-soft);
  border-color:rgba(0, 120, 168, .28);
  border-left-color:var(--accent-main);
  color:var(--text-title);
}
.sidebar-nav-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 18px}
.sidebar-nav-icon svg{width:100%;height:100%;display:block;fill:currentColor}
.app-main{padding:34px;display:flex;align-items:center;justify-content:center;min-width:0}
.mobile-header{display:none}
.dashboard-shell,
.main-menu-card{
  width:min(980px,100%);
  background:var(--bg-surface);
  border:1px solid var(--border-soft);
  border-radius:24px;
  box-shadow:var(--shadow-card);
  padding:30px;
}
.dashboard-header{align-items:flex-start;margin-bottom:24px}
.dashboard-title-block h2,
.main-menu-head h2{color:var(--text-title);font-size:30px}
.dashboard-title-block p,
.main-menu-head p{color:var(--text-muted)}
.dashboard-profile{
  display:inline-flex;
  margin-top:8px;
  padding:7px 10px;
  border-radius:999px;
  border:1px solid rgba(0, 120, 168, .22);
  background:rgba(0, 120, 168, .08);
  color:var(--accent-main)!important;
}
.logout-outline-btn{
  background:transparent;
  border:1px solid var(--border-soft);
  color:var(--accent-main);
  border-radius:var(--radius-button);
}
.logout-outline-btn:hover{background:var(--accent-soft);border-color:var(--border-strong);color:var(--text-title)}
.main-menu .module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.main-menu .module-button.module-card{
  position:relative;
  min-height:180px;
  background:linear-gradient(145deg,rgba(30,38,47,.98),rgba(24,31,39,.98));
  border:1px solid var(--border-soft);
  border-radius:var(--radius-card);
  box-shadow:var(--shadow-card);
  padding:22px;
  color:var(--text-main);
  display:grid;
  grid-template-columns:46px 1fr;
  gap:16px;
  cursor:pointer;
  transition:transform .18s ease,border-color .18s ease,background .18s ease;
}
.main-menu .module-button.module-card:hover{
  transform:translateY(-2px);
  border-color:var(--border-strong);
  background:linear-gradient(145deg,rgba(38,48,59,.98),rgba(30,38,47,.98));
}
.main-menu .module-button.module-card.active,
.main-menu .module-button.module-card.disabled{background:linear-gradient(145deg,rgba(30,38,47,.98),rgba(24,31,39,.98));border-color:var(--border-soft);color:var(--text-main)}
.main-menu .module-card-icon.module-icon{
  width:46px;
  height:46px;
  border-radius:14px;
  padding:11px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.icon-green{background:var(--icon-green-bg);color:#86EFAC}
.icon-blue{background:var(--icon-blue-bg);color:#93C5FD}
.icon-pink{background:var(--icon-pink-bg);color:#F9A8D4}
.icon-violet{background:var(--icon-violet-bg);color:#C4B5FD}
.icon-teal{background:var(--icon-teal-bg);color:#5EEAD4}
.main-menu .module-content{gap:12px;padding-right:6px}
.main-menu .module-title{color:var(--text-title);font-size:19px;line-height:1.22}
.main-menu .module-description{color:var(--text-muted);font-size:14px;line-height:1.45}
.main-menu .status-badge.active,
.main-menu .module-badge.active{
  position:absolute;
  top:18px;
  right:18px;
  background:var(--success-bg);
  color:var(--success-text);
  border:1px solid rgba(134,239,172,.25);
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  padding:5px 10px;
  letter-spacing:.03em;
}
.main-menu .module-card-arrow{display:none}
.module-button:focus-visible,
.sidebar-nav-item:focus-visible,
.sidebar-module-btn:focus-visible,
.mobile-nav-item:focus-visible,
.logout-outline-btn:focus-visible,
.google-login-btn:focus-visible{outline:3px solid var(--accent-main);outline-offset:3px}
.mobile-bottom-nav{display:none}
button:disabled,.disabled[disabled]{opacity:.55;cursor:not-allowed}
@media(max-width:1100px){
  .main-menu .module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .app-main{padding:24px}
}
@media(max-width:768px){
  .main-menu{display:block;padding:0}
  .app-layout{display:block;min-height:100vh}
  .app-sidebar{display:none}
  .mobile-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:16px;
  }
  .mobile-header-title{color:var(--text-muted);font-size:13px;font-weight:800}
  .app-main{display:block;padding:16px 16px 88px}
  .dashboard-shell,.main-menu-card{padding:18px;border-radius:18px}
  .dashboard-header{gap:14px}
  #btnMainLogout{display:none}
  .dashboard-title-block h2,.main-menu-head h2{font-size:24px}
  .main-menu .module-grid{grid-template-columns:1fr;gap:12px}
  .main-menu .module-button.module-card{
    min-height:auto;
    grid-template-columns:44px 1fr auto;
    align-items:center;
    gap:12px;
    padding:16px;
  }
  .main-menu .module-card-icon.module-icon{width:44px;height:44px}
  .main-menu .module-content{gap:5px;padding-right:0}
  .main-menu .module-title{font-size:16px}
  .main-menu .module-description{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    font-size:12.5px;
  }
  .main-menu .status-badge.active,.main-menu .module-badge.active{position:static;justify-self:start;font-size:10px;padding:4px 8px}
  .main-menu .module-card-arrow{display:block;color:var(--accent-main);font-size:22px;font-weight:800}
  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    height:66px;
    background:var(--bg-sidebar);
    border-top:1px solid var(--border-soft);
    display:flex;
    align-items:center;
    justify-content:space-around;
    z-index:1000;
  }
  .mobile-nav-item{
    border:0;
    background:transparent;
    color:var(--text-muted);
    font-size:12px;
    padding:8px;
  }
  .mobile-nav-item.active,.mobile-nav-item:hover{color:var(--accent-main)}
}

/* Dark Mode Ejecutivo: aplicación visual global a paneles internos */
body{
  background:
    radial-gradient(circle at top right,rgba(0, 120, 168, .07),transparent 30%),
    linear-gradient(135deg,var(--bg-main),var(--bg-main-alt));
  color:var(--text-main);
}
body > .container,
body > section.container,
#appShell,
#adminUsersPanel,
#empresaShell,
#infoShell,
#gestionComercialShell,
#gestionGobiernoShell{
  max-width:1480px;
  padding:24px;
  color:var(--text-main);
}
.card:not(.auth-card):not(.main-menu-card){
  background:var(--bg-surface);
  border:1px solid var(--border-soft);
  border-radius:18px;
  box-shadow:var(--shadow-card);
  color:var(--text-main);
}
.card:not(.auth-card):not(.main-menu-card) h1,
.card:not(.auth-card):not(.main-menu-card) h2,
.card:not(.auth-card):not(.main-menu-card) h3,
.container h1,
.container h2,
.container h3{
  color:var(--text-title);
}
.card:not(.auth-card):not(.main-menu-card) p,
.card:not(.auth-card):not(.main-menu-card) .small,
.container .small{
  color:var(--text-muted);
}
.hero{
  background:linear-gradient(145deg,rgba(17,34,64,.96),var(--bg-sidebar))!important;
  border:1px solid var(--border-soft)!important;
}
.hero h1,.hero p{color:var(--text-title)!important}
.metric strong,
.kpi strong,
.report-kpi-card strong,
.seguimiento-kpi-card strong,
.dotacion-kpi-card strong,
.client-kpi-card strong,
.gobierno-kpi-card strong{
  color:var(--accent-main);
}
.metric span,
.kpi span,
.report-kpi-card span,
.seguimiento-kpi-card span,
.dotacion-kpi-card span,
.client-kpi-card span,
.gobierno-kpi-card span{
  color:var(--text-muted);
}
.status-strip span,
.badge,
.empresa-status-badge,
.commercial-status-badge,
.status-badge,
.gobierno-badge{
  background:rgba(0, 120, 168, .1);
  border-color:rgba(0, 120, 168, .28);
  color:var(--accent-main);
}
.back-menu-bar button,
button{
  background:var(--bg-surface);
  border:1px solid var(--border-soft);
  color:var(--text-main);
  border-radius:12px;
}
button:hover{
  background:rgba(38,48,59,.98);
  border-color:var(--border-strong);
  color:var(--text-title);
}
button.primary,
.primary{
  background:linear-gradient(145deg,rgba(0, 120, 168, .95),rgba(0, 63, 92, .95))!important;
  border-color:rgba(0, 120, 168, .8)!important;
  color:#081426!important;
}
button.danger{
  background:var(--danger-bg);
  color:var(--danger-text);
  border-color:rgba(252,165,165,.35);
}
input,
select,
textarea{
  background:rgba(12,24,39,.78);
  border:1px solid rgba(148,163,184,.28);
  color:var(--text-main);
  border-radius:12px;
}
input::placeholder,
textarea::placeholder{color:rgba(148,163,184,.72)}
input:focus,
select:focus,
textarea:focus{
  outline:3px solid rgba(0, 120, 168, .22);
  border-color:var(--border-strong);
}
select option,
select optgroup{
  background:#E8EEF5;
  color:#061225;
}
select option:checked{
  background:#8B857E;
  color:#1E293B;
}
label{color:var(--text-main)}
.tabs,
.empresa-tabs,
.gestion-comercial-tabs,
.gobierno-tabs,
.seguimiento-tabs,
.dotacion-tabs,
.facultades-subtabs,
.info-tabs{
  border-color:rgba(0, 120, 168, .22);
}
.tab-btn,
.gestion-comercial-tab-btn,
.gobierno-tab-btn,
.seguimiento-tab-btn,
.dotacion-tab-btn,
.facultades-subtab-btn{
  background:rgba(8,20,38,.66);
  border:1px solid rgba(0, 120, 168, .3);
  color:var(--text-muted);
}
.tab-btn.active,
.gestion-comercial-tab-btn.active,
.gobierno-tab-btn.active,
.seguimiento-tab-btn.active,
.dotacion-tab-btn.active,
.facultades-subtab-btn.active{
  background:var(--accent-soft);
  border-color:var(--border-strong);
  color:var(--accent-main);
}
.panel-access,
.report-filters,
.seguimiento-filters,
.dotacion-filters,
.empresa-visit-picker,
.gobierno-filters,
.gobierno-task-picker,
.client-selector-panel,
.web-info-box,
.control-catalog-admin,
.privacy-note,
.commercial-empty-state,
.dotacion-empty-state,
.dotacion-restricted-message,
.report-limited-view{
  background:var(--bg-surface-soft)!important;
  border:1px solid rgba(0, 120, 168, .25)!important;
  color:var(--text-main)!important;
}
table,
.report-table,
.seguimiento-table,
.dotacion-table,
.gobierno-table,
.product-matrix,
.html-tools-table,
.catalog-table,
.facultades-modern-table,
.dotacion-data-table{
  background:var(--bg-surface-soft);
  color:var(--text-main);
}
th,
.report-table th,
.seguimiento-table th,
.dotacion-table th,
.gobierno-table th,
.product-matrix th,
.html-tools-table th,
.facultades-modern-table th,
.dotacion-data-table th{
  background:rgba(0, 120, 168, .16)!important;
  color:var(--text-title)!important;
  border-color:rgba(0, 120, 168, .24)!important;
}
td,
.report-table td,
.seguimiento-table td,
.dotacion-table td,
.gobierno-table td,
.product-matrix td,
.html-tools-table td,
.facultades-modern-table td,
.dotacion-data-table td{
  background:var(--bg-surface-soft);
  color:var(--text-main);
  border-color:rgba(148,163,184,.18)!important;
}
tr:hover td{background:rgba(38,48,59,.96)!important}
.control-item,
.photo-preview-item,
.video-preview-box,
.empresa-visit-card,
.empresa-draft-picker,
.empresa-summary,
.empresa-summary-gallery img,
.foto-preview,
.foto-preview-error,
.report-section,
.report-kpi-card,
.seguimiento-section,
.seguimiento-client-card,
.seguimiento-panel,
.client-section,
.ficha-header,
.client-kpi-card,
.alerta-card,
.dotacion-section,
.dotacion-kpi-card,
.gobierno-section,
.gobierno-kpi-card,
.gobierno-detail,
.gobierno-detail-grid section,
.gobierno-action-form,
.html-viewer-wrapper,
.upload-item,
.kpi,
.kpi-box{
  background:var(--bg-surface)!important;
  border-color:rgba(0, 120, 168, .24)!important;
  color:var(--text-main)!important;
  box-shadow:0 10px 26px rgba(0,0,0,.18);
}
.control-title,
.module-title,
.empresa-visit-card h3,
.seguimiento-section h3,
.seguimiento-section h4,
.seguimiento-client-header h3,
.client-section-title,
.ficha-header h3,
.report-section h3,
.dotacion-section h3,
.gobierno-section h3,
.gobierno-action-form h4{
  color:var(--text-title)!important;
}
.empresa-visit-card p,
.upload-item span,
.photo-preview-item span,
.video-preview-box span,
.client-info-item span,
.seguimiento-ficha-grid b,
.report-ranking-item span{
  color:var(--text-muted)!important;
}
.client-info-item,
.seguimiento-text-block,
.seguimiento-ficha-notes>div,
.editable-acta,
.editable-system-comment,
.minutes-section,
.html-viewer{
  background:rgba(12,24,39,.78)!important;
  border-color:rgba(0, 120, 168, .22)!important;
  color:var(--text-main)!important;
}
.minutes-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}
.report-bar,
.seguimiento-bar,
.dotacion-bar,
.assistance-bar,
.gobierno-bar-track{
  background:rgba(148,163,184,.2)!important;
}
.report-bar span,
.seguimiento-bar b,
.dotacion-bar b,
.assistance-bar b,
.gobierno-bar-track div{
  background:linear-gradient(90deg,var(--accent-main),#8dd3c7)!important;
}
.status-badge.valid,
.badge.ok,
.empresa-status-badge.finalizado,
.dotacion-risk-badge.low,
.seguimiento-quality-badge.green,
.seguimiento-priority-badge.low{
  background:var(--success-bg)!important;
  color:var(--success-text)!important;
  border-color:rgba(134,239,172,.25)!important;
}
.status-badge.expired,
.badge.danger,
.dotacion-risk-badge.high,
.seguimiento-quality-badge.red,
.seguimiento-priority-badge.high,
.gobierno-badge.vencida,
.gobierno-badge.alta{
  background:var(--danger-bg)!important;
  color:var(--danger-text)!important;
  border-color:rgba(252,165,165,.28)!important;
}
.badge.warn,
.dotacion-risk-badge.medium,
.seguimiento-quality-badge.yellow,
.seguimiento-priority-badge.medium,
.gobierno-badge.por-vencer,
.gobierno-badge.media{
  background:var(--warning-bg)!important;
  color:var(--warning-text)!important;
  border-color:rgba(252,211,77,.24)!important;
}
.print-sheet,
.acta-final,
.print-page,
.executive-page,
.annex-page{
  background:#fff!important;
  color:#1f2937!important;
}
.print-sheet h1,
.print-sheet h2,
.print-sheet h3,
.acta-final h1,
.acta-final h2,
.acta-final h3,
.print-page h1,
.print-page h2,
.print-page h3{
  color:#143b63!important;
}
@media print{
  body{background:#fff!important;color:#111827!important}
  .card,table,th,td{background:#fff!important;color:#111827!important}
}

/* Correcciones de contraste para dashboards internos */
.seguimiento-kpi-card,
.seguimiento-kpi-modern,
.report-kpi-card,
.dotacion-kpi-card,
.gobierno-kpi-card,
.client-kpi-card,
.metric,
.kpi{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .34)!important;
  color:var(--text-main)!important;
}
.seguimiento-kpi-card span,
.seguimiento-kpi-modern span:not(.seguimiento-kpi-icon),
.report-kpi-card span,
.dotacion-kpi-card span,
.gobierno-kpi-card span,
.client-kpi-card span{
  color:#A9B4C2!important;
}
.seguimiento-kpi-card strong,
.seguimiento-kpi-modern strong,
.report-kpi-card strong,
.dotacion-kpi-card strong,
.gobierno-kpi-card strong,
.client-kpi-card strong{
  color:var(--accent-main)!important;
}
.seguimiento-kpi-card small,
.seguimiento-kpi-modern small,
.positive-delta{
  color:#8DD3A8!important;
}
.negative-delta{
  color:#E8A09D!important;
}
.seguimiento-kpi-icon{
  background:linear-gradient(145deg,rgba(0,112,101,.98),rgba(0,78,72,.98))!important;
  box-shadow:0 10px 22px rgba(0,0,0,.22)!important;
}
.seguimiento-client-card,
.seguimiento-panel,
.seguimiento-section{
  background:var(--bg-surface)!important;
  color:var(--text-main)!important;
}
.seguimiento-ficha-grid p,
.seguimiento-ficha-grid span,
.seguimiento-ficha-grid b,
.seguimiento-client-card p,
.seguimiento-client-card span,
.seguimiento-client-card strong,
.seguimiento-panel p,
.seguimiento-panel span,
.seguimiento-panel strong{
  color:var(--text-main)!important;
}
.seguimiento-ficha-grid b,
.seguimiento-panel h3,
.seguimiento-panel h4,
.seguimiento-client-card h3,
.seguimiento-client-card h4{
  color:var(--text-title)!important;
}
.seguimiento-ficha-grid span,
.seguimiento-panel p,
.seguimiento-client-card p{
  color:var(--text-main)!important;
  opacity:.96;
}
.seguimiento-ficha-notes>div,
.seguimiento-text-block{
  background:rgba(8,20,38,.78)!important;
  border:1px solid rgba(0, 120, 168, .24)!important;
}
.seguimiento-ficha-notes h4,
.seguimiento-text-block h4{
  color:var(--accent-main)!important;
}
.seguimiento-client-selector{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .3)!important;
  color:var(--text-main)!important;
}
.seguimiento-client-selector label{
  color:var(--accent-main)!important;
  opacity:1!important;
}
.seguimiento-client-selector select,
.seguimiento-inline-select{
  background:#FFFFFF!important;
  color:var(--text-title)!important;
  border:1px solid rgba(0, 120, 168, .42)!important;
}
.empresa-rankings-section{
  max-height:none!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
  display:grid!important;
  grid-auto-rows:auto!important;
  gap:8px!important;
  padding:10px!important;
  margin-bottom:18px!important;
  contain:layout;
}
.empresa-rankings-grid{
  display:block!important;
  height:auto!important;
  min-height:0!important;
  overflow:visible!important;
}
.empresa-rankings-unified{
  width:100%;
  height:auto!important;
  min-height:0!important;
  overflow:visible;
  display:block;
}
.empresa-ranking-unified-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.empresa-ranking-unified-table th,
.empresa-ranking-unified-table td{
  padding:4px 7px;
  border-bottom:1px solid rgba(148,163,184,.12);
  vertical-align:middle;
}
.empresa-ranking-unified-table th{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.03em;
  color:var(--accent-main)!important;
  background:rgba(8,20,38,.38)!important;
}
.empresa-ranking-unified-table .rank-pos{
  width:46px;
  text-align:center;
}
.empresa-ranking-unified-table .rank-trend{
  width:58px;
  text-align:center;
}
.empresa-ranking-unified-table tbody tr.empresa-ranking-row{
  display:table-row!important;
  width:auto!important;
  grid-template-columns:none!important;
  gap:0!important;
  align-items:initial!important;
  padding:0!important;
  text-align:initial!important;
  background:transparent!important;
  border:0!important;
  color:var(--text-main)!important;
  cursor:default!important;
}
.empresa-ranking-unified-table tbody tr.empresa-ranking-row:hover{
  background:rgba(0, 120, 168, .06)!important;
  border:0!important;
  box-shadow:none!important;
}
.empresa-ranking-unified-table tbody tr.empresa-ranking-row.selected{
  background:rgba(0, 120, 168, .1)!important;
  box-shadow:none!important;
  border:0!important;
  font-weight:inherit!important;
}
.empresa-ranking-unified-table tbody tr.empresa-ranking-row td{
  display:table-cell!important;
  width:auto!important;
  padding:4px 7px!important;
  border-bottom:1px solid rgba(148,163,184,.12)!important;
  text-align:left!important;
}
.empresa-ranking-unified-table tbody tr.empresa-ranking-row td.rank-pos,
.empresa-ranking-unified-table tbody tr.empresa-ranking-row td.rank-trend{
  text-align:center!important;
}
.empresa-ranking-sucursal{
  display:block;
  color:var(--text-title);
  font-size:12px;
  font-weight:700;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.empresa-ranking-microcell{
  width:100%;
  border:0;
  background:transparent;
  color:var(--text-main);
  padding:0;
  cursor:pointer;
}
.empresa-ranking-microcell:hover .empresa-ranking-sparkline-track,
.empresa-ranking-microcell.selected .empresa-ranking-sparkline-track{
  background:rgba(0, 120, 168, .28);
}
.empresa-ranking-microcell.selected .empresa-ranking-sparkline-marker{
  background:rgba(0, 120, 168, .28);
  color:var(--accent-main);
  border-color:rgba(0, 120, 168, .46);
}
.empresa-ranking-sparkline{
  display:flex;
  align-items:center;
  gap:6px;
}
.empresa-ranking-sparkline-track{
  position:relative;
  flex:1;
  height:2px;
  background:rgba(148,163,184,.25);
  border-radius:999px;
  overflow:hidden;
}
.empresa-ranking-sparkline-fill{
  position:absolute;
  left:0;
  top:0;
  height:2px;
  background:#9adfd3;
  border-radius:999px;
}
.empresa-ranking-sparkline-marker{
  min-width:20px;
  height:20px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:10px;
  font-weight:800;
  background:rgba(0, 120, 168, .16);
  color:var(--text-title);
  border:1px solid rgba(0, 120, 168, .24);
}
.empresa-ranking-trend{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}
.empresa-ranking-trend.up{
  color:#86efac;
  background:rgba(34,197,94,.12);
}
.empresa-ranking-trend.down{
  color:#fca5a5;
  background:rgba(239,68,68,.12);
}
.empresa-ranking-trend.flat{
  color:#cbd5e1;
  background:rgba(148,163,184,.12);
}
.seguimiento-client-header{
  border-bottom-color:rgba(0, 120, 168, .28)!important;
}
.seguimiento-client-header .empresa-status-badge,
.seguimiento-ficha-grid .empresa-status-badge{
  background:rgba(0, 120, 168, .16)!important;
  color:var(--accent-main)!important;
  border:1px solid rgba(0, 120, 168, .3)!important;
}
.seguimiento-donut{
  color:var(--text-title)!important;
}
.seguimiento-donut:before{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .18);
}
.seguimiento-donut strong{
  color:var(--accent-main)!important;
}
.seguimiento-donut span{
  color:var(--text-muted)!important;
}
.seguimiento-donut-legend b{
  color:var(--text-title)!important;
}
.seguimiento-donut-legend em{
  color:var(--text-muted)!important;
}
.seguimiento-map-visual{
  background:
    linear-gradient(135deg,rgba(0, 120, 168, .12),rgba(45,212,191,.12)),
    rgba(8,20,38,.72)!important;
  color:var(--text-title)!important;
  border:1px solid rgba(0, 120, 168, .24);
}
.seguimiento-map-visual strong{
  color:var(--success-text)!important;
}
.seguimiento-map-visual:before,
.seguimiento-map-visual:after{
  border-color:rgba(0, 120, 168, .18)!important;
}
.seguimiento-map-pin{
  background:var(--accent-main)!important;
}
.seguimiento-evidence-thumb,
.seguimiento-evidence-strip img,
.empresa-summary-gallery img,
.foto-preview img{
  background:rgba(8,20,38,.72)!important;
  border:1px solid rgba(0, 120, 168, .35)!important;
}
.seguimiento-evidence-thumb span,
.seguimiento-evidence-thumb strong,
.empresa-summary-gallery figcaption,
.foto-preview span{
  color:var(--text-main)!important;
}
.seguimiento-table,
.empresa-detail-table,
.report-table,
.gobierno-table,
.dotacion-table{
  color:var(--text-main)!important;
}
.seguimiento-table td,
.empresa-detail-table td,
.report-table td,
.gobierno-table td,
.dotacion-table td{
  color:var(--text-main)!important;
}
.seguimiento-table a,
.empresa-detail-table a,
.report-table a{
  color:var(--accent-main)!important;
}

/* Reportes empresariales: rankings y detalle en paleta gris perlado */
.empresa-rankings-section,
.empresa-report-detail{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .3)!important;
  color:var(--text-main)!important;
}
.empresa-rankings-section h3,
.empresa-ranking-card h4,
.empresa-report-detail-header h3{
  color:var(--text-title)!important;
}
.empresa-rankings-section .small,
.empresa-report-filter-label{
  color:var(--text-muted)!important;
}
.empresa-ranking-card{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .28)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.18)!important;
}
.empresa-ranking-row{
  background:rgba(12,24,39,.78)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:var(--text-main)!important;
}
.empresa-ranking-row:hover{
  background:rgba(38,48,59,.98)!important;
  border-color:rgba(0, 120, 168, .58)!important;
}
.empresa-ranking-row.selected{
  background:rgba(0, 120, 168, .16)!important;
  border-color:var(--border-strong)!important;
  box-shadow:0 0 0 2px rgba(0, 120, 168, .18)!important;
}
.empresa-ranking-position{
  background:rgba(0, 120, 168, .14)!important;
  color:var(--accent-main)!important;
  border:1px solid rgba(0, 120, 168, .28);
}
.empresa-ranking-label strong,
.empresa-ranking-total{
  color:var(--text-title)!important;
}
.empresa-ranking-label small{
  color:var(--text-muted)!important;
}
.empresa-ranking-bar{
  background:rgba(148,163,184,.22)!important;
}
.empresa-ranking-bar b{
  background:linear-gradient(90deg,var(--accent-main),#8DD3C7)!important;
}
.empresa-detail-table th{
  background:rgba(0, 120, 168, .16)!important;
  color:var(--text-title)!important;
}
.empresa-detail-table td{
  background:var(--bg-surface)!important;
  color:var(--text-main)!important;
}
.empresa-report-detail-scroll{
  max-height:560px;
  overflow-y:auto;
  overflow-x:auto;
  border:1px solid var(--border-soft);
  border-radius:14px;
}
.empresa-report-detail-scroll::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.empresa-report-detail-scroll::-webkit-scrollbar-track{
  background:rgba(148,163,184,.08);
}
.empresa-report-detail-scroll::-webkit-scrollbar-thumb{
  background:rgba(0, 120, 168, .55);
  border-radius:999px;
}
.empresa-report-detail-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(0, 120, 168, .75);
}
.empresa-detail-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.empresa-detail-table th,
.empresa-detail-table td{
  vertical-align:top;
  padding:10px 8px;
  border-bottom:1px solid rgba(148,163,184,.16);
}
.empresa-detail-table td .cell-clamp-2,
.empresa-detail-table td.cell-clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height:1.35;
  max-height:2.7em;
  word-break:break-word;
}
.empresa-monthly-detail-scroll{
  max-height:430px;
  overflow-y:auto;
  overflow-x:auto;
  border:1px solid var(--border-soft);
  border-radius:14px;
}
.empresa-monthly-detail-scroll::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.empresa-monthly-detail-scroll::-webkit-scrollbar-track{
  background:rgba(148,163,184,.08);
}
.empresa-monthly-detail-scroll::-webkit-scrollbar-thumb{
  background:rgba(0, 120, 168, .55);
  border-radius:999px;
}
.empresa-monthly-detail-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(0, 120, 168, .75);
}
.empresa-monthly-detail-table{
  min-width:680px;
}
.seguimiento-text-preview{
  width:100%;
  display:-webkit-box;
  -webkit-line-clamp:10;
  line-clamp:10;
  -webkit-box-orient:vertical;
  max-height:15em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  text-align:left;
  line-height:1.5;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--text-main);
  padding:0;
  cursor:pointer;
}
.seguimiento-text-preview:hover,
.seguimiento-text-preview:focus-visible{
  color:var(--text-title);
  outline:2px solid rgba(0, 120, 168, .5);
  outline-offset:4px;
}
.seguimiento-text-preview.seguimiento-oportunidad-scroll{
  max-height:15em;
  overflow:hidden;
  padding-right:0;
}
.text-preview-modal{
  position:fixed;
  inset:0;
  z-index:2400;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(0,0,0,.62);
}
.text-preview-modal.hidden{
  display:none!important;
}
.text-preview-modal-card{
  width:min(880px,100%);
  max-height:min(82vh,760px);
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  overflow:hidden;
  border:1px solid var(--border-soft);
  border-radius:18px;
  background:var(--bg-surface)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.45);
  color:var(--text-main);
}
.text-preview-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:18px 20px;
  border-bottom:1px solid rgba(0, 120, 168, .24);
}
.text-preview-modal-header h2{
  margin:0;
  color:var(--text-title);
}
.text-preview-modal-body{
  overflow:auto;
  padding:20px;
  line-height:1.55;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.text-preview-modal-body::-webkit-scrollbar{
  width:10px;
}
.text-preview-modal-body::-webkit-scrollbar-track{
  background:rgba(148,163,184,.08);
}
.text-preview-modal-body::-webkit-scrollbar-thumb{
  background:rgba(0, 120, 168, .55);
  border-radius:999px;
}
.seguimiento-sucursal-under-map{
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid rgba(0, 120, 168, .24);
}
.seguimiento-sucursal-under-map h3{
  margin:0 0 10px;
}
.seguimiento-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.seguimiento-section-head h3{
  margin:0;
}
.seguimiento-opportunities-scroll{
  max-height:650px;
  overflow-y:auto;
  overflow-x:auto;
  border:1px solid var(--border-soft);
  border-radius:14px;
}
.seguimiento-opportunities-scroll::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.seguimiento-opportunities-scroll::-webkit-scrollbar-track{
  background:rgba(148,163,184,.08);
}
.seguimiento-opportunities-scroll::-webkit-scrollbar-thumb{
  background:rgba(0, 120, 168, .55);
  border-radius:999px;
}
.seguimiento-opportunities-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(0, 120, 168, .75);
}
.seguimiento-opportunities-table{
  min-width:980px;
  table-layout:fixed;
}
.seguimiento-opportunities-table td .cell-clamp-2,
.seguimiento-opportunities-table td.cell-clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height:1.35;
  max-height:2.7em;
  word-break:break-word;
}
.seguimiento-quality-scroll{
  max-height:600px;
  overflow-y:auto;
  overflow-x:auto;
  border:1px solid var(--border-soft);
  border-radius:14px;
}
.seguimiento-quality-scroll::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.seguimiento-quality-scroll::-webkit-scrollbar-track{
  background:rgba(148,163,184,.08);
}
.seguimiento-quality-scroll::-webkit-scrollbar-thumb{
  background:rgba(0, 120, 168, .55);
  border-radius:999px;
}
.seguimiento-quality-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(0, 120, 168, .75);
}
.seguimiento-quality-table{
  min-width:860px;
  table-layout:fixed;
}
.seguimiento-quality-table td .cell-clamp-2,
.seguimiento-quality-table td.cell-clamp-2{
  display:-webkit-box;
  -webkit-line-clamp:2;
  line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height:1.35;
  max-height:2.7em;
  word-break:break-word;
}
.seguimiento-territorial-map-shell{
  position:relative;
  min-height:560px;
  border:1px solid var(--border-soft);
  border-radius:16px;
  overflow:hidden;
  background:rgba(8,20,38,.72);
}
.seguimiento-territorial-map{
  width:100%;
  min-height:560px;
  height:560px;
  background:rgba(8,20,38,.72);
}
.seguimiento-territorial-map .leaflet-popup-content-wrapper,
.seguimiento-territorial-map .leaflet-popup-tip{
  background:#17212c;
  color:var(--text-main);
  border:1px solid rgba(0, 120, 168, .28);
}
.seguimiento-territorial-map .leaflet-popup-content a{
  color:var(--accent-main);
  font-weight:900;
}
.seguimiento-map-overlay{
  position:absolute;
  z-index:500;
  left:14px;
  top:14px;
  display:grid;
  gap:2px;
  max-width:min(320px,calc(100% - 28px));
  padding:10px 12px;
  border:1px solid rgba(0, 120, 168, .45);
  border-radius:14px;
  background:rgba(8,20,38,.88);
  color:var(--text-main);
  box-shadow:0 10px 26px rgba(0,0,0,.26);
}
.seguimiento-map-overlay strong{
  color:var(--accent-main);
  font-size:24px;
  line-height:1;
}
.seguimiento-map-overlay span,
.seguimiento-map-overlay small{
  color:var(--text-muted);
  font-weight:800;
}
.seguimiento-map-empty-note{
  margin:10px 0 0;
  color:var(--text-muted);
}
@media(max-width:768px){
  .seguimiento-territorial-map-shell,
  .seguimiento-territorial-map{
    min-height:420px;
    height:420px;
  }
}


/* Desktop sidebar: paneles principales con solapas anidadas */
@media (min-width: 769px) {
  .app-sidebar,
  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    width: 280px !important;
    min-width: 280px !important;
    padding: 18px 16px !important;
    background: #005F86 !important;
    color: #FFFFFF !important;
    overflow-y: auto !important;
  }

  .app-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    width: 280px !important;
  }

  body.global-shell-active .panel-shell,
  body.global-shell-active #empresaVisitsModule,
  body.global-shell-active #informacionNormativaModule,
  body.global-shell-active #gestionComercialModule,
  body.global-shell-active #gestionGobiernoModule,
  body.global-shell-active #adminUsersPanel,
  body.global-shell-active #appShell {
    margin-left: 280px !important;
  }

  .sidebar-active-panel,
  #activePanelIndicator,
  .sidebar-submenu-title {
    display: none !important;
  }

  .sidebar-module-section.contextual .sidebar-section-label,
  .sidebar-module-section.contextual .sidebar-module-list {
    display: grid !important;
  }

  .sidebar-module-list {
    gap: 8px !important;
  }

  .sidebar-primary-item,
  .install-app-btn.sidebar-nav-item {
    min-height: 48px !important;
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 10px !important;
    align-items: center !important;
    padding: 9px 12px !important;
    border-radius: 14px !important;
    color: rgba(255, 255, 255, .88) !important;
    font-weight: 800 !important;
  }

  .sidebar-primary-item.active,
  .install-app-btn.sidebar-nav-item.active {
    background: #FFFFFF !important;
    color: #005F86 !important;
    box-shadow: 0 8px 22px rgba(0, 0, 0, .14) !important;
  }

  .sidebar-module-btn {
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 20px !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 10px 12px !important;
    border-radius: 16px !important;
    border: 1px solid transparent !important;
    color: rgba(255, 255, 255, .92) !important;
    text-align: left !important;
  }

  .sidebar-module-btn::after {
    content: "›";
    justify-self: center;
    color: currentColor;
    font-size: 20px;
    font-weight: 900;
    line-height: 1;
    opacity: .9;
  }

  .sidebar-module-btn.active::after {
    content: "▾";
  }

  .sidebar-module-btn:hover {
    background: rgba(255, 255, 255, .12) !important;
    color: #FFFFFF !important;
    transform: translateX(2px);
  }

  .sidebar-module-btn.active {
    background: var(--icon-color, #0D9488) !important;
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, .55) !important;
    transform: none !important;
    box-shadow:
      0 0 0 2px rgba(255, 255, 255, .12),
      0 0 18px rgba(255, 255, 255, .22),
      0 12px 26px rgba(0, 0, 0, .18) !important;
  }

  .sidebar-module-btn.active::before {
    content: "";
    position: absolute;
    left: -10px;
    top: 12px;
    bottom: 12px;
    width: 5px;
    border-radius: 999px;
    background: #FFFFFF;
    box-shadow: 0 0 12px rgba(255, 255, 255, .85);
  }

  .sidebar-module-btn.active .sidebar-item-label,
  .sidebar-module-btn.active > span:not(.sidebar-icon-wrap) {
    color: #FFFFFF !important;
    font-weight: 900 !important;
  }

  .sidebar-module-btn .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .18) !important;
    color: var(--icon-color, #FFFFFF) !important;
  }

  @supports (background: color-mix(in srgb, red 20%, white)) {
    .sidebar-module-btn:not(.active) .sidebar-icon-wrap {
      background: color-mix(in srgb, var(--icon-color, #FFFFFF) 20%, white) !important;
      color: var(--icon-color, #FFFFFF) !important;
    }
  }

  .sidebar-module-btn.active .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .22) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 14px rgba(255, 255, 255, .35) !important;
  }

  .sidebar-module-tabs {
    margin: 8px 0 12px 22px !important;
    padding-left: 14px !important;
    border-left: 2px solid rgba(255, 255, 255, .25) !important;
    display: grid !important;
    gap: 6px !important;
  }

  .sidebar-module-tabs.hidden {
    display: none !important;
  }

  .sidebar-tab-btn {
    width: 100% !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .82) !important;
    text-align: left !important;
    cursor: pointer;
    transition:
      background .18s ease,
      color .18s ease,
      box-shadow .18s ease,
      transform .18s ease !important;
  }

  .sidebar-tab-btn:hover {
    background: rgba(255, 255, 255, .10) !important;
    color: #FFFFFF !important;
    transform: translateX(2px);
  }

  .sidebar-tab-btn.active {
    background: #FFFFFF !important;
    color: var(--module-color, #005F86) !important;
    border-color: rgba(255, 255, 255, .8) !important;
    transform: none !important;
    box-shadow:
      0 0 0 2px rgba(255, 255, 255, .10),
      0 8px 20px rgba(0, 0, 0, .16) !important;
  }

  .sidebar-tab-icon {
    width: 22px !important;
    height: 22px !important;
    border-radius: 999px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255, 255, 255, .76) !important;
    background: rgba(255, 255, 255, .14) !important;
  }

  .sidebar-tab-icon svg {
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
  }

  .sidebar-tab-btn.active .sidebar-tab-icon {
    background: var(--module-color, #005F86) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 10px rgba(0, 95, 134, .22) !important;
  }

  .sidebar-tab-label {
    color: currentColor !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
    min-width: 0;
  }
}

/* Control Presupuestario */
.budget-module,
.budget-dashboard,
.budget-file-manager {
  display: grid;
  gap: 16px;
  color: #0F172A;
}

.budget-module-header,
.budget-card,
.budget-kpi {
  background: #FFFFFF;
  border: 1px solid #D7E3EE;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.budget-module-header {
  padding: 22px;
}

.budget-module-header h1,
.budget-card h2 {
  margin: 0 0 6px;
  color: #0F172A;
  font-weight: 900;
}

.budget-module-header p,
.budget-card p,
.budget-muted {
  color: #475569;
}

.budget-module-tabs,
.budget-subtabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.budget-module-tab,
.budget-subtab,
.budget-btn {
  border: 1px solid rgba(0, 95, 134, .24);
  background: #FFFFFF;
  color: #005F86;
  border-radius: 12px;
  padding: 10px 14px;
  font-weight: 900;
  cursor: pointer;
}

.budget-module-tab.active,
.budget-subtab.active,
.budget-btn.primary {
  background: #005F86;
  color: #FFFFFF;
  border-color: #005F86;
}

.budget-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.budget-kpi {
  padding: 14px;
}

.budget-kpi span {
  display: block;
  color: #64748B;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.budget-kpi strong {
  display: block;
  margin-top: 6px;
  color: #005F86;
  font-size: 22px;
}

.budget-card {
  padding: 18px;
}

.budget-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.budget-view {
  display: none;
}

.budget-view.active {
  display: block;
}

.budget-controls {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 12px 0;
}

.budget-controls label {
  display: grid;
  gap: 6px;
  color: #0F172A;
  font-weight: 800;
}

.budget-controls input,
.budget-controls select {
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .28) !important;
  border-radius: 12px;
}

.budget-bar-list {
  display: grid;
  gap: 10px;
}

.budget-bar-row {
  display: grid;
  grid-template-columns: minmax(120px, 220px) 1fr minmax(110px, auto);
  gap: 10px;
  align-items: center;
}

.budget-bar-row span,
.budget-bar-row strong {
  color: #0F172A;
  font-weight: 800;
}

.budget-bar-track {
  height: 12px;
  border-radius: 999px;
  background: #E2E8F0;
  overflow: hidden;
}

.budget-bar-fill {
  height: 100%;
  border-radius: 999px;
  background: linear-gradient(90deg, #005F86, #38BDF8);
}

.budget-table-wrap {
  overflow: auto;
}

.budget-table-wrap table,
#budget-tbl-carga-preview {
  width: 100%;
  border-collapse: collapse;
}

.budget-table-wrap th,
.budget-table-wrap td,
#budget-tbl-carga-preview td {
  border: 1px solid #D7E3EE;
  padding: 10px;
  text-align: left;
  color: #0F172A;
}

.budget-upload-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
}

.budget-upload-grid-single {
  grid-template-columns: minmax(0, 1fr);
}

.budget-upload-grid > .budget-card.hidden {
  display: none !important;
}

.budget-html-viewer-fullscreen {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: calc(100vh - 112px);
  height: calc(100vh - 112px);
  color: #0F172A;
}

.budget-html-viewer-toolbar,
.budget-html-viewer-empty {
  background: #FFFFFF;
  border: 1px solid #D7E3EE;
  border-radius: 16px;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.budget-html-viewer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;
  padding: 12px 14px;
}

.budget-html-viewer-toolbar h1,
.budget-html-viewer-empty h1 {
  margin: 0;
  color: #0F172A;
  font-size: 1.35rem;
  font-weight: 900;
}

.budget-html-viewer-toolbar p,
.budget-html-viewer-empty p {
  margin: 4px 0 0;
  color: #475569;
}

.budget-html-viewer-frame {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  border: 1px solid #D7E3EE;
  border-radius: 16px;
  background: #FFFFFF;
  box-shadow: 0 8px 22px rgba(15, 23, 42, .06);
}

.budget-html-viewer-empty {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 260px;
  padding: 24px;
}

.budget-upload-zone {
  display: grid;
  place-items: center;
  gap: 8px;
  min-height: 170px;
  padding: 18px;
  margin: 14px 0;
  background: #F8FBFD;
  border: 2px dashed rgba(0, 95, 134, .28);
  border-radius: 16px;
  text-align: center;
  color: #005F86;
}

.budget-upload-zone.drag {
  background: #E6F2F6;
  border-color: #005F86;
}

.budget-upload-zone input {
  max-width: 100%;
}

.budget-files-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.budget-file-chip {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border-radius: 999px;
  background: #E6F2F6;
  color: #005F86;
  font-weight: 800;
}

.budget-file-chip button {
  border: 0;
  background: transparent;
  color: #005F86;
  font-weight: 900;
}

.budget-state {
  display: inline-flex;
  margin: 10px 0;
  padding: 8px 12px;
  border-radius: 999px;
  font-weight: 900;
}

.budget-state.ok {
  background: #DCFCE7;
  color: #166534;
}

.budget-state.warning {
  background: #FEF3C7;
  color: #92400E;
}

.budget-empty {
  padding: 18px;
  border: 1px dashed rgba(0, 95, 134, .24);
  border-radius: 14px;
  color: #475569;
  background: #F8FBFD;
}

.gestion-archivo-panel {
  display: none;
}

.gestion-archivo-panel.active {
  display: block;
}

.gestion-archivo-moved-panel {
  display: grid !important;
  gap: 16px;
}

.gestion-archivo-moved-panel.tab-panel {
  margin: 0;
}

@media (min-width: 769px) {
  body.global-shell-active #controlPresupuestarioShell,
  body.global-shell-active #gestionArchivoShell,
  body.global-shell-active #riesgoCrediticioShell {
    width: calc(100% - 280px) !important;
    max-width: calc(100% - 280px) !important;
    margin-left: 280px !important;
    box-sizing: border-box !important;
  }

  body.global-shell-active #controlPresupuestarioShell.hidden,
  body.global-shell-active #gestionArchivoShell.hidden,
  body.global-shell-active #riesgoCrediticioShell.hidden {
    display: none !important;
  }
}

.riesgo-crediticio-shell {
  padding: 0 !important;
  background: #FFFFFF;
}

.riesgo-crediticio-viewer {
  width: 100%;
  min-height: calc(100vh - 48px);
  height: calc(100vh - 48px);
  background: #FFFFFF;
  overflow: hidden;
}

.riesgo-crediticio-iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #FFFFFF;
}

.riesgo-crediticio-loading,
.riesgo-crediticio-empty {
  min-height: 220px;
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 24px;
}

@media (max-width: 768px) {
  .riesgo-crediticio-viewer {
    min-height: calc(100vh - 92px);
    height: calc(100vh - 92px);
  }

  .budget-html-viewer-fullscreen {
    min-height: calc(100vh - 92px);
    height: calc(100vh - 92px);
  }

  .budget-html-viewer-toolbar,
  .budget-html-viewer-empty {
    display: grid;
    align-items: start;
    padding: 12px;
  }

  .budget-html-viewer-toolbar h1,
  .budget-html-viewer-empty h1 {
    font-size: 1.1rem;
  }

  .budget-module-tabs,
  .budget-subtabs {
    padding: 0 0 8px;
  }

  .budget-bar-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .budget-card-head {
    display: grid;
  }
}

@media (max-width: 768px) {
  .dashboard-home .home-quick-actions-section {
    display: none !important;
  }

  .dashboard-home .dashboard-kpi-grid {
    background: #FFFFFF !important;
    border: 1px solid #D7E3EE !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
  }

  .dashboard-home .dashboard-kpi-mobile-title {
    color: #0F172A !important;
    font-weight: 900 !important;
  }

  .dashboard-home .dashboard-kpi-number-card {
    display: none !important;
  }

  .dashboard-home .dashboard-kpi-mobile-bars {
    display: grid !important;
  }

  .dashboard-home .dashboard-kpi-mobile-bar > div {
    color: #334155 !important;
  }

  .dashboard-home .dashboard-kpi-mobile-bar .summary-bar-label {
    color: #334155 !important;
    font-weight: 900 !important;
    letter-spacing: .02em !important;
  }

  .dashboard-home .dashboard-kpi-mobile-bar .summary-bar-value {
    color: #005F86 !important;
    font-weight: 900 !important;
  }

  .dashboard-home .dashboard-kpi-mobile-bar .summary-bar-track {
    background: #E2E8F0 !important;
  }

  .dashboard-home .dashboard-kpi-mobile-bar .summary-bar-fill {
    background: #005F86 !important;
  }

  .mobile-header .mobile-header-title {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 2px rgba(0, 39, 56, .24) !important;
  }

  #empresaShell > .empresa-module-heading,
  #empresaShell > .back-menu-bar,
  #empresaShell > #empresaTabsBar {
    display: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head > div:first-child {
    display: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head > button {
    margin-left: auto !important;
  }

  #empresaNuevo > .card {
    padding-top: 8px !important;
  }
}

@media (min-width: 769px) {
  .app-sidebar .sidebar-primary-item.active,
  .app-sidebar .sidebar-primary-item.active:hover,
  .app-sidebar .sidebar-nav-item.sidebar-primary-item.active {
    background: linear-gradient(135deg, #005F86 0%, #0EA5E9 100%) !important;
    color: #FFFFFF !important;
    border-left: 4px solid #BAE6FD !important;
    border-top: 1px solid rgba(255, 255, 255, .34) !important;
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow:
      inset 5px 0 0 #BAE6FD,
      0 0 0 1px rgba(186, 230, 253, .24),
      0 10px 24px rgba(14, 165, 233, .28) !important;
  }

  .app-sidebar .sidebar-primary-item.active .sidebar-item-label,
  .app-sidebar .sidebar-primary-item.active > span:not(.sidebar-icon-wrap) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 900 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(2, 6, 23, .30) !important;
  }

  .app-sidebar .sidebar-primary-item.active .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .24) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 16px rgba(255, 255, 255, .30) !important;
  }
}

/* Correccion final mobile: Usuarios activos como lista fija + modal.
   Debe quedar al final para pisar reglas antiguas de tablas responsivas. */
@media (max-width: 768px) {
  #adminUsersPanel #approvedUsersList > .admin-users-table {
    display: none !important;
  }

  #adminUsersPanel #approvedUsersList > .admin-active-mobile-list {
    display: grid !important;
    gap: 8px !important;
    width: 100% !important;
    max-height: 54vh !important;
    overflow-y: auto !important;
    padding: 8px !important;
    border: 1px solid rgba(0, 95, 134, .18) !important;
    border-radius: 16px !important;
    background: #F8FBFD !important;
  }

  #adminUsersPanel #approvedUsersList .admin-active-mobile-row {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 7px 10px !important;
    width: 100% !important;
    min-height: 84px !important;
    padding: 12px !important;
    border: 1px solid rgba(0, 95, 134, .18) !important;
    border-radius: 14px !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
    text-align: left !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, .06) !important;
  }

  #adminUsersPanel #approvedUsersList .admin-active-mobile-name {
    grid-column: 1 / -1 !important;
    color: #0F172A !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
  }

  #adminUsersPanel #approvedUsersList .admin-active-mobile-meta {
    display: grid !important;
    gap: 2px !important;
    color: #1E293B !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
  }

  #adminUsersPanel #approvedUsersList .admin-active-mobile-meta b {
    color: #64748B !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
  }

  #adminUsersPanel #adminActiveUserModal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 5000 !important;
    display: flex !important;
    align-items: flex-end !important;
    justify-content: center !important;
    background: rgba(15, 23, 42, .38) !important;
    padding: 12px !important;
  }

  #adminUsersPanel #adminActiveUserModal .admin-active-user-modal-panel {
    width: 100% !important;
    max-height: 88vh !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
    border: 1px solid rgba(0, 95, 134, .18) !important;
    border-radius: 20px 20px 16px 16px !important;
    box-shadow: 0 -18px 42px rgba(15, 23, 42, .22) !important;
  }
}

@media (min-width: 769px) {
  .app-sidebar .sidebar-primary-item.active,
  .app-sidebar .sidebar-primary-item.active:hover,
  .app-sidebar .sidebar-nav-item.sidebar-primary-item.active {
    background: linear-gradient(135deg, #005F86 0%, #0EA5E9 100%) !important;
    color: #FFFFFF !important;
    border-left: 4px solid #BAE6FD !important;
    border-top: 1px solid rgba(255, 255, 255, .34) !important;
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow:
      inset 5px 0 0 #BAE6FD,
      0 0 0 1px rgba(186, 230, 253, .24),
      0 10px 24px rgba(14, 165, 233, .28) !important;
  }

  .app-sidebar .sidebar-primary-item.active .sidebar-item-label,
  .app-sidebar .sidebar-primary-item.active > span:not(.sidebar-icon-wrap) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 900 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(2, 6, 23, .30) !important;
  }

  .app-sidebar .sidebar-primary-item.active .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .24) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 16px rgba(255, 255, 255, .30) !important;
  }
}

@media (min-width: 769px) {
  .app-sidebar .sidebar-module-btn.active,
  .app-sidebar .sidebar-module-btn.active:hover,
  .app-sidebar .sidebar-item.sidebar-module-btn.active {
    background: linear-gradient(135deg, #005F86 0%, #0284C7 100%) !important;
    color: #FFFFFF !important;
    border-left-color: #7DD3FC !important;
    border-top: 1px solid rgba(255, 255, 255, .34) !important;
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow:
      inset 5px 0 0 #7DD3FC,
      0 0 0 1px rgba(125, 211, 252, .28),
      0 10px 24px rgba(2, 132, 199, .36) !important;
  }

  .app-sidebar .sidebar-module-btn.active .sidebar-item-label,
  .app-sidebar .sidebar-module-btn.active > span:not(.sidebar-icon-wrap) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(2, 6, 23, .28) !important;
  }

  .app-sidebar .sidebar-module-btn.active .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .24) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 16px rgba(255, 255, 255, .32) !important;
  }

  .app-sidebar .sidebar-module-btn.active::after {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
  }

  .app-sidebar .sidebar-tab-btn.active,
  .app-sidebar .sidebar-tab-btn.active:hover,
  .app-sidebar .sidebar-submenu-item.active,
  .app-sidebar .sidebar-submenu-item.active:hover,
  .app-sidebar .nav-subitem.active,
  .app-sidebar .nav-subitem.active:hover {
    background: #F0FBFF !important;
    color: #003F5C !important;
    border-left-color: #38BDF8 !important;
    border-top: 1px solid rgba(125, 211, 252, .75) !important;
    border-right: 1px solid rgba(125, 211, 252, .55) !important;
    border-bottom: 1px solid rgba(125, 211, 252, .60) !important;
    box-shadow:
      inset 5px 0 0 #38BDF8,
      0 0 0 1px rgba(56, 189, 248, .24),
      0 8px 18px rgba(56, 189, 248, .22) !important;
  }

  .app-sidebar .sidebar-tab-btn.active .sidebar-tab-label,
  .app-sidebar .sidebar-submenu-item.active .sidebar-item-label,
  .app-sidebar .nav-subitem.active .nav-item-label,
  .app-sidebar .sidebar-tab-btn.active > span:not(.sidebar-tab-icon):not(.sidebar-tab-dot) {
    color: #003F5C !important;
    -webkit-text-fill-color: #003F5C !important;
    font-weight: 900 !important;
    opacity: 1 !important;
  }

  .app-sidebar .sidebar-tab-btn.active .sidebar-tab-icon,
  .app-sidebar .sidebar-tab-btn.active .sidebar-tab-dot,
  .app-sidebar .sidebar-submenu-item.active .sidebar-tab-icon {
    background: #005F86 !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 12px rgba(0, 95, 134, .28) !important;
  }
}

@media (max-width: 768px) {
  .mobile-header .mobile-header-title {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 2px rgba(0, 39, 56, 0.24) !important;
  }

  #empresaShell > .empresa-module-heading,
  #empresaShell > .back-menu-bar,
  #empresaShell > #empresaTabsBar {
    display: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head > div:first-child {
    display: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head > button {
    margin-left: auto !important;
  }

  #empresaNuevo > .card {
    padding-top: 8px !important;
  }
}
.no-visits-indicator,
.no-visits-kpi{
  background:var(--bg-surface)!important;
  border-color:rgba(0, 120, 168, .28)!important;
  color:var(--text-main)!important;
}
.no-visits-kpi span,
.no-visits-kpi strong{
  color:var(--accent-main)!important;
}
.no-visits-list span{
  background:rgba(12,24,39,.72)!important;
  border-color:rgba(0, 120, 168, .22)!important;
  color:var(--text-main)!important;
}

/* Ajustes finos de contraste en formularios, normativas y documentos */
#empresaInformacionAdicional,
.web-info-box textarea{
  background:rgba(12,24,39,.86)!important;
  color:var(--text-main)!important;
  border:1px solid rgba(0, 120, 168, .28)!important;
}
#empresaInformacionAdicional::selection,
.web-info-box textarea::selection{
  background:rgba(0, 120, 168, .35);
  color:var(--text-title);
}
.info-reglamentacion-selector,
.info-detail-dropdown,
.info-record-detail,
.info-record-detail-inner,
.info-reglamentacion-item,
.info-reglamentacion-item .info-record-detail,
.info-detail-dropdown-body,
.info-detail-block,
.info-upload-panel,
.info-empty-state,
.dotacion-dashboard-header{
  background:var(--bg-surface)!important;
  border-color:rgba(0, 120, 168, .28)!important;
  color:var(--text-main)!important;
}
.info-reglamentacion-selector label,
.info-detail-meta strong,
.info-detail-block h4,
.info-reglamentacion-title,
.info-detail-dropdown-title,
.dotacion-dashboard-header h2{
  color:var(--text-title)!important;
}
.info-detail-meta span,
.info-detail-block p,
.info-reglamentacion-title,
.info-detail-dropdown-title,
.dotacion-dashboard-header p{
  color:var(--text-main)!important;
}
.info-detail-dropdown-body p,
.info-reglamentacion-item .info-record-detail p,
.info-detail-block p{
  color:#DDE7F0!important;
}
.info-detail-dropdown-body,
.info-reglamentacion-item .info-record-detail{
  background:var(--bg-surface)!important;
}
.info-reglamentacion-title,
.info-detail-dropdown-title{
  background:rgba(12,24,39,.78)!important;
  border-color:rgba(0, 120, 168, .24)!important;
}
.info-reglamentacion-title:hover,
.info-detail-dropdown-title:hover,
.info-reglamentacion-title[aria-expanded="true"],
.info-detail-dropdown-title[aria-expanded="true"]{
  background:rgba(38,48,59,.98)!important;
}
.info-detail-dropdown-title::after,
.info-reglamentacion-title::after{
  border-color:rgba(0, 120, 168, .42)!important;
  color:var(--accent-main)!important;
}

/* Ajuste final de contraste para normativa y desplegables largos */
.info-reglamentacion-selector select,
.info-reglamentacion-selector select:focus,
.info-reglamentacion-selector option,
.info-module select,
.info-module option{
  background:#202832!important;
  color:#1E293B!important;
  border-color:rgba(0, 120, 168, .55)!important;
}
.info-reglamentacion-selector select{
  box-shadow:inset 0 0 0 1px rgba(0, 120, 168, .18)!important;
}
.info-reglamentacion-selector option,
.info-module option{
  background-color:#202832!important;
  color:#1E293B!important;
}
.info-reglamentacion-selector option:checked,
.info-module option:checked{
  background-color:#6B625A!important;
  color:#FFFFFF!important;
}
.info-reglamentacion-selector option:hover,
.info-module option:hover{
  background-color:#3A4350!important;
  color:#FFFFFF!important;
}
.info-detail-dropdown-body,
.info-detail-block,
.info-reglamentacion-item .info-record-detail{
  background:#202832!important;
}
.info-detail-dropdown-body p,
.info-reglamentacion-item .info-record-detail p,
.info-detail-block p,
.info-detail-meta span{
  color:#E5E7EB!important;
}
.info-detail-dropdown-title,
.info-reglamentacion-title{
  color:#1E293B!important;
}
.facultades-title-strip,
.facultades-title-strip.important,
.facultades-reminder{
  background:rgba(232,238,245,.96)!important;
  border-color:rgba(0, 120, 168, .42)!important;
  color:#0A2A45!important;
}
.facultades-modern-toolbar,
.facultades-table-scroll,
.dotacion-table-scroll{
  background:var(--bg-surface)!important;
  border-color:rgba(0, 120, 168, .28)!important;
}
.facultades-modern-toolbar h3,
.facultades-quick-filter span{
  color:var(--text-title)!important;
}
.facultades-modern-toolbar p{
  color:var(--text-muted)!important;
}
.facultades-modern-table,
.dotacion-data-table{
  background:#E8EEF5!important;
  color:#0B1F33!important;
}
.facultades-modern-table td,
.dotacion-data-table td,
.facultades-modern-table tr.zebra td,
.dotacion-data-table tr.zebra td,
.facultades-modern-table tr.level-central td,
.facultades-modern-table tr.level-extended td,
.facultades-modern-table tr.level-superior td,
.dotacion-group-row td{
  background:#E8EEF5!important;
  color:#0B1F33!important;
}
.facultades-modern-table tr:nth-child(even) td,
.dotacion-data-table tr:nth-child(even) td{
  background:#F2F5F8!important;
}

.dotacion-title-mobile,
.dotacion-subtitle-mobile,
.dotacion-mobile-controls,
.dotacion-mobile-filter-chips,
.dotacion-mobile-filter-sheet,
.dotacion-mobile-view{
  display:none;
}

.dotacion-fixed-table-scroll{
  max-height:430px;
  overflow-y:auto!important;
  overflow-x:auto;
  border:1px solid rgba(0, 120, 168, .28);
  border-radius:12px;
}
.dotacion-fixed-table-scroll .dotacion-table{
  margin:0;
}
.dotacion-fixed-table-scroll .dotacion-table th{
  position:sticky;
  top:0;
  z-index:2;
}
.dotacion-fixed-table-scroll .dotacion-table td{
  max-height:54px;
  line-height:1.25;
}
.dotacion-fixed-table-scroll::-webkit-scrollbar{
  width:10px;
  height:10px;
}
.dotacion-fixed-table-scroll::-webkit-scrollbar-track{
  background:rgba(148,163,184,.1);
  border-radius:999px;
}
.dotacion-fixed-table-scroll::-webkit-scrollbar-thumb{
  background:rgba(0, 120, 168, .55);
  border-radius:999px;
}
.dotacion-fixed-table-scroll::-webkit-scrollbar-thumb:hover{
  background:rgba(0, 120, 168, .75);
}

@media (max-width:768px){
  #infoDotacion .card,
  .dotacion-dashboard{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  .dotacion-dashboard{
    gap:10px;
    padding-bottom:96px;
  }
  .dotacion-dashboard-header{
    min-height:0!important;
    max-height:80px;
    padding:10px 12px!important;
    border-radius:12px!important;
  }
  .dotacion-dashboard-header h2{
    font-size:22px!important;
    line-height:1.1;
    margin:0!important;
  }
  .dotacion-dashboard-header p{
    font-size:13px!important;
    margin:4px 0 0!important;
  }
  .dotacion-title-desktop,
  .dotacion-subtitle-desktop{
    display:none!important;
  }
  .dotacion-title-mobile,
  .dotacion-subtitle-mobile{
    display:inline!important;
  }
  .dotacion-filters,
  .dotacion-tabs,
  #dotacionDashboardContent{
    display:none!important;
  }
  .dotacion-mobile-controls{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:8px;
    align-items:center;
    padding:10px;
    border:1px solid var(--border-soft);
    border-radius:12px;
    background:var(--bg-surface);
  }
  .dotacion-mobile-controls input,
  .dotacion-mobile-controls button{
    min-height:40px!important;
    height:40px!important;
    padding:0 10px!important;
    font-size:12px!important;
  }
  .dotacion-mobile-filter-chips{
    display:flex;
    gap:6px;
    overflow-x:auto;
    padding:0 2px 2px;
  }
  .dotacion-mobile-filter-chips.hidden{
    display:none!important;
  }
  .dotacion-mobile-chip{
    flex:0 0 auto;
    min-height:32px!important;
    padding:0 10px!important;
    font-size:12px!important;
    border-radius:999px!important;
    color:var(--accent-main)!important;
    background:rgba(0, 120, 168, .12)!important;
  }
  .dotacion-mobile-filter-sheet{
    position:fixed;
    inset:0;
    z-index:2200;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    background:rgba(0,0,0,.55);
  }
  .dotacion-mobile-filter-sheet.hidden{
    display:none!important;
  }
  .dotacion-mobile-filter-panel{
    width:100%;
    max-height:85vh;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    background:var(--bg-card);
    border:1px solid var(--border-soft);
    border-radius:18px 18px 0 0;
    color:var(--text-main);
    box-shadow:0 -18px 40px rgba(0,0,0,.38);
  }
  .dotacion-mobile-filter-head,
  .dotacion-mobile-filter-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:10px;
    padding:12px;
    border-bottom:1px solid rgba(0, 120, 168, .22);
  }
  .dotacion-mobile-filter-actions{
    border-top:1px solid rgba(0, 120, 168, .22);
    border-bottom:0;
  }
  .dotacion-mobile-filter-head h3{
    margin:0;
    font-size:18px;
  }
  .dotacion-mobile-filter-body{
    overflow:auto;
    padding:12px;
    display:grid;
    gap:10px;
  }
  .dotacion-mobile-filter-body label{
    display:grid;
    gap:5px;
    font-size:12px;
    font-weight:800;
    color:var(--text-muted);
  }
  .dotacion-mobile-filter-body input,
  .dotacion-mobile-filter-body select{
    height:42px!important;
    min-height:42px!important;
  }
  .dotacion-mobile-view{
    display:grid;
    gap:10px;
  }
  .dotacion-mobile-summary,
  .dotacion-mobile-section{
    border:1px solid var(--border-soft);
    border-radius:14px;
    background:var(--bg-surface);
    color:var(--text-main);
    padding:12px;
    overflow:hidden;
  }
  .dotacion-mobile-summary{
    max-height:190px;
  }
  .dotacion-mobile-summary h3{
    margin:0 0 8px;
    font-size:17px;
    color:var(--text-title);
  }
  .dotacion-mobile-summary-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .dotacion-mobile-summary-grid div{
    min-width:0;
    border:1px solid rgba(0, 120, 168, .18);
    border-radius:10px;
    padding:7px 8px;
    background:rgba(12,24,39,.48);
  }
  .dotacion-mobile-summary-grid strong{
    display:block;
    font-size:18px;
    line-height:1;
    color:var(--accent-main);
  }
  .dotacion-mobile-summary-grid span{
    display:block;
    margin-top:4px;
    font-size:11px;
    color:var(--text-muted);
  }
  .dotacion-mobile-section summary{
    cursor:pointer;
    color:var(--text-title);
    font-size:16px;
    font-weight:900;
    list-style:none;
  }
  .dotacion-mobile-section summary::-webkit-details-marker{
    display:none;
  }
  .dotacion-mobile-section summary::after{
    content:'+';
    float:right;
    color:var(--accent-main);
  }
  .dotacion-mobile-section[open] summary::after{
    content:'-';
  }
  .dotacion-mobile-bars{
    display:grid;
    gap:8px;
    margin-top:10px;
  }
  .dotacion-mobile-bar-row{
    display:grid;
    gap:5px;
  }
  .dotacion-mobile-bar-row>div:first-child{
    display:flex;
    justify-content:space-between;
    gap:8px;
    font-size:12px;
  }
  .dotacion-mobile-bar-row span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--text-main);
  }
  .dotacion-mobile-bar-row strong{
    color:var(--accent-main);
  }
  .dotacion-mobile-bar{
    height:9px;
    border-radius:999px;
    background:rgba(148,163,184,.18);
    overflow:hidden;
  }
  .dotacion-mobile-bar b,
  .dotacion-mobile-progress b{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--accent-main),#8dd3c7);
  }
  .dotacion-mobile-extra{
    display:none;
  }
  .dotacion-mobile-section.show-all .dotacion-mobile-extra{
    display:grid;
  }
  .dotacion-mobile-see-more{
    width:100%;
    height:38px!important;
    margin-top:10px;
    font-size:12px!important;
  }
  .dotacion-mobile-progress-card{
    display:grid;
    gap:8px;
    margin-top:10px;
  }
  .dotacion-mobile-progress-card strong{
    color:var(--accent-main);
    font-size:24px;
  }
  .dotacion-mobile-progress{
    height:10px;
    border-radius:999px;
    overflow:hidden;
    background:rgba(148,163,184,.18);
  }
  .dotacion-mobile-search{
    width:100%;
    height:42px!important;
    margin:10px 0;
  }
  .dotacion-mobile-card-list{
    display:grid;
    gap:8px;
  }
  .dotacion-mobile-record-card{
    display:block;
    border:1px solid rgba(0, 120, 168, .2);
    border-radius:12px;
    padding:10px;
    background:rgba(12,24,39,.52);
  }
  .dotacion-mobile-record-card.hidden{
    display:none!important;
  }
  .dotacion-mobile-record-card h4{
    margin:0 0 6px;
    color:var(--accent-main);
    font-size:14px;
  }
  .dotacion-mobile-record-card p{
    margin:3px 0;
    font-size:12px;
    line-height:1.35;
    overflow-wrap:anywhere;
  }
}
.facultades-modern-table tr:hover td,
.dotacion-data-table tr:hover td{
  background:#DDE7F0!important;
  color:#061225!important;
}
.facultades-modern-table th,
.dotacion-data-table th{
  background:#514D48!important;
  color:#1E293B!important;
  border-color:rgba(0, 120, 168, .38)!important;
}
.facultades-modern-table .label-cell,
.facultades-modern-table .numeric,
.dotacion-data-table .label-cell,
.dotacion-data-table .numeric{
  color:#061225!important;
}
.facultades-modern-table .high-amount{
  background:#DDE7F0!important;
  color:#0A4D75!important;
  border-left-color:#0A4D75!important;
}
.facultades-selector-panel{
  margin-bottom:16px;
  display:grid;
  gap:8px;
}
.facultades-selector-panel label{
  color:var(--text-title)!important;
  font-weight:900;
}
.facultades-selector-panel select{
  max-width:720px;
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0, 120, 168, .42)!important;
}
.facultades-reminder-box{
  margin:16px 0;
  padding:16px;
  border:1px solid var(--border-soft);
  border-radius:14px;
  background:rgba(0, 120, 168, .08);
  color:var(--text-main);
  line-height:1.5;
}
.facultades-reminder-box h4{
  margin:0 0 8px;
  color:var(--accent-main);
}
.facultades-reminder-box p{
  margin:4px 0;
  color:#E5E7EB!important;
}
.facultades-summary-panel{
  margin-top:16px;
  border:1px solid var(--border-soft);
  border-radius:14px;
  overflow:hidden;
  background:rgba(17,34,64,.72);
}
.facultades-summary-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.facultades-summary-table th,
.facultades-summary-table td{
  padding:12px 14px;
  border-bottom:1px solid rgba(148,163,184,.16);
}
.facultades-summary-table th{
  color:var(--accent-main);
  text-align:left;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  background:rgba(8,20,38,.66);
}
.facultades-summary-table td{
  color:var(--text-main);
  background:var(--bg-surface-soft);
}
.facultades-summary-table td.amount{
  text-align:right;
  font-weight:900;
  color:var(--text-title);
  font-variant-numeric:tabular-nums;
}
.facultades-summary-table tr:last-child td{
  border-bottom:none;
}
.acta-final .kpi-box,
.acta-print-document .kpi-box,
.print-page .kpi-box,
.executive-page .kpi-box{
  background:#F8FAFC!important;
  border:1px solid #D7DEE8!important;
  color:#1F2937!important;
  box-shadow:none!important;
}
.acta-final .kpi-box span,
.acta-print-document .kpi-box span,
.print-page .kpi-box span,
.executive-page .kpi-box span{
  color:#64748B!important;
}
.acta-final .kpi-box strong,
.acta-print-document .kpi-box strong,
.print-page .kpi-box strong,
.executive-page .kpi-box strong{
  color:#143B63!important;
}
.acta-final .kpi-box small,
.acta-print-document .kpi-box small,
.print-page .kpi-box small,
.executive-page .kpi-box small{
  color:#64748B!important;
}
.signatures-table td{
  background:#F8FAFC!important;
  color:#1F2937!important;
}
.signatures-table strong,
.signatures-table span{
  color:#1F2937!important;
}

/* Gestión Gobierno: barras en dark/perlado */
.gobierno-dashboard-grid .gobierno-section,
.gobierno-bars{
  color:var(--text-main)!important;
}
.gobierno-bar-row{
  background:rgba(12,24,39,.78)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:var(--text-main)!important;
}
.gobierno-bar-row:hover{
  background:rgba(38,48,59,.98)!important;
  border-color:rgba(0, 120, 168, .58)!important;
}
.gobierno-bar-row span{
  color:var(--text-title)!important;
}
.gobierno-bar-row b,
.gobierno-bar-row strong{
  color:var(--text-title)!important;
}
.gobierno-bar-track{
  background:rgba(148,163,184,.2)!important;
}
.gobierno-bar-track div{
  background:linear-gradient(90deg,var(--accent-main),#8DD3C7)!important;
}

/* Restricción de dispositivo para Usuario B */
.device-restriction-gate{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--bg-main,#F4F8FB);
  padding:24px;
}
.device-restriction-gate.hidden{
  display:none!important;
}
.device-restriction-card{
  width:100%;
  max-width:460px;
  background:var(--bg-card,#FFFFFF);
  border:1px solid var(--border-soft,rgba(0, 120, 168, .45));
  border-radius:20px;
  box-shadow:var(--shadow-card,0 18px 40px rgba(0,0,0,.28));
  padding:28px;
  text-align:center;
  color:var(--text-main,#E5E7EB);
}
.device-restriction-card h1{
  margin:0 0 10px;
  color:var(--text-title,#F8FAFC);
}
.device-restriction-card p{
  color:var(--text-main,#E5E7EB);
}
.device-restriction-card .small{
  color:var(--text-muted,#94A3B8);
}
.device-restriction-icon{
  width:56px;
  height:56px;
  margin:0 auto 16px;
  border-radius:16px;
  background:rgba(245,158,11,.16);
  color:#FCD34D;
  display:flex;
  align-items:center;
  justify-content:center;
}
.device-restriction-icon svg{
  width:30px;
  height:30px;
}

/* Instalación PWA */
.install-app-btn.hidden,
.install-app-modal.hidden{
  display:none!important;
}
.install-app-btn{
  border-color:rgba(0, 120, 168, .45)!important;
}
.install-app-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(3,10,22,.72);
  backdrop-filter:blur(6px);
}
.install-app-modal-card{
  width:100%;
  max-width:460px;
  background:var(--bg-card,#FFFFFF);
  border:1px solid var(--border-soft,rgba(0, 120, 168, .45));
  border-radius:20px;
  box-shadow:var(--shadow-card,0 18px 40px rgba(0,0,0,.28));
  padding:26px;
  color:var(--text-main,#E5E7EB);
}
.install-app-modal-card h2{
  margin:0 0 10px;
  color:var(--text-title,#F8FAFC);
}
.install-app-modal-card p{
  color:var(--text-main,#E5E7EB);
}
.install-app-steps{
  margin:14px 0 20px;
  padding-left:22px;
  color:var(--text-main,#E5E7EB);
}
.install-app-steps li{
  margin-bottom:8px;
}

/* Home reorganizada: modulos en sidebar y dashboard central */
.sidebar-module-section{
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid rgba(0, 120, 168, .22);
}
.sidebar-section-label{
  display:block;
  margin:0 0 9px 4px;
  color:var(--accent-main);
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sidebar-module-list{
  display:grid;
  gap:7px;
}
.sidebar-module-section.contextual .sidebar-section-label,
.sidebar-module-section.contextual .sidebar-module-list{
  display:none;
}
.sidebar-active-panel{
  display:grid;
  gap:7px;
  margin:0 0 10px;
  padding:12px;
  border:1px solid var(--border-soft);
  border-radius:12px;
  background:rgba(0, 120, 168, .08);
  color:var(--text-title);
}
.sidebar-active-panel-label{
  color:var(--accent-main);
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sidebar-active-panel-title{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  font-weight:900;
  line-height:1.25;
}
.sidebar-active-panel-title .sidebar-nav-icon{
  width:11px;
  height:11px;
  border-radius:999px;
}
.sidebar-active-panel-title .icon-green{background:#86EFAC}
.sidebar-active-panel-title .icon-pink{background:#F9A8D4}
.sidebar-active-panel-title .icon-blue{background:#93C5FD}
.sidebar-active-panel-title .icon-teal{background:#5EEAD4}
.sidebar-active-panel-title .icon-violet{background:#C4B5FD}
.sidebar-module-btn{
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
  min-height:40px;
  padding:9px 10px;
  border:1px solid transparent;
  border-left:3px solid transparent;
  border-radius:12px;
  background:transparent;
  color:var(--text-muted);
  font-size:12px;
  font-weight:800;
  line-height:1.2;
  text-align:left;
  cursor:pointer;
}
.sidebar-module-btn:hover,
.sidebar-module-btn.active{
  background:var(--accent-soft);
  border-color:rgba(0, 120, 168, .28);
  border-left-color:var(--accent-main);
  color:var(--text-title);
}
.sidebar-submenu{
  display:grid;
  gap:6px;
  margin:10px 0 0 16px;
  padding:10px 0 0 10px;
  border-left:1px solid rgba(0, 120, 168, .28);
}
.sidebar-submenu-title{
  color:#A9B4C2;
  font-size:10px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.sidebar-submenu-item{
  width:100%;
  min-height:32px;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:var(--text-muted);
  padding:7px 10px;
  font-size:12px;
  font-weight:800;
  text-align:left;
  cursor:pointer;
}
.sidebar-submenu-item:hover,
.sidebar-submenu-item.active{
  background:rgba(0, 120, 168, .13);
  border-color:rgba(0, 120, 168, .34);
  color:var(--accent-main);
}
body.global-shell-active{
  overflow-x:hidden;
}
body.global-shell-active .main-menu.shell-sidebar-only{
  position:fixed;
  inset:0 auto 0 0;
  width:220px;
  min-height:100vh;
  z-index:900;
  background:transparent;
  pointer-events:none;
}
body.global-shell-active .main-menu.shell-sidebar-only .app-layout{
  display:block;
  min-height:100vh;
}
body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar{
  position:fixed;
  inset:0 auto 0 0;
  width:220px;
  pointer-events:auto;
  overflow-y:auto;
}
body.global-shell-active .main-menu.shell-sidebar-only .app-main,
body.global-shell-active .main-menu.shell-sidebar-only .mobile-header{
  display:none!important;
}
body.global-shell-active .main-menu.shell-sidebar-only .mobile-bottom-nav{
  pointer-events:auto;
}
body.global-shell-active #appShell,
body.global-shell-active #adminUsersPanel,
body.global-shell-active #empresaShell,
  body.global-shell-active #infoShell,
  body.global-shell-active #gestionComercialShell,
  body.global-shell-active #gestionGobiernoShell,
  body.global-shell-active #riesgoCrediticioShell{
  width:calc(100% - 220px);
  max-width:calc(100% - 220px);
  margin-left:220px;
  padding:24px 30px;
}
body.global-shell-active .back-menu-bar,
body.global-shell-active #empresaTabsBar,
body.global-shell-active #infoTabsBar,
body.global-shell-active #gestionComercialTabsBar,
body.global-shell-active #gobiernoTabsBar{
  display:none!important;
}
body.global-shell-active #appShell main,
body.global-shell-active #empresaShell main,
body.global-shell-active #infoShell main,
body.global-shell-active #gestionComercialShell main{
  margin-top:0;
}

body.global-shell-active .gobierno-module-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
}

body.global-shell-active .gobierno-module-header h1{
  margin-bottom:8px;
}

body.global-shell-active .gobierno-module-header #gobiernoTabsBar{
  display:flex!important;
  gap:10px;
  flex:0 0 auto;
  flex-wrap:wrap;
  justify-content:flex-end;
  margin:0!important;
  align-self:center;
}
.dashboard-home{
  display:grid;
  gap:18px;
}
.dashboard-kpi-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.dashboard-kpi-card,
.recent-visit-card,
.recent-events-section,
.quick-actions-section,
.bcra-indicators-section{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .3);
  border-radius:16px;
  color:var(--text-main);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.dashboard-kpi-card{
  padding:14px;
}
.dashboard-kpi-card span{
  display:block;
  color:#A9B4C2;
  font-size:11px;
  font-weight:900;
  letter-spacing:.035em;
  text-transform:uppercase;
}
.dashboard-kpi-card strong{
  display:block;
  margin-top:6px;
  color:var(--accent-main);
  font-size:28px;
  line-height:1;
}
.dashboard-kpi-mobile-title,
.dashboard-kpi-mobile-borrador,
.dashboard-kpi-mobile-bars{
  display:none;
}
.recent-events-section,
.quick-actions-section,
.bcra-indicators-section{
  padding:16px;
}
.recent-events-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.recent-events-head h3,
.quick-actions-section h3,
.bcra-indicators-section h3{
  margin:0 0 4px;
  color:var(--text-title);
}
.bcra-indicators-status{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  border:1px solid rgba(0, 120, 168, .26);
  border-radius:999px;
  color:var(--accent-main);
  background:rgba(0, 120, 168, .08);
  font-size:11px;
  font-weight:900;
  letter-spacing:.02em;
}
.bcra-indicators-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.bcra-indicators-grid{
  display:block;
}
.bcra-indicator-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  min-height:68px;
  padding:10px 12px;
  border:1px solid rgba(0, 120, 168, .22);
  border-radius:14px;
  background:rgba(8,20,38,.42);
}
.bcra-indicator-info{
  min-width:0;
}
.bcra-indicator-info h4{
  margin:0;
  color:var(--text-title);
  font-size:14px;
  line-height:1.25;
}
.bcra-short-title{
  display:none;
}
.bcra-indicator-info p{
  margin:3px 0 0;
  color:#B7C5D6;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
.bcra-indicator-info time{
  display:block;
  margin-top:5px;
  color:var(--accent-main);
  font-size:12px;
  font-weight:900;
}
.bcra-indicator-values{
  display:grid;
  gap:4px;
  justify-items:end;
  text-align:right;
  white-space:nowrap;
}
.bcra-indicator-value{
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:7px;
}
.bcra-indicator-value span{
  color:#A9B4C2;
  font-size:10px;
  font-weight:900;
}
.bcra-indicator-value strong{
  color:#1E293B;
  font-size:16px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.bcra-indicators-loading{
  grid-column:1/-1;
  border:1px dashed rgba(0, 120, 168, .3);
  border-radius:14px;
  padding:16px;
  color:var(--text-muted);
  text-align:center;
}
.bcra-compact-cell{
  width:100%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr)) auto;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:10px 12px;
  border:1px solid rgba(0, 120, 168, .28);
  border-radius:14px;
  background:rgba(8,20,38,.42);
  color:var(--text-main);
  text-align:left;
  cursor:pointer;
}
.bcra-compact-cell:hover,
.bcra-compact-cell:focus-visible{
  border-color:var(--border-strong);
  background:rgba(0, 120, 168, .09);
  outline:none;
}
.bcra-compact-metric{
  display:grid;
  gap:5px;
  min-width:0;
}
.bcra-compact-metric > span{
  color:var(--accent-main);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.bcra-compact-metric > div{
  display:flex;
  align-items:baseline;
  gap:8px;
  flex-wrap:wrap;
}
.bcra-compact-metric strong{
  color:var(--text-title);
  font-size:21px;
  font-weight:900;
  font-variant-numeric:tabular-nums;
}
.bcra-compact-metric small{
  color:#A9B4C2;
  font-size:11px;
  font-weight:900;
}
.bcra-compact-action{
  justify-self:end;
  border:1px solid rgba(0, 120, 168, .32);
  border-radius:999px;
  padding:6px 10px;
  color:var(--accent-main);
  background:rgba(0, 120, 168, .08);
  font-size:12px;
  font-weight:900;
  white-space:nowrap;
}
.bcra-modal-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:6px;
  align-items:stretch;
}
.bcra-modal-updated{
  margin:0 0 8px!important;
}
.text-preview-modal.bcra-modal{
  padding:12px;
}
.text-preview-modal.bcra-modal .text-preview-modal-card{
  width:min(860px,calc(100vw - 24px));
  max-height:none;
  grid-template-rows:auto auto;
}
.text-preview-modal.bcra-modal .text-preview-modal-header{
  padding:12px 16px;
}
.text-preview-modal.bcra-modal .text-preview-modal-header h2{
  font-size:24px;
}
.text-preview-modal.bcra-modal .text-preview-modal-body{
  overflow:visible;
  white-space:normal;
  padding:12px 16px 14px;
  line-height:1.25;
}
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-card{
  min-height:58px;
  padding:7px 9px;
  border-radius:10px;
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
}
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-info h4{
  font-size:11px;
  line-height:1.12;
}
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-info p{
  font-size:10px;
  line-height:1.1;
  margin-top:2px;
}
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-value strong{
  font-size:14px;
}
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-values{
  gap:1px;
}
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-value span{
  font-size:9px;
}
.text-preview-modal-body .bcra-modal-grid .bcra-short-title{
  display:block;
}
@media(min-width:1180px){
  .text-preview-modal-card:has(.bcra-modal-grid){
    max-width:860px;
  }
}
.recent-events-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.recent-visit-card{
  overflow:hidden;
}
.recent-visit-clickable{
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.recent-visit-clickable:hover,
.recent-visit-clickable:focus-visible{
  transform:translateY(-2px);
  border-color:var(--border-strong);
  box-shadow:0 18px 38px rgba(0,0,0,.28);
  outline:none;
}
.recent-visit-image{
  height:150px;
  background:rgba(8,20,38,.72);
  border-bottom:1px solid rgba(0, 120, 168, .22);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--text-muted);
  font-weight:900;
}
.recent-visit-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.recent-visit-image.empty{
  background:linear-gradient(135deg,rgba(0, 120, 168, .12),rgba(96,165,250,.1)),rgba(8,20,38,.82);
}
.recent-visit-body{
  display:grid;
  gap:9px;
  padding:14px;
}
.recent-visit-title{
  margin:0;
  color:var(--text-title);
  font-size:17px;
  line-height:1.25;
}
.recent-visit-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:0;
  color:#A9B4C2;
  font-size:12px;
  font-weight:800;
}
.recent-visit-summary{
  margin:0;
  color:#DDE7F0;
  font-size:13px;
  line-height:1.45;
}
.recent-visit-actions{
  margin-top:4px;
}
.recent-visit-modal-detail{
  display:grid;
  gap:16px;
}
.recent-visit-modal-detail .fotos-grid{
  grid-template-columns:repeat(auto-fill,minmax(150px,1fr));
}
.recent-visit-modal-detail .foto-preview,
.recent-visit-modal-detail .foto-preview-error{
  min-height:132px;
}
.recent-visit-modal-detail .foto-preview img{
  height:120px;
}
.recent-visit-modal-detail section{
  display:grid;
  gap:8px;
}
.recent-visit-modal-detail section p{
  margin:0;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  line-height:1.55;
}
.recent-visit-modal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 16px;
}
.recent-visit-modal-grid p{
  display:grid;
  gap:3px;
  margin:0;
  padding:10px;
  border:1px solid rgba(0, 120, 168, .18);
  border-radius:10px;
  background:rgba(8,20,38,.34);
}
.recent-visit-modal-grid b{
  color:var(--accent-main);
  font-size:11px;
  text-transform:uppercase;
}
.recent-visit-modal-grid span,
.recent-visit-modal-detail p{
  color:var(--text-main);
}
.recent-visit-modal-detail h3{
  margin:0 0 6px;
  color:var(--accent-main);
}
.recent-visit-modal-actions{
  display:flex;
  justify-content:flex-end;
}
.quick-actions-grid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.mobile-tabs-drawer{
  position:fixed;
  inset:0;
  z-index:2000;
  display:flex;
  align-items:flex-end;
  background:rgba(0,0,0,.58);
}
.mobile-tabs-drawer.hidden{
  display:none!important;
}
.mobile-tabs-panel{
  width:100%;
  max-height:75vh;
  overflow:auto;
  background:var(--bg-surface)!important;
  border-top:1px solid var(--border-soft);
  border-radius:18px 18px 0 0;
  box-shadow:0 -18px 44px rgba(0,0,0,.4);
  padding:16px;
  color:var(--text-main);
}
.mobile-tabs-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.mobile-tabs-header h3{
  margin:0;
  color:var(--text-title);
}
.mobile-tabs-list{
  display:grid;
  gap:8px;
}
.mobile-tab-item{
  width:100%;
  padding:14px 12px;
  border:1px solid var(--border-soft);
  border-radius:12px;
  background:rgba(8,20,38,.36);
  color:var(--text-main);
  text-align:left;
  font-weight:800;
}
.mobile-tab-item:hover,
.mobile-tab-item.active{
  background:var(--accent-soft);
  color:var(--accent-main);
  border-color:var(--border-strong);
}

/* Visitas efectuadas: filtros compactos desktop/mobile */
.empresa-visitas-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.empresa-visitas-header h2{margin:0 0 4px}
.empresa-visitas-filter-card{
  padding:16px;
  border:1px solid rgba(0, 120, 168, .28);
  border-radius:14px;
  background:rgba(8,20,38,.24);
}
.empresa-visitas-filter-main{
  display:grid;
  grid-template-columns:minmax(240px,1.35fr) minmax(260px,1.05fr) minmax(190px,.85fr) auto auto;
  gap:10px;
  align-items:end;
}
.empresa-visitas-filter-card label{
  font-size:12px;
  line-height:1.2;
}
.empresa-visitas-filter-card input,
.empresa-visitas-filter-card select,
.empresa-visitas-filter-card button{
  min-height:40px;
}
.empresa-visitas-search input{
  width:100%;
}
.empresa-date-range-control{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-height:40px;
  padding:0 8px;
  border:1px solid rgba(148,163,184,.24);
  border-radius:10px;
  background:rgba(8,20,38,.55);
}
.empresa-date-range-control input{
  min-height:34px;
  border:0!important;
  padding:0!important;
  background:transparent!important;
}
.empresa-date-range-control span{
  color:var(--text-muted);
  font-size:12px;
  font-weight:900;
}
.empresa-advanced-filters{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,220px));
  gap:10px;
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(148,163,184,.14);
}
.empresa-filter-chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}
.empresa-filter-chip{
  min-height:30px!important;
  border:1px solid rgba(0, 120, 168, .32);
  border-radius:999px;
  background:rgba(0, 120, 168, .1);
  color:var(--accent-main);
  padding:5px 10px;
  font-size:12px;
  font-weight:900;
}
.empresa-filter-chip span{
  margin-left:6px;
  color:var(--text-title);
}
.empresa-filter-mobile{display:none}
.empresa-mobile-filter-sheet.hidden{display:none!important}
.empresa-mobile-filter-sheet{
  position:fixed;
  inset:0;
  z-index:2100;
  display:flex;
  align-items:flex-end;
  background:rgba(0,0,0,.58);
}
.empresa-mobile-filter-panel{
  width:100%;
  max-height:82vh;
  overflow:auto;
  padding:16px;
  border-top:1px solid var(--border-soft);
  border-radius:18px 18px 0 0;
  background:var(--bg-surface)!important;
  box-shadow:0 -18px 44px rgba(0,0,0,.4);
}
.empresa-mobile-filter-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:12px;
}
.empresa-visit-picker{
  margin-top:12px;
  padding:12px;
  border:1px solid rgba(0, 120, 168, .2);
  border-radius:12px;
  background:rgba(8,20,38,.18);
}
.empresa-visit-picker-mobile{display:none}
@media(max-width:1100px){
  .dashboard-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bcra-modal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .recent-events-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .app-sidebar{
    display:none!important;
  }
  .mobile-bottom-nav{
    background:rgba(8,20,38,.98);
    border-top:1px solid var(--border-soft);
    box-shadow:0 -10px 30px rgba(0,0,0,.35);
  }
  .mobile-nav-item{
    color:var(--text-muted);
    font-size:11px;
    font-weight:800;
  }
  .mobile-nav-item.active{
    color:var(--accent-main);
  }
  #empresaShell{
    width:100%;
  }
  #empresaShell > .card:first-of-type{
    padding:10px 12px!important;
    min-height:0!important;
  }
  #empresaShell > .card:first-of-type h1{
    font-size:20px;
    line-height:1.1;
    margin:0;
  }
  #empresaShell > .card:first-of-type .small{
    display:none;
  }
  #empresaSeguimiento .seguimiento-dashboard{
    gap:10px;
    padding:10px!important;
  }
  #empresaSeguimiento .seguimiento-header{
    min-height:0;
    max-height:70px;
    padding:0;
    gap:8px;
    flex-direction:row;
    align-items:center;
  }
  #empresaSeguimiento .seguimiento-header h2{
    margin:0;
    font-size:0;
    line-height:1;
  }
  #empresaSeguimiento .seguimiento-header h2::after{
    content:"Seguimiento de Clientes";
    font-size:20px;
    line-height:1.1;
  }
  #empresaSeguimiento .seguimiento-header .small{
    display:none;
  }
  #btnSeguimientoActualizar{
    min-height:36px;
    padding:7px 9px;
    font-size:12px;
    white-space:nowrap;
  }
  #empresaSeguimiento .seguimiento-filters{
    padding:10px!important;
    border-radius:14px;
    background:rgba(8,20,38,.28)!important;
    max-height:140px;
    overflow:auto;
  }
  .seguimiento-mobile-filterbar{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:8px;
    align-items:center;
  }
  .seguimiento-mobile-filterbar input,
  .seguimiento-mobile-filterbar button{
    min-height:38px;
    margin:0;
  }
  .seguimiento-mobile-filterbar button{
    padding:7px 9px;
    font-size:12px;
  }
  .seguimiento-filter-chips{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-top:8px;
  }
  .seguimiento-filter-chip{
    min-height:28px;
    padding:4px 8px;
    border:1px solid rgba(0, 120, 168, .34);
    border-radius:999px;
    background:rgba(0, 120, 168, .1);
    color:var(--accent-main);
    font-size:11px;
    font-weight:900;
  }
  .seguimiento-filter-chip span{
    color:var(--text-title);
  }
  .seguimiento-mobile-filter-sheet{
    position:fixed;
    inset:0;
    z-index:2200;
    display:none;
    align-items:flex-end;
    background:rgba(0,0,0,.58);
  }
  .seguimiento-mobile-filter-sheet.open{
    display:flex;
  }
  .seguimiento-mobile-filter-panel{
    width:100%;
    max-height:85vh;
    overflow:auto;
    padding:14px;
    border-top:1px solid var(--border-soft);
    border-radius:18px 18px 0 0;
    background:var(--bg-surface);
    box-shadow:0 -18px 44px rgba(0,0,0,.4);
  }
  .seguimiento-mobile-filter-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:10px;
  }
  .seguimiento-mobile-filter-head h3{
    margin:0;
    color:var(--text-title);
    font-size:18px;
  }
  .seguimiento-filter-fields{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .seguimiento-filter-fields label{
    font-size:11px;
  }
  .seguimiento-filter-fields input,
  .seguimiento-filter-fields select{
    min-height:38px;
    margin:0;
  }
  .seguimiento-mobile-filter-actions{
    position:sticky;
    bottom:-14px;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:12px -14px -14px;
    padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(0, 120, 168, .22);
    background:var(--bg-surface);
  }
  .seguimiento-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:8px;
    overflow-x:auto;
    padding-bottom:8px;
    scrollbar-width:none;
  }
  .seguimiento-tabs::-webkit-scrollbar{
    display:none;
  }
  .seguimiento-tab-btn{
    flex:0 0 auto;
    min-height:34px;
    padding:7px 11px;
    font-size:0;
    white-space:nowrap;
  }
  .seguimiento-tab-btn::after{
    content:attr(data-mobile-label);
    font-size:12px;
  }
  .seguimiento-kpi-dashboard{
    display:flex!important;
    grid-template-columns:none!important;
    overflow-x:auto;
    gap:10px;
    scroll-snap-type:x proximity;
    padding-bottom:4px;
  }
  .seguimiento-kpi-modern{
    flex:0 0 160px;
    min-width:160px;
    min-height:76px;
    padding:10px;
    grid-template-columns:42px 1fr;
    column-gap:9px;
    scroll-snap-align:start;
  }
  .seguimiento-kpi-icon{
    width:42px!important;
    height:42px!important;
    border-radius:10px!important;
  }
  .seguimiento-kpi-icon svg{
    width:23px!important;
    height:23px!important;
  }
  .seguimiento-kpi-modern strong{
    font-size:18px!important;
  }
  .seguimiento-kpi-modern small{
    display:none;
  }
  .seguimiento-dashboard-grid{
    display:flex!important;
    flex-direction:column;
    gap:10px!important;
  }
  .seguimiento-ficha-card{
    order:1;
  }
  .seguimiento-side-stack{
    order:2;
    display:flex;
    flex-direction:column;
    gap:10px;
  }
  .seguimiento-map-card{
    order:3;
  }
  .seguimiento-panel,
  .seguimiento-client-card,
  .seguimiento-section{
    padding:10px!important;
  }
  .seguimiento-panel-title-row{
    gap:8px;
  }
  .seguimiento-inline-select{
    min-height:38px;
    font-size:12px;
  }
  .seguimiento-ficha-grid,
  .seguimiento-ficha-notes{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .seguimiento-ficha-grid p{
    grid-template-columns:90px 1fr;
    font-size:12px;
  }
  .seguimiento-evidence-strip{
    display:flex;
    overflow-x:auto;
    gap:8px;
  }
  .seguimiento-evidence-thumb{
    flex:0 0 112px;
  }
  .seguimiento-quality-row{
    grid-template-columns:20px 80px 1fr 36px;
    font-size:12px;
  }
  .sidebar-module-section{
    margin-top:0;
    padding-top:0;
    border-top:0;
  }
  .sidebar-module-list{
    grid-template-columns:1fr;
  }
  .sidebar-submenu{
    margin-left:8px;
  }
  body.global-shell-active .main-menu.shell-sidebar-only{
    position:fixed;
    inset:auto 0 0 0;
    width:100%;
    min-height:0!important;
    height:0!important;
    overflow:visible;
    padding:0!important;
    background:transparent;
    pointer-events:none;
  }
  body.global-shell-active .main-menu.shell-sidebar-only .app-layout{
    min-height:0!important;
    height:0!important;
    display:block;
  }
  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar{
    display:none!important;
  }
  body.global-shell-active .main-menu.shell-sidebar-only .app-main{
    display:none!important;
    min-height:0!important;
    height:0!important;
    padding:0!important;
    margin:0!important;
  }
  body.global-shell-active .main-menu.shell-sidebar-only .mobile-bottom-nav{
    display:flex!important;
    pointer-events:auto;
  }
  body.global-shell-active #appShell,
  body.global-shell-active #adminUsersPanel,
  body.global-shell-active #empresaShell,
  body.global-shell-active #infoShell,
  body.global-shell-active #gestionComercialShell,
  body.global-shell-active #gestionGobiernoShell,
  body.global-shell-active #riesgoCrediticioShell{
    width:100%;
    max-width:100%;
    margin-left:0;
    min-height:auto!important;
    margin-top:0!important;
    padding:12px 12px calc(82px + env(safe-area-inset-bottom));
    padding-top:12px!important;
    transform:none!important;
  }
  body.global-shell-active #appShell.hidden,
  body.global-shell-active #adminUsersPanel.hidden,
  body.global-shell-active #empresaShell.hidden,
  body.global-shell-active #infoShell.hidden,
  body.global-shell-active #gestionComercialShell.hidden,
  body.global-shell-active #gestionGobiernoShell.hidden,
  body.global-shell-active #riesgoCrediticioShell.hidden{
    display:none!important;
  }
  body.global-shell-active .dashboard-home,
  body.global-shell-active .dashboard-shell,
  body.global-shell-active .tab-panel,
  body.global-shell-active .empresa-module,
  body.global-shell-active .info-module,
  body.global-shell-active .gestion-comercial-module{
    min-height:auto!important;
    margin-top:0!important;
    padding-top:0!important;
    transform:none!important;
  }
  .dashboard-kpi-grid{
    display:grid;
    grid-template-columns:1fr;
    gap:9px;
    max-height:none;
    padding:12px;
    border:1px solid rgba(0, 120, 168, .28);
    border-radius:16px;
    background:var(--bg-surface)!important;
  }
  .dashboard-kpi-mobile-title{
    display:block;
    grid-column:1/-1;
    color:var(--text-title);
    font-size:15px;
    font-weight:900;
    line-height:1;
  }
  .dashboard-kpi-card{
    display:none;
    min-height:0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    display:grid;
    gap:2px;
  }
  .dashboard-kpi-card span{
    color:#A9B4C2;
    font-size:10px;
    line-height:1.1;
    letter-spacing:.02em;
  }
  .dashboard-kpi-card span::before{
    content:attr(data-mobile-label);
  }
  .dashboard-kpi-card span{
    font-size:0;
  }
  .dashboard-kpi-card strong{
    margin:0;
    font-size:23px;
    line-height:1;
  }
  .dashboard-kpi-mobile-borrador{
    display:grid;
    grid-column:1/-1;
    gap:5px;
    margin-top:2px;
  }
  .dashboard-kpi-mobile-borrador > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    color:#A9B4C2;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.02em;
  }
  .dashboard-kpi-mobile-borrador strong{
    color:var(--accent-main);
    font-size:14px;
    line-height:1;
  }
  .dashboard-kpi-mobile-borrador i{
    display:block;
    height:6px;
    border-radius:999px;
    background:rgba(148,163,184,.18);
    overflow:hidden;
  }
  .dashboard-kpi-mobile-borrador b{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--accent-main),#9adfd3);
  }
  .dashboard-kpi-mobile-bars{
    display:grid;
    grid-column:1/-1;
    gap:8px;
  }
  .dashboard-kpi-mobile-bar{
    display:grid;
    gap:5px;
  }
  .dashboard-kpi-mobile-bar > div{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    color:#A9B4C2;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.02em;
  }
  .dashboard-kpi-mobile-bar strong{
    color:var(--accent-main);
    font-size:15px;
    line-height:1;
  }
  .dashboard-kpi-mobile-bar i{
    display:block;
    height:7px;
    border-radius:999px;
    background:rgba(148,163,184,.18);
    overflow:hidden;
  }
  .dashboard-kpi-mobile-bar b{
    display:block;
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,var(--accent-main),#9adfd3);
  }
  .recent-events-grid{
    grid-template-columns:1fr;
  }
  .bcra-indicators-section{
    padding:10px;
  }
  .bcra-indicators-section .recent-events-head{
    margin-bottom:8px;
  }
  .bcra-indicators-section .recent-events-head .small{
    display:block;
    margin:2px 0 0;
    font-size:11px;
  }
  .bcra-indicators-actions{
    width:100%;
    justify-content:flex-start;
  }
  .bcra-indicators-status{
    min-height:24px;
    padding:4px 8px;
    font-size:10px;
  }
  .bcra-indicators-grid{
    max-height:140px;
  }
  .bcra-indicator-card{
    flex:0 0 158px;
    min-height:64px;
    padding:9px 10px;
    grid-template-columns:1fr;
    gap:5px;
    scroll-snap-align:start;
  }
  .bcra-indicator-info h4:not(.bcra-short-title),
  .bcra-indicator-info p{
    display:none;
  }
  .bcra-short-title{
    display:block!important;
    font-size:12px!important;
  }
  .bcra-indicator-values{
    justify-items:start;
    text-align:left;
    gap:2px;
  }
  .bcra-indicator-value{
    width:100%;
    justify-content:space-between;
    gap:6px;
  }
  .bcra-indicator-value strong{
    font-size:15px;
  }
  .bcra-compact-cell{
    grid-template-columns:1fr;
    min-height:96px;
    padding:9px 10px;
    gap:7px;
  }
  .bcra-compact-metric{
    grid-template-columns:88px 1fr;
    align-items:center;
  }
  .bcra-compact-metric > span{
    font-size:11px;
  }
  .bcra-compact-metric strong{
    font-size:17px;
  }
  .bcra-compact-metric small{
    font-size:10px;
  }
  .bcra-compact-action{
    justify-self:start;
    padding:4px 8px;
    font-size:11px;
  }
  .bcra-modal-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .text-preview-modal.bcra-modal{
    padding:8px;
    align-items:center;
  }
  .text-preview-modal.bcra-modal .text-preview-modal-card{
    width:calc(100vw - 16px);
  }
  .text-preview-modal.bcra-modal .text-preview-modal-header{
    padding:10px 12px;
  }
  .text-preview-modal.bcra-modal .text-preview-modal-header h2{
    font-size:20px;
  }
  .text-preview-modal.bcra-modal .text-preview-modal-body{
    padding:10px 12px 12px;
  }
  .text-preview-modal-body .bcra-modal-grid .bcra-indicator-card{
    min-height:54px;
    padding:6px 8px;
  }
  .text-preview-modal-body .bcra-modal-grid .bcra-indicator-info h4{
    font-size:10px;
  }
  .text-preview-modal-body .bcra-modal-grid .bcra-indicator-info p{
    display:none;
  }
  .text-preview-modal-body .bcra-modal-grid .bcra-indicator-value strong{
    font-size:13px;
  }
  .recent-visit-modal-grid{
    grid-template-columns:1fr;
  }
  .recent-events-head{
    flex-direction:column;
  }
  .recent-visit-image{
    height:132px;
  }
  #empresaVisitas.card,
  #empresaVisitas .card{
    padding:12px;
  }
  .empresa-visitas-header{
    margin-bottom:8px;
  }
  .empresa-visitas-header .small{
    display:none;
  }
  .empresa-visitas-filter-card{
    padding:12px;
  }
  .empresa-visitas-filter-main{
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:8px;
  }
  .empresa-visitas-search{
    min-width:0;
  }
  .empresa-filter-desktop,
  .empresa-date-range-desktop,
  .empresa-advanced-filters{
    display:none!important;
  }
  .empresa-filter-mobile{
    display:inline-flex;
  }
  .empresa-mobile-filter-fields{
    grid-template-columns:1fr!important;
    gap:10px;
  }
  .empresa-visitas-filter-card input,
  .empresa-visitas-filter-card select,
  .empresa-visitas-filter-card button,
  .empresa-mobile-filter-panel input,
  .empresa-mobile-filter-panel select,
  .empresa-mobile-filter-panel button{
    min-height:40px;
  }
  .empresa-visit-picker{
    margin-top:10px;
    padding:10px;
  }
  .empresa-visit-picker select{
    min-height:40px;
    font-size:13px;
  }
  .empresa-visit-select-desktop{
    display:none!important;
  }
  .empresa-visit-picker-mobile{
    display:block;
    width:100%;
    min-height:40px;
  }
}

@media(max-width:768px){
  html,
  body{
    overflow-x:hidden;
  }
  *,
  *::before,
  *::after{
    box-sizing:border-box;
  }
  body.global-shell-active #empresaShell{
    display:block!important;
    padding:6px 6px calc(74px + env(safe-area-inset-bottom))!important;
    width:100vw!important;
    max-width:100vw!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  #empresaShell.seguimiento-mobile-active > .back-menu-bar,
  #empresaShell.seguimiento-mobile-active > .card:first-of-type,
  #empresaShell.seguimiento-mobile-active > #empresaTabsBar,
  #empresaShell:has(#empresaSeguimiento.active) > .back-menu-bar,
  #empresaShell:has(#empresaSeguimiento.active) > .card:first-of-type,
  #empresaShell:has(#empresaSeguimiento.active) > #empresaTabsBar{
    display:none!important;
  }
  #empresaSeguimiento,
  #empresaSeguimiento .seguimiento-dashboard,
  #empresaSeguimiento #seguimientoContent,
  #empresaSeguimiento .seguimiento-dashboard-grid,
  #empresaSeguimiento .seguimiento-panel,
  #empresaSeguimiento .seguimiento-ficha-card,
  #empresaSeguimiento .seguimiento-side-stack,
  #empresaSeguimiento .seguimiento-filters{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
  }
  #empresaSeguimiento .seguimiento-dashboard{
    gap:7px!important;
    padding:7px!important;
    border-radius:12px!important;
  }
  #empresaSeguimiento .seguimiento-header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:6px;
    max-height:none;
  }
  #empresaSeguimiento .seguimiento-header h2::after{
    font-size:16px;
  }
  #btnSeguimientoActualizar{
    display:none!important;
  }
  #empresaSeguimiento .seguimiento-mobile-filterbar [data-refresh-seguimiento]{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    width:38px;
    min-width:38px;
    height:32px;
    min-height:32px;
    padding:0;
    font-size:0;
    border-radius:10px;
  }
  #empresaSeguimiento .seguimiento-mobile-filterbar [data-refresh-seguimiento]{
    font-size:0;
  }
  #empresaSeguimiento .seguimiento-mobile-filterbar [data-refresh-seguimiento]::after{
    content:"Act.";
    font-size:11px;
  }
  #empresaSeguimiento .seguimiento-filters{
    max-height:none;
    overflow:visible;
    padding:7px!important;
  }
  .seguimiento-mobile-filterbar{
    grid-template-columns:1fr auto auto;
    gap:6px;
    width:100%;
    min-width:0;
  }
  .seguimiento-mobile-filterbar input{
    grid-column:1/-1;
    width:100%;
    min-height:34px;
    height:34px;
    font-size:12px;
  }
  .seguimiento-mobile-filterbar button{
    min-height:30px;
    height:30px;
    padding:4px 8px;
    font-size:11px;
  }
  .seguimiento-filter-chips{
    margin-top:6px;
    gap:5px;
    max-height:32px;
    overflow:auto;
  }
  .seguimiento-filter-chip{
    min-height:24px;
    padding:3px 7px;
    font-size:10px;
  }
  .seguimiento-tabs{
    gap:6px;
    padding-bottom:6px;
    max-width:100%;
  }
  .seguimiento-tab-btn{
    min-width:66px;
    min-height:30px;
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    padding:5px 9px;
    line-height:1;
    border-radius:999px;
  }
  .seguimiento-tab-btn::after{
    display:inline-block;
    font-size:11px!important;
    line-height:1;
    color:inherit;
  }
  .seguimiento-kpi-dashboard{
    gap:7px;
    margin-inline:-1px;
    max-width:100%;
    overflow-x:auto!important;
  }
  .seguimiento-kpi-modern{
    flex-basis:132px;
    min-width:132px;
    min-height:60px;
    padding:7px;
    grid-template-columns:34px 1fr;
    column-gap:7px;
  }
  .seguimiento-kpi-icon{
    width:34px!important;
    height:34px!important;
  }
  .seguimiento-kpi-icon svg{
    width:19px!important;
    height:19px!important;
  }
  .seguimiento-kpi-modern span:not(.seguimiento-kpi-icon){
    font-size:9px!important;
    line-height:1.1;
  }
  .seguimiento-kpi-modern strong{
    font-size:15px!important;
    margin-top:0!important;
  }
  .seguimiento-panel,
  .seguimiento-client-card,
  .seguimiento-section{
    padding:8px!important;
    border-radius:10px!important;
  }
  .seguimiento-panel h3{
    font-size:14px;
    margin-bottom:6px;
  }
  .seguimiento-panel-title-row{
    margin-bottom:6px;
  }
  .seguimiento-inline-select{
    min-height:32px;
    height:32px;
    font-size:11px;
    max-width:100%!important;
  }
  .seguimiento-ficha-grid{
    gap:4px!important;
  }
  .seguimiento-ficha-grid p{
    grid-template-columns:74px minmax(0,1fr);
    gap:5px;
    font-size:10.5px;
  }
  .seguimiento-ficha-notes>div{
    padding:7px!important;
  }
  .seguimiento-text-preview,
  .seguimiento-oportunidad-scroll{
    max-height:6.8em;
    font-size:11px;
    line-height:1.35;
  }
  .seguimiento-evidence-thumb{
    flex-basis:86px;
    min-height:62px;
  }
  .seguimiento-evidence-thumb img{
    height:64px;
  }
  .seguimiento-quality-row{
    grid-template-columns:18px 68px 1fr 32px;
    gap:5px;
    font-size:10.5px;
  }
}

@media(max-width:768px){
  #empresaShell:not(.seguimiento-mobile-active) > .card:first-of-type,
  #empresaShell:not(.seguimiento-mobile-active) > #empresaTabsBar{
    display:none!important;
  }
  #empresaNuevo > .card{
    padding:10px!important;
    border-radius:14px!important;
    margin-bottom:0!important;
  }
  #empresaNuevo .main-menu-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    margin-bottom:10px;
  }
  #empresaNuevo .main-menu-head h2{
    margin:0;
    font-size:20px;
    line-height:1.05;
  }
  #empresaNuevo #empresaInformeActivo{
    margin:3px 0 0;
    font-size:0;
  }
  #empresaNuevo #empresaInformeActivo::after{
    content:"Alta de visita o entrevista";
    font-size:12px;
    color:#A9B4C2;
  }
  #btnEmpresaCargarBorrador{
    min-height:34px;
    padding:6px 9px;
    font-size:11px;
    border-radius:10px;
  }
  .empresa-mobile-accordion-list{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
  }
  .empresa-mobile-accordion{
    display:block;
    border:1px solid rgba(0, 120, 168, .28);
    border-radius:13px;
    background:rgba(8,20,38,.28);
    overflow:hidden;
  }
  .empresa-mobile-accordion summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:42px;
    padding:10px 12px;
    color:var(--accent-main);
    font-weight:900;
    cursor:pointer;
    list-style:none;
  }
  .empresa-mobile-accordion summary::-webkit-details-marker{
    display:none;
  }
  .empresa-mobile-accordion summary::after{
    content:"+";
    width:22px;
    height:22px;
    border:1px solid rgba(0, 120, 168, .3);
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    color:var(--text-title);
  }
  .empresa-mobile-accordion[open] summary::after{
    content:"-";
  }
  .empresa-mobile-accordion-body{
    display:grid;
    grid-template-columns:1fr!important;
    gap:10px;
    padding:0 10px 11px;
  }
  .empresa-mobile-accordion .empresa-field{
    min-width:0;
  }
  .empresa-mobile-accordion label{
    font-size:14px;
    line-height:1.2;
    margin-bottom:4px;
  }
  .empresa-mobile-accordion input,
  .empresa-mobile-accordion select,
  .empresa-mobile-accordion textarea{
    min-height:44px;
    margin:0;
    font-size:14px;
  }
  .empresa-mobile-accordion textarea{
    min-height:92px;
  }
  .empresa-mobile-accordion .toolbar{
    gap:7px;
  }
  .empresa-mobile-accordion .toolbar button,
  .empresa-mobile-accordion .toolbar a{
    min-height:40px;
    padding:7px 10px;
    font-size:12px;
  }
  .empresa-upload-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:0!important;
  }
  .empresa-upload-grid section{
    padding:9px;
    border:1px solid rgba(148,163,184,.16);
    border-radius:11px;
    background:rgba(8,20,38,.22);
  }
  .empresa-upload-grid h3{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin:0 0 6px;
    font-size:15px;
  }
  .empresa-upload-grid .small{
    margin:0 0 6px;
    font-size:11px;
  }
  .empresa-photo-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:6px 0 8px;
  }
  .empresa-photo-actions .logout-outline-btn{
    min-height:36px;
    padding:6px 8px;
  }
  .empresa-mobile-count{
    display:inline-flex;
    min-width:22px;
    height:22px;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(0, 120, 168, .14);
    color:var(--accent-main);
    font-size:12px;
  }
  #empresaVideoInput{
    width:100%;
    min-height:40px;
    padding:7px;
    border:1px dashed rgba(0, 120, 168, .34);
    border-radius:10px;
    background:rgba(8,20,38,.35);
    color:var(--text-main);
  }
  #empresaVideoInput::file-selector-button{
    min-height:30px;
    margin-right:8px;
    border:1px solid rgba(0, 120, 168, .38);
    border-radius:8px;
    background:rgba(0, 120, 168, .12);
    color:var(--accent-main);
    font-weight:900;
  }
  .photo-preview-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:6px!important;
  }
  .photo-preview-item{
    padding:6px!important;
    border-radius:9px!important;
  }
  .photo-preview-item img{
    height:54px!important;
  }
  .photo-preview-item strong,
  .photo-preview-item span{
    font-size:10px!important;
  }
  .photo-preview-item button{
    min-height:28px;
    padding:4px 6px;
    font-size:10px;
  }
  .video-preview-box{
    min-height:38px;
    padding:8px!important;
  }
  .web-info-box{
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
  }
  .web-info-box .main-menu-head{
    grid-template-columns:1fr;
    margin-bottom:8px!important;
  }
  .web-info-box .main-menu-head h3,
  .web-info-box .main-menu-head .small{
    display:none;
  }
  #btnEmpresaBuscarWeb{
    min-height:38px;
    padding:7px 10px;
    font-size:12px;
  }
  #empresaInformacionAdicional{
    min-height:118px!important;
    font-size:12px;
  }
  .empresa-actions{
    position:sticky;
    bottom:calc(66px + env(safe-area-inset-bottom));
    z-index:880;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:10px -10px -10px;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(0, 120, 168, .22);
    background:var(--bg-surface);
  }
  .empresa-actions button{
    min-height:40px;
    padding:7px 9px;
    font-size:12px;
  }
  #btnEmpresaLimpiar{
    grid-column:1/-1;
    justify-self:center;
    min-height:30px;
    padding:5px 9px;
    font-size:11px;
    background:transparent!important;
  }
}

/* Clientes calificados: contraste y lectura ejecutiva */
#clientesCalificadosPanel,
#clientesCalificadosPanel .ficha-cliente{
  color:var(--text-main)!important;
}
#clientesCalificadosPanel .client-selector-panel,
#clientesCalificadosPanel .client-upload-panel,
#clientesCalificadosPanel .ficha-header,
#clientesCalificadosPanel .client-section,
#clientesCalificadosPanel .client-kpi-card,
#clientesCalificadosPanel .alerta-card{
  background:var(--bg-surface)!important;
  border:1px solid rgba(0, 120, 168, .32)!important;
  color:var(--text-main)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.18)!important;
}
#clientesCalificadosPanel .ficha-header h2,
#clientesCalificadosPanel .ficha-header h3,
#clientesCalificadosPanel .client-section-title,
#clientesCalificadosPanel .alertas-comerciales h3{
  color:var(--text-title)!important;
}
#clientesCalificadosPanel .ficha-header p,
#clientesCalificadosPanel .client-section p,
#clientesCalificadosPanel .client-selector-panel p,
#clientesCalificadosPanel .commercial-empty-state{
  color:#DDE7F0!important;
}
#clientesCalificadosPanel .ficha-header-grid,
#clientesCalificadosPanel .client-info-grid{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr))!important;
  gap:12px 16px!important;
}
#clientesCalificadosPanel .ficha-header-grid>div,
#clientesCalificadosPanel .client-info-item{
  display:grid!important;
  gap:5px!important;
  min-width:0;
  padding:11px 12px!important;
  border:1px solid rgba(148,163,184,.2)!important;
  border-radius:12px!important;
  background:var(--bg-surface-muted)!important;
}
#clientesCalificadosPanel .ficha-header-grid span,
#clientesCalificadosPanel .client-info-item span{
  display:block!important;
  color:#A9B4C2!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.035em!important;
  text-transform:uppercase!important;
}
#clientesCalificadosPanel .ficha-header-grid strong,
#clientesCalificadosPanel .client-info-item strong{
  display:block!important;
  margin:0!important;
  color:var(--text-title)!important;
  font-size:14px!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
#clientesCalificadosPanel .alertas-comerciales{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:12px!important;
}
#clientesCalificadosPanel .alertas-comerciales h3{
  grid-column:1/-1;
  margin:0!important;
}
#clientesCalificadosPanel .alerta-card{
  min-height:0!important;
  padding:14px!important;
}
#clientesCalificadosPanel .alerta-card strong{
  display:block!important;
  margin-bottom:7px!important;
  color:var(--text-title)!important;
}
#clientesCalificadosPanel .alerta-card p{
  margin:0 0 8px!important;
  color:#E5E7EB!important;
  opacity:1!important;
}
#clientesCalificadosPanel .alerta-card small{
  color:#A9B4C2!important;
  line-height:1.35!important;
}
#clientesCalificadosPanel .alerta-card.alto,
#clientesCalificadosPanel .alerta-card.high{
  background:var(--bg-surface)!important;
  border-color:rgba(252,165,165,.38)!important;
}
#clientesCalificadosPanel .alerta-card.alto strong,
#clientesCalificadosPanel .alerta-card.high strong{
  color:#FCA5A5!important;
}
#clientesCalificadosPanel .alerta-card.medio,
#clientesCalificadosPanel .alerta-card.medium{
  background:var(--bg-surface)!important;
  border-color:rgba(252,211,77,.35)!important;
}
#clientesCalificadosPanel .alerta-card.medio strong,
#clientesCalificadosPanel .alerta-card.medium strong{
  color:#FCD34D!important;
}
#clientesCalificadosPanel .alerta-card.bajo,
#clientesCalificadosPanel .alerta-card.low{
  background:var(--bg-surface)!important;
  border-color:rgba(134,239,172,.32)!important;
}
#clientesCalificadosPanel .alerta-card.bajo strong,
#clientesCalificadosPanel .alerta-card.low strong{
  color:#86EFAC!important;
}
#clientesCalificadosPanel .product-matrix th{
  background:rgba(0, 120, 168, .16)!important;
  color:var(--text-title)!important;
}
#clientesCalificadosPanel .product-matrix td{
  background:var(--bg-surface)!important;
  color:var(--text-main)!important;
}
#clientesCalificadosPanel .credit-lines-table-wrap{
  margin:14px 0;
  overflow:auto;
  border:1px solid rgba(0, 120, 168, .28);
  border-radius:14px;
  background:var(--bg-surface-muted);
}
#clientesCalificadosPanel .credit-lines-table{
  width:100%;
  min-width:560px;
  border-collapse:separate;
  border-spacing:0;
  font-size:14px;
}
#clientesCalificadosPanel .credit-lines-table th,
#clientesCalificadosPanel .credit-lines-table td{
  padding:10px 12px;
  border-bottom:1px solid rgba(148,163,184,.18)!important;
}
#clientesCalificadosPanel .credit-lines-table thead th{
  background:rgba(0, 120, 168, .16)!important;
  color:var(--text-title)!important;
  font-weight:900;
  text-align:right;
}
#clientesCalificadosPanel .credit-lines-table thead th:first-child{
  text-align:left;
}
#clientesCalificadosPanel .credit-lines-table tbody th{
  background:rgba(147,197,253,.16)!important;
  color:var(--text-title)!important;
  font-weight:900;
  text-align:left;
}
#clientesCalificadosPanel .credit-lines-table tbody td{
  background:rgba(232,238,245,.96)!important;
  color:#0B1F33!important;
  font-variant-numeric:tabular-nums;
  font-weight:800;
  text-align:right;
}
#clientesCalificadosPanel .credit-lines-table tbody td:nth-child(3){
  background:rgba(252,252,190,.96)!important;
  color:#334155!important;
}
#clientesCalificadosPanel .credit-lines-table .total-row th,
#clientesCalificadosPanel .credit-lines-table .total-row td{
  border-top:2px solid rgba(0, 120, 168, .52)!important;
  font-weight:950;
}

.empresa-report-mobile-filterbar,
.empresa-report-mobile-head,
.empresa-report-mobile-actions,
.empresa-report-filter-chips,
.empresa-report-mobile-kpi-summary,
.empresa-report-mobile-list,
.empresa-report-mobile-more{
  display:none;
}

@media (max-width: 768px){
  body.global-shell-active #adminUsersPanel{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 8px calc(96px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
  }

  #adminUsersPanel .back-menu-bar{
    display:none!important;
  }

  #adminUsersPanel .card{
    padding:12px!important;
    border-radius:14px!important;
    overflow:hidden;
  }

  #adminUsersPanel h1{
    font-size:24px;
    line-height:1.1;
    margin:0 0 6px;
  }

  #adminUsersPanel h2{
    font-size:20px;
    line-height:1.15;
  }

  #adminUsersPanel .grid-2,
  #adminUsersPanel .admin-grid{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  #pendingUsersList,
  #approvedUsersList,
  #disabledUsersList{
    width:100%;
    max-width:100%;
    overflow:visible;
  }

  #adminUsersPanel .admin-users-table,
  #adminUsersPanel .admin-users-table thead,
  #adminUsersPanel .admin-users-table tbody,
  #adminUsersPanel .admin-users-table tr,
  #adminUsersPanel .admin-users-table th,
  #adminUsersPanel .admin-users-table td{
    display:block;
    width:100%;
  }

  #adminUsersPanel .admin-users-table{
    border:0!important;
    background:transparent!important;
  }

  #adminUsersPanel .admin-users-table thead{
    display:none;
  }

  #adminUsersPanel .admin-users-table tbody{
    display:grid;
    gap:10px;
  }

  #adminUsersPanel .admin-users-table tr{
    padding:10px;
    border:1px solid rgba(0,95,134,.18);
    border-radius:14px;
    background:#FFFFFF;
    box-shadow:0 6px 16px rgba(15,23,42,.06);
    overflow:hidden;
  }

  #adminUsersPanel .admin-users-table td{
    display:grid;
    grid-template-columns:minmax(86px,34%) minmax(0,1fr);
    gap:8px;
    align-items:start;
    padding:7px 0!important;
    border:0!important;
    background:transparent!important;
    color:#1E293B!important;
    overflow-wrap:anywhere;
  }

  #adminUsersPanel .admin-users-table td::before{
    content:attr(data-label);
    color:#64748B;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
  }

  #adminUsersPanel .admin-users-table td.admin-role-cell,
  #adminUsersPanel .admin-users-table td.admin-action-cell{
    grid-template-columns:1fr;
  }

  #adminUsersPanel .admin-users-table td.admin-role-cell::before,
  #adminUsersPanel .admin-users-table td.admin-action-cell::before{
    margin-bottom:2px;
  }

  #adminUsersPanel .admin-role-controls{
    grid-template-columns:1fr;
    gap:8px;
    min-width:0;
    width:100%;
  }

  #adminUsersPanel select,
  #adminUsersPanel input,
  #adminUsersPanel button{
    max-width:100%;
  }

  #adminUsersPanel .admin-action-cell{
    min-width:0;
  }

  #adminUsersPanel .admin-action-cell button{
    min-height:42px;
    width:100%;
    margin:0;
  }

  #adminUsersPanel .admin-action-cell button + button{
    margin-top:8px;
  }

  .empresa-visit-scroll-picker{
    padding:10px!important;
    border-radius:14px!important;
  }

  .empresa-visit-picker-head{
    align-items:center;
  }

  .empresa-visit-picker-head label{
    font-size:17px;
  }

  .empresa-visit-picker-head p{
    display:none;
  }

  .empresa-visit-scroll-list{
    max-height:390px;
    gap:8px;
    padding-right:2px;
  }

  .empresa-visit-picker-row{
    grid-template-columns:1fr auto;
    min-height:0;
    padding:10px;
  }

  .empresa-visit-picker-date{
    grid-column:1/-1;
    font-size:12px;
  }

  .empresa-visit-picker-main strong{
    font-size:14px;
  }

  .empresa-visit-picker-main em{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }

  .empresa-summary-modal{
    align-items:flex-end;
    padding:0;
  }

  .empresa-summary-modal-card{
    width:100%;
    max-height:94vh;
    border-radius:18px 18px 0 0;
  }

  .empresa-summary-modal-head,
  .empresa-summary-modal-body,
  .empresa-summary-modal-actions{
    padding-left:14px;
    padding-right:14px;
  }

  .empresa-summary-modal-actions{
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px;
  }

  .empresa-summary-modal-actions button{
    width:100%;
    min-height:42px;
  }

  body.global-shell-active #empresaShell.reportes-mobile-active{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 8px calc(96px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
  }
  #empresaShell.reportes-mobile-active > .back-menu-bar,
  #empresaShell.reportes-mobile-active > .card:first-of-type,
  #empresaShell.reportes-mobile-active > .empresa-module-heading,
  #empresaShell.reportes-mobile-active > .back-menu-bar + .card,
  #empresaShell.reportes-mobile-active > #empresaTabsBar{
    display:none!important;
  }
  #empresaReportes,
  #empresaReportes .empresa-reportes,
  #empresaReportes .report-section,
  #empresaReportes .empresa-rankings-section,
  #empresaReportes .empresa-report-detail{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    box-sizing:border-box!important;
  }
  #empresaReportes .empresa-reportes{
    padding:10px!important;
    gap:10px!important;
    border-radius:14px!important;
  }
  #empresaReportes .empresa-reportes > .main-menu-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr);
    gap:4px;
    padding:0!important;
    margin:0!important;
    min-height:0!important;
  }
  #empresaReportes .empresa-reportes > .main-menu-head h2{
    margin:0!important;
    font-size:0!important;
    line-height:1!important;
  }
  #empresaReportes .empresa-reportes > .main-menu-head h2::after{
    content:"Reportes de visitas";
    font-size:22px;
    line-height:1.1;
    color:var(--text-title);
  }
  #empresaReportes .empresa-reportes > .main-menu-head .small{
    margin:3px 0 0!important;
    font-size:0!important;
  }
  #empresaReportes .empresa-reportes > .main-menu-head .small::after{
    content:"Indicadores por sucursal, mes y año.";
    font-size:12px;
    color:#A9B4C2;
  }
  #btnEmpresaActualizarReportes{
    display:none!important;
  }
  #empresaReportes .report-filters{
    padding:8px!important;
    border-radius:12px!important;
    background:var(--bg-surface-muted)!important;
    border-color:rgba(0, 120, 168, .28)!important;
    max-height:120px;
    overflow:visible;
  }
  .empresa-report-mobile-filterbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto;
    gap:7px;
    align-items:stretch;
  }
  .empresa-report-mobile-summary{
    min-width:0;
    border:1px solid rgba(148,163,184,.22);
    border-radius:10px;
    padding:7px 9px;
    background:rgba(12,24,39,.72);
  }
  .empresa-report-mobile-summary span,
  .empresa-report-mobile-summary small{
    display:block;
    color:#A9B4C2;
    font-size:10px;
    font-weight:800;
    line-height:1.15;
  }
  .empresa-report-mobile-summary strong{
    display:block;
    color:var(--text-title);
    font-size:13px;
    line-height:1.2;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  #btnEmpresaReportOpenMobileFilters,
  #btnEmpresaReportMobileActualizar{
    min-height:40px!important;
    padding:7px 9px!important;
    font-size:11px!important;
    border-radius:10px!important;
  }
  .empresa-report-filter-chips{
    display:flex!important;
    gap:6px;
    overflow-x:auto;
    padding-top:7px;
    scrollbar-width:none;
  }
  .empresa-report-filter-chips:empty{
    display:none!important;
  }
  .empresa-report-filter-chip{
    flex:0 0 auto;
    min-height:28px!important;
    padding:4px 8px!important;
    font-size:10px!important;
    border-radius:999px!important;
    color:var(--accent-main)!important;
    background:rgba(0, 120, 168, .1)!important;
  }
  .empresa-report-mobile-sheet{
    display:none;
    position:fixed;
    inset:0;
    z-index:2300;
    background:rgba(0,0,0,.58);
    align-items:flex-end;
  }
  .empresa-report-mobile-sheet.open{
    display:flex!important;
  }
  .empresa-report-mobile-panel{
    width:100%;
    max-height:80vh;
    overflow:auto;
    border-radius:18px 18px 0 0;
    border-top:1px solid rgba(0, 120, 168, .42);
    background:var(--bg-surface)!important;
    padding:14px;
    box-shadow:0 -18px 44px rgba(0,0,0,.42);
  }
  .empresa-report-mobile-head,
  .empresa-report-mobile-actions{
    display:flex!important;
    justify-content:space-between;
    align-items:center;
    gap:10px;
  }
  .empresa-report-mobile-head h3{
    margin:0;
    color:var(--text-title);
  }
  #empresaReportes .report-filter-row{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin:12px 0;
  }
  #empresaReportes .empresa-field label{
    font-size:12px!important;
  }
  #empresaReportes .empresa-field select{
    min-height:40px!important;
  }
  .empresa-report-mobile-actions button{
    flex:1;
    min-height:42px!important;
  }
  #empresaReportes .empresa-rankings-section{
    padding:10px!important;
    gap:8px!important;
  }
  #empresaReportes .empresa-rankings-section h3,
  #empresaReportes .report-section h3,
  #empresaReportDetail h3{
    font-size:17px!important;
    line-height:1.15!important;
    margin:0 0 4px!important;
  }
  #empresaReportes .empresa-rankings-section .small,
  #empresaReportes .report-section .small{
    font-size:11px!important;
    margin:0!important;
  }
  #empresaReportes .empresa-ranking-unified-table,
  #empresaReportes .table-scroll,
  #empresaReportes .empresa-monthly-detail-scroll,
  #empresaReportes .empresa-report-detail-scroll{
    display:none!important;
  }
  #empresaReportes .empresa-report-mobile-list{
    display:grid!important;
    gap:8px;
  }
  #empresaReportes .empresa-report-monthly-cards{
    max-height:318px;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    padding-right:4px;
    border:1px solid rgba(0, 120, 168, .2);
    border-radius:12px;
    padding:8px;
    background:rgba(8,20,38,.32);
  }
  #empresaReportes .empresa-report-monthly-cards::-webkit-scrollbar{
    width:8px;
  }
  #empresaReportes .empresa-report-monthly-cards::-webkit-scrollbar-track{
    background:rgba(148,163,184,.08);
    border-radius:999px;
  }
  #empresaReportes .empresa-report-monthly-cards::-webkit-scrollbar-thumb{
    background:rgba(0, 120, 168, .55);
    border-radius:999px;
  }
  #empresaReportes .empresa-report-mobile-list:not(.expanded) .is-extra,
  #empresaReportes .no-visits-indicator:not(.expanded) .is-extra{
    display:none!important;
  }
.empresa-report-mobile-card{
    padding:10px;
    border:1px solid rgba(0, 120, 168, .26);
    border-radius:12px;
    background:rgba(12,24,39,.62);
    color:var(--text-main);
    min-width:0;
  }
  .empresa-report-mobile-card h4{
    margin:0 0 5px;
    color:var(--text-title);
    font-size:13px;
    line-height:1.2;
    overflow-wrap:anywhere;
  }
  .empresa-report-mobile-card p,
  .empresa-report-mobile-card span{
    margin:0;
    color:#DDE7F0;
    font-size:12px;
    line-height:1.35;
  }
  .empresa-report-mobile-summary-text{
    display:-webkit-box;
    -webkit-line-clamp:2;
    line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
  }
  .empresa-ranking-mobile-title{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
  }
  .empresa-ranking-mobile-title span{
    width:25px;
    height:25px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    border:1px solid rgba(0, 120, 168, .32);
    color:var(--accent-main);
    font-weight:900;
  }
  .empresa-ranking-mobile-title strong{
    color:var(--text-title);
    font-size:13px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .empresa-ranking-mobile-values{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    margin-top:8px;
  }
  .empresa-ranking-mobile-values button{
    min-height:32px!important;
    padding:5px!important;
    border-radius:9px!important;
    font-size:10px!important;
    color:#DDE7F0!important;
    background:rgba(8,20,38,.64)!important;
  }
  .empresa-ranking-mobile-values b{
    color:var(--accent-main);
  }
  .empresa-report-mobile-more{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-height:36px!important;
    justify-self:center;
    padding:6px 12px!important;
    font-size:12px!important;
    border-radius:999px!important;
  }
  #empresaReportes .report-kpi-grid{
    display:block!important;
  }
  #empresaReportes .report-kpi-card{
    display:none!important;
  }
  .empresa-report-mobile-kpi-summary{
    display:grid!important;
    gap:8px;
    max-height:190px;
    padding:12px;
    border:1px solid rgba(0, 120, 168, .3);
    border-radius:14px;
    background:var(--bg-surface);
  }
  .empresa-report-mobile-kpi-summary h3{
    margin:0;
    color:var(--text-title);
    font-size:16px;
  }
  .empresa-report-mobile-kpi-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .empresa-report-mobile-kpi-grid div{
    padding:7px 8px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:10px;
    background:rgba(8,20,38,.55);
  }
  .empresa-report-mobile-kpi-grid strong{
    display:block;
    color:var(--accent-main);
    font-size:20px;
    line-height:1;
  }
  .empresa-report-mobile-kpi-grid span{
    color:#A9B4C2;
    font-size:10px;
    font-weight:900;
    text-transform:uppercase;
  }
  .empresa-report-mobile-kpi-summary p{
    margin:0;
    color:#DDE7F0;
    font-size:12px;
    line-height:1.25;
  }
  #empresaReportes .report-section{
    padding:10px!important;
    border-radius:14px!important;
  }
  #empresaReportTypeChart{
    max-height:170px;
    gap:6px!important;
  }
  #empresaReportTypeChart .report-bar{
    height:9px!important;
  }
  #empresaReportTypeChart .report-bar-label{
    font-size:12px!important;
  }
  #empresaReportes .no-visits-indicator{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #empresaReportes .no-visits-kpi{
    padding:10px!important;
    border-radius:12px!important;
    background:rgba(0, 120, 168, .1)!important;
    border-color:rgba(0, 120, 168, .32)!important;
  }
  #empresaReportes .no-visits-kpi strong{
    font-size:28px!important;
    color:var(--accent-main)!important;
  }
  #empresaReportes .no-visits-list{
    gap:6px!important;
  }
  #empresaReportes .no-visits-list span{
    padding:5px 8px!important;
    font-size:11px!important;
    background:var(--bg-surface-muted)!important;
    border-color:rgba(148,163,184,.24)!important;
    color:#DDE7F0!important;
  }
  #empresaReportDetail{
    padding:10px!important;
  }
  #empresaReportDetail .empresa-report-detail-header{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #empresaReportDetail .empresa-report-export-actions{
    display:grid!important;
    grid-template-columns:1fr;
  }
  #empresaReportDetail .empresa-report-export-actions button{
    min-height:38px!important;
  }
}

/* Gestión Gobierno: agrupación transparente en desktop, acordeón compacto solo en móvil */
.gobierno-mobile-group,
.gobierno-mobile-group-body{
  display:contents;
}
.gobierno-mobile-group > summary{
  display:none;
}

@media (max-width: 768px){
  body.global-shell-active #gestionGobiernoShell{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0 8px calc(96px + env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
  }
  #gestionGobiernoShell > .card:first-of-type{
    padding:12px!important;
    margin:0 0 8px!important;
    border-radius:14px!important;
  }
  #gestionGobiernoShell > .card:first-of-type h1{
    margin:0!important;
    font-size:22px!important;
    line-height:1.05!important;
  }
  #gestionGobiernoShell > .card:first-of-type p{
    display:none!important;
  }
  #gestionGobiernoShell .gobierno-section{
    margin-top:8px!important;
    padding:10px!important;
    border-radius:14px!important;
    overflow:visible!important;
  }
  #gestionGobiernoShell .gobierno-alta-section{
    padding:10px!important;
  }
  #gestionGobiernoShell .gobierno-mobile-alta-head{
    display:grid;
    gap:2px;
    margin-bottom:8px;
  }
  #gestionGobiernoShell .gobierno-mobile-alta-head h3{
    margin:0!important;
    font-size:19px!important;
    line-height:1.1!important;
  }
  #gestionGobiernoShell .gobierno-mobile-alta-head .small{
    margin:0!important;
    font-size:11px!important;
    line-height:1.25!important;
  }
  #gestionGobiernoShell .gobierno-alta-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  #gestionGobiernoShell .gobierno-mobile-group{
    display:block;
    border:1px solid rgba(0, 120, 168, .28);
    border-radius:13px;
    background:rgba(8,20,38,.36);
    overflow:hidden;
  }
  #gestionGobiernoShell .gobierno-mobile-group > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:40px;
    padding:9px 11px;
    color:var(--accent-main);
    font-weight:900;
    font-size:13px;
    cursor:pointer;
    list-style:none;
  }
  #gestionGobiernoShell .gobierno-mobile-group > summary::-webkit-details-marker{
    display:none;
  }
  #gestionGobiernoShell .gobierno-mobile-group > summary::after{
    content:"+";
    width:22px;
    height:22px;
    flex:0 0 22px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0, 120, 168, .32);
    border-radius:999px;
    color:var(--text-title);
    line-height:1;
  }
  #gestionGobiernoShell .gobierno-mobile-group[open] > summary::after{
    content:"-";
  }
  #gestionGobiernoShell .gobierno-mobile-group-body{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    padding:0 10px 10px;
  }
  #gestionGobiernoShell .gobierno-field,
  #gestionGobiernoShell .gobierno-field.wide{
    min-width:0;
    grid-column:auto!important;
  }
  #gestionGobiernoShell .gobierno-field label{
    margin:0 0 4px;
    font-size:12px;
    line-height:1.15;
  }
  #gestionGobiernoShell .gobierno-field input,
  #gestionGobiernoShell .gobierno-field select,
  #gestionGobiernoShell .gobierno-field textarea{
    width:100%;
    min-height:40px!important;
    padding:8px 10px!important;
    font-size:13px!important;
    border-radius:10px!important;
    box-sizing:border-box;
  }
  #gestionGobiernoShell .gobierno-field textarea{
    min-height:74px!important;
    max-height:96px!important;
    resize:vertical;
  }
  #gestionGobiernoShell .gobierno-mobile-actions{
    position:sticky;
    bottom:calc(66px + env(safe-area-inset-bottom));
    z-index:880;
    display:grid!important;
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:2px -10px -10px;
    padding:9px 10px calc(9px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(0, 120, 168, .22);
    background:var(--bg-surface);
  }
  #gestionGobiernoShell .gobierno-mobile-actions button{
    min-height:40px!important;
    padding:7px 9px!important;
    font-size:12px!important;
  }
  #gestionGobiernoShell .gobierno-mobile-actions button[type="submit"]{
    background:linear-gradient(145deg,rgba(0, 120, 168, .95),rgba(0, 63, 92, .95))!important;
    color:#081426!important;
    border-color:rgba(0, 120, 168, .8)!important;
  }
}

/* Light Mode Profesional / Ejecutivo */
:root{
  --color-primary:#005F86;
  --color-primary-dark:#004A68;
  --color-primary-darker:#00394F;
  --color-primary-light:#0078A8;
  --color-primary-soft:rgba(0,95,134,.10);
  --bg-main:#F4F8FB;
  --bg-main-alt:#EEF4F7;
  --bg-sidebar:#005F86;
  --bg-sidebar-hover:rgba(255,255,255,.12);
  --bg-card:#FFFFFF;
  --bg-card-soft:#F8FBFD;
  --bg-card-hover:#EEF7FA;
  --bg-workspace:#F4F8FB;
  --bg-workspace-alt:#EEF4F7;
  --border-soft:rgba(0,95,134,.18);
  --border-strong:rgba(0,95,134,.38);
  --accent-main:#005F86;
  --accent-soft:rgba(0,95,134,.10);
  --text-title:#0F172A;
  --text-main:#1E293B;
  --text-muted:#64748B;
  --text-on-primary:#FFFFFF;
  --success-bg:rgba(34,197,94,.12);
  --success-text:#166534;
  --warning-bg:rgba(245,158,11,.14);
  --warning-text:#92400E;
  --danger-bg:rgba(239,68,68,.12);
  --danger-text:#991B1B;
  --shadow-card:0 10px 24px rgba(15,23,42,.08);
  --shadow-soft:0 6px 16px rgba(15,23,42,.06);
  --radius-card:16px;
  --radius-button:10px;
}
html,
body{
  background:var(--bg-main)!important;
  color:var(--text-main)!important;
}
.app-main,
.main-menu,
body.global-shell-active .main-menu.shell-sidebar-only .app-main,
.container,
#empresaShell,
#appShell,
#informacionModule,
#gestionComercialModule,
#gestionGobiernoShell,
#adminUsersPanel{
  background:var(--bg-main)!important;
  color:var(--text-main)!important;
}

.admin-users-table{
  width:100%;
  table-layout:auto;
}

.admin-role-controls{
  display:grid;
  grid-template-columns:minmax(112px,.9fr) minmax(112px,.9fr) minmax(160px,1.2fr);
  gap:8px;
  align-items:center;
  min-width:min(100%,420px);
}

.admin-role-controls select{
  width:100%;
  min-width:0;
}

.admin-action-cell{
  min-width:160px;
}

.admin-action-cell button{
  width:100%;
  margin:2px 0;
}

.empresa-visit-scroll-picker{
  display:grid;
  gap:10px;
  padding:12px;
  background:#FFFFFF!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}

.empresa-visit-picker-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.empresa-visit-picker-head label{
  display:block;
  color:#0F172A!important;
  font-size:18px;
  font-weight:900;
}

.empresa-visit-picker-head p{
  margin:3px 0 0;
}

.empresa-visit-picker-head strong{
  display:inline-flex;
  min-width:42px;
  height:34px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#E6F2F6;
  color:#005F86;
  font-weight:900;
}

.empresa-visit-scroll-list{
  display:grid;
  gap:8px;
  max-height:430px;
  overflow-y:auto;
  padding-right:4px;
}

.empresa-visit-picker-row{
  width:100%;
  display:grid;
  grid-template-columns:92px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  min-height:72px;
  padding:10px;
  text-align:left;
  background:#F8FBFD!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.16)!important;
  border-radius:12px!important;
  cursor:pointer;
}

.empresa-visit-picker-row:hover,
.empresa-visit-picker-row:focus-visible{
  background:#EEF7FA!important;
  border-color:rgba(0,95,134,.36)!important;
  outline:none;
}

.empresa-visit-picker-date{
  color:#005F86;
  font-weight:900;
  font-size:13px;
}

.empresa-visit-picker-main{
  display:grid;
  gap:3px;
  min-width:0;
}

.empresa-visit-picker-main strong{
  color:#0F172A!important;
  font-size:15px;
  line-height:1.2;
  overflow-wrap:anywhere;
}

.empresa-visit-picker-main small,
.empresa-visit-picker-main em{
  color:#64748B!important;
  font-size:12px;
  font-style:normal;
  line-height:1.25;
  overflow-wrap:anywhere;
}

.empresa-visit-empty{
  padding:18px;
  text-align:center;
  color:#64748B;
  border:1px dashed rgba(0,95,134,.22);
  border-radius:12px;
  background:#F8FBFD;
}

.empresa-summary-modal{
  position:fixed!important;
  inset:0;
  z-index:3200;
  display:flex!important;
  align-items:center;
  justify-content:center;
  padding:22px;
  margin:0!important;
  background:rgba(15,23,42,.42)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

.empresa-summary-modal-card{
  width:min(1040px,96vw);
  max-height:92vh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr) auto;
  overflow:hidden;
  background:#FFFFFF;
  color:#1E293B;
  border:1px solid rgba(0,95,134,.18);
  border-radius:18px;
  box-shadow:0 18px 44px rgba(15,23,42,.18);
}

.empresa-summary-modal-head{
  padding:16px 18px;
  border-bottom:1px solid rgba(0,95,134,.14);
}

.empresa-summary-modal-head h2{
  margin:0;
  color:#0F172A!important;
}

.empresa-summary-modal-head p{
  margin:4px 0 0;
  color:#64748B!important;
}

.empresa-summary-modal-body{
  overflow:auto;
  padding:16px 18px;
}

.empresa-summary-modal-actions{
  justify-content:flex-end;
  padding:14px 18px 16px;
  border-top:1px solid rgba(0,95,134,.14);
  background:#F8FBFD;
}
.app-sidebar,
body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar{
  background:var(--bg-sidebar)!important;
  color:var(--text-on-primary)!important;
  border-right:0!important;
  box-shadow:var(--shadow-soft)!important;
}
.brand,
.sidebar-section-title,
.sidebar-section-label,
.sidebar-primary-item,
.sidebar-module-btn,
.sidebar-submenu-item,
.install-app-btn.sidebar-nav-item{
  color:rgba(255,255,255,.88)!important;
}
.brand-mark,
.sidebar-nav-icon{
  color:var(--text-on-primary)!important;
}
.sidebar-primary-item:hover,
.sidebar-module-btn:hover,
.sidebar-submenu-item:hover,
.install-app-btn.sidebar-nav-item:hover{
  background:var(--bg-sidebar-hover)!important;
  color:#FFFFFF!important;
  border-color:rgba(255,255,255,.28)!important;
}
.sidebar-primary-item.active,
.sidebar-module-btn.active,
.sidebar-submenu-item.active{
  background:#FFFFFF!important;
  color:var(--color-primary)!important;
  border:1px solid rgba(255,255,255,.75)!important;
}
.sidebar-primary-item.active .sidebar-nav-icon,
.sidebar-module-btn.active .sidebar-nav-icon,
.sidebar-submenu-item.active .sidebar-nav-icon{
  color:var(--color-primary)!important;
}
.sidebar-divider{
  border-color:rgba(255,255,255,.18)!important;
}
.sidebar-active-panel{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.26)!important;
  color:#FFFFFF!important;
}
.dashboard-shell,
.panel-shell,
.module-card,
.module-button,
.kpi-card,
.kpi,
.report-kpi-card,
.seguimiento-kpi-card,
.dotacion-kpi-card,
.gobierno-kpi-card,
.client-section,
.ficha-header,
.ficha-cliente,
.empresa-ranking-card,
.empresa-rankings-section,
.empresa-report-detail,
.info-record-card,
.section-card,
.auth-card,
.main-menu-card,
.card,
.report-section,
.seguimiento-section,
.seguimiento-client-card,
.seguimiento-panel,
.dotacion-section,
.gobierno-section,
.gobierno-detail,
.gobierno-detail-grid section,
.facultades-summary-panel,
.facultades-reminder-box,
.quick-actions-section,
.recent-events-section,
.bcra-indicators-section,
.recent-visit-card,
.dashboard-home .dashboard-kpi-card,
.empresa-summary,
.empresa-visit-picker,
.seguimiento-client-selector,
.seguimiento-text-block,
.client-info-item,
.client-kpi-card,
.commercial-empty-state,
.dotacion-dashboard-header,
.dotacion-filters,
.gobierno-filters,
.report-filters,
.seguimiento-filters,
.empresa-visitas-filter-card{
  background:var(--bg-card)!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  box-shadow:var(--shadow-card)!important;
}
.module-card:hover,
.module-button:hover,
.kpi-card:hover,
.report-kpi-card:hover,
.seguimiento-kpi-card:hover,
.dotacion-kpi-card:hover,
.gobierno-kpi-card:hover,
.recent-visit-card:hover{
  background:var(--bg-card-hover)!important;
  border-color:var(--border-strong)!important;
}
h1,h2,h3,h4,
.dashboard-title,
.panel-title,
.card-title,
.module-title,
.recent-visit-title,
.client-section-title,
.ficha-header h3,
.seguimiento-panel h3,
.seguimiento-section h3,
.seguimiento-section h4,
.dotacion-section h3,
.gobierno-section h3,
.report-section h3{
  color:var(--text-title)!important;
}
p,
small,
.small,
.card-description,
.module-description,
.text-muted,
.dashboard-home-subtitle,
.recent-visit-summary,
.recent-visit-meta,
.auth-message,
.auth-card p{
  color:var(--text-muted)!important;
}
button,
.btn-outline,
.logout-outline-btn,
.install-app-btn{
  border-radius:var(--radius-button)!important;
}
.btn-primary,
.primary-btn,
button.primary,
.module-button.primary{
  background:var(--color-primary)!important;
  color:#FFFFFF!important;
  border-color:var(--color-primary)!important;
}
.btn-primary:hover,
.primary-btn:hover,
button.primary:hover,
.module-button.primary:hover{
  background:var(--color-primary-dark)!important;
}
.btn-outline,
.logout-outline-btn,
.install-app-btn,
.tab-btn,
.empresa-tab-btn,
.seguimiento-tab-btn,
.dotacion-tab-btn,
.gobierno-tab-btn,
.gestion-comercial-tab-btn,
.facultades-subtab-btn{
  background:#FFFFFF!important;
  color:var(--color-primary)!important;
  border-color:var(--border-strong)!important;
}
.btn-outline:hover,
.logout-outline-btn:hover,
.install-app-btn:hover,
.tab-btn:hover,
.empresa-tab-btn:hover,
.seguimiento-tab-btn:hover,
.dotacion-tab-btn:hover,
.gobierno-tab-btn:hover,
.gestion-comercial-tab-btn:hover,
.facultades-subtab-btn:hover{
  background:var(--accent-soft)!important;
  color:var(--color-primary-darker)!important;
}
.tab-btn.active,
.empresa-tab-btn.active,
.seguimiento-tab-btn.active,
.dotacion-tab-btn.active,
.gobierno-tab-btn.active,
.gestion-comercial-tab-btn.active,
.facultades-subtab-btn.active{
  background:var(--color-primary)!important;
  color:#FFFFFF!important;
  border-color:var(--color-primary)!important;
}
input,
select,
textarea{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border:1px solid rgba(100,116,139,.30)!important;
}
input:focus,
select:focus,
textarea:focus{
  border-color:var(--color-primary)!important;
  outline:3px solid var(--color-primary-soft)!important;
}
::placeholder{
  color:#94A3B8!important;
}
label{
  color:var(--text-main)!important;
}
table,
.report-table,
.seguimiento-table,
.dotacion-table,
.gobierno-table,
.html-tools-table,
.product-matrix,
.facultades-modern-table,
.dotacion-data-table{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
}
table th,
.report-table th,
.seguimiento-table th,
.dotacion-table th,
.gobierno-table th,
.html-tools-table th,
.product-matrix th,
.facultades-modern-table th,
.dotacion-data-table th{
  background:#E6F2F6!important;
  color:var(--color-primary-darker)!important;
  border-color:var(--border-soft)!important;
}
table td,
.report-table td,
.seguimiento-table td,
.dotacion-table td,
.gobierno-table td,
.html-tools-table td,
.product-matrix td,
.facultades-modern-table td,
.dotacion-data-table td{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:rgba(100,116,139,.16)!important;
}
tr:hover,
tr:hover td,
.facultades-modern-table tr:hover td,
.dotacion-data-table tr:hover td{
  background:#F1F8FB!important;
}
.empresa-ranking-sparkline-track,
.report-bar,
.report-bar-track,
.dotacion-bar,
.assistance-bar,
.seguimiento-bar,
.gobierno-bar-track{
  background:rgba(100,116,139,.20)!important;
}
.empresa-ranking-sparkline-fill,
.report-bar span,
.dotacion-bar b,
.assistance-bar b,
.seguimiento-bar b,
.gobierno-bar-track div,
.dotacion-bar,
.assistance-bar{
  background:var(--color-primary)!important;
}
.empresa-ranking-sparkline-marker{
  background:var(--color-primary)!important;
  color:#FFFFFF!important;
  border-color:var(--color-primary)!important;
}
.status-badge.active,
.commercial-status-badge.active{
  background:var(--success-bg)!important;
  color:var(--success-text)!important;
  border:1px solid rgba(22,101,52,.18)!important;
}
.status-badge.warning,
.module-badge.development{
  background:var(--warning-bg)!important;
  color:var(--warning-text)!important;
}
.status-badge.danger{
  background:var(--danger-bg)!important;
  color:var(--danger-text)!important;
}
.auth-gate{
  background:linear-gradient(180deg,#F4F8FB,#E6F2F6)!important;
}
.auth-card{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  box-shadow:var(--shadow-card)!important;
}
.auth-card h1{
  color:var(--text-title)!important;
}
.google-login-btn{
  background:#FFFFFF!important;
  color:#1F2937!important;
  border:1px solid rgba(100,116,139,.30)!important;
}
.google-login-btn span,
.google-login-text{
  color:#1F2937!important;
}
.mobile-bottom-nav,
body.global-shell-active .main-menu.shell-sidebar-only .mobile-bottom-nav{
  background:#FFFFFF!important;
  border-top:1px solid var(--border-soft)!important;
  box-shadow:0 -6px 18px rgba(15,23,42,.08)!important;
}
.mobile-nav-item{
  color:var(--text-muted)!important;
}
.mobile-nav-item.active,
.mobile-nav-item:hover{
  color:var(--color-primary)!important;
}
.mobile-header{
  background:var(--color-primary)!important;
  color:#FFFFFF!important;
}

@media (max-width:768px){
  .mobile-bottom-nav,
  body.global-shell-active .main-menu.shell-sidebar-only .mobile-bottom-nav{
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    min-height:66px!important;
    height:auto!important;
    padding-bottom:env(safe-area-inset-bottom)!important;
    background:#FFFFFF!important;
    border-top:1px solid rgba(0,95,134,.18)!important;
    box-shadow:0 -8px 20px rgba(15,23,42,.08)!important;
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:1fr!important;
    z-index:1000!important;
  }
  .mobile-nav-item{
    border:none!important;
    background:transparent!important;
    color:#64748B!important;
    font-size:11px!important;
    font-weight:800!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    min-width:0!important;
    padding:7px 4px!important;
    line-height:1.1!important;
  }
  .mobile-nav-item.active{
    color:#005F86!important;
  }
  .mobile-nav-item.is-context{
    color:#005F86!important;
  }
  .mobile-nav-item.is-context .mobile-nav-label{
    font-weight:900!important;
  }
  .mobile-nav-item span:not(.mobile-nav-icon){
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
  }
  .mobile-nav-icon{
    width:22px!important;
    height:22px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:18px!important;
    color:currentColor!important;
  }
  .mobile-nav-icon svg{
    width:22px!important;
    height:22px!important;
    display:block!important;
    fill:none!important;
    stroke:currentColor!important;
    stroke-width:2.2!important;
    stroke-linecap:round!important;
    stroke-linejoin:round!important;
    flex:0 0 22px!important;
  }
  .mobile-tabs-drawer{
    background:rgba(15,23,42,.35)!important;
    align-items:flex-end!important;
  }
  .mobile-tabs-panel{
    width:100%!important;
    max-height:82vh!important;
    overflow-y:auto!important;
    background:#FFFFFF!important;
    border-radius:20px 20px 0 0!important;
    padding:18px!important;
    box-shadow:0 -12px 30px rgba(15,23,42,.16)!important;
    border:1px solid rgba(0,95,134,.18)!important;
    border-bottom:0!important;
  }
  .mobile-tabs-header{
    margin-bottom:14px!important;
  }
  .mobile-tabs-list{
    display:grid!important;
    gap:10px!important;
  }
  .mobile-sheet-section-title{
    margin:14px 0 6px!important;
    font-size:12px!important;
    font-weight:800!important;
    color:#64748B!important;
    text-transform:uppercase!important;
    letter-spacing:.05em!important;
  }
  .mobile-tab-item,
  .mobile-sheet-item{
    width:100%!important;
    min-height:56px!important;
    border:1px solid rgba(0,95,134,.18)!important;
    background:#FFFFFF!important;
    color:#005F86!important;
    border-radius:12px!important;
    font-weight:800!important;
    text-align:left!important;
    padding:12px 16px!important;
  }
  .mobile-tab-item.active,
  .mobile-sheet-item.active{
    background:rgba(0,95,134,.10)!important;
    border-color:rgba(0,95,134,.36)!important;
    color:#005F86!important;
  }
}
.text-preview-modal-card,
.install-app-modal-card,
.mobile-tabs-panel,
.empresa-mobile-filter-panel,
.empresa-report-mobile-panel{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  box-shadow:var(--shadow-card)!important;
}
.text-preview-modal,
.install-app-modal,
.mobile-tabs-drawer,
.empresa-mobile-filter-sheet,
.empresa-report-mobile-sheet{
  background:rgba(15,23,42,.34)!important;
}
@media (max-width:768px){
  .app-main,
  body.global-shell-active .main-menu.shell-sidebar-only .app-main{
    background:var(--bg-main)!important;
  }
}

/* Correcciones integrales de revision visual y PDF */
.hidden{
  display:none!important;
}

.print-area,
.print-sheet,
.acta-print-document,
.print-page,
.executive-page{
  color:#1E293B;
}

@media print{
  @page{
    size:A4;
    margin:12mm;
  }

  body{
    background:#FFFFFF!important;
    color:#1E293B!important;
  }

  body *{
    visibility:hidden!important;
  }

  .print-area,
  .print-area *,
  .print-sheet,
  .print-sheet *,
  .acta-print-document,
  .acta-print-document *,
  .print-page,
  .print-page *,
  .executive-page,
  .executive-page *{
    visibility:visible!important;
  }

  .print-area,
  .print-sheet,
  .acta-print-document{
    position:absolute!important;
    left:0!important;
    top:0!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    background:#FFFFFF!important;
    color:#1E293B!important;
    border:0!important;
    box-shadow:none!important;
  }

  .app-sidebar,
  .mobile-bottom-nav,
  .mobile-header,
  .topbar,
  .sidebar,
  .print-hide,
  .no-print,
  .filters,
  .actions,
  .btn,
  button,
  .mobile-tabs-drawer,
  .install-app-modal,
  .text-preview-modal,
  .empresa-mobile-filter-sheet,
  .empresa-report-mobile-sheet{
    display:none!important;
  }

  .app-main,
  .container{
    margin:0!important;
    padding:0!important;
    width:100%!important;
    max-width:100%!important;
    background:#FFFFFF!important;
  }

  .print-page{
    border:0!important;
    border-radius:0!important;
    margin:0!important;
    padding:0!important;
    box-shadow:none!important;
    page-break-after:always;
    break-after:page;
  }

  .print-page:last-child{
    page-break-after:auto;
    break-after:auto;
  }
}

:root{
  --sidebar-width:240px;
}

.app-layout,
body.global-shell-active .main-menu.shell-sidebar-only .app-layout{
  display:grid!important;
  grid-template-columns:var(--sidebar-width) minmax(0,1fr)!important;
  min-height:100vh;
}

.app-sidebar{
  width:var(--sidebar-width)!important;
  min-width:var(--sidebar-width)!important;
}

.app-main,
body.global-shell-active .main-menu.shell-sidebar-only .app-main{
  min-width:0!important;
  width:100%!important;
  overflow-x:hidden!important;
}

.module-shell,
.panel-shell,
.empresa-module,
.seguimiento-dashboard,
.tab-panel,
.dashboard-home{
  min-height:auto!important;
  margin-top:0!important;
}

#empresaShell .card,
#empresaShell .report-section,
#empresaShell .seguimiento-section,
#empresaShell .seguimiento-panel,
.empresa-module .card{
  margin-top:0!important;
  margin-bottom:12px!important;
}

.seguimiento-dashboard,
#empresaSeguimiento .seguimiento-dashboard{
  gap:12px!important;
}

.seguimiento-kpi-dashboard,
.seguimiento-kpi-grid{
  gap:10px!important;
}

.seguimiento-dashboard-grid{
  display:grid!important;
  grid-template-columns:minmax(260px,280px) minmax(360px,1fr) minmax(260px,320px)!important;
  gap:16px!important;
  align-items:start!important;
}

.seguimiento-bottom-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(280px,.45fr)!important;
  gap:16px!important;
  align-items:start!important;
}

.map-card,
.ubicacion-card,
.seguimiento-panel,
.embedded-map-wrapper{
  min-height:auto!important;
}

.map-container,
.seguimiento-map-visual,
.embedded-map-wrapper{
  width:100%!important;
  height:220px!important;
  max-height:220px!important;
  border-radius:12px!important;
  overflow:hidden!important;
  background:#F8FBFD!important;
}

.evidencia-grid,
.photo-preview-grid,
.seguimiento-evidence-strip,
.empresa-summary-gallery{
  display:grid!important;
  grid-template-columns:repeat(auto-fill,minmax(90px,1fr))!important;
  gap:8px!important;
}

.photo-preview-item img,
.seguimiento-evidence-thumb img,
.empresa-summary-gallery img{
  width:100%!important;
  height:90px!important;
  object-fit:cover!important;
  border-radius:10px!important;
}

.empresa-report-detail,
.empresa-report-detail-scroll,
.empresa-detail-table{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  opacity:1!important;
  filter:none!important;
  backdrop-filter:none!important;
}

.empresa-detail-table th{
  background:#E6F2F6!important;
  color:var(--color-primary-darker)!important;
}

.empresa-detail-table td{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
}

.empresa-detail-table tr:hover td{
  background:#F1F8FB!important;
}

.app-main,
.panel-shell,
.gestion-comercial-module,
.gestion-comercial-panel,
#gestionComercialModule,
#clientesCalificadosPanel{
  max-width:100%!important;
  overflow-x:hidden!important;
}

.table-wrapper,
.responsive-table,
.html-tools-list,
.html-viewer-wrapper,
.credit-lines-table-wrap,
.client-table-wrapper,
.commercial-table-wrapper{
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
}

input,
select,
textarea,
button{
  max-width:100%!important;
}

.embedded-map-wrapper,
.embedded-map-empty,
.embedded-map-link,
.empresa-report-mobile-summary,
.empresa-report-mobile-card,
.empresa-ranking-mobile-values button,
.empresa-report-mobile-kpi-summary,
.empresa-report-mobile-kpi-grid div,
#empresaReportes .report-filters,
#empresaReportes .empresa-report-monthly-cards,
#empresaReportes .no-visits-list span,
#gestionGobiernoShell .gobierno-mobile-group,
#gestionGobiernoShell .gobierno-mobile-actions,
#clientesCalificadosPanel .client-section,
#clientesCalificadosPanel .ficha-header,
#clientesCalificadosPanel .client-kpi-card,
#clientesCalificadosPanel .alerta-card{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  box-shadow:var(--shadow-card)!important;
  filter:none!important;
  backdrop-filter:none!important;
}

#clientesCalificadosPanel .client-selector-panel,
#clientesCalificadosPanel .client-upload-panel,
#clientesCalificadosPanel .client-info-item,
#clientesCalificadosPanel .ficha-header-grid>div,
#clientesCalificadosPanel .product-matrix th,
#clientesCalificadosPanel .product-matrix td,
#clientesCalificadosPanel .credit-lines-table-wrap,
#clientesCalificadosPanel .alerta-card.alto,
#clientesCalificadosPanel .alerta-card.high,
#clientesCalificadosPanel .alerta-card.medio,
#clientesCalificadosPanel .alerta-card.medium,
#clientesCalificadosPanel .alerta-card.bajo,
#clientesCalificadosPanel .alerta-card.low{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  box-shadow:var(--shadow-soft)!important;
  filter:none!important;
  backdrop-filter:none!important;
}

#clientesCalificadosPanel .product-matrix th{
  background:#E6F2F6!important;
  color:var(--color-primary-darker)!important;
}

#clientesCalificadosPanel .alerta-card.alto strong,
#clientesCalificadosPanel .alerta-card.high strong{
  color:var(--danger-text)!important;
}

#clientesCalificadosPanel .alerta-card.medio strong,
#clientesCalificadosPanel .alerta-card.medium strong{
  color:var(--warning-text)!important;
}

#clientesCalificadosPanel .alerta-card.bajo strong,
#clientesCalificadosPanel .alerta-card.low strong{
  color:var(--success-text)!important;
}

.embedded-map-link,
#empresaReportes .empresa-report-mobile-kpi-grid strong{
  color:var(--color-primary)!important;
}

@media (max-width:1200px){
  .seguimiento-dashboard-grid{
    grid-template-columns:1fr 1fr!important;
  }

  .seguimiento-bottom-grid{
    grid-template-columns:1fr!important;
  }
}

@media (max-width:768px){
  .app-layout,
  body.global-shell-active .main-menu.shell-sidebar-only .app-layout{
    display:block!important;
  }

  .app-sidebar{
    display:none!important;
  }

  .seguimiento-dashboard-grid,
  .seguimiento-bottom-grid{
    grid-template-columns:1fr!important;
  }

  .app-main,
  body.global-shell-active .main-menu.shell-sidebar-only .app-main{
    overflow-x:hidden!important;
  }
}

/* Refactor global de tema claro: contraste, componentes y graficas */
:root{
  --color-primary:#005F86;
  --color-primary-dark:#004A68;
  --color-primary-light:#0B7EA8;
  --bg-app:#F4F8FB;
  --bg-surface:#FFFFFF;
  --bg-surface-soft:#F8FBFD;
  --bg-surface-muted:#EEF4F7;
  --bg-sidebar:#005F86;
  --bg-sidebar-hover:rgba(255,255,255,.12);
  --bg-sidebar-active:#FFFFFF;
  --text-title:#0F172A;
  --text-main:#1E293B;
  --text-muted:#64748B;
  --text-on-primary:#FFFFFF;
  --text-on-dark:#F8FAFC;
  --border-soft:rgba(0,95,134,.18);
  --border-strong:rgba(0,95,134,.36);
  --btn-primary-bg:#005F86;
  --btn-primary-text:#FFFFFF;
  --btn-primary-hover:#004A68;
  --btn-secondary-bg:#FFFFFF;
  --btn-secondary-text:#005F86;
  --btn-secondary-border:rgba(0,95,134,.30);
  --btn-secondary-hover:#EEF7FA;
  --card-shadow:0 10px 24px rgba(15,23,42,.08);
  --shadow-card:var(--card-shadow);
  --shadow-soft:0 6px 16px rgba(15,23,42,.06);
  --success-bg:rgba(34,197,94,.12);
  --success-text:#166534;
  --warning-bg:rgba(245,158,11,.14);
  --warning-text:#92400E;
  --danger-bg:rgba(239,68,68,.12);
  --danger-text:#991B1B;
  --bg-main:var(--bg-app);
  --bg-main-alt:var(--bg-surface-muted);
  --bg-card:var(--bg-surface);
  --bg-card-soft:var(--bg-surface-soft);
  --bg-card-hover:#EEF7FA;
  --accent-main:var(--color-primary);
  --accent-soft:rgba(0,95,134,.10);
}

html,
body,
.app-root,
.main-menu,
.app-layout,
.app-main,
body.global-shell-active .main-menu.shell-sidebar-only,
body.global-shell-active .main-menu.shell-sidebar-only .app-main{
  background:var(--bg-app)!important;
  color:var(--text-main)!important;
}

.app-sidebar{
  background:var(--bg-sidebar)!important;
  color:var(--text-on-primary)!important;
  border-right:0!important;
  box-shadow:none!important;
}

.brand,
.brand span,
.sidebar-section-label,
.sidebar-section-title,
.sidebar-nav-item,
.sidebar-primary-item,
.sidebar-module-btn,
.sidebar-submenu-item,
.sidebar-link,
.install-app-btn{
  color:rgba(255,255,255,.88)!important;
}

.brand-mark,
.sidebar-nav-icon{
  color:rgba(255,255,255,.92)!important;
}

.sidebar-nav-item:hover,
.sidebar-primary-item:hover,
.sidebar-module-btn:hover,
.sidebar-submenu-item:hover,
.sidebar-link:hover{
  background:var(--bg-sidebar-hover)!important;
  color:#FFFFFF!important;
  border-color:rgba(255,255,255,.22)!important;
}

.sidebar-nav-item.active,
.sidebar-primary-item.active,
.sidebar-module-btn.active,
.sidebar-submenu-item.active{
  background:var(--bg-sidebar-active)!important;
  color:var(--color-primary)!important;
  border:1px solid rgba(255,255,255,.70)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.14)!important;
}

.sidebar-nav-item.active .sidebar-nav-icon,
.sidebar-primary-item.active .sidebar-nav-icon,
.sidebar-module-btn.active .sidebar-nav-icon,
.sidebar-submenu-item.active .sidebar-nav-icon{
  color:var(--color-primary)!important;
}

.sidebar-active-panel,
.panel-active-card{
  background:rgba(255,255,255,.16)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:none!important;
}

.dashboard-shell,
.main-menu-card,
.panel-shell,
.module-shell,
.section-card,
.dashboard-card,
.report-card,
.form-card,
.summary-card,
.info-card,
.detail-card,
.module-card,
.module-button,
.kpi-card,
.kpi,
.report-kpi-card,
.seguimiento-kpi-card,
.seguimiento-kpi-modern,
.dotacion-kpi-card,
.gobierno-kpi-card,
.client-kpi-card,
.metric,
.card,
.report-section,
.seguimiento-section,
.seguimiento-client-card,
.seguimiento-panel,
.seguimiento-ficha-card,
.seguimiento-text-block,
.seguimiento-client-selector,
.seguimiento-filters,
.empresa-visitas-filter-card,
.empresa-summary,
.empresa-visit-picker,
.empresa-rankings-section,
.empresa-ranking-card,
.empresa-report-detail,
.empresa-report-detail-scroll,
.empresa-monthly-detail-scroll,
.info-record-card,
.info-toolbar,
.facultades-modern-toolbar,
.facultades-summary-panel,
.facultades-reminder-box,
.dotacion-section,
.dotacion-dashboard-header,
.dotacion-filters,
.dotacion-table-wrap,
.dotacion-mobile-section,
.dotacion-mobile-summary,
.gobierno-section,
.gobierno-detail,
.gobierno-detail-grid section,
.gobierno-filters,
.gobierno-mobile-group,
.gobierno-mobile-actions,
.client-section,
.client-selector-panel,
.client-upload-panel,
.ficha-header,
.ficha-cliente,
.client-info-item,
.commercial-empty-state,
.html-viewer-wrapper,
.quick-actions-section,
.recent-events-section,
.recent-visit-card,
.bcra-indicators-section,
.bcra-indicator-card,
.text-preview-modal-card,
.install-app-modal-card,
.mobile-tabs-panel,
.empresa-mobile-filter-panel,
.empresa-report-mobile-panel,
.empresa-report-mobile-summary,
.empresa-report-mobile-card,
.empresa-report-mobile-kpi-summary,
.empresa-report-mobile-kpi-grid div,
.note-card,
.observacion-card,
.oportunidad-card,
.narrative-card,
.summary-text-card,
.seguimiento-observacion-scroll,
.seguimiento-oportunidad-scroll,
.seguimiento-text-preview,
.embedded-map-wrapper,
.embedded-map-empty,
.embedded-map-link{
  background:var(--bg-surface)!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  box-shadow:var(--card-shadow)!important;
  opacity:1!important;
  filter:none!important;
  backdrop-filter:none!important;
}

.dashboard-shell:hover,
.module-card:hover,
.module-button:hover,
.kpi-card:hover,
.report-kpi-card:hover,
.seguimiento-kpi-card:hover,
.dotacion-kpi-card:hover,
.gobierno-kpi-card:hover,
.recent-visit-card:hover,
.empresa-ranking-card:hover{
  background:var(--bg-card-hover)!important;
  border-color:var(--border-strong)!important;
}

h1,h2,h3,h4,h5,
.dashboard-title,
.panel-title,
.card-title,
.module-title,
.recent-visit-title,
.client-section-title,
.seguimiento-panel h3,
.seguimiento-panel h4,
.empresa-report-detail-header h3,
.empresa-rankings-section h3,
.info-record-card h3,
.facultades-reminder-box h4,
.dotacion-section h3,
.gobierno-section h3{
  color:var(--text-title)!important;
}

p,
small,
.small,
.helper,
.muted,
.text-muted,
.card-description,
.module-description,
.dashboard-title-block p,
.main-menu-head p,
.recent-events-head p,
.empresa-report-filter-label,
.seguimiento-panel small,
.ficha-header p,
.client-section p,
.commercial-empty-state,
.bcra-indicator-meta{
  color:var(--text-muted)!important;
}

.btn-primary,
.primary-btn,
button.primary,
button[data-variant="primary"],
.module-button.primary{
  background:var(--btn-primary-bg)!important;
  color:var(--btn-primary-text)!important;
  border:1px solid var(--btn-primary-bg)!important;
}

.btn-primary:hover,
.primary-btn:hover,
button.primary:hover,
button[data-variant="primary"]:hover,
.module-button.primary:hover{
  background:var(--btn-primary-hover)!important;
  color:#FFFFFF!important;
  border-color:var(--btn-primary-hover)!important;
}

button,
.btn,
.btn-secondary,
.btn-outline,
.logout-outline-btn,
.install-app-btn,
.secondary,
button.secondary,
button[data-variant="secondary"],
.toolbar button,
.empresa-actions button,
.back-menu-bar button,
.tabs button,
.gestion-comercial-tab-btn,
.empresa-tab-btn,
.info-tab-btn,
.facultades-subtab-btn,
.gobierno-tab-btn,
.sidebar-submenu-item,
#btnEmpresaGenerarPdf,
#btnEmpresaEditarResumen,
#btnEmpresaCerrarResumen,
#btnEmpresaReportesActualizar,
#btnEmpresaExportDetail,
#btnEmpresaExportMonthlyDetail,
#btnSeguimientoActualizar,
#btnHomeRefresh,
#btnMainLogout,
#btnQuickReportes,
#btnInstallApp,
#btnInstallAppMobile{
  background:var(--btn-secondary-bg)!important;
  color:var(--btn-secondary-text)!important;
  border:1px solid var(--btn-secondary-border)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}

button:hover,
.btn:hover,
.btn-secondary:hover,
.btn-outline:hover,
.logout-outline-btn:hover,
.install-app-btn:hover,
.secondary:hover,
button.secondary:hover,
button[data-variant="secondary"]:hover,
.toolbar button:hover,
.empresa-actions button:hover,
.back-menu-bar button:hover,
.tabs button:hover,
.gestion-comercial-tab-btn:hover,
.empresa-tab-btn:hover,
.info-tab-btn:hover,
.facultades-subtab-btn:hover,
.gobierno-tab-btn:hover{
  background:var(--btn-secondary-hover)!important;
  color:var(--color-primary-dark)!important;
  border-color:var(--border-strong)!important;
}

.danger,
.btn-danger,
button.danger,
[data-variant="danger"],
#btnEmpresaEliminarResumen{
  background:#FEE2E2!important;
  color:#B91C1C!important;
  border:1px solid #FCA5A5!important;
}

.danger:hover,
.btn-danger:hover,
button.danger:hover,
[data-variant="danger"]:hover,
#btnEmpresaEliminarResumen:hover{
  background:#FECACA!important;
  color:#7F1D1D!important;
}

button:disabled,
.btn:disabled,
.disabled,
[disabled]{
  background:#E2E8F0!important;
  color:#64748B!important;
  border-color:#CBD5E1!important;
  opacity:1!important;
  cursor:not-allowed!important;
}

input,
select,
textarea,
.input,
.select,
.textarea{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border:1px solid rgba(100,116,139,.30)!important;
  box-shadow:none!important;
}

input::placeholder,
textarea::placeholder{
  color:#94A3B8!important;
}

input:focus,
select:focus,
textarea:focus{
  border-color:var(--color-primary)!important;
  outline:3px solid rgba(0,95,134,.10)!important;
}

.date-range-chip,
.filter-pill,
.filter-chip,
.range-wrapper,
.seguimiento-filter-chip,
.empresa-report-chip,
.status-badge,
.module-badge{
  background:#E9EEF3!important;
  color:var(--text-main)!important;
  border:1px solid rgba(100,116,139,.22)!important;
}

.status-badge.active,
.commercial-status-badge.active{
  background:var(--success-bg)!important;
  color:var(--success-text)!important;
  border-color:rgba(22,101,52,.18)!important;
}

.status-badge.warning,
.module-badge.development{
  background:var(--warning-bg)!important;
  color:var(--warning-text)!important;
}

.status-badge.danger,
.status-badge.error{
  background:var(--danger-bg)!important;
  color:var(--danger-text)!important;
}

table,
.data-table,
.report-table,
.seguimiento-table,
.empresa-detail-table,
.empresa-monthly-detail-table,
.dotacion-table,
.dotacion-data-table,
.gobierno-table,
.html-tools-table,
.product-matrix,
.facultades-modern-table{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
}

table th,
.data-table th,
.report-table th,
.seguimiento-table th,
.empresa-detail-table th,
.empresa-monthly-detail-table th,
.dotacion-table th,
.dotacion-data-table th,
.gobierno-table th,
.html-tools-table th,
.product-matrix th,
.facultades-modern-table th{
  background:#E6F2F6!important;
  color:var(--color-primary-dark)!important;
  border-color:var(--border-soft)!important;
}

table td,
.data-table td,
.report-table td,
.seguimiento-table td,
.empresa-detail-table td,
.empresa-monthly-detail-table td,
.dotacion-table td,
.dotacion-data-table td,
.gobierno-table td,
.html-tools-table td,
.product-matrix td,
.facultades-modern-table td{
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:rgba(100,116,139,.16)!important;
}

table tr:hover,
table tr:hover td,
.data-table tr:hover,
.data-table tr:hover td,
.report-table tr:hover td,
.empresa-detail-table tr:hover td,
.dotacion-data-table tr:hover td,
.gobierno-table tr:hover td{
  background:#F1F8FB!important;
}

.report-bar,
.seguimiento-bar,
.dotacion-bar,
.assistance-bar,
.gobierno-bar-track,
.empresa-ranking-bar,
.empresa-ranking-sparkline-track,
.dotacion-mobile-bar,
.dashboard-kpi-mobile-bar{
  background:rgba(100,116,139,.20)!important;
  border-color:rgba(100,116,139,.12)!important;
}

.report-bar span,
.seguimiento-bar b,
.dotacion-bar b,
.assistance-bar b,
.gobierno-bar-track div,
.empresa-ranking-bar b,
.empresa-ranking-sparkline-fill,
.dotacion-mobile-bar b,
.dashboard-kpi-mobile-bar b{
  background:linear-gradient(90deg,#005F86,#57B7D3)!important;
}

.empresa-ranking-sparkline-marker,
.empresa-ranking-position,
.seguimiento-donut,
.no-visits-kpi{
  background:#FFFFFF!important;
  color:var(--color-primary)!important;
  border:1px solid var(--border-strong)!important;
}

.seguimiento-donut strong,
.seguimiento-donut span,
.seguimiento-donut-legend b,
.seguimiento-donut-legend em,
.empresa-ranking-label strong,
.empresa-ranking-total,
.gobierno-bar-row b,
.gobierno-bar-row strong,
.dotacion-mobile-bar-row strong{
  color:var(--text-main)!important;
}

.seguimiento-donut-legend,
.seguimiento-donut-legend span,
.empresa-ranking-label small,
.gobierno-bar-row span,
.dotacion-mobile-bar-row span{
  color:var(--text-muted)!important;
}

.chart-card,
.report-chart-card,
.chart-wrapper,
.canvas-wrapper,
.seguimiento-donut-wrap,
.no-visits-indicator,
.empresa-ranking-unified-table,
.empresa-report-mobile-ranking-card{
  min-width:0!important;
  width:100%!important;
  background:#FFFFFF!important;
  color:var(--text-main)!important;
  border-color:var(--border-soft)!important;
  overflow:hidden!important;
}

canvas,
svg{
  max-width:100%!important;
}

.text-preview-modal,
.install-app-modal,
.mobile-tabs-drawer,
.empresa-mobile-filter-sheet,
.empresa-report-mobile-sheet{
  background:rgba(15,23,42,.34)!important;
}

.mobile-bottom-nav{
  background:#FFFFFF!important;
  border-top:1px solid var(--border-soft)!important;
  box-shadow:0 -6px 18px rgba(15,23,42,.08)!important;
}

.mobile-nav-item{
  background:transparent!important;
  color:var(--text-muted)!important;
  border:0!important;
}

.mobile-nav-item.active,
.mobile-nav-item:hover{
  color:var(--color-primary)!important;
}

.mobile-header{
  background:var(--color-primary)!important;
  color:#FFFFFF!important;
}

.google-login-btn{
  background:#FFFFFF!important;
  color:#1F2937!important;
  border:1px solid rgba(100,116,139,.30)!important;
}

.google-login-btn span,
.google-login-text{
  color:#1F2937!important;
}

@media (max-width:768px){
  .grid-2,
  .grid-3,
  .grid-4,
  .seguimiento-grid,
  .dashboard-grid,
  .seguimiento-dashboard-grid,
  .seguimiento-bottom-grid,
  .report-kpi-grid,
  .dotacion-kpi-grid,
  .gobierno-kpi-grid,
  .client-kpi-grid{
    grid-template-columns:1fr!important;
  }

  .chart-card,
  .report-chart-card,
  .kpi-card,
  .form-card,
  .section-card,
  .card{
    padding:12px!important;
  }

  .btn-row,
  .toolbar,
  .empresa-actions{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }

  .btn-row .btn-primary,
  .btn-row .btn-secondary,
  .btn-row .btn-danger,
  .toolbar button,
  .empresa-actions button{
    width:100%!important;
  }
}

/* Correccion critica final: sidebar visible y cards narrativas claras */
.app-sidebar{
  background:#005F86!important;
  color:#FFFFFF!important;
}

.sidebar-item,
.sidebar-nav-item,
.sidebar-primary-item,
.sidebar-module-btn,
.sidebar-submenu-item,
.app-sidebar button{
  width:100%!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  min-height:48px!important;
  padding:10px 14px!important;
  border-radius:12px!important;
  border:1px solid transparent!important;
  background:transparent!important;
  color:rgba(255,255,255,.92)!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-align:left!important;
  text-indent:0!important;
  cursor:pointer!important;
  opacity:1!important;
  visibility:visible!important;
}

.sidebar-item-icon,
.sidebar-nav-icon,
.app-sidebar button > span:first-child{
  flex:0 0 22px!important;
  width:22px!important;
  height:22px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:currentColor!important;
  opacity:1!important;
  visibility:visible!important;
}

.sidebar-item-label,
.app-sidebar button > span:not(:first-child),
.sidebar-active-panel-title span:last-child{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  color:currentColor!important;
  font-size:13px!important;
  line-height:1.2!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  opacity:1!important;
  visibility:visible!important;
  text-indent:0!important;
}

.sidebar-nav-item:hover,
.sidebar-primary-item:hover,
.sidebar-module-btn:hover,
.sidebar-submenu-item:hover,
.app-sidebar button:hover{
  background:rgba(255,255,255,.12)!important;
  color:#FFFFFF!important;
  border-color:rgba(255,255,255,.22)!important;
}

.sidebar-nav-item.active,
.sidebar-primary-item.active,
.sidebar-module-btn.active,
.sidebar-submenu-item.active,
.app-sidebar button.active{
  background:#FFFFFF!important;
  color:#005F86!important;
  border-color:rgba(255,255,255,.70)!important;
  box-shadow:0 8px 18px rgba(15,23,42,.14)!important;
}

.sidebar-nav-item.active .sidebar-nav-icon,
.sidebar-primary-item.active .sidebar-nav-icon,
.sidebar-module-btn.active .sidebar-nav-icon,
.sidebar-submenu-item.active .sidebar-item-icon,
.app-sidebar button.active > span:first-child{
  color:#005F86!important;
}

.sidebar-section-title,
.sidebar-section-label,
.sidebar-submenu-title{
  display:block!important;
  margin:18px 8px 8px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:12px!important;
  font-weight:800!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

.sidebar-active-panel,
.panel-active-card{
  background:rgba(255,255,255,.16)!important;
  color:#FFFFFF!important;
  border:1px solid rgba(255,255,255,.22)!important;
}

.sidebar-empty-spacer,
.sidebar-placeholder,
.sidebar-blank-item,
.app-sidebar button:empty{
  display:none!important;
}

.observacion-card,
.oportunidad-card,
.seguimiento-text-block,
.seguimiento-ficha-notes > div,
.summary-text-card,
.narrative-card,
.client-note-card{
  background:#F8FBFD!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:14px!important;
  box-shadow:var(--shadow-soft)!important;
}

.observacion-card h3,
.observacion-card h4,
.oportunidad-card h3,
.oportunidad-card h4,
.seguimiento-text-block h3,
.seguimiento-text-block h4,
.seguimiento-ficha-notes h4,
.summary-text-card h3,
.summary-text-card h4{
  color:#005F86!important;
}

.observacion-card p,
.oportunidad-card p,
.seguimiento-text-block p,
.summary-text-card p,
.observacion-card div,
.oportunidad-card div,
.seguimiento-text-block div,
.summary-text-card div,
.seguimiento-ficha-notes p,
.seguimiento-ficha-notes div,
.seguimiento-ficha-notes span,
.seguimiento-ficha-notes strong,
.seguimiento-ficha-notes small{
  color:#1E293B!important;
}

.seguimiento-text-preview,
.seguimiento-oportunidad-scroll{
  max-height:7.5em!important;
  overflow-y:auto!important;
  padding-right:8px!important;
  line-height:1.5!important;
  white-space:pre-wrap!important;
  overflow-wrap:anywhere!important;
  color:#1E293B!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.client-header-pill,
.ficha-status-pill,
.empty-dark-pill,
.empresa-status-badge{
  background:#E6F2F6!important;
  color:#005F86!important;
  border:1px solid rgba(0,95,134,.18)!important;
}

.app-main,
.panel-shell,
.module-shell,
.dashboard-shell,
.section-card,
.ficha-cliente,
.empresa-module,
.gestion-comercial-module,
.info-module,
.admin-module{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

/* Correccion critica final: acordeones, selects, dropdowns, textareas y BCRA */
.accordion,
.accordion-item,
.accordion-card,
.info-accordion,
.policy-accordion,
.expandable-card,
details,
.empresa-mobile-accordion,
.info-detail-dropdown,
.info-reglamentacion-selector,
.policy-card,
.content-card,
.detail-card,
.text-content-card,
.additional-info-card,
.result-card,
.readonly-card,
.info-panel,
.web-info-box,
.web-result-box{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}

.accordion-header,
.accordion-trigger,
.accordion-button,
.expandable-header,
summary,
.empresa-mobile-accordion summary,
.info-detail-dropdown-title,
.facultades-modern-toolbar,
.info-toolbar{
  background:#F8FBFD!important;
  color:#0F172A!important;
  border-color:rgba(0,95,134,.12)!important;
}

.accordion-header h3,
.accordion-header h4,
.accordion-trigger span,
.accordion-button span,
.expandable-header h3,
.expandable-header h4,
summary,
.empresa-mobile-accordion summary,
.info-detail-dropdown-title,
.facultades-modern-toolbar h3,
.info-toolbar h3{
  color:#0F172A!important;
}

.accordion-content,
.expandable-content,
.policy-content,
.info-content,
.info-detail-dropdown-body,
.empresa-mobile-accordion-body,
.web-info-box textarea,
.web-result-box,
.readonly-textarea{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

.accordion-content p,
.expandable-content p,
.policy-content p,
.info-content p,
.accordion-content div,
.expandable-content div,
.policy-content div,
.info-content div,
.accordion-content li,
.expandable-content li,
.policy-content li,
.info-content li,
.accordion-content span,
.expandable-content span,
.policy-content span,
.info-content span,
.info-detail-dropdown-body,
.info-detail-dropdown-body p,
.info-detail-dropdown-body div,
.info-detail-dropdown-body span,
.info-detail-dropdown-body li,
.web-info-box,
.web-info-box p,
.web-info-box div,
.web-info-box span{
  color:#1E293B!important;
}

.accordion-toggle,
.expand-toggle,
.accordion-icon,
.empresa-mobile-accordion summary::after,
.info-detail-dropdown-title::after{
  background:#EAF4F8!important;
  color:#005F86!important;
  border:1px solid rgba(0,95,134,.18)!important;
}

select,
option,
optgroup,
.custom-select,
.select-field,
.filter-select,
.upload-select,
.info-reglamentacion-selector select,
.info-reglamentacion-selector option,
.info-module select,
.facultades-selector-panel select,
.empresa-visitas-filter-card select,
.empresa-mobile-filter-panel select,
.empresa-visit-picker select,
.seguimiento-inline-select,
.seguimiento-filter-fields select,
.dotacion-mobile-filter-body select,
#gestionGobiernoShell .gobierno-field select{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(100,116,139,.30)!important;
  border-radius:12px!important;
  opacity:1!important;
}

select:focus,
.custom-select:focus,
.select-field:focus,
.filter-select:focus,
.upload-select:focus,
.info-reglamentacion-selector select:focus,
.info-module select:focus,
.facultades-selector-panel select:focus{
  border-color:#005F86!important;
  outline:3px solid rgba(0,95,134,.10)!important;
}

option:checked,
option:hover,
.dropdown-item:hover,
.select-option:hover,
.option-item:hover{
  background:#EEF7FA!important;
  color:#005F86!important;
}

.dropdown-menu,
.select-menu,
.options-menu,
.custom-select-menu{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}

.dropdown-item,
.select-option,
.option-item{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

.dropdown-item.active,
.select-option.active,
.option-item.active{
  background:rgba(0,95,134,.10)!important;
  color:#005F86!important;
}

textarea,
.textarea-field,
.notes-textarea,
.large-input,
.web-info-box textarea,
#empresaInformacionAdicional,
#gestionGobiernoShell .gobierno-field textarea{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(100,116,139,.30)!important;
  border-radius:14px!important;
  opacity:1!important;
}

#gestionGobiernoShell .gobierno-workspace{
  display:grid;
  gap:16px;
  min-width:0;
}

#gestionGobiernoShell .gobierno-workspace-header,
#gestionGobiernoShell .gobierno-case-summary,
#gestionGobiernoShell .gobierno-timeline-card,
#gestionGobiernoShell .gobierno-empty-state{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

#gestionGobiernoShell .gobierno-workspace-header{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-start;
  padding:16px;
}

#gestionGobiernoShell .gobierno-workspace-header h3,
#gestionGobiernoShell .gobierno-case-summary h3,
#gestionGobiernoShell .gobierno-timeline-card h3{
  margin:0;
  color:#0F172A!important;
}

#gestionGobiernoShell .gobierno-top-actions,
#gestionGobiernoShell .gobierno-quick-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

#gestionGobiernoShell .gobierno-summary-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
}

#gestionGobiernoShell .gobierno-overdue-filter-btn.active{
  background:#FEF2F2!important;
  border-color:#FCA5A5!important;
  color:#B91C1C!important;
}

#gestionGobiernoShell .government-filter-chip-overdue{
  background:#FEF2F2!important;
  border-color:#FCA5A5!important;
  color:#B91C1C!important;
}

#gestionGobiernoShell .government-filter-chip-overdue button{
  color:#B91C1C!important;
}

#gestionGobiernoShell .gobierno-case-layout{
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.35fr);
  gap:16px;
  align-items:start;
  min-width:0;
}

#gestionGobiernoShell .gobierno-case-summary,
#gestionGobiernoShell .gobierno-timeline-card,
#gestionGobiernoShell .gobierno-empty-state{
  padding:16px;
}

#gestionGobiernoShell .gobierno-case-summary-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:14px;
}

#gestionGobiernoShell .gobierno-eyebrow{
  display:block;
  color:#005F86!important;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.04em;
  margin-bottom:4px;
}

#gestionGobiernoShell .gobierno-status-stack{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

#gestionGobiernoShell .gobierno-summary-grid,
#gestionGobiernoShell .gobierno-preview-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

#gestionGobiernoShell .gobierno-summary-item{
  background:#F8FBFD!important;
  border:1px solid rgba(0,95,134,.14);
  border-radius:12px;
  padding:10px;
  min-width:0;
}

#gestionGobiernoShell .gobierno-summary-item span{
  display:block;
  color:#64748B!important;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:4px;
}

#gestionGobiernoShell .gobierno-summary-item strong{
  display:block;
  color:#1E293B!important;
  font-size:14px;
  overflow-wrap:anywhere;
}

#gestionGobiernoShell .gobierno-summary-note{
  margin:12px 0;
  padding:12px;
  background:#F8FBFD!important;
  border:1px solid rgba(0,95,134,.14);
  border-radius:12px;
}

#gestionGobiernoShell .gobierno-summary-note p{
  color:#1E293B!important;
  margin:6px 0 0;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

#gestionGobiernoShell .gobierno-timeline{
  display:grid;
  gap:10px;
  margin-top:12px;
  max-height:560px;
  overflow:auto;
  padding-right:4px;
}

#gestionGobiernoShell .gobierno-timeline-item{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:10px;
  align-items:start;
  cursor:pointer;
  border:0;
  background:transparent;
  padding:0;
  text-align:left;
}

#gestionGobiernoShell .gobierno-timeline-item:hover .gobierno-timeline-content{
  border-color:rgba(0,95,134,.34);
  box-shadow:0 8px 18px rgba(15,23,42,.08);
  transform:translateY(-1px);
}

#gestionGobiernoShell .gobierno-timeline-item:focus-visible{
  outline:3px solid rgba(0,95,134,.22);
  outline-offset:3px;
  border-radius:12px;
}

#gestionGobiernoShell .gobierno-timeline-dot{
  width:12px;
  height:12px;
  border-radius:999px;
  background:#005F86;
  border:3px solid #E6F2F6;
  margin-top:7px;
}

#gestionGobiernoShell .gobierno-timeline-content{
  background:#F8FBFD!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.14);
  border-radius:12px;
  padding:10px 12px;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#gestionGobiernoShell .gobierno-timeline-meta,
#gestionGobiernoShell .gobierno-timeline-footer{
  display:flex;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

#gestionGobiernoShell .gobierno-timeline-meta strong{
  color:#0F172A!important;
}

#gestionGobiernoShell .gobierno-timeline-meta span,
#gestionGobiernoShell .gobierno-timeline-footer span,
#gestionGobiernoShell .gobierno-timeline-content small{
  color:#64748B!important;
  font-weight:800;
}

#gestionGobiernoShell .gobierno-timeline-content p{
  color:#1E293B!important;
  margin:8px 0;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

#gestionGobiernoShell .gobierno-timeline-detail{
  display:grid;
  gap:4px;
  margin:8px 0;
}

#gestionGobiernoShell .gobierno-timeline-detail p{
  margin:0;
}

#gestionGobiernoShell .gobierno-timeline-detail strong{
  color:#0F172A!important;
}

#gestionGobiernoShell .gobierno-timeline-actions{
  display:flex;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
  margin-top:10px;
}

#gestionGobiernoShell .gobierno-timeline-actions button{
  min-height:34px;
  padding:7px 12px;
  border-radius:10px;
  font-size:.82rem;
}

#gestionGobiernoShell .gobierno-empty-timeline,
#gestionGobiernoShell .gobierno-empty-state{
  color:#64748B!important;
}

#gestionGobiernoShell .gobierno-modal{
  position:fixed;
  inset:0;
  z-index:3200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
  background:rgba(15,23,42,.36);
}

#gestionGobiernoShell .gobierno-modal-card{
  width:min(980px,96vw);
  max-height:92vh;
  display:flex;
  flex-direction:column;
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.20);
  border-radius:18px;
  box-shadow:0 18px 44px rgba(15,23,42,.18);
  overflow:hidden;
}

#gestionGobiernoShell .gobierno-modal-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 18px;
  border-bottom:1px solid rgba(0,95,134,.14);
  background:#F8FBFD!important;
}

#gestionGobiernoShell .gobierno-modal-header h3{
  margin:0;
  color:#0F172A!important;
}

#gestionGobiernoShell .gobierno-modal-body{
  padding:18px;
  overflow:auto;
}

#gestionGobiernoShell .gobierno-modal-form{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

#gestionGobiernoShell .gobierno-preview section{
  background:#F8FBFD!important;
  border:1px solid rgba(0,95,134,.14);
  border-radius:14px;
  padding:12px;
  margin-top:12px;
}

#gestionGobiernoShell .gobierno-history-priority-card{
  background:#FFFFFF!important;
  border-color:rgba(0,95,134,.20)!important;
}

#gestionGobiernoShell .gobierno-history-priority-card h4 + p + h4{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid rgba(0,95,134,.12);
}

#gestionGobiernoShell .gobierno-history-accordion{
  margin-top:10px;
  border:1px solid rgba(0,95,134,.16);
  border-radius:14px;
  background:#F8FBFD!important;
  overflow:hidden;
}

#gestionGobiernoShell .gobierno-history-accordion summary{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:11px 12px;
  cursor:pointer;
  color:#0F172A!important;
  font-weight:900;
  list-style:none;
}

#gestionGobiernoShell .gobierno-history-accordion summary::-webkit-details-marker{
  display:none;
}

#gestionGobiernoShell .gobierno-history-accordion summary::after{
  content:"⌄";
  color:#005F86;
  font-size:18px;
  line-height:1;
}

#gestionGobiernoShell .gobierno-history-accordion[open] summary::after{
  transform:rotate(180deg);
}

#gestionGobiernoShell .gobierno-history-accordion-body{
  padding:0 12px 12px;
}

#gestionGobiernoShell .gobierno-preview p{
  color:#1E293B!important;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

#gestionGobiernoShell .gobierno-summary-dashboard{
  display:grid;
  gap:16px;
}

#gestionGobiernoShell .gobierno-summary-chart-card,
#gestionGobiernoShell .gobierno-summary-table-card{
  overflow:hidden;
}

#gestionGobiernoShell .gobierno-state-chart{
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:18px;
  align-items:center;
  padding:12px 0 2px;
}

#gestionGobiernoShell .gobierno-donut{
  width:210px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  position:relative;
  box-shadow:inset 0 0 0 1px rgba(0,95,134,.12);
}

#gestionGobiernoShell .gobierno-donut-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

#gestionGobiernoShell .gobierno-donut-track{
  stroke:#E2E8F0;
  stroke-width:20;
}

#gestionGobiernoShell .gobierno-donut-segment{
  cursor:pointer;
  transition:opacity .18s ease, stroke-width .18s ease, filter .18s ease;
}

#gestionGobiernoShell .gobierno-donut-segment:hover,
#gestionGobiernoShell .gobierno-donut-segment.active{
  opacity:1;
  stroke-width:23;
  filter:drop-shadow(0 3px 6px rgba(15,23,42,.22));
}

#gestionGobiernoShell .gobierno-donut-segment.muted{
  opacity:.36;
}

#gestionGobiernoShell .gobierno-donut::after{
  content:"";
  position:absolute;
  inset:48px;
  border-radius:50%;
  background:#FFFFFF;
  box-shadow:0 0 0 1px rgba(0,95,134,.12);
  pointer-events:none;
}

#gestionGobiernoShell .gobierno-donut span{
  position:relative;
  z-index:2;
  display:grid;
  justify-items:center;
  color:#005F86!important;
  font-size:32px;
  font-weight:900;
}

#gestionGobiernoShell .gobierno-donut small{
  color:#64748B!important;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

#gestionGobiernoShell .gobierno-state-legend{
  display:grid;
  gap:8px;
}

#gestionGobiernoShell .gobierno-state-legend-item{
  display:grid;
  grid-template-columns:14px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  background:#F8FBFD!important;
  border:1px solid rgba(0,95,134,.14);
  border-radius:12px;
  padding:9px 10px;
  width:100%;
  text-align:left;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,opacity .18s ease;
}

#gestionGobiernoShell .gobierno-state-legend-item:hover{
  background:#F1F7FB!important;
  border-color:#8EC5DD;
}

#gestionGobiernoShell .gobierno-state-legend-item.active{
  background:#E6F6FB!important;
  border-color:#0E7FA6!important;
  box-shadow:0 0 0 2px rgba(14,127,166,.12);
}

#gestionGobiernoShell .gobierno-state-legend-item.muted{
  opacity:.55;
}

#gestionGobiernoShell .gobierno-state-legend-item i{
  width:12px;
  height:12px;
  border-radius:999px;
}

#gestionGobiernoShell .gobierno-state-legend-item span,
#gestionGobiernoShell .gobierno-state-legend-item strong{
  color:#1E293B!important;
  font-weight:800;
}

#gestionGobiernoShell .gobierno-state-legend-item.active .status-label,
#gestionGobiernoShell .gobierno-state-legend-item.active .status-count{
  color:#005F86!important;
  font-weight:900;
}

#gestionGobiernoShell .government-filter-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:10px 0 12px;
  padding:6px 10px;
  border-radius:999px;
  background:#E6F6FB;
  border:1px solid #A8D8E8;
  color:#005F86;
  font-size:12px;
  font-weight:900;
}

#gestionGobiernoShell .government-filter-chip button{
  border:0!important;
  background:transparent!important;
  color:#005F86!important;
  cursor:pointer;
  font-size:16px;
  font-weight:900;
  line-height:1;
  padding:0 2px;
}

#gestionGobiernoShell .gobierno-summary-table-wrap{
  max-height:520px;
  overflow:auto;
  border:1px solid rgba(0,95,134,.14);
  border-radius:14px;
}

#gestionGobiernoShell .gobierno-summary-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
}

#gestionGobiernoShell .gobierno-summary-table th{
  position:sticky;
  top:0;
  z-index:2;
  background:#E6F2F6!important;
  color:#004A68!important;
}

#gestionGobiernoShell .gobierno-summary-row{
  cursor:pointer;
}

#gestionGobiernoShell .gobierno-summary-row:hover td,
#gestionGobiernoShell .gobierno-summary-row:focus td{
  background:#EEF7FA!important;
}

#gestionGobiernoShell .gobierno-summary-row td strong{
  display:block;
  color:#0F172A!important;
}

#gestionGobiernoShell .gobierno-summary-row td small{
  display:block;
  margin-top:3px;
  color:#64748B!important;
  font-weight:800;
}

#gestionGobiernoShell .gobierno-summary-mobile-list{
  display:none;
}

#gestionGobiernoShell .gobierno-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  padding:14px 18px 18px;
  border-top:1px solid rgba(0,95,134,.14);
  background:#F8FBFD!important;
}

@media(max-width:768px){
  #gestionGobiernoShell .gobierno-workspace-header,
  #gestionGobiernoShell .gobierno-case-summary-head{
    flex-direction:column;
  }
  #gestionGobiernoShell .gobierno-top-actions,
  #gestionGobiernoShell .gobierno-quick-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  #gestionGobiernoShell .gobierno-top-actions .primary{
    grid-column:1/-1;
  }
  #gestionGobiernoShell .gobierno-case-layout,
  #gestionGobiernoShell .gobierno-summary-grid,
  #gestionGobiernoShell .gobierno-preview-grid,
  #gestionGobiernoShell .gobierno-modal-form{
    grid-template-columns:1fr!important;
  }
  #gestionGobiernoShell .gobierno-timeline{
    max-height:none;
  }
  #gestionGobiernoShell .gobierno-modal{
    align-items:flex-end;
    padding:0;
  }
  #gestionGobiernoShell .gobierno-modal-card{
    width:100%;
    max-height:94vh;
    border-radius:18px 18px 0 0;
  }
  #gestionGobiernoShell .gobierno-modal-body{
    padding:12px;
  }
  #gestionGobiernoShell .gobierno-history-detail .gobierno-case-summary-head{
    gap:8px;
    margin-bottom:10px;
  }
  #gestionGobiernoShell .gobierno-history-detail .gobierno-case-summary-head h3{
    font-size:18px;
    line-height:1.2;
  }
  #gestionGobiernoShell .gobierno-history-detail .gobierno-eyebrow{
    font-size:11px;
  }
  #gestionGobiernoShell .gobierno-history-detail section{
    margin-top:10px;
    padding:11px;
  }
  #gestionGobiernoShell .gobierno-state-chart{
    grid-template-columns:1fr;
    justify-items:center;
    gap:12px;
    padding-top:4px;
  }
  #gestionGobiernoShell .gobierno-summary-chart-card{
    padding:12px!important;
  }
  #gestionGobiernoShell .gobierno-summary-chart-card .gobierno-section-head{
    gap:6px;
  }
  #gestionGobiernoShell .gobierno-summary-chart-card .gobierno-section-head h3{
    font-size:18px;
  }
  #gestionGobiernoShell .gobierno-summary-chart-card .gobierno-section-head .small{
    font-size:12px;
  }
  #gestionGobiernoShell .gobierno-donut{
    width:148px;
  }
  #gestionGobiernoShell .gobierno-donut::after{
    inset:34px;
  }
  #gestionGobiernoShell .gobierno-donut span{
    font-size:24px;
  }
  #gestionGobiernoShell .gobierno-donut small{
    font-size:10px;
  }
  #gestionGobiernoShell .gobierno-state-legend{
    width:100%;
    grid-template-columns:1fr 1fr;
    gap:6px;
  }
  #gestionGobiernoShell .gobierno-state-legend-item{
    padding:7px 8px;
    grid-template-columns:10px minmax(0,1fr) auto;
    font-size:12px;
  }
  #gestionGobiernoShell .gobierno-state-legend-item i{
    width:9px;
    height:9px;
  }
  #gestionGobiernoShell .gobierno-summary-table-wrap{
    display:none;
  }
  #gestionGobiernoShell .gobierno-summary-mobile-list{
    display:grid;
    gap:10px;
    max-height:520px;
    overflow:auto;
    padding-right:2px;
  }
  #gestionGobiernoShell .gobierno-summary-mobile-card{
    width:100%;
    display:grid;
    gap:6px;
    text-align:left;
    padding:12px;
    border-radius:14px;
    border:1px solid rgba(0,95,134,.18)!important;
    background:#FFFFFF!important;
    color:#1E293B!important;
    box-shadow:0 8px 18px rgba(15,23,42,.06);
  }
  #gestionGobiernoShell .gobierno-summary-mobile-card:active,
  #gestionGobiernoShell .gobierno-summary-mobile-card:focus{
    outline:3px solid rgba(0,95,134,.12);
    border-color:rgba(0,95,134,.36)!important;
  }
  #gestionGobiernoShell .gobierno-summary-mobile-card strong{
    color:#0F172A!important;
    font-size:15px;
    line-height:1.25;
  }
  #gestionGobiernoShell .gobierno-summary-mobile-card span,
  #gestionGobiernoShell .gobierno-summary-mobile-card small{
    color:#64748B!important;
    font-weight:800;
  }
#gestionGobiernoShell .gobierno-summary-mobile-id{
    color:#005F86!important;
    font-size:11px;
    text-transform:uppercase;
  }
  #gestionGobiernoShell .gobierno-modal-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  #gestionGobiernoShell .gobierno-actions.wide{
    display:grid;
    grid-template-columns:1fr;
  }
}

.financing-dashboard{
  display:grid;
  gap:16px;
}

.financing-hero{
  display:grid;
  gap:14px;
}

.financing-dashboard-header h2{
  margin:0;
  color:#0F172A!important;
}

.financing-subtabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  border-bottom:1px solid rgba(0,95,134,.12);
  padding-bottom:10px;
}

.financing-subtabs button,
.financing-ranking-modes button{
  min-height:38px;
  border:1px solid rgba(0,95,134,.24)!important;
  background:#FFFFFF!important;
  color:#005F86!important;
  border-radius:999px;
  padding:8px 14px;
  font-weight:900;
}

.financing-subtabs button.active,
.financing-ranking-modes button.active{
  background:#005F86!important;
  color:#FFFFFF!important;
}

.financing-filters{
  display:grid;
  grid-template-columns:repeat(6,minmax(116px,1fr)) auto;
  gap:10px;
  align-items:end;
}

.financing-filters.compact .empresa-field label{
  font-size:12px;
}

.financing-filters.compact select{
  min-height:40px;
}

.financing-kpis,
.financing-kpi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}

.financing-kpi,
.financing-card,
.financing-chart-card,
.financing-ranking-card,
.financing-alert-card{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:16px;
  box-shadow:0 10px 24px rgba(15,23,42,.08);
}

.financing-kpi,
.financing-kpi-card{
  padding:14px;
  position:relative;
  overflow:hidden;
}

.financing-kpi span{
  display:block;
  color:#64748B!important;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:6px;
}

.financing-kpi strong{
  display:block;
  color:#005F86!important;
  font-size:clamp(18px,1.7vw,24px);
  font-weight:900;
}

.financing-kpi small{
  display:block;
  margin-top:5px;
  color:#64748B!important;
  font-weight:800;
}

.financing-kpi>i{
  display:block;
  height:4px;
  width:56px;
  margin-top:12px;
  border-radius:999px;
  background:linear-gradient(90deg,#005F86,#67C5DD);
}

.financing-grid,
.financing-chart-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.financing-card{
  padding:16px;
  min-width:0;
}

.financing-card.wide{
  grid-column:1/-1;
}

.financing-card h3{
  margin:0 0 12px;
  color:#0F172A!important;
}

.financing-card-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}

.financing-card-title h3{
  margin:0;
}

.financing-card-title span{
  color:#64748B!important;
  font-weight:800;
  font-size:12px;
  text-align:right;
}

.deposit-file-manager,
.deposit-dashboard,
.deposits-dashboard{display:grid;gap:16px}
.dashboard-update-label{margin:.35rem 0 0;color:#64748b;font-size:.82rem;font-weight:800}
.dashboard-skeleton{position:relative;overflow:hidden;background:#e5edf3;border-radius:12px;min-height:80px}
.dashboard-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:skeleton-loading 1.2s infinite}
@keyframes skeleton-loading{100%{transform:translateX(100%)}}
.section-loading-label{font-size:.85rem;color:#64748b;margin-top:8px}
.dotacion-loading-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.dotacion-kpi-skeleton{min-height:92px}
.dotacion-panel-skeleton{min-height:210px}
.dotacion-context-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #9DCAE0;background:#EAF7FC;color:#005F86;border-radius:14px;padding:9px 12px;font-size:.85rem;font-weight:800}
.dotacion-context-filter button{border:1px solid #9DCAE0;background:#FFFFFF;color:#005F86;border-radius:999px;min-height:30px;padding:4px 10px;font-weight:900;cursor:pointer}
.dotacion-bar-row{border:1px solid transparent;background:transparent;text-align:left;color:inherit;border-radius:10px;padding:6px 8px;cursor:pointer}
.dotacion-bar-row:hover,.dotacion-bar-row.active{background:#EAF7FC;border-color:#9DCAE0;box-shadow:0 5px 14px rgba(0,95,134,.1)}
.dotacion-context-row{cursor:pointer}
.dotacion-context-row:hover td,.dotacion-context-row:focus td{background:#EAF7FC!important}
.dotacion-context-row:focus{outline:3px solid rgba(0,95,134,.18);outline-offset:-3px}
.dotacion-mobile-bar-row{border:1px solid transparent;background:transparent;text-align:left;color:inherit;border-radius:10px;padding:6px;cursor:pointer}
.dotacion-mobile-bar-row.active,.dotacion-mobile-bar-row:hover{background:#EAF7FC;border-color:#9DCAE0}
.deposit-upload-card .empresa-actions{align-self:end}
@media(max-width:900px){.dotacion-loading-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dotacion-context-filter{align-items:flex-start;flex-direction:column}.dotacion-context-filter button{width:100%}}
@media(max-width:520px){.dotacion-loading-grid{grid-template-columns:1fr}.dotacion-kpi-skeleton{min-height:70px}.dotacion-panel-skeleton{min-height:150px}}
.deposit-history-table tr.active{background:#ecfeff}
.deposit-dashboard-header{display:grid;gap:14px;background:#fff;border:1px solid #d7e3ee;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.05)}
.deposit-hero .main-menu-head{align-items:flex-start}
.deposit-filter-bar,
.deposit-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr)) auto;gap:12px;align-items:end;background:#f8fbfd;border:1px solid #e2edf5;border-radius:16px;padding:14px}
.deposit-filters .hidden{display:none!important}
.deposit-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:14px}
.deposit-kpi-card,.deposit-card{background:#fff;border:1px solid #d7e3ee;border-radius:18px;box-shadow:0 8px 22px rgba(15,23,42,.06)}
.deposit-kpi-card{min-height:118px;padding:16px;display:grid;gap:7px;align-content:start;position:relative;overflow:hidden}
.deposit-kpi-card::after{content:"";position:absolute;right:-22px;bottom:-28px;width:70px;height:70px;border-radius:999px;background:rgba(0,95,134,.08)}
.deposit-kpi-card.deposit-kpi-plazo::after{background:rgba(249,115,22,.13)}
.deposit-kpi-label{color:#64748b;font-size:.75rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.deposit-kpi-value{color:#005f86;font-size:clamp(1.25rem,1.8vw,1.65rem);line-height:1.08;font-weight:900}
.deposit-kpi-delta{font-size:.8rem;font-weight:900;line-height:1.2}
.deposit-kpi-delta.positive{color:#16a34a}
.deposit-kpi-delta.negative{color:#dc2626}
.deposit-kpi-delta.neutral{color:#64748b}
.deposit-kpi-note{margin:0;color:#64748b;font-size:.76rem;font-weight:700}
.deposit-kpi-grid span{color:#64748b;font-size:.72rem;font-weight:900;letter-spacing:.05em;text-transform:uppercase}
.deposit-kpi-grid strong{color:#005f86;font-size:clamp(1.25rem,1.8vw,1.8rem);line-height:1.05;font-weight:900}
.deposit-kpi-grid .kpi-delta{display:inline-flex;align-items:center;gap:4px;font-size:.78rem;font-weight:800;margin-top:2px;font-style:normal;line-height:1.2}
.kpi-delta-positive{color:#16a34a}
.kpi-delta-negative{color:#dc2626}
.kpi-delta-neutral{color:#64748b}
.deposit-kpi-card.positive .deposit-kpi-value{color:#15803d}
.deposit-kpi-card.negative .deposit-kpi-value{color:#b91c1c}
.deposit-chart-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);gap:16px}
.deposit-card{padding:18px;min-width:0}
.deposit-card.wide{grid-column:1 / -1}
.deposit-zonal-chart{height:320px;display:flex;align-items:flex-end;gap:10px;overflow-x:auto;padding:10px 2px 4px}
.deposit-zonal-bar{min-width:62px;height:100%;display:grid;grid-template-rows:1fr auto auto;gap:6px;align-items:end;color:#475569}
.deposit-zonal-bar b{display:block;width:100%;min-height:6px;border-radius:10px 10px 4px 4px;background:#cbd5e1}
.deposit-zonal-bar.mendoza-este b{background:#005f86}
.deposit-zonal-bar.mendoza-oeste b{background:#0f766e}
.deposit-zonal-bar span{writing-mode:vertical-rl;transform:rotate(180deg);max-height:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:800}
.deposit-zonal-bar em{font-style:normal;color:#0f172a;font-size:11px;font-weight:900;text-align:center}
.deposit-branch-bars{display:grid;gap:9px;position:relative;overflow-y:auto;overflow-x:hidden;max-height:430px;padding-right:4px}
.deposit-branch-bars::before{content:"";position:absolute;top:0;bottom:0;left:calc(45% + (55% * var(--deposit-branch-average,0) / 100));border-left:2px dashed #334155;z-index:2;pointer-events:none}
.deposit-branch-bars::after{content:"Promedio zona";position:absolute;top:0;left:calc(45% + (55% * var(--deposit-branch-average,0) / 100));transform:translateX(6px);background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:900;z-index:3;pointer-events:none}
.deposit-branch-row{display:grid;grid-template-columns:minmax(160px,.45fr) minmax(0,1fr) auto;gap:10px;align-items:center;border:0;background:transparent;text-align:left;width:100%;padding:0;cursor:pointer}
.deposit-branch-row:hover span,.deposit-branch-row.active span{color:#005f86}
.deposit-branch-row.active div{box-shadow:0 0 0 2px rgba(0,95,134,.18)}
.deposit-branch-row span{min-width:0;color:#0f172a;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.deposit-branch-row span b{display:inline-flex;min-width:30px;color:#005f86;font-weight:900}
.deposit-branch-row div{height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden}
.deposit-branch-row i{display:block;height:100%;border-radius:999px;background:#005f86}
.deposit-branch-row.under div{background:#e5e7eb;border:1px solid #dc2626}
.deposit-branch-row.under i{background:#cbd5e1}
.deposit-branch-row strong{color:#005f86;font-size:12px;font-weight:900}
.deposit-stack-chart{height:260px;display:flex;align-items:flex-end;gap:14px;padding:10px 2px 0}
.deposit-stack-month{flex:1 1 70px;min-width:54px;height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;align-items:end}
.deposit-stack-month div{width:100%;min-height:6px;display:flex;flex-direction:column-reverse;border-radius:12px 12px 5px 5px;overflow:hidden;background:#e2e8f0}
.deposit-stack-month i,.deposit-stack-month b{display:block}
.deposit-stack-month i{background:#0f766e}
.deposit-stack-month b{background:#f59e0b}
.deposit-stack-month span{color:#475569;font-size:12px;font-weight:800;text-align:center}
.deposit-alert{margin-top:14px;padding:10px 12px;border-radius:12px;background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-weight:800;text-align:left}
.alert-banner-actionable{border-left:5px solid #f97316;background:#fff7ed;transition:transform .2s ease,box-shadow .2s ease;cursor:pointer;width:100%}
.alert-banner-actionable:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}
.alert-banner-actionable:focus{outline:3px solid rgba(249,115,22,.35);outline-offset:2px}
.deposit-donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}
.deposit-donut{width:150px;aspect-ratio:1;border:0;border-radius:50%;background:conic-gradient(#005f86 0 calc(var(--ars,0)*1%), #16a34a calc(var(--ars,0)*1%) 100%);position:relative;cursor:pointer}
.deposit-donut::after{content:"";position:absolute;inset:24px;border-radius:50%;background:#fff;box-shadow:inset 0 0 0 1px #d7e3ee}
.deposit-donut-svg{width:170px;height:170px;display:block;overflow:visible}
.deposit-donut-bg{fill:none;stroke:#e2edf5;stroke-width:5}
.deposit-donut-segment{fill:none;stroke-width:5;cursor:pointer;transition:opacity .18s ease,stroke-width .18s ease;transform:rotate(-90deg);transform-origin:50% 50%}
.deposit-donut-segment.ars{stroke:#005f86}
.deposit-donut-segment.usd{stroke:#16a34a}
.deposit-donut-segment.active{stroke-width:6}
.deposit-donut-segment.muted{opacity:.35}
.deposit-donut-svg text{fill:#0f172a;font-weight:900;font-size:5px;pointer-events:none}
.deposit-donut-svg text+text{fill:#64748b;font-size:3.5px}
.deposit-donut-legend{display:grid;gap:8px}
.deposit-donut-legend button{border:1px solid transparent;background:#fff;color:#334155;font-weight:800;text-align:left;border-radius:10px;padding:7px 8px;cursor:pointer}
.deposit-donut-legend button.active{border-color:#9dcae0;background:#eaf7fc;color:#005f86}
.deposit-donut-legend i{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:6px}
.deposit-donut-legend .ars{background:#005f86}
.deposit-donut-legend .usd{background:#16a34a}
.deposit-donut-legend .all{background:linear-gradient(90deg,#005f86 0 50%,#16a34a 50% 100%)}
.deposit-detail-table-wrap{display:block;max-height:560px;overflow:auto!important;max-width:100%;overscroll-behavior:contain}
.deposit-detail-table{min-width:980px}
.deposit-detail-cards{display:none}
.deposit-card-title-with-control{align-items:center}
.deposit-range-filter{display:grid;gap:4px;min-width:180px}
.deposit-range-filter span{font-size:11px;text-align:left;color:#64748b!important}
.deposit-range-filter select{min-height:36px;border:1px solid #bfd3e0;border-radius:10px;padding:7px 10px;color:#0f172a;background:#fff;font-weight:800}
.deposit-mix-percent-chart{position:relative;height:280px;display:flex;align-items:flex-end;gap:14px;padding:14px 6px 30px;border-left:1px solid #d7e3ee;border-bottom:1px solid #d7e3ee}
.deposit-mix-objective{position:absolute;left:0;right:0;border-top:2px dashed #334155;z-index:3;pointer-events:none}
.deposit-mix-objective span{position:absolute;right:8px;top:-26px;background:#fff;color:#334155;border:1px solid #cbd5e1;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:900}
.deposit-mix-month{flex:1 1 62px;height:100%;display:grid;grid-template-rows:1fr auto;gap:8px;align-items:end;min-width:54px}
.deposit-mix-bar{height:100%;min-height:90px;display:flex;flex-direction:column-reverse;border-radius:12px 12px 5px 5px;overflow:hidden;background:#e2e8f0}
.deposit-mix-bar i,.deposit-mix-bar b{display:flex;align-items:center;justify-content:center;color:#fff;font-size:11px;font-weight:900;font-style:normal}
.deposit-mix-bar i{background:#0f766e}
.deposit-mix-bar b{background:#f97316}
.deposit-mix-month>span{color:#475569;font-size:12px;font-weight:800;text-align:center}
.deposit-mix-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px;color:#334155;font-weight:900}
.deposit-mix-legend i{width:10px;height:10px;border-radius:999px;display:inline-block;margin-right:6px}
.deposit-mix-legend .vista{background:#0f766e}
.deposit-mix-legend .plazo{background:#f97316}
.deposit-evolution-controls{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.deposit-evolution-controls label{display:grid;gap:4px;min-width:150px;color:#64748b;font-size:11px;font-weight:900}
.deposit-evolution-controls select{min-height:36px;border:1px solid #bfd3e0;border-radius:10px;padding:7px 10px;color:#0f172a;background:#fff;font-weight:800}
.deposit-single-evolution-chart{height:260px;display:flex;align-items:flex-end;gap:12px;padding:12px 6px 28px;border-left:1px solid #d7e3ee;border-bottom:1px solid #d7e3ee;overflow-x:auto}
.deposit-single-evolution-month{height:100%;min-width:82px;display:grid;grid-template-rows:1fr auto auto;gap:6px;align-items:end;text-align:center}
.deposit-single-evolution-month b{display:block;width:100%;border-radius:12px 12px 5px 5px;min-height:4px}
.deposit-single-evolution-month b.vista{background:#0f766e}
.deposit-single-evolution-month b.plazo{background:#f97316}
.deposit-single-evolution-month strong{color:#005f86;font-size:11px;font-weight:900}
.deposit-single-evolution-month span{color:#475569;font-size:12px;font-weight:800}
.deposit-trend-chart{width:100%;height:auto;display:block;background:#f8fbfd;border:1px solid rgba(0,95,134,.12);border-radius:14px}
.deposit-trend-chart .grid line{stroke:rgba(100,116,139,.18)}
.deposit-trend-chart circle{fill:#005f86;stroke:#fff;stroke-width:2}
.deposit-trend-chart text{fill:#64748b;font-size:11px;font-weight:800}
.deposit-trend-chart text.value-label{fill:#005f86;font-size:10px;font-weight:900}
.deposit-trend-barline .deposit-trend-bar{fill:#8ec5dd;stroke:#005f86;stroke-width:1;opacity:.9}
.deposit-trend-variation-line{stroke:#dc2626}
.deposit-trend-variation-point{fill:#dc2626;stroke:#fff;stroke-width:2}
.deposit-trend-variation-point.positive{fill:#16a34a}
.deposit-trend-chart text.variation-label{font-size:9px;font-weight:900;fill:#dc2626}
.deposit-trend-chart text.variation-label.positive{fill:#16a34a}
.deposit-trend-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:10px;color:#334155;font-size:12px;font-weight:900}
.deposit-trend-legend i{display:inline-block;width:12px;height:10px;border-radius:3px;margin-right:6px;background:#8ec5dd;border:1px solid #005f86;vertical-align:-1px}
.deposit-trend-legend i.line{width:20px;height:4px;border:0;border-radius:999px;background:#dc2626;vertical-align:2px}
.deposit-alerts-panel{display:grid;gap:12px}
.deposit-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.deposit-alert-card,
.deposit-alert-list .alert-banner-actionable{display:grid;gap:4px;padding:12px;border-radius:14px;border:1px solid #d7e3ee;background:#f8fbfd;color:#0f172a;text-align:left}
.deposit-alert-card strong,
.deposit-alert-list .alert-banner-actionable strong{color:#0f172a;font-size:.92rem}
.deposit-alert-card p,
.deposit-alert-list .alert-banner-actionable p{margin:0;color:#475569;font-size:.84rem;line-height:1.35}
.deposit-alert-card.warning{border-left:5px solid #f97316;background:#fff7ed}
.deposit-alert-card.success{border-left:5px solid #16a34a;background:#f0fdf4}
.deposit-alert-card.info{border-left:5px solid #005f86;background:#f0f9ff}
.deposit-share-low,.deposit-share-medium,.deposit-share-high{display:inline-flex;min-width:54px;justify-content:center;padding:4px 7px;border-radius:7px}
.deposit-share-low{background:transparent;color:#0f172a}
.deposit-share-medium{background:#e0f2fe;color:#0f172a;font-weight:800}
.deposit-share-high{background:#005f86;color:#fff;font-weight:900}

@media (min-width:769px){
  .sidebar-item,.sidebar-primary-item,.sidebar-module-btn{padding:14px 20px!important;margin-bottom:4px}
  .sidebar-submenu-item{padding:11px 16px!important;margin-bottom:4px}
}

@media (max-width:1200px){
  .deposit-filter-bar,.deposit-filters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .deposit-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media (max-width:768px){
  .deposit-dashboard,.deposits-dashboard{gap:12px;max-width:100%;overflow-x:hidden}
  .deposit-dashboard-header{border-radius:16px}
  .deposit-hero .main-menu-head{gap:8px}
  .deposit-hero .main-menu-head h2{font-size:1.35rem;margin-bottom:2px}
  .deposit-hero .main-menu-head .small{display:none}
  .deposit-hero .dashboard-update-label{display:block;font-size:.72rem;margin:0}
  .deposit-filter-bar,.deposit-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px;border-radius:12px}
  .deposit-filter-bar .empresa-field label,.deposit-filters .empresa-field label{font-size:.68rem;margin-bottom:3px}
  .deposit-filter-bar select,.deposit-filters select{min-height:38px!important;padding:7px 9px!important;font-size:.86rem!important;border-radius:10px!important}
  .deposit-filter-bar button,.deposit-filters button{min-height:38px!important;padding:7px 10px!important;border-radius:10px!important;grid-column:1 / -1}
  .deposit-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .deposit-kpi-card{min-height:96px;padding:12px;border-radius:14px}
  .deposit-kpi-label{font-size:.68rem}
  .deposit-kpi-value{font-size:1.2rem}
  .deposit-kpi-delta{font-size:.72rem}
  .deposit-kpi-note{font-size:.7rem}
  .deposit-chart-grid{grid-template-columns:1fr}
  .deposit-card{padding:14px;border-radius:14px}
  .deposit-zonal-chart{height:260px}
  .deposit-branch-row{grid-template-columns:1fr;gap:5px}
  .deposit-branch-bars::before,.deposit-branch-bars::after{display:none}
  .deposit-branch-row strong{justify-self:end}
  .deposit-stack-chart{height:220px;overflow-x:auto}
  .deposit-stack-month{flex:0 0 62px}
  .deposit-donut-wrap{grid-template-columns:1fr;justify-items:center}
  .deposit-detail-table-wrap{display:block;max-height:420px;overflow:auto!important}
  .deposit-detail-cards{display:none;gap:10px}
  .deposit-detail-cards article{display:grid;gap:4px;padding:12px;border:1px solid #d7e3ee;border-radius:12px;background:#fff}
  .deposit-detail-cards strong{color:#0f172a}
  .deposit-detail-cards span{color:#475569;font-size:.82rem}
  .deposit-detail-cards b{color:#005f86}
  .deposit-detail-cards small{color:#475569;font-weight:800}
  .deposit-detail-cards em{justify-self:start;font-style:normal}
  .deposit-card-title-with-control{display:grid;gap:10px}
  .deposit-range-filter{width:100%}
  .deposit-branch-bars{max-height:450px;overflow-y:auto;padding-right:4px}
  .deposit-detail-table-wrap{max-height:520px;overflow:auto!important}
  .deposit-mix-percent-chart{height:230px;overflow-x:auto}
  .deposit-mix-month{flex:0 0 58px}
  .deposit-mix-bar i,.deposit-mix-bar b{font-size:10px}
  .deposit-evolution-controls{display:grid;grid-template-columns:1fr;gap:8px}
  .deposit-evolution-controls label{min-width:0}
  .deposit-single-evolution-chart{height:220px}
  .deposit-single-evolution-month{min-width:72px}
  .deposit-trend-chart{min-width:620px}
  .deposit-alert-list{grid-template-columns:1fr}
}

@media (max-width:520px){
  .deposit-kpi-grid{grid-template-columns:1fr}
  .deposit-kpi-card{min-height:auto}
  .deposit-zonal-bar{min-width:58px}
}

.financing-svg-chart,
.financing-matrix{
  width:100%;
  height:auto;
  display:block;
  background:#F8FBFD;
  border:1px solid rgba(0,95,134,.12);
  border-radius:14px;
}

.financing-svg-chart .grid line,
.financing-matrix line{
  stroke:rgba(100,116,139,.18);
}

.financing-svg-chart circle{
  fill:#005F86;
  stroke:#FFFFFF;
  stroke-width:2;
}

.financing-svg-chart text,
.financing-matrix text{
  fill:#64748B;
  font-size:11px;
  font-weight:800;
}

.financing-svg-chart text.value-label{
  fill:#005F86;
  font-size:10px;
  font-weight:900;
}

.financing-barline-chart .financing-barline-bar{
  fill:#8EC5DD;
  stroke:#005F86;
  stroke-width:1;
  opacity:.92;
}

.financing-barline-chart .financing-barline-line{
  stroke:#DC2626;
}

.financing-barline-chart .financing-barline-point{
  fill:#DC2626;
  stroke:#FFFFFF;
  stroke-width:2;
}

.financing-barline-chart .financing-barline-point.positive{
  fill:#16A34A;
}

.financing-barline-chart text.variation-label{
  fill:#DC2626;
  font-size:9px;
  font-weight:900;
}

.financing-barline-chart text.variation-label.positive{
  fill:#16A34A;
}

.financing-barline-legend{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:10px;
  color:#334155;
  font-size:12px;
  font-weight:900;
}

.financing-barline-legend i{
  display:inline-block;
  width:12px;
  height:10px;
  border-radius:3px;
  margin-right:6px;
  background:#8EC5DD;
  border:1px solid #005F86;
  vertical-align:-1px;
}

.financing-barline-legend i.line{
  width:20px;
  height:4px;
  border:0;
  border-radius:999px;
  background:#DC2626;
  vertical-align:2px;
}

.financing-stacked-bars{
  display:grid;
  gap:10px;
}

.financing-stacked-bars>div{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
}

.financing-stacked-bars span{
  color:#1E293B!important;
  font-weight:900;
  font-size:12px;
}

.financing-stacked-bars>div>div,
.financing-banca-mix{
  height:30px;
  display:flex;
  overflow:hidden;
  border-radius:999px;
  background:#E2E8F0;
}

.financing-stacked-bars i,
.mix-segment{
  display:block;
  min-width:1px;
}

.f0{background:#005F86!important}
.f1{background:#0B7EA8!important}
.f2{background:#57B7D3!important}
.f3{background:#A7D8E6!important}
.f4{background:#7FB77E!important}
.f5{background:#EAB308!important}

.financing-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin-top:12px;
}

.financing-legend button{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#005F86!important;
  background:#FFFFFF!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:999px;
  padding:6px 9px;
  font-size:12px;
  font-weight:800;
}

.financing-legend button.active{
  background:#E6F2F6!important;
  border-color:rgba(0,95,134,.38)!important;
}

.financing-legend i{
  width:10px;
  height:10px;
  border-radius:999px;
}

.mix-segment{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#FFFFFF!important;
  font-size:11px;
  font-weight:900;
  white-space:nowrap;
}

.financing-ranking-modes{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:12px;
}

.financing-ranking-list{
  display:grid;
  gap:9px;
}

.financing-ranking-list button{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto auto;
  gap:10px;
  align-items:center;
  border:1px solid rgba(0,95,134,.14)!important;
  background:#F8FBFD!important;
  color:#1E293B!important;
  border-radius:12px;
  padding:10px;
  position:relative;
  overflow:hidden;
  text-align:left;
}

.financing-ranking-list button.active{
  background:#EAF7FC!important;
  border-color:#005F86!important;
  box-shadow:0 0 0 2px rgba(0,95,134,.14);
}

.financing-ranking-list button>i{
  position:absolute;
  left:0;
  bottom:0;
  height:4px;
  background:#005F86;
  border-radius:999px;
}

.financing-ranking-list span,
.financing-ranking-list strong,
.financing-ranking-list em{
  position:relative;
  z-index:1;
}

.financing-ranking-list span{
  color:#005F86!important;
  font-weight:900;
}

.financing-ranking-list strong{
  color:#0F172A!important;
  overflow-wrap:anywhere;
}

.financing-ranking-list em{
  color:#005F86!important;
  font-style:normal;
  font-weight:900;
}

.financing-bars{
  display:grid;
  gap:9px;
}

.financing-bar-row{
  display:grid;
  grid-template-columns:minmax(120px,1fr) 110px minmax(120px,2fr);
  gap:10px;
  align-items:center;
  font-size:13px;
}

.financing-bar-row.as-button{
  width:100%;
  border:0!important;
  background:transparent!important;
  color:#1E293B!important;
  text-align:left;
  padding:0;
  cursor:pointer;
}

.financing-bar-row span{
  color:#1E293B!important;
  font-weight:800;
  overflow-wrap:anywhere;
}

.financing-bar-row strong{
  color:#005F86!important;
  text-align:right;
}

.financing-bar-row div{
  height:10px;
  background:#E2E8F0;
  border-radius:999px;
  overflow:hidden;
}

.financing-bar-row i{
  display:block;
  height:100%;
  background:#005F86;
  border-radius:999px;
}

.financing-risk{
  display:inline-flex;
  border-radius:999px;
  padding:4px 9px;
  font-size:12px;
  font-weight:900;
}

.financing-risk.verde{background:#DCFCE7;color:#166534}
.financing-risk.amarillo{background:#FEF3C7;color:#92400E}
.financing-risk.naranja{background:#FFEDD5;color:#9A3412}
.financing-risk.rojo{background:#FEE2E2;color:#991B1B}

.financing-risk-scroll{
  max-height:280px;
  overflow:auto;
}

.financing-risk-table thead th{
  position:sticky;
  top:0;
  z-index:1;
}

.financing-matrix .verde{fill:#22C55E;fill-opacity:.72}
.financing-matrix .amarillo{fill:#EAB308;fill-opacity:.72}
.financing-matrix .naranja{fill:#F97316;fill-opacity:.72}
.financing-matrix .rojo{fill:#EF4444;fill-opacity:.72}
.financing-matrix .threshold{stroke:#CBD5E1;stroke-dasharray:5 5}

.financing-alerts,
.financing-alert-list{
  display:grid;
  gap:8px;
}

.financing-alert-card{
  background:#F8FBFD;
  border:1px solid rgba(0,95,134,.14);
  border-radius:12px;
  padding:10px;
  color:#1E293B!important;
}

.financing-alert-card strong{
  display:block;
  color:#0F172A!important;
  margin-bottom:4px;
}

.financing-alert-card p{
  margin:0;
  color:#1E293B!important;
}

.financing-alert-card.rojo{border-color:rgba(239,68,68,.35)!important}
.financing-alert-card.naranja{border-color:rgba(249,115,22,.35)!important}
.financing-alert-card.amarillo{border-color:rgba(234,179,8,.35)!important}

.financing-evolution-scroll{
  max-height:460px;
  overflow:auto;
}

.financing-evolution-scroll tbody tr[data-financing-evolution-zonal]{
  cursor:pointer;
}

.financing-evolution-scroll tbody tr[data-financing-evolution-zonal]:hover{
  background:#EEF7FA;
}

.financing-clear-drilldown{
  width:max-content;
  margin-bottom:12px;
}

.financing-evolution-limit{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}

.financing-evolution-limit button{
  min-height:36px;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(0,95,134,.24)!important;
  background:#FFFFFF!important;
  color:#005F86!important;
  font-weight:900;
}

.financing-evolution-limit button.active{
  background:#005F86!important;
  color:#FFFFFF!important;
}

.financing-evolution-charts{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}

.financing-evolution-ranking-card{
  min-width:0;
}

.financing-evolution-bars{
  display:grid;
  gap:8px;
  max-height:620px;
  overflow-y:auto;
  padding-right:4px;
}

.financing-evolution-bar-row{
  width:100%;
  display:grid;
  grid-template-columns:minmax(118px,180px) minmax(0,1fr) 86px;
  gap:10px;
  align-items:center;
  border:0!important;
  background:transparent!important;
  color:#1E293B!important;
  padding:7px 0;
  text-align:left;
  cursor:pointer;
}

.financing-evolution-bar-row:hover,
.financing-evolution-bar-row.active{
  background:#F1F8FB!important;
  border-radius:10px;
}

.financing-evolution-name{
  min-width:0;
  color:#1E293B!important;
  font-size:12px;
  font-weight:900;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.financing-evolution-track{
  position:relative;
  height:16px;
  border-radius:999px;
  background:#E2E8F0;
  overflow:hidden;
}

.financing-evolution-track b{
  position:absolute;
  top:0;
  bottom:0;
  left:var(--start);
  width:var(--width);
  border-radius:999px;
  background:#B83280;
}

.financing-evolution-zero{
  position:absolute;
  top:0;
  bottom:0;
  left:var(--zero);
  z-index:2;
  width:2px;
  background:rgba(15,23,42,.38);
}

.financing-evolution-bar-row strong{
  color:#005F86!important;
  font-size:12px;
  font-weight:900;
  text-align:right;
  white-space:nowrap;
}

.financing-evolution-ranking-card.orange .financing-evolution-track b{
  background:#EA580C;
}

.financing-evolution-ranking-card.teal .financing-evolution-track b{
  background:#0D9488;
}

.financing-evolution-bar-row.negative .financing-evolution-track b{
  background:#BE123C!important;
}

.financing-evolution-bar-row.negative strong{
  color:#BE123C!important;
}

@media(max-width:768px){
  .financing-filters{
    grid-template-columns:1fr 1fr;
  }
  .financing-filters .primary{
    grid-column:1/-1;
  }
  .financing-subtabs{
    flex-wrap:nowrap;
    overflow-x:auto;
    padding-bottom:8px;
  }
  .financing-subtabs button{
    flex:0 0 auto;
  }
  .financing-kpis,
  .financing-kpi-grid{
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    padding-bottom:4px;
  }
  .financing-kpi{
    min-width:170px;
    scroll-snap-align:start;
  }
  .financing-grid,
  .financing-chart-grid{
    grid-template-columns:1fr;
  }
  .financing-card{
    padding:12px;
  }
  .financing-bar-row{
    grid-template-columns:1fr auto;
  }
  .financing-bar-row div{
    grid-column:1/-1;
  }
  .financing-card-title{
    display:block;
  }
  .financing-card-title span{
    display:block;
    text-align:left;
    margin-top:4px;
  }
  .financing-ranking-list button{
    grid-template-columns:34px minmax(0,1fr);
  }
  .financing-ranking-list em,
  .financing-ranking-list b{
    grid-column:2;
    justify-self:start;
  }
  .financing-stacked-bars>div{
    grid-template-columns:58px minmax(0,1fr);
  }
  .financing-risk-scroll{
    max-height:280px;
  }
  .financing-evolution-charts{
    grid-template-columns:1fr;
  }
  .financing-evolution-bars{
    max-height:430px;
  }
  .financing-evolution-bar-row{
    grid-template-columns:minmax(82px,108px) minmax(0,1fr) 62px;
    gap:7px;
  }
  .financing-evolution-name,
  .financing-evolution-bar-row strong{
    font-size:11px;
  }
  .financing-evolution-track{
    height:14px;
  }
  .financing-evolution-limit{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }
  .financing-svg-chart text.value-label{
    font-size:9px;
  }
}

textarea::placeholder,
.textarea-field::placeholder,
.notes-textarea::placeholder{
  color:#94A3B8!important;
}

textarea:focus,
.textarea-field:focus,
.notes-textarea:focus{
  border-color:#005F86!important;
  outline:3px solid rgba(0,95,134,.10)!important;
}

textarea[readonly],
.readonly-textarea,
.web-result-box{
  background:#F8FBFD!important;
  color:#1E293B!important;
}

.indicadores-modal,
.indicators-modal,
.text-preview-modal.bcra-modal .text-preview-modal-card,
.text-preview-modal.bcra-modal .text-preview-modal-body{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

.indicador-card,
.indicator-card,
.monetary-indicator-card,
.bcra-indicator-card,
.bcra-compact-cell,
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-card{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
  opacity:1!important;
}

.indicador-value,
.indicator-value,
.monetary-value,
.quote-value,
.rate-value,
.bcra-indicator-value strong,
.bcra-compact-metric strong,
.text-preview-modal-body .bcra-modal-grid .bcra-indicator-value strong{
  color:#005F86!important;
  font-weight:800!important;
  opacity:1!important;
}

.indicador-value.secondary,
.indicator-value.secondary,
.bcra-indicator-value.secondary strong{
  color:#004A68!important;
  font-weight:700!important;
}

.indicador-unit,
.indicator-unit,
.indicador-label,
.indicator-label,
.bcra-indicator-value span,
.bcra-compact-metric small,
.bcra-compact-metric > span,
.bcra-indicator-info p,
.bcra-indicator-info time{
  color:#64748B!important;
  opacity:1!important;
}

.indicador-title,
.indicator-title,
.bcra-indicator-info h4,
.bcra-short-title{
  color:#0F172A!important;
  font-weight:800!important;
}

.indicadores-modal .btn-close,
.indicators-modal .btn-close,
.text-preview-modal.bcra-modal .logout-outline-btn{
  background:#FFFFFF!important;
  color:#005F86!important;
  border:1px solid rgba(0,95,134,.30)!important;
}

.indicadores-modal .btn-close:hover,
.indicators-modal .btn-close:hover,
.text-preview-modal.bcra-modal .logout-outline-btn:hover{
  background:#EEF7FA!important;
}

/* Correccion definitiva de controles nativos y expandibles en tema claro */
html,
body,
button,
input,
select,
textarea,
option,
optgroup{
  color-scheme:light!important;
}

select,
input[type="text"],
input[type="search"],
input[type="date"],
input[type="time"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea,
.base-input,
.base-select,
.base-textarea{
  background-color:#FFFFFF!important;
  background-image:none!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.28)!important;
  border-radius:12px!important;
  box-shadow:none!important;
  color-scheme:light!important;
  -webkit-text-fill-color:#1E293B!important;
}

select:focus,
input:focus,
textarea:focus{
  border-color:#005F86!important;
  outline:3px solid rgba(0,95,134,.12)!important;
}

select option,
option,
optgroup{
  background-color:#FFFFFF!important;
  color:#1E293B!important;
  -webkit-text-fill-color:#1E293B!important;
}

select option:checked,
option:checked{
  background-color:#E6F2F6!important;
  color:#005F86!important;
  -webkit-text-fill-color:#005F86!important;
}

select option:hover,
option:hover{
  background-color:#EEF7FA!important;
  color:#005F86!important;
}

.base-card{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}

.base-button-primary{
  background:#005F86!important;
  color:#FFFFFF!important;
  border:1px solid #005F86!important;
}

.base-button-secondary{
  background:#FFFFFF!important;
  color:#005F86!important;
  border:1px solid rgba(0,95,134,.30)!important;
}

.base-accordion-header{
  background:#F8FBFD!important;
  color:#0F172A!important;
}

.base-accordion-content{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

.reglamentacion-select,
.policy-select,
.info-record-select,
#reglamentacionSelect,
#politicaReglamentacionSelect,
#infoReglamentacionSelect,
.info-reglamentacion-selector select,
.info-record-select select,
.policy-select select{
  background-color:#FFFFFF!important;
  background-image:none!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.28)!important;
  border-radius:12px!important;
  font-weight:700!important;
  color-scheme:light!important;
  -webkit-text-fill-color:#1E293B!important;
}

.reglamentacion-select option,
.policy-select option,
.info-record-select option,
#reglamentacionSelect option,
#politicaReglamentacionSelect option,
#infoReglamentacionSelect option,
.info-reglamentacion-selector option,
.info-module option{
  background-color:#FFFFFF!important;
  color:#1E293B!important;
}

.dropdown-menu,
.select-menu,
.custom-select-menu,
.autocomplete-menu,
.facultades-options-menu,
.facultades-dropdown-menu{
  max-height:320px!important;
  overflow-y:auto!important;
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.24)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.12)!important;
}

.dropdown-item,
.select-option,
.custom-select-option,
.autocomplete-option,
.facultades-option{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

.dropdown-item:hover,
.select-option:hover,
.custom-select-option:hover,
.autocomplete-option:hover,
.facultades-option:hover{
  background:#EEF7FA!important;
  color:#005F86!important;
}

.dropdown-item.active,
.select-option.active,
.custom-select-option.active,
.autocomplete-option.active,
.facultades-option.active{
  background:#E6F2F6!important;
  color:#005F86!important;
}

.accordion,
.accordion-item,
.accordion-card,
.policy-accordion,
.info-accordion,
.expandable-card{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:16px!important;
  box-shadow:0 10px 24px rgba(15,23,42,.08)!important;
}

.accordion-header,
.accordion-trigger,
.accordion-button,
.expandable-header,
.policy-accordion-header{
  background:#F8FBFD!important;
  color:#0F172A!important;
  border-bottom:1px solid rgba(0,95,134,.12)!important;
}

.accordion-content,
.expandable-content,
.policy-accordion-content,
.info-accordion-content{
  background:#FFFFFF!important;
  color:#1E293B!important;
}

.accordion-content *,
.expandable-content *,
.policy-accordion-content *,
.info-accordion-content *{
  color:#1E293B!important;
}

.accordion-toggle,
.expand-toggle,
.accordion-icon{
  background:#E6F2F6!important;
  color:#005F86!important;
  border:1px solid rgba(0,95,134,.22)!important;
}

input[type="date"],
.date-input,
.date-range input,
.range-date-input{
  background-color:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.28)!important;
  color-scheme:light!important;
  -webkit-text-fill-color:#1E293B!important;
}

.date-range,
.date-range-wrapper,
.filters-date-range,
.range-wrapper{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border:1px solid rgba(0,95,134,.18)!important;
  border-radius:14px!important;
}

.date-range span,
.date-range label,
.range-wrapper span,
.range-wrapper label{
  color:#64748B!important;
}

input[type="date"]::-webkit-calendar-picker-indicator{
  filter:none!important;
  opacity:.75!important;
  cursor:pointer!important;
}

.dark-select,
.dark-input,
.dark-panel,
.dark-card,
.dark-accordion,
.dark-dropdown,
.bg-dark,
.theme-dark,
.surface-dark{
  background:#FFFFFF!important;
  color:#1E293B!important;
  border-color:rgba(0,95,134,.18)!important;
}

.location-modal {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, .42);
  z-index: 3000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.location-modal.hidden {
  display: none !important;
}

.location-modal-card {
  width: min(960px, 96vw);
  max-height: 92vh;
  overflow: auto;
  background: #FFFFFF;
  color: #1E293B;
  border: 1px solid rgba(0, 95, 134, .18);
  border-radius: 18px;
  box-shadow: 0 18px 44px rgba(15, 23, 42, .18);
}

.location-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(0, 95, 134, .14);
}

.location-modal-header h2 {
  margin: 0;
  color: #0F172A;
}

.location-search-row {
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 12px;
  padding: 16px 20px 10px;
}

.location-search-row button {
  white-space: nowrap;
}

.location-picker-message {
  margin: 0 20px 12px;
  color: #64748B !important;
}

.location-map {
  width: calc(100% - 40px);
  height: 440px;
  margin: 0 20px;
  border-radius: 16px;
  border: 1px solid rgba(0, 95, 134, .18);
  overflow: hidden;
  background: #EEF4F7;
}

.location-map-empty {
  min-height: 220px;
  display: grid;
  place-items: center;
  padding: 20px;
  color: #64748B;
  text-align: center;
}

.location-result-panel {
  display: grid;
  gap: 6px;
  margin: 16px 20px 0;
  padding: 14px;
  background: #F8FBFD;
  border: 1px solid rgba(0, 95, 134, .18);
  border-radius: 14px;
  color: #1E293B;
}

.location-result-panel strong {
  color: #005F86;
}

.location-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 18px 20px 20px;
}

#empresaUbicacionEstado {
  margin-top: 6px;
  color: #64748B !important;
}

@media (max-width: 768px) {
  .location-modal {
    align-items: flex-end;
    padding: 0;
  }

  .location-modal-card {
    width: 100%;
    max-height: 94vh;
    border-radius: 18px 18px 0 0;
  }

  .location-search-row {
    grid-template-columns: 1fr;
    padding: 14px 16px 10px;
  }

  .location-picker-message {
    margin: 0 16px 10px;
  }

  .location-map {
    width: calc(100% - 32px);
    height: 360px;
    margin: 0 16px;
  }

  .location-result-panel {
    margin: 14px 16px 0;
  }

  .location-modal-actions {
    display: grid;
    grid-template-columns: 1fr;
    padding: 16px;
  }
}

/* Registro de actas: optimización móvil con acordeones y modales */
.acta-mobile-accordion > summary{
  display:none;
}

.acta-mobile-accordion-body{
  display:contents;
}

.acta-mobile-modal{
  position:fixed;
  inset:0;
  z-index:3200;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background:rgba(15,23,42,.42);
}

.acta-mobile-modal.hidden{
  display:none!important;
}

.acta-mobile-modal-card{
  width:min(760px,100%);
  max-height:92vh;
  overflow:auto;
  background:#FFFFFF;
  color:#1E293B;
  border:1px solid rgba(0,95,134,.18);
  border-radius:18px 18px 0 0;
  box-shadow:0 -18px 44px rgba(15,23,42,.18);
}

.acta-mobile-modal-header{
  position:sticky;
  top:0;
  z-index:2;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  background:#FFFFFF;
  border-bottom:1px solid rgba(0,95,134,.14);
}

.acta-mobile-modal-header h2{
  margin:0;
  color:#0F172A!important;
  font-size:18px;
}

.acta-mobile-modal-body{
  padding:16px;
}

.acta-mobile-summary{
  display:grid;
  gap:8px;
}

.acta-mobile-summary strong{
  color:#005F86;
  font-size:18px;
}

.acta-mobile-summary span{
  display:block;
  color:#1E293B;
  font-weight:800;
}

@media(max-width:768px){
  #appShell{
    width:100%;
    padding:10px 10px 96px!important;
  }

  #appShell .back-menu-bar{
    margin-bottom:8px;
  }

  #appShell .topbar{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px!important;
    margin-bottom:6px!important;
  }

  #appShell .topbar .hero{
    grid-column:1/-1;
    min-height:0;
    padding:8px 10px!important;
    margin:0!important;
    border-radius:12px!important;
  }

  #appShell .topbar .hero h1{
    font-size:18px!important;
    line-height:1.1!important;
    margin:0 0 4px!important;
    letter-spacing:0!important;
  }

  #appShell .topbar .hero p{
    display:none;
  }

  #appShell .status-strip{
    gap:4px!important;
    margin-top:4px!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #appShell .status-strip span{
    min-height:18px!important;
    font-size:9px!important;
    line-height:1.1!important;
    padding:2px 6px!important;
    border-radius:999px!important;
    max-width:100%!important;
  }

  #appShell .metric{
    padding:7px 8px!important;
    text-align:center;
    min-width:0;
    min-height:50px!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    gap:2px!important;
  }

  #appShell .metric span{
    font-size:9px!important;
    line-height:1.1!important;
    margin:0!important;
    letter-spacing:.04em!important;
  }

  #appShell .metric strong{
    font-size:17px!important;
    line-height:1.05!important;
    margin:0!important;
  }

  #appShell .visits-header-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    margin-bottom:6px!important;
  }

  #appShell .visits-title-card,
  #appShell .visits-kpi-card{
    min-height:50px!important;
    padding:7px 8px!important;
    border-radius:12px!important;
    margin:0!important;
  }

  #appShell .visits-title-card{
    grid-column:1/-1!important;
    min-height:auto!important;
    display:block!important;
  }

  #appShell .metric.visits-kpi-card{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    align-content:center!important;
    text-align:left!important;
    column-gap:8px!important;
  }

  #appShell .visits-kpi-icon{
    width:28px!important;
    height:28px!important;
    border-radius:9px!important;
    font-size:.78rem!important;
  }

  #appShell .visits-title-card h1{
    font-size:18px!important;
    line-height:1.1!important;
    margin:0 0 4px!important;
  }

  #appShell .visits-kpi-label{
    font-size:9px!important;
    line-height:1.1!important;
    margin:0!important;
  }

  #appShell .visits-kpi-value{
    font-size:17px!important;
    line-height:1.05!important;
    margin:0!important;
  }

  #appShell .visits-kpi-card *{
    margin-top:0!important;
    margin-bottom:0!important;
  }

  #tabsBar{
    position:sticky;
    top:0;
    z-index:40;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:8px;
    padding:8px 0;
    margin-bottom:10px;
    background:#F4F8FB;
  }

  #tabsBar .tab-btn{
    flex:0 0 auto;
    min-height:38px;
    padding:8px 12px;
    font-size:12px;
    white-space:nowrap;
  }

  #appShell #tabsBar.visits-header-tabs{
    position:static!important;
    top:auto!important;
    z-index:auto!important;
    grid-column:1/-1;
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto;
    gap:6px!important;
    padding:8px!important;
    margin:2px 0 8px!important;
    background:#FFFFFF!important;
    border-radius:12px!important;
  }

  #appShell #tabsBar.visits-header-tabs .tab-btn{
    min-height:36px!important;
    padding:8px 10px!important;
    font-size:12px!important;
  }

  #appShell .tab-panel.active{
    display:block;
  }

  #appShell .grid-main,
  #appShell .grid-2,
  #appShell .grid-acta,
  #appShell .form-grid,
  #appShell .control-grid{
    grid-template-columns:1fr!important;
    gap:10px;
  }

  #appShell .card{
    padding:12px!important;
    border-radius:14px!important;
  }

  #datos.datos-tab{
    padding:0!important;
    overflow-x:hidden!important;
  }

  #datos .datos-card,
  #datos .acta-section-card{
    border-radius:16px!important;
    padding:14px!important;
    margin-bottom:14px!important;
  }

  #datosForm.form-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  #datosForm .acta-field,
  #datosForm .datos-field{
    width:100%!important;
    min-width:0!important;
  }

  #datosForm .field.wide{
    grid-column:auto!important;
  }

  #datosForm .mobile-hidden-datos{
    display:none!important;
  }

  #datosForm .mobile-visible-datos{
    display:block!important;
  }

  #datosForm .acta-field label,
  #datosForm .datos-field label{
    display:block;
    margin-bottom:6px;
    font-size:.82rem;
    font-weight:900;
    color:#0F172A!important;
  }

  #datosForm .acta-field input,
  #datosForm .acta-field select,
  #datosForm .acta-field textarea,
  #datosForm .datos-field input,
  #datosForm .datos-field select,
  #datosForm .datos-field textarea{
    width:100%!important;
    min-height:44px!important;
    font-size:.95rem!important;
    border-radius:12px!important;
    padding:10px 12px!important;
    background:#FFFFFF!important;
    color:#0F172A!important;
    border:1px solid #BFD3E0!important;
    box-sizing:border-box!important;
  }

  #datosForm .acta-field textarea,
  #datosForm .datos-field textarea{
    min-height:96px!important;
    resize:vertical;
  }

  #datos .datos-section-title,
  #datos .acta-section-title{
    font-size:1.05rem!important;
    line-height:1.2!important;
    margin:0 0 12px!important;
    color:#0F172A!important;
  }

  #datosForm .acta-dato-fecha{order:1;}
  #datosForm .acta-dato-localidad{order:2;}
  #datosForm .acta-dato-provincia{order:3;}
  #datosForm .acta-dato-gerenciaZonal{order:4;}
  #datosForm .acta-dato-sucursal{order:5;}
  #datosForm .acta-dato-tipoVisita{order:6;}
  #datosForm .acta-dato-horaInicio{order:7;}
  #datosForm .acta-dato-horaFin{order:8;}
  #datosForm .acta-dato-verificacionParcialAl{order:9;}
  #datosForm .acta-dato-gerente{order:10;}
  #datosForm .acta-dato-responsableRevision{order:11;}
  #datosForm .acta-dato-responsableOperativo{order:12;}
  #datosForm .acta-dato-responsableCaja{order:13;}

  .acta-mobile-accordion{
    display:block!important;
  }

  .acta-mobile-accordion > summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-height:44px;
    padding:2px 0 8px;
    color:#005F86!important;
    font-weight:900;
    cursor:pointer;
    list-style:none;
  }

  .acta-mobile-accordion > summary::-webkit-details-marker{
    display:none;
  }

  .acta-mobile-accordion > summary::after{
    content:"+";
    width:28px;
    height:28px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#E6F2F6;
    color:#005F86;
    border:1px solid rgba(0,95,134,.18);
  }

  .acta-mobile-accordion[open] > summary::after{
    content:"-";
  }

  .acta-mobile-accordion-body{
    display:block;
  }

  .panel-access{
    display:block!important;
    margin-bottom:10px;
  }

  .panel-access .toolbar,
  .panel-access .join-row{
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px;
  }

  .panel-access h2,
  .acta-controls-panel h2{
    font-size:17px;
  }

  .control-list{
    max-height:none;
    overflow:visible;
    padding-right:0;
  }

  .control-item{
    padding:12px!important;
    margin-bottom:10px;
    border-radius:14px!important;
  }

  .acta-control-accordion{
    background:#FFFFFF!important;
  }

  .acta-control-accordion > summary{
    display:grid;
    grid-template-columns:1fr auto;
    gap:8px;
    align-items:center;
    min-height:46px;
    color:#0F172A!important;
  }

  .acta-control-accordion > summary span{
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-weight:900;
  }

  .acta-control-accordion > summary small{
    color:#64748B!important;
    font-weight:800;
    font-size:11px;
    white-space:nowrap;
  }

  .acta-control-accordion .control-head{
    display:block;
    margin-top:8px;
  }

  .acta-control-accordion .control-head .danger{
    width:100%;
    margin-top:8px;
  }

  #hallazgos .toolbar,
  #borradores .toolbar,
  #acta .grid-acta aside .acta-mobile-accordion-body{
    display:grid!important;
    grid-template-columns:1fr;
    gap:8px;
  }

  #estadoGeneral.kpi-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  #estadoGeneral .kpi{
    padding:10px!important;
  }

  #estadoGeneral .kpi strong{
    font-size:20px;
  }

  .acta-draft-card-list{
    display:grid;
    gap:10px;
  }

  .acta-draft-card{
    display:grid;
    gap:10px;
    border:1px solid rgba(0,95,134,.18);
    border-radius:14px;
    background:#FFFFFF;
    padding:12px;
  }

  .acta-draft-card strong,
  .acta-draft-card span,
  .acta-draft-card small{
    display:block;
  }

  .acta-draft-card strong{
    color:#0F172A;
    font-size:15px;
  }

  .acta-draft-card span{
    color:#005F86;
    font-weight:900;
    font-size:12px;
    overflow-wrap:anywhere;
  }

  .acta-draft-card small{
    color:#64748B!important;
    font-weight:800;
  }

  .acta-draft-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px;
  }

  .acta-draft-actions .danger{
    grid-column:1/-1;
  }

  #acta .print-sheet{
    max-height:62vh;
    overflow:auto;
    padding:12px!important;
    border-radius:14px;
  }

  .acta-mobile-final-preview{
    max-width:100%;
    overflow:auto;
  }

  .acta-mobile-final-preview .print-page,
  .acta-mobile-final-preview .executive-page{
    min-height:auto!important;
    padding:12px!important;
    border-radius:12px!important;
  }

  .acta-mobile-final-preview table{
    width:max-content;
    min-width:100%;
  }
}

/* Informacion y normativas: vista compacta y tema claro definitivo */
.info-panel-header-global,
.info-module-main-header,
.informacion-main-header,
.info-panel-header-global {
  display: none !important;
}

#infoPoliticaCredito .info-toolbar,
.politica-filters,
.policy-filters,
.policy-integral-filter {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#infoPoliticaSearch,
.politica-filters input,
.policy-filters input {
  width: 100% !important;
  min-width: 0 !important;
  background-color: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .28) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color-scheme: light !important;
  -webkit-text-fill-color: #1E293B !important;
}

#infoPoliticaSearch::placeholder,
.politica-filters input::placeholder,
.policy-filters input::placeholder {
  color: #94A3B8 !important;
  -webkit-text-fill-color: #94A3B8 !important;
}

.info-reglamentacion-selector,
.policy-select-card {
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .18) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
}

.info-reglamentacion-selector label,
.policy-select-card label {
  color: #005F86 !important;
  font-weight: 800 !important;
}

.info-reglamentacion-selector select,
.info-reglamentacion-selector select:focus,
.info-reglamentacion-selector option,
.info-module select,
.info-module option,
.base-select,
.policy-select,
.reglamentacion-select,
.info-record-select,
#infoPoliticaReglamentacionSelect,
#infoPoliticaReglamentacionSelect option,
#reglamentacionSelect,
#politicaReglamentacionSelect {
  background-color: #FFFFFF !important;
  background-image: none !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .28) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color-scheme: light !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #1E293B !important;
}

.info-reglamentacion-selector option,
.info-module option,
.base-select option,
.policy-select option,
.reglamentacion-select option,
.info-record-select option {
  background-color: #FFFFFF !important;
  color: #1E293B !important;
  -webkit-text-fill-color: #1E293B !important;
}

.info-reglamentacion-selector option:checked,
.info-module option:checked,
.base-select option:checked,
.policy-select option:checked,
.reglamentacion-select option:checked,
.info-record-select option:checked {
  background-color: #E6F2F6 !important;
  color: #005F86 !important;
  -webkit-text-fill-color: #005F86 !important;
}

.info-reglamentacion-selector select:focus,
.base-select:focus,
.policy-select:focus,
.reglamentacion-select:focus,
.info-record-select:focus {
  border-color: #005F86 !important;
  outline: 3px solid rgba(0, 95, 134, .12) !important;
}

.policy-accordion,
.info-accordion,
.accordion,
.accordion-item,
.expandable-card,
.info-detail-dropdown {
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .18) !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
  overflow: hidden !important;
}

.policy-accordion-header,
.accordion-header,
.accordion-trigger,
.expandable-header,
.info-detail-dropdown-title,
.info-reglamentacion-title {
  background: #F8FBFD !important;
  color: #0F172A !important;
  border-color: rgba(0, 95, 134, .14) !important;
  border-bottom: 1px solid rgba(0, 95, 134, .14) !important;
}

.policy-accordion-header *,
.accordion-header *,
.accordion-trigger *,
.expandable-header *,
.info-detail-dropdown-title *,
.info-reglamentacion-title * {
  color: #0F172A !important;
}

.policy-accordion-content,
.accordion-content,
.expandable-content,
.info-detail-dropdown-body,
.info-reglamentacion-item .info-record-detail,
.info-detail-block {
  background: #FFFFFF !important;
  color: #1E293B !important;
}

.policy-accordion-content *,
.accordion-content *,
.expandable-content *,
.info-detail-dropdown-body *,
.info-reglamentacion-item .info-record-detail *,
.info-detail-block * {
  color: #1E293B !important;
}

.accordion-toggle,
.expand-toggle,
.accordion-icon,
.info-detail-dropdown-title::after,
.info-reglamentacion-title::after {
  background: #E6F2F6 !important;
  color: #005F86 !important;
  border: 1px solid rgba(0, 95, 134, .22) !important;
}

@media (max-width: 768px) {
  .politica-filters,
  .policy-filters,
  .policy-integral-filter {
    grid-template-columns: 1fr !important;
  }

  .politica-filters input,
  .policy-filters input,
  .reglamentacion-select,
  .policy-select,
  #infoPoliticaReglamentacionSelect {
    width: 100% !important;
  }
}

/* Seguimiento: contraste del gráfico "Visitas por sucursal" */
.seguimiento-sucursal-under-map .seguimiento-donut-wrap {
  background: #FFFFFF !important;
  border: 1px solid #D7E3EE !important;
  border-radius: 16px;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
  padding: 12px;
}

.seguimiento-sucursal-under-map .seguimiento-donut,
.seguimiento-donut.visitas-sucursal-chart {
  width: 136px;
  height: 136px;
  min-width: 136px;
  border-radius: 50%;
  background: var(--seguimiento-donut-gradient, conic-gradient(#0F766E 0 100%)) !important;
  border: 3px solid #FFFFFF !important;
  box-shadow:
    inset 0 0 0 1px rgba(15, 23, 42, .08),
    0 4px 12px rgba(15, 23, 42, .08);
  color: #0F172A !important;
}

.seguimiento-sucursal-under-map .seguimiento-donut::before,
.seguimiento-donut.visitas-sucursal-chart::before {
  inset: 32px;
  background: #FFFFFF !important;
  border: 1px solid #D7E3EE !important;
  box-shadow: 0 0 0 4px rgba(255, 255, 255, .72);
}

.seguimiento-sucursal-under-map .seguimiento-donut strong,
.seguimiento-donut.visitas-sucursal-chart strong {
  color: #0F172A !important;
  font-weight: 900;
  line-height: 1;
}

.seguimiento-sucursal-under-map .seguimiento-donut span,
.seguimiento-donut.visitas-sucursal-chart span {
  color: #475569 !important;
  font-weight: 700;
  text-transform: none;
}

.seguimiento-sucursal-under-map .seguimiento-donut-legend {
  gap: 8px;
}

.seguimiento-sucursal-under-map .seguimiento-donut-legend p,
.seguimiento-donut-legend .chart-legend-item {
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  color: #334155 !important;
  font-weight: 700;
}

.seguimiento-sucursal-under-map .seguimiento-donut-legend .chart-legend-dot,
.seguimiento-donut-legend .chart-legend-dot {
  width: 11px !important;
  height: 11px !important;
  min-width: 11px;
  border-radius: 999px;
  border: 1px solid rgba(15, 23, 42, .08);
}

.seguimiento-sucursal-under-map .seguimiento-donut-legend b,
.seguimiento-donut-legend .chart-legend-item b {
  color: #334155 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.seguimiento-sucursal-under-map .seguimiento-donut-legend em,
.seguimiento-donut-legend .chart-legend-value {
  color: #475569 !important;
  font-style: normal;
  font-weight: 700;
}

@media (max-width: 768px) {
  .seguimiento-sucursal-under-map .seguimiento-donut-wrap {
    grid-template-columns: 1fr !important;
    justify-items: center;
    gap: 12px;
  }

  .seguimiento-sucursal-under-map .seguimiento-donut,
  .seguimiento-donut.visitas-sucursal-chart {
    width: 188px;
    height: 188px;
    min-width: 188px;
  }

  .seguimiento-sucursal-under-map .seguimiento-donut::before,
  .seguimiento-donut.visitas-sucursal-chart::before {
    inset: 45px;
  }

  .seguimiento-sucursal-under-map .seguimiento-donut-legend {
    width: 100%;
  }
}

/* Seguimiento: popup legible en Mapa Territorial */
.seguimiento-territorial-map .leaflet-popup-content-wrapper,
.seguimiento-territorial-map .leaflet-popup-tip {
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .22) !important;
  box-shadow: 0 14px 34px rgba(15, 23, 42, .18) !important;
}

.seguimiento-territorial-map .leaflet-popup-content {
  margin: 14px 16px !important;
  color: #1E293B !important;
}

.seguimiento-map-popup {
  display: grid;
  gap: 5px;
  min-width: 220px;
  max-width: 340px;
  color: #1E293B !important;
  line-height: 1.35;
}

.seguimiento-map-popup strong {
  color: #0F172A !important;
  font-weight: 900;
}

.seguimiento-map-popup span,
.seguimiento-map-popup p,
.seguimiento-map-popup small {
  margin: 0;
  color: #475569 !important;
  font-weight: 700;
}

.seguimiento-map-popup small {
  color: #334155 !important;
  font-weight: 800;
}

.seguimiento-map-popup a,
.seguimiento-territorial-map .leaflet-popup-content a {
  color: #005F86 !important;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.seguimiento-territorial-map .leaflet-popup-close-button {
  color: #475569 !important;
  font-weight: 900 !important;
}

/* Desktop sidebar: navegación contextual equivalente a mobile */
@media (min-width: 769px) {
  .mobile-bottom-nav {
    display: none !important;
  }

  .app-sidebar,
  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    background: #005F86 !important;
    color: #FFFFFF !important;
  }

  .sidebar-module-section.contextual .sidebar-section-label,
  .sidebar-module-section.contextual .sidebar-module-list {
    display: grid !important;
  }

  .sidebar-module-section.contextual .sidebar-section-label {
    display: block !important;
  }

  .sidebar-module-list,
  .sidebar-submenu {
    display: grid !important;
    gap: 8px !important;
  }

  .sidebar-submenu {
    margin: 12px 0 0 !important;
    padding: 12px 0 0 8px !important;
    border-left: 1px solid rgba(255, 255, 255, .24) !important;
  }

  .sidebar-submenu-title {
    margin: 0 8px 4px !important;
    color: rgba(255, 255, 255, .88) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
  }

  .sidebar-item,
  .sidebar-nav-item,
  .sidebar-primary-item,
  .sidebar-module-btn,
  .sidebar-submenu-item,
  .install-app-btn.sidebar-nav-item {
    position: relative !important;
    min-height: 48px !important;
    padding: 9px 12px !important;
    border-radius: 14px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .92) !important;
    gap: 10px !important;
    transition:
      background .18s ease,
      color .18s ease,
      box-shadow .18s ease,
      transform .18s ease,
      border-color .18s ease !important;
  }

  .sidebar-submenu-item {
    min-height: 42px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
  }

  .sidebar-icon-wrap {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex: 0 0 34px !important;
    border-radius: 10px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(255, 255, 255, .18) !important;
    color: var(--icon-color, #FFFFFF) !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16);
  }

  @supports (background: color-mix(in srgb, red 20%, white)) {
    .sidebar-icon-wrap {
      background: color-mix(in srgb, var(--icon-color, #FFFFFF) 20%, white) !important;
    }
  }

  .sidebar-item-icon,
  .sidebar-nav-icon,
  .sidebar-icon-wrap .sidebar-item-icon {
    width: 20px !important;
    height: 20px !important;
    flex: 0 0 20px !important;
    color: currentColor !important;
  }

  .sidebar-item-icon svg,
  .sidebar-nav-icon svg,
  .sidebar-icon-wrap svg {
    width: 20px !important;
    height: 20px !important;
    display: block !important;
    fill: currentColor !important;
  }

  .sidebar-item-label,
  .sidebar-item > span:not(.sidebar-icon-wrap),
  .sidebar-nav-item > span:not(.sidebar-icon-wrap),
  .sidebar-module-btn > span:not(.sidebar-icon-wrap),
  .sidebar-submenu-item > span:not(.sidebar-icon-wrap) {
    color: currentColor !important;
    font-weight: 800 !important;
  }

  .sidebar-item:hover,
  .sidebar-nav-item:hover,
  .sidebar-primary-item:hover,
  .sidebar-module-btn:hover,
  .sidebar-submenu-item:hover,
  .install-app-btn.sidebar-nav-item:hover {
    background: rgba(255, 255, 255, .13) !important;
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, .28) !important;
    transform: translateX(2px);
  }

  .sidebar-item.active,
  .sidebar-nav-item.active,
  .sidebar-primary-item.active,
  .sidebar-module-btn.active,
  .sidebar-submenu-item.active,
  .app-sidebar button.active {
    background: #FFFFFF !important;
    color: #005F86 !important;
    border: 1px solid rgba(255, 255, 255, .82) !important;
    transform: none !important;
    box-shadow:
      0 0 0 2px rgba(255, 255, 255, .22),
      0 0 18px rgba(255, 255, 255, .28),
      0 10px 26px rgba(0, 95, 134, .25) !important;
  }

  .sidebar-item.active::before,
  .sidebar-nav-item.active::before,
  .sidebar-primary-item.active::before,
  .sidebar-module-btn.active::before,
  .sidebar-submenu-item.active::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 12px;
    bottom: 12px;
    width: 4px;
    border-radius: 999px;
    background: #FFFFFF;
    box-shadow: 0 0 10px rgba(255, 255, 255, .85);
  }

  .sidebar-submenu-item.active {
    background: rgba(255, 255, 255, .96) !important;
    color: #005F86 !important;
    box-shadow:
      0 0 0 1px rgba(255, 255, 255, .35),
      0 6px 16px rgba(0, 95, 134, .18) !important;
  }

  .sidebar-item.active:hover,
  .sidebar-nav-item.active:hover,
  .sidebar-primary-item.active:hover,
  .sidebar-module-btn.active:hover,
  .sidebar-submenu-item.active:hover {
    background: #FFFFFF !important;
    color: #005F86 !important;
    transform: none !important;
  }

  .sidebar-item.active .sidebar-item-label,
  .sidebar-nav-item.active .sidebar-item-label,
  .sidebar-primary-item.active .sidebar-item-label,
  .sidebar-module-btn.active .sidebar-item-label,
  .sidebar-submenu-item.active .sidebar-item-label,
  .app-sidebar button.active > span:not(.sidebar-icon-wrap) {
    color: #005F86 !important;
    font-weight: 900 !important;
  }

  .sidebar-item.active .sidebar-icon-wrap,
  .sidebar-nav-item.active .sidebar-icon-wrap,
  .sidebar-primary-item.active .sidebar-icon-wrap,
  .sidebar-module-btn.active .sidebar-icon-wrap,
  .sidebar-submenu-item.active .sidebar-icon-wrap {
    color: var(--icon-color, #005F86) !important;
    background: rgba(0, 95, 134, .10) !important;
    box-shadow: 0 0 16px rgba(0, 95, 134, .18) !important;
  }

  @supports (background: color-mix(in srgb, red 20%, white)) {
    .sidebar-item.active .sidebar-icon-wrap,
    .sidebar-nav-item.active .sidebar-icon-wrap,
    .sidebar-primary-item.active .sidebar-icon-wrap,
    .sidebar-module-btn.active .sidebar-icon-wrap,
    .sidebar-submenu-item.active .sidebar-icon-wrap {
      background: color-mix(in srgb, var(--icon-color, #005F86) 22%, white) !important;
      box-shadow: 0 0 16px color-mix(in srgb, var(--icon-color, #005F86) 38%, transparent) !important;
    }
  }

  .sidebar-active-panel {
    background: rgba(255, 255, 255, .16) !important;
    color: #FFFFFF !important;
    border: 1px solid rgba(255, 255, 255, .26) !important;
    border-radius: 14px !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08) !important;
  }

  .sidebar-active-panel-label,
  .sidebar-active-panel-title,
  .sidebar-active-panel-title span {
    color: #FFFFFF !important;
  }

  .sidebar-active-panel-title {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    font-weight: 900 !important;
  }
}

/* Override final: sidebar desktop tipo acordeón, sin panel activo separado */
@media (min-width: 769px) {
  .app-sidebar,
  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    width: 280px !important;
    min-width: 280px !important;
    background: #005F86 !important;
    color: #FFFFFF !important;
  }

  .app-layout {
    grid-template-columns: 280px minmax(0, 1fr) !important;
  }

  #activePanelIndicator,
  .sidebar-active-panel,
  .sidebar-submenu-title {
    display: none !important;
  }

  .sidebar-module-section.contextual .sidebar-section-label,
  .sidebar-module-section.contextual .sidebar-module-list {
    display: grid !important;
  }

  .sidebar-module-btn {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 20px !important;
    min-height: 58px !important;
    border-radius: 16px !important;
  }

  .sidebar-module-btn::after {
    content: "›";
    justify-self: center;
    font-size: 20px;
    font-weight: 900;
    color: currentColor;
  }

  .sidebar-module-btn.active::after {
    content: "▾";
  }

  .sidebar-module-btn.active,
  .sidebar-module-btn.active:hover {
    background: var(--icon-color, #0D9488) !important;
    color: #FFFFFF !important;
    border-color: rgba(255, 255, 255, .55) !important;
    transform: none !important;
    box-shadow:
      0 0 0 2px rgba(255, 255, 255, .12),
      0 0 18px rgba(255, 255, 255, .22),
      0 12px 26px rgba(0, 0, 0, .18) !important;
  }

  .sidebar-module-btn.active .sidebar-item-label,
  .sidebar-module-btn.active > span:not(.sidebar-icon-wrap) {
    color: #FFFFFF !important;
    font-weight: 900 !important;
  }

  .sidebar-module-btn.active .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .22) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 14px rgba(255, 255, 255, .35) !important;
  }

  .sidebar-module-tabs {
    margin: 8px 0 12px 22px !important;
    padding-left: 14px !important;
    border-left: 2px solid rgba(255, 255, 255, .25) !important;
    display: grid !important;
    gap: 6px !important;
  }

  .sidebar-module-tabs.hidden {
    display: none !important;
  }

  .sidebar-tab-btn {
    width: 100% !important;
    min-height: 42px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 8px 10px !important;
    border-radius: 12px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: rgba(255, 255, 255, .82) !important;
    text-align: left !important;
  }

  .sidebar-tab-btn:hover {
    background: rgba(255, 255, 255, .10) !important;
    color: #FFFFFF !important;
  }

  .sidebar-tab-btn.active,
  .sidebar-tab-btn.active:hover {
    background: #FFFFFF !important;
    color: var(--module-color, #005F86) !important;
    border-color: rgba(255, 255, 255, .8) !important;
    box-shadow:
      0 0 0 2px rgba(255, 255, 255, .10),
      0 8px 20px rgba(0, 0, 0, .16) !important;
  }

  .sidebar-tab-icon {
    width: 22px !important;
    height: 22px !important;
    border-radius: 999px;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: rgba(255, 255, 255, .76) !important;
    background: rgba(255, 255, 255, .14) !important;
  }

  .sidebar-tab-icon svg {
    width: 14px !important;
    height: 14px !important;
    fill: currentColor !important;
  }

  .sidebar-tab-btn.active .sidebar-tab-icon {
    background: var(--module-color, #005F86) !important;
    color: #FFFFFF !important;
  }

  .sidebar-tab-label {
    color: currentColor !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.15 !important;
  }

  body.global-shell-active #appShell,
  body.global-shell-active #adminUsersPanel,
  body.global-shell-active #empresaShell,
  body.global-shell-active #infoShell,
  body.global-shell-active #gestionComercialShell,
  body.global-shell-active #gestionGobiernoShell,
  body.global-shell-active #riesgoCrediticioShell {
    width: calc(100% - 280px) !important;
    max-width: calc(100% - 280px) !important;
    margin-left: 280px !important;
    box-sizing: border-box !important;
  }

  body.global-shell-active #appShell.hidden,
  body.global-shell-active #adminUsersPanel.hidden,
  body.global-shell-active #empresaShell.hidden,
  body.global-shell-active #infoShell.hidden,
  body.global-shell-active #gestionComercialShell.hidden,
  body.global-shell-active #gestionGobiernoShell.hidden,
  body.global-shell-active #riesgoCrediticioShell.hidden {
    display: none !important;
  }

  body.global-shell-active #appShell > *,
  body.global-shell-active #adminUsersPanel > *,
  body.global-shell-active #empresaShell > *,
  body.global-shell-active #infoShell > *,
  body.global-shell-active #gestionComercialShell > *,
  body.global-shell-active #gestionGobiernoShell > *,
  body.global-shell-active #riesgoCrediticioShell > * {
    min-width: 0 !important;
  }

  .facultades-reminder-box,
  .facultades-reminder {
    background: #FFFFFF !important;
    color: #1E293B !important;
    border-color: rgba(0, 95, 134, .18) !important;
  }

  .facultades-reminder-box h4,
  .facultades-reminder-box p,
  .facultades-reminder-box strong,
  .facultades-reminder {
    color: #1E293B !important;
    opacity: 1 !important;
    -webkit-text-fill-color: #1E293B !important;
  }

  .facultades-reminder-box h4,
  .facultades-reminder-box strong {
    color: #0F172A !important;
    -webkit-text-fill-color: #0F172A !important;
    font-weight: 900 !important;
  }
}

/* Actas reunion: contraste de minuta */
#reunionMinutaTexto,
.reunion-panel .minutes-section {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  color: #1E293B !important;
  -webkit-text-fill-color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .28) !important;
  border-radius: 14px !important;
  box-shadow: inset 0 0 0 1px rgba(0, 95, 134, .04) !important;
  caret-color: #005F86 !important;
  opacity: 1 !important;
}

#reunionMinutaTexto::placeholder,
.reunion-panel .minutes-section::placeholder {
  color: #94A3B8 !important;
  -webkit-text-fill-color: #94A3B8 !important;
  opacity: 1 !important;
}

#reunionMinutaTexto:focus,
.reunion-panel .minutes-section:focus {
  border-color: #005F86 !important;
  outline: 3px solid rgba(0, 95, 134, .10) !important;
}

.reunion-panel .minutes-output,
.reunion-panel .minutes-title-row {
  background: #FFFFFF !important;
  color: #1E293B !important;
}

.reunion-panel .minutes-title-row label,
.reunion-panel .minutes-title-row strong {
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  opacity: 1 !important;
}

/* Modal global de mensajes del sistema */
.app-modal.hidden {
  display: none !important;
}

.app-modal {
  position: fixed;
  inset: 0;
  z-index: 4000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}

.app-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(15, 23, 42, .35);
}

.app-modal-panel {
  position: relative;
  width: min(460px, calc(100vw - 32px));
  background: #FFFFFF;
  color: #1E293B;
  border: 1px solid rgba(0, 95, 134, .18);
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(15, 23, 42, .22);
  padding: 22px;
}

.app-modal-header h3 {
  margin: 0 0 10px;
  color: #0F172A;
  font-size: 20px;
  font-weight: 900;
}

.app-modal-body p {
  margin: 0;
  color: #334155;
  font-size: 15px;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.app-modal-prompt {
  margin: 14px 0 0;
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .28) !important;
  border-radius: 12px;
}

.app-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

.app-modal-actions .btn-primary,
.app-modal-actions .btn-secondary {
  min-width: 110px;
  border-radius: 10px;
  padding: 10px 18px;
  font-weight: 900;
}

.app-modal-actions .btn-primary {
  background: #005F86 !important;
  color: #FFFFFF !important;
  border: 1px solid #005F86 !important;
}

.app-modal-actions .btn-secondary {
  background: #FFFFFF !important;
  color: #005F86 !important;
  border: 1px solid rgba(0, 95, 134, .30) !important;
}

/* Politica de Credito: modal de reglamentacion */
body.policy-modal-open {
  overflow: hidden !important;
}

.policy-modal.hidden {
  display: none !important;
}

.policy-modal {
  position: fixed;
  inset: 0;
  z-index: 3500;
  background: #F4F8FB;
  display: flex;
  align-items: stretch;
  justify-content: center;
}

.policy-modal-panel {
  width: 100%;
  height: 100dvh;
  background: #FFFFFF;
  color: #1E293B;
  display: flex;
  flex-direction: column;
}

.policy-modal-header {
  flex: 0 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  padding: 22px 28px;
  border-bottom: 1px solid rgba(0, 95, 134, .18);
  background: #FFFFFF;
  box-shadow: 0 6px 18px rgba(15, 23, 42, .06);
}

.policy-modal-eyebrow {
  margin: 0 0 6px;
  color: #005F86;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.policy-modal-header h2 {
  margin: 0;
  color: #0F172A;
  font-size: clamp(22px, 3vw, 34px);
  line-height: 1.15;
}

.policy-modal-content {
  flex: 1 1 auto;
  overflow-y: auto;
  padding: 28px;
  background: #F4F8FB;
}

.policy-modal-section {
  max-width: 1100px;
  margin: 0 auto 18px;
  padding: 22px;
  background: #FFFFFF;
  border: 1px solid rgba(0, 95, 134, .18);
  border-radius: 16px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06);
}

.policy-modal-section h3 {
  margin: 0 0 12px;
  color: #005F86;
  font-size: 18px;
  font-weight: 900;
}

.policy-modal-section-content {
  color: #1E293B;
  font-size: 16px;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.policy-view-btn {
  margin-top: 12px;
  width: auto;
}

.policy-selected-summary {
  display: grid;
  gap: 6px;
  padding: 14px;
  background: #F8FBFD !important;
  color: #1E293B !important;
  border: 1px dashed rgba(0, 95, 134, .20);
  border-radius: 14px;
}

.policy-selected-summary strong {
  color: #0F172A !important;
  font-weight: 900;
}

.policy-selected-summary span {
  color: #64748B !important;
  font-weight: 700;
}

@media (max-width: 768px) {
  .policy-modal-header {
    padding: 16px;
    flex-direction: column;
  }

  .policy-modal-header .btn-secondary {
    width: 100%;
  }

  .policy-modal-content {
    padding: 14px;
  }

  .policy-modal-section {
    padding: 16px;
    border-radius: 14px;
  }

  .policy-modal-section-content {
    font-size: 15px;
    line-height: 1.55;
  }

  .policy-view-btn {
    width: 100%;
  }
}

/* Visitas a Sucursales: catálogo de controles como lista compacta */
#controlCatalogList.catalog-list {
  width: 100% !important;
  max-width: 100% !important;
  max-height: 320px !important;
  margin-top: 12px !important;
  padding: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border: 1px solid #D7E3EE !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
}

#controlCatalogList .controls-catalog-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

#controlCatalogList .control-catalog-row {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 22px !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #E2E8F0 !important;
  border-radius: 0 !important;
  background: #FFFFFF !important;
  color: #0F172A !important;
  box-shadow: none !important;
  text-align: left !important;
  transform: none !important;
}

#controlCatalogList .control-catalog-row:last-child {
  border-bottom: 0 !important;
}

#controlCatalogList .control-catalog-row:hover {
  background: #F4F8FB !important;
  color: #0F172A !important;
  border-bottom-color: #C7DDEA !important;
  box-shadow: inset 3px 0 0 #005F86 !important;
  transform: none !important;
}

#controlCatalogList .control-catalog-name {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  color: #0F172A !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

#controlCatalogList .control-catalog-chevron {
  justify-self: end !important;
  color: #005F86 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
}

@media (max-width: 768px) {
  #controlCatalogList.catalog-list {
    max-height: 280px !important;
    border-radius: 12px !important;
  }

  #controlCatalogList .control-catalog-row {
    min-height: 42px !important;
    padding: 9px 12px !important;
  }

  #controlCatalogList .control-catalog-name {
    font-size: 13px !important;
  }
}

@media (max-width:390px){
  #appShell .visits-header-grid{
    gap:5px!important;
  }

  #appShell .visits-title-card,
  #appShell .visits-kpi-card{
    min-height:46px!important;
    padding:6px 7px!important;
  }

  #appShell .visits-title-card h1{
    font-size:17px!important;
  }

  #appShell .visits-kpi-value{
    font-size:16px!important;
  }

  #appShell .status-strip span{
    font-size:8.5px!important;
    padding:2px 5px!important;
  }
}

@media (min-width: 769px) {
  .nav-sidebar,
  .app-sidebar,
  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    background-color: #0d1b2a !important;
    color: #e0e1dd !important;
    height: 100vh !important;
    min-height: 100vh !important;
    display: flex !important;
    flex-direction: column !important;
    padding: 15px 0 !important;
    box-shadow: 2px 0 10px rgba(0,0,0,0.3) !important;
    overflow-y: auto !important;
  }

  .nav-section-title,
  .sidebar-section-title,
  .sidebar-section-label {
    display: block !important;
    padding: 20px 20px 10px !important;
    margin: 0 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    color: #778da9 !important;
  font-weight: 900 !important;
}

/* Facultades: recordatorio claro y legible en mobile y desktop */
.facultades-reminder-box,
.facultades-reminder {
  background: #FFFFFF !important;
  color: #1E293B !important;
  border: 1px solid rgba(0, 95, 134, .18) !important;
  box-shadow: 0 8px 20px rgba(15, 23, 42, .06) !important;
}

.facultades-reminder-box h4,
.facultades-reminder-box p,
.facultades-reminder-box strong,
.facultades-reminder {
  color: #1E293B !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #1E293B !important;
}

.facultades-reminder-box h4,
.facultades-reminder-box strong {
  color: #0F172A !important;
  -webkit-text-fill-color: #0F172A !important;
  font-weight: 900 !important;
}

  .sidebar-module-section,
  .nav-module-group,
  .sidebar-module-group {
    display: flex !important;
    flex-direction: column !important;
  }

  .sidebar-module-list {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  .nav-item,
  .sidebar-item,
  .sidebar-primary-item,
  .sidebar-module-btn {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 46px !important;
    padding: 12px 20px !important;
    color: #e0e1dd !important;
    text-decoration: none !important;
    transition: background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease !important;
    border-left: 4px solid transparent !important;
    border-top: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
    font-weight: 700 !important;
    text-align: left !important;
    transform: none !important;
    gap: 0 !important;
  }

  .nav-item:hover,
  .sidebar-item:hover,
  .sidebar-primary-item:hover,
  .sidebar-module-btn:hover {
    background-color: rgba(255,255,255,0.05) !important;
    color: #ffffff !important;
    transform: none !important;
  }

  .nav-item.active,
  .sidebar-item.active,
  .sidebar-primary-item.active,
  .sidebar-module-btn.active,
  .app-sidebar button.active {
    background-color: #1b263b !important;
    color: #ffffff !important;
    border-left-color: #415a77 !important;
    box-shadow: inset 4px 0 0 #778da9, 0 0 14px rgba(65,90,119,0.45) !important;
  }

  .nav-item.active::before,
  .sidebar-item.active::before,
  .sidebar-primary-item.active::before,
  .sidebar-module-btn.active::before {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 8px !important;
    bottom: 8px !important;
    width: 4px !important;
    border-radius: 0 999px 999px 0 !important;
    background: #778da9 !important;
    box-shadow: 0 0 10px rgba(119,141,169,0.75) !important;
  }

  .nav-item svg,
  .sidebar-primary-item svg,
  .sidebar-module-btn svg {
    width: 20px !important;
    height: 20px !important;
    opacity: .9 !important;
    flex: 0 0 20px !important;
    fill: currentColor !important;
  }

  .nav-item.active svg,
  .sidebar-primary-item.active svg,
  .sidebar-module-btn.active svg {
    opacity: 1 !important;
  }

  .nav-item-icon,
  .sidebar-item-icon,
  .sidebar-icon-wrap,
  .sidebar-nav-icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex: 0 0 24px !important;
    margin-right: 12px !important;
    border-radius: 8px !important;
    background: rgba(255,255,255,0.08) !important;
    color: var(--item-color, var(--icon-color, currentColor)) !important;
    box-shadow: none !important;
  }

  .nav-item.active .nav-item-icon,
  .sidebar-primary-item.active .sidebar-icon-wrap,
  .sidebar-module-btn.active .sidebar-icon-wrap,
  .sidebar-item.active .sidebar-icon-wrap {
    background: rgba(255,255,255,0.12) !important;
    color: var(--item-color, var(--icon-color, #ffffff)) !important;
    box-shadow: 0 0 12px rgba(119,141,169,0.45) !important;
  }

  .nav-item-label,
  .sidebar-item-label,
  .sidebar-panel-label {
    color: currentColor !important;
    line-height: 1.18 !important;
    font-weight: 800 !important;
    font-size: 13.5px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  .sidebar-module-btn::after {
    content: ">" !important;
    margin-left: auto !important;
    color: currentColor !important;
    opacity: .9 !important;
    font-weight: 900 !important;
  }

  .sidebar-module-btn.active::after {
    content: "v" !important;
  }

  .nav-submenu,
  .sidebar-module-tabs {
    display: flex !important;
    flex-direction: column !important;
    margin: 4px 0 8px 0 !important;
    padding: 0 0 0 18px !important;
    border-left: 1px solid rgba(119,141,169,0.35) !important;
    background: transparent !important;
    gap: 0 !important;
  }

  .sidebar-module-tabs.hidden {
    display: none !important;
  }

  .nav-subitem,
  .sidebar-tab-btn,
  .sidebar-submenu-item {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 9px 18px 9px 26px !important;
    color: #cbd5e1 !important;
    background: transparent !important;
    border: none !important;
    border-left: 4px solid transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    cursor: pointer !important;
    font-size: .88rem !important;
    font-weight: 650 !important;
    text-align: left !important;
    transition: background .2s ease, color .2s ease, box-shadow .2s ease !important;
    transform: none !important;
  }

  .nav-subitem:hover,
  .sidebar-tab-btn:hover,
  .sidebar-submenu-item:hover {
    background-color: rgba(255,255,255,0.05) !important;
    color: #ffffff !important;
    transform: none !important;
  }

  .nav-subitem.active,
  .sidebar-tab-btn.active,
  .sidebar-submenu-item.active {
    background-color: #1b263b !important;
    color: #ffffff !important;
    border-left-color: #778da9 !important;
    font-weight: 800 !important;
    box-shadow: inset 4px 0 0 #778da9, 0 0 10px rgba(119,141,169,0.28) !important;
  }

  .sidebar-tab-icon,
  .sidebar-tab-dot {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    flex: 0 0 18px !important;
    margin-right: 10px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,0.08) !important;
    color: var(--tab-color, #cbd5e1) !important;
  }

  .sidebar-tab-icon svg {
    width: 15px !important;
    height: 15px !important;
    fill: currentColor !important;
    opacity: .8 !important;
  }

  .sidebar-tab-btn.active .sidebar-tab-icon,
  .sidebar-submenu-item.active .sidebar-tab-icon {
    color: var(--tab-color, #ffffff) !important;
    background: rgba(255,255,255,0.13) !important;
  }

  .sidebar-tab-btn.active .sidebar-tab-icon svg {
    opacity: 1 !important;
  }

  .sidebar-tab-label {
    color: currentColor !important;
    font-size: 13px !important;
    font-weight: inherit !important;
    line-height: 1.2 !important;
  }

  .sidebar-active-panel,
  .sidebar-active-module-card,
  .panel-active-card,
  .sidebar-standalone-tabs,
  .sidebar-tabs-section {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .mobile-header .mobile-header-title {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    opacity: 1 !important;
    font-weight: 900 !important;
    text-shadow: 0 1px 2px rgba(0, 39, 56, .24) !important;
  }

  #empresaShell > .empresa-module-heading,
  #empresaShell > .back-menu-bar,
  #empresaShell > #empresaTabsBar {
    display: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head > div:first-child {
    display: none !important;
  }

  #empresaShell .tab-panel > .card > .main-menu-head > button {
    margin-left: auto !important;
  }

  #empresaNuevo > .card {
    padding-top: 8px !important;
  }
}


@media (min-width: 769px) {
  .app-sidebar .sidebar-primary-item.active,
  .app-sidebar .sidebar-primary-item.active:hover,
  .app-sidebar .sidebar-nav-item.sidebar-primary-item.active {
    background: linear-gradient(135deg, #005F86 0%, #0EA5E9 100%) !important;
    color: #FFFFFF !important;
    border-left: 4px solid #BAE6FD !important;
    border-top: 1px solid rgba(255, 255, 255, .34) !important;
    border-right: 1px solid rgba(255, 255, 255, .18) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .22) !important;
    box-shadow:
      inset 5px 0 0 #BAE6FD,
      0 0 0 1px rgba(186, 230, 253, .24),
      0 10px 24px rgba(14, 165, 233, .28) !important;
  }

  .app-sidebar .sidebar-primary-item.active .sidebar-item-label,
  .app-sidebar .sidebar-primary-item.active > span:not(.sidebar-icon-wrap) {
    color: #FFFFFF !important;
    -webkit-text-fill-color: #FFFFFF !important;
    font-weight: 900 !important;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(2, 6, 23, .30) !important;
  }

  .app-sidebar .sidebar-primary-item.active .sidebar-icon-wrap {
    background: rgba(255, 255, 255, .24) !important;
    color: #FFFFFF !important;
    box-shadow: 0 0 16px rgba(255, 255, 255, .30) !important;
  }
}

.desktop-sidebar-toggle {
  display: none;
}

/* Override final real: desktop drawer after all sidebar rules. */
@media (min-width: 769px) {
  body.global-shell-active .desktop-sidebar-toggle {
    position: fixed !important;
    top: 12px !important;
    left: 14px !important;
    z-index: 15050 !important;
    width: 42px !important;
    height: 42px !important;
    display: inline-flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 5px !important;
    padding: 0 !important;
    border: 1px solid rgba(0, 95, 134, .30) !important;
    border-radius: 12px !important;
    background: #FFFFFF !important;
    color: #005F86 !important;
    box-shadow: 0 10px 26px rgba(15, 23, 42, .18) !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    transition: left .22s ease, background .18s ease, color .18s ease, box-shadow .18s ease !important;
  }

  body.global-shell-active .desktop-sidebar-toggle:hover,
  body.global-shell-active .desktop-sidebar-toggle:focus-visible {
    background: #EAF7FC !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, .24) !important;
    outline: none !important;
  }

  body.global-shell-active .desktop-sidebar-toggle span {
    width: 20px !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    transition: transform .2s ease, opacity .2s ease !important;
  }

  body.global-shell-active.desktop-sidebar-open .desktop-sidebar-toggle {
    left: 292px !important;
  }

  body.global-shell-active.desktop-sidebar-open .desktop-sidebar-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg) !important;
  }

  body.global-shell-active.desktop-sidebar-open .desktop-sidebar-toggle span:nth-child(2) {
    opacity: 0 !important;
  }

  body.global-shell-active.desktop-sidebar-open .desktop-sidebar-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg) !important;
  }

  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    background: #064F68 !important;
    background-color: #064F68 !important;
    color: #FFFFFF !important;
    transform: translateX(-100%) !important;
    transition: transform .22s ease, box-shadow .22s ease !important;
    will-change: transform;
    pointer-events: none !important;
  }

  body.global-shell-active.desktop-sidebar-open .main-menu.shell-sidebar-only .app-sidebar {
    transform: translateX(0) !important;
    box-shadow: 14px 0 32px rgba(15, 23, 42, .24) !important;
    pointer-events: auto !important;
  }

  body.global-shell-active .main-menu.shell-sidebar-only {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    pointer-events: none !important;
  }

  body.global-shell-active.desktop-sidebar-open .main-menu.shell-sidebar-only {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
  }

  body.global-shell-active .main-menu.shell-sidebar-only .app-layout {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    background: transparent !important;
    overflow: visible !important;
  }

  body.global-shell-active.desktop-sidebar-open .main-menu.shell-sidebar-only .app-layout {
    width: 280px !important;
    min-width: 280px !important;
    max-width: 280px !important;
  }

  body.global-shell-active #appShell,
  body.global-shell-active #adminUsersPanel,
  body.global-shell-active #empresaShell,
  body.global-shell-active #infoShell,
  body.global-shell-active #gestionComercialShell,
  body.global-shell-active #gestionGobiernoShell,
  body.global-shell-active #controlPresupuestarioShell,
  body.global-shell-active #gestionArchivoShell,
  body.global-shell-active #riesgoCrediticioShell {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
  }

  body.global-shell-active.desktop-sidebar-open #appShell,
  body.global-shell-active.desktop-sidebar-open #adminUsersPanel,
  body.global-shell-active.desktop-sidebar-open #empresaShell,
  body.global-shell-active.desktop-sidebar-open #infoShell,
  body.global-shell-active.desktop-sidebar-open #gestionComercialShell,
  body.global-shell-active.desktop-sidebar-open #gestionGobiernoShell,
  body.global-shell-active.desktop-sidebar-open #controlPresupuestarioShell,
  body.global-shell-active.desktop-sidebar-open #gestionArchivoShell,
  body.global-shell-active.desktop-sidebar-open #riesgoCrediticioShell {
    width: calc(100% - 280px) !important;
    max-width: calc(100% - 280px) !important;
    margin-left: 280px !important;
  }
}

/* Color unificado de la barra lateral desktop en inicio y módulos. */
@media (min-width: 769px) {
  .app-sidebar,
  body.global-shell-active .main-menu.shell-sidebar-only .app-sidebar {
    background: #064F68 !important;
    background-color: #064F68 !important;
    color: #FFFFFF !important;
  }
}

.client-expiration-access-panel {
  display: grid;
  gap: 12px;
}

.client-expiration-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.client-expiration-btn span {
  min-width: 28px;
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, .78);
  font-weight: 900;
}

.client-expiration-btn.expired {
  border-color: #FCA5A5;
  background: #FEF2F2;
  color: #991B1B;
}

.client-expiration-btn.upcoming {
  border-color: #FDE68A;
  background: #FFFBEB;
  color: #78350F;
}

.client-expiration-detail {
  display: grid;
  gap: 12px;
  border: 1px solid #D7E3EE;
  border-radius: 16px;
  background: #F8FBFD;
  padding: 14px;
}

.client-expiration-detail.hidden {
  display: none !important;
}

.client-expiration-detail-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.client-expiration-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.client-expiration-detail-head h3 {
  margin: 0 0 4px;
  color: #0F172A;
}

.client-expiration-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.client-expiration-table th {
  background: #EAF3F7;
  color: #005F86;
  font-weight: 900;
}

.client-expiration-table th,
.client-expiration-table td {
  border: 1px solid #D7E3EE;
  padding: 9px 10px;
  text-align: left;
  vertical-align: middle;
}

.client-expiration-status {
  display: inline-flex;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.client-expiration-status.expired {
  background: #FEE2E2;
  color: #991B1B;
}

.client-expiration-status.upcoming {
  background: #FEF3C7;
  color: #78350F;
}

@media (max-width: 768px) {
  .client-expiration-access-panel .main-menu-head {
    align-items: stretch;
  }

  .client-expiration-access-panel .toolbar,
  .client-expiration-detail-head,
  .client-expiration-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .client-expiration-btn,
  .client-expiration-detail-head button {
    width: 100%;
    justify-content: center;
    min-height: 44px;
  }

  .client-expiration-table-wrap {
    max-height: 55vh;
  }
}

@media (max-width: 768px) {
  .desktop-sidebar-toggle {
    display: none !important;
  }
}

/* Sidebar desktop: quita la marca superior y sube las secciones de navegación. */
@media (min-width: 769px) {
  .app-sidebar > .brand {
    display: none !important;
  }

  .app-sidebar .sidebar-nav {
    padding-top: 4px !important;
    font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    text-rendering: geometricPrecision;
  }

  .app-sidebar .sidebar-section-title.sidebar-primary-title {
    display: none !important;
  }

  .app-sidebar .sidebar-section-label {
    margin-top: 0 !important;
    letter-spacing: .08em !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    color: rgba(226, 246, 255, .70) !important;
  }

  .app-sidebar .sidebar-module-section {
    margin-top: 10px !important;
    padding-top: 12px !important;
  }

  .app-sidebar .sidebar-item-label,
  .app-sidebar .sidebar-tab-label,
  .app-sidebar .nav-item-label,
  .app-sidebar button > span:not(.sidebar-icon-wrap):not(.sidebar-tab-icon):not(.sidebar-tab-dot) {
    font-weight: 700 !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
  }

  .app-sidebar .sidebar-item,
  .app-sidebar .sidebar-module-btn,
  .app-sidebar .sidebar-primary-item {
    margin-bottom: 6px !important;
  }
}

.gobierno-creatable-field {
  align-content: start;
}

.gobierno-creatable-input {
  margin-top: 8px !important;
}
