:root{
  --azul-pagina:#1677a8;
  --azul-pagina-suave:#e8f6ff;
  --verde:#1f5e33;
  --verde2:#2f7a41;
  --verde3:#e8f3ea;
  --dorado:#c79b42;
  --texto:#17251b;
  --muted:#607066;
  --borde:#dbe6dd;
  --rojo:#b42318;
  --bg:#f6faf6;
  --shadow:0 14px 35px rgba(10,40,20,.12);
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--texto);background:linear-gradient(rgba(246,250,246,.30),rgba(246,250,246,.38)),url('/img/fondo-vacas-pradera.jpg') center/cover fixed no-repeat;}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh;padding:18px;}
.topbar{max-width:1260px;margin:0 auto 14px;background:rgba(255,255,255,.92);border:1px solid var(--borde);border-radius:22px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;box-shadow:var(--shadow);backdrop-filter:blur(5px)}
.brand{display:flex;align-items:center;gap:12px;min-width:260px}.brand img{width:74px;height:auto;object-fit:contain}.brand-title{font-weight:900;font-size:19px;color:var(--verde)}.brand-sub{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.nav{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.nav button,.btn{border:1px solid var(--borde);background:white;color:var(--verde);padding:9px 12px;border-radius:13px;font-weight:800}.nav button.active,.btn.primary{background:var(--verde);color:white;border-color:var(--verde)}.btn.warn{background:#fff5f5;color:var(--rojo);border-color:#ffd5d0}.btn.ghost{background:#f7fbf7;color:var(--texto)}.btn.small{font-size:12px;padding:6px 8px;border-radius:9px}
.layout{max-width:1260px;margin:0 auto;display:grid;grid-template-columns:360px 1fr;gap:14px}.sidebar,.main-card,.card{background:rgba(255,255,255,.94);border:1px solid var(--borde);border-radius:22px;box-shadow:var(--shadow)}.sidebar{padding:14px;align-self:start}.main-card{padding:18px;min-height:620px}.card{padding:14px;margin-bottom:14px}.section-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 12px}.section-title h2,.section-title h3{margin:0;color:var(--azul-pagina)}.section-title h2{font-size:25px;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,255,255,.8)}
.search-panel{padding:12px;border:1px solid var(--borde);background:#f9fcf9;border-radius:18px;margin-bottom:12px}.search-panel h2{font-size:18px;margin:0 0 8px;color:var(--verde)}.search-panel p{margin:0 0 10px;font-size:13px;color:var(--muted)}.searchbox{width:100%;padding:12px 13px;border:2px solid #c9dbc9;border-radius:15px;outline:none;background:white}.searchbox:focus{border-color:var(--verde2)}.result-count{font-size:12px;color:var(--muted);margin:9px 0}.results{max-height:420px;overflow:auto;border:1px solid var(--borde);border-radius:16px;background:white}.result-item{padding:10px 11px;border-bottom:1px solid #eef3ef;cursor:pointer}.result-item:hover,.result-item.selected{background:var(--verde3)}.result-name{font-weight:900;color:var(--texto);font-size:14px}.result-meta{font-size:12px;color:var(--muted);margin-top:3px}.selected-mini{border:1px solid var(--borde);border-radius:16px;padding:10px;background:white}.selected-mini strong{color:var(--verde)}
.login{max-width:460px;margin:8vh auto;background:rgba(255,255,255,.95);border:1px solid var(--borde);border-radius:26px;padding:26px;box-shadow:var(--shadow)}.login-logo{text-align:center}.login-logo img{max-width:160px}.login h1{color:var(--verde);text-align:center;margin:12px 0 4px}.login p{text-align:center;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}.col-2{grid-column:span 2}.field label{display:block;font-weight:800;font-size:12px;color:#36513c;text-transform:uppercase;margin-bottom:5px}.field input,.field select,.field textarea{width:100%;border:1px solid #cfded1;border-radius:12px;padding:10px;background:white;outline:none}.field textarea{min-height:78px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--verde2);box-shadow:0 0 0 3px rgba(47,122,65,.11)}.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.hint{font-size:12px;color:var(--muted)}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.kpi{background:#f8fbf8;border:1px solid var(--borde);border-radius:18px;padding:12px}.kpi .label{font-size:12px;color:var(--muted);text-transform:uppercase;font-weight:800}.kpi .value{font-size:23px;font-weight:900;color:var(--verde);margin-top:4px}.notice{border-left:5px solid var(--dorado);background:#fffaf0;padding:12px;border-radius:14px;color:#5c4614;margin-bottom:12px}.okbox{border-left:5px solid var(--verde2);background:#f0fff4;padding:12px;border-radius:14px;color:#1b4b28;margin-bottom:12px}.error{border-left:5px solid var(--rojo);background:#fff5f5;padding:12px;border-radius:14px;color:var(--rojo);margin-bottom:12px;white-space:pre-wrap}
table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--borde);border-radius:16px;overflow:hidden;background:white}th,td{padding:9px 10px;border-bottom:1px solid #edf3ee;text-align:left;font-size:13px}th{background:var(--verde3);color:#173b21;text-transform:uppercase;font-size:12px}tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover td{background:#f7fbf7}.num{text-align:right;font-variant-numeric:tabular-nums}.alert-number{color:var(--rojo)!important;font-weight:900;background:#fff1f0}.muted{color:var(--muted)}.pill{display:inline-flex;padding:4px 8px;border-radius:99px;background:var(--verde3);color:var(--verde);font-weight:800;font-size:12px}.pill.red{background:#fff1f0;color:var(--rojo)}
.detail-box{border:1px solid var(--borde);border-radius:18px;padding:14px;background:#fbfdfb;margin-top:10px}.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.detail-item{background:white;border:1px solid #edf3ee;border-radius:12px;padding:9px}.detail-item .label{font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:800}.detail-item .value{font-weight:800;margin-top:3px}.year-link{border:1px solid var(--verde2);background:#f5fff6;color:var(--verde);border-radius:9px;font-weight:900;padding:6px 8px}.year-link:hover{background:var(--verde);color:white}.calc-base{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:12px 0}.calc-base .box{border:2px solid #dcecdf;background:#f8fff9;border-radius:16px;padding:12px}.calc-base .box strong{font-size:22px;color:var(--verde);display:block;margin-top:4px}.footer-note{text-align:center;color:var(--muted);font-size:12px;margin-top:16px}
@media (max-width:980px){.layout{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.nav{justify-content:flex-start}.kpis{grid-template-columns:repeat(2,1fr)}.col-8,.col-6,.col-4,.col-3,.col-2{grid-column:span 12}.detail-grid{grid-template-columns:1fr}.calc-base{grid-template-columns:1fr}}
@media print{body{background:white}.topbar,.sidebar,.actions,.no-print{display:none!important}.layout{display:block}.main-card,.card{box-shadow:none;border:none}.app-shell{padding:0}.main-card{padding:0}}

/* Corrección V8: panel principal y ficha agricultor */
.ficha-wrapper{display:grid;grid-template-columns:1fr 220px;gap:14px;align-items:start}.ficha-menu{grid-column:2;grid-row:1;position:sticky;top:12px;background:#f8fbf8;border:1px solid var(--borde);border-radius:18px;padding:10px;box-shadow:0 10px 25px rgba(10,40,20,.08)}.ficha-content{grid-column:1;grid-row:1}.side-btn{width:100%;display:block;text-align:left;margin-bottom:8px;border:1px solid #cfe0d2;background:white;color:var(--verde);padding:10px 11px;border-radius:12px;font-weight:900;font-size:12px}.side-btn:hover{background:var(--verde3)}.side-btn.exit{background:var(--verde);color:white;border-color:var(--verde)}.ficha-content{min-width:0}.ficha-header h3{font-size:24px;color:var(--verde);margin:0 0 4px}.extra-grid{grid-template-columns:repeat(2,1fr);margin-top:10px}.detail-item .value:empty::after{content:'Sin dato';color:#9aa69d;font-weight:500}.nav button{font-size:13px;letter-spacing:.02em}.nav button.logout-btn{background:#fff5f5;color:var(--rojo);border-color:#ffd5d0}.nav button.logout-btn:hover{background:var(--rojo);color:white;border-color:var(--rojo)}
@media (max-width:980px){.ficha-wrapper{grid-template-columns:1fr}.ficha-menu{grid-column:auto;grid-row:auto;position:static}.ficha-content{grid-column:auto;grid-row:auto}.extra-grid{grid-template-columns:1fr}}

/* Ajustes mínimos V11: eliminar agricultor + totales producción */
.center{text-align:center!important}.vacas-ordena-col{text-align:center!important}.total-row td{background:#f3fbf4;border-top:2px solid var(--verde2);font-weight:900}.total-row td:first-child{color:var(--verde)}

/* Informe productivo V12: replica del PDF con estilo Valle Verde */
.inf-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.inf-actions label{font-size:12px;font-weight:900;color:var(--verde);text-transform:uppercase}.inf-actions input{width:88px;border:1px solid var(--borde);border-radius:10px;padding:7px;background:white}
.informe-doc{display:flex;flex-direction:column;gap:18px}.informe-page{background:#fff;border:1px solid #d8e3da;border-radius:22px;box-shadow:0 12px 30px rgba(0,0,0,.08);padding:24px 30px;margin:0 auto;width:100%;max-width:940px;min-height:950px;position:relative;overflow:hidden}.informe-page:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top left, rgba(47,122,65,.08), transparent 32%),linear-gradient(135deg, rgba(31,94,51,.03), rgba(199,155,66,.04));pointer-events:none}.informe-page>*{position:relative;z-index:1}.informe-print-brand,.inf-page-head{display:flex;align-items:center;gap:16px;margin-bottom:18px}.informe-print-brand img,.inf-page-head img{width:82px;height:auto;object-fit:contain}.informe-print-brand strong{display:block;font-size:17px;letter-spacing:.04em;color:#0f2d18}.informe-print-brand span,.inf-page-head p{display:block;color:#6a796e;font-size:13px;margin:4px 0 0}.inf-page-head{border-bottom:3px solid #1f5e33;padding-bottom:12px}.inf-page-head h3{font-size:20px;letter-spacing:.05em;color:#12391d;margin:0;text-align:center;text-transform:uppercase}.inf-cover-title{display:grid;grid-template-columns:200px 1fr 1fr;border:2px solid #26372b;border-radius:6px;overflow:hidden;margin:10px 0 16px}.inf-cover-title span,.inf-cover-title strong{padding:9px 10px;border-right:1px solid #26372b;text-align:center}.inf-cover-title span{background:linear-gradient(#eef3f0,#cfd7d1);color:#163e21;font-weight:900}.inf-cover-title strong:last-child{border-right:none}.inf-rut-line{display:grid;grid-template-columns:180px 1fr;gap:12px;align-items:center;max-width:620px;margin:0 0 24px}.inf-rut-line span,.inf-rut-line strong{border:1px solid #26372b;padding:8px 12px}.inf-rut-line span{background:linear-gradient(#eef3f0,#cfd7d1);font-weight:900;color:#163e21}.inf-rut-line strong{text-align:center}.inf-cover-grid{display:grid;grid-template-columns:1.2fr .95fr;gap:28px;align-items:start}.inf-box{border:1px solid #26372b;border-radius:8px;background:rgba(255,255,255,.96);overflow:hidden}.inf-box h4{margin:0;padding:10px 12px;background:#f0f5f1;color:#173b21;text-align:center;letter-spacing:.04em}.inf-data-table{border:0;border-radius:0}.inf-data-table th,.inf-data-table td{border-bottom:1px solid #26372b;padding:6px 8px;font-size:13px}.inf-data-table th{background:linear-gradient(#eef3f0,#cbd3ce);color:#163e21;width:52%;text-align:left}.inf-data-table td{font-weight:900;text-align:center}.inf-box.indicadores{padding-bottom:8px}.inf-metric{display:grid;grid-template-columns:1fr 110px;align-items:center;margin:0 10px;border-bottom:1px solid #cfd9d2}.inf-metric span{font-weight:900;color:#203c2a;padding:7px 6px;background:linear-gradient(90deg,#eef3f0,transparent)}.inf-metric strong{text-align:right;padding:7px 6px;font-size:15px;color:#15251a}.inf-metric em{grid-column:1/-1;font-size:11px;color:#6a796e;font-style:normal;margin:-3px 0 5px}.inf-metric.danger strong{color:var(--rojo)}.inf-ranking{display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:center;max-width:560px;margin:34px auto 0}.inf-ranking span{text-align:center;font-weight:900;letter-spacing:.03em}.inf-ranking strong{border:2px solid #26372b;border-radius:6px;text-align:center;padding:9px;font-size:22px;background:white}.inf-table-scroll{overflow:auto}.inf-table{border:2px solid #26372b;border-radius:0;font-size:12px}.inf-table th,.inf-table td{border-right:1px solid #26372b;border-bottom:1px solid #26372b;padding:6px 7px;text-align:right;white-space:nowrap}.inf-table th:first-child{text-align:left}.inf-table thead th{background:#e9f2fb;color:#122319;text-align:center;font-size:13px}.inf-table thead th:nth-child(even){background:#fffdd8}.inf-table thead small{font-size:10px;color:#52635a}.inf-total th,.inf-total td{background:#5b9bd5!important;color:#fff!important;font-weight:900;font-style:italic}.inf-group-row th,.inf-group-row td{background:#3510bf!important;color:#fff!important;font-weight:900}.inf-table td.alerta,.inf-mini-table td.alerta{color:#b42318!important;font-weight:900;background:#fff1f0!important}.inf-chart{margin:34px auto 0;max-width:760px;min-height:290px;border-radius:18px;background:linear-gradient(135deg,#d2d2d2,#f5f5f5 55%,#d7d7d7);box-shadow:inset 0 0 42px rgba(0,0,0,.08);padding:18px 22px 22px}.inf-chart h4{text-align:center;margin:0 0 16px;color:#38423b;letter-spacing:.08em;text-transform:uppercase}.inf-chart.empty{min-height:130px;text-align:center;color:#66766b}.inf-bars{height:210px;display:flex;gap:18px;align-items:flex-end;justify-content:center;border-left:2px solid rgba(0,0,0,.18);border-bottom:2px solid rgba(0,0,0,.18);padding:10px 12px 0;background:linear-gradient(to top, rgba(255,255,255,.48), rgba(255,255,255,.05))}.inf-bar-wrap{height:100%;min-width:72px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.inf-bar-label{font-size:12px;font-weight:900;color:#404a43;min-height:17px;text-align:center}.inf-bar{width:58px;border:1px solid rgba(0,0,0,.15);border-radius:7px 7px 0 0;box-shadow:inset 0 14px 20px rgba(255,255,255,.28),0 5px 8px rgba(0,0,0,.12)}.inf-bar-wrap:nth-child(1) .inf-bar{background:#b8b8b8}.inf-bar-wrap:nth-child(2) .inf-bar{background:#f2c94c}.inf-bar-wrap:nth-child(3) .inf-bar{background:#4f83cc}.inf-bar-wrap:nth-child(4) .inf-bar{background:#8cc96b}.inf-bar-wrap:nth-child(5) .inf-bar{background:#5dade2}.inf-bar-year{font-size:12px;font-weight:900;color:#4e5a52}.informe-final-page{min-height:860px}.inf-two-blocks{display:flex;flex-direction:column;gap:34px;margin-top:24px}.inf-panel{border:2px solid #17251b;border-radius:8px;padding:18px;background:rgba(255,255,255,.95)}.inf-panel-top{display:flex;justify-content:flex-end;align-items:center;gap:14px;margin-bottom:12px}.inf-panel-top h4{margin:0;color:#17251b;letter-spacing:.06em}.inf-panel-top strong{min-width:120px;text-align:center;border:2px solid #17251b;padding:6px 18px;font-size:24px;background:white}.inf-ind-block{margin:18px 0 26px}.inf-ind-block h4{text-align:center;margin:0 0 10px;color:#223829;letter-spacing:.05em}.inf-mini-table{border:2px solid #17251b;border-radius:0}.inf-mini-table th,.inf-mini-table td{border-right:1px solid #17251b;border-bottom:1px solid #17251b;padding:7px 9px;text-align:right;font-size:12px}.inf-mini-table th:first-child{text-align:left}.inf-mini-table thead th{background:#dceefb;text-align:center}.inf-mini-table thead th:nth-child(4){background:#8fd36a}.inf-mini-table thead th:nth-child(5){background:#fff5c5}.inf-mini-table thead th:nth-child(6){background:#ffd94a}.inf-mini-table thead th:nth-child(7){background:#7ed957}.inf-mini-table tbody th{background:#fff;font-weight:900}.inf-mini-table tbody td{background:#dceefb}.inf-mini-table .inf-group-row th,.inf-mini-table .inf-group-row td{background:#fff!important;color:#17251b!important;border-top:2px solid #17251b}.inf-mini-table .inf-group-row td:last-child{background:#ffd7d7!important;font-weight:900}.informe-table-page .inf-page-head{justify-content:flex-start}.informe-table-page .inf-page-head div{flex:1;text-align:center}
@media (max-width:980px){.informe-page{padding:18px;min-height:auto}.inf-cover-grid{grid-template-columns:1fr}.inf-cover-title{grid-template-columns:1fr}.inf-cover-title span,.inf-cover-title strong{border-right:none;border-bottom:1px solid #26372b}.inf-actions{justify-content:flex-start}.inf-bars{gap:8px}.inf-bar-wrap{min-width:48px}.inf-bar{width:42px}}
@media print{@page{size:letter;margin:10mm}body{background:white!important}.informe-doc{display:block}.informe-page{box-shadow:none;border:none;border-radius:0;max-width:none;width:100%;min-height:250mm;page-break-after:always;break-after:page;margin:0;padding:9mm 10mm;overflow:hidden}.informe-page:last-child{page-break-after:auto;break-after:auto}.inf-chart{break-inside:avoid;page-break-inside:avoid}.inf-table-scroll{overflow:visible}.inf-table th,.inf-table td{padding:4px 5px;font-size:10px}.inf-mini-table th,.inf-mini-table td{padding:4px 5px;font-size:10px}.inf-cover-grid{gap:16px}.inf-metric{grid-template-columns:1fr 90px}.inf-bar-wrap{min-width:58px}.main-card{padding:0!important}.informe-page:before{display:none}}


/* Cambios mañana V10 - aplicados directamente */
.btn.success{background:#1f7a3a;color:white;border-color:#1f7a3a}.buscador-actions{display:flex;flex-wrap:wrap;gap:6px}.buscador-actions .btn{margin:2px 0}.indicadores12{margin-top:16px}.ficha-kpis{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.ficha-kpis .kpi .value{font-size:20px}.informes-productivos-page,.informes-productivos-page *{font-family:"Comic Sans MS","Comic Sans",cursive!important}.mas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px}.mas-campo{display:block;border:1px solid var(--borde);border-radius:14px;background:#fbfdfb;padding:10px}.mas-campo input{margin-right:7px}.mas-campo span{display:block;font-size:12px;font-weight:900;color:var(--verde);text-transform:uppercase}.mas-campo strong{display:block;margin-top:5px;color:#1b2b1f;word-break:break-word}.mas-extra-row{display:grid;grid-template-columns:1fr 1.4fr auto;gap:8px;margin-bottom:8px;align-items:center}.mas-extra-row input{border:1px solid var(--borde);border-radius:10px;padding:9px}.informe-mas-info table td:first-child{font-weight:900;color:var(--verde)}@media(max-width:760px){.mas-extra-row{grid-template-columns:1fr}.buscador-actions{flex-direction:column}.buscador-actions .btn{width:100%}}@media print{body:has(#areaInformeMasInfo) .topbar,body:has(#areaInformeMasInfo) .sidebar,body:has(#areaInformeMasInfo) .footer-note,body:has(#areaInformeMasInfo) .section-title,body:has(#areaInformeMasInfo) .notice,body:has(#areaInformeMasInfo) .card:not(#areaInformeMasInfo){display:none!important}body:has(#areaInformeMasInfo) .layout,body:has(#areaInformeMasInfo) .main-card{display:block!important;padding:0!important;box-shadow:none!important;background:white!important}#areaInformeMasInfo{display:block!important;box-shadow:none!important;border:none!important}}


/* Cambios mañana V11 - ajustes finales */
.nav .success-nav{background:#1f7a3a;color:white;border-color:#1f7a3a}.positivo{color:#1f7a3a;font-weight:900}.negativo{color:#b42318;font-weight:900}.mas-extra-row{grid-template-columns:auto 1fr 1.4fr auto}.mas-extra-check{display:flex;align-items:center;justify-content:center}.mas-extra-check input{width:18px;height:18px}.topbar{background:rgba(255,255,255,.86)}.sidebar,.main-card,.card,.login{background:rgba(255,255,255,.90)}
@media(max-width:760px){.mas-extra-row{grid-template-columns:1fr}.mas-extra-check{justify-content:flex-start}}


/* Actualización V12: títulos en celeste y botón volver panel */
.volver-panel-row{display:flex;justify-content:flex-end;margin:-4px 0 12px}.volver-panel-btn{background:var(--azul-pagina-suave);color:var(--azul-pagina);border-color:#bde4fb;font-weight:900}.volver-panel-btn:hover{background:var(--azul-pagina);color:white;border-color:var(--azul-pagina)}
#detalleEncasteWrap{transition:all .15s ease}

/* Actualización V13: Mas Información, preguntas frecuentes e informes grupales */
.mas-info-title{justify-content:center;text-align:center;background:var(--azul-pagina-suave);border:1px solid #bde4fb;border-radius:18px;padding:12px}.mas-info-title h2{width:100%;font-size:26px}.mas-info-botones{margin-top:16px;background:#f8fcff;border-color:#cce8f7}.mas-info-botones h3{margin:0 0 8px;color:var(--azul-pagina)}.preguntas-frecuentes{margin-top:16px;border-color:#bde4fb;background:#fbfdff}.faq-input-row{display:grid;grid-template-columns:1fr auto;gap:8px;margin:10px 0}.faq-input-row input{border:1px solid var(--borde);border-radius:12px;padding:10px;background:white;outline:none}.faq-input-row input:focus{border-color:var(--azul-pagina);box-shadow:0 0 0 3px rgba(22,119,168,.12)}.faq-result{margin-top:12px}.faq-result table{margin-top:8px}.informes-grupales-page .informe-page{border-color:#cce8f7}.informe-grupal-cover .notice{margin-top:20px}.inf-cover-title-grupal{grid-template-columns:200px 1fr 1fr}
#detalleEstacionalidadWrap{transition:all .15s ease}
@media(max-width:760px){.faq-input-row{grid-template-columns:1fr}.mas-info-title h2{font-size:20px}}

/* V16 estilo Alternativa 5: aspecto más moderno, limpio y corporativo */
:root{
  --azul-pagina:#188fb5;
  --azul-pagina-suave:#e6f7fd;
  --verde:#134f2a;
  --verde2:#2e7d42;
  --verde3:#e9f5ec;
  --dorado:#d7a73f;
  --texto:#13231a;
  --muted:#65756b;
  --borde:#d8e6dc;
  --rojo:#b42318;
  --bg:#eef7ef;
  --shadow:0 18px 42px rgba(13,54,31,.14);
}
body{
  background:
    linear-gradient(135deg,rgba(8,61,34,.42),rgba(255,255,255,.46) 38%,rgba(213,166,56,.22)),
    url('/img/fondo-vacas-pradera.jpg') center/cover fixed no-repeat;
}
.app-shell{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.24));}
.topbar{
  background:linear-gradient(135deg,rgba(255,255,255,.93),rgba(237,250,241,.90));
  border:1px solid rgba(255,255,255,.72);
  box-shadow:0 20px 45px rgba(6,45,24,.18);
}
.brand-title{font-size:21px;color:#104927;letter-spacing:.01em}.brand-sub{color:#466653;font-weight:800}.brand img{filter:drop-shadow(0 8px 12px rgba(20,80,40,.18))}
.nav button,.btn{border-radius:999px;border-color:#c6dec9;background:linear-gradient(#fff,#f7fbf7);box-shadow:0 5px 12px rgba(13,54,31,.06)}
.nav button:hover,.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(13,54,31,.12)}
.nav button.active,.btn.primary{background:linear-gradient(135deg,#15572d,#2f8a48);border-color:#15572d;color:white}.btn.success,.nav .success-nav{background:linear-gradient(135deg,#216f37,#35a05a);color:white}.btn.warn,.nav button.logout-btn{background:linear-gradient(#fff6f4,#ffe9e5);color:var(--rojo);border-color:#ffd0ca}.nav button.logout-btn:hover,.btn.warn:hover{background:linear-gradient(135deg,#b42318,#d84a3b);color:white}
.sidebar,.main-card,.card,.login,.selected-mini,.search-panel{background:rgba(255,255,255,.93);border-color:rgba(216,230,220,.96);box-shadow:var(--shadow);backdrop-filter:blur(6px)}
.main-card,.sidebar,.card{border-radius:26px}.searchbox,.field input,.field select,.field textarea{border-radius:15px;border-color:#cbded0;background:rgba(255,255,255,.96)}
.section-title{background:linear-gradient(90deg,rgba(230,247,253,.92),rgba(255,255,255,0));border-left:7px solid var(--azul-pagina);padding:10px 12px;border-radius:18px}.section-title h2,.section-title h3{color:#117da0;text-shadow:none}.pill{background:linear-gradient(135deg,#e9f5ec,#fff8e8);border:1px solid #cfe4d3;color:#14512b}.kpi{background:linear-gradient(145deg,#ffffff,#f0faf3);border-color:#d4e6d8;border-radius:22px;box-shadow:0 10px 24px rgba(13,54,31,.08)}.kpi .value{color:#12502b}.total-kpi{background:linear-gradient(145deg,#fffdf4,#eaf8ff);border-color:#f0d892}.total-kpi .value{color:#936711}.notice{background:linear-gradient(90deg,#fff8e8,#ffffff);border-left-color:var(--dorado)}.okbox{background:linear-gradient(90deg,#edfff2,#ffffff);border-left-color:#2f8a48}
table{border-radius:18px;box-shadow:0 8px 20px rgba(13,54,31,.05)}th{background:linear-gradient(135deg,#e5f3e8,#d7ebdc);color:#143b22}.result-item.selected,.result-item:hover{background:linear-gradient(90deg,#eaf8ed,#fff7dd)}
.informe-page{border-radius:28px;border:1px solid #d6e4d9;background:linear-gradient(180deg,#ffffff,#fbfffb);box-shadow:0 18px 42px rgba(16,73,39,.14)}.informe-page:before{content:'';position:absolute;inset:0 0 auto 0;height:9px;background:linear-gradient(90deg,#1e6f38,#49a85f,#d7a73f,#188fb5)}.informe-print-brand{background:linear-gradient(90deg,#f7fff8,#fff8e8);border:1px solid #dcecdf;border-radius:18px;padding:10px 14px;margin-bottom:16px}.inf-cover-title span{background:#174f2b;color:white}.inf-cover-title strong{background:#f6fff7}.inf-box h4,.inf-comparativo h4{background:linear-gradient(135deg,#174f2b,#2f8a48);color:white;border-radius:12px;padding:8px 10px}.inf-comparativo{margin-top:16px;border:2px solid #d9eadc;border-radius:18px;padding:12px;background:linear-gradient(180deg,#ffffff,#f8fff9)}.inf-comparativo .inf-mini-table{margin-top:8px}.inf-alt5-footer{display:flex;align-items:center;gap:14px;margin:16px auto 0;max-width:620px;border:1px solid #e8d49a;border-radius:22px;background:linear-gradient(135deg,#fff9e8,#effaf1);padding:12px 16px;box-shadow:0 10px 24px rgba(13,54,31,.08)}.inf-alt5-footer .inf-cow{font-size:42px;line-height:1}.inf-alt5-footer strong{display:block;color:#14512b;font-size:18px}.inf-alt5-footer span{display:block;color:#607066;font-weight:800}.group-kpis{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.inf-chart{background:linear-gradient(135deg,#eef7ef,#ffffff 55%,#fff4d8)}.inf-bars{background:linear-gradient(to top,rgba(255,255,255,.78),rgba(255,255,255,.2))}
@media print{.section-title{background:none;border-left:none;padding:0}.informe-page{border-radius:0;box-shadow:none}.inf-alt5-footer{box-shadow:none}.informe-print-brand{background:white}}


/* V17 CORRECCIÓN VISUAL REAL - Inspiración Alternativa 5
   Solo cambia presentación: no modifica cálculos, datos ni estructura. */
:root{
  --vv-forest:#0f3f26;
  --vv-forest-2:#165832;
  --vv-leaf:#2f8f4e;
  --vv-mint:#edf8ef;
  --vv-gold:#d8a941;
  --vv-gold-soft:#fff3cc;
  --vv-sky:#1495bd;
  --vv-ink:#13251b;
  --vv-card:rgba(255,255,255,.965);
  --vv-border:rgba(178,209,186,.95);
  --shadow:0 22px 55px rgba(4,38,20,.22);
}
html{scroll-behavior:smooth;}
body{
  min-height:100vh;
  color:var(--vv-ink);
  background:
    radial-gradient(circle at 12% 12%,rgba(216,169,65,.25),transparent 28%),
    linear-gradient(120deg,rgba(7,47,27,.72),rgba(9,78,45,.44) 26%,rgba(255,255,255,.62) 55%,rgba(255,243,204,.50)),
    url('/img/fondo-vacas-pradera.jpg') center/cover fixed no-repeat!important;
}
body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(7,47,27,.35),transparent 34%,rgba(255,255,255,.18)),
    radial-gradient(circle at 82% 8%,rgba(20,149,189,.18),transparent 28%);
  z-index:-1;
}
.app-shell{padding:22px 18px 26px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.28));}
.topbar.topbar-alt5{
  max-width:1320px;
  margin-bottom:12px;
  padding:14px 18px;
  background:
    linear-gradient(135deg,rgba(15,63,38,.98),rgba(31,101,55,.95) 58%,rgba(216,169,65,.95))!important;
  border:1px solid rgba(255,255,255,.38);
  border-bottom:5px solid rgba(216,169,65,.95);
  color:white;
  box-shadow:0 24px 60px rgba(0,0,0,.25);
}
.brand{min-width:340px;}
.brand-logo-wrap{
  width:88px;
  height:72px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.96);
  border-radius:24px;
  border:2px solid rgba(255,244,208,.95);
  box-shadow:0 16px 28px rgba(0,0,0,.18);
}
.brand img{width:74px!important;filter:none!important;}
.brand-title{color:white!important;font-size:22px!important;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.22);}
.brand-sub{color:#fff4ca!important;font-weight:900!important;letter-spacing:.12em;}
.nav{gap:9px;}
.nav button,.btn{
  border-radius:999px!important;
  border:1px solid rgba(198,224,204,.95)!important;
  color:var(--vv-forest)!important;
  background:linear-gradient(180deg,#ffffff,#f4fbf5)!important;
  box-shadow:0 8px 18px rgba(5,45,24,.13);
  transition:transform .12s ease, box-shadow .12s ease, filter .12s ease;
}
.nav button:hover,.btn:hover{transform:translateY(-2px);box-shadow:0 13px 24px rgba(5,45,24,.20);filter:saturate(1.08);}
.nav button.active,.btn.primary{
  background:linear-gradient(135deg,var(--vv-sky),#1b7594)!important;
  border-color:rgba(255,255,255,.70)!important;
  color:white!important;
}
.btn.success,.nav .success-nav{background:linear-gradient(135deg,#1a7436,#42aa62)!important;color:white!important;}
.btn.warn,.nav button.logout-btn{
  background:linear-gradient(135deg,#fff5f0,#ffd6cc)!important;
  border-color:#ffc3b8!important;
  color:#a52217!important;
}
.nav button.logout-btn:hover,.btn.warn:hover{background:linear-gradient(135deg,#b42318,#dc4b3f)!important;color:white!important;}
.vv-hero-strip{
  max-width:1320px;
  margin:0 auto 16px;
  display:grid;
  grid-template-columns:minmax(260px,1fr) auto 64px;
  gap:14px;
  align-items:center;
  padding:14px 18px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(237,250,241,.93) 62%,rgba(255,243,204,.95));
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 20px 48px rgba(4,38,20,.18);
  backdrop-filter:blur(8px);
}
.vv-hero-copy span{display:block;color:var(--vv-sky);font-size:12px;font-weight:1000;letter-spacing:.16em;text-transform:uppercase;}
.vv-hero-copy strong{display:block;color:var(--vv-forest);font-size:20px;margin-top:3px;}
.vv-hero-badges{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.vv-hero-badges span{background:var(--vv-forest);color:white;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900;border:1px solid rgba(255,255,255,.35);}
.vv-hero-badges span:nth-child(2){background:var(--vv-gold);color:#3b2b08;}
.vv-hero-badges span:nth-child(3){background:var(--vv-sky);}
.vv-hero-animal{font-size:42px;text-align:center;filter:drop-shadow(0 8px 10px rgba(0,0,0,.16));}
.layout{max-width:1320px;grid-template-columns:380px 1fr;gap:18px;}
.sidebar,.main-card,.card,.login,.selected-mini,.search-panel{
  background:var(--vv-card)!important;
  border:1px solid var(--vv-border)!important;
  box-shadow:var(--shadow)!important;
  backdrop-filter:blur(8px);
}
.sidebar,.main-card,.card{border-radius:30px!important;}
.sidebar{padding:16px;position:sticky;top:16px;}
.main-card{padding:22px;position:relative;overflow:hidden;}
.main-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:10px;
  background:linear-gradient(90deg,var(--vv-forest),var(--vv-leaf),var(--vv-gold),var(--vv-sky));
}
.card{padding:17px;position:relative;overflow:hidden;}
.card::before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;width:6px;
  background:linear-gradient(180deg,var(--vv-leaf),var(--vv-gold));
  opacity:.95;
}
.card > *{position:relative;z-index:1;}
.search-panel{
  background:linear-gradient(180deg,#ffffff,#eef8f0)!important;
  border-radius:25px!important;
  padding:16px;
}
.search-panel h2{
  color:white!important;
  background:linear-gradient(135deg,var(--vv-forest),var(--vv-leaf));
  margin:-16px -16px 12px!important;
  padding:13px 16px;
  border-radius:24px 24px 16px 16px;
  letter-spacing:.02em;
}
.searchbox,.field input,.field select,.field textarea,.faq-input-row input,.inf-actions input{
  border-radius:17px!important;
  border:2px solid #c5ddcc!important;
  background:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8),0 5px 12px rgba(11,64,32,.05);
}
.searchbox:focus,.field input:focus,.field select:focus,.field textarea:focus,.faq-input-row input:focus{
  border-color:var(--vv-sky)!important;
  box-shadow:0 0 0 4px rgba(20,149,189,.16),0 8px 18px rgba(11,64,32,.08)!important;
}
.results{border-radius:20px;border:1px solid #cfe2d4;background:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.7);}
.result-item{border-bottom:1px solid #edf4ef;padding:12px 13px;}
.result-item:hover,.result-item.selected{background:linear-gradient(90deg,#e8f7eb,#fff2c7)!important;}
.result-name{color:#103c24;font-size:15px;}
.selected-mini{border-radius:24px!important;background:linear-gradient(135deg,#ffffff,#fff9e8)!important;}
.section-title{
  background:linear-gradient(135deg,var(--vv-forest),var(--vv-leaf) 62%,var(--vv-sky))!important;
  border-left:none!important;
  border-bottom:4px solid var(--vv-gold);
  color:white;
  padding:14px 16px!important;
  border-radius:24px!important;
  box-shadow:0 15px 30px rgba(4,38,20,.16);
}
.section-title h2,.section-title h3{color:white!important;text-shadow:0 2px 8px rgba(0,0,0,.20)!important;}
.section-title .pill{background:rgba(255,255,255,.18)!important;color:#fff!important;border-color:rgba(255,255,255,.42)!important;}
.pill{background:linear-gradient(135deg,#eaf8ee,#fff1bf)!important;color:#104526!important;border:1px solid #c8e2ce!important;}
.kpis{gap:13px;}
.kpi{
  background:linear-gradient(145deg,#ffffff 0%,#eef9f0 100%)!important;
  border:1px solid #cfe3d4!important;
  border-radius:25px!important;
  padding:16px!important;
  box-shadow:0 16px 34px rgba(4,38,20,.13)!important;
  position:relative;
  overflow:hidden;
}
.kpi::after{
  content:"";
  position:absolute;
  right:-26px;top:-30px;width:88px;height:88px;border-radius:50%;
  background:rgba(216,169,65,.23);
}
.kpi .label{color:#486756!important;font-size:11px;letter-spacing:.08em;position:relative;z-index:1;}
.kpi .value{color:var(--vv-forest)!important;font-size:26px!important;position:relative;z-index:1;}
.total-kpi{background:linear-gradient(145deg,#fff9e5,#eaf8ff)!important;border-color:#e4c871!important;}
.total-kpi .value{color:#8a620a!important;}
.notice,.okbox,.error{border-radius:22px!important;box-shadow:0 10px 22px rgba(4,38,20,.07);}
.notice{background:linear-gradient(90deg,#fff2c8,#ffffff)!important;border-left:8px solid var(--vv-gold)!important;color:#4d3a0f!important;}
.okbox{background:linear-gradient(90deg,#e8fff0,#ffffff)!important;border-left:8px solid var(--vv-leaf)!important;}
.error{border-left-width:8px!important;}
table{border:1px solid #cfe0d3!important;border-radius:22px!important;box-shadow:0 12px 28px rgba(4,38,20,.08)!important;}
th{background:linear-gradient(135deg,var(--vv-forest),#247844)!important;color:white!important;font-size:12px!important;letter-spacing:.04em;}
td{background:rgba(255,255,255,.96);}
tr:nth-child(even) td{background:#f8fcf9;}
tr.clickable:hover td{background:#fff3cc!important;}
.detail-grid{gap:11px;}
.detail-item{
  background:linear-gradient(145deg,#ffffff,#f1faf3)!important;
  border:1px solid #d3e6d8!important;
  border-radius:19px!important;
  box-shadow:0 8px 18px rgba(4,38,20,.06);
}
.detail-item .label{color:#49705a!important;letter-spacing:.06em;}
.detail-item .value{color:#102e1d;font-size:15px;}
.ficha-menu{
  background:linear-gradient(180deg,var(--vv-forest),#1d6b3b)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  border-radius:27px!important;
  box-shadow:0 20px 45px rgba(4,38,20,.20)!important;
}
.side-btn{background:rgba(255,255,255,.96)!important;border-color:rgba(255,255,255,.75)!important;border-radius:17px!important;color:var(--vv-forest)!important;box-shadow:0 7px 15px rgba(0,0,0,.10);}
.side-btn:hover{background:#fff2c8!important;transform:translateX(-2px);}
.side-btn.exit{background:linear-gradient(135deg,var(--vv-gold),#f2ca67)!important;color:#312305!important;}
.ficha-header h3{color:var(--vv-forest)!important;font-size:28px;}
.login{max-width:500px;border-radius:34px!important;background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(239,250,241,.96) 60%,rgba(255,244,211,.96))!important;border-top:8px solid var(--vv-gold)!important;}
.login h1{color:var(--vv-forest)!important;font-size:28px;}
.login-logo img{max-width:190px;filter:drop-shadow(0 12px 20px rgba(4,38,20,.18));}
.mas-campo{border-radius:19px!important;background:linear-gradient(145deg,#fff,#f1faf3)!important;}
.mas-campo span{color:var(--vv-forest)!important;}
.preguntas-frecuentes{background:linear-gradient(145deg,#ffffff,#eefaff)!important;border-color:#bde1ed!important;}
.informe-doc{gap:24px;}
.informe-page{border-radius:34px!important;border:1px solid #cddfd2!important;background:radial-gradient(circle at 0% 0%,rgba(216,169,65,.16),transparent 24%),linear-gradient(180deg,#ffffff,#fbfffc)!important;box-shadow:0 22px 60px rgba(8,53,29,.18)!important;}
.informe-page:before{height:12px!important;background:linear-gradient(90deg,var(--vv-forest),var(--vv-leaf),var(--vv-gold),var(--vv-sky))!important;}
.informe-print-brand,.inf-page-head{background:linear-gradient(135deg,#f3fff5,#fff3cc)!important;border:1px solid #d9e8dc!important;border-radius:22px!important;padding:11px 14px!important;}
.informe-print-brand strong,.inf-page-head h3{color:var(--vv-forest)!important;}
.informe-print-brand span,.inf-page-head p{color:#5f735f!important;}
.inf-box,.inf-panel,.inf-comparativo,.inf-chart,.inf-comparativo-grafico{border-radius:23px!important;border-color:#d2e4d7!important;box-shadow:0 12px 28px rgba(4,38,20,.08);}
.inf-box h4,.inf-comparativo h4,.inf-panel-top h4,.inf-comparativo-grafico h4{background:linear-gradient(135deg,var(--vv-forest),var(--vv-leaf))!important;color:white!important;border-bottom:4px solid var(--vv-gold)!important;}
.inf-cover-title span{background:var(--vv-forest)!important;color:#fff!important;}
.inf-cover-title strong{background:#fff9df!important;color:#102e1d!important;}
.inf-ranking{background:linear-gradient(135deg,var(--vv-forest),#1b7040)!important;border-color:var(--vv-gold)!important;color:white!important;}
.inf-ranking strong{color:#fff3cc!important;}
.inf-alt5-footer{background:linear-gradient(135deg,#fff3cc,#eaf8ee)!important;border:2px solid #e2c465!important;border-radius:28px!important;}
.inf-alt5-footer small{display:block;color:#365844;margin-top:4px;font-weight:800;}
.inf-comparativo-alt2{background:linear-gradient(135deg,#f9fffb,#eefaff)!important;border:2px solid #bfe0eb!important;}
.inf-comparativo-grafico{margin-top:13px;padding:12px;background:linear-gradient(135deg,#eefaff,#ffffff 56%,#fff4ce);border:2px solid #bfe0eb;}
.inf-comparativo-grafico h4{margin:-12px -12px 12px;padding:9px 12px;border-radius:20px 20px 12px 12px;font-size:14px;}
.inf-comp-legend{display:flex;justify-content:flex-end;gap:10px;margin-bottom:8px;font-size:11px;font-weight:900;text-transform:uppercase;}
.inf-comp-legend span{border-radius:999px;padding:4px 8px;}
.inf-comp-legend .agri{background:#d9f0ff;color:#0e6988;}.inf-comp-legend .grupo{background:#fff1bf;color:#79560a;}
.inf-comp-row{display:grid;grid-template-columns:155px 1fr;gap:10px;align-items:center;margin:9px 0;}
.inf-comp-label{font-weight:900;color:#143b22;font-size:12px;text-transform:uppercase;}
.inf-comp-bars{display:grid;gap:5px;}
.inf-comp-line{display:grid;grid-template-columns:75px 1fr 92px;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#52685a;}
.inf-comp-line b{display:block;height:14px;border-radius:999px;min-width:6px;box-shadow:inset 0 1px 0 rgba(255,255,255,.45);}
.inf-comp-line b.agri{background:linear-gradient(90deg,var(--vv-sky),#75c8df);}
.inf-comp-line b.grupo{background:linear-gradient(90deg,var(--vv-gold),#f2d37a);}
.inf-comp-line em{font-style:normal;font-weight:900;color:#123820;text-align:right;}
.footer-note{color:#fff;background:rgba(15,63,38,.70);max-width:700px;margin:18px auto 0;padding:8px 14px;border-radius:999px;}
@media(max-width:980px){.brand{min-width:0}.vv-hero-strip{grid-template-columns:1fr}.vv-hero-badges{justify-content:flex-start}.vv-hero-animal{display:none}.layout{grid-template-columns:1fr}.sidebar{position:static}.brand-logo-wrap{width:78px;height:66px}.brand-title{font-size:18px!important;}.inf-comp-row{grid-template-columns:1fr}.inf-comp-line{grid-template-columns:65px 1fr 82px}}
@media print{body{background:white!important;color:#111!important;}.vv-hero-strip{display:none!important;}.footer-note{background:none;color:#777;}.section-title{background:none!important;box-shadow:none!important;border-bottom:none!important;color:#111!important;padding:0!important;}.section-title h2,.section-title h3{color:#111!important;text-shadow:none!important;}.card::before,.main-card::before{display:none!important;}.informe-page{box-shadow:none!important;border-radius:0!important;background:white!important;}.informe-print-brand,.inf-page-head{background:white!important;}.inf-comparativo-grafico{background:white!important;box-shadow:none!important;}.inf-comparativo-grafico h4{background:#e7f1e9!important;color:#111!important;border-bottom:0!important}}

/* =========================
   V18 - Rediseño real de Informes Productivos
   Estructura tipo reporte empresarial, sin formato planilla Excel.
   ========================= */
.informes-productivos-page,
.informes-productivos-page *{
  font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;
}
.v18-report .informe-doc{gap:28px!important;}
.v18-report .informe-page,
.informes-grupales-page .informe-page{
  width:100%;
  max-width:980px;
  min-height:960px;
  padding:28px 32px;
  border-radius:36px!important;
  border:1px solid rgba(25,88,49,.18)!important;
  background:
    radial-gradient(circle at 5% 0%,rgba(216,169,65,.22),transparent 24%),
    radial-gradient(circle at 96% 12%,rgba(20,149,189,.14),transparent 28%),
    linear-gradient(180deg,#ffffff 0%,#f8fcf9 100%)!important;
  box-shadow:0 24px 70px rgba(7,45,25,.20)!important;
  overflow:hidden;
}
.v18-report .informe-page:before,
.informes-grupales-page .informe-page:before{
  content:""!important;
  position:absolute!important;
  top:0!important;left:0!important;right:0!important;height:13px!important;
  background:linear-gradient(90deg,#0f3f26,#2d8a47,#d8a941,#1495bd)!important;
  inset:auto!important;
}
.vv-report-brand{display:flex;align-items:center;gap:15px;margin-bottom:16px;padding:12px 14px;border-radius:22px;background:rgba(255,255,255,.78);border:1px solid rgba(25,88,49,.14);box-shadow:0 10px 26px rgba(7,45,25,.07)}
.vv-report-brand img{width:86px;height:auto;object-fit:contain;filter:drop-shadow(0 6px 10px rgba(7,45,25,.18))}
.vv-report-brand strong{display:block;color:#0f3f26;font-size:15px;letter-spacing:.04em;text-transform:uppercase}
.vv-report-brand span{display:block;color:#667b69;font-weight:800;font-size:12px;margin-top:2px}
.vv-cover-hero{display:grid;grid-template-columns:1fr 180px;gap:18px;align-items:stretch;margin-bottom:18px}
.vv-cover-hero>div{border-radius:30px;padding:22px 24px;background:linear-gradient(135deg,#0f3f26 0%,#1e7b41 68%,#1495bd 100%);color:white;position:relative;overflow:hidden;box-shadow:0 20px 44px rgba(10,60,32,.25)}
.vv-cover-hero>div:after{content:"";position:absolute;right:-60px;bottom:-90px;width:220px;height:220px;border-radius:50%;background:rgba(255,255,255,.10)}
.vv-cover-hero span{display:block;font-weight:900;text-transform:uppercase;letter-spacing:.10em;font-size:11px;opacity:.92;margin-bottom:7px}
.vv-cover-hero h1{margin:0;font-size:35px;line-height:1.05;color:white!important;text-shadow:0 3px 12px rgba(0,0,0,.20)}
.vv-cover-hero p{margin:9px 0 0;font-weight:800;color:#ecfff0;font-size:13px;position:relative;z-index:1}
.vv-cover-hero aside{border-radius:30px;padding:18px;background:linear-gradient(160deg,#fff4ce,#ffffff);border:1px solid #ead183;text-align:center;box-shadow:0 16px 34px rgba(123,85,9,.12)}
.vv-cover-hero aside span{color:#79560a;opacity:1;margin-bottom:8px}
.vv-cover-hero aside strong{display:block;font-size:54px;line-height:1;color:#0f3f26}
.vv-cover-hero aside small{display:block;color:#6c765e;font-weight:800;margin-top:5px}
.vv-cover-grid{display:grid;grid-template-columns:minmax(260px,.9fr) 1.45fr;gap:16px;align-items:start}
.vv-profile-card,.vv-kpi-board,.vv-comp-panel,.vv-chart-pro,.vv-eff-block,.vv-param-focus,.vv-param-summary article,.vv-year-panel,.vv-eff-base{background:rgba(255,255,255,.88);border:1px solid rgba(25,88,49,.14);border-radius:26px;box-shadow:0 14px 34px rgba(9,52,28,.09)}
.vv-profile-card,.vv-kpi-board{padding:16px}
.vv-profile-card h3,.vv-kpi-board h3{margin:0 0 11px;color:#0f3f26!important;font-size:16px;text-transform:uppercase;letter-spacing:.06em}
.vv-data-grid{display:grid;grid-template-columns:1fr;gap:7px}
.vv-data-pill{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:8px 10px;border-radius:15px;background:linear-gradient(90deg,#f7fbf8,#ffffff);border:1px solid #e5efe7}
.vv-data-pill span{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#5d745f;font-weight:900}
.vv-data-pill strong{font-size:12px;color:#143b22;text-align:right;max-width:62%;word-break:break-word}
.vv-kpi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.vv-kpi-card{display:grid;grid-template-columns:38px 1fr;gap:9px;align-items:center;padding:10px;border-radius:18px;background:linear-gradient(145deg,#ffffff,#eef9f1);border:1px solid #d9eadc;min-height:78px;position:relative;overflow:hidden}
.vv-kpi-card:after{content:"";position:absolute;right:-18px;top:-20px;width:58px;height:58px;border-radius:50%;background:rgba(216,169,65,.18)}
.vv-kpi-icon{width:38px;height:38px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(135deg,#0f3f26,#2d8a47);color:white;font-size:15px;font-weight:900;position:relative;z-index:1}
.vv-kpi-card span{display:block;color:#516a57;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;position:relative;z-index:1}
.vv-kpi-card strong{display:block;color:#0f3f26;font-size:19px;line-height:1.05;margin-top:2px;position:relative;z-index:1}
.vv-kpi-card em{display:block;color:#6d7d6b;font-size:10px;font-style:normal;font-weight:800;margin-top:2px;position:relative;z-index:1}
.vv-comp-panel{margin-top:16px;padding:15px;background:linear-gradient(135deg,#f7fdff 0%,#ffffff 56%,#fff5d6 100%);border-color:#bfe3ed!important}
.vv-comp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px;border-bottom:1px solid #dceceb;padding-bottom:9px}
.vv-comp-head span{font-size:11px;letter-spacing:.10em;text-transform:uppercase;color:#0e6988;font-weight:900}
.vv-comp-head h3{margin:0;color:#0f3f26!important;font-size:18px}
.vv-comp-head p{margin:0;color:#63756b;font-size:12px;font-weight:800;max-width:280px;text-align:right}
.vv-comp-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.vv-comp-item{padding:10px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid #e1ece5}
.vv-comp-name{font-weight:950;color:#153d24;text-transform:uppercase;font-size:11px;margin-bottom:7px}
.vv-comp-track{display:grid;grid-template-columns:68px 1fr 86px;gap:7px;align-items:center;margin:5px 0;font-size:10px;color:#607066;font-weight:900}
.vv-comp-track b{height:12px;border-radius:99px;min-width:4px;display:block;box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.vv-comp-track b.farmer{background:linear-gradient(90deg,#1495bd,#76d1e6)}
.vv-comp-track b.group{background:linear-gradient(90deg,#d8a941,#f1cf73)}
.vv-comp-track em{text-align:right;font-style:normal;color:#143b22;font-weight:950}
.vv-chart-pro{margin-top:16px;padding:14px 14px 12px;background:linear-gradient(135deg,#f2faf4,#ffffff);border-radius:26px;border:1px solid #d5e8da;box-shadow:0 14px 34px rgba(9,52,28,.09)}
.vv-chart-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}.vv-chart-title h4{margin:0;color:#0f3f26!important;font-size:16px}.vv-chart-title .legend{display:inline-flex;margin-left:6px;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:900;text-transform:uppercase}.vv-chart-title .legend.farmer{background:#dff5ff;color:#0e6988}.vv-chart-title .legend.group{background:#fff1bf;color:#79560a}
.vv-chart-plot{height:210px;display:flex;align-items:flex-end;gap:12px;padding:12px 4px 0;border-radius:20px;background:repeating-linear-gradient(to top,rgba(15,63,38,.05) 0,rgba(15,63,38,.05) 1px,transparent 1px,transparent 42px)}
.vv-chart-col{flex:1;min-width:54px;height:100%;display:grid;grid-template-rows:35px 1fr 22px;align-items:end;text-align:center}.vv-chart-values{display:grid;grid-template-columns:1fr 1fr;gap:2px;align-self:start}.vv-chart-values small{font-size:9px;color:#526a59;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vv-chart-bars{height:100%;display:flex;align-items:flex-end;justify-content:center;gap:6px}.vv-chart-bars i{display:block;width:22px;border-radius:12px 12px 4px 4px;min-height:0}.vv-chart-bars i.farmer{background:linear-gradient(180deg,#1495bd,#84d7e8)}.vv-chart-bars i.group{background:linear-gradient(180deg,#d8a941,#ffe29a)}.vv-chart-col b{color:#0f3f26;font-size:12px;margin-top:4px}.vv-chart-pro.empty{min-height:130px;display:grid;place-items:center;text-align:center}.vv-chart-pro.empty p{margin:0;color:#66786b;font-weight:800}
.vv-alt5-message{margin:16px auto 0;max-width:720px;display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:28px;background:linear-gradient(135deg,#fff2c8,#e9f8ee);border:2px solid #e1c565;box-shadow:0 16px 35px rgba(117,82,9,.12)}
.vv-cow-badge{width:58px;height:58px;border-radius:22px;display:grid;place-items:center;background:white;font-size:34px;box-shadow:0 10px 20px rgba(9,52,28,.10)}.vv-alt5-message strong{display:block;color:#0f3f26;font-size:18px}.vv-alt5-message span{display:block;color:#526b59;font-weight:850;margin-top:2px}
.vv-param-header{display:flex;align-items:center;gap:16px;margin-bottom:14px;padding:13px 15px;border-radius:25px;background:linear-gradient(135deg,#0f3f26,#2d8a47);color:white;box-shadow:0 16px 34px rgba(9,52,28,.18)}.vv-param-header img{width:78px;background:white;border-radius:18px;padding:4px}.vv-param-header span{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:900;color:#dfffe8}.vv-param-header h2{margin:2px 0;color:white!important;font-size:27px;line-height:1.05}.vv-param-header p{margin:0;color:#eaf7ec;font-weight:800;font-size:12px}
.vv-param-dashboard{display:grid;grid-template-columns:245px 1fr;gap:14px;margin-bottom:14px}.vv-param-focus{padding:18px;background:linear-gradient(160deg,#fff4ce,#ffffff);border-color:#ead183!important;text-align:center}.vv-param-focus span{display:block;color:#79560a;text-transform:uppercase;font-size:10px;letter-spacing:.08em;font-weight:950}.vv-param-focus strong{display:block;color:#0f3f26;font-size:38px;line-height:1.05;margin:8px 0}.vv-param-focus em{font-style:normal;color:#516a57;font-weight:900}.vv-param-focus small{display:block;margin-top:8px;font-weight:950}.vv-param-focus small.up{color:#1f7a3a}.vv-param-focus small.down{color:#b42318}.vv-param-focus small.neutral{color:#66786b}.vv-param-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.vv-param-summary article{padding:14px}.vv-param-summary span{display:block;color:#66786b;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:950}.vv-param-summary strong{display:block;margin-top:7px;color:#0f3f26;font-size:18px}
.vv-monthly-section{margin-top:16px}.vv-section-kicker{display:inline-flex;padding:7px 12px;border-radius:999px;background:#0f3f26;color:white;font-weight:950;font-size:11px;text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px}.vv-year-panel{padding:12px;margin-bottom:10px}.vv-year-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:9px}.vv-year-head h4{margin:0;color:#0f3f26!important;font-size:18px}.vv-year-head div{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.vv-year-head span{font-size:10px;text-transform:uppercase;color:#617467;font-weight:900;background:#f3faf5;border:1px solid #dceade;border-radius:999px;padding:4px 8px}.vv-year-head b{color:#0f3f26}.vv-month-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:5px}.vv-month-tile{min-height:48px;border-radius:12px;background:linear-gradient(180deg,#ffffff,#f4faf5);border:1px solid #e1ece4;padding:5px;text-align:center;display:flex;flex-direction:column;justify-content:center}.vv-month-tile span{font-size:9px;color:#63756b;font-weight:950;text-transform:uppercase}.vv-month-tile strong{font-size:10px;color:#143b22;line-height:1.1;margin-top:2px}.vv-month-tile.alerta{background:#fff1f0;border-color:#ffc7c1}.vv-month-tile.alerta strong{color:#b42318}
.vv-eff-main{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}.vv-eff-base{padding:17px;background:linear-gradient(135deg,#f7fff9,#fff4ce)}.vv-eff-base span{display:block;color:#66786b;font-weight:950;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.vv-eff-base strong{display:block;color:#0f3f26;font-size:28px;margin-top:5px}.vv-eff-grid{display:grid;grid-template-columns:1fr;gap:14px}.vv-eff-block{padding:14px}.vv-eff-title{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px}.vv-eff-title h4{margin:0;color:#0f3f26!important;font-size:17px}.vv-eff-title span{background:#fff1bf;color:#79560a;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:950}.vv-eff-years{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:8px}.vv-eff-year{padding:9px;border-radius:16px;background:#f7fbf8;border:1px solid #e0ece4}.vv-eff-year span{display:block;color:#66786b;font-weight:950;font-size:10px}.vv-eff-year strong{display:block;color:#0f3f26;font-size:16px;margin-top:3px}.vv-eff-year small{display:block;color:#66786b;font-weight:800;font-size:9px;margin-top:3px}
.v18-report .inf-table,.v18-report .inf-data-table,.v18-report .inf-mini-table{box-shadow:none!important;border-radius:18px!important;}
@media(max-width:980px){.vv-cover-hero,.vv-cover-grid,.vv-param-dashboard,.vv-eff-main{grid-template-columns:1fr}.vv-kpi-grid,.vv-comp-list,.vv-param-summary{grid-template-columns:1fr}.vv-month-grid{grid-template-columns:repeat(3,1fr)}.vv-eff-years{grid-template-columns:repeat(2,1fr)}.vv-chart-plot{overflow:auto}.vv-data-pill strong{max-width:55%}}
@media print{
  @page{size:letter;margin:8mm}
  .informes-productivos-page,.informes-productivos-page *{font-family:"Segoe UI",Arial,Helvetica,sans-serif!important;}
  .v18-report .informe-page{max-width:none!important;width:100%!important;min-height:255mm!important;padding:8mm 9mm!important;border-radius:0!important;box-shadow:none!important;background:white!important;page-break-after:always;break-after:page;}
  .v18-report .informe-page:last-child{page-break-after:auto;break-after:auto;}
  .vv-cover-hero>div,.vv-param-header{box-shadow:none!important;}
  .vv-profile-card,.vv-kpi-board,.vv-comp-panel,.vv-chart-pro,.vv-eff-block,.vv-param-focus,.vv-param-summary article,.vv-year-panel,.vv-eff-base,.vv-alt5-message{box-shadow:none!important;}
  .vv-cover-hero h1{font-size:30px!important}.vv-kpi-grid{grid-template-columns:repeat(3,1fr)!important}.vv-kpi-card{min-height:66px!important;padding:8px!important}.vv-kpi-card strong{font-size:16px!important}.vv-chart-plot{height:165px!important}.vv-month-tile{min-height:38px!important}.vv-month-tile strong{font-size:9px!important}.vv-year-panel{break-inside:avoid;page-break-inside:avoid}.vv-chart-pro{break-inside:avoid;page-break-inside:avoid}.vv-comp-panel{break-inside:avoid;page-break-inside:avoid}
}

/* =========================
   V19 - Ajustes solicitados sobre V18
   Azul visual para informes + cierre técnico con asesor.
   ========================= */
.v18-report .informe-page,
.informes-grupales-page .informe-page{
  border-color:rgba(22,119,168,.20)!important;
  background:
    radial-gradient(circle at 5% 0%,rgba(37,129,191,.16),transparent 25%),
    radial-gradient(circle at 96% 12%,rgba(105,185,224,.18),transparent 30%),
    linear-gradient(180deg,#ffffff 0%,#f4faff 100%)!important;
  box-shadow:0 24px 70px rgba(9,56,94,.18)!important;
}
.v18-report .informe-page:before,
.informes-grupales-page .informe-page:before{
  background:linear-gradient(90deg,#0b4e85,#1677a8,#45acd3,#d8a941)!important;
}
.vv-report-brand,
.vv-profile-card,.vv-kpi-board,.vv-comp-panel,.vv-chart-pro,.vv-eff-block,.vv-param-focus,.vv-param-summary article,.vv-year-panel,.vv-eff-base,.vv-recommend-box,.vv-advisor-cartoon{
  border-color:rgba(22,119,168,.16)!important;
  box-shadow:0 14px 34px rgba(9,56,94,.09)!important;
}
.vv-report-brand strong,.vv-profile-card h3,.vv-kpi-board h3,.vv-comp-head h3,.vv-chart-title h4,.vv-chart-col b,.vv-param-focus strong,.vv-param-summary strong,.vv-year-head h4,.vv-year-head b,.vv-eff-base strong,.vv-eff-title h4,.vv-eff-year strong,.vv-data-pill strong,.vv-kpi-card strong,.vv-cover-hero aside strong,.vv-alt5-message strong,.vv-recommend-box h3{
  color:#0b4e85!important;
}
.vv-cover-hero>div,
.vv-param-header,
.vv-kpi-icon{
  background:linear-gradient(135deg,#0b4e85 0%,#1677a8 66%,#45acd3 100%)!important;
  box-shadow:0 20px 44px rgba(9,56,94,.22)!important;
}
.vv-cover-hero p,.vv-param-header p{color:#eaf8ff!important}
.vv-param-header span{color:#d9f3ff!important}
.vv-data-pill,.vv-kpi-card,.vv-month-tile,.vv-eff-year{
  background:linear-gradient(145deg,#ffffff,#eef8ff)!important;
  border-color:#d7eaf5!important;
}
.vv-kpi-card:after{background:rgba(69,172,211,.16)!important}
.vv-chart-pro{background:linear-gradient(135deg,#edf8ff,#ffffff)!important;border-color:#c9e5f3!important}
.vv-chart-plot{background:repeating-linear-gradient(to top,rgba(22,119,168,.06) 0,rgba(22,119,168,.06) 1px,transparent 1px,transparent 42px)!important}
.vv-chart-bars i.farmer{background:linear-gradient(180deg,#0b72a8,#7ed4ee)!important}
.vv-chart-title .legend.farmer{background:#dff5ff!important;color:#0b4e85!important}
.vv-comp-panel{background:linear-gradient(135deg,#f2fbff 0%,#ffffff 58%,#fff6dc 100%)!important;border-color:#bfe3f2!important}
.vv-comp-name,.vv-comp-track em{color:#0c426e!important}
.vv-comp-track b.farmer{background:linear-gradient(90deg,#0b72a8,#7ed4ee)!important}
.vv-section-kicker{background:#0b4e85!important}
.vv-year-head span{background:#edf8ff!important;border-color:#d5eaf6!important}
.vv-eff-base{background:linear-gradient(135deg,#f0f9ff,#fff5d6)!important}
.vv-alt5-message{background:linear-gradient(135deg,#fff2c8,#eaf8ff)!important;border-color:#d9bd58!important;box-shadow:0 16px 35px rgba(9,56,94,.10)!important}
.vv-cow-badge{box-shadow:0 10px 20px rgba(9,56,94,.10)!important}
.vv-chart-col.single .vv-chart-values{grid-template-columns:1fr!important}.vv-chart-col.single .vv-chart-bars i{width:34px!important}
.vv-final-advisor-page{display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.vv-advisor-layout{display:grid;grid-template-columns:260px 1fr;gap:18px;align-items:stretch;margin-top:20px}
.vv-advisor-cartoon{border-radius:30px;background:linear-gradient(160deg,#eaf8ff,#ffffff);padding:22px;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:320px}
.vv-advisor-head{width:150px;height:150px;border-radius:50px;background:linear-gradient(135deg,#ffffff,#dff4ff);display:grid;place-items:center;font-size:88px;border:3px solid #bfe3f2;box-shadow:0 16px 32px rgba(9,56,94,.12);margin-bottom:14px}
.vv-advisor-cartoon strong{display:block;color:#0b4e85;font-size:22px;font-weight:950}.vv-advisor-cartoon span{display:block;color:#5d7280;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-top:5px}
.vv-recommend-box{border-radius:30px;background:linear-gradient(180deg,#ffffff,#f4fbff);padding:24px}
.vv-recommend-box h3{margin:0 0 14px;font-size:25px}.vv-recommend-box ul{margin:0;padding-left:22px}.vv-recommend-box li{margin:13px 0;color:#263f50;font-weight:850;line-height:1.45;font-size:15px}
.vv-notes-box{margin-top:20px;border-radius:22px;border:2px dashed #9bcfe8;background:#f7fcff;padding:16px}.vv-notes-box strong{display:block;color:#0b4e85;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.vv-notes-box p{margin:8px 0 0;color:#5b7482;font-weight:800}
.vv-final-message{margin-top:auto!important;max-width:100%!important}
@media(max-width:980px){.vv-advisor-layout{grid-template-columns:1fr}.vv-advisor-cartoon{min-height:220px}.vv-advisor-head{width:120px;height:120px;font-size:68px}}
@media print{
  .vv-advisor-layout{grid-template-columns:240px 1fr!important}.vv-advisor-cartoon,.vv-recommend-box{box-shadow:none!important}.vv-advisor-head{box-shadow:none!important}.vv-final-advisor-page{break-inside:avoid;page-break-inside:avoid}
}

/* =========================
   V20 - Azul corporativo en todo el sistema + panel principal más limpio
   ========================= */
:root{
  --azul-pagina:#1677a8;
  --azul-pagina-suave:#e8f6ff;
  --verde:#0b4e85;
  --verde2:#1677a8;
  --verde3:#e8f6ff;
  --dorado:#d8a941;
  --texto:#123044;
  --muted:#5d7280;
  --borde:#c9e5f3;
  --bg:#eef8ff;
  --vv-forest:#0b4e85;
  --vv-forest-2:#0c5f94;
  --vv-leaf:#1677a8;
  --vv-mint:#e8f6ff;
  --vv-sky:#45acd3;
  --vv-ink:#123044;
  --vv-card:rgba(255,255,255,.965);
  --vv-border:rgba(191,227,242,.96);
  --shadow:0 22px 55px rgba(9,56,94,.18);
}
body{
  background:
    radial-gradient(circle at 12% 12%,rgba(69,172,211,.12),transparent 24%),
    linear-gradient(120deg,rgba(11,78,133,.24),rgba(255,255,255,.18) 42%,rgba(216,169,65,.08)),
    url('/img/fondo-vacas-pradera.jpg') center/cover fixed no-repeat!important;
}
body::before{
  background:
    linear-gradient(90deg,rgba(11,78,133,.12),transparent 34%,rgba(255,255,255,.08)),
    radial-gradient(circle at 82% 8%,rgba(69,172,211,.10),transparent 28%)!important;
}
.app-shell{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.12))!important;}
.topbar.topbar-alt5{
  background:linear-gradient(135deg,#0b4e85,#1677a8 62%,#45acd3)!important;
  border-bottom-color:rgba(216,169,65,.95)!important;
  box-shadow:0 24px 60px rgba(9,56,94,.24)!important;
}
.brand-sub{color:#d9f3ff!important}.brand-logo-wrap{border-color:#d9f3ff!important;}
.nav button,.btn{border-color:#c9e5f3!important;color:#0b4e85!important;background:linear-gradient(180deg,#ffffff,#f1f9ff)!important;box-shadow:0 8px 18px rgba(9,56,94,.10)!important;}
.nav button:hover,.btn:hover{box-shadow:0 13px 24px rgba(9,56,94,.16)!important;}
.nav button.active,.btn.primary{background:linear-gradient(135deg,#0b4e85,#1677a8)!important;border-color:#0b4e85!important;color:white!important;}
.btn.success,.nav .success-nav{background:linear-gradient(135deg,#0b4e85,#45acd3)!important;color:white!important;border-color:#0b4e85!important;}
.vv-panel-clear-space{max-width:1320px;height:116px;margin:0 auto 16px;border-radius:28px;background:transparent!important;box-shadow:none!important;border:none!important;}
.vv-hero-strip{background:linear-gradient(135deg,rgba(255,255,255,.93),rgba(232,246,255,.92) 65%,rgba(255,246,220,.94))!important;box-shadow:0 20px 48px rgba(9,56,94,.14)!important;}
.vv-hero-copy span{color:#1677a8!important}.vv-hero-copy strong{color:#0b4e85!important}.vv-hero-badges span{background:#0b4e85!important}.vv-hero-badges span:nth-child(2){background:#d8a941!important;color:#3b2b08!important}.vv-hero-badges span:nth-child(3){background:#1677a8!important;}
.sidebar,.main-card,.card,.login,.selected-mini,.search-panel{border-color:rgba(191,227,242,.96)!important;box-shadow:var(--shadow)!important;}
.main-card::before{background:linear-gradient(90deg,#0b4e85,#1677a8,#45acd3,#d8a941)!important;}
.card::before{background:linear-gradient(180deg,#1677a8,#45acd3)!important;}
.search-panel{background:linear-gradient(180deg,#ffffff,#eef8ff)!important;}
.search-panel h2{background:linear-gradient(135deg,#0b4e85,#1677a8)!important;color:white!important;}
.searchbox,.field input,.field select,.field textarea,.faq-input-row input,.inf-actions input{border-color:#bfe3f2!important;}
.searchbox:focus,.field input:focus,.field select:focus,.field textarea:focus,.faq-input-row input:focus{border-color:#1677a8!important;box-shadow:0 0 0 4px rgba(22,119,168,.16),0 8px 18px rgba(9,56,94,.08)!important;}
.result-item:hover,.result-item.selected{background:linear-gradient(90deg,#e8f6ff,#fff4ce)!important;}.result-name{color:#0b4e85!important;}.selected-mini{background:linear-gradient(135deg,#ffffff,#eef8ff)!important;}.selected-mini strong{color:#0b4e85!important;}
.section-title{background:linear-gradient(135deg,#0b4e85,#1677a8 64%,#45acd3)!important;border-bottom-color:#d8a941!important;box-shadow:0 15px 30px rgba(9,56,94,.16)!important;}
.pill{background:linear-gradient(135deg,#e8f6ff,#ffffff)!important;color:#0b4e85!important;border-color:#bfe3f2!important;}
.kpi{background:linear-gradient(145deg,#ffffff 0%,#eef8ff 100%)!important;border-color:#c9e5f3!important;box-shadow:0 16px 34px rgba(9,56,94,.10)!important;}
.kpi::after{background:rgba(69,172,211,.20)!important}.kpi .label{color:#5d7280!important}.kpi .value{color:#0b4e85!important;}
.total-kpi{background:linear-gradient(145deg,#fff9e5,#e8f6ff)!important;border-color:#ead183!important;}.total-kpi .value{color:#936711!important;}
.notice{background:linear-gradient(90deg,#fff8e8,#ffffff)!important;border-left-color:#d8a941!important;color:#4d3a0f!important;}.okbox{background:linear-gradient(90deg,#e8f6ff,#ffffff)!important;border-left-color:#1677a8!important;color:#0b4e85!important;}
table{border-color:#c9e5f3!important;box-shadow:0 12px 28px rgba(9,56,94,.08)!important;}th{background:linear-gradient(135deg,#0b4e85,#1677a8)!important;color:white!important;}tr:nth-child(even) td{background:#f7fcff!important;}tr.clickable:hover td{background:#e8f6ff!important;}
.detail-item{background:linear-gradient(145deg,#ffffff,#f1f9ff)!important;border-color:#d7eaf5!important;}.detail-item .label{color:#5d7280!important;}.detail-item .value{color:#123044!important;}
.ficha-menu{background:linear-gradient(180deg,#0b4e85,#1677a8)!important;box-shadow:0 20px 45px rgba(9,56,94,.18)!important;}.side-btn{color:#0b4e85!important;}.side-btn:hover{background:#e8f6ff!important;}.side-btn.exit{background:linear-gradient(135deg,#0b4e85,#45acd3)!important;color:white!important;}
.ficha-header h3,.search-panel p,.mas-campo span,.informe-mas-info table td:first-child,.inf-actions label,.calc-base .box strong,.year-link,.total-row td:first-child,.positivo{color:#0b4e85!important;}.year-link{border-color:#1677a8!important;background:#f1f9ff!important;}.year-link:hover{background:#0b4e85!important;color:white!important;}.total-row td{border-top-color:#1677a8!important;background:#eef8ff!important;}
.mas-campo{background:linear-gradient(145deg,#fff,#f1f9ff)!important;border-color:#c9e5f3!important;}.preguntas-frecuentes{background:linear-gradient(145deg,#ffffff,#eef8ff)!important;border-color:#bfe3f2!important;}.mas-info-title,.mas-info-botones{background:#eef8ff!important;border-color:#bfe3f2!important;}.mas-info-botones h3{color:#0b4e85!important;}
.footer-note{background:rgba(11,78,133,.70)!important;color:white!important;}
.vv-report-brand,.vv-profile-card,.vv-kpi-board,.vv-comp-panel,.vv-chart-pro,.vv-eff-block,.vv-param-focus,.vv-param-summary article,.vv-year-panel,.vv-eff-base,.vv-recommend-box,.vv-advisor-cartoon{border-color:rgba(22,119,168,.16)!important;box-shadow:0 14px 34px rgba(9,56,94,.09)!important;}
.vv-edit-hint{margin:0 0 12px;padding:9px 12px;border-radius:16px;background:#e8f6ff;border:1px solid #bfe3f2;color:#0b4e85;font-weight:900;font-size:12px;}
.vv-editable-recommendations,.vv-notes-box[contenteditable="true"]{outline:none;cursor:text;}
.vv-editable-recommendations{border:2px dashed #9bcfe8;border-radius:18px;padding:13px 18px 13px 34px;background:#fbfdff;min-height:118px;}
.vv-editable-recommendations:focus,.vv-notes-box[contenteditable="true"]:focus{border-color:#1677a8!important;box-shadow:0 0 0 4px rgba(22,119,168,.14)!important;background:white!important;}
.vv-notes-box{min-height:130px;}
@media print{.vv-panel-clear-space{display:none!important}.vv-editable-recommendations,.vv-notes-box[contenteditable="true"]{border:1px solid #c9e5f3!important;box-shadow:none!important;background:white!important}.vv-edit-hint{display:none!important}}

/* =========================
   V19 final - grupos de asesoría y limpieza de barras superiores
   ========================= */
.vv-hero-strip{display:none!important;}
.field-help{display:block;margin-top:5px;font-size:11px;color:var(--muted);font-weight:800;text-transform:none;}
.grupo-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 14px;padding:12px;border-radius:18px;background:linear-gradient(135deg,#eef8ff,#ffffff);border:1px solid #c9e5f3;box-shadow:0 10px 22px rgba(9,56,94,.08)}
.grupo-filter .btn{min-width:150px;justify-content:center;text-align:center;}
.informes-grupales-page .notice strong{color:#0b4e85;}
@media(max-width:760px){.grupo-filter .btn{width:100%;}}

/* =========================
   V19 final - login usuarios, roles y grupos SAT
   ========================= */
.login-wide{max-width:760px!important;}
.login-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:end;}
.forgot-box{margin-top:18px;padding:16px;border-radius:20px;background:linear-gradient(145deg,#ffffff,#eef8ff);border:1px solid #c9e5f3;box-shadow:0 12px 24px rgba(9,56,94,.08);}
.forgot-box h3{margin:0 0 8px;color:#0b4e85;}
.user-strip{max-width:1320px;margin:12px auto 0;padding:10px 18px;border-radius:18px;background:rgba(255,255,255,.86);border:1px solid #c9e5f3;color:#123044;box-shadow:0 10px 24px rgba(9,56,94,.08);font-size:13px;}
.user-strip strong{color:#0b4e85;}
#usuariosMsg,#claveMsg{margin-bottom:10px;}
@media(max-width:820px){.login-grid{grid-template-columns:1fr}.user-strip{margin:8px 12px 0}}

/* =========================
   V21 final - logo optimizado, panel de lecheros y rankings de precio mes anterior
   ========================= */
.panel-general-kpis{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:14px;}
.panel-indicadores-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));}
.panel-kpi small{display:block;margin-top:5px;color:#5d7280;font-size:11px;font-weight:850;text-transform:none;}
.panel-card-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:14px 16px;border-radius:24px;background:linear-gradient(135deg,#e8f6ff,#ffffff 58%,#fff5d6);border:1px solid #c9e5f3;}
.panel-card-head span{display:block;text-transform:uppercase;letter-spacing:.10em;color:#1677a8;font-size:11px;font-weight:950;}
.panel-card-head h3{margin:3px 0 0;color:#0b4e85!important;font-size:22px;}
.panel-card-head p{margin:5px 0 0;color:#5d7280;font-weight:800;}
.panel-card-head img{width:118px;height:118px;object-fit:cover;object-position:top center;border-radius:28px;border:3px solid white;box-shadow:0 14px 26px rgba(9,56,94,.16);background:white;}
.panel-card-head.no-image{align-items:stretch;}
.panel-price-average{min-width:210px;display:flex;flex-direction:column;justify-content:center;text-align:center;border-radius:22px;padding:12px 16px;background:linear-gradient(135deg,#0b4e85,#1677a8);color:white;box-shadow:0 12px 22px rgba(9,56,94,.20);}
.panel-price-average span{color:#d9f3ff;font-size:10px;}
.panel-price-average strong{display:block;font-size:30px;line-height:1.1;margin:4px 0;color:white;}
.panel-price-average small{color:#e8f6ff;font-weight:850;}
.ranking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ranking-grid section{border:1px solid #c9e5f3;border-radius:22px;padding:12px;background:linear-gradient(180deg,#ffffff,#f5fbff);overflow:auto;}
.ranking-grid h4{margin:0 0 10px;color:#0b4e85;font-size:18px;}
.rank-pos{width:30px;height:30px;border-radius:999px;display:grid;place-items:center;color:white;font-weight:950;margin:auto;}
.rank-pos.good{background:linear-gradient(135deg,#0b7a3f,#37b56a);}
.rank-pos.bad{background:linear-gradient(135deg,#b42318,#e15649);}
/* En informes del productor: el promedio del grupo ahora queda con impacto visual rojo */
.vv-chart-bars i.group{background:linear-gradient(180deg,#b42318,#ff7a6f)!important;box-shadow:0 0 0 1px rgba(180,35,24,.10),0 8px 18px rgba(180,35,24,.20)!important;}
.vv-chart-title .legend.group{background:#ffe1de!important;color:#b42318!important;}
.vv-comp-track b.group{background:linear-gradient(90deg,#b42318,#ff7a6f)!important;box-shadow:0 7px 16px rgba(180,35,24,.20)!important;}
.vv-advisor-img{width:180px;height:230px;object-fit:cover;object-position:top center;border-radius:34px;border:4px solid white;box-shadow:0 18px 34px rgba(9,56,94,.18);background:white;margin-bottom:14px;}
.vv-advisor-cartoon{overflow:hidden;}
@media(max-width:900px){.ranking-grid{grid-template-columns:1fr}.panel-card-head{align-items:flex-start;flex-direction:column}.panel-card-head img{width:96px;height:96px}.panel-price-average{width:100%;}}
@media print{.panel-card-head img,.vv-advisor-img{box-shadow:none!important}.vv-chart-bars i.group,.vv-comp-track b.group{box-shadow:none!important}}

/* V21 reparación final: imágenes más nítidas en tamaños pequeños y medianos */
.brand img,.login-logo img,.vv-report-brand img,.vv-param-header img,.inf-page-head img,.informe-print-brand img,.panel-card-head img,.vv-advisor-img{
  image-rendering:auto;
  backface-visibility:hidden;
  transform:translateZ(0);
}
.brand img{width:76px!important;height:76px!important;object-fit:contain!important;}
.login-logo img{max-width:210px!important;height:auto!important;}
.vv-advisor-img{object-position:top center!important;}


/* V22: barra superior fija y página Predios completa */
.topbar.topbar-alt5{
  position: sticky !important;
  top: 0 !important;
  z-index: 2000 !important;
}
.user-strip{
  position: sticky;
  top: 104px;
  z-index: 1500;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
.predio-selector-card{margin-bottom:14px;}
.predio-selector-actions{display:flex;flex-direction:column;justify-content:flex-end;}
.predio-kpis{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin:12px 0 16px;}
.doc-link{font-weight:900;color:var(--vv-sky);text-decoration:none;border-bottom:1px dotted var(--vv-sky);}
.doc-link:hover{filter:brightness(.85);}
@media(max-width:760px){
  .topbar.topbar-alt5{top:0;}
  .user-strip{position:static;}
}
@media print{
  .topbar.topbar-alt5,.user-strip{position:static!important;}
}

/* V26: Portal agricultor solo lectura */
.agricultor-layout{display:block;min-height:100vh;background:linear-gradient(180deg,#f4f9fb 0%,#eef7f1 100%);}
.agricultor-main{max-width:1220px;margin:0 auto;padding:18px;}
.agricultor-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.agricultor-nav .btn{white-space:nowrap;}
.portal-welcome{margin-bottom:18px;}
.portal-welcome h3{margin:0 0 8px;color:var(--vv-blue,#1f6f9f);font-size:1.35rem;}
.portal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:18px;}
.portal-card{border:1px solid rgba(35,112,143,.18);background:#fff;border-radius:20px;padding:18px;text-align:left;cursor:pointer;box-shadow:0 10px 26px rgba(18,73,92,.08);transition:transform .15s ease, box-shadow .15s ease;}
.portal-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(18,73,92,.13);}
.portal-card strong{display:block;font-size:1.05rem;color:var(--vv-blue,#1f6f9f);margin-bottom:6px;}
.portal-card span{display:block;color:#51656d;font-size:.92rem;line-height:1.35;}
.portal-readonly-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;background:#e8f4f8;color:#1f6f9f;font-weight:800;font-size:.85rem;}
@media(max-width:760px){.agricultor-main{padding:12px}.agricultor-nav{width:100%}.agricultor-nav .btn{flex:1 1 auto}}
@media print{.agricultor-nav{display:none!important}.agricultor-layout{background:#fff!important}.agricultor-main{max-width:none;padding:0}}

/* V27: acceso de agricultores por RUT, producción mensual simplificada y logo recortado natural */
.brand-logo-wrap{
  width:118px!important;
  height:92px!important;
  background:transparent!important;
  border:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}
.brand img{
  width:112px!important;
  height:auto!important;
  object-fit:contain!important;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.22))!important;
}
.login-logo img{
  max-width:245px!important;
  height:auto!important;
  filter:drop-shadow(0 14px 22px rgba(4,38,20,.18));
}
.vv-report-brand img,.vv-param-header img,.inf-page-head img,.informe-print-brand img,.panel-card-head img{
  object-fit:contain!important;
  background:transparent!important;
}
.login-separator{display:flex;align-items:center;gap:12px;margin:18px 0 12px;color:var(--muted);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;}
.login-separator::before,.login-separator::after{content:"";height:1px;background:#d7e6dc;flex:1;}
.agricultor-access-btn{width:100%;justify-content:center;background:linear-gradient(135deg,#e6f7fd,#fff8e8)!important;border-color:#bde4fb!important;color:#0b4e85!important;font-size:15px!important;padding:12px 16px!important;}
.login-agricultor{max-width:620px;}
.login-agricultor h1{color:#0b4e85!important;}
.login-grid-agricultor{grid-template-columns:1fr 1fr;}
.produccion-form-card{background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(245,251,255,.94));border-color:#c9e5f3;}
.produccion-grid{align-items:end;}
.produccion-resumen{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:14px 0;}
.produccion-table table{font-size:14px;}
.produccion-table th{background:linear-gradient(135deg,#e6f7fd,#eaf6ef);color:#0b4e85;}
.produccion-table td,.produccion-table th{padding:11px 12px;}
.produccion-table .total-row td{background:#f5fbff;font-weight:900;}
.produccion-anio{max-width:220px;margin:8px 0 14px;}
@media(max-width:980px){
  .brand-logo-wrap{width:92px!important;height:78px!important;}
  .brand img{width:88px!important;}
  .login-grid-agricultor{grid-template-columns:1fr;}
}
@media print{
  .brand-logo-wrap{background:transparent!important;border:none!important;box-shadow:none!important;}
  .brand img,.login-logo img{filter:none!important;}
}


/* V28: páginas propias del agricultor */
.agricultor-nav{gap:7px;flex-wrap:wrap}.agricultor-nav button{font-size:12px}.agricultor-menu .side-btn{font-size:12px}.produccion-agricultor-grid{align-items:end}.produccion-total-kpis .kpi .label{min-height:34px}.table-wrap td button.small{padding:6px 10px}.portal-agricultor .portal-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.clickable{cursor:pointer}.clickable:hover{background:#f4fbff}
@media(max-width:900px){.ficha-wrapper{grid-template-columns:1fr}.ficha-menu{position:relative;top:auto}.agricultor-nav button{font-size:11px;padding:8px 9px}}

/* V29: cubiertas repetibles, trazabilidad animal y razas */
.link-btn{border:none;background:transparent;color:var(--vv-sky,#0b77a8);font-weight:900;text-decoration:underline;cursor:pointer;padding:0;font:inherit;}
.link-btn:hover{filter:brightness(.75);}
.animal-link{white-space:nowrap;}
.cubierta-actions{display:flex;align-items:flex-end;}
.cubierta-actions .btn{width:100%;justify-content:center;}
.cubierta-date-list{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 12px;border:1px dashed rgba(20,106,148,.28);border-radius:16px;background:#f7fcff;min-height:44px;}
.cubierta-chip{display:inline-flex;align-items:center;border-radius:999px;padding:7px 10px;background:#e7f6fd;color:#0b4e85;font-weight:900;border:1px solid #bfe4f4;}
.animal-card{overflow:hidden;}
.animal-profile{display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:start;}
.animal-photo{width:220px;height:220px;border-radius:24px;object-fit:cover;border:1px solid rgba(16,88,126,.18);box-shadow:0 14px 30px rgba(18,73,92,.14);background:#eef8fc;}
.animal-photo-empty{display:flex;align-items:center;justify-content:center;color:#56707a;font-weight:900;border:2px dashed #b9dae7;}
.animal-form{align-items:end;}
.small-kpi-text{font-size:18px!important;line-height:1.15;}
@media(max-width:840px){.animal-profile{grid-template-columns:1fr}.animal-photo{width:100%;max-width:260px;height:220px}.cubierta-actions .btn{width:auto}}
@media print{.link-btn{text-decoration:none;color:inherit}.animal-photo{box-shadow:none}}

/* V30 - login separado, menú agricultor superior e impresión de registros */
.login-dual-page{max-width:1180px;margin:4vh auto;padding:0 18px;}
.login-dual-header{text-align:center;background:rgba(255,255,255,.94);border:1px solid rgba(191,227,242,.96);border-radius:30px;padding:22px;margin-bottom:18px;box-shadow:var(--shadow);}
.login-dual-header h1{margin:8px 0 4px;color:#0b4e85;font-size:32px;}
.login-dual-header p{margin:0;color:var(--muted);font-weight:700;}
.login-dual{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
.login-card{background:rgba(255,255,255,.95);border:1px solid rgba(191,227,242,.96);border-radius:30px;padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.login-card::before{content:"";position:absolute;left:0;right:0;top:0;height:8px;background:linear-gradient(90deg,#0b4e85,#1677a8,#45acd3);}
.login-card h2{margin:8px 0 4px;color:#0b4e85;text-align:center;font-size:24px;letter-spacing:.03em;}
.login-card p{text-align:center;color:var(--muted);font-weight:700;margin-top:0;}
.login-agricultor-card::before{background:linear-gradient(90deg,#1a7436,#42aa62,#d8a941);}
.login-agricultor-card h2{color:#1a7436;}
.login-grid-personal{grid-template-columns:1fr 1fr;}
.login-grid-personal .field:last-child{grid-column:span 2;}
.login-card .actions{justify-content:center;}
.agricultor-nav{justify-content:flex-end;}
.agricultor-nav button{font-size:11px!important;padding:8px 9px!important;}
.ficha-wrapper.agricultor-no-side{display:block!important;}
.ficha-wrapper.agricultor-no-side .ficha-content{grid-column:auto!important;grid-row:auto!important;}
.registro-print-toolbar{display:flex;gap:8px;align-items:end;flex-wrap:wrap;justify-content:flex-end;}
.registro-print-toolbar label{display:flex;flex-direction:column;font-size:11px;font-weight:900;text-transform:uppercase;color:white;gap:4px;}
.registro-print-toolbar select{border:1px solid #bfe3f2;border-radius:12px;padding:8px;background:white;color:#0b4e85;font-weight:900;}
.only-print{display:none;}
.print-registro-header{text-align:center;margin-bottom:12px;border-bottom:2px solid #0b4e85;padding-bottom:8px;}
.print-registro-header h2{margin:0;color:#0b4e85;}
.print-registro-header p{margin:4px 0 0;color:#333;font-weight:800;}
@media(max-width:920px){.login-dual{grid-template-columns:1fr}.login-grid-personal{grid-template-columns:1fr}.login-grid-personal .field:last-child{grid-column:auto}.login-dual-header h1{font-size:26px}.agricultor-nav{justify-content:flex-start}.agricultor-nav button{flex:1 1 auto;}}
@media print{
  body.print-partos .only-print, body.print-cubiertas .only-print{display:block!important;}
  body.print-partos .topbar, body.print-partos .user-strip, body.print-partos .footer-note, body.print-partos .volver-panel-row,
  body.print-cubiertas .topbar, body.print-cubiertas .user-strip, body.print-cubiertas .footer-note, body.print-cubiertas .volver-panel-row{display:none!important;}
  body.print-partos .main-card, body.print-cubiertas .main-card{box-shadow:none!important;border:none!important;padding:0!important;background:white!important;}
  body.print-partos .layout, body.print-cubiertas .layout{display:block!important;max-width:none!important;margin:0!important;}
  body.print-partos .registro-print-area table, body.print-cubiertas .registro-print-area table{font-size:11px;width:100%;border-collapse:collapse;}
  body.print-partos .registro-print-area th, body.print-partos .registro-print-area td,
  body.print-cubiertas .registro-print-area th, body.print-cubiertas .registro-print-area td{padding:5px 6px;border:1px solid #cfdde7;}
  body.print-partos .registro-print-area th, body.print-cubiertas .registro-print-area th{background:#e8f6ff!important;color:#0b4e85!important;}
}

/* V31 - alertas, último precio y fecha probable destacada */
.alerta-kpi{cursor:pointer;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;}
.alerta-kpi:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(18,73,92,.16);}
.alerta-kpi.alerta-roja{background:linear-gradient(135deg,#b91c1c,#ef4444)!important;color:#fff!important;border-color:#fecaca!important;box-shadow:0 16px 38px rgba(185,28,28,.25)!important;}
.alerta-kpi.alerta-roja .label,.alerta-kpi.alerta-roja .value,.alerta-kpi.alerta-roja small{color:#fff!important;}
.alertas-lista{display:grid;gap:12px;margin-top:14px;}
.alerta-row{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:flex-start;background:#fff;border:1px solid rgba(20,106,148,.18);border-left:7px solid #0b77a8;border-radius:18px;padding:14px 16px;box-shadow:0 10px 25px rgba(18,73,92,.08);cursor:pointer;}
.alerta-row.alta{border-left-color:#dc2626;background:linear-gradient(90deg,#fff5f5,#fff);}
.alerta-row input{width:22px;height:22px;margin-top:5px;accent-color:#0b77a8;}
.alerta-title{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:4px;}
.alerta-title strong{color:#0b4e85;font-size:1rem;}
.alerta-row p{margin:4px 0 6px;line-height:1.35;color:#1f2937;font-weight:650;}
.alerta-row small{color:#64748b;font-weight:800;}
.alerta-badge{display:inline-flex;border-radius:999px;padding:4px 9px;background:#e8f6ff;color:#0b4e85;font-size:11px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;}
.fecha-probable-amarilla{background:#fff3a3!important;border-color:#facc15!important;color:#713f12!important;font-weight:900!important;box-shadow:inset 0 0 0 1px rgba(250,204,21,.45)!important;}
.fecha-probable-chip{display:inline-flex;align-items:center;justify-content:center;min-width:96px;border-radius:999px;padding:5px 9px;background:#fff3a3;color:#713f12;font-weight:900;border:1px solid #facc15;}
@media print{.fecha-probable-chip{background:#fff3a3!important;color:#713f12!important;border-color:#facc15!important}.alertas-lista{display:block}.alerta-row{break-inside:avoid;box-shadow:none;margin-bottom:8px}}

/* V32: navegación agricultor en dos líneas, ranking mes cerrado y gráficos de puntos */
.agricultor-nav{display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:7px!important;width:100%;}
.agricultor-nav-line{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end;width:100%;}
.agricultor-nav-line-top button{font-weight:900;}
.agricultor-nav-line-bottom button{font-size:10.5px!important;padding:7px 8px!important;}
.resumen-anual-card{margin-top:14px;}
.produccion-resumen-anual{margin-top:10px;}
.prod-point-section{margin-top:16px;}
.prod-point-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;}
.prod-point-title h3{margin:0;color:#0b4e85;}
.prod-point-title p{margin:3px 0 0;color:#5f7484;font-weight:700;}
.prod-point-legend{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.prod-point-legend span{border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase;}
.prod-point-legend .actual{background:#dff5ff;color:#0b4e85;}
.prod-point-legend .anterior{background:#ffe1de;color:#b42318;}
.prod-point-list{display:grid;grid-template-columns:1fr;gap:18px;}
.prod-point-card.full-width{padding:18px 18px 16px;border-radius:24px;}
.prod-point-head-stack{display:block;margin-bottom:12px;}
.prod-point-head-stack h4{font-size:22px;margin-bottom:4px;}
.prod-point-head-stack small{display:block;text-align:left;font-size:14px;color:#63798a;font-weight:800;}
.prod-point-layout{display:grid;grid-template-columns:68px 1fr;gap:10px;align-items:stretch;}
.prod-point-axis{position:relative;height:315px;}
.prod-point-axis span{position:absolute;right:0;transform:translateY(-50%);font-size:12px;color:#607889;font-weight:800;}
.prod-point-svg-wrap{position:relative;height:315px;padding-bottom:26px;}
.prod-point-svg{width:100%;height:100%;display:block;border-radius:20px;background:#fff;}
.prod-plot-bg{fill:rgba(241,249,255,.95);}
.prod-grid-line{stroke:rgba(22,119,168,.14);stroke-width:1;}
.prod-polyline{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;}
.prod-polyline.actual{stroke:#0b4e85;}
.prod-polyline.anterior{stroke:#b42318;}
.prod-circle{stroke-width:3;}
.prod-circle.actual{fill:#0b4e85;stroke:#dff5ff;}
.prod-circle.anterior{fill:#b42318;stroke:#ffe1de;}
.prod-point-xlabels{position:absolute;left:78px;right:16px;bottom:2px;height:18px;}
.prod-point-xlabels span{position:absolute;transform:translateX(-50%);font-size:12px;color:#5f7484;font-weight:800;text-transform:lowercase;}
.prod-point-foot{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin-top:12px;padding-left:78px;}
.prod-point-pill{border-radius:999px;padding:5px 11px;font-size:11px;font-weight:900;text-transform:uppercase;}
.prod-point-pill.actual{background:#dff5ff;color:#0b4e85;}
.prod-point-pill.anterior{background:#ffe1de;color:#b42318;}
.prod-point-note{font-size:13px;color:#516979;font-weight:700;}
@media(max-width:900px){.prod-point-layout{grid-template-columns:54px 1fr;gap:8px;}.prod-point-axis,.prod-point-svg-wrap{height:285px;}.prod-point-foot{padding-left:54px;}.prod-point-head-stack h4{font-size:20px;}}
@media(max-width:640px){.prod-point-card.full-width{padding:14px 12px 14px;}.prod-point-axis{display:none;}.prod-point-layout{grid-template-columns:1fr;}.prod-point-svg-wrap{height:260px;padding-bottom:22px;}.prod-point-xlabels{left:16px;right:10px;}.prod-point-foot{padding-left:0;}}
.prod-dot,.vv-point-dot,.comp-dot{position:absolute;display:block;width:13px;height:13px;border-radius:999px;transform:translate(-50%,50%);box-shadow:0 0 0 4px rgba(255,255,255,.85),0 6px 14px rgba(15,40,70,.18);}
.prod-dot.actual,.vv-point-dot.farmer,.comp-dot.farmer{background:#0b72a8;border:2px solid #dff5ff;}
.prod-dot.anterior,.vv-point-dot.group,.comp-dot.group{background:#b42318;border:2px solid #ffe1de;}
.prod-point-months{position:absolute;left:12px;right:12px;bottom:5px;height:14px;}
.prod-point-months b{position:absolute;transform:translateX(-50%);font-size:10px;color:#5f7484;}
.vv-chart-points .vv-point-plot{height:210px;position:relative;border-radius:20px;background:repeating-linear-gradient(to top,rgba(22,119,168,.06) 0,rgba(22,119,168,.06) 1px,transparent 1px,transparent 42px);padding:12px 12px 24px;overflow:hidden;}
.vv-point-year{position:absolute;bottom:5px;transform:translateX(-50%);font-size:12px;color:#0b4e85;}
.vv-comp-points .vv-comp-list{display:grid;gap:12px;}
.vv-comp-point-item{display:grid;grid-template-columns:155px 1fr 220px;gap:10px;align-items:center;background:rgba(255,255,255,.7);border:1px solid rgba(22,119,168,.12);border-radius:18px;padding:10px;}
.vv-comp-point-track{height:34px;position:relative;border-radius:999px;background:linear-gradient(90deg,#eef8ff,#fff5f4);border:1px solid #d7eaf4;}
.vv-comp-point-track span,.vv-comp-point-track em{position:absolute;top:50%;transform:translateY(-50%);font-size:10px;font-weight:900;color:#6b7f8d;}
.vv-comp-point-track span{left:9px;}.vv-comp-point-track em{right:9px;font-style:normal;}
.vv-comp-point-track .comp-dot{top:50%;bottom:auto;}
.vv-comp-point-values{display:grid;gap:3px;font-size:11px;color:#486174;}
@media(max-width:900px){.agricultor-nav{align-items:flex-start!important}.agricultor-nav-line{justify-content:flex-start}.vv-comp-point-item{grid-template-columns:1fr}.prod-point-title{flex-direction:column}.prod-point-legend{justify-content:flex-start}}
@media print{.prod-point-card,.vv-chart-points,.vv-comp-point-item{box-shadow:none!important}.prod-point-section{break-inside:avoid;page-break-inside:avoid}}


/* V35 - Corrección gráficos: líneas más delgadas en Leche a Planta/Mi leche producida
   y gráficos de Informes Productivos con años visibles automáticamente. */
.vv-annual-chart{overflow:visible!important;}
.vv-annual-svg-wrap{width:100%;height:296px;position:relative;border-radius:20px;background:#fff;overflow:hidden;}
.vv-annual-svg{width:100%;height:100%;display:block;}
.vv-annual-bg{fill:rgba(241,249,255,.96);}
.vv-annual-grid{stroke:rgba(22,119,168,.13);stroke-width:1;}
.vv-annual-ylabel{font-size:10.5px;font-weight:850;fill:#607889;}
.vv-annual-year{font-size:14px;font-weight:950;fill:#0b4e85;letter-spacing:.02em;}
.vv-annual-line{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;}
.vv-annual-line.farmer{stroke:#0b4e85;}
.vv-annual-line.group{stroke:#b42318;}
.vv-annual-dot{stroke-width:2.4;vector-effect:non-scaling-stroke;}
.vv-annual-dot.farmer{fill:#0b4e85;stroke:#dff5ff;}
.vv-annual-dot.group{fill:#b42318;stroke:#ffe1de;}
.vv-annual-bar{fill:#0b72a8;stroke:rgba(11,78,133,.18);stroke-width:1.2;}
.vv-annual-bar-value{font-size:11.5px;font-weight:900;fill:#0b4e85;}
.vv-chart-bars-only .vv-chart-title .legend.farmer{background:#dff5ff!important;color:#0b4e85!important;}
.vv-chart-title .legend.group{background:#ffe1de!important;color:#b42318!important;}
@media(max-width:980px){.vv-annual-svg-wrap{height:272px}.vv-annual-ylabel{font-size:9.5px}.vv-annual-year{font-size:12px}.vv-annual-bar-value{font-size:10px}}
@media print{.vv-annual-svg-wrap{height:236px!important}.vv-annual-year{font-size:12px!important}.vv-annual-ylabel{font-size:9px!important}.vv-annual-line{stroke-width:2.4!important}.vv-annual-bar-value{font-size:9px!important}.prod-polyline{stroke-width:2.1!important}}

/* V39 - Diferenciación portal agricultor, RUP, futuras inversiones y croquis/potreros */
.agricultor-nav button.nav-editable{background:linear-gradient(135deg,#0f8f5f,#1ca673)!important;color:#fff!important;border-color:rgba(15,143,95,.35)!important;}
.agricultor-nav button.nav-readonly{background:linear-gradient(135deg,#0b4e85,#1677a8)!important;color:#fff!important;border-color:rgba(11,78,133,.35)!important;}
.agricultor-nav button.active{box-shadow:0 0 0 3px rgba(255,255,255,.42),0 8px 20px rgba(0,0,0,.18)!important;filter:brightness(1.08);}
.portal-legend{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 12px;align-items:center;}
.portal-legend span,.portal-card em{display:inline-flex;align-items:center;border-radius:999px;font-weight:950;font-size:12px;letter-spacing:.02em;}
.legend-editable,.portal-card.editable em,.editable-pill{background:#e7fbf2!important;color:#08734b!important;border:1px solid #98e5c3!important;padding:5px 10px;}
.legend-readonly,.portal-card.readonly em{background:#e8f6ff!important;color:#0b4e85!important;border:1px solid #a9d9f2!important;padding:5px 10px;}
.portal-card.editable{border-left:8px solid #0f8f5f!important;background:linear-gradient(135deg,#ffffff,#f3fff9)!important;}
.portal-card.readonly{border-left:8px solid #1677a8!important;background:linear-gradient(135deg,#ffffff,#f4fbff)!important;}
.portal-card em{margin-top:10px;font-style:normal;}
.checks-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin-top:8px;}
.checks-grid label{background:#fff;border:1px solid #d7e8dd;border-radius:12px;padding:9px 10px;font-weight:900;color:#173b21;}
.checks-grid input{margin-right:7px;accent-color:#0f8f5f;}
.predio-libre-box{border:1px dashed #9bd2b9;border-radius:16px;background:#f7fffb;padding:12px;}
.alerta-row.cert-amarillo{border-left-color:#facc15;background:linear-gradient(90deg,#fffbe6,#fff);}
.alerta-row.cert-naranjo{border-left-color:#f97316;background:linear-gradient(90deg,#fff4e6,#fff);}
.alerta-row.cert-rojo{border-left-color:#dc2626;background:linear-gradient(90deg,#fff1f1,#fff);}
.croquis-page .section-title{align-items:center;}
.croquis-card{min-height:360px;display:flex;align-items:center;justify-content:center;background:#f8fcff;border-color:#bfe0f3;overflow:hidden;}
.croquis-frame{width:100%;height:72vh;min-height:520px;border:1px solid #c9e5f3;border-radius:16px;background:white;}
.croquis-img{max-width:100%;max-height:72vh;border-radius:16px;border:1px solid #c9e5f3;object-fit:contain;background:white;}
.field-group{border:1px dashed #c9e5f3;border-radius:16px;background:#f8fcff;padding:12px;margin:4px 0;}
@media(max-width:760px){.croquis-frame{height:62vh;min-height:360px}.portal-legend{display:grid}.agricultor-nav button.nav-editable,.agricultor-nav button.nav-readonly{flex:1 1 160px;}}
@media print{.portal-legend,.croquis-page form,.croquis-page table .btn{display:none!important}.croquis-frame{height:820px!important}}

/* V41 - páginas internas sin buscador lateral y predios/potreros más anchos */
.layout.layout-full{
  max-width:1660px!important;
  display:block!important;
  margin:0 auto!important;
  padding:0 18px 18px!important;
}
.main-card.main-card-full{
  width:100%!important;
  max-width:none!important;
  min-height:720px;
  padding:26px!important;
}
.predios-page .section-title,.croquis-wide-page .section-title{
  margin-bottom:18px;
}
.predios-table-wrap table th:last-child,
.predios-table-wrap table td:last-child{
  min-width:330px;
  white-space:normal;
}
.predio-editor-card{
  margin-top:18px;
  border:2px solid rgba(22,119,168,.22)!important;
  background:linear-gradient(135deg,#ffffff,#f4fbff)!important;
}
.predio-form-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:13px!important;
}
.croquis-grid-wide{
  display:grid;
  grid-template-columns:minmax(520px,1.25fr) minmax(430px,.75fr);
  gap:18px;
  align-items:start;
}
.croquis-wide-page .croquis-card{
  min-height:620px;
}
.croquis-wide-page .croquis-frame{
  height:76vh;
  min-height:600px;
}
.croquis-wide-page .croquis-img{
  max-height:76vh;
  width:100%;
}
.potrero-form-card{
  position:sticky;
  top:12px;
  border:2px solid rgba(15,143,95,.20)!important;
  background:linear-gradient(135deg,#ffffff,#f3fff9)!important;
}
.potrero-form-grid{
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:13px!important;
}
.potreros-list-card{
  margin-top:4px;
}
.potreros-list-card table th:last-child,
.potreros-list-card table td:last-child{
  width:180px;
  white-space:nowrap;
}
@media(max-width:1100px){
  .croquis-grid-wide{grid-template-columns:1fr;}
  .potrero-form-card{position:static;}
  .main-card.main-card-full{padding:18px!important;}
}
@media print{
  .layout.layout-full{display:block!important;max-width:none!important;padding:0!important;}
}

/* V44 - Croquis arriba, potreros simples e historial por potrero */
.croquis-wide-page .croquis-top-card{
  min-height:0!important;
  display:block!important;
  padding:16px!important;
  margin-bottom:18px;
  text-align:center;
}
.croquis-top-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:10px;
  color:#0b4e85;
}
.croquis-img-moderada{
  width:auto!important;
  max-width:100%!important;
  max-height:360px!important;
  object-fit:contain!important;
  display:block;
  margin:0 auto;
}
.croquis-frame-moderado{
  width:100%!important;
  height:360px!important;
  min-height:280px!important;
}
.croquis-wide-page #potreroFormSlot{
  margin-bottom:18px;
}
.croquis-wide-page .potrero-form-card{
  position:static!important;
}
.croquis-wide-page .potreros-list-card table td:first-child button{
  min-width:160px;
  justify-content:center;
}
.potrero-historial-page table th:nth-child(3),
.potrero-historial-page table td:nth-child(3){
  min-width:170px;
}

/* V45 - Ajustes croquis/potreros: imagen +25%, campos cómodos, historial editable y labores grupales */
.croquis-img-moderada{
  max-height:450px!important;
}
.croquis-frame-moderado{
  height:450px!important;
  min-height:350px!important;
}
.potrero-form-grid .potrero-nombre-field input{
  min-width:260px;
}
.potrero-form-grid .potrero-has-field input{
  max-width:120px;
}
.potreros-list-card table th:nth-child(1),
.potreros-list-card table td:nth-child(1){
  width:54px;
  text-align:center;
}
.potreros-list-card table th:nth-child(4),
.potreros-list-card table td:nth-child(4){
  min-width:320px;
  width:42%;
}
.potrero-check-cell input{
  width:20px;
  height:20px;
  accent-color:#0f8f5f;
}
.ultima-labor{
  display:grid;
  gap:3px;
  text-align:left;
  line-height:1.25;
}
.ultima-labor strong{
  color:#123820;
  font-size:13px;
}
.ultima-labor small{
  color:#63756b;
  font-weight:750;
}
.ultima-labor-cell{
  background:linear-gradient(90deg,#f7fffb,#ffffff);
}
.grupo-potreros-actions{
  margin-top:12px;
  justify-content:flex-start;
}
.grupo-potreros-card{
  margin-top:16px;
  border:2px solid rgba(15,143,95,.22)!important;
  background:linear-gradient(135deg,#ffffff,#f3fff9)!important;
}
.labor-potrero-form{
  align-items:end;
}
.analisis-suelo-field{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:82px;
}
.analisis-suelo-field label{
  white-space:normal;
}
.analisis-suelo-field input[type=file]{
  width:100%;
  min-height:40px;
  padding:8px 10px;
  background:#fff;
  border:1px solid #cfded6;
  border-radius:12px;
}
.analisis-suelo-field small{
  display:block;
  margin-top:5px;
  word-break:break-word;
}
.potrero-historial-page table th:last-child,
.potrero-historial-page table td:last-child{
  min-width:145px;
  white-space:nowrap;
}
@media(max-width:760px){
  .croquis-img-moderada{max-height:360px!important;}
  .croquis-frame-moderado{height:360px!important;}
  .potreros-list-card table th:nth-child(4),
  .potreros-list-card table td:nth-child(4){min-width:220px;}
}

/* V46 - buscador lateral repuesto solo en panel principal y Producción mensual */
.layout.layout-produccion-sidebar{
  max-width:1660px!important;
  grid-template-columns:340px minmax(0,1fr)!important;
  padding:0 18px 18px!important;
}
.layout.layout-produccion-sidebar .main-card{
  min-width:0;
  padding:24px!important;
}
.layout.layout-produccion-sidebar .sidebar{
  position:sticky;
  top:16px;
}
@media(max-width:980px){
  .layout.layout-produccion-sidebar{grid-template-columns:1fr!important;}
  .layout.layout-produccion-sidebar .sidebar{position:static;}
}

/* V47 - Mis manejos del agricultor */
.manejo-agricultor-card{border-left:8px solid #0f8f5f;background:linear-gradient(135deg,#ffffff,#f5fff9);}
.manejo-check-table th:nth-child(1),.manejo-check-table td:nth-child(1){width:56px;text-align:center;}
.manejo-check-table th:nth-child(3),.manejo-check-table td:nth-child(3),.manejo-check-table th:nth-child(4),.manejo-check-table td:nth-child(4){width:105px;text-align:center;}
.check-pill{display:inline-flex;align-items:center;gap:7px;background:#f2fbf7;border:1px solid #bbe8d1;border-radius:999px;padding:7px 12px;font-weight:900;color:#0b6f4b;cursor:pointer;}
.check-pill input{width:18px;height:18px;accent-color:#0f8f5f;}
.manejo-subtitle{margin-top:24px;}
.manejo-summary-table textarea,.manejo-extra-card textarea{min-height:70px;resize:vertical;}
.manejo-summary-table th:first-child,.manejo-summary-table td:first-child{width:32%;font-weight:900;color:#0b5a43;}
.manejo-extra-card{margin-top:20px;background:#fbfffd;border:1px solid #cdeedd;box-shadow:none;}

/* V49 - Preguntas frecuentes individuales del agricultor */
.preguntas-agricultor-card .section-title{align-items:center;gap:12px}
.preguntas-agricultor-table th:nth-child(1),
.preguntas-agricultor-table td:nth-child(1){width:54px;text-align:right}
.preguntas-agricultor-table th:nth-child(3),
.preguntas-agricultor-table td:nth-child(3){width:260px}
.faq-respuesta-principal{display:block;font-weight:800;color:#123b2a;margin-bottom:4px}
.faq-sin-dato{background:#fff9e8}
.faq-sin-dato .faq-respuesta-principal{color:#856404}
.pill.soft{background:#fff3cd;color:#856404;border-color:#ffe8a1}
