:root{
  --mtc:#EB1E23; --mtc-dark:#B91218; --mtc-deep:#8D0D12; --mtc-soft:#FFF0F1;
  --gray:#58595B; --text:#1C2434; --muted:#697386; --line:#E4E7EC; --bg:#F5F6F8;
  --panel:#FFFFFF; --green:#178A55; --green-soft:#EAF7F1; --amber:#B86604; --amber-soft:#FFF6E7;
  --blue:#2866B1; --blue-soft:#EDF4FD; --danger:#C9292E; --shadow:0 10px 30px rgba(16,24,40,.06);
  --radius:16px; --sidebar:268px;
}
*{box-sizing:border-box} html,body{height:100%} body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--text)}
button,input,select,textarea{font:inherit} button{cursor:pointer} a{color:inherit}
.app-shell{min-height:100vh;display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr)}
.sidebar{position:sticky;top:0;height:100vh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow:hidden;z-index:30}
.brand{padding:22px 20px 12px;display:flex;align-items:center;gap:12px}.brand-mark{width:48px;height:48px;border-radius:12px;background:var(--mtc);display:grid;place-items:center;box-shadow:0 8px 18px rgba(235,30,35,.24)}.brand-mark span{color:#fff;font-size:24px;font-weight:900}.brand-copy strong{display:block;font-size:22px;line-height:1}.brand-copy small{display:block;color:var(--muted);font-size:11px;line-height:1.35;margin-top:5px}
.institution-pill{margin:2px 18px 12px;padding:8px 10px;border:1px solid #F1D9DA;border-radius:999px;color:#7F3033;background:#FFF9F9;font-size:11px;font-weight:700;display:flex;align-items:center;gap:7px}.institution-pill span{width:7px;height:7px;border-radius:50%;background:var(--mtc)}
#nav{padding:0 12px 18px;overflow:auto;flex:1}.nav-group{margin:12px 0 15px}.nav-title{font-size:10px;letter-spacing:.12em;color:#98A0AE;font-weight:800;padding:0 10px 7px}.nav-item{width:100%;border:0;background:transparent;border-radius:11px;padding:10px 12px;display:flex;align-items:center;gap:11px;color:#3D4654;text-align:left;margin:2px 0;font-weight:650}.nav-item:hover{background:#F8F9FB}.nav-item.active{background:var(--mtc-soft);color:var(--mtc-dark);box-shadow:inset 3px 0 var(--mtc)}.nav-icon{width:22px;text-align:center;font-size:16px}.nav-badge{margin-left:auto;font-size:10px;background:#F0F2F5;color:#667085;border-radius:999px;padding:3px 7px}.nav-item.active .nav-badge{background:#fff;color:var(--mtc-dark)}
.sidebar-footer{border-top:1px solid var(--line);padding:14px 16px;display:flex;gap:10px;align-items:center}.sidebar-footer .mtc-mini{width:36px;height:36px;border-radius:8px;background:var(--mtc);color:#fff;font-weight:900;display:grid;place-items:center}.sidebar-footer b{font-size:12px}.sidebar-footer small{display:block;color:var(--muted);font-size:10px;margin-top:2px}
.workspace{min-width:0}.topbar{height:72px;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:18px;padding:0 24px;position:sticky;top:0;z-index:25}.search-wrap{position:relative;flex:1;max-width:760px}.search-wrap>span{position:absolute;left:14px;top:11px;color:#7D8795}.search-wrap input{width:100%;height:44px;border:1px solid #D8DDE5;border-radius:12px;background:#FAFBFC;padding:0 16px 0 38px;outline:none}.search-wrap input:focus{border-color:var(--mtc);box-shadow:0 0 0 3px rgba(235,30,35,.09);background:white}.top-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.top-actions select{max-width:265px;height:40px;border:1px solid var(--line);border-radius:10px;background:#fff;padding:0 30px 0 11px;color:#4C5564}.icon-btn{border:1px solid var(--line);background:#fff;width:40px;height:40px;border-radius:10px;position:relative}.icon-btn .dot{position:absolute;top:6px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--mtc)}.user-chip{border:0;background:transparent;display:flex;gap:8px;align-items:center;text-align:left}.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#FBE0E1;color:var(--mtc-dark);font-weight:800}.user-chip b{font-size:12px;display:block}.user-chip small{font-size:10px;color:var(--muted)}
.view{padding:26px 28px 42px;max-width:1800px;margin:auto}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.page-head h1{font-size:29px;margin:0 0 5px;letter-spacing:-.025em}.page-head p{margin:0;color:var(--muted);font-size:14px}.head-actions{display:flex;gap:8px;flex-wrap:wrap}.btn{border:1px solid var(--line);background:#fff;color:#3E4652;border-radius:10px;padding:9px 13px;font-weight:700;font-size:12px;display:inline-flex;align-items:center;gap:7px}.btn:hover{border-color:#C8CDD5;background:#FAFAFB}.btn.primary{background:var(--mtc);border-color:var(--mtc);color:#fff}.btn.primary:hover{background:var(--mtc-dark)}.btn.ghost-red{color:var(--mtc-dark);border-color:#F2C1C3;background:#FFF8F8}.btn.good{color:#0C7348;background:var(--green-soft);border-color:#CFECDD}.btn.warn{color:#9B5700;background:var(--amber-soft);border-color:#F1D7AC}.btn.small{padding:6px 9px;font-size:11px}.btn:disabled{opacity:.45;cursor:not-allowed}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-pad{padding:18px}.panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #EDF0F3}.panel-head h2,.panel-head h3{margin:0;font-size:15px}.panel-sub{font-size:11px;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;box-shadow:var(--shadow);position:relative;overflow:hidden;cursor:pointer;transition:.18s}.kpi:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(16,24,40,.09)}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--mtc)}.kpi .label{font-size:11px;color:#667085;font-weight:700;min-height:28px}.kpi .value{font-size:27px;font-weight:850;margin-top:3px;letter-spacing:-.02em}.kpi .meta{font-size:10px;color:#8A94A3;margin-top:5px;display:flex;justify-content:space-between}.kpi .arrow{color:var(--mtc);font-weight:800}
.dashboard-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.span2{grid-column:span 2}.span3{grid-column:1/-1}.chart-box{height:285px;padding:12px 16px 16px}.chart-box canvas{width:100%;height:100%}.mini-legend{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.legend-item{font-size:10px;color:var(--muted);display:flex;gap:5px;align-items:center}.legend-item i{width:8px;height:8px;border-radius:2px;display:inline-block}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:16px;overflow:auto}.tab{border:0;background:transparent;padding:11px 14px;color:#667085;font-weight:700;font-size:12px;white-space:nowrap;border-bottom:2px solid transparent}.tab.active{color:var(--mtc-dark);border-bottom-color:var(--mtc)}
.filters{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:10px;color:#677182;font-weight:750}.field input,.field select,.field textarea{border:1px solid #D9DEE6;border-radius:9px;background:white;min-height:38px;padding:8px 10px;color:#313A47;outline:none;width:100%}.field textarea{min-height:80px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--mtc);box-shadow:0 0 0 2px rgba(235,30,35,.08)}.field .help{font-size:9px;color:#98A0AE}.field.required label:after{content:" *";color:var(--mtc)}
.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.form-grid.cols3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.cols2{grid-template-columns:repeat(2,minmax(0,1fr))}.field.span2{grid-column:span 2}.field.span3{grid-column:span 3}.field.span4{grid-column:1/-1}
.section-card{border:1px solid var(--line);border-radius:12px;margin:0 0 12px;background:#fff}.section-card summary{list-style:none;display:flex;align-items:center;gap:8px;padding:13px 15px;font-weight:780;font-size:13px;cursor:pointer}.section-card summary::-webkit-details-marker{display:none}.section-card summary:before{content:"›";font-size:18px;color:var(--mtc);transition:.18s}.section-card[open] summary:before{transform:rotate(90deg)}.section-body{padding:4px 15px 16px;border-top:1px solid #F0F2F5}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff}.data-table{border-collapse:separate;border-spacing:0;width:100%;min-width:900px;font-size:11px}.data-table th{position:sticky;top:0;z-index:2;background:#F6F7F9;color:#4C5664;text-align:left;padding:10px;border-bottom:1px solid #DDE1E7;white-space:nowrap;font-size:10px}.data-table td{padding:9px 10px;border-bottom:1px solid #EFF1F4;white-space:nowrap;max-width:320px;overflow:hidden;text-overflow:ellipsis}.data-table tr:hover td{background:#FFF8F8}.data-table .code-link{color:var(--mtc-dark);font-weight:750;text-decoration:none}.data-table .code-link:hover{text-decoration:underline}.sticky-col{position:sticky;left:0;background:inherit;z-index:1}.table-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 0}.table-toolbar .grow{flex:1}.table-search{border:1px solid var(--line);border-radius:9px;padding:8px 10px;min-width:220px}.pager{display:flex;align-items:center;gap:8px;justify-content:flex-end;padding:10px 0;color:var(--muted);font-size:11px}
.badge{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;background:#F1F3F6;color:#5A6575}.badge.red{background:var(--mtc-soft);color:var(--mtc-dark)}.badge.green{background:var(--green-soft);color:#0F7449}.badge.amber{background:var(--amber-soft);color:#965100}.badge.blue{background:var(--blue-soft);color:#265C9D}.badge.gray{background:#F2F4F7;color:#667085}
.progress-line{height:7px;border-radius:999px;background:#EEF0F3;overflow:hidden}.progress-line>span{height:100%;display:block;background:var(--mtc);border-radius:999px}.completion{display:flex;gap:12px;align-items:center}.completion strong{font-size:12px;min-width:42px}.completion small{font-size:10px;color:var(--muted)}
.status-list{display:grid;gap:8px}.status-row{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #F1F2F4;padding:7px 0;font-size:11px}.status-row:last-child{border-bottom:0}.status-left{display:flex;gap:8px;align-items:center}.status-dot{width:9px;height:9px;border-radius:50%}.status-dot.good{background:var(--green)}.status-dot.warn{background:#E79A26}.status-dot.bad{background:var(--mtc)}.status-dot.info{background:#4B78BE}
.callout{border:1px solid #F1D0D2;background:#FFF8F8;border-radius:12px;padding:12px 14px;color:#6E3E41;font-size:11px}.callout.info{border-color:#D6E4F8;background:#F5F9FF;color:#365A82}.callout.warn{border-color:#EFD8AF;background:#FFF9EF;color:#7C571C}.callout.good{border-color:#CCE8D8;background:#F2FBF6;color:#315E49}
.dropzone{border:1.5px dashed #C8CED8;border-radius:12px;padding:24px;text-align:center;background:#FAFBFC;color:#667085;transition:.18s}.dropzone.drag{border-color:var(--mtc);background:#FFF7F7}.dropzone strong{display:block;color:#303846;margin:4px 0}.dropzone input{display:none}.dropzone .dz-icon{font-size:28px;color:var(--mtc)}
.file-queue{display:grid;gap:7px;margin-top:10px}.file-item{display:flex;gap:10px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:white}.file-icon{width:30px;height:30px;border-radius:7px;background:#F2F4F7;display:grid;place-items:center}.file-item .name{font-size:11px;font-weight:700}.file-item .meta{font-size:9px;color:var(--muted)}.file-item .right{margin-left:auto}
.geo-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;height:610px}.layer-panel{padding:14px;overflow:auto}.map-canvas{position:relative;overflow:hidden;border-radius:14px;background:linear-gradient(#F8F9FA,#ECEFF2);border:1px solid var(--line)}.map-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(88,89,91,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(88,89,91,.08) 1px,transparent 1px);background-size:42px 42px}.map-watermark{position:absolute;right:18px;bottom:14px;color:#A1A7B0;font-size:10px}.map-svg{position:absolute;inset:0;width:100%;height:100%}.map-popup{position:absolute;right:18px;top:18px;width:285px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 14px 35px rgba(16,24,40,.14);padding:14px}.map-popup h4{margin:0 0 4px;font-size:13px}.map-popup p{margin:0;color:var(--muted);font-size:10px}.map-popup dl{display:grid;grid-template-columns:1fr 1.3fr;gap:6px 8px;font-size:10px}.map-popup dt{color:#8A94A3}.map-popup dd{margin:0;font-weight:650}.map-tools{position:absolute;left:14px;top:14px;display:grid;gap:6px}.map-tools button{width:36px;height:36px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 10px rgba(0,0,0,.07)}
.checkline{display:flex;gap:8px;align-items:center;font-size:11px;margin:8px 0}.checkline input{accent-color:var(--mtc)}
.column-picker{position:absolute;right:0;top:42px;z-index:8;width:330px;max-height:430px;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(16,24,40,.14);padding:12px;overflow:auto}.rel{position:relative}.column-picker .picker-search{width:100%;border:1px solid var(--line);border-radius:8px;padding:8px;margin-bottom:8px}.picker-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}.picker-grid label{font-size:10px;display:flex;gap:6px;align-items:flex-start}.picker-grid input{accent-color:var(--mtc)}
.global-results{position:absolute;top:48px;left:0;right:0;background:white;border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(16,24,40,.15);max-height:360px;overflow:auto;z-index:100}.global-item{padding:10px 12px;border-bottom:1px solid #F0F2F5;cursor:pointer}.global-item:hover{background:#FFF7F7}.global-item b{font-size:11px}.global-item small{display:block;color:var(--muted);margin-top:2px}.hidden{display:none!important}
.modal-backdrop{position:fixed;inset:0;background:rgba(12,18,28,.46);z-index:100;display:grid;place-items:center;padding:20px}.modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.2);width:min(980px,96vw);max-height:92vh;overflow:auto}.modal .modal-head{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);padding:15px 18px;display:flex;align-items:center;justify-content:space-between;z-index:2}.modal .modal-body{padding:18px}.modal .close{border:0;background:#F3F4F6;width:32px;height:32px;border-radius:8px}
.toast-host{position:fixed;right:18px;bottom:18px;z-index:200;display:grid;gap:8px}.toast{background:#202734;color:#fff;border-radius:10px;padding:10px 13px;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:11px;min-width:250px;border-left:4px solid var(--mtc)}
.split{display:grid;grid-template-columns:1fr 360px;gap:14px}.side-stack{display:grid;gap:12px;align-content:start}.summary-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.summary-cell{padding:10px;border:1px solid var(--line);border-radius:10px;background:#FAFBFC}.summary-cell small{display:block;color:var(--muted);font-size:9px}.summary-cell b{font-size:12px;display:block;margin-top:3px;overflow:hidden;text-overflow:ellipsis}.key-value{display:grid;grid-template-columns:160px 1fr;gap:7px 12px;font-size:11px}.key-value dt{color:var(--muted)}.key-value dd{margin:0;font-weight:650}
.preview-doc{background:#fff;border:1px solid #DADDE3;box-shadow:0 10px 25px rgba(0,0,0,.08);max-width:760px;margin:auto;min-height:850px;padding:54px 58px;font-family:Arial,sans-serif}.preview-doc .doc-brand{display:flex;gap:12px;align-items:center;border-bottom:2px solid var(--mtc);padding-bottom:12px;margin-bottom:24px}.preview-doc h2{text-align:center;font-size:15px}.preview-doc p{font-size:11px;line-height:1.5}.preview-doc table{width:100%;border-collapse:collapse;font-size:10px}.preview-doc td,.preview-doc th{border:1px solid #AAA;padding:6px}
.rule-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:#fff;display:flex;gap:10px}.rule-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-weight:900}.rule-icon.error{background:var(--mtc-soft);color:var(--mtc-dark)}.rule-icon.warn{background:var(--amber-soft);color:#9D5F0E}.rule-icon.info{background:var(--blue-soft);color:#2B5F9E}.rule-body{flex:1}.rule-body h4{margin:0;font-size:11px}.rule-body p{margin:4px 0;color:var(--muted);font-size:10px}.rule-meta{font-size:9px;color:#98A0AE}
.metric-row{display:grid;grid-template-columns:180px 1fr 60px;gap:10px;align-items:center;font-size:10px;margin:9px 0}.bar{height:8px;background:#EFF1F4;border-radius:999px;overflow:hidden}.bar span{display:block;height:100%;background:var(--mtc);border-radius:999px}
@media (max-width:1450px){.kpi-grid{grid-template-columns:repeat(4,1fr)}.filters{grid-template-columns:repeat(4,1fr)}.dashboard-grid{grid-template-columns:1fr 1fr}.span3{grid-column:span 2}.form-grid{grid-template-columns:repeat(3,1fr)}.field.span4{grid-column:1/-1}}
@media (max-width:1100px){:root{--sidebar:230px}.view{padding:20px}.kpi-grid{grid-template-columns:repeat(3,1fr)}.filters{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.geo-layout{grid-template-columns:220px 1fr}.top-actions select{display:none}}
@media (max-width:820px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:260px;transition:.2s}.sidebar.open{left:0}.mobile-only{display:block!important}.topbar{padding:0 12px}.view{padding:16px}.kpi-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.span2,.span3{grid-column:auto}.filters,.form-grid,.form-grid.cols3,.form-grid.cols2{grid-template-columns:1fr}.field.span2,.field.span3,.field.span4{grid-column:auto}.geo-layout{grid-template-columns:1fr;height:auto}.layer-panel{order:2}.map-canvas{height:500px}.user-chip span:last-child{display:none}.summary-strip{grid-template-columns:1fr 1fr}}
.mobile-only{display:none}

/* === PrediData V2 · ajustes OBSERVACIONES === */
.readonly-banner{display:flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid #F0D4D6;background:#FFF9F9;border-radius:12px;color:#6F3E40;font-size:11px;margin-bottom:14px}.readonly-banner b{color:var(--mtc-dark)}
.readonly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.readonly-field{border:1px solid var(--line);background:#F8F9FB;border-radius:10px;padding:10px;min-height:62px}.readonly-field small{display:block;color:#7B8594;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.readonly-field b{display:block;font-size:11px;margin-top:5px;white-space:normal;line-height:1.35}.readonly-field.missing{background:#FFF9EF;border-color:#ECD7B1}.readonly-field.missing b{color:#945D13}.linked-field{background:#F5F6F8!important;color:#5A6572}.linked-note{display:inline-flex;gap:5px;align-items:center;color:#697386;font-size:9px}.linked-note:before{content:'↗';color:var(--mtc)}
.control-band{border:1px solid #F0D5D7;background:linear-gradient(180deg,#fff,#FFF9F9);border-radius:14px;margin-bottom:14px;overflow:hidden}.control-band summary{padding:13px 16px;cursor:pointer;font-weight:800;color:#4A3031;display:flex;align-items:center;gap:8px}.control-band summary::marker{color:var(--mtc)}.control-band-body{border-top:1px solid #F5E4E5;padding:12px 16px}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.check-card{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;font-size:10px}.check-card input{accent-color:var(--mtc)}
.record-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}.record-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:12px;box-shadow:0 4px 12px rgba(16,24,40,.035)}.record-card .record-kicker{font-size:9px;color:var(--mtc-dark);font-weight:800;text-transform:uppercase}.record-card h4{font-size:12px;margin:4px 0 8px}.record-card dl{display:grid;grid-template-columns:100px 1fr;gap:4px 8px;font-size:10px;margin:0}.record-card dt{color:#7A8594}.record-card dd{margin:0;font-weight:650;white-space:normal}.record-actions{display:flex;gap:6px;margin-top:10px}
.two-pane-preview{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.75fr);gap:14px}.cdt-table .data-table{min-width:720px}.colindancia-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.colindancia-card h4{margin:0;padding:10px 12px;background:#FFF8F8;border-bottom:1px solid #F0D7D9;color:var(--mtc-dark);font-size:11px}.colindancia-row{display:grid;grid-template-columns:90px 1fr 90px;gap:8px;padding:9px 12px;border-bottom:1px solid #F1F2F4;font-size:10px}.colindancia-row:last-child{border-bottom:0}.colindancia-row b{color:#454E5B}.colindancia-row .distance{text-align:right;font-variant-numeric:tabular-nums}
.stepper{display:flex;align-items:center;gap:6px;margin-bottom:14px;overflow:auto}.step{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:10px;color:#727B89}.step i{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#F0F2F5;font-style:normal;font-weight:800}.step.active{color:var(--mtc-dark);font-weight:800}.step.active i{background:var(--mtc);color:#fff}.step-line{height:1px;background:#E2E5EA;min-width:24px}
.form-note{font-size:9px;color:#7A8594;margin-top:4px}.field.error input,.field.error select{border-color:var(--mtc);box-shadow:0 0 0 2px rgba(235,30,35,.08)}.field-error{font-size:9px;color:var(--mtc-dark);margin-top:2px}
.meta-summary{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(110px,.55fr));gap:8px;align-items:center}.meta-row{border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:8px;background:#fff}.meta-code{font-size:11px;font-weight:800}.meta-sub{font-size:9px;color:var(--muted);margin-top:3px}.meta-progress{min-width:130px}.meta-money{text-align:right}.traffic{display:inline-flex;align-items:center;gap:6px;font-size:9px;font-weight:800}.traffic i{width:9px;height:9px;border-radius:50%}.traffic.ok i{background:var(--green)}.traffic.pending i{background:var(--mtc)}.traffic.review i{background:#E39A25}.traffic.na i{background:#A5ACB7}
.checklist-drawer{display:grid;grid-template-columns:1fr 1fr;gap:12px}.checklist-group{border:1px solid var(--line);border-radius:12px;padding:12px}.checklist-group h4{margin:0 0 8px;font-size:11px}.checklist-item{display:grid;grid-template-columns:1fr auto;gap:8px;padding:6px 0;border-bottom:1px solid #F1F2F4;font-size:10px}.checklist-item:last-child{border-bottom:0}
.jur-tabs{display:flex;gap:5px;overflow:auto;border-bottom:1px solid var(--line);margin-bottom:10px}.jur-table-wrap{max-height:660px}.jur-table{border-collapse:separate;border-spacing:0;min-width:2500px;font-size:10px}.jur-table th{position:sticky;top:0;background:#F5F6F8;border-bottom:1px solid var(--line);padding:8px;white-space:nowrap;z-index:2}.jur-table td{padding:7px 8px;border-bottom:1px solid #EFF1F4;white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis}.jur-table td.linked{background:#F7F8FA;color:#5F6875}.jur-table td.editable{background:#FFF}.jur-table td.editable:hover{outline:1px solid #F0B8BB}.source-pill{display:inline-block;margin-left:4px;border-radius:999px;padding:2px 5px;background:#EEF0F3;color:#77808C;font-size:8px}
.team-actions{display:flex;gap:8px;flex-wrap:wrap}.person-card{display:grid;grid-template-columns:80px 1fr;gap:12px}.person-avatar{width:72px;height:72px;border-radius:14px;background:#FFF0F1;color:var(--mtc-dark);display:grid;place-items:center;font-size:24px;font-weight:900}.person-sections{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.map-shell{height:680px;position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:#e8e8e8}.leaflet-map{height:100%;width:100%}.geo-layout-v2{display:grid;grid-template-columns:310px minmax(0,1fr);gap:12px}.geo-filters{display:grid;gap:8px}.map-legend{position:absolute;right:14px;bottom:14px;z-index:500;background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 10px;box-shadow:0 8px 24px rgba(0,0,0,.12);font-size:9px}.map-legend div{display:flex;align-items:center;gap:6px;margin:4px 0}.map-legend i{width:14px;height:4px;border-radius:4px;background:var(--mtc)}
.document-sheet{max-width:920px;margin:0 auto;background:#fff;border:1px solid #D8DCE3;box-shadow:0 12px 32px rgba(16,24,40,.08);padding:42px 48px;min-height:900px}.document-sheet h2{text-align:center;font-size:16px;margin:0 0 18px}.document-sheet h3{font-size:12px;color:var(--mtc-dark);border-bottom:1px solid #E8EAEE;padding-bottom:5px;margin-top:20px}.document-sheet table{width:100%;border-collapse:collapse;font-size:10px}.document-sheet td,.document-sheet th{border:1px solid #BFC4CC;padding:6px;vertical-align:top}.doc-status{display:inline-flex;gap:5px;align-items:center;font-size:9px}.doc-status.ok{color:#16734A}.doc-status.missing{color:#A16410}.doc-status.error{color:var(--mtc-dark)}
.validation-list{display:grid;gap:6px}.validation-item{display:grid;grid-template-columns:170px 1fr 90px 70px;gap:8px;align-items:center;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:10px}
.readonly-scope input,.readonly-scope select,.readonly-scope textarea{pointer-events:none;background:#F5F6F8;color:#59616D}.readonly-scope button.edit-control{display:none}
@media(max-width:1100px){.readonly-grid{grid-template-columns:repeat(2,1fr)}.check-grid{grid-template-columns:repeat(2,1fr)}.geo-layout-v2{grid-template-columns:1fr}.map-shell{height:560px}.meta-summary{grid-template-columns:1fr 1fr}.two-pane-preview{grid-template-columns:1fr}}
@media(max-width:720px){.readonly-grid,.check-grid,.person-sections,.checklist-drawer{grid-template-columns:1fr}.document-sheet{padding:24px 18px}.meta-summary{grid-template-columns:1fr}.map-shell{height:480px}}
/* PrediData V3 — interfaz MTC documental, geovisor, CDT, validación */
:root {--v3red:#eb1e23;--v3ink:#17233b;--v3muted:#6e7b8e;--v3line:#e5e9ee;}
.nav-title::before{background:#eb1e23 !important}.nav-item.active,.tab.active{color:#c71823 !important}
.v3-empty{padding:45px 25px;text-align:center;background:linear-gradient(135deg,#fff,#fff8f8);border:1px dashed #e9bac0;border-radius:16px;margin:14px 0}
.v3-empty h3{font-size:18px;margin:0 0 6px}.v3-empty p{font-size:12px;color:#6e7b8e}.v3-empty-icon{display:inline-grid;place-items:center;width:55px;height:55px;border-radius:16px;background:#fff0f0;color:#cb202a;font-size:29px;margin-bottom:8px}
.v3-panel{border:1px solid #e4e8ef;padding:15px;border-radius:12px;background:#fcfcfd}
.v3-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:12px;flex-wrap:wrap}
.v3-actions>b:first-child{margin-right:auto}.v3-actions>span:first-child{margin-right:auto;color:#6b788b;font-size:11px}
.v3-separator{border-top:1px solid #e9edf1;margin:16px 0}.v3-wide{width:100%;justify-content:center;margin-top:8px}
.v3-geo{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;min-height:650px;margin-top:16px}
.v3-geo-side{background:white;border:1px solid #e5e8ec;border-radius:15px;padding:16px;min-width:0;max-height:760px;overflow-y:auto;box-shadow:0 8px 30px #14243c0d}
.v3-geo-side h3{margin:0 0 4px;font-size:17px}.v3-geo-side .field{margin-top:9px}.v3-geo-side input[type=file]{font-size:11px;width:100%;max-width:100%;padding:9px;border:1px dashed #d8dfe5;border-radius:8px}
.v3-geo-map{border:1px solid #e4e9ee;position:relative;border-radius:15px;overflow:hidden;background:#eff3f5;min-width:0;box-shadow:0 8px 32px #14243c12}
.v3-leaflet{height:100%;min-height:650px;width:100%;z-index:0}.v3-map-attrib{position:absolute;left:14px;bottom:11px;z-index:460;background:#fffffff2;color:#47576b;padding:5px 9px;border-radius:7px;font-size:9px;pointer-events:none;max-width:78%}
.v3-layer-item{padding:9px 0;border-bottom:1px solid #edf0f3;display:flex;gap:9px;align-items:center;justify-content:space-between;font-size:11px}.v3-layer-item label{display:flex;align-items:center;gap:6px}.v3-layer-item input{accent-color:#EB1E23}.v3-layer-item small{color:#8992a3;white-space:nowrap}
.v3-popup{min-width:220px;max-width:345px}.v3-popup h4{color:#c72229;font-size:13px}.v3-popup-row{border-bottom:1px solid #eee;padding:4px 0;display:flex;gap:15px;justify-content:space-between;font-size:10px}.v3-popup-row span{color:#6d7a8f}.v3-popup-row b{font-size:10px;text-align:right}
.v3-memo-selector{display:flex;align-items:end;flex-wrap:wrap;gap:14px;background:#fff;border:1px solid #e8edf0;padding:15px;border-radius:14px;margin:14px 0}.v3-memo-selector .field{flex:1;min-width:220px}.v3-memo-selector .btn{height:37px}
.v3-memo-layout{display:grid;grid-template-columns:minmax(0,1fr) 275px;gap:18px;align-items:start;max-width:1300px;margin:18px auto}
.v3-document{background:white;box-shadow:0 16px 46px #19243e17;border:1px solid #dfe4e9;padding:36px 47px;min-height:920px;max-width:920px;margin:0 auto;width:100%;color:#202b3d}
.v3-doc-top{display:flex;align-items:center;gap:13px;border-bottom:2px solid #eb1e23;padding-bottom:12px}.v3-doc-top>b{background:#eb1e23;color:white;padding:10px;font-size:14px}.v3-doc-top span{font-weight:800;font-size:13px}.v3-doc-top small{font-size:10px;font-weight:400;color:#6e7a89}.v3-document>h2{text-align:center;font-size:16px;letter-spacing:.03em;margin:22px 0 8px}.v3-doc-code{text-align:center;color:#1b3f63;font-weight:700;font-size:12px;margin-bottom:16px}
.v3-doc-section{margin-top:20px}.v3-doc-section h3{font-size:12px;border-bottom:1px solid #e3e8ed;padding:0 0 8px;margin:0 0 11px;color:#ae1820;font-weight:800}.v3-doc-section h4{font-size:11px;margin:12px 0}.v3-doc-field-table,.v3-doc-table{border-collapse:collapse;width:100%;font-size:10px}.v3-doc-field-table th{text-align:left;color:#536277;font-weight:600;width:37%;background:#f7f8fa}.v3-doc-field-table td{font-weight:600}.v3-doc-field-table th,.v3-doc-field-table td,.v3-doc-table th,.v3-doc-table td{border:1px solid #e0e5ea;padding:7px 9px;vertical-align:top}.v3-doc-table th{background:#edf1f5;text-align:left;color:#37445b}.v3-doc-table-wrap{overflow:auto;max-width:100%}.v3-missing{color:#bb6f16;font-weight:500;font-style:italic}.v3-note{padding:12px;color:#758197;background:#f9fafb;border-radius:7px;font-size:11px}.v3-memo-aside{position:sticky;top:16px;background:white;border:1px solid #e4e9ee;border-radius:14px;padding:18px;box-shadow:0 8px 26px #15253e0b}.v3-memo-aside h3{font-size:15px;margin-top:0}.v3-memo-aside .status-row b{font-size:10px;overflow-wrap:anywhere}
.v3-cdt-summary{border:1px solid #e3e8ed;background:#fcfcfd;border-radius:13px;padding:15px;margin:13px 0}.v3-cdt-columns{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);gap:16px;margin-top:12px}.v3-cdt-columns>.v3-doc-table-wrap{max-height:370px;overflow:auto}.v3-cdt-columns .v3-doc-table{background:#fff}.v3-cdt-summary h4{font-size:13px;margin:0 0 10px}.v3-col-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.v3-col-card{background:#fcfcfd;border:1px solid #e4e8ee;border-radius:12px;padding:13px}.v3-col-card h4{color:#bf1b24;margin:0 0 9px;font-size:12px}
@media(max-width:1100px){.v3-memo-layout{grid-template-columns:1fr}.v3-memo-aside{position:static}.v3-geo{grid-template-columns:245px minmax(0,1fr)}}
@media(max-width:750px){.v3-geo{grid-template-columns:1fr}.v3-geo-side{max-height:400px}.v3-memo-selector .field{min-width:180px}.v3-document{padding:20px 14px}.v3-cdt-columns,.v3-col-grid{grid-template-columns:1fr}}
@media print{.sidebar,.topbar,.page-head,.v3-memo-selector,.v3-memo-aside,.callout,.nav-group{display:none!important}.workspace,.view{padding:0!important;margin:0!important}.v3-memo-layout{display:block!important}.v3-document{box-shadow:none;border:0;padding:0;width:100%;max-width:none!important}.v3-doc-section{break-inside:avoid}}

/* LST4: visual-only adjustments, all other page styles preserved */
.lst4-demo-strip{background:#fff2e9;border-bottom:1px solid #ffd7c7;display:flex;align-items:center;gap:12px;padding:9px 26px;color:#853c21;font-size:11px;line-height:1.45;flex-wrap:wrap}
.lst4-demo-strip b{background:#EB1E23;color:#fff;border-radius:6px;padding:3px 8px;white-space:nowrap;letter-spacing:.035em}
.lst4-demo-strip span{flex:1;min-width:250px}
.rich-demo-cases{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px;align-items:center}
.rich-demo-cases .badge{font-size:10px}
.rich-technical-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}
.rich-technical-card{border:1px solid #e6e8ed;background:#fff;border-radius:13px;padding:17px;box-shadow:0 4px 14px rgba(14,22,37,.035);min-width:0}
.rich-technical-card header{display:flex;justify-content:space-between;align-items:start;gap:7px;margin-bottom:10px}
.rich-technical-card header h4{margin:3px 0;color:#14223a;font-size:15px}
.rich-technical-card .detail{display:grid;grid-template-columns:minmax(95px,1fr) 1.4fr;gap:6px;padding:7px 0;border-bottom:1px solid #f0f1f3;font-size:11px}
.rich-technical-card .detail span{color:#6d7688}
.rich-technical-card .detail b{overflow-wrap:anywhere}
.rich-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.rich-required{color:#ce1926;font-weight:700}
.rich-note{font-size:11px;color:#7d4e2c;background:#fff7ec;padding:9px 12px;border:1px solid #f5e1c4;border-radius:9px;margin:11px 0}
.rich-preview{border-collapse:collapse;width:100%;font-size:11px}
.rich-preview th,.rich-preview td{padding:9px;border-bottom:1px solid #e8ebf0;text-align:left;vertical-align:top;overflow-wrap:anywhere}
.rich-preview th{width:43%;color:#596577;background:#f8f9fb}
.rich-modal-section{padding:12px 0;border-bottom:1px solid #eef0f2}
.rich-modal-section h4{margin:0 0 10px;color:#d41d2a;font-size:13px}
.rich-form .field input,.rich-form .field select{width:100%;min-width:0}
.rich-bottom{position:sticky;bottom:0;background:white;padding:12px 0 3px;display:flex;gap:9px;justify-content:flex-end;border-top:1px solid #eee}
@media(max-width:850px){.rich-technical-list{grid-template-columns:1fr}.lst4-demo-strip{padding:7px 13px}}
