:root{--navy: #001B2A;--navy-2: #062A3D;--green: #16A34A;--green-bg: #0f2e1c;--blue-info: #2563EB;--blue-info-bg: #0f2140;--state-critico: #DC2626;--state-critico-bg: #3a1414;--state-atencion: #F59E0B;--state-atencion-bg: #3a2a0f;--state-positivo: #16A34A;--state-positivo-bg: #0f2e1c;--state-neutro: #6B7280;--state-neutro-bg: #262b31;--quality-certified: #16A34A;--quality-certified-bg: #0f2e1c;--quality-observed: #2563EB;--quality-observed-bg: #0f2140;--quality-provisional: #F59E0B;--quality-provisional-bg: #3a2a0f;--quality-human-input: #DC2626;--quality-human-input-bg: #3a1414;--quality-not-ready: #7C3AED;--quality-not-ready-bg: #241a3a;--quality-missing: #6B7280;--quality-missing-bg: #262b31;--quality-unknown: #374151;--quality-unknown-bg: #1c2127;--bg: #0a1420;--bg-panel: #0f1e2c;--bg-panel-2: #16283a;--border: #22384a;--text: #eef3f7;--text-dim: #93a7b8;color-scheme:dark;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, Roboto, Helvetica, Arial, sans-serif;--h1-size: 32px;--h1-lh: 40px;--h1-weight: 700;--h2-size: 24px;--h2-lh: 32px;--h2-weight: 700;--h3-size: 20px;--h3-lh: 28px;--h3-weight: 600;--h4-size: 16px;--h4-lh: 24px;--h4-weight: 600;--body-size: 14px;--body-lh: 20px;--body-weight: 400;--small-size: 12px;--small-lh: 16px;--caption-size: 11px;--caption-lh: 16px;--label-size: 12px;--label-weight: 500;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--sidebar-width: 240px;--header-height: 64px;--content-max-width: 1280px;--radius: 8px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-family);font-size:var(--body-size);line-height:var(--body-lh);font-variant-numeric:tabular-nums}a{color:var(--blue-info)}h1{font-size:var(--h1-size);line-height:var(--h1-lh);font-weight:var(--h1-weight);margin:0}h2{font-size:var(--h2-size);line-height:var(--h2-lh);font-weight:var(--h2-weight);margin:0 0 var(--space-1)}h3{font-size:var(--h3-size);line-height:var(--h3-lh);font-weight:var(--h3-weight);margin:0 0 var(--space-3)}h4{font-size:var(--h4-size);line-height:var(--h4-lh);font-weight:var(--h4-weight);margin:0 0 var(--space-2)}.text-small{font-size:var(--small-size);line-height:var(--small-lh)}.text-caption{font-size:var(--caption-size);line-height:var(--caption-lh);color:var(--text-dim)}.text-label{font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.subtitle{color:var(--text-dim);margin:0 0 var(--space-5);font-size:var(--body-size)}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--navy);border-right:1px solid var(--border);padding:var(--space-5) var(--space-3);position:sticky;top:0;height:100vh;overflow-y:auto;display:flex;flex-direction:column}.sidebar-brand{font-size:var(--h4-size);font-weight:var(--h4-weight);margin:0 var(--space-2) var(--space-6);color:var(--text)}.sidebar-brand small{display:block;font-size:var(--caption-size);color:var(--text-dim);font-weight:400;margin-top:2px}.nav-link{display:block;padding:var(--space-3) var(--space-3);border-radius:var(--radius);color:var(--text-dim);text-decoration:none;font-weight:500;margin-bottom:var(--space-1)}.nav-link:hover{background:var(--navy-2);color:var(--text)}.nav-link.active{background:var(--green);color:#fff}.sidebar-footer{border-top:1px solid var(--border);padding-top:var(--space-3);margin-top:var(--space-3)}.header{height:var(--header-height);border-bottom:1px solid var(--border);background:var(--bg-panel);display:flex;align-items:center;gap:var(--space-4);padding:0 var(--space-5);position:sticky;top:0;z-index:5}.header-search{flex:1;max-width:480px;position:relative}.header-meta{display:flex;align-items:center;gap:var(--space-4);margin-left:auto}.header-user{display:flex;align-items:center;gap:var(--space-2)}.body-shell{flex:1;display:flex;flex-direction:column;min-width:0}.main{flex:1;padding:var(--space-5) var(--space-6) var(--space-8)}.main.constrained{max-width:var(--content-max-width)}.data-health-chip{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--caption-size);color:var(--text-dim);padding:2px var(--space-2);border-radius:var(--radius);border:1px solid var(--border)}.data-health-dot{width:8px;height:8px;border-radius:50%;background:var(--quality-certified)}.data-health-dot.warn{background:var(--quality-provisional)}.data-health-dot.bad{background:var(--quality-human-input)}.grid{display:grid;gap:var(--space-4)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-6{grid-template-columns:repeat(6,1fr)}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-4) var(--space-5)}.section{margin-bottom:var(--space-6)}.kpi-card{display:flex;flex-direction:column;gap:var(--space-1)}.kpi-title{font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.kpi-value{font-size:var(--h2-size);font-weight:var(--h2-weight);line-height:var(--h2-lh)}.kpi-card-link{text-decoration:none;color:inherit;cursor:pointer;transition:border-color .12s ease,background .12s ease}.kpi-card-link:hover{border-color:var(--blue-info);background:var(--bg-panel-2)}.kpi-card-link:focus-visible{outline:2px solid var(--blue-info);outline-offset:2px}.kpi-drilldown{font-size:var(--caption-size);color:var(--blue-info);font-weight:600}.action-card-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.action-card{display:flex;flex-direction:column;gap:var(--space-1);text-align:left;color:var(--text);width:100%}.action-card:hover{filter:none;background:var(--bg-panel-2)}.action-card:focus-visible{outline:2px solid var(--blue-info);outline-offset:2px}.action-card-active{border-color:var(--blue-info);box-shadow:inset 0 0 0 1px var(--blue-info)}.action-card .card-label{font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.action-card .card-note{font-size:var(--small-size);color:var(--text-dim)}.business-question-clear{font-size:var(--small-size);color:var(--text-dim);background:none;border:1px solid var(--border);border-radius:var(--radius);padding:2px 10px;cursor:pointer}.business-question-clear:hover{background:var(--bg-panel-2)}.business-question-clear:focus-visible{outline:2px solid var(--blue-info);outline-offset:2px}.business-question-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.business-question-title{font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.kpi-explain{font-size:var(--small-size);color:var(--text-dim)}.kpi-footer{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-2)}.kpi-timestamp{font-size:var(--caption-size);color:var(--text-dim)}.badge{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-size:var(--small-size);font-weight:600;white-space:nowrap}.status-badge.status-critico{background:var(--state-critico-bg);color:var(--state-critico)}.status-badge.status-atencion{background:var(--state-atencion-bg);color:var(--state-atencion)}.status-badge.status-normal{background:var(--state-neutro-bg);color:var(--text)}.status-badge.status-positivo{background:var(--state-positivo-bg);color:var(--state-positivo)}.status-badge.status-informacion{background:var(--blue-info-bg);color:var(--blue-info)}.quality-badge.quality-certified{background:var(--quality-certified-bg);color:var(--quality-certified)}.quality-badge.quality-observed{background:var(--quality-observed-bg);color:var(--quality-observed)}.quality-badge.quality-provisional{background:var(--quality-provisional-bg);color:var(--quality-provisional)}.quality-badge.quality-human_input_required{background:var(--quality-human-input-bg);color:var(--quality-human-input)}.quality-badge.quality-not_ready{background:var(--quality-not-ready-bg);color:var(--quality-not-ready)}.quality-badge.quality-missing{background:var(--quality-missing-bg);color:var(--quality-missing)}.quality-badge.quality-unknown{background:var(--quality-unknown-bg);color:var(--quality-unknown)}.table-wrap{overflow:auto;max-height:calc(100vh - var(--header-height) - 220px);border:1px solid var(--border);border-radius:var(--radius)}table{width:100%;border-collapse:collapse;font-size:var(--body-size);background:var(--bg-panel)}th,td{text-align:left;padding:var(--space-3) var(--space-3);border-bottom:1px solid var(--border)}th{color:var(--text-dim);font-weight:600;font-size:var(--caption-size);text-transform:uppercase;letter-spacing:.03em;position:sticky;top:0;z-index:2;background:var(--bg-panel);white-space:nowrap;box-shadow:0 1px 0 var(--border)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text)}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}tr.clickable-row{cursor:pointer}tr.clickable-row:hover td{background:var(--bg-panel-2)}th.col-narrow,td.col-narrow{width:90px}th.col-medium,td.col-medium{width:160px}th.col-wide,td.col-wide{min-width:320px;max-width:480px}.cell-clamp{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:normal;line-height:1.35}button,.btn{font:inherit;cursor:pointer;border:none;border-radius:var(--radius);padding:var(--space-3) var(--space-4);font-weight:600;background:var(--green);color:#fff}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed;filter:none}button.secondary,.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}button.ghost,.btn.ghost{background:transparent;color:var(--text-dim);padding:var(--space-2) var(--space-3)}button.danger,.btn.danger{background:var(--state-critico);color:#fff}.link-button{background:transparent;border:none;padding:0;color:var(--blue-info);font-size:var(--small-size);text-decoration:underline;font-weight:400}.tech-detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-1) var(--space-3);font-size:var(--small-size);color:var(--text-dim)}.tech-detail-grid dt{font-weight:600;color:var(--text)}.tech-detail-grid dd{margin:0;word-break:break-word}.tab-bar{display:flex;gap:var(--space-2);flex-wrap:wrap;margin:var(--space-3) 0}.tab{background:transparent;color:var(--text-dim);border:1px solid var(--border);padding:var(--space-2) var(--space-3);font-weight:600}.tab.active{background:var(--green);color:#fff;border-color:var(--green)}input,select,textarea{font:inherit;background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);padding:var(--space-3) var(--space-3);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue-info);outline-offset:1px}input.invalid,select.invalid,textarea.invalid{border-color:var(--state-critico)}label{display:block;font-size:var(--label-size);font-weight:var(--label-weight);color:var(--text-dim);margin-bottom:var(--space-1)}.field{margin-bottom:var(--space-4)}.field-error{color:var(--state-critico);font-size:var(--small-size);margin-top:var(--space-1)}.field-hint{color:var(--text-dim);font-size:var(--small-size);margin-top:var(--space-1)}.form-layout{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-6);align-items:start}.form-footer{display:flex;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.write-contract-missing{background:var(--quality-provisional-bg);border:1px solid var(--state-atencion);color:var(--state-atencion);padding:var(--space-4);border-radius:var(--radius);margin-bottom:var(--space-5);font-size:var(--small-size)}.entity-autocomplete{position:relative}.entity-autocomplete-selected{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--bg-panel-2);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-2) var(--space-3)}.entity-autocomplete-chip{min-width:0}.entity-autocomplete-hint{padding:var(--space-2) 0}.entity-autocomplete-list{position:absolute;z-index:20;top:calc(100% + 2px);left:0;right:0;max-height:260px;overflow-y:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 8px 24px #0006;list-style:none;margin:0;padding:var(--space-1) 0}.entity-autocomplete-list li{padding:var(--space-2) var(--space-3);cursor:pointer;display:flex;align-items:baseline;gap:var(--space-2)}.entity-autocomplete-list li.highlighted,.entity-autocomplete-list li:hover{background:var(--bg-panel-2)}.entity-autocomplete-type{color:var(--text-dim);min-width:64px}.filter-bar{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-bottom:var(--space-4);align-items:end}.filter-bar .field{margin-bottom:0;min-width:180px}.pagination{display:flex;align-items:center;gap:var(--space-3);justify-content:flex-end;margin-top:var(--space-4);font-size:var(--small-size);color:var(--text-dim)}.state-panel{padding:var(--space-6);text-align:center;border-radius:var(--radius);border:1px dashed var(--border);color:var(--text-dim)}.state-panel.error-panel{background:var(--quality-human-input-bg);border:1px solid var(--state-critico);color:var(--state-critico);text-align:left}.loading-panel{color:var(--text-dim);padding:var(--space-6);text-align:center}.attention-list{display:flex;flex-direction:column;gap:var(--space-2)}.attention-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-radius:var(--radius);background:var(--bg-panel-2);border-left:4px solid var(--state-atencion)}.attention-item.critico{border-left-color:var(--state-critico)}.text-critico{color:var(--state-critico);font-weight:600}.card-highlight{border-left:4px solid var(--state-atencion)}.record-history{display:flex;flex-direction:column;gap:var(--space-2)}.record-history-item{border-left:2px solid var(--border);padding-left:var(--space-3);font-size:var(--small-size)}.record-history-item .field-name{color:var(--text);font-weight:600}@media (max-width: 1279px){.grid-6{grid-template-columns:repeat(3,1fr)}}@media (max-width: 1023px){.grid-3{grid-template-columns:repeat(2,1fr)}.form-layout{grid-template-columns:1fr}}@media (max-width: 767px){.grid-2,.grid-3,.grid-6{grid-template-columns:1fr}.app-shell{flex-direction:column}.sidebar{width:100%;height:auto;position:static}.main{padding:var(--space-4)}.header{flex-wrap:wrap;height:auto;padding:var(--space-3)}.header-search{max-width:none;width:100%;order:3}}
