/* Bovinos MAX v2: sistema visual (AC_BMX2_V1)
   Solo se carga en las pantallas nuevas de Bovinos MAX. No afecta ninguna otra pantalla.
   Colores de agrocontrolpro.com: bosque y oro sobre papel claro, legible al sol. */

.bmx2{
  --bosque:#153C2B; --bosque-2:#0E2A1E; --oro:#DDBC78; --oro-2:#B8954A; --oro-tx:#8A6A22;
  --papel:#F6F4EC; --hoja:#FFFFFF; --tinta:#163527; --musgo:#526458; --linea:#D9DED2; --linea-2:#ECEEE6;
  --ok:#2E7D4F; --ok-bg:#E3EFE6; --ok-tx:#1F5A38;
  --rev:#B77A12; --rev-bg:#F7E8C6; --rev-tx:#6E4705;
  --urg:#A63A2B; --urg-bg:#F6DDD7; --urg-tx:#7E2A1F;
  --net:#345A78; --net-bg:#DDE8F0; --net-tx:#22415A;
  --gris-bg:#EDEAE0;
  --serif:'Fraunces',Georgia,serif; --sans:'DM Sans',system-ui,-apple-system,sans-serif;
  color:var(--tinta); font-family:var(--sans); font-size:16px; line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

/* ---------- Marco de la aplicación, solo en estas pantallas ---------- */
body:has(.bmx2){background:#F6F4EC}
body:has(.bmx2) .main-content{background:#F6F4EC}
body:has(.bmx2) .sidebar{background:#153C2B;border-right:0}
body:has(.bmx2) .sidebar::after{display:none}
body:has(.bmx2) .sidebar::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18)}
body:has(.bmx2) .brand-name{color:#FFFFFF}
body:has(.bmx2) .brand-name span{color:#E9D3A0}
body:has(.bmx2) .farm-bar{background:rgba(255,255,255,.07);border:0;box-shadow:none;color:#B9CBBE}
body:has(.bmx2) .farm-bar i{color:#DDBC78}
body:has(.bmx2) .farm-bar strong{color:#FFFFFF;font-size:14px}
body:has(.bmx2) .farm-bar div div{color:#B9CBBE!important;font-size:12.5px!important}
body:has(.bmx2) .nav-section{color:rgba(233,211,160,.75);font-size:11.5px;letter-spacing:.06em}
body:has(.bmx2) .nav-link{color:#D9E4DA;font-size:14.5px;min-height:42px}
body:has(.bmx2) .nav-link i{color:#A9C2B0}
body:has(.bmx2) .nav-link:hover{background:rgba(255,255,255,.07);color:#FFFFFF;transform:none}
body:has(.bmx2) .nav-link:hover i{color:#FFFFFF}
body:has(.bmx2) .nav-link.active{background:rgba(246,244,236,.14);color:#FFFFFF;box-shadow:none;font-weight:600}
body:has(.bmx2) .nav-link.active i{color:#DDBC78}
body:has(.bmx2) .nav-link.active::before{display:block;background:#DDBC78;box-shadow:none;width:3px}
body:has(.bmx2) .nav-subgroup{border-left-color:rgba(255,255,255,.16)}
body:has(.bmx2) .nav-sub-link{color:#C9D8CC;font-size:13.5px;font-weight:500}
body:has(.bmx2) .nav-sub-link i{color:#9DB8A5}
body:has(.bmx2) .nav-sub-link:hover{background:rgba(255,255,255,.07);color:#FFFFFF}
body:has(.bmx2) .nav-sub-link.active{background:rgba(246,244,236,.14);color:#FFFFFF}
body:has(.bmx2) .nav-divider,body:has(.bmx2) .sidebar-footer{border-color:rgba(255,255,255,.12);background-color:transparent}
body:has(.bmx2) .nav-link.logout{color:#F3B4AA}
body:has(.bmx2) .nav-link.logout i{color:#E59A8E}
body:has(.bmx2) .mobile-header{background:#153C2B;border-bottom:0}
body:has(.bmx2) .mobile-toggle{background:#153C2B;border-color:rgba(255,255,255,.25)}
body:has(.bmx2) #acPendBadge{display:none!important} /* la franja de conexión ya muestra lo pendiente */

/* ---------- Base ---------- */
.bmx2 *,.bmx2 *::before,.bmx2 *::after{box-sizing:border-box}
.bmx2 a{color:var(--bosque)}
.bmx2 a:hover{color:var(--bosque-2)}
.bmx2 :focus-visible{outline:3px solid var(--oro-2);outline-offset:2px;border-radius:6px}
.bmx2-wrap{max-width:1120px;margin:0 auto;padding:24px 32px 56px;display:flex;flex-direction:column;gap:22px}
.bmx2 h1,.bmx2 h2,.bmx2 h3,.bmx2 p{margin:0}
.main-content .bmx2 h1{font:600 40px/1.08 var(--serif);color:var(--bosque);letter-spacing:-.01em}
.main-content .bmx2 h2{font:600 20px/1.25 var(--sans);color:var(--tinta);letter-spacing:0}
.bmx2 .muted{color:var(--musgo)}
.bmx2-num{font-variant-numeric:tabular-nums}

/* Botones */
.bmx2-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:12px;font:600 15px/1.1 var(--sans);text-decoration:none;white-space:nowrap;border:0;cursor:pointer;transition:background .15s,box-shadow .15s}
.bmx2 .bmx2-btn-primary{background:var(--bosque);color:#FFFFFF}
.bmx2 .bmx2-btn-primary:hover{background:var(--bosque-2);color:#FFFFFF}
.bmx2 .bmx2-btn-line{background:var(--hoja);color:var(--bosque);box-shadow:inset 0 0 0 1.5px var(--bosque)}
.bmx2 .bmx2-btn-line:hover{background:#EEF4EE;color:var(--bosque)}
.bmx2 .bmx2-btn-quiet{background:var(--hoja);color:var(--bosque);box-shadow:inset 0 0 0 1.5px var(--linea);min-height:40px;font-size:14px}
.bmx2-btn-lg{min-height:50px;padding:0 22px;font-size:16px}
.bmx2-btn svg{flex:none}

/* Chips de estado */
.bmx2-chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:13px;font:600 13px/1 var(--sans);white-space:nowrap}
.bmx2-chip.is-danger{background:var(--urg-bg);color:var(--urg-tx)}
.bmx2-chip.is-warn{background:var(--rev-bg);color:var(--rev-tx)}
.bmx2-chip.is-ok{background:var(--ok-bg);color:var(--ok-tx)}
.bmx2-chip.is-info,.bmx2-chip.is-empty{background:var(--gris-bg);color:var(--musgo)}
.bmx2-chip.is-old{background:var(--rev-bg);color:var(--rev-tx)}
.bmx2-chip.is-net{background:var(--net-bg);color:var(--net-tx)}

/* Tarjeta */
.bmx2-card{background:var(--hoja);border:1px solid var(--linea);border-radius:16px;padding:22px 24px}
.bmx2-card-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.bmx2-card-head a{font-size:15px;font-weight:600}

/* ---------- Franja de conexión ---------- */
.bmx2-net{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 10px 8px 16px;border-radius:12px;font-size:15px;font-weight:600;background:var(--ok-bg);color:var(--ok-tx)}
.bmx2-net[data-state="pending"]{background:var(--ok-bg);color:var(--ok-tx)}
.bmx2-net[data-state="offline"]{background:var(--net-bg);color:var(--net-tx)}
.bmx2-net[data-state="review"]{background:var(--rev-bg);color:var(--rev-tx)}
.bmx2-net-ic{flex:none;display:flex}
.bmx2-net-ic svg{display:none}
.bmx2-net[data-state="online"] .ic-ok,.bmx2-net[data-state="pending"] .ic-up,
.bmx2-net[data-state="offline"] .ic-off,.bmx2-net[data-state="review"] .ic-warn{display:block}
.bmx2-net-text{flex:1;min-width:0;line-height:1.35}
.bmx2-net-act{display:none;min-height:34px;padding:0 14px;border-radius:9px;font:600 14px/1 var(--sans);border:0;cursor:pointer;text-decoration:none;align-items:center;background:var(--hoja);color:inherit;box-shadow:inset 0 0 0 1.5px currentColor}
.bmx2-net[data-state="pending"] .bmx2-net-act,.bmx2-net[data-state="review"] .bmx2-net-act{display:inline-flex}

/* ---------- Encabezado ---------- */
.bmx2-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap}
.bmx2-head-date{font-size:16px;color:var(--musgo);margin-bottom:6px}
.bmx2-head-actions{display:flex;gap:10px;flex-wrap:wrap}

/* ---------- Para hoy ---------- */
.bmx2-todo-item{display:flex;gap:16px;align-items:center;padding:14px 0;border-top:1px solid var(--linea-2);flex-wrap:wrap}
.bmx2-todo-item:first-of-type{border-top:0;padding-top:4px}
.bmx2-todo-body{flex:1 1 360px;min-width:0}
.bmx2-todo-title{font:600 17px/1.35 var(--sans)}
.bmx2-todo-text{font-size:15px;line-height:1.45;color:var(--musgo)}
.bmx2-todo-item .bmx2-chip{flex:none;min-width:76px;justify-content:center}
.bmx2-todo-clear{display:flex;gap:12px;align-items:center;color:var(--ok-tx);font-weight:600}
.bmx2-more summary{cursor:pointer;list-style:none;padding:12px 0 0;border-top:1px solid var(--linea-2);font-weight:600;color:var(--bosque)}
.bmx2-more summary::-webkit-details-marker{display:none}
.bmx2-more[open] summary{margin-bottom:4px}

/* ---------- Indicadores ---------- */
.bmx2-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.bmx2-kpi{background:var(--hoja);border:1px solid var(--linea);border-radius:16px;padding:18px 20px;display:flex;flex-direction:column;gap:8px}
.bmx2-kpi-label{font-size:15px;color:var(--musgo)}
.bmx2-kpi-n{font:600 34px/1 var(--serif);color:var(--bosque);font-variant-numeric:tabular-nums}
.bmx2-kpi-n small{font:500 16px var(--sans);color:var(--bosque);margin-left:2px}
.bmx2-kpi.is-old .bmx2-kpi-n{color:#5D6F63}
.bmx2-kpi p{font-size:14px;line-height:1.45;color:var(--musgo)}
.bmx2-kpi-act{font-size:14px;font-weight:600;margin-top:auto}

/* ---------- Mapa y dinero ---------- */
.bmx2-row{display:flex;gap:16px;flex-wrap:wrap;align-items:stretch}
.bmx2-row > .bmx2-map-card{flex:1.45 1 520px;min-width:0}
.bmx2-row > .bmx2-money{flex:1 1 340px;min-width:0}
.bmx2-map{display:block;width:100%;height:auto;border-radius:12px;background:#E9ECDD}
.bmx2-map a{cursor:pointer}
.bmx2-map .shape{stroke-width:2;stroke-linejoin:round;transition:filter .15s}
.bmx2-map a:hover .shape,.bmx2-map a:focus .shape{filter:brightness(.95)}
.bmx2-map .k-ok .shape{fill:#D5E6D4;stroke:#2E7D4F}
.bmx2-map .k-warn .shape{fill:#F4E3BC;stroke:#B77A12}
.bmx2-map .k-rest .shape{fill:#F1EAD5;stroke:#9C8A5A}
.bmx2-map .k-over .shape{fill:#F2CFC7;stroke:#A63A2B;stroke-width:3}
.bmx2-map .boundary{fill:none;stroke:#B8923F;stroke-width:2;stroke-dasharray:8 6}
.bmx2-map text{font-family:var(--sans);text-anchor:middle;paint-order:stroke;stroke:rgba(255,255,255,.85);stroke-width:3px;stroke-linejoin:round}
.bmx2-map .t-name{font-weight:700;fill:#163527}
.bmx2-map .t-line{font-weight:500;fill:#33473A}
.bmx2-map .k-over .t-name,.bmx2-map .k-over .t-line{fill:#7E2A1F}
.bmx2-legend{display:flex;gap:8px 16px;flex-wrap:wrap;margin-top:12px;font-size:14px;color:var(--musgo)}
.bmx2-legend span{display:inline-flex;align-items:center;gap:8px}
.bmx2-legend i{width:14px;height:14px;border-radius:4px;display:inline-block}
.bmx2-legend .l-ok{background:#D5E6D4;box-shadow:inset 0 0 0 2px #2E7D4F}
.bmx2-legend .l-warn{background:#F4E3BC;box-shadow:inset 0 0 0 2px #B77A12}
.bmx2-legend .l-rest{background:#F1EAD5;box-shadow:inset 0 0 0 2px #9C8A5A}
.bmx2-legend .l-over{background:#F2CFC7;box-shadow:inset 0 0 0 2px #A63A2B}
.bmx2-note{font-size:14px;line-height:1.45;color:var(--musgo);margin-top:12px}

.bmx2-money-rows{display:flex;flex-direction:column;gap:12px}
.bmx2-money-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:16px}
.bmx2-money-row b{font:600 22px/1 var(--serif);color:var(--bosque);font-variant-numeric:tabular-nums}
.bmx2-money-row.is-total{border-top:1.5px solid var(--tinta);padding-top:12px}
.bmx2-money-row.is-total b{font-size:26px}
.bmx2-money-row.is-neg b{color:var(--urg)}
.bmx2-honest{margin-top:16px;padding:14px 16px;border-radius:12px;background:var(--rev-bg);color:#4F3304;font-size:14px;line-height:1.5}
.bmx2-honest.is-ok{background:var(--ok-bg);color:var(--ok-tx)}
.bmx2-honest strong{display:block;margin-bottom:2px;font-size:15px}
.bmx2-bar{margin-top:10px;height:8px;border-radius:4px;background:rgba(110,71,5,.15);overflow:hidden}
.bmx2-bar i{display:block;height:100%;background:var(--rev);border-radius:4px}

/* ---------- Animales a revisar ---------- */
.bmx2-review-item{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid var(--linea-2);text-decoration:none;color:inherit}
.bmx2-review-item:first-of-type{border-top:0}
.bmx2 a.bmx2-review-item{color:var(--tinta)}
.bmx2 a.bmx2-review-item:hover{background:#FAF8F1}
.bmx2-review-title{font:600 16px/1.3 var(--sans)}
.bmx2-review-reason{font-size:14px;color:var(--musgo)}

/* Arete: identifica a cada animal en todas las pantallas */
.bmx2-tag{position:relative;display:inline-flex;align-items:flex-end;justify-content:center;min-width:58px;height:50px;padding:0 8px 7px;background:var(--oro);border-radius:14px 14px 18px 18px;color:var(--bosque);font:700 15px/1 var(--sans);font-variant-numeric:tabular-nums;box-shadow:inset 0 -3px 0 rgba(21,60,43,.18);flex:none;white-space:nowrap}
.bmx2-tag::before{content:"";position:absolute;top:6px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--hoja);box-shadow:inset 0 1px 2px rgba(21,60,43,.35)}
.bmx2-tag.is-none{background:#E9DDBF}

/* Bienvenida sin datos */
.bmx2-start{display:flex;gap:24px;align-items:center;flex-wrap:wrap;background:var(--hoja);border:1px solid var(--linea);border-radius:16px;padding:24px}
.bmx2-start-body{flex:1 1 320px}
.bmx2-start h2{margin-bottom:6px!important}

.bmx2-foot{font-size:14px;color:var(--musgo);text-align:center}
.bmx2-foot a{color:var(--musgo)}

/* ---------- Captura en el campo (Registrar, pesaje, teléfono) ---------- */
.bmx2-campo{max-width:680px;margin:0 auto;padding:20px 20px 120px;display:flex;flex-direction:column;gap:16px}
.bmx2-c-top{display:flex;align-items:flex-start;gap:12px}
.bmx2-c-top-t{flex:1;min-width:0}
.main-content .bmx2 .bmx2-c-top h1,.bmx2-shell .bmx2-c-top h1{font:600 28px/1.15 var(--serif);color:var(--bosque);margin:0}
.bmx2-c-top p{font-size:15px;margin-top:2px}
.bmx2 a.bmx2-c-back{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;border-radius:22px;background:var(--hoja);border:1px solid var(--linea);color:var(--bosque)}
.bmx2-ic{display:inline-flex}
.bmx2-sec{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 0 10px}
.main-content .bmx2 .bmx2-sec h2,.bmx2-shell .bmx2-sec h2{font:600 17px/1.2 var(--sans);margin:0}
.bmx2-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.bmx2 a.bmx2-t{display:flex;align-items:center;gap:12px;min-height:72px;padding:12px 14px;border-radius:16px;background:var(--hoja);border:1px solid var(--linea);color:var(--bosque);text-decoration:none}
.bmx2 a.bmx2-t:hover{background:#FAF8F1}
.bmx2-t i{display:flex;align-items:center;justify-content:center;flex:none;width:42px;height:42px;border-radius:12px;background:#EEF4EE}
.bmx2-t span{display:flex;flex-direction:column;gap:2px;min-width:0}
.bmx2-t b{font:600 16px/1.2 var(--sans)}
.bmx2-t small{font-size:13px;color:var(--musgo);line-height:1.3}
.bmx2-tiles.is-off a.bmx2-t{background:transparent;border-style:dashed;color:var(--musgo)}
.bmx2-tiles.is-off .bmx2-t i{background:var(--gris-bg)}
.bmx2-flash{padding:12px 16px;border-radius:12px;font-size:15px;font-weight:600}
.bmx2-flash.is-ok{background:var(--ok-bg);color:var(--ok-tx)}
.bmx2-flash.is-bad{background:var(--urg-bg);color:var(--urg-tx)}
.bmx2-form2{display:flex;flex-direction:column;gap:14px}
.bmx2-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.bmx2-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.bmx2-f-l{font:600 14px/1.2 var(--sans);color:var(--tinta)}
.bmx2-f-h{font-size:13px;color:var(--musgo)}
.main-content .bmx2 .bmx2-in,.bmx2-shell .bmx2-in{width:100%;min-height:50px;padding:0 14px;border-radius:12px;border:1.5px solid var(--linea);background:var(--hoja);color:var(--tinta);font:500 17px/1.2 var(--sans);box-shadow:none}
.main-content .bmx2 .bmx2-in:focus,.bmx2-shell .bmx2-in:focus{outline:none;border-color:var(--bosque);box-shadow:0 0 0 3px rgba(21,60,43,.14);background:var(--hoja)}
.main-content .bmx2 select.bmx2-in,.bmx2-shell select.bmx2-in{appearance:auto}
.bmx2-pick{display:flex;flex-direction:column;gap:8px}
.bmx2-pick-res{display:flex;flex-direction:column;gap:6px}
.bmx2 button.bmx2-pick-row{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border-radius:12px;border:1px solid var(--linea);background:var(--hoja);text-align:left;cursor:pointer;color:var(--tinta)}
.bmx2-pick-row span{display:flex;flex-direction:column}
.bmx2-pick-row b{font:600 15px/1.3 var(--sans)}
.bmx2-pick-row small{font-size:13px}
.bmx2-list{display:flex;flex-direction:column;gap:8px}
.bmx2 a.bmx2-row-link{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px;border-radius:14px;background:var(--hoja);border:1px solid var(--linea);color:var(--tinta);text-decoration:none}
.bmx2-row-link span{display:flex;flex-direction:column;gap:3px;min-width:0}
.bmx2-row-link b{font:600 17px/1.25 var(--sans)}
.bmx2-row-link small{font-size:14px}
.bmx2-progress{height:8px;border-radius:4px;background:#E6E3D6;overflow:hidden}
.bmx2-progress i{display:block;height:100%;background:var(--oro);border-radius:4px;transition:width .2s}
.bmx2-animal{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;background:var(--hoja);border:1px solid var(--linea)}
.bmx2-animal .bmx2-tag{min-width:76px;height:66px;font-size:22px;border-radius:18px 18px 22px 22px;padding-bottom:9px}
.bmx2-animal .bmx2-tag::before{top:8px;width:12px;height:12px;margin-left:-6px}
.bmx2-animal > div{display:flex;flex-direction:column;gap:2px;min-width:0}
.bmx2-animal b{font:600 16px/1.3 var(--sans)}
.bmx2-animal .muted{font-size:14px}
.bmx2 .bmx2-linkbtn{align-self:flex-start;padding:0;border:0;background:none;color:var(--bosque);font:600 14px/1.4 var(--sans);text-decoration:underline;cursor:pointer}
.bmx2-scale{padding:14px 16px;border-radius:16px;background:var(--hoja);box-shadow:inset 0 0 0 2.5px var(--bosque)}
.bmx2-scale .muted{font-size:14px}
.bmx2-scale-n{display:flex;align-items:center;gap:6px;margin-top:4px}
.bmx2-scale-n span{font:600 56px/1 var(--serif);color:var(--bosque);font-variant-numeric:tabular-nums}
.bmx2-caret{display:inline-block;width:3px;height:44px;background:var(--bosque);animation:bmx2blink 1s steps(2) infinite}
@keyframes bmx2blink{50%{opacity:0}}
.bmx2-scale-n small{font:600 20px var(--sans);color:var(--bosque)}
.bmx2-check{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;border-radius:12px;font-size:15px;line-height:1.4}
.bmx2-check svg{flex:none;margin-top:1px}
.bmx2-check.is-ok{background:var(--ok-bg);color:var(--ok-tx)}
.bmx2-check.is-warn{background:var(--rev-bg);color:#5A3A04}
.bmx2-check.is-bad{background:var(--urg-bg);color:var(--urg-tx)}
.bmx2-check.is-info{background:var(--gris-bg);color:var(--tinta)}
.bmx2-keys{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.bmx2 button.bmx2-k{display:flex;align-items:center;justify-content:center;height:58px;border-radius:12px;background:var(--hoja);border:1px solid var(--linea);font:600 26px/1 var(--sans);color:var(--tinta);cursor:pointer;touch-action:manipulation}
.bmx2 button.bmx2-k:active{background:#EEF4EE}
.bmx2-actions{display:flex;gap:10px;flex-wrap:wrap}
.bmx2-actions > *{flex:1 1 auto}
.bmx2-btn-xl{min-height:58px;font-size:17px;border-radius:14px}
.bmx2 .bmx2-btn:disabled{opacity:.45;cursor:not-allowed}
.bmx2 .bmx2-btn-primary.is-confirm{background:#8A5A06}
.bmx2 .bmx2-btn-light{background:var(--hoja);color:var(--net-tx)}
.bmx2 .bmx2-btn-danger{background:var(--hoja);color:var(--urg);box-shadow:inset 0 0 0 1.5px var(--urg);min-height:44px}
.bmx2-sum{display:flex;flex-direction:column;gap:10px}
.bmx2-sum-n{display:flex;align-items:baseline;gap:10px}
.bmx2-sum-n b{font:600 48px/1 var(--serif);color:var(--bosque)}
.bmx2-sum-n span{font:600 17px var(--sans)}
.bmx2-ord{display:grid;grid-template-columns:auto 1fr 96px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--linea-2)}
.bmx2-ord:first-child{border-top:0}
.bmx2-ord-t{display:flex;flex-direction:column;min-width:0}
.bmx2-ord-t b{font:600 15px/1.3 var(--sans)}
.bmx2-ord-t small{font-size:13px}
.bmx2-ord-w{color:#8A5A06;font-weight:600}
.main-content .bmx2 .bmx2-ord .bmx2-in,.bmx2-shell .bmx2-ord .bmx2-in{text-align:center;font-size:20px;font-weight:600}
.bmx2-total{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px;font-size:16px}
.bmx2-total b{font:600 22px var(--serif);color:var(--bosque)}
.bmx2-target{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.bmx2-chosen{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:12px;background:#F6F4EC}
.bmx2-chosen span{flex:1;font-weight:600}
.bmx2-phone{display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:16px;color:#FFFFFF}
.bmx2-phone.is-off{background:#22415A}
.bmx2-phone.is-on{background:var(--bosque)}
.bmx2-phone-l{display:flex;align-items:center;gap:8px;font:600 15px var(--sans);color:#DCE7EF}
.bmx2-phone-n{display:flex;align-items:baseline;gap:10px}
.bmx2-phone-n b{font:600 44px/1 var(--serif)}
.bmx2-phone-n span{font:600 17px var(--sans)}
.bmx2-phone p{font-size:14px;line-height:1.45;color:#DCE7EF}
.bmx2-phone .bmx2-btn{align-self:flex-start}
.bmx2-rev{display:flex;flex-direction:column;gap:8px;border-color:#E2C27F;border-width:1.5px}
.bmx2-rev .bmx2-chip{align-self:flex-start}
.main-content .bmx2 .bmx2-h2,.bmx2-shell .bmx2-h2{font:600 17px/1.2 var(--sans);margin:4px 0 8px}
.bmx2-pend{padding:0}
.bmx2-pend summary{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:16px 18px;cursor:pointer;list-style:none}
.bmx2-pend summary::-webkit-details-marker{display:none}
.bmx2-pend ul{list-style:none;margin:0;padding:0 18px 12px}
.bmx2-pend li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--linea-2);font-size:14px}
.bmx2-can{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--gris-bg);border:0}
.main-content .bmx2 .bmx2-can h3,.bmx2-shell .bmx2-can h3{font:600 15px/1.3 var(--sans);margin:0 0 4px;color:var(--net-tx)}
.bmx2-can p{font-size:14px;line-height:1.45}
.bmx2-adv{padding:4px 2px;color:var(--musgo)}
.bmx2-adv summary{cursor:pointer;font-size:14px}
.bmx2-adv p{font-size:14px;margin:8px 0}
.bmx2 h2{font:600 20px/1.25 var(--sans);color:var(--tinta)}
.bmx2 h3{font:600 16px/1.3 var(--sans)}
@media (max-width:520px){
  .bmx2-campo{padding:12px 14px 112px}
  .bmx2 a.bmx2-t{min-height:60px;padding:10px 12px;gap:10px}
  .bmx2-t i{width:36px;height:36px}
  .bmx2-t b{font-size:15px}
  .bmx2-t small{display:none}
  .bmx2-can{grid-template-columns:1fr}
  .bmx2-row2{grid-template-columns:1fr}
}

/* ---------- Página sin señal (fuera del marco de la app) ---------- */
body.bmx2-shell-body{margin:0;background:#F6F4EC}
.bmx2-shell-head{display:flex;align-items:center;gap:10px;padding:14px 18px;background:#153C2B;color:#FFFFFF;font:600 16px/1.2 'DM Sans',system-ui,sans-serif}
.bmx2-shell-head small{display:block;font-weight:400;color:#B9CBBE;font-size:13px}

/* ---------- Registro rápido (solo celular) ---------- */
.bmx2-quick{display:none}

/* ---------- Menú inferior del celular ---------- */
.bmx2-tabs{display:none}
@media (max-width:900px){
  .bmx2-wrap{padding:16px 16px 112px;gap:16px}
  .main-content .bmx2 h1{font-size:30px}
  .bmx2-head{align-items:flex-start}
  .bmx2-head-actions{display:none}
  .bmx2-card{padding:18px 16px}
  .bmx2-todo-item{gap:10px;align-items:flex-start}
  .bmx2-todo-item .bmx2-btn{width:100%}
  .bmx2-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .bmx2-kpi{padding:14px}
  .bmx2-kpi-n{font-size:28px}
  .bmx2-kpi p{font-size:13.5px}
  .bmx2-row > .bmx2-map-card,.bmx2-row > .bmx2-money{flex-basis:100%}
  .bmx2-quick{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .bmx2-quick a{display:flex;flex-direction:column;justify-content:space-between;gap:10px;min-height:84px;padding:12px 14px;border-radius:16px;background:#FFFFFF;border:1px solid #D9DED2;color:#153C2B;text-decoration:none}
  .bmx2-quick b{font:600 16px/1.2 var(--sans)}
  .bmx2-tabs{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;align-items:flex-end;height:calc(72px + env(safe-area-inset-bottom,0px));padding:0 6px env(safe-area-inset-bottom,0px);background:#FFFFFF;border-top:1px solid #D9DED2}
  .bmx2-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:12px;font:600 12.5px/1 var(--sans);color:#526458;text-decoration:none}
  .bmx2 .bmx2-tab{color:#526458}
  .bmx2 .bmx2-tab.is-on{color:#153C2B}
  .bmx2-tab-main{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-top:-24px;border-radius:29px;background:#153C2B;color:#FFFFFF;box-shadow:0 4px 12px rgba(21,60,43,.3)}
  .bmx2-tab-badge{position:absolute;top:-6px;left:50%;margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#345A78;color:#FFFFFF;font:700 11.5px/18px var(--sans);text-align:center}
  .bmx2-tab-badge[hidden]{display:none}
}
@media (max-width:420px){
  .bmx2-kpis{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  .bmx2 *{transition:none!important}
}
.bmx2-shell .bmx2-tabs-shell{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;align-items:flex-end;height:calc(72px + env(safe-area-inset-bottom,0px));padding:0 6px env(safe-area-inset-bottom,0px);background:#FFFFFF;border-top:1px solid #D9DED2}
.bmx2-shell .bmx2-tabs-shell .bmx2-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding-bottom:12px;font:600 12.5px/1 var(--sans);color:#526458;text-decoration:none}
.bmx2-shell .bmx2-tabs-shell .bmx2-tab.is-on{color:#153C2B}
.bmx2-shell .bmx2-tab-main{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-top:-24px;border-radius:29px;background:#153C2B;color:#FFFFFF;box-shadow:0 4px 12px rgba(21,60,43,.3)}
.bmx2-shell .bmx2-tab-badge{position:absolute;top:-6px;left:50%;margin-left:6px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#345A78;color:#FFFFFF;font:700 11.5px/18px var(--sans);text-align:center}
.bmx2-shell .bmx2-tab-badge[hidden]{display:none}
.bmx2-tab.is-on{color:#153C2B}
.bmx2-pend-retry{padding:0 18px 12px}
.main-content .bmx2 .bmx2-in::placeholder,.bmx2-shell .bmx2-in::placeholder{color:#8A968C;opacity:1}
.bmx2-c-top .bmx2-c-back{margin-top:2px}

/* ---------- Parte 3: ficha del animal y lista (AC_BMX2_FICHA_V1) ---------- */
.bmx2-crumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;font-size:14px;color:var(--musgo)}
.bmx2-crumbs a{color:var(--musgo);text-decoration:underline;text-underline-offset:3px}
.bmx2-crumbs span:last-child{color:var(--tinta);font-weight:600}
.bmx2-ahead{display:grid;grid-template-columns:auto 1fr auto;gap:22px;align-items:center}
.bmx2-ahead-id{display:flex;flex-direction:column;align-items:center;gap:6px}
.bmx2-tag.bmx2-tag-xl{min-width:104px;height:84px;padding:0 14px 12px;font-size:26px;border-radius:22px 22px 28px 28px}
.bmx2-tag.bmx2-tag-xl::before{top:10px;width:14px;height:14px;margin-left:-7px}
.bmx2-ahead-title{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.main-content .bmx2 .bmx2-ahead h1{font:600 34px/1.1 var(--serif);margin:0;color:var(--bosque)}
.bmx2-ahead-name{font-style:italic;color:var(--musgo)}
.bmx2-ahead-t .muted{margin-top:6px;font-size:16px}
.bmx2-read{border-radius:16px;padding:22px 24px;display:grid;grid-template-columns:1fr auto;gap:14px 22px;align-items:center;border:1px solid var(--linea)}
.bmx2-read.is-warn{background:var(--rev-bg);border-color:#EBD39A}
.bmx2-read.is-danger{background:var(--urg-bg);border-color:#E9BDB3}
.bmx2-read.is-ok{background:var(--ok-bg);border-color:#C6DDCB}
.bmx2-read.is-info{background:var(--gris-bg)}
.main-content .bmx2 .bmx2-read h2{font:600 22px/1.25 var(--serif);margin:0 0 6px;color:var(--tinta)}
.bmx2-read p{margin:0;font-size:16px;max-width:68ch}
.bmx2-read-acts{display:flex;flex-direction:column;gap:10px}
.bmx2-read.is-warn .bmx2-btn-line{background:var(--hoja)}
.bmx2-read-more{grid-column:1/-1;list-style:none;margin:4px 0 0;padding:12px 0 0;border-top:1px solid rgba(21,60,43,.12);display:flex;flex-direction:column;gap:8px}
.bmx2-read-more li{display:flex;gap:10px;align-items:baseline;font-size:15px}
.bmx2-read-more .bmx2-chip{flex:none}
.bmx2-agrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;align-items:start}
.bmx2-acol{display:flex;flex-direction:column;gap:22px;min-width:0}
.bmx2-wstats{display:flex;flex-wrap:wrap;gap:14px 34px;margin-bottom:14px}
.bmx2-wstats > div{display:flex;flex-direction:column;gap:2px}
.bmx2-big{font:600 30px/1.05 var(--serif);color:var(--bosque);font-variant-numeric:tabular-nums}
.bmx2-big small{font:500 15px var(--sans);color:var(--musgo)}
.bmx2-big.is-neg{color:var(--urg)}
.bmx2-wstats .muted{font-size:14px}
.bmx2-wchart{width:100%;height:auto;display:block;margin:4px 0 6px}
.bmx2-wchart .g{stroke:var(--linea-2);stroke-width:1}
.bmx2-wchart .gl{font:500 11.5px var(--sans);fill:var(--musgo);text-anchor:end}
.bmx2-wchart .ml{font:500 11.5px var(--sans);fill:var(--musgo);text-anchor:middle}
.bmx2-wchart .line{fill:none;stroke:var(--bosque);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}
.bmx2-wchart .pt{fill:var(--hoja);stroke:var(--bosque);stroke-width:2}
.bmx2-wchart .ref{stroke:var(--oro-2);stroke-width:1.5;stroke-dasharray:2 4}
.bmx2-wchart .refl{font:600 12px var(--sans);fill:var(--oro-tx)}
.bmx2-wchart .proj{stroke:var(--oro-2);stroke-width:2;stroke-dasharray:6 5}
.bmx2-wchart .projp{fill:var(--oro);stroke:var(--oro-2);stroke-width:1.5}
.bmx2-wchart .lastl{font:700 13px var(--sans);fill:var(--bosque);text-anchor:middle}
.bmx2-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bmx2-table{width:100%;border-collapse:collapse;font-size:15px}
.bmx2-table th{font:600 13px var(--sans);color:var(--musgo);text-align:left;padding:8px 10px;border-bottom:1.5px solid var(--linea)}
.bmx2-table td{padding:10px;border-bottom:1px solid var(--linea-2);vertical-align:top}
.bmx2-table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.bmx2-table .is-neg{color:var(--urg);font-weight:600}
.bmx2-table small{display:block;font-size:13px}
.bmx2-table small.bmx2-inl{display:inline}
.bmx2-table th button{all:unset;cursor:pointer;font:inherit;color:inherit}
.bmx2-table th button:hover{color:var(--bosque);text-decoration:underline}
.bmx2-table th.num{text-align:right}
.bmx2-price{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:10px 0 16px}
.bmx2-price label{font-weight:600;font-size:14px}
.main-content .bmx2 .bmx2-price .bmx2-in{width:140px;min-height:44px}
.bmx2-verdict{margin:14px 0 0;font-size:16px;font-weight:500}
.bmx2-verdict:empty{display:none}
.bmx2-hrow{display:flex;gap:12px;align-items:baseline;padding:10px 0;border-bottom:1px solid var(--linea-2)}
.bmx2-hrow:first-of-type{padding-top:0}
.bmx2-hrow .bmx2-chip{flex:none}
.bmx2-hrow p{margin:0;font-size:15px}
.bmx2-mini{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column}
.bmx2-mini li{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:9px 0;border-bottom:1px solid var(--linea-2);font-size:15px;align-items:baseline}
.bmx2-mini li:last-child{border-bottom:0}
.bmx2-mini li > .muted:first-child{font-size:13.5px;white-space:nowrap}
.bmx2-mini li small{grid-column:2;font-size:13.5px}
.bmx2-mini li .bmx2-tag{grid-row:span 2;min-width:50px;height:42px;font-size:13px}
.bmx2-rstate{font-size:18px;margin:0}
.bmx2-spark{width:100%;height:70px;display:block}
.bmx2-spark path{fill:none;stroke:var(--net);stroke-width:2.2;stroke-linejoin:round}
.bmx2-spark circle{fill:var(--net)}
.bmx2-facts{margin:0;display:flex;flex-direction:column}
.bmx2-facts > div{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:9px 0;border-bottom:1px solid var(--linea-2);font-size:15px}
.bmx2-facts > div:last-child{border-bottom:0}
.bmx2-facts dt{color:var(--musgo)}
.bmx2-facts dd{margin:0;font-weight:500}
.bmx2-tl{list-style:none;margin:0;padding:0;position:relative}
.bmx2-tl li{display:grid;grid-template-columns:92px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--linea-2)}
.bmx2-tl li:last-child{border-bottom:0}
.bmx2-tl-d{font-size:14px;color:var(--musgo);font-variant-numeric:tabular-nums}
.bmx2-tl b{display:block;font-weight:600}
.bmx2-tl p{margin:2px 0 0;font-size:14.5px}
.bmx2-tl small{display:block;margin-top:2px;font-size:13px}
.bmx2-tl li.k-peso b::before,.bmx2-tl li.k-sanidad b::before,.bmx2-tl li.k-reproduccion b::before,.bmx2-tl li.k-costo b::before,.bmx2-tl li.k-ingreso b::before,.bmx2-tl li.k-venta_salida b::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:8px;background:var(--musgo);vertical-align:1px}
.bmx2-tl li.k-peso b::before{background:var(--bosque)}
.bmx2-tl li.k-sanidad b::before{background:var(--net)}
.bmx2-tl li.k-reproduccion b::before{background:#9A5B8A}
.bmx2-tl li.k-costo b::before,.bmx2-tl li.k-venta_salida b::before{background:var(--oro-2)}
.bmx2-count{font:500 20px var(--sans);color:var(--musgo);vertical-align:middle;margin-left:6px}
.bmx2-filters{display:flex;flex-direction:column;gap:12px}
.main-content .bmx2 .bmx2-filters input[type=search]{min-height:48px}
.bmx2-seg{display:flex;flex-wrap:wrap;gap:8px}
.bmx2-seg button{border:1.5px solid var(--linea);background:var(--hoja);color:var(--tinta);border-radius:999px;padding:8px 14px;font:600 14px var(--sans);cursor:pointer;min-height:40px}
.bmx2-seg button b{font-weight:700;margin-left:4px;color:var(--musgo)}
.bmx2-seg button.is-on{background:var(--bosque);border-color:var(--bosque);color:#fff}
.bmx2-seg button.is-on b{color:var(--oro)}
.bmx2-alist{padding:8px 12px}
.bmx2-atable tbody tr{cursor:pointer}
.bmx2-atable tbody tr:hover td{background:#FAF8F1}
.bmx2-atable .bmx2-tag{min-width:54px;height:44px;font-size:14px;text-decoration:none}
.bmx2-atable td{vertical-align:middle}
.bmx2-why{display:block;margin-top:4px;color:var(--musgo);font-size:13px;max-width:30ch}
.bmx2-empty{padding:18px}
.bmx2-gone summary{border-top:0;padding-top:0}
.bmx2-gone .bmx2-mini li{grid-template-columns:auto 1fr}
@media (max-width:900px){
  .bmx2-ahead{grid-template-columns:auto 1fr}
  .bmx2-ahead-actions{grid-column:1/-1}
  .bmx2-agrid{grid-template-columns:1fr}
  .bmx2-read{grid-template-columns:1fr}
  .bmx2-read-acts{flex-direction:row;flex-wrap:wrap}
  .bmx2-read-acts .bmx2-btn{flex:1 1 auto}
}
@media (max-width:720px){
  .main-content .bmx2 .bmx2-ahead h1{font-size:26px}
  .bmx2-tag.bmx2-tag-xl{min-width:84px;height:70px;font-size:21px}
  .bmx2-facts > div{grid-template-columns:120px 1fr}
  .bmx2-tl li{grid-template-columns:70px 1fr;gap:10px}
  .bmx2-atable thead{display:none}
  .bmx2-atable,.bmx2-atable tbody{display:block}
  .bmx2-atable tr{display:grid;grid-template-columns:auto 1fr auto;gap:2px 12px;padding:12px 4px;border-bottom:1px solid var(--linea-2)}
  .bmx2-atable tr[hidden]{display:none}
  .bmx2-atable td{border:0;padding:0}
  .bmx2-atable td:nth-child(1){grid-row:span 3;align-self:center}
  .bmx2-atable td:nth-child(2){grid-column:2}
  .bmx2-atable td:nth-child(3){grid-column:2;font-size:14px}
  .bmx2-atable td:nth-child(3) small{display:inline}
  .bmx2-atable td:nth-child(3) small::before{content:", "}
  .bmx2-atable td:nth-child(4){grid-column:3;grid-row:1;text-align:right}
  .bmx2-atable td:nth-child(5){grid-column:3;grid-row:2;text-align:right}
  .bmx2-atable td:nth-child(6){grid-column:2/4}
  .bmx2-atable td:nth-child(4) small{display:none}
}
.bmx2-confirm{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:12px;background:var(--rev-bg);font-size:15px;cursor:pointer}
.bmx2-confirm input{width:22px;height:22px;flex:none;margin:1px 0 0;accent-color:var(--bosque)}
.main-content .bmx2 textarea.bmx2-in,.bmx2-shell textarea.bmx2-in{min-height:84px;padding-top:12px;resize:vertical;font:inherit}
.bmx2-net[hidden]{display:none}
.bmx2-table th,.bmx2-table td{font-family:var(--sans);text-transform:none;letter-spacing:0}
.bmx2-read.is-net{background:var(--net-bg);border-color:#C3D5E3}
.bmx2 .bmx2-ahead .bmx2-ahead-actions{display:flex}
@media (max-width:720px){
  .bmx2-atable td:nth-child(3) small{display:block}
  .bmx2-atable td:nth-child(3) small::before{content:none}
  .bmx2 .bmx2-ahead .bmx2-ahead-actions .bmx2-btn{flex:1 1 auto}
  .bmx2-ahead{gap:14px 16px}
}
.main-content .bmx2 .bmx2-table .num{font-family:var(--sans);font-weight:500;letter-spacing:0}
.main-content .bmx2 .bmx2-table th{text-transform:none;letter-spacing:0}

/* ---------- Parte 4: potreros, mapa y rotación (AC_BMX2_POTREROS_V1) ---------- */
.bmx2-wrap-wide{max-width:1320px}
.bmx2-sub{margin-top:6px;font-size:17px}
.bmx2-pots-actions{display:flex;gap:10px;flex-wrap:wrap}
.bmx2-fine{font-size:13.5px;line-height:1.45;color:var(--musgo)}
.bmx2 .sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.bmx2-drawmenu[hidden]{display:none}
.bmx2-drawlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.bmx2-drawopt{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;padding:12px 14px;border-radius:12px;border:1.5px solid var(--linea);background:var(--hoja);color:var(--tinta);font:500 15px/1.3 var(--sans);cursor:pointer}
.bmx2-drawopt:hover{border-color:var(--bosque)}
.bmx2-drawopt small{font-size:13px;color:var(--musgo)}
.bmx2-newpot{margin-top:14px;border-top:1px solid var(--linea-2);padding-top:12px}
.bmx2-newpot summary,.bmx2-pedit summary,.bmx2-days summary{cursor:pointer;font-weight:600;color:var(--bosque);padding:6px 0}
.bmx2-form3{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;margin-top:10px}
.bmx2-form3 label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;color:var(--tinta)}
.bmx2-form3 label small{font-weight:400;color:var(--musgo)}
.bmx2-form3 input,.bmx2-form3 select,.bmx2-days-t input,.bmx2-days-all input{min-height:44px;padding:0 12px;border:1.5px solid var(--linea);border-radius:10px;background:#FFFFFF;font:500 16px var(--sans);color:var(--tinta);width:100%}
.bmx2-form3 input:disabled{background:var(--gris-bg);color:var(--musgo)}
.bmx2-form3 .bmx2-fine,.bmx2-form3 .bmx2-formacts{grid-column:1/-1}
.bmx2-formacts{display:flex;gap:10px;justify-content:flex-end}

.bmx2-pgrid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(320px,1fr);gap:20px;align-items:start}
.bmx2-mapstage{position:relative;height:620px;border-radius:16px;overflow:hidden;background:#E9ECDD;border:1px solid var(--linea)}
.bmx2-map-fallback{position:absolute;inset:0;width:100%;height:100%;border-radius:0}
.bmx2-map .is-approx .shape{stroke-dasharray:7 5}
.bmx2-map .k-bad .shape{fill:#F2CFC7;stroke:#A63A2B;stroke-width:3}
.bmx2-map .k-ready .shape{fill:#F6F2E6;stroke:#8A6A22;stroke-width:3}
.bmx2-pots .bmx2-map .k-rest .shape{fill:#F6F2E6;stroke:#A8997A}
.bmx2-map .k-bad .t-name,.bmx2-map .k-bad .t-line{fill:#7E2A1F}
.bmx2-gl{position:absolute;inset:0;opacity:0;transition:opacity .25s}
.bmx2-mapstage.is-gl .bmx2-gl{opacity:1}
.bmx2-mapstage.is-gl .bmx2-map-fallback{visibility:hidden}
.bmx2-maptools{position:absolute;top:12px;left:12px;right:60px;z-index:3;display:flex;flex-wrap:wrap;gap:8px;pointer-events:none}
.bmx2-mseg{pointer-events:auto;display:inline-flex;align-items:center;gap:2px;background:#FFFFFF;border-radius:10px;padding:3px;box-shadow:0 1px 3px rgba(21,60,43,.22)}
.bmx2-mseg button{border:0;background:transparent;min-height:34px;padding:0 12px;border-radius:8px;font:600 14px/1 var(--sans);color:var(--musgo);cursor:pointer;white-space:nowrap}
.bmx2-mseg button.is-on{background:var(--bosque);color:#FFFFFF}
.bmx2-mseg button:disabled{color:#A9B3AB;cursor:not-allowed}
.bmx2-mseg-label{padding:0 6px 0 10px;font-size:14px;color:var(--musgo)}
.bmx2-mseg-note{padding:0 8px 0 4px;font-size:12.5px;color:var(--musgo)}
.bmx2-mapmsg{position:absolute;left:12px;bottom:12px;right:12px;z-index:3;display:flex;gap:10px;align-items:center;max-width:520px;padding:10px 14px;border-radius:12px;background:var(--net-bg);color:var(--net-tx);font-size:14px;font-weight:600;line-height:1.35;box-shadow:0 1px 3px rgba(21,60,43,.18)}
.bmx2-mapmsg[hidden]{display:none}
.bmx2-mapmsg button{flex:none;border:0;min-height:34px;padding:0 12px;border-radius:9px;background:#FFFFFF;color:var(--net-tx);font:600 14px var(--sans);cursor:pointer;box-shadow:inset 0 0 0 1.5px currentColor}
.bmx2-drawbar{position:absolute;left:12px;right:12px;bottom:12px;z-index:4;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;border-radius:14px;background:#FFFFFF;box-shadow:0 4px 16px rgba(21,60,43,.25)}
.bmx2-drawbar[hidden]{display:none}
.bmx2-drawbar p{flex:1 1 260px;font-size:15px;font-weight:600}
.bmx2-drawbar-info{display:flex;gap:12px;font-size:14px;color:var(--musgo);font-variant-numeric:tabular-nums}
.bmx2-drawbar-info b{color:var(--bosque)}
.bmx2-drawbar-acts{display:flex;gap:8px;flex-wrap:wrap}
.bmx2-mapstage.is-drawing .bmx2-maptools{display:none}
.bmx2-mapstage .maplibregl-ctrl-group{border-radius:10px;box-shadow:0 1px 3px rgba(21,60,43,.22)}
.bmx2-mapstage .maplibregl-ctrl-group button{width:40px;height:40px}
.bmx2-mapstage .maplibregl-ctrl-scale{border-color:#163527;color:#163527;background:rgba(255,255,255,.85);font:500 12px var(--sans)}
.bmx2-plabel{padding:5px 10px 6px;border-radius:10px;background:#FFFFFF;border:1.5px solid #2E7D4F;text-align:center;font-family:var(--sans);color:#163527;cursor:pointer;box-shadow:0 1px 3px rgba(21,60,43,.25);white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}
.bmx2-plabel b{display:block;font:600 14.5px/1.2 var(--sans)}
.bmx2-plabel span{display:block;font:500 12.5px/1.25 var(--sans);color:#33473A}
.bmx2-plabel.k-bad{border-color:#A63A2B}.bmx2-plabel.k-bad b,.bmx2-plabel.k-bad span{color:#7E2A1F}
.bmx2-plabel.k-warn{border-color:#B77A12}
.bmx2-plabel.k-ready{border-color:#8A6A22;border-width:2px}
.bmx2-plabel.k-rest{border-color:#9C8A5A}
.bmx2-plabel.is-approx{border-style:dashed}
.bmx2-plabel.is-small{padding:3px 7px 4px}
.bmx2-plabel.is-small b{font-size:13px}
.bmx2-plabel.is-small span{font-size:11.5px}
.bmx2-plabel.is-compact{padding:3px 7px 4px}
.bmx2-plabel.is-compact b{font-size:12.5px}
.bmx2-plabel.is-compact span{display:none}
.bmx2-plabel.is-tiny{visibility:hidden}
.bmx2-plabel.is-tiny.is-sel{visibility:visible}
.bmx2-plabel.is-sel{box-shadow:0 0 0 3px #DDBC78,0 2px 6px rgba(21,60,43,.3)}
.bmx2-mapstage.is-drawing .bmx2-plabel{pointer-events:none;opacity:.75}
.bmx2-vtx{width:18px;height:18px;border-radius:50%;background:#FFFFFF;border:3px solid #A63A2B;box-shadow:0 1px 3px rgba(0,0,0,.35);cursor:grab}
.bmx2-vtx.is-mid{width:12px;height:12px;border-width:2px;border-color:#153C2B;opacity:.85;cursor:copy}
.bmx2-gpsdot{width:16px;height:16px;border-radius:50%;background:#2F6FB5;border:3px solid #FFFFFF;box-shadow:0 0 0 2px rgba(47,111,181,.35)}
.bmx2-plegend .l-ready{background:#F6F2E6;box-shadow:inset 0 0 0 3px #8A6A22}
.bmx2-plegend .l-rest{background:#F6F2E6;box-shadow:inset 0 0 0 2px #A8997A}
.bmx2-plegend .l-c0{background:#EDEAE0;box-shadow:inset 0 0 0 2px #9C8A5A}
.bmx2-plegend .l-c1{background:#E3EFE6;box-shadow:inset 0 0 0 2px #2E7D4F}
.bmx2-plegend .l-c2{background:#B9D7BF;box-shadow:inset 0 0 0 2px #2E7D4F}
.bmx2-plegend .l-c3{background:#6FA77D;box-shadow:inset 0 0 0 2px #1F5A38}
.bmx2-plegend .l-c4{background:#2E6B45;box-shadow:inset 0 0 0 2px #163527}
.bmx2-plegend .l-docc{background:#D9DED2;box-shadow:inset 0 0 0 2px #7A8A7E}
.bmx2-plegend .l-r1{background:#F6EBD0;box-shadow:inset 0 0 0 2px #B8A26A}
.bmx2-plegend .l-r2{background:#EBD39A;box-shadow:inset 0 0 0 2px #B8954A}
.bmx2-plegend[hidden]{display:none}

.bmx2-pcard[hidden]{display:none}
.bmx2-pcard-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.main-content .bmx2 .bmx2-pcard-h h2{font:600 30px/1.1 var(--serif);color:var(--bosque)}
.bmx2-pcard-use{margin:4px 0 10px;font-size:14px}
.bmx2-pfacts{margin:0 0 10px}
.bmx2-pfacts > div{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-top:1px solid var(--linea-2);font-size:15px;font-variant-numeric:tabular-nums}
.bmx2-pfacts dt{color:var(--tinta);flex:none}
.bmx2-pfacts dd{margin:0;font-weight:600;text-align:right}
.bmx2-pfacts dd.is-danger{color:var(--urg)}
.bmx2-pfacts dd.is-warn{color:var(--rev-tx)}
.bmx2-prop{margin-top:14px;padding:16px;border-radius:14px;background:#EEF4EE}
.bmx2-prop.is-gap{background:var(--rev-bg)}
.bmx2-prop h3,.bmx2-pcard-sec h3{font:600 16px/1.3 var(--sans);color:var(--tinta);margin:0 0 6px}
.bmx2-prop p{font-size:15px;line-height:1.5}
.bmx2-prop-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.bmx2-mconfirm{margin-top:12px;padding-top:12px;border-top:1px solid rgba(21,60,43,.15)}
.bmx2-mconfirm[hidden],.bmx2-prop-acts[hidden]{display:none}
.bmx2-mconfirm p{font-weight:600}
.bmx2-mconfirm .bmx2-fine{font-weight:500;color:var(--urg-tx);margin-top:8px}
.bmx2-pcard-sec{margin-top:18px}
.bmx2-btnrow{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.bmx2-evlist{list-style:none;margin:0;padding:0;font-size:14.5px}
.bmx2-evlist li{display:grid;grid-template-columns:58px 1fr;gap:10px;padding:7px 0;border-top:1px solid var(--linea-2)}
.bmx2-pedit{margin-top:16px;border-top:1px solid var(--linea-2);padding-top:8px}
.bmx2-pcard-foot{margin-top:12px;font-size:14.5px}
.bmx2-pcard-foot a{font-weight:600}

.bmx2-rot-h{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:12px}
.bmx2-rot-h > div{flex:1 1 460px;min-width:0}
.bmx2-rot-h a{font-weight:600;font-size:15px;flex:none}
.bmx2-rot .bmx2-check{margin-bottom:12px}
.bmx2-rot-alert p{font-size:15px;line-height:1.5}
.bmx2-more2 summary{cursor:pointer;font-weight:600;margin-top:8px}
.bmx2-more2 ul{margin:8px 0 0;padding-left:18px;font-size:14.5px;line-height:1.5}
.bmx2-more2 li{margin-bottom:6px}
.bmx2-tl{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:6px;padding-bottom:4px}
.bmx2-tl-in{min-width:820px;--tl-name:190px}
.bmx2-tl-row,.bmx2-tl-ticks{display:grid;grid-template-columns:var(--tl-name) minmax(0,1fr);align-items:center}
.bmx2-tl-ticks{height:30px}
.bmx2-tl-row{min-height:46px}
.bmx2-tl-name{padding-right:12px;min-width:0;position:sticky;left:0;z-index:5;background:var(--hoja);align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.bmx2-tl-name a{display:block;font-weight:600;font-size:15px;text-decoration:none;color:var(--tinta);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bmx2-tl-name a:hover{text-decoration:underline}
.bmx2-tl-name small{display:block;font-size:13px;color:var(--musgo)}
.bmx2-tl-track{position:relative;height:30px}
.bmx2-tl-ticks .bmx2-tl-track span{position:absolute;top:4px;transform:translateX(-50%);font-size:13px;color:var(--musgo);white-space:nowrap}
.bmx2-tl-ticks .bmx2-tl-track span:first-child{transform:none}
.bmx2-tl-ticks .bmx2-tl-track span:last-child{transform:translateX(-100%)}
.bmx2-tl-ticks .bmx2-tl-track span.is-today{top:1px;padding:3px 9px;border-radius:10px;background:var(--bosque);color:#FFFFFF;font-weight:600}
.bmx2-tl-grid{position:absolute;top:-8px;bottom:-8px;width:1px;background:var(--linea-2)}
.bmx2-tl-grid.is-today{width:2px;margin-left:-1px;background:var(--bosque);z-index:2}
.bmx2-tl .seg{position:absolute;top:2px;bottom:2px;box-sizing:border-box;border-radius:6px;padding:0 8px;font:500 12.5px/26px var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tinta)}
.bmx2-tl .k-occ{background:#3D7A55}
.bmx2-tl .k-late{background:#A63A2B}
.bmx2-tl .k-late-ref{background:#C98E2A}
.bmx2-tl .k-rest{background:#E6DAB8}
.bmx2-tl .k-p-occ,.bmx2-tl .k-p-new{background:#DCEBDF;border:1.5px dashed #2E7D4F;color:#1F5A38;line-height:23px}
.bmx2-tl .k-p-rest{background:#F3ECD9;border:1.5px dashed #B8A26A;color:#6E5A2A;line-height:23px}
.bmx2-tl .k-p-ready{background:#F7EFD9;border:1.5px dashed #DDBC78;color:#6E5A2A;line-height:23px}
.bmx2-tl .k-gap{background:repeating-linear-gradient(135deg,#F6DDD7 0 6px,#FFFFFF 6px 11px);border:1.5px dashed #A63A2B;color:#7E2A1F;font-weight:600;line-height:23px}
.bmx2-tl .k-maint{background:#EDEAE0;border:1.5px dashed #9AA39B;color:var(--musgo);line-height:23px}
.bmx2-tl-mark{position:absolute;top:50%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:#DDBC78;border:2px solid #FFFFFF;box-shadow:0 0 0 1px #B8954A;z-index:3}
.bmx2-tl-legend i{width:16px;height:12px;border-radius:3px}
.bmx2-tl-legend .t-occ{background:#3D7A55}
.bmx2-tl-legend .t-late{background:#A63A2B}
.bmx2-tl-legend .t-late-ref{background:#C98E2A}
.bmx2-tl-legend .t-rest{background:#E6DAB8}
.bmx2-tl-legend .t-plan{background:#FFFFFF;box-shadow:inset 0 0 0 1.5px #526458}
.bmx2-tl-legend .t-gap{background:repeating-linear-gradient(135deg,#F6DDD7 0 3px,#FFFFFF 3px 6px);box-shadow:inset 0 0 0 1.5px #A63A2B}
.bmx2-tl-legend .t-mark{width:12px;border-radius:50%;background:#DDBC78}
.bmx2-days{margin-top:16px;border-top:1px solid var(--linea-2);padding-top:8px}
.bmx2-days .bmx2-fine{margin:6px 0 12px}
.bmx2-days-all{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:600}
.bmx2-days-all label{width:120px}
.bmx2-days-t input{width:76px;text-align:right;min-height:40px}
.bmx2-days-t td{vertical-align:middle}

@media (max-width:1100px){
  .bmx2-pgrid{grid-template-columns:1fr}
  .bmx2-mapstage{height:520px}
}
@media (max-width:900px){
  .bmx2-pots-actions .bmx2-btn{min-height:42px;padding:0 14px}
  .bmx2-pots-actions .bmx2-btn-primary{display:none}
  .bmx2-mapstage{height:440px;border-radius:14px}
  .bmx2-maptools{right:56px;gap:6px}
  .bmx2-mseg button{padding:0 9px;font-size:13.5px}
  .bmx2-mseg-label,.bmx2-mseg-note{display:none}
  .bmx2-form3{grid-template-columns:1fr}
  .bmx2-tl-in{--tl-name:132px;min-width:700px}
  .bmx2-pcard-h h2{font-size:26px}
}
.bmx2-map a.is-sel .shape{stroke:#DDBC78;stroke-width:4.5}

/* Mover ganado: elegir animales (Registrar) */
.bmx2-mv h2{margin-bottom:10px}
.bmx2-mv-count{margin:10px 0 6px;font-weight:600;color:var(--bosque)}
.bmx2-mv-list{display:flex;flex-direction:column}
.bmx2-mv-g{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 2px 6px;border-bottom:1.5px solid var(--linea);font-size:15px}
.bmx2-mv-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:6px 2px;border-bottom:1px solid var(--linea-2);cursor:pointer}
.bmx2-mv-row input{width:24px;height:24px;flex:none;accent-color:var(--bosque)}
.bmx2-mv-row span{display:flex;flex-direction:column;min-width:0}
.bmx2-mv-row b{font:600 15px/1.3 var(--sans)}
.bmx2-mv-row small{font-size:13px}
.bmx2-actions-stick{position:sticky;bottom:12px;z-index:5;padding:10px;margin:0 -10px;border-radius:16px;background:rgba(246,244,236,.94);box-shadow:0 -2px 12px rgba(21,60,43,.10)}
@media (max-width:900px){.bmx2-actions-stick{bottom:calc(80px + env(safe-area-inset-bottom,0px))}}

/* ---------- Parte 5: Dinero, Clima e Importar (AC_BMX2_DINERO_V1 / CLIMA_V1 / IMPORTAR_V1) ---------- */
.main-content .bmx2 h3{font:600 16px/1.3 var(--sans);color:var(--tinta);margin:0}
.bmx2-lead{font-size:16px;line-height:1.5;margin:0 0 4px}
.bmx2-h3{margin:20px 0 6px!important}
.bmx2-row > .bmx2-half{flex:1 1 420px;min-width:0}
.bmx2-seg a{display:inline-flex;align-items:center;border:1.5px solid var(--linea);background:var(--hoja);color:var(--tinta);border-radius:999px;padding:0 16px;min-height:42px;font:600 14.5px var(--sans);text-decoration:none}
.bmx2-seg a:hover{border-color:var(--bosque);color:var(--bosque)}
.bmx2-seg a.is-on{background:var(--bosque);border-color:var(--bosque);color:#FFFFFF}
.bmx2-result-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
.bmx2-result .bmx2-money-row b{font-size:26px}
.bmx2-result .bmx2-money-row.is-total b{font-size:32px}
.bmx2-cbars{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}
.bmx2-cbars li{display:grid;grid-template-columns:1fr auto;gap:4px 12px;font-size:15px}
.bmx2-cbar-v{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.bmx2-cbar-v small{color:var(--musgo);font-weight:500;margin-left:4px}
.bmx2-cbar-t{grid-column:1 / -1;height:10px;border-radius:5px;background:var(--linea-2);overflow:hidden}
.bmx2-cbar-t i{display:block;height:100%;border-radius:5px;background:var(--oro-2)}
.bmx2-cbars li:first-child .bmx2-cbar-t i{background:var(--bosque)}
.bmx2-units{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:14px}
.bmx2-unit{border:1px solid var(--linea);border-radius:14px;padding:16px 18px;display:flex;flex-direction:column;gap:6px;background:var(--papel)}
.bmx2-unit.is-ok{border-color:#B9D6C2;background:var(--ok-bg)}
.bmx2-unit.is-danger{border-color:#E8BDB4;background:var(--urg-bg)}
.bmx2-unit.is-muted{background:var(--hoja)}
.bmx2-unit-n{font:600 28px/1.1 var(--serif);color:var(--bosque);margin:2px 0!important;font-variant-numeric:tabular-nums}
.bmx2-unit-n small{font:500 14px var(--sans);color:var(--musgo)}
.bmx2-unit.is-danger .bmx2-unit-n{color:var(--urg-tx)}
.bmx2-unit-c{font-weight:600;font-size:15px}
.bmx2-unit-note{font-size:14px;color:var(--musgo);line-height:1.45}
.bmx2-unit-warn{font-size:13.5px;color:var(--rev-tx);background:var(--rev-bg);border-radius:10px;padding:8px 10px;margin-top:4px!important}
.bmx2-plain{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.bmx2-plain li{border-bottom:1px solid var(--linea-2)}
.bmx2-plain li:last-child{border-bottom:0}
.bmx2-plain li,.bmx2-plain li > a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;color:var(--tinta);text-decoration:none}
.bmx2-plain li > a{padding:0;flex:1;min-width:0}
.bmx2-plain li:has(> a){padding:11px 0}
.bmx2-plain li > a:hover b{color:var(--bosque);text-decoration:underline}
.bmx2-plain span:first-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.bmx2-plain b{font:600 15px/1.3 var(--sans)}
.bmx2-plain small{font-size:13.5px;color:var(--musgo)}
.bmx2-amt{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.bmx2-amt.is-in{color:var(--ok-tx)}
.bmx2-amt.is-out{color:var(--tinta)}
.bmx2-subsec{margin-top:18px;padding-top:16px;border-top:1.5px solid var(--linea)}
.bmx2-advice{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.bmx2-advice li{display:flex;gap:14px;align-items:flex-start;padding:14px 16px;border-radius:14px;background:var(--papel);border:1px solid var(--linea)}
.bmx2-advice li.is-danger{background:var(--urg-bg);border-color:#E8BDB4}
.bmx2-advice li.is-warn{background:var(--rev-bg);border-color:#EBD39E}
.bmx2-advice li.is-ok{background:var(--ok-bg);border-color:#B9D6C2}
.bmx2-advice-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--hoja);color:var(--bosque)}
.bmx2-advice li.is-danger .bmx2-advice-ic{color:var(--urg)}
.bmx2-advice li.is-warn .bmx2-advice-ic{color:var(--rev)}
.bmx2-advice b{display:block;font:600 16px/1.3 var(--sans);margin-bottom:4px}
.bmx2-advice p{font-size:15px;line-height:1.5}
.bmx2-advice a{display:inline-block;margin-top:8px;font-weight:600}
.bmx2-now{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bmx2-now > div{display:flex;flex-direction:column;gap:2px}
.bmx2-now-n{font:600 34px/1.05 var(--serif);color:var(--bosque);font-variant-numeric:tabular-nums}
.bmx2-now small{font-size:13.5px;color:var(--musgo)}
.bmx2-sat{position:relative;width:100%;aspect-ratio:2 / 1;border-radius:14px;overflow:hidden;background:#2B3A2F}
.bmx2-sat img{position:absolute;width:25%;height:50%;object-fit:cover;display:block}
.bmx2-sat svg{position:absolute;inset:0;width:100%;height:100%}
.bmx2-sat polygon{fill:rgba(221,188,120,.12);stroke:#DDBC78;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:6 4}
.bmx2-sat-pin{position:absolute;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:#DDBC78;border:3px solid #FFFFFF;box-shadow:0 0 0 6px rgba(221,188,120,.35),0 2px 6px rgba(0,0,0,.4)}
.bmx2-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.bmx2-day{display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:14px;background:var(--papel);border:1px solid var(--linea-2);min-width:0}
.bmx2-day:first-child{background:#FFFFFF;border-color:var(--bosque)}
.bmx2-day-l{font:600 15px var(--sans);text-transform:capitalize}
.bmx2-day-t{font:600 22px/1 var(--serif);color:var(--bosque)}
.bmx2-day-t small{font:500 14px var(--sans);color:var(--musgo)}
.bmx2-day .bmx2-chip{min-width:0;align-self:flex-start}
.bmx2-day-h{display:flex;flex-direction:column;gap:5px;font-size:13px;color:var(--musgo)}
.bmx2-day-bar{display:block;height:6px;border-radius:3px;background:var(--linea-2);overflow:hidden}
.bmx2-day-bar i{display:block;height:100%;background:var(--rev);border-radius:3px}
.bmx2-day-r{font-size:13.5px;font-weight:600;color:var(--net-tx)}
.bmx2-day-r small{font-weight:500;color:var(--musgo)}
.bmx2-day-r.is-heavy{color:var(--urg-tx)}
.bmx2-issues{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.bmx2-issues li{padding:10px 14px;border-radius:12px;background:var(--rev-bg);color:#4F3304;font-size:14.5px}
.bmx2-mapgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px 16px;margin-top:10px}
.bmx2-mapgrid .bmx2-in{min-height:46px;font-size:15.5px}
.bmx2-drop{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:30px 20px;border:2px dashed var(--linea);border-radius:16px;background:var(--papel);color:var(--bosque);cursor:pointer}
.bmx2-drop:hover,.bmx2-drop:focus-within{border-color:var(--bosque)}
.bmx2-drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.bmx2-drop b{font:600 17px var(--sans)}
.bmx2-drop small{font-size:14px;color:var(--musgo);max-width:460px}
.bmx2-drop.has-file{border-style:solid;border-color:var(--bosque);background:#FFFFFF}
.bmx2-done{border-color:#B9D6C2}
@media (max-width:900px){
  .bmx2-result-grid{grid-template-columns:1fr;gap:12px}
  .bmx2-week{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(132px,40%);overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;padding-bottom:4px}
  .bmx2-day{scroll-snap-align:start}
  .bmx2-now-n{font-size:28px}
  .bmx2-seg a{padding:0 13px;font-size:14px}
}
.bmx2-day-h.is-hot{color:var(--rev-tx);font-weight:600}
.bmx2-day-h.is-hot .bmx2-day-bar i{background:var(--urg)}
.bmx2-ops{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.bmx2-ops li{padding:12px 0;border-bottom:1px solid var(--linea-2)}
.bmx2-ops li:first-child{padding-top:2px}
.bmx2-ops li:last-child{border-bottom:0}
.bmx2-ops-h{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.bmx2-ops-h b{font:600 16px var(--sans)}
.bmx2-ops-h small{font-size:13.5px;color:var(--musgo)}
.bmx2-ops dl{margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bmx2-ops dt{font-size:12.5px;color:var(--musgo)}
.bmx2-ops dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;font-size:15px}
.bmx2-ops dd.is-neg{color:var(--urg)}
.bmx2-ops dd.is-pos{color:var(--ok-tx)}
.bmx2-ops-note{font-size:13.5px;color:var(--musgo);margin-top:6px!important}
.bmx2-ops li.is-sin .bmx2-ops-h b{color:var(--rev-tx)}

/* ---------- Insumos en bodega (AC_BMX2_INSUMOS_V1) ---------- */
.bmx2-progress.is-danger i{background:var(--urg)}
.bmx2-progress.is-warn i{background:var(--rev)}
.bmx2-progress.is-ok i{background:var(--ok)}
.bmx2-low li > span:first-child{flex:1}
.bmx2-low .bmx2-progress{margin-top:7px;max-width:340px}
.bmx2-ins-group + .bmx2-ins-group{margin-top:20px}
.main-content .bmx2 .bmx2-ins-group h3{font:600 14px/1.3 var(--sans);color:var(--musgo);margin:0 0 4px}
.bmx2-ins{border-bottom:1px solid var(--linea-2)}
.bmx2-ins summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;cursor:pointer;list-style:none}
.bmx2-ins summary::-webkit-details-marker{display:none}
.bmx2-ins summary::after{content:"";flex:none;width:9px;height:9px;margin:0 4px 4px 0;border-right:2px solid var(--musgo);border-bottom:2px solid var(--musgo);transform:rotate(45deg);transition:transform .15s}
.bmx2-ins[open] summary::after{transform:rotate(-135deg);margin-bottom:-4px}
.bmx2-ins-name{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.bmx2-ins-name b{font:600 15.5px/1.3 var(--sans)}
.bmx2-ins-name small{font-size:13.5px;color:var(--musgo)}
.bmx2-ins-qty{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:14.5px;color:var(--musgo)}
.bmx2-ins-qty b{font:600 17px/1 var(--sans);color:var(--tinta);font-variant-numeric:tabular-nums}
.bmx2-ins-body{display:flex;flex-direction:column;gap:14px;padding:2px 0 20px}
.bmx2-ins-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 18px;margin:0;padding:12px 14px;border-radius:12px;background:var(--papel)}
.bmx2-ins-facts dt{font-size:13px;color:var(--musgo)}
.bmx2-ins-facts dd{margin:2px 0 0;font-size:15px;font-weight:600}
@media (max-width:520px){
  .bmx2-low li{flex-direction:column;align-items:stretch}
  .bmx2-low .bmx2-btn{width:100%}
  .bmx2-ins-qty{flex-direction:column;align-items:flex-end;gap:6px}
}
.bmx2-ins-panel[hidden]{display:none}
.bmx2 .bmx2-low li > a.bmx2-btn{flex:none;padding:0 16px;justify-content:center}
.bmx2-card > .bmx2-more:first-child > summary{border-top:0;padding-top:0}

/* ---------- Demo pública (AC_DEMO_PUBLIC_V1) ---------- */
.bmx2-demo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:14px;background:var(--bosque);color:#E8EFE9}
.main-content .bmx2 .bmx2-demo p{font-size:15px;line-height:1.45;color:#E8EFE9;margin:0}
.bmx2-demo p b{color:#FFFFFF}
.bmx2-demo-acts{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.bmx2 .bmx2-demo-cta{background:var(--oro);color:var(--bosque-2);min-height:42px}
.bmx2 .bmx2-demo-cta:hover{background:#E9CF97;color:var(--bosque-2)}
.bmx2 a.bmx2-demo-out{color:#C9D8CC;font-size:14px;font-weight:600}
.bmx2-demo-toast{position:fixed;left:50%;bottom:calc(92px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1200;max-width:min(560px,calc(100vw - 32px));padding:12px 16px;border-radius:12px;background:var(--bosque-2);color:#FFFFFF;font-size:15px;line-height:1.4;box-shadow:0 8px 24px rgba(14,42,30,.28)}
.bmx2-demo-toast[hidden]{display:none}
.bmx2 .bmx2-demo-toast a{color:var(--oro);font-weight:600;margin-left:6px}
@media (min-width:901px){.bmx2-demo-toast{bottom:28px}}
@media (max-width:520px){.bmx2-demo{padding:12px 14px}.bmx2-demo-acts{width:100%;justify-content:space-between}}
html[data-acp-demo] #bmx2Net,html[data-acp-demo] .bmx2-foot,
html[data-acp-demo] .bmx2-net[data-state="online"],html[data-acp-demo] .bmx2-net[data-state="pending"]{display:none}
/* En la demo no hay descargas (el servidor tampoco las entrega). */
html[data-acp-demo] a[href*="/reportes/pdf"],html[data-acp-demo] a[href*="/reportes/excel"],
html[data-acp-demo] a[href*=".csv"],html[data-acp-demo] .bmx2-dl li:has(a[href*="/reportes/pdf"]),
html[data-acp-demo] .bmx2-dl li:has(a[href*="/reportes/excel"]){display:none}
.bmx2-campo-demo{max-width:680px;margin:0 auto;padding:20px 20px 0}
@media (max-width:520px){.bmx2-campo-demo{padding:12px 14px 0}}

/* ---------- AC_AYUDA_V2: centro de ayuda de las suites MAX ---------- */
.bmx2-help [hidden]{display:none!important}
.bmx2-help-head h1{max-width:22ch}
.bmx2-help-head .bmx2-sub{max-width:62ch;margin-top:10px}
.bmx2-help-prod{display:flex;gap:8px;flex-wrap:wrap}
.bmx2 .bmx2-help-prod a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;border-radius:19px;border:1px solid var(--linea);background:var(--hoja);color:var(--tinta);font-weight:600;font-size:14px;text-decoration:none}
.bmx2 .bmx2-help-prod a.is-on{background:var(--bosque);border-color:var(--bosque);color:#FFFFFF}
.bmx2-help-search{display:flex;flex-direction:column;gap:8px;max-width:620px}
.main-content .bmx2-help-h2{font:600 20px/1.25 var(--sans);color:var(--tinta);margin:0 0 12px}
.bmx2-help-steps{list-style:none;margin:0;padding:0;counter-reset:hstep}
.bmx2-help-steps li{counter-increment:hstep;display:grid;grid-template-columns:34px 1fr auto;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid var(--linea-2)}
.bmx2-help-steps li:first-child{padding-top:0}
.bmx2-help-steps li:last-child{border-bottom:0;padding-bottom:0}
.bmx2-help-steps li::before{content:counter(hstep);display:grid;place-items:center;width:34px;height:34px;border-radius:17px;background:var(--ok-bg);color:var(--ok-tx);font-weight:700}
.bmx2-help-steps b{font-size:16px}
.bmx2-help-steps p{margin-top:2px!important;font-size:15px}
.bmx2-help-tasks{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.bmx2 a.bmx2-help-task{display:flex;flex-direction:column;gap:6px;padding:18px 20px;background:var(--hoja);border:1px solid var(--linea);border-radius:16px;color:var(--tinta);text-decoration:none}
.bmx2 a.bmx2-help-task:hover{border-color:var(--bosque);background:#FBFAF5}
.bmx2-help-task b{font:600 17px/1.25 var(--sans)}
.bmx2-help-task .muted{font-size:15px}
.bmx2-help-go{margin-top:auto;padding-top:6px;font-weight:600;color:var(--bosque)}
.bmx2-help-list{list-style:none;margin:0;padding:0}
.bmx2-help-list li{border-bottom:1px solid var(--linea-2)}
.bmx2-help-list li:last-child{border-bottom:0}
.bmx2-help-list summary{list-style:none;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:13px 36px 13px 0;position:relative}
.bmx2-help-list summary::-webkit-details-marker{display:none}
.bmx2-help-list summary::after{content:"+";position:absolute;right:6px;top:10px;font:400 24px/1 var(--sans);color:var(--musgo)}
.bmx2-help-list details[open] summary::after{content:"\2212"}
.bmx2-help-list summary b{font-size:16px}
.bmx2-help-list summary .muted{font-size:15px}
.bmx2-help-list details > p{margin:0 0 10px!important;max-width:70ch}
.bmx2-help-dl{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:2px 0 12px;font-size:15px}
.bmx2-help-dl dt{font-weight:600;color:var(--musgo)}
.bmx2-help-dl dd{margin:0}
.bmx2 a.bmx2-help-open{display:inline-block;margin-bottom:14px;font-weight:600}
.bmx2-help-off > div > p{max-width:70ch}
.bmx2-help-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:16px 0 18px}
.bmx2-help-cols h3{font:600 15px/1.3 var(--sans);margin-bottom:6px!important}
.bmx2-help-cols ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}
.bmx2-help-cols div:last-child{color:var(--musgo)}
.bmx2-help-words{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px 24px;margin:0}
.bmx2-help-words dt{font-weight:600}
.bmx2-help-words dd{margin:2px 0 0;color:var(--musgo);font-size:15px}
.bmx2-help-none{padding:18px 20px;border-radius:14px;background:var(--gris-bg);color:var(--tinta)}
.bmx2-help-contact{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:24px;border-radius:16px;background:var(--bosque);color:#E8EFE9}
.main-content .bmx2 .bmx2-help-contact h2{color:#FFFFFF}
.bmx2-help-contact > div:first-child{flex:1 1 360px}
.bmx2 .bmx2-help-contact .muted{color:#C9D8CC;margin-top:4px}
.bmx2-help-contact-acts{display:flex;gap:10px;flex-wrap:wrap}
.bmx2 .bmx2-help-contact .bmx2-btn-primary{background:var(--oro);color:var(--bosque-2)}
.bmx2 .bmx2-help-contact .bmx2-btn-primary:hover{background:#E9CF97;color:var(--bosque-2)}
.bmx2 .bmx2-help-contact .bmx2-btn-line{background:transparent;color:#FFFFFF;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.55)}
.bmx2 .bmx2-help-contact .bmx2-btn-line:hover{background:rgba(255,255,255,.08);color:#FFFFFF}
.bmx2-help-scope{font-size:14px;max-width:80ch}
@media (max-width:640px){
  .bmx2-help-steps li{grid-template-columns:34px 1fr}
  .bmx2-help-steps li > a{grid-column:2;justify-self:start}
  .bmx2-help-dl{grid-template-columns:1fr;gap:2px}
  .bmx2-help-dl dd{margin-bottom:8px}
  .bmx2-help-cols{grid-template-columns:1fr}
  .bmx2-help-contact{padding:20px}
}

/* ---------- AC_PERFIL_MAX_V1: perfil de las suites MAX ---------- */
.bmx2-pf [hidden]{display:none!important}
.bmx2-pf-mail{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px!important;color:var(--musgo);font-size:16px}
.bmx2-pf-verify{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-top:0}
.bmx2-pf-verify > div{flex:1 1 320px}
.bmx2-pf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}
.bmx2-pf-plan{font:600 22px/1.25 var(--serif);color:var(--bosque);margin-bottom:4px!important}
.bmx2 .bmx2-pf-gap{margin:12px 0 14px!important}
.bmx2 a.bmx2-btn.bmx2-pf-gap{margin:14px 0 0!important}
.bmx2-pf-h3{font:600 16px/1.3 var(--sans);margin-bottom:10px!important}
.bmx2-pf-bad{background:var(--urg-bg);color:var(--urg-tx)}
.bmx2-pf-acts{display:flex;gap:10px;flex-wrap:wrap}
.bmx2-pf-show{display:inline-flex;align-items:center;gap:8px;font-size:15px;color:var(--tinta);cursor:pointer}
.bmx2-pf-show input{width:18px;height:18px;accent-color:var(--bosque)}
.bmx2-pf-msg{min-height:1.4em;font-size:15px;font-weight:600}
.bmx2-pf-msg.is-bad{color:var(--urg-tx)}
.bmx2-pf-msg.is-ok{color:var(--ok-tx)}
.bmx2 .bmx2-pf .bmx2-in:disabled,.main-content .bmx2-pf .bmx2-in:disabled{background:var(--gris-bg);color:var(--musgo)}
.bmx2-pf-foot{font-size:14px}
@media (max-width:900px){.bmx2-pf-grid{grid-template-columns:1fr}}
@media (max-width:560px){.bmx2-pf .bmx2-row2{grid-template-columns:1fr}}
.bmx2-pf-col{display:flex;flex-direction:column;gap:18px;min-width:0}
