*{box-sizing:border-box;}
body{font-family:system-ui,sans-serif;margin:0;background:var(--ui-bg-page,#0f1419);color:var(--ui-text,#e6edf3);}
.top{display:flex;justify-content:space-between;align-items:center;padding:0.75rem 1.25rem;background:var(--ui-bg-header,#161b22);border-bottom:1px solid var(--ui-border,#30363d);}
.brand{color:#58a6ff;text-decoration:none;font-weight:700;}
.brand-mark{
  display:inline-flex;align-items:center;text-decoration:none;line-height:0;
  background:#fff;border-radius:8px;padding:0.25rem 0.55rem;
  box-shadow:0 1px 4px rgba(0,0,0,.14);
  border:1px solid rgba(45,106,79,.12);
  overflow:visible;
  flex-shrink:0;
}
.brand-logo{
  display:block;
  height:auto;
  width:auto;
  max-height:2.5rem;
  max-width:min(200px,46vw);
  object-fit:contain;
}
.auth-brand-wrap{display:block;text-align:center;text-decoration:none;margin-bottom:1rem;}
.auth-brand-logo{display:block;margin:0 auto;max-width:min(260px,88vw);width:100%;height:auto;}
.auth-brand{display:block;text-align:center;color:#58a6ff;text-decoration:none;font-weight:700;font-size:1.25rem;margin-bottom:1.5rem;}
nav a{color:#8b949e;margin-left:1rem;text-decoration:none;}
nav a:hover{color:#c9d1d9;}
.container{max-width:1080px;margin:1.5rem auto;padding:0 1rem;}
.container.app-main--wide{max-width:min(90rem,calc(100vw - 1.5rem));padding-left:clamp(0.75rem,1.5vw,1.25rem);padding-right:clamp(0.75rem,1.5vw,1.25rem);}
.app-main{padding-bottom:3rem;}
.flash{list-style:none;padding:0;}
.flash li{padding:0.5rem 0.75rem;margin-bottom:0.5rem;border-radius:6px;}
.flash .success{background:#23863633;border:1px solid #238636;}
.flash .danger{background:#da363333;border:1px solid #da3633;}
.flash .info{background:#1f6feb33;border:1px solid #1f6feb;}
.form label{display:block;margin:0.75rem 0;}
.form input,.form select,.form textarea{width:100%;max-width:32rem;padding:0.4rem;border-radius:6px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;}
.table{width:100%;border-collapse:collapse;margin-top:1rem;}
.table th,.table td{border:1px solid #30363d;padding:0.5rem;text-align:left;}
.card{border:1px solid var(--ui-border,#30363d);border-radius:8px;padding:1rem;margin:1rem 0;background:var(--ui-bg-surface,#161b22);color:var(--ui-text,#e6edf3);}
.inline input,.inline select{width:auto;margin-right:0.35rem;}
.hint{color:var(--ui-text-muted,#8b949e);font-size:0.9rem;}
.auth-body{min-height:100vh;margin:0;display:flex;align-items:center;justify-content:center;background:#0f1419;padding:1.5rem;}
.auth-shell{width:100%;max-width:26rem;}
.auth-flash{margin-bottom:1rem;}
.login-card{background:#161b22;border:1px solid #30363d;border-radius:12px;padding:1.75rem;}
.login-card h1{font-size:1.25rem;margin:0 0 0.75rem;font-weight:600;}
.login-hint{margin:0 0 1.25rem;font-size:0.875rem;color:#8b949e;line-height:1.45;}
.form-login .field{margin-bottom:1rem;}
.form-login label{display:block;font-size:0.8125rem;color:#8b949e;margin-bottom:0.35rem;}
.form-login input,.form-login select{width:100%;padding:0.55rem 0.65rem;border-radius:6px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;font-size:1rem;}
.form-login input:focus,.form-login select:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 2px #1f6feb33;}
.btn-primary{width:100%;margin-top:0.25rem;padding:0.65rem 1rem;border:none;border-radius:6px;background:#238636;color:#fff;font-weight:600;font-size:1rem;cursor:pointer;}
.btn-primary:hover{background:#2ea043;}
.btn-primary:focus{outline:none;box-shadow:0 0 0 2px #0d1117,0 0 0 4px #238636;}
.top-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;width:100%;max-width:1200px;margin:0 auto;}
.nav-app{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.75rem;}
.nav-app a{color:#8b949e;text-decoration:none;font-size:0.875rem;}
.nav-app a:hover{color:#c9d1d9;}
.nav-group{display:inline-flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.65rem;padding:0.2rem 0.6rem;border-radius:8px;background:#0d1117;border:1px solid #21262d;}
.nav-platform{border-color:#388bfd44;}
.nav-label{font-size:0.7rem;text-transform:uppercase;letter-spacing:0.06em;color:#484f58;margin-right:0.25rem;}
.nav-pill{font-size:0.8rem;color:#58a6ff;font-weight:600;margin-right:0.25rem;}
.nav-muted{font-size:0.85rem;color:#6e7681;margin-left:0.25rem;}
.page-head{margin-bottom:1.25rem;}
.page-head h1{margin:0 0 0.35rem;font-size:1.5rem;}
.page-lead{margin:0;color:#8b949e;font-size:0.95rem;max-width:42rem;}
.grid-cards{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin-top:1rem;}
.tile{border:1px solid #30363d;border-radius:10px;padding:1.1rem;background:#161b22;}
.tile h2{margin:0 0 0.5rem;font-size:1.05rem;}
.tile h2 a{color:#58a6ff;text-decoration:none;}
.tile-desc{margin:0 0 0.75rem;font-size:0.875rem;color:#8b949e;}
.tile-links{margin:0;padding-left:1.1rem;}
.tile-links li{margin:0.35rem 0;}
.leaflet-map{height:420px;border-radius:8px;border:1px solid #30363d;margin-top:1rem;}
/* Mapa embebido de lote: etiqueta + control de capas (tema oscuro) */
.leaflet-container .lote-map-chip-wrap{background:transparent;border:none;}
.leaflet-container .lote-map-chip{
  min-width:200px;max-width:280px;max-height:240px;overflow-y:auto;padding:0.55rem 0.7rem;
  background:rgba(22,27,34,0.94);border:1px solid #30363d;border-radius:8px;
  box-shadow:0 4px 18px rgba(0,0,0,0.5);font-size:0.78rem;line-height:1.35;color:#e6edf3;
}
.lote-map-chip__title{font-weight:700;color:#58a6ff;margin:0 0 0.2rem;font-size:0.85rem;}
.lote-map-chip__meta{color:#8b949e;font-size:0.74rem;margin-bottom:0.35rem;}
.lote-map-chip__campaign{font-size:0.74rem;color:#c9d1d9;margin-bottom:0.4rem;line-height:1.35;}
.lote-map-chip__campaign-label{color:#8b949e;font-weight:600;}
.lote-map-chip__muted{color:#8b949e;}
.lote-map-chip__crop{margin-top:0.35rem;padding-top:0.35rem;border-top:1px solid #21262d;}
.lote-map-chip__stage{color:#c9d1d9;font-size:0.76rem;margin-top:0.15rem;}
.lote-map-chip__warn{margin-top:0.4rem;padding-top:0.4rem;border-top:1px solid #d2992244;color:#e3b341;font-size:0.72rem;line-height:1.3;}
.leaflet-container .leaflet-control-layers{
  background:#161b22;color:#e6edf3;border:1px solid #30363d;border-radius:6px;
}
.leaflet-container .leaflet-control-layers-toggle{
  background:#21262d;border-radius:6px;
}
.leaflet-container .leaflet-control-layers-expanded{padding:0.35rem 0.5rem;font-size:0.8rem;}
@media(max-width:720px){.nav-group{width:100%;}}
.map-tools{margin-top:1rem;}
.geo-textarea{width:100%;max-width:48rem;font-family:ui-monospace,monospace;font-size:0.8rem;padding:0.5rem;border-radius:6px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;}
.btn-secondary{padding:0.45rem 0.85rem;border-radius:6px;border:1px solid #30363d;background:#21262d;color:#e6edf3;cursor:pointer;}
.btn-secondary:hover{background:#30363d;}
.btn-sm{padding:0.3rem 0.65rem;font-size:0.82rem;}
.dss-cpp-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:0.5rem;}
.dss-cpp-item{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;padding:0.65rem 0.85rem;border:1px solid #30363d;border-radius:8px;background:#161b22;}
.dss-cpp-item__body{min-width:0;flex:1;}
.dss-cpp-item__title{font-weight:600;color:#e6edf3;line-height:1.35;}
.dss-cpp-item__meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.55rem;margin-top:0.25rem;font-size:0.82rem;}
.dss-cpp-item__code{padding:0.1rem 0.4rem;border-radius:4px;background:#21262d;border:1px solid #30363d;font-size:0.78rem;}
.dss-cpp-item__activity,.dss-cpp-item__order{font-size:0.78rem;}
.dss-cpp-item__notes{margin:0.35rem 0 0;font-size:0.82rem;}
.dss-cpp-item__actions{flex-shrink:0;margin:0;}
.dss-cpp-empty{margin:0 0 1rem;}
.dss-cpp-add{margin-top:0.5rem;padding-top:1rem;border-top:1px solid #30363d;}
.dss-cpp-add__title{margin:0 0 0.35rem;font-size:1rem;font-weight:600;color:#e6edf3;}
.dss-cpp-add__hint{margin:0 0 0.75rem;line-height:1.5;}
.dss-cpp-submit{margin-top:0.65rem;}
body.theme-campo .dss-cpp-item{background:#fff;border-color:#cfd9c8;}
body.theme-campo .dss-cpp-item__title{color:#1a2e1a;}
body.theme-campo .dss-cpp-item__code{background:#f4f7f0;border-color:#cfd9c8;}
body.theme-campo .dss-cpp-add{border-top-color:#cfd9c8;}
body.theme-campo .dss-cpp-add__title{color:#1a2e1a;}
.dss-cpp-mo-panel{margin:0.75rem 0;padding:0.85rem 1rem;border:1px solid #30363d;border-radius:8px;background:#0d1117;}
.dss-cpp-mo-panel legend{font-weight:600;padding:0 0.35rem;color:#e6edf3;}
.dss-cpp-mo-check{display:flex;align-items:center;gap:0.45rem;margin:0 0 0.65rem;font-weight:500;}
.dss-cpp-mo-cost{margin-top:0.65rem;padding-top:0.65rem;border-top:1px dashed #30363d;}
.dss-cpp-mo-cost__title{margin:0 0 0.5rem;font-size:0.92rem;font-weight:600;color:#c9d1d9;}
body.theme-campo .dss-cpp-mo-panel{background:#f8faf5;border-color:#cfd9c8;}
body.theme-campo .dss-cpp-mo-panel legend{color:#1a2e1a;}
body.theme-campo .dss-cpp-mo-cost{border-top-color:#cfd9c8;}
body.theme-campo .dss-cpp-mo-cost__title{color:#1a2e1a;}
.dss-cpp-field-help{margin:-0.15rem 0 0.55rem;font-size:0.82rem;line-height:1.4;}
.dss-cpp-inline-new{margin:0 0 0.75rem;padding:0.55rem 0.75rem;border:1px dashed #30363d;border-radius:6px;background:#0d111766;}
.dss-cpp-inline-new summary{cursor:pointer;font-weight:600;color:#58a6ff;margin-bottom:0.35rem;}
.dss-cpp-inline-new[open] summary{margin-bottom:0.5rem;}
body.theme-campo .dss-cpp-inline-new{border-color:#cfd9c8;background:#f4f7f0;}
body.theme-campo .dss-cpp-inline-new summary{color:#2d6a4f;}
.dss-cpp-advanced{margin:0.5rem 0 0.75rem;padding:0.55rem 0.75rem;border:1px solid #30363d;border-radius:6px;background:#161b22;}
.dss-cpp-advanced summary{cursor:pointer;font-size:0.88rem;color:#8b949e;}
.dss-cpp-advanced[open] summary{margin-bottom:0.5rem;color:#c9d1d9;}
body.theme-campo .dss-cpp-advanced{background:#fff;border-color:#cfd9c8;}
.dss-cpp-catalog-chips{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem;margin:0 0 0.65rem;}
.dss-cpp-catalog-chips__label{font-size:0.82rem;color:#8b949e;margin-right:0.15rem;}
.dss-cpp-catalog-chip{padding:0.25rem 0.55rem;border-radius:999px;border:1px solid #388bfd55;background:#388bfd18;color:#58a6ff;font-size:0.78rem;cursor:pointer;}
.dss-cpp-catalog-chip:hover{background:#388bfd33;}
.dss-cpp-field-warn{margin:0 0 0.5rem;padding:0.45rem 0.65rem;border-radius:6px;background:#da363322;border:1px solid #da363355;color:#f85149;font-size:0.84rem;line-height:1.4;}
body.theme-campo .dss-cpp-field-warn{background:#fff3cd;border-color:#ffc107;color:#856404;}
body.theme-campo .dss-cpp-catalog-chip{background:#d8f3dc;border-color:#95d5b2;color:#1b4332;}
.admin-tenant-card{margin-bottom:1.25rem;}
.admin-tenant-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:0.5rem;margin-bottom:0.75rem;}
.admin-add-user{border-top:1px solid #30363d;padding-top:0.85rem;}
.admin-add-user h3{margin:0 0 0.5rem;font-size:1rem;}
.admin-user-form .admin-user-row{display:flex;flex-wrap:wrap;gap:0.75rem 1rem;align-items:flex-end;}
.admin-user-form label{margin:0;min-width:10rem;}
.admin-user-form input,.admin-user-form select{max-width:16rem;}
.admin-breadcrumb{font-size:0.875rem;color:#8b949e;margin-bottom:1rem;line-height:1.5;}
.admin-breadcrumb a{color:#58a6ff;text-decoration:none;}
.admin-breadcrumb a:hover{text-decoration:underline;}
.admin-breadcrumb-sep{margin:0 0.35rem;color:#484f58;}
.admin-breadcrumb-current{color:#c9d1d9;}
.hub-section-title{margin:0 0 0.35rem;font-size:1.15rem;font-weight:600;color:var(--ui-text,#e6edf3);}
.form-section-title{margin:0 0 0.65rem;font-size:1.05rem;font-weight:600;color:var(--ui-text,#e6edf3);}
.settings-empresa-form .form-section-title{margin-top:0.25rem;}
.admin-new-tenant-card h2{margin-top:0;}
.admin-tenants-wrap{overflow-x:auto;margin:0;}
.admin-tenants-table{margin-top:0;}
.admin-tenants-table th{white-space:nowrap;}
.admin-tenants-actions{text-align:right;white-space:nowrap;}
.admin-action-link{display:inline-block;padding:0.35rem 0.75rem;border-radius:6px;border:1px solid #388bfd66;background:#388bfd14;color:#58a6ff;text-decoration:none;font-weight:600;font-size:0.875rem;}
.admin-action-link:hover{background:#388bfd22;color:#79c0ff;}
.admin-badge{display:inline-block;padding:0.15rem 0.45rem;border-radius:4px;font-size:0.75rem;font-weight:600;margin-right:0.25rem;}
.admin-badge-ok{background:#23863633;border:1px solid #23863688;color:#3fb950;}
.admin-badge-warn{background:#d2992233;border:1px solid #d2992288;color:#e3b341;}
.admin-tenant-summary-line{margin:0.35rem 0;}
.admin-tenant-summary-line:first-child{margin-top:0;}
.tenant-hub-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin:1.25rem 0;}
.admin-hub-tile{display:block;border:1px solid #30363d;border-radius:10px;padding:1.15rem;background:#161b22;text-decoration:none;color:inherit;transition:border-color .15s,background .15s;}
.admin-hub-tile:hover{border-color:#388bfd88;background:#1c2128;}
.admin-hub-tile h2{margin:0 0 0.5rem;font-size:1.05rem;color:#58a6ff;}
.admin-hub-tile-desc{margin:0 0 0.85rem;font-size:0.875rem;color:#8b949e;line-height:1.45;}
.admin-hub-tile-cta{font-size:0.8125rem;font-weight:600;color:#8b949e;}
.admin-hub-tile:hover .admin-hub-tile-cta{color:#c9d1d9;}
.admin-form-narrow{max-width:36rem;}
.admin-users-invite-card .admin-user-row-v2{display:grid;gap:0.75rem 1rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-items:end;}
.admin-user-form-v2 label{margin:0;}
.admin-user-form-v2 input,.admin-user-form-v2 select{max-width:none;}
.admin-members-card{margin-top:1.25rem;}
.admin-members-table{margin-top:0.5rem;}
.resumen-kpi-grid{display:grid;gap:0.75rem;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));margin:1rem 0 1.5rem;}
.resumen-kpi{text-align:center;padding:0.85rem 0.5rem;}
.resumen-kpi-value{display:block;font-size:1.35rem;font-weight:700;color:#58a6ff;}
.resumen-kpi-label{display:block;font-size:0.78rem;color:#8b949e;margin-top:0.25rem;text-transform:uppercase;letter-spacing:0.04em;}
.resumen-panel-list{list-style:none;padding:0;margin:0 0 1rem;}
.resumen-panel-list li{margin:0.4rem 0;}
.resumen-ai-details{margin-top:1.5rem;padding:1rem;}
.resumen-ai-details summary{cursor:pointer;font-weight:600;margin-bottom:0.75rem;}
.resumen-ai-out{white-space:pre-wrap;font-size:0.85rem;max-height:16rem;overflow:auto;background:#0d1117;padding:0.75rem;border-radius:6px;border:1px solid #30363d;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.catalog-quick-links{margin:0.75rem 0 1.25rem;line-height:1.5;}
.catalog-crop-list{list-style:none;padding:0;margin:0;}
.catalog-crop-item{border:1px solid #30363d;border-radius:8px;padding:0.85rem 1rem;margin:0.65rem 0;background:#161b22;}
.catalog-varieties{margin:0.5rem 0 0.35rem 1.25rem;padding:0;}
.catalog-varieties li{margin:0.25rem 0;}
.catalog-varieties-empty{margin:0.35rem 0 0.25rem;font-size:0.9rem;}
.catalog-add-variety{margin-top:0.5rem;display:flex;flex-wrap:wrap;gap:0.35rem;align-items:center;}
.catalog-add-variety input{max-width:14rem;}
button.link-button{background:none;border:none;color:#58a6ff;cursor:pointer;text-decoration:underline;font:inherit;padding:0;margin-left:0.35rem;}
button.link-button:hover{color:#79c0ff;}
.fenologia-tabs{display:flex;flex-wrap:wrap;gap:0.35rem;margin-bottom:0.9rem;}
.fenologia-tab{padding:0.45rem 0.9rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-alt,#0d1117);color:var(--ui-text-muted,#8b949e);font-size:0.9rem;font-weight:600;cursor:pointer;}
.fenologia-tab:hover{color:var(--ui-text,#c9d1d9);border-color:var(--ui-border,#484f58);}
.fenologia-tab.is-active{border-color:var(--ui-link,#388bfd);background:var(--ui-accent-soft,#388bfd18);color:var(--ui-link,#58a6ff);}
.fenologia-dias-mode{margin:0.85rem 0 0.45rem;font-weight:600;font-size:0.92rem;}
.fenologia-timing-note{margin:0 0 0.75rem;font-size:0.88rem;}
.fenologia-field{display:block;margin:0.5rem 0 0.65rem;max-width:22rem;}
.fenologia-field-hint{display:block;margin-top:0.25rem;font-size:0.78rem;color:#8b949e;line-height:1.35;}
.fenologia-mode--off{opacity:0.4;pointer-events:none;}
.fenologia-field--off{opacity:0.4;}
.fenologia-field--off input,.fenologia-field--off .fenologia-field-hint{pointer-events:none;}
.fenologia-field--on input:not(:disabled){border-color:#40916c;box-shadow:0 0 0 1px #40916c44;}
body.theme-campo .fenologia-field--on input:not(:disabled){border-color:#2d6a4f;box-shadow:0 0 0 2px #95d5b266;}
.fenologia-field--off input:disabled,.fenologia-cell--off input:disabled{cursor:not-allowed;}
.fenologia-cell--off{opacity:0.4;}
.fenologia-cell--off input:disabled{cursor:not-allowed;}
.fenologia-day-calc{font-variant-numeric:tabular-nums;font-weight:600;}
.fenologia-day-end{color:#58a6ff;}
body.theme-campo .fenologia-day-end{color:#2d6a4f;}

/* Tabla catálogo de etapas fenológicas */
.fenologia-stages-lead{margin:-0.35rem 0 0.65rem;}
.fenologia-col-tag{display:inline-block;padding:0.08rem 0.4rem;border-radius:4px;font-size:0.72rem;font-weight:600;vertical-align:middle;}
.fenologia-col-tag--calc{background:#388bfd22;border:1px solid #388bfd55;color:#58a6ff;}
body.theme-campo .fenologia-col-tag--calc{background:#d8f3dc;border-color:#95d5b2;color:#2d6a4f;}
.fenologia-stages-wrap{overflow-x:auto;margin:0.5rem 0 1.25rem;border:1px solid #30363d;border-radius:10px;background:#161b22;-webkit-overflow-scrolling:touch;max-width:100%;}
body.theme-campo .fenologia-stages-wrap{border-color:#cfd9c8;background:#fff;box-shadow:0 1px 3px rgba(26,46,26,0.08);}
.fenologia-scroll-hint{margin:0;padding:0.4rem 0.75rem;font-size:0.75rem;color:#8b949e;border-bottom:1px solid #21262d;background:#0d1117;}
body.theme-campo .fenologia-scroll-hint{color:#5a6b55;border-bottom-color:#e2e9dc;background:#f4f7f0;}
.fenologia-stages-wrap--compact{margin-top:0.75rem;}
.fenologia-stages-table{margin:0;font-size:0.88rem;width:max-content;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;}
.fenologia-stages-table th,.fenologia-stages-table td{border-color:#21262d;padding:0.5rem 0.55rem;vertical-align:middle;overflow:visible;}
body.theme-campo .fenologia-stages-table th,body.theme-campo .fenologia-stages-table td{border-color:#e2e9dc;}
.fenologia-col-order{width:3.25rem;}
.fenologia-col-code{width:7.5rem;}
.fenologia-col-name{width:11rem;}
.fenologia-col-prev{width:10.5rem;}
.fenologia-col-day{width:5.25rem;}
.fenologia-col-pct{width:5.75rem;}
.fenologia-col-link{width:2.75rem;}
.fenologia-col-actions{width:7.5rem;}
.fenologia-td-day{width:5.25rem;min-width:5.25rem;max-width:5.25rem;text-align:center;font-variant-numeric:tabular-nums;}
.fenologia-td-prev{min-width:10.5rem;}
.fenologia-td-code{min-width:7.5rem;}
.fenologia-stages-groups th{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.06em;color:#8b949e;font-weight:600;padding:0.5rem 0.65rem;border-bottom:none;}
.fenologia-th-group{text-align:center;background:#0d1117;}
.fenologia-th-group--edit{background:#1a2332;}
.fenologia-th-group--calc{background:#152238;}
body.theme-campo .fenologia-th-group{background:#f4f7f0;}
body.theme-campo .fenologia-th-group--edit{background:#eef4e8;}
body.theme-campo .fenologia-th-group--calc{background:#e8f0fc;}
.fenologia-stages-cols th{font-size:0.78rem;white-space:nowrap;background:#0d1117;color:#c9d1d9;}
body.theme-campo .fenologia-stages-cols th{background:#fafcf8;color:#3d5c3d;}
.fenologia-th-num,.fenologia-td-num{text-align:center;font-variant-numeric:tabular-nums;}
.fenologia-th-day,.fenologia-td-day{text-align:center;}
.fenologia-th-actions{min-width:6.5rem;}
.fenologia-stages-row:nth-child(even){background:#0d111714;}
body.theme-campo .fenologia-stages-row:nth-child(even){background:#f8faf6;}
.fenologia-stages-row:hover{background:#1c2128;}
body.theme-campo .fenologia-stages-row:hover{background:#f1f8f4;}
.fenologia-td-edit{background:#161b2200;}
body.theme-campo .fenologia-td-edit{background:#fafcf800;}
.fenologia-td-calc{background:#388bfd0a;}
body.theme-campo .fenologia-td-calc{background:#e8f0fc66;}
.fenologia-td-name{min-width:11rem;max-width:14rem;}
.fenologia-code{display:inline-block;max-width:100%;padding:0.12rem 0.45rem;border-radius:5px;font-family:ui-monospace,monospace;font-size:0.78rem;background:#21262d;border:1px solid #30363d;color:#79c0ff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;}
body.theme-campo .fenologia-code{background:#eef4e8;border-color:#cfd9c8;color:#2d6a4f;}
.fenologia-cell-input{width:100%;min-width:0;max-width:none;padding:0.35rem 0.45rem;border-radius:6px;border:1px solid #30363d;background:#0d1117;color:#e6edf3;font-size:0.85rem;box-sizing:border-box;}
body.theme-campo .fenologia-cell-input{background:#fff;border-color:#cfd9c8;color:#1a2e1a;}
.fenologia-cell-input--day{width:100%;min-width:4.5rem;max-width:5rem;text-align:center;padding:0.4rem 0.35rem;font-variant-numeric:tabular-nums;}
.fenologia-cell-input--name{min-width:10rem;}
.fenologia-cell-input--select{min-width:9.5rem;}
.fenologia-cell-input--sm{max-width:4.25rem;text-align:center;margin:0 auto;display:block;}
.fenologia-cell-input:focus{outline:none;border-color:#58a6ff;box-shadow:0 0 0 2px #1f6feb33;}
body.theme-campo .fenologia-cell-input:focus{border-color:#2d6a4f;box-shadow:0 0 0 2px #95d5b266;}
.fenologia-day-pill{display:inline-block;min-width:2.75rem;padding:0.25rem 0.55rem;border-radius:999px;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;font-size:0.9rem;}
.fenologia-day-pill--start{background:#21262d;border:1px solid #30363d;color:#e6edf3;}
.fenologia-day-pill--end{background:#388bfd22;border:1px solid #388bfd55;color:#58a6ff;}
body.theme-campo .fenologia-day-pill--start{background:#fff;border-color:#cfd9c8;color:#1a2e1a;}
body.theme-campo .fenologia-day-pill--end{background:#d8f3dc;border-color:#95d5b2;color:#1b4332;}
.fenologia-td-link{white-space:nowrap;}
.fenologia-td-link a{font-weight:600;text-decoration:none;}
.fenologia-td-actions{white-space:nowrap;}
.fenologia-btn-row{padding:0.3rem 0.55rem;font-size:0.78rem;margin-right:0.25rem;}
.fenologia-btn-delete{font-size:0.78rem;color:#8b949e!important;}
.fenologia-btn-delete:hover{color:#f85149!important;}
.fenologia-delete-form{display:inline;margin:0;}
.fenologia-stages-empty{padding:1.25rem!important;text-align:center;}
.fenologia-stages-table--secondary{min-width:640px;}
.fenologia-th-pct,.fenologia-td-pct{width:5.75rem;min-width:5.75rem;}
.fenologia-pct-cell{display:flex;flex-direction:row;align-items:center;gap:0.35rem;}
.fenologia-pct-val{font-size:0.75rem;font-weight:700;font-variant-numeric:tabular-nums;color:#58a6ff;white-space:nowrap;min-width:2.5rem;text-align:right;}
body.theme-campo .fenologia-pct-val{color:#2d6a4f;}
.fenologia-pct-bar{flex:1;min-width:2rem;height:0.35rem;border-radius:999px;background:#21262d;border:1px solid #30363d;overflow:hidden;}
body.theme-campo .fenologia-pct-bar{background:#eef4e8;border-color:#cfd9c8;}
.fenologia-pct-bar-fill{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#238636,#58a6ff);}
body.theme-campo .fenologia-pct-bar-fill{background:linear-gradient(90deg,#40916c,#2d6a4f);}
.fenologia-tab-panel{padding-top:0.2rem;}
.fenologia-hub-wrap{margin-top:0.35rem;}
.fenologia-hub-section{padding-top:0.15rem;}
.fenologia-hub-module-list{margin:0.35rem 0 0;padding-left:1.2rem;line-height:1.65;}
.fenologia-hub-module-link{color:#58a6ff;font-weight:600;text-decoration:none;}
.fenologia-hub-module-link:hover{text-decoration:underline;color:#79c0ff;}
.fenologia-registro-hub-card{margin-bottom:1rem;}
/* Parcela en campaña (lote_cultivo_fenologia) */
.lcf-nav{margin-bottom:0.75rem;color:var(--ui-text-muted);}
.lcf-nav a{color:var(--ui-link);text-decoration:none;}
.lcf-nav a:hover{color:var(--ui-link-hover);text-decoration:underline;}
.lcf-nav--buttons{margin-bottom:1rem;}
.lcf-nav-group{display:flex;flex-wrap:wrap;gap:0.45rem;align-items:center;}
.lcf-nav-btn{display:inline-flex;align-items:center;gap:0.25rem;padding:0.42rem 0.9rem;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-bg-surface);color:var(--ui-text-secondary);font-size:0.84rem;font-weight:600;line-height:1.25;text-decoration:none;white-space:nowrap;transition:border-color 0.15s,background 0.15s,color 0.15s,box-shadow 0.15s;}
.lcf-nav-btn:hover{border-color:var(--ui-link);color:var(--ui-link);background:var(--ui-bg-hover);text-decoration:none;box-shadow:0 1px 4px rgba(0,0,0,0.06);}
.lcf-nav-btn--back{border-color:color-mix(in srgb,var(--ui-link) 32%,var(--ui-border));background:color-mix(in srgb,var(--ui-link) 7%,var(--ui-bg-surface));color:var(--ui-text);}
.lcf-nav-btn--back:hover{color:var(--ui-link);}
.lcf-kpi-grid{display:grid;gap:0.75rem;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:1rem 0 1.25rem;}
.lcf-kpi{padding:0.75rem 0.85rem;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-bg-alt);color:var(--ui-text);}
.lcf-kpi-label{display:block;font-size:0.78rem;color:var(--ui-text-muted);margin-bottom:0.2rem;}
.lcf-kpi-value{font-size:1rem;font-weight:600;line-height:1.35;color:var(--ui-text);}
.lcf-kpi-value--ok{color:var(--ui-success);}
.lcf-kpi-value--warn{color:var(--ui-warn);}
.lcf-actions{display:grid;gap:0.65rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:0.75rem 0 0;}
.lcf-action{display:block;padding:0.65rem 0.75rem;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-bg-surface);text-decoration:none;color:var(--ui-text-secondary);transition:border-color 0.15s,background 0.15s;}
.lcf-action:hover{border-color:var(--ui-link);color:var(--ui-link);background:var(--ui-bg-hover);}
.lcf-action strong{display:block;font-size:0.92rem;margin-bottom:0.15rem;color:var(--ui-text);}
.lcf-action span{font-size:0.8rem;color:var(--ui-text-muted);line-height:1.35;}
.lcf-action-group-title{font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted);margin:0.85rem 0 0.45rem;}
.lcf-action-group-title:first-of-type{margin-top:0;}
.lcf-mo-price-hint{margin:0.15rem 0 0.55rem;font-size:0.84rem;line-height:1.45;}
.lcf-action--campo{border-left:3px solid color-mix(in srgb,var(--ui-success) 55%,transparent);}
.lcf-action--money{border-left:3px solid color-mix(in srgb,var(--ui-warn) 55%,transparent);background:color-mix(in srgb,var(--ui-warn) 6%,var(--ui-bg-surface));}
.lcf-money-note{margin:0.5rem 0 0;padding:0.55rem 0.7rem;border-radius:6px;border:1px solid var(--ui-border);background:var(--ui-bg-alt);font-size:0.88rem;line-height:1.45;color:var(--ui-text-secondary);}
.lcf-action--consult{border-left:3px solid color-mix(in srgb,var(--ui-link) 55%,transparent);}
.lcf-consult-note{margin:0.5rem 0 0;font-size:0.88rem;line-height:1.45;color:var(--ui-text-muted);}
.lcf-section{margin-bottom:1.25rem;}
.lcf-section-head{margin:0 0 0.5rem;}
.lcf-anchor{scroll-margin-top:1rem;}
.lcf-historial-grid{display:grid;gap:1rem;}
@media(min-width:768px){.lcf-historial-grid{grid-template-columns:1fr 1fr;}}
.lcf-alert-item{margin-bottom:0.5rem;padding:0.5rem 0.65rem;border-radius:6px;border:1px solid var(--ui-border);background:var(--ui-bg-alt);line-height:1.45;color:var(--ui-text);}
.lcf-alert-item strong{color:var(--ui-text);}
.lcf-alert-item--high{border-color:var(--ui-alert-high-border);background:var(--ui-alert-high-bg);}
.lcf-alert-item--med{border-color:var(--ui-alert-med-border);background:var(--ui-alert-med-bg);}
.lcf-alert-item .lcf-alert-msg{display:block;margin-top:0.25rem;font-size:0.88rem;color:var(--ui-text-secondary);}
.lcf-alert-metrics{display:flex;flex-wrap:wrap;gap:0.35rem 0.75rem;list-style:none;margin:0.4rem 0 0;padding:0;font-size:0.82rem;color:var(--ui-text);}
.lcf-alert-metrics li{margin:0;}
.lcf-alert-metric-label{font-weight:600;color:var(--ui-text-secondary);margin-right:0.2rem;}
.lcf-alert-source{margin-top:0.45rem;padding-top:0.4rem;border-top:1px dashed var(--ui-border-subtle);font-size:0.8rem;color:var(--ui-text-muted);display:flex;flex-direction:column;gap:0.2rem;}
.lcf-alert-source-links a{color:var(--ui-link);text-decoration:none;}
.lcf-alert-source-links a:hover{text-decoration:underline;}
.lcf-stage-chip{display:inline-block;margin-right:0.35rem;padding:0.1rem 0.45rem;border-radius:5px;font-size:0.78rem;background:var(--ui-bg-hover);border:1px solid var(--ui-border);color:var(--ui-text-muted);}
.lcf-registrar-head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:0.5rem;}
.lcf-registrar-close{font-size:0.85rem;padding:0.35rem 0.65rem;}
.lcf-hist-tag{display:inline-block;padding:0.08rem 0.4rem;border-radius:4px;font-size:0.75rem;font-weight:600;}
.lcf-hist-tag--mo{background:color-mix(in srgb,var(--ui-link) 14%,transparent);border:1px solid color-mix(in srgb,var(--ui-link) 35%,transparent);color:var(--ui-link);}
.lcf-hist-tag--cost{background:color-mix(in srgb,var(--ui-warn) 14%,transparent);border:1px solid color-mix(in srgb,var(--ui-warn) 35%,transparent);color:var(--ui-warn);}
.lcf-hist-actions a strong{color:var(--ui-link);}
.lcf-hint-warn{color:var(--ui-warn)!important;}
/* —— Parcela en campaña v2 (tabs) —— */
.lcf-page{margin-bottom:2.5rem;max-width:72rem;}
.app-main--wide .lcf-page{max-width:none;}
.lcf-header{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:flex-start;justify-content:space-between;margin:0 0 1rem;padding:1rem 1.15rem;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-bg-surface);}
.lcf-header h1{margin:0;font-size:1.35rem;line-height:1.25;color:var(--ui-text);}
.lcf-header .page-lead{margin:0.35rem 0 0;font-size:0.92rem;}
.lcf-kpi-strip{display:flex;flex-wrap:wrap;gap:0.55rem;}
.lcf-kpi--compact{min-width:7rem;padding:0.55rem 0.65rem;}
.lcf-kpi--score{border-color:color-mix(in srgb,var(--ui-accent) 40%,var(--ui-border));}
.lcf-main-tabs{margin:0 0 1rem;position:sticky;top:0;z-index:5;padding:0.35rem 0;background:var(--ui-bg-page);border-bottom:1px solid var(--ui-border-subtle);}
.lcf-tab-panel{margin-bottom:0.5rem;}
.lcf-tab-panel[hidden]{display:none!important;}
.lote-edit-page{margin-bottom:1rem;}
.lote-edit-tabs{margin-top:0.75rem;}
.lote-edit-panels{margin-top:0.5rem;}
.lote-tab-status{display:inline-block;width:0.45rem;height:0.45rem;border-radius:50%;margin-left:0.35rem;vertical-align:middle;}
.lote-tab-status--ok{background:#3fb950;}
.lote-tab-status--empty{background:#6e7681;}
.lcf-panel-card{padding:1rem 1.15rem;margin-bottom:0;}
.lcf-panel-title{margin:0 0 0.35rem;font-size:1rem;font-weight:600;color:var(--ui-text);}
.lcf-panel-lead{margin:0 0 0.85rem;font-size:0.88rem;}
.lcf-subtitle{margin:0.85rem 0 0.45rem;font-size:0.88rem;font-weight:600;color:var(--ui-text-secondary);}
.lcf-grid{display:grid;gap:1rem;}
@media(min-width:900px){.lcf-grid--2{grid-template-columns:1fr 1fr;align-items:start;}}
.lcf-stack{display:flex;flex-direction:column;gap:1rem;}
.lcf-grid > .lcf-stack > .card,.lcf-grid > .card{height:fit-content;}
.lcf-dim-bar{display:block;height:4px;border-radius:999px;background:var(--ui-bg-hover);margin-top:0.35rem;overflow:hidden;}
.lcf-dim-bar span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--ui-accent),var(--ui-link));}
.lcf-health-grid--compact{margin-top:0.75rem;}
.lcf-stage-window{margin:0.65rem 0 0;font-size:0.88rem;}
.lcf-quick-links{margin:0.75rem 0 0;font-size:0.88rem;}
.lcf-quick-links a{color:var(--ui-link);font-weight:600;text-decoration:none;}
.lcf-quick-links a:hover{text-decoration:underline;}
.lcf-highlight-box{margin:0.75rem 0;padding:0.75rem 0.85rem;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-bg-alt);}
.lcf-highlight-label{margin:0;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted);}
.lcf-highlight-value{margin:0.25rem 0 0;font-size:1.05rem;font-weight:700;color:var(--ui-text);}
.lcf-highlight-sub{margin:0 0 0.5rem;font-size:0.82rem;}
.lcf-metric-list{margin:0.5rem 0 0;padding-left:1.1rem;line-height:1.55;font-size:0.9rem;color:var(--ui-text-secondary);}
.lcf-bullet-list{margin:0;padding-left:1.1rem;line-height:1.55;}
.lcf-inline-details{margin:0.65rem 0 0;border:1px solid var(--ui-border-subtle);border-radius:8px;padding:0.55rem 0.75rem;background:var(--ui-bg-alt);}
.lcf-inline-details summary{cursor:pointer;font-weight:600;font-size:0.88rem;color:var(--ui-text);}
.lcf-compact-form label{display:block;margin:0.5rem 0;font-size:0.88rem;}
.lcf-compact-form input,.lcf-compact-form select,.lcf-compact-form textarea{max-width:100%;width:100%;box-sizing:border-box;}
.lcf-form-row{display:grid;gap:0.65rem;grid-template-columns:1fr 1fr;}
.lcf-compact-table{font-size:0.88rem;margin:0.5rem 0 0;}
.lcf-compact-table th,.lcf-compact-table td{padding:0.45rem 0.55rem;}
.lcf-nutrient-list{margin:0;padding:0;list-style:none;}
.lcf-nutrient-row{margin:0.55rem 0;}
.lcf-nutrient-row-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:0.35rem;font-size:0.9rem;}
.lcf-nutrient-bar{display:block;height:6px;border-radius:999px;background:var(--ui-bg-hover);margin-top:0.3rem;overflow:hidden;}
.lcf-nutrient-bar span{display:block;height:100%;background:var(--ui-accent);border-radius:999px;}
.lcf-report-meta-row{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;font-size:0.88rem;margin-bottom:0.5rem;}
.lcf-advisor-narrative p{margin:0.35rem 0;line-height:1.55;font-size:0.92rem;}
.lcf-footnote{margin:0.65rem 0 0;font-size:0.82rem;}
.lcf-actions--consult{margin-top:0.35rem;}
.lcf-hist-panel{padding-top:0.5rem;}
.lcf-advanced{margin-top:1.25rem;opacity:0.95;}
.lcf-charts-row{margin-bottom:1rem;}
.lcf-month-cal{margin-bottom:1rem;border:1px solid var(--ui-link,#388bfd44);box-shadow:0 0 0 1px rgba(56,139,253,0.12);}
.lcf-month-cal-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:0.65rem 1rem;margin-bottom:0.85rem;}
.lcf-month-cal-nav{display:flex;align-items:center;gap:0.5rem;}
.lcf-month-cal-nav-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2rem;height:2rem;padding:0 0.5rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-alt,#0d1117);color:var(--ui-text,#e6edf3);text-decoration:none;font-weight:700;}
.lcf-month-cal-nav-btn:hover{border-color:var(--ui-link,#388bfd);color:var(--ui-link,#58a6ff);}
.lcf-month-cal-nav-label{min-width:9rem;text-align:center;font-size:1rem;color:var(--ui-text,#e6edf3);}
.lcf-month-cal-links{font-size:0.88rem;}
.lcf-month-cal-sparse{margin:0.5rem 0 0;font-size:0.86rem;max-width:52rem;}
.lcf-month-cal-fill-form{margin:0.5rem 0 0;}
.lcf-month-cal-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.35rem;margin-bottom:0.35rem;padding:0 0.1rem;}
.lcf-month-cal-weekday{text-align:center;font-size:0.72rem;font-weight:700;text-transform:uppercase;color:var(--ui-text-muted,#8b949e);}
.lcf-month-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.35rem;}
.lcf-month-cal-day{min-height:5.25rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;padding:0.35rem 0.4rem;background:var(--ui-bg-alt,#0d1117);display:flex;flex-direction:column;}
.lcf-month-cal-day--outside{opacity:0.45;}
.lcf-month-cal-day--today{border-color:var(--ui-link,#388bfd);box-shadow:0 0 0 1px rgba(56,139,253,0.25);}
.lcf-month-cal-day--weekend{background:rgba(110,118,129,0.06);}
.lcf-month-cal-day-head{display:flex;align-items:center;justify-content:space-between;gap:0.25rem;margin-bottom:0.25rem;}
.lcf-month-cal-day-num{font-size:0.82rem;font-weight:700;color:var(--ui-text,#e6edf3);}
.lcf-month-cal-day-count{font-size:0.65rem;color:var(--ui-text-muted,#8b949e);}
.lcf-month-cal-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.2rem;flex:1;}
.lcf-month-cal-task{font-size:0.68rem;line-height:1.25;border-left:2px solid var(--ui-border,#484f58);padding-left:0.3rem;}
.lcf-month-cal-task a{color:var(--ui-text,#c9d1d9);text-decoration:none;display:block;word-break:break-word;}
.lcf-month-cal-task a:hover{color:var(--ui-link,#58a6ff);text-decoration:underline;}
.lcf-month-cal-task--irrigation{border-left-color:#58a6ff;}
.lcf-month-cal-task--fertilization{border-left-color:#3fb950;}
.lcf-month-cal-task--crop_protection{border-left-color:#d29922;}
.lcf-month-cal-task--generic_application{border-left-color:#d4a72c;}
.lcf-month-cal-task--cultural_practice{border-left-color:#a371f7;}
.lcf-month-cal-task--monitoring{border-left-color:#79c0ff;}
.lcf-month-cal-task--done{opacity:0.55;}
.lcf-month-cal-task--partial{border-left-color:#d2992288;}
.lcf-month-cal-task--has-extra{box-shadow:inset 0 -1px 0 rgba(227,179,65,0.35);}
.lcf-month-cal-exec-list{list-style:none;margin:0.12rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.08rem;}
.lcf-month-cal-exec-item{font-size:0.58rem;line-height:1.2;color:var(--ui-text-muted,#8b949e);display:flex;align-items:baseline;gap:0.18rem;opacity:0.88;}
.lcf-month-cal-exec-mark{font-size:0.52rem;font-weight:700;flex-shrink:0;line-height:1;}
.lcf-month-cal-exec-item--done .lcf-month-cal-exec-mark{color:#3fb950;}
.lcf-month-cal-exec-item--partial .lcf-month-cal-exec-mark{color:#d29922;}
.lcf-month-cal-exec-item--extra .lcf-month-cal-exec-mark{color:#e3b341;}
.lcf-month-cal-exec-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;}
.lcf-month-cal-exec-note{display:block;margin-top:0.1rem;font-size:0.58rem;color:#d29922;opacity:0.85;line-height:1.2;}
.lcf-month-cal-exec-mark--legend-done{color:#3fb950;}
.lcf-month-cal-exec-mark--legend-partial{color:#d29922;}
.lcf-month-cal-exec-mark--legend-extra{color:#e3b341;}
.lcf-month-cal-legend-sep{opacity:0.35;padding:0 0.15rem;}
.lcf-month-cal-task--more{font-style:italic;border-left-color:transparent;}
.lcf-month-cal-legend{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;margin:0.85rem 0 0;padding:0;list-style:none;font-size:0.78rem;}
.lcf-month-cal-legend li{display:flex;align-items:center;gap:0.35rem;}
.lcf-month-cal-legend-swatch{width:0.55rem;height:0.55rem;border-radius:2px;background:var(--ui-border,#484f58);}
.lcf-month-cal-legend-swatch--irrigation{background:#58a6ff;}
.lcf-month-cal-legend-swatch--fertilization{background:#3fb950;}
.lcf-month-cal-legend-swatch--crop_protection{background:#d29922;}
.lcf-month-cal-legend-swatch--generic_application{background:#d4a72c;}
.lcf-month-cal-legend-swatch--cultural_practice{background:#a371f7;}
.lcf-month-cal-legend-swatch--monitoring{background:#79c0ff;}
@media(max-width:720px){.lcf-month-cal-grid,.lcf-month-cal-weekdays{grid-template-columns:repeat(7,minmax(2.5rem,1fr));}.lcf-month-cal-day{min-height:4rem;padding:0.25rem;}.lcf-month-cal-task{font-size:0.62rem;}}
.lcf-charts-grid{display:grid;gap:0.85rem;}
.lcf-charts-grid--top{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-bottom:0.85rem;
}
.lcf-charts-grid--wide{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.lcf-chart-card{
  display:flex;
  flex-direction:column;
  min-height:0;
  padding:0.75rem 0.85rem;
  border:1px solid var(--ui-border-subtle);
  border-radius:10px;
  background:var(--ui-bg-alt);
  box-sizing:border-box;
}
.lcf-chart-card--square{min-height:280px;}
.lcf-chart-card--wide{min-height:260px;}
.lcf-chart-card--narrow{max-width:none;}
.lcf-chart-title{
  flex:0 0 auto;
  margin:0 0 0.5rem;
  min-height:2.5em;
  font-size:0.82rem;
  font-weight:600;
  line-height:1.3;
  color:var(--ui-text-secondary);
}
.lcf-chart-footnote{margin:0.35rem 0 0;font-size:0.78rem;flex:0 0 auto;}
.lcf-chart-wrap{
  position:relative;
  flex:1 1 auto;
  width:100%;
  min-height:0;
}
.lcf-charts-grid--top .lcf-chart-wrap--radar,
.lcf-charts-grid--top .lcf-chart-wrap--donut{height:100%;min-height:200px;}
.lcf-chart-wrap--radar{height:220px;}
.lcf-chart-wrap--donut{height:200px;max-width:none;margin:0;}
.lcf-chart-wrap--bar{height:220px;}
.lcf-chart-wrap--bar-h{height:240px;min-height:200px;}
.lcf-chart-wrap--line{height:260px;}
.lcf-charts-grid--duo{grid-template-columns:repeat(2,minmax(0,1fr));}
.lcf-charts-grid--single{grid-template-columns:1fr;}
@media(max-width:960px){
  .lcf-charts-grid--top{grid-template-columns:repeat(2,minmax(0,1fr));}
  .lcf-charts-grid--wide{grid-template-columns:1fr;}
  .lcf-charts-grid--duo{grid-template-columns:1fr;}
}
@media(max-width:560px){
  .lcf-charts-grid--top{grid-template-columns:1fr;}
  .lcf-chart-card--square{min-height:260px;}
}
body.theme-campo .lcf-chart-card{background:#f8fbf6;border-color:var(--ui-border);}
.lcf-exec-priority-list,.lcf-exec-analysis-list{margin:0.35rem 0 0;padding-left:1.2rem;line-height:1.55;font-size:0.92rem;}
body.theme-campo .lcf-header{background:linear-gradient(135deg,#fff 0%,#f1f8f4 100%);border-color:#b7e4c7;}
body.theme-campo .lcf-main-tabs{background:var(--ui-bg-page);}
body.theme-campo .lcf-highlight-box{background:#f8fbf6;}
body.theme-campo .lcf-inline-details{background:var(--ui-bg-alt);}
.lcf-cycle-progress{padding:0;}
.lcf-cycle-progress{padding:1rem 1.05rem;}
.lcf-progress-meta{display:flex;flex-wrap:wrap;gap:0.65rem 1.25rem;font-size:0.88rem;color:var(--ui-text-muted);margin-bottom:0.65rem;}
.lcf-progress-meta strong{color:var(--ui-text);}
.lcf-progress-bar{height:10px;border-radius:999px;background:var(--ui-bg-hover);border:1px solid var(--ui-border);overflow:hidden;}
.lcf-progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--ui-accent),var(--ui-success));border-radius:999px;min-width:2px;transition:width 0.35s ease;}
.lcf-progress-pct{margin:0.45rem 0 0;font-size:0.88rem;color:var(--ui-text-muted);}
.lcf-lot-health{padding:1rem 1.05rem;}
.lcf-health-grid{display:grid;gap:0.55rem;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));}
.lcf-health-item{display:flex;align-items:center;gap:0.45rem;padding:0.45rem 0.55rem;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-bg-alt);}
.lcf-health-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;}
.lcf-health-item--ok .lcf-health-dot{background:var(--ui-success);}
.lcf-health-item--attention .lcf-health-dot{background:var(--ui-warn);}
.lcf-health-item--critical .lcf-health-dot{background:var(--ui-danger);}
.lcf-health-label{font-size:0.88rem;font-weight:600;color:var(--ui-text);}
.lcf-health-global{margin:0.75rem 0 0;font-size:0.92rem;color:var(--ui-text-muted);}
.lcf-health-global--ok strong{color:var(--ui-success);}
.lcf-health-global--attention strong{color:var(--ui-warn);}
.lcf-health-global--critical strong{color:var(--ui-danger);}
.lcf-tier{margin:0.5rem 0 0.85rem;}
.lcf-tier-title{margin:0 0 0.45rem;font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;}
.lcf-tier--critical .lcf-tier-title{color:var(--ui-danger);}
.lcf-tier--important .lcf-tier-title{color:var(--ui-warn);}
.lcf-tier--recommendation .lcf-tier-title{color:var(--ui-success);}
.lcf-action-card{margin-bottom:0.55rem;padding:0.6rem 0.75rem;border:1px solid var(--ui-border);border-radius:8px;background:var(--ui-bg-alt);color:var(--ui-text);}
.lcf-action-card-title{display:block;font-size:0.95rem;color:var(--ui-text);}
.lcf-action-card-detail{margin:0.25rem 0 0;font-size:0.85rem;color:var(--ui-text-muted);}
.lcf-action-qty{margin:0.35rem 0 0;font-size:0.88rem;color:var(--ui-link);font-weight:600;}
.lcf-action-cost{margin:0.35rem 0 0;font-size:0.88rem;color:var(--ui-warn);}
.lcf-action-cost-missing{margin:0.35rem 0 0;font-size:0.82rem;color:var(--ui-text-muted);}
.lcf-details-nested{margin-bottom:1rem;padding:0.85rem;background:var(--ui-bg-alt);border-color:var(--ui-border);}
.lcf-details-nested summary{cursor:pointer;font-weight:600;color:var(--ui-text);}
.lcf-section.card > summary,
.lcf-section details > summary{cursor:pointer;font-weight:600;color:var(--ui-text);}
.lcf-details-danger{border-color:color-mix(in srgb,var(--ui-danger) 45%,var(--ui-border));}
.lcf-details-danger summary{color:var(--ui-danger);}
.proy-edit-panel,.proy-cultivo-block{margin-top:1rem;}
.proy-cultivo-title{margin:0 0 0.25rem;font-size:1.1rem;}
.proy-cultivo-meta{margin:0 0 0.75rem;font-size:0.88rem;color:var(--ui-text-muted);}
.proy-cell-edit{display:inline-block;margin-top:0.15rem;padding:0.22rem 0.55rem;font-size:0.72rem;font-weight:600;text-decoration:none;color:var(--ui-accent,#58a6ff);background:color-mix(in srgb,var(--ui-accent,#58a6ff) 12%,transparent);border:1px solid color-mix(in srgb,var(--ui-accent,#58a6ff) 35%,transparent);border-radius:999px;white-space:nowrap;transition:background 0.15s,border-color 0.15s;}
.proy-cell-edit:hover{background:color-mix(in srgb,var(--ui-accent,#58a6ff) 22%,transparent);border-color:var(--ui-accent,#58a6ff);text-decoration:none;}
.proy-cell-edit--muted{color:var(--ui-text-muted,#8b949e);background:color-mix(in srgb,var(--ui-border,#30363d) 25%,transparent);border-color:color-mix(in srgb,var(--ui-border,#30363d) 65%,transparent);}
.proy-cell-edit--muted:hover{color:var(--ui-text,#e6edf3);background:color-mix(in srgb,var(--ui-border,#30363d) 45%,transparent);}
.proy-alert{margin-top:0.65rem;}
.proy-filters{display:flex;flex-wrap:wrap;gap:0.75rem 1.25rem;align-items:flex-end;margin-top:1rem;}
.proy-filters label{margin:0;}
.proy-kpi-scope{display:block;font-size:0.65rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--ui-text-muted,#8b949e);margin-bottom:0.15rem;}
.proy-kpi-grid{margin:0.75rem 0 1rem;}
.proy-kpi-grid .resumen-kpi-value{font-size:1.15rem;}
.proy-kpi-grid .resumen-kpi--empty .resumen-kpi-value{color:var(--ui-text-muted,#8b949e);}
.proy-kpi-hint{display:block;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);margin-top:0.2rem;line-height:1.35;font-weight:400;text-transform:none;letter-spacing:normal;}
.proy-kpi-grid .resumen-kpi--positive .resumen-kpi-value{color:var(--ui-success,#3fb950);}
.proy-kpi-grid .resumen-kpi--negative .resumen-kpi-value{color:var(--ui-danger,#f85149);}
.proy-kpi-grid--real{margin-bottom:1.25rem;}
.proy-stage-wrap{margin-top:0.5rem;}
.proy-stage-wrap .cr-table{font-size:0.88rem;}
.proy-stage-table{border-collapse:separate;border-spacing:0;}
.proy-stage-table thead th{position:sticky;top:0;z-index:2;padding:0.55rem 0.65rem;border-bottom:2px solid var(--ui-border,#30363d);vertical-align:bottom;line-height:1.25;}
.proy-th-unit{display:block;font-size:0.65rem;font-weight:500;text-transform:none;letter-spacing:0;color:var(--ui-text-muted,#8b949e);margin-top:0.1rem;}
.proy-th-factor,.proy-th-status{text-align:center;}
.proy-th-total{color:var(--ui-accent,#58a6ff);}
.proy-stage-table tbody .proy-stage-main td{padding:0.85rem 0.65rem;border-bottom:1px solid color-mix(in srgb,var(--ui-border,#30363d) 55%,transparent);vertical-align:top;}
.proy-stage-table tbody .proy-stage-main:hover td{background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 35%,transparent);}
.proy-stage-table tbody .proy-stage-main:last-of-type td{border-bottom-width:2px;}
.proy-col-stage{min-width:9rem;max-width:11rem;}
.proy-stage-name{display:flex;flex-direction:column;gap:0.2rem;}
.proy-stage-name__label{font-weight:600;font-size:0.92rem;color:var(--ui-text,#e6edf3);line-height:1.3;}
.proy-stage-name__code{font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--ui-text-muted,#8b949e);padding:0.12rem 0.4rem;border-radius:4px;background:color-mix(in srgb,var(--ui-border,#30363d) 40%,transparent);align-self:flex-start;}
.proy-col{min-width:8.5rem;}
.proy-col--mo{background:color-mix(in srgb,#58a6ff 4%,transparent);}
.proy-col--mach{background:color-mix(in srgb,#d29922 4%,transparent);}
.proy-col--ins{background:color-mix(in srgb,#3fb950 4%,transparent);}
.proy-col--other{background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 25%,transparent);}
.proy-col--sub{background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 35%,transparent);}
.proy-col--total{background:color-mix(in srgb,var(--ui-accent,#58a6ff) 8%,transparent);}
.proy-col-status{text-align:center;vertical-align:middle!important;min-width:5.5rem;}
.proy-col-head--mo{border-top:3px solid color-mix(in srgb,#58a6ff 70%,transparent);}
.proy-col-head--mach{border-top:3px solid color-mix(in srgb,#d29922 70%,transparent);}
.proy-col-head--ins{border-top:3px solid color-mix(in srgb,#3fb950 70%,transparent);}
.proy-col-head--other{border-top:3px solid color-mix(in srgb,var(--ui-border,#30363d) 90%,transparent);}
.proy-cost-cell{display:flex;flex-direction:column;align-items:flex-end;gap:0.35rem;min-height:2rem;}
.proy-cost-cell__total{font-size:1rem;font-weight:700;color:var(--ui-text,#e6edf3);font-variant-numeric:tabular-nums;line-height:1.2;}
.proy-cost-cell__total--sub{font-size:0.92rem;font-weight:600;color:var(--ui-text-muted,#c9d1d9);}
.proy-cost-cell__total--final{font-size:1.05rem;color:var(--ui-accent,#58a6ff);}
.proy-cost-cell__note{margin:0;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);line-height:1.35;text-align:right;max-width:12rem;}
.proy-breakdown{margin:0;padding:0;list-style:none;width:100%;max-width:16rem;}
.proy-breakdown__line{display:grid;grid-template-columns:1fr auto;gap:0.1rem 0.65rem;padding:0.4rem 0.5rem;margin:0;border-radius:6px;background:color-mix(in srgb,var(--ui-bg-surface,#161b22) 80%,transparent);border:1px solid color-mix(in srgb,var(--ui-border,#30363d) 50%,transparent);}
.proy-breakdown__line+.proy-breakdown__line{margin-top:0.3rem;}
.proy-breakdown__name{grid-column:1/-1;font-size:0.78rem;font-weight:600;color:var(--ui-text,#e6edf3);line-height:1.25;text-align:left;}
.proy-breakdown__detail{grid-column:1;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);line-height:1.35;text-align:left;}
.proy-breakdown__sum{grid-column:2;grid-row:2;font-size:0.78rem;font-weight:600;color:var(--ui-text,#e6edf3);font-variant-numeric:tabular-nums;white-space:nowrap;align-self:end;}
.proy-factor{display:inline-block;font-size:0.82rem;color:var(--ui-text-muted,#8b949e);font-variant-numeric:tabular-nums;padding:0.2rem 0.45rem;border-radius:4px;background:color-mix(in srgb,var(--ui-border,#30363d) 35%,transparent);}
.proy-mo-lines{margin:0.35rem 0 0;padding:0;list-style:none;font-size:0.8rem;color:var(--ui-text-muted);}
.proy-mo-lines li{margin:0.15rem 0;}
.proy-badge{display:inline-block;padding:0.12rem 0.45rem;border-radius:5px;font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;}
.proy-badge--ok{background:color-mix(in srgb,var(--ui-success) 18%,transparent);color:var(--ui-success,#3fb950);border:1px solid color-mix(in srgb,var(--ui-success) 35%,transparent);}
.proy-badge--warn{background:color-mix(in srgb,var(--ui-warn) 18%,transparent);color:var(--ui-warn,#d29922);border:1px solid color-mix(in srgb,var(--ui-warn) 35%,transparent);}
.proy-badge--bad{background:color-mix(in srgb,var(--ui-danger) 18%,transparent);color:var(--ui-danger,#f85149);border:1px solid color-mix(in srgb,var(--ui-danger) 35%,transparent);}
.proy-diag-list{margin:0;padding-left:1rem;font-size:0.82rem;color:var(--ui-text-muted);max-width:20rem;}
.proy-diag-list--block{max-width:none;padding-left:1.15rem;line-height:1.45;}
.proy-diag-list--block li{margin:0.2rem 0;}
.proy-stage-main--has-detail td{border-bottom:none;}
.proy-stage-detail td{padding:0.25rem 0.65rem 0.75rem;font-size:0.82rem;color:var(--ui-text-muted);background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 45%,var(--ui-bg-surface,transparent));border-top:1px dashed color-mix(in srgb,var(--ui-border,#30363d) 70%,transparent);}
.proy-edit-row[hidden]{display:none;}
.proy-edit-row td{padding:0.85rem 1rem 1rem;font-size:0.82rem;color:var(--ui-text-muted);background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 55%,var(--ui-bg-surface,transparent));border-top:none;border-bottom:2px solid color-mix(in srgb,var(--ui-accent,#58a6ff) 35%,var(--ui-border,#30363d));box-shadow:inset 0 3px 0 color-mix(in srgb,var(--ui-accent,#58a6ff) 25%,transparent);}
.proy-edit-row__head{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:0.35rem;color:var(--ui-text,#e6edf3);font-size:0.88rem;}
.proy-edit-row__close{flex:0 0 auto;border:1px solid var(--ui-border,#30363d);background:transparent;color:var(--ui-text-muted,#8b949e);border-radius:5px;width:1.75rem;height:1.75rem;line-height:1;font-size:1.1rem;cursor:pointer;padding:0;}
.proy-edit-row__close:hover{color:var(--ui-text,#e6edf3);border-color:var(--ui-text-muted,#8b949e);}
.proy-edit-row .proy-price-form{margin-top:0;padding-top:0;border-top:none;}
.proy-stage-total-row td{vertical-align:middle;padding:0.75rem 0.65rem;}
.proy-total-hint{font-size:0.78rem;font-weight:400;}
.proy-stage-total-row--final td{border-top:1px dashed color-mix(in srgb,var(--ui-border,#30363d) 80%,transparent);}
.proy-stage-total-row--parcela td{background:color-mix(in srgb,var(--ui-accent,#58a6ff) 10%,#161b22);border-top:2px solid var(--ui-accent,#58a6ff);}
.proy-stage-total-row--parcela .proy-col--total{font-weight:700;color:var(--ui-accent,#58a6ff);}
.proy-stage-ref-ha td{background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 35%,transparent);}
.proy-stage-total-lote td{background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 35%,transparent);vertical-align:middle;}
.proy-price-form{margin-top:0.85rem;padding-top:0.75rem;border-top:1px solid color-mix(in srgb,var(--ui-border,#30363d) 65%,transparent);}
.proy-price-form-title{margin:0 0 0.25rem;font-size:0.88rem;font-weight:600;color:var(--ui-text,#e6edf3);}
.proy-price-form-hint{margin:0 0 0.65rem;font-size:0.78rem;}
.proy-price-grid{display:grid;grid-template-columns:minmax(10rem,1.4fr) 4.5rem minmax(5rem,7rem) 5rem;gap:0.35rem 0.5rem;align-items:center;max-width:42rem;}
.proy-price-grid__head{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted,#8b949e);font-weight:600;}
.proy-price-grid__label{font-size:0.84rem;line-height:1.35;color:var(--ui-text,#e6edf3);}
.proy-price-grid__field{margin:0;}
.proy-price-input{width:100%;max-width:100%;font-size:0.84rem;padding:0.28rem 0.4rem;border-radius:5px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-surface,#161b22);color:var(--ui-text,#e6edf3);}
.proy-price-input--unit{max-width:4.5rem;}
.proy-price-reason{font-size:0.75rem;color:var(--ui-text-muted,#8b949e);}
.proy-price-reason--bad{color:var(--ui-danger,#f85149);}
.proy-labor-help{font-size:0.84rem;line-height:1.45;margin:0 0 0.65rem;color:var(--ui-text-muted,#8b949e);}
.proy-labor-help ul{margin:0.35rem 0;padding-left:1.15rem;}
.proy-labor-help li{margin:0.2rem 0;}
.proy-labor-tariffs-hint{margin:0 0 0.65rem;font-size:0.82rem;}
.proy-price-grid__opt{font-weight:400;text-transform:none;letter-spacing:0;color:var(--ui-text-muted,#8b949e);}
.proy-price-reason--ok{color:var(--ui-success,#3fb950);}
.proy-labor-grid{display:grid;grid-template-columns:minmax(8rem,1.1fr) minmax(9rem,1.1fr) 5rem minmax(5rem,7rem) 5rem;gap:0.35rem 0.5rem;align-items:start;max-width:52rem;}
.proy-labor-dss-label{font-size:0.84rem;line-height:1.35;color:var(--ui-text,#e6edf3);}
.proy-labor-dss-label strong{display:block;font-weight:600;}
.proy-labor-dss-label .proy-price-reason{display:block;margin-top:0.15rem;}
.proy-labor-form .proy-price-reason{display:block;margin-top:0.2rem;}
.proy-labor-form select.proy-price-input{min-width:0;}
.proy-labor-fixed{font-size:0.84rem;color:var(--ui-text-muted,#8b949e);line-height:2;}
.proy-machinery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:0.35rem 0.5rem;align-items:start;max-width:42rem;}
.proy-machinery-form .proy-price-grid__head{display:block;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;color:var(--ui-text-muted,#8b949e);margin-bottom:0.2rem;}
.proy-machinery-operator{display:block;margin:0.55rem 0 0;font-size:0.84rem;color:var(--ui-text-muted,#8b949e);}
.proy-machinery-lines{margin-top:0.35rem;}
.proy-price-submit{margin-top:0.65rem;font-size:0.84rem;}
.proy-price-readonly{margin:0.75rem 0 0;font-size:0.82rem;}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.proy-summary-legacy{display:none;}
@media (max-width:900px){
  .proy-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));}
  .proy-stage-table{font-size:0.82rem;}
  .proy-col{min-width:7.5rem;}
  .proy-breakdown{max-width:13rem;}
  .proy-cost-cell__total{font-size:0.92rem;}
}

/* MO ejecutada — jornal anidado (tarifa vs labor opcional) */
.mo-jornal-detail{border:1px solid var(--ui-border);border-radius:8px;padding:0.85rem 1rem 1rem;margin:0.75rem 0 1rem;background:var(--ui-bg-alt);}
.mo-jornal-detail-legend{padding:0 0.35rem;font-size:1rem;font-weight:600;color:var(--ui-text);}
.mo-jornal-detail-lead{margin:0.35rem 0 0.85rem;line-height:1.45;color:var(--ui-text-secondary);}
.mo-jornal-detail-label{display:block;margin:0.75rem 0 0;color:var(--ui-text);}
.mo-jornal-detail-label:first-of-type{margin-top:0;}
.mo-jornal-detail-hint{margin:0.35rem 0 0;font-size:0.88rem;}
.mo-jornal-tariff-box{margin:0.75rem 0;padding:0.75rem 0.85rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--ui-warn) 35%,var(--ui-border));background:color-mix(in srgb,var(--ui-warn) 6%,var(--ui-bg-surface));}
.mo-jornal-tariff-current{margin:0 0 0.65rem;font-size:0.9rem;color:var(--ui-text);}
.mo-jornal-recalc{display:flex;align-items:center;gap:0.4rem;margin:0.55rem 0 0;font-size:0.88rem;color:var(--ui-text-secondary);}
.mo-edit-notice{margin:0 0 0.75rem;padding:0.55rem 0.75rem;border-radius:8px;border:1px solid color-mix(in srgb,var(--ui-link) 30%,var(--ui-border));background:color-mix(in srgb,var(--ui-link) 6%,var(--ui-bg-surface));}
.mo-list-actions{display:flex;flex-wrap:wrap;gap:0.35rem;align-items:center;}
.mo-list-edit{padding:0.25rem 0.55rem;font-size:0.82rem;text-decoration:none;}
.mo-jornal-nested{margin:0.85rem 0 0;padding:0.65rem 0 0.15rem 0.85rem;border-left:3px solid #388bfd44;}
.mo-activities-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0.65rem 1rem;padding:0.75rem 0.9rem;}
.mo-activities-toolbar .mo-activities-toolbar-actions{display:flex;gap:0.5rem;flex-wrap:wrap;}
.mo-main-tabs{margin:0.35rem 0 1rem;}
.mo-main-tabs .programa-tab{cursor:pointer;}
.mo-main-tab-panel{margin-top:0.25rem;}
.mo-activity-card{padding:0.8rem 1rem;}
.mo-activity-summary{cursor:pointer;display:flex;align-items:center;gap:0.5rem;list-style:none;margin-bottom:0.65rem;}
.mo-activity-summary::-webkit-details-marker{display:none;}
.mo-activity-card[open] .mo-activity-summary{margin-bottom:0.85rem;}

/* Programa por campaña (asignación) */
.btn{padding:0.45rem 0.85rem;border-radius:6px;border:1px solid #238636;background:#238636;color:#fff;font-weight:600;font-size:0.9rem;cursor:pointer;}
.btn:hover{background:#2ea043;}
.btn:focus{outline:none;box-shadow:0 0 0 2px #0d1117,0 0 0 4px #23863688;}
a.btn-secondary{text-decoration:none;display:inline-block;text-align:center;}
.programa-page{margin-bottom:2rem;}
.programa-breadcrumb{margin-bottom:0.75rem;}
.programa-help{margin-bottom:1rem;padding:0.85rem 1rem;}
.programa-help summary{cursor:pointer;font-weight:600;color:var(--ui-text-secondary,#c9d1d9);}
.programa-help-list{margin:0.65rem 0 0;padding-left:1.25rem;line-height:1.55;font-size:0.9rem;}
.programa-toolbar{margin-bottom:1rem;}
.programa-toolbar-title{margin-top:0;}
.programa-toolbar-inner{display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:flex-end;justify-content:space-between;}
.programa-tabs{display:flex;flex-wrap:wrap;gap:0.35rem;}
.programa-tab{padding:0.45rem 0.9rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-alt,#0d1117);color:var(--ui-text-muted,#8b949e);text-decoration:none;font-size:0.9rem;font-weight:600;}
.programa-tab:hover{color:var(--ui-text,#e6edf3);border-color:var(--ui-border,#484f58);}
.programa-tab.is-active{border-color:var(--ui-link,#388bfd);background:var(--ui-accent-soft,#388bfd18);color:var(--ui-link,#58a6ff);}
.programa-toolbar-form{display:flex;flex-wrap:wrap;gap:0.65rem;align-items:flex-end;}
.programa-field-label{display:block;font-size:0.78rem;color:var(--ui-text-muted,#8b949e);margin-bottom:0.3rem;}
.programa-toolbar-form input[type="date"]{padding:0.4rem 0.5rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-input,#0d1117);color:var(--ui-text,#e6edf3);font-size:0.9rem;}
.programa-toolbar-actions{margin-left:auto;}
.programa-alert-card{border-left:4px solid #c9a227;}
.programa-alert-card-text{margin:0;line-height:1.5;}
.programa-card-water{border-left:4px solid #1f6feb;}
.programa-card-water-sub{font-weight:400;font-size:0.85rem;}
.programa-month-fill{margin-top:1rem;padding-top:0.85rem;border-top:1px solid var(--ui-border-subtle,#21262d);}
.programa-month-fill-hint{margin:0 0 0.65rem;}
.programa-month-fill-form{display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem 1rem;margin:0;}
.programa-month-fill-link{font-size:0.88rem;}
.programa-area-line{margin:0.5rem 0 0.85rem;display:flex;flex-wrap:wrap;align-items:baseline;gap:0.5rem;}
.programa-area-label{font-size:0.75rem;text-transform:uppercase;letter-spacing:0.05em;color:var(--ui-text-muted,#8b949e);}
.programa-area-value{font-size:1.1rem;color:var(--ui-link,#58a6ff);}
.programa-water-heading{margin:0.85rem 0 0.35rem;font-size:0.8rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted,#8b949e);}
.programa-water-heading:first-of-type{margin-top:0;}
.programa-water-list{list-style:none;padding:0;margin:0;}
.programa-water-list li{padding:0.5rem 0.65rem;margin-bottom:0.4rem;border-radius:6px;font-size:0.9rem;line-height:1.45;background:var(--ui-bg-alt,#0d1117);color:var(--ui-text,#e6edf3);}
.programa-water-list--alerts li{border-left:3px solid var(--ui-warn,#d29922);}
.programa-water-list--actions li{border-left:3px solid var(--ui-success,#3fb950);}
.programa-water-empty{margin:0.35rem 0 0;}
.programa-migrate-hint{margin-bottom:1rem;}
.programa-table-card{margin-bottom:1rem;}
.programa-table-lead{margin:0 0 0.75rem;}
.programa-table-wrap{overflow-x:auto;margin-top:0.5rem;-webkit-overflow-scrolling:touch;}
.programa-table{font-size:0.92rem;color:var(--ui-text,#e6edf3);}
.programa-table th{white-space:nowrap;background:var(--ui-bg-alt,#0d1117);color:var(--ui-text-secondary,#c9d1d9);}
.programa-stage-title{margin-bottom:0.25rem;}
.programa-dss-edit{font-size:0.85rem;}
.programa-window-sep{color:var(--ui-text-muted,#8b949e);}
.programa-dss-groups{min-width:0;}
.programa-dss-group{margin-bottom:0.65rem;}
.programa-dss-group:last-child{margin-bottom:0;}
.programa-dss-group-label{display:block;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted,#8b949e);margin-bottom:0.25rem;}
.programa-dss-group-list{margin:0;padding-left:1.1rem;font-size:0.88rem;line-height:1.45;}
.programa-dss-group-empty{margin:0;font-size:0.88rem;}
.programa-dss-all-empty{margin:0;}
.programa-week-stage{margin:0.25rem 0;}
.programa-seg{min-width:200px;max-width:18rem;}
.programa-seg-form{margin:0;}
.programa-seg-row{margin-bottom:0.45rem;}
.programa-seg-row--inline{display:flex;align-items:center;gap:0.5rem;flex-wrap:wrap;}
.programa-seg-label{font-size:0.75rem;color:var(--ui-text-muted,#8b949e);}
.programa-seg-status{max-width:12rem;padding:0.35rem 0.45rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-input,#0d1117);color:var(--ui-text,#e6edf3);font-size:0.88rem;}
.programa-seg-priority{width:4.25rem;padding:0.35rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-input,#0d1117);color:var(--ui-text,#e6edf3);font-size:0.88rem;}
.programa-seg-notes{margin-top:0.35rem;}
.programa-seg-notes summary{cursor:pointer;font-size:0.82rem;color:var(--ui-text-muted,#8b949e);margin-bottom:0.25rem;}
.programa-seg-textarea{width:100%;max-width:16rem;box-sizing:border-box;margin-top:0.25rem;padding:0.4rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-input,#0d1117);color:var(--ui-text,#e6edf3);font-family:inherit;font-size:0.88rem;}
.programa-seg-submit{margin-top:0.5rem;}
.programa-seg-readonly{margin:0;}
.programa-seg-readonly-notes{margin:0.35rem 0 0;font-size:0.88rem;line-height:1.45;}
.programa-badge{display:inline-block;padding:0.2rem 0.55rem;border-radius:6px;font-size:0.78rem;font-weight:600;}
.programa-badge--planned{background:var(--ui-alert-med-bg,#d2992233);border:1px solid var(--ui-alert-med-border,#d2992288);color:var(--ui-warn,#e3b341);}
.programa-badge--done{background:var(--ui-accent-soft,#23863633);border:1px solid var(--ui-success,#23863688);color:var(--ui-success,#3fb950);}
.programa-badge--none{background:var(--ui-bg-hover,#21262d);border:1px solid var(--ui-border,#30363d);color:var(--ui-text-muted,#8b949e);}
.programa-week-filter{margin-bottom:1rem;}
.programa-week-filter-title{margin-top:0;}
.programa-week-filter-hint{margin:0 0 0.75rem;line-height:1.45;}
.programa-week-filter-form{display:flex;flex-wrap:wrap;gap:0.75rem 1rem;align-items:flex-end;}
.programa-week-filter-form .programa-field{margin:0;}
.programa-week-filter-form input[type="date"]{padding:0.4rem 0.5rem;border-radius:6px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-input,#0d1117);color:var(--ui-text,#e6edf3);font-size:0.9rem;}
.programa-week-filter-clear{color:var(--ui-link,#58a6ff);font-size:0.9rem;white-space:nowrap;}
.programa-week-filter-clear:hover{color:var(--ui-link-hover,#79c0ff);}
.programa-week-filter-active{margin:0.65rem 0 0;}
.lcf-exec-priority-list,.lcf-exec-analysis-list{margin:0.35rem 0 0;padding-left:1.25rem;line-height:1.55;color:var(--ui-text,#e6edf3);}
.lcf-exec-priority-list li,.lcf-exec-analysis-list li{margin:0.2rem 0;}
.programa-compliance-grid{display:flex;flex-direction:column;gap:0.55rem;}
.programa-compliance-row{display:grid;grid-template-columns:minmax(7rem,9rem) 1fr auto auto;gap:0.5rem 0.65rem;align-items:center;font-size:0.88rem;color:var(--ui-text,#e6edf3);}
.programa-compliance-label{font-weight:600;}
.programa-compliance-bar-wrap{height:8px;border-radius:999px;background:var(--ui-bg-hover,#21262d);overflow:hidden;}
.programa-compliance-bar{display:block;height:100%;background:linear-gradient(90deg,var(--ui-accent,#238636),var(--ui-success,#3fb950));border-radius:999px;min-width:2px;}
.programa-compliance-pct{font-weight:700;min-width:2.5rem;text-align:right;}
.programa-compliance-count{font-size:0.78rem;min-width:2.5rem;text-align:right;}
.programa-agenda-compliance{margin-bottom:1rem;}
.compliance-pct{font-weight:700;font-size:1.05rem;}
.compliance-pct--ok{color:var(--ui-success,#3fb950);}
.compliance-pct--med{color:var(--ui-warn,#e3b341);}
.compliance-pct--low{color:var(--ui-danger,#f85149);}
.compliance-checklist{list-style:none;margin:0;padding:0;font-size:0.88rem;}
.compliance-checklist li{margin:0.15rem 0;}
.compliance-check--ok{color:var(--ui-success,#3fb950);font-weight:700;margin-right:0.25rem;}
.compliance-check--no{color:var(--ui-danger,#f85149);font-weight:700;margin-right:0.25rem;}
.compliance-row--warn{background:rgba(248,81,73,0.06);}
.compliance-campaign-mini{list-style:none;margin:0.25rem 0 0;padding:0;font-size:0.78rem;}
.lcf-advisor-narrative{color:var(--ui-text,#e6edf3);}
.programa-agenda-head-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;}
.programa-agenda-generate{margin:0;}
.programa-agenda-kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:0.65rem;margin-top:1rem;}
.programa-agenda-kpi{padding:0.55rem 0.65rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);text-align:center;color:var(--ui-text,#e6edf3);}
.programa-agenda-kpi-val{display:block;font-size:1.25rem;font-weight:700;color:var(--ui-link,#58a6ff);}
.programa-agenda-kpi-lbl{display:block;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);margin-top:0.15rem;text-transform:uppercase;letter-spacing:0.04em;}
.programa-agenda-stages{margin-bottom:1rem;}
.programa-agenda-stage-grid{display:grid;gap:0.65rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
.programa-agenda-stage-item{padding:0.55rem 0.65rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);color:var(--ui-text,#e6edf3);}
.programa-agenda-stage-bar{height:6px;border-radius:999px;background:var(--ui-bg-hover,#21262d);margin-top:0.35rem;overflow:hidden;}
.programa-agenda-stage-fill{height:100%;background:linear-gradient(90deg,var(--ui-accent,#238636),var(--ui-success,#3fb950));border-radius:999px;}
.programa-op-prio{display:inline-block;padding:0.15rem 0.45rem;border-radius:5px;font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.03em;}
.programa-op-prio--high{background:var(--ui-alert-high-bg,#da363322);border:1px solid var(--ui-alert-high-border,#da363388);color:var(--ui-danger,#f85149);}
.programa-op-prio--med{background:var(--ui-alert-med-bg,#d2992222);border:1px solid var(--ui-alert-med-border,#d2992288);color:var(--ui-warn,#e3b341);}
.programa-op-prio--low{background:var(--ui-accent-soft,#23863622);border:1px solid var(--ui-success,#23863688);color:var(--ui-success,#3fb950);}
.programa-op-status{display:inline-block;padding:0.15rem 0.45rem;border-radius:5px;font-size:0.78rem;font-weight:600;}
.programa-op-status--pending{background:var(--ui-accent-soft,#388bfd18);border:1px solid var(--ui-link,#388bfd55);color:var(--ui-link,#58a6ff);}
.programa-op-status--done{background:var(--ui-accent-soft,#23863633);border:1px solid var(--ui-success,#23863688);color:var(--ui-success,#3fb950);}
.programa-op-status--partial{background:#d2992233;border:1px solid #d2992288;color:#e3b341;}
.programa-op-row--partial{border-left:3px solid #d29922;}
.programa-agenda-task--extra-products{border-color:#d2992288;box-shadow:inset 3px 0 0 #d29922;}
.programa-agenda-remaining{color:#e3b341;font-size:0.85rem;margin:0.2rem 0 0;}
.programa-op-status--resched{background:var(--ui-alert-med-bg,#d2992222);border:1px solid var(--ui-alert-med-border,#d2992288);color:var(--ui-warn,#e3b341);}
.programa-op-status--cancel{background:var(--ui-bg-hover,#21262d);border:1px solid var(--ui-border,#30363d);color:var(--ui-text-muted,#8b949e);}
.programa-op-actions{display:flex;flex-wrap:wrap;gap:0.35rem 0.5rem;align-items:center;}
.programa-op-btn{font-size:0.82rem;padding:0.3rem 0.55rem;}
.programa-op-resched summary{cursor:pointer;font-size:0.82rem;color:var(--ui-link,#58a6ff);}
.programa-op-resched-form{margin-top:0.35rem;display:flex;flex-wrap:wrap;gap:0.35rem;align-items:flex-end;}
.programa-op-row--done{opacity:0.72;}
.programa-agenda-kpi--crit .programa-agenda-kpi-val{color:var(--ui-danger,#f85149);}
.programa-agenda-kpi--med .programa-agenda-kpi-val{color:var(--ui-warn,#e3b341);}
.programa-agenda-kpi--low .programa-agenda-kpi-val{color:var(--ui-success,#3fb950);}
.programa-agenda-dss{margin-bottom:1rem;}
.programa-dss-diag-list{margin:0.65rem 0 0;padding-left:1.25rem;line-height:1.55;font-size:0.9rem;}
.programa-table-lead-inline{font-weight:400;font-size:0.85rem;}
.programa-agenda-days{display:flex;flex-direction:column;gap:1rem;margin-top:0.75rem;}
.programa-agenda-day{border:1px solid var(--ui-border,#30363d);border-radius:10px;padding:0.75rem 0.9rem;background:var(--ui-bg-alt,#0d1117);}
.programa-agenda-day--empty{opacity:0.65;}
.programa-agenda-day-head{display:flex;align-items:baseline;justify-content:space-between;gap:0.5rem;margin-bottom:0.5rem;}
.programa-agenda-day-title{margin:0;font-size:1rem;font-weight:600;color:var(--ui-text,#e6edf3);}
.programa-agenda-day-hours{font-size:0.82rem;color:var(--ui-text-muted,#8b949e);font-weight:600;}
.programa-agenda-task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.65rem;}
.programa-agenda-task{display:flex;flex-wrap:wrap;gap:0.65rem;justify-content:space-between;align-items:flex-start;padding:0.65rem 0.75rem;border-radius:8px;border:1px solid var(--ui-border-subtle,#21262d);background:var(--ui-bg-surface,#161b22);}
.programa-agenda-task-main{flex:1;min-width:0;}
.programa-agenda-task-head{display:flex;align-items:flex-start;gap:0.35rem;width:100%;}
.programa-agenda-task-body{flex:1;min-width:0;}
.programa-agenda-task-title{display:block;font-size:0.95rem;color:var(--ui-text,#e6edf3);word-break:break-word;line-height:1.35;}
.programa-agenda-task-detail{margin:0.35rem 0 0;line-height:1.45;font-size:0.88rem;word-break:break-word;white-space:pre-line;}
.programa-agenda-task-duration{display:block;margin-top:0.35rem;font-size:0.82rem;color:var(--ui-text-muted,#8b949e);}
.programa-agenda-task-actions{flex-shrink:0;}
.programa-agenda-day-empty{margin:0;font-size:0.88rem;}
.programa-agenda-resources{margin-top:0.5rem;padding-top:0.75rem;border-top:1px solid var(--ui-border,#30363d);}
.programa-agenda-resource-list{list-style:none;margin:0.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:0.5rem 1.25rem;}
.programa-agenda-resource-list li{font-size:0.92rem;color:var(--ui-text,#e6edf3);}
.programa-agenda-resource-check{color:var(--ui-success,#3fb950);font-weight:700;margin-right:0.25rem;}
.programa-op-timing{display:inline-block;margin-left:0.35rem;padding:0.12rem 0.4rem;border-radius:5px;font-size:0.72rem;font-weight:600;white-space:nowrap;}
.programa-op-timing--critical{background:rgba(248,81,73,0.15);border:1px solid rgba(248,81,73,0.45);color:var(--ui-danger,#f85149);}
.programa-op-timing--attention,.programa-op-timing--warn{background:rgba(227,179,65,0.15);border:1px solid rgba(227,179,65,0.45);color:var(--ui-warn,#e3b341);}
.programa-op-timing--ok{background:rgba(63,185,80,0.12);border:1px solid rgba(63,185,80,0.4);color:var(--ui-success,#3fb950);}
.programa-op-timing--muted{opacity:0.65;}
.programa-projection,.programa-stage-checklist,.programa-weekly-costs{margin-bottom:1rem;}
.programa-projection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:0.65rem;}
.programa-projection-item{padding:0.55rem 0.65rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);text-align:center;}
.programa-projection-label{display:block;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);text-transform:uppercase;letter-spacing:0.04em;}
.programa-projection-val{display:block;font-size:1.15rem;font-weight:700;margin-top:0.2rem;color:var(--ui-text,#e6edf3);}
.programa-projection-val--ok{color:var(--ui-success,#3fb950);}
.programa-projection-val--warn{color:var(--ui-warn,#e3b341);}
.programa-stage-checklist-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:0.5rem 1.25rem;}
.programa-stage-checklist-item{font-size:0.92rem;color:var(--ui-text,#e6edf3);}
.compliance-check--med{color:var(--ui-warn,#e3b341);font-weight:700;margin-right:0.25rem;}
.programa-costs-table{margin-top:0.35rem;font-size:0.9rem;}
.programa-costs-total td{border-top:2px solid var(--ui-border,#30363d);}
.lcf-health-index-overall{font-size:1.15rem;color:var(--ui-text,#e6edf3);}
.lcf-health-index-overall--ok strong{color:var(--ui-success,#3fb950);}
.lcf-health-index-overall--attention strong{color:var(--ui-warn,#e3b341);}
.lcf-health-index-overall--critical strong{color:var(--ui-danger,#f85149);}
.lcf-health-index-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:0.55rem;}
.lcf-health-index-dim{padding:0.45rem 0.55rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);text-align:center;}
.lcf-health-index-dim-label{display:block;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);}
.lcf-health-index-dim-val{display:block;font-size:1.05rem;font-weight:700;margin-top:0.15rem;color:var(--ui-text,#e6edf3);}
.lcf-report-status{font-size:0.92rem;line-height:1.5;}
.lcf-report-status--ok{color:var(--ui-success,#3fb950);}
.lcf-report-status--attention{color:var(--ui-warn,#e3b341);}
.lcf-report-status--critical{color:var(--ui-danger,#f85149);}
.compliance-health{font-weight:700;font-size:1rem;}
.compliance-health--ok{color:var(--ui-success,#3fb950);}
.compliance-health--attention{color:var(--ui-warn,#e3b341);}
.compliance-health--critical{color:var(--ui-danger,#f85149);}
.lcf-fert-table{margin-top:0.25rem;}
.lcf-fert-table th,.lcf-fert-table td{padding:0.35rem 0.5rem;}
.lcf-irrigation-trace{border-top:1px solid var(--ui-border,#30363d);padding-top:0.65rem;}
.lcf-trace-body{margin-top:0.55rem;font-size:0.88rem;color:var(--ui-text,#e6edf3);}
.lcf-trace-heading{margin:0.65rem 0 0.35rem;font-size:0.82rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted,#8b949e);}
.lcf-trace-heading:first-child{margin-top:0;}
.lcf-trace-dl{display:grid;grid-template-columns:minmax(8rem,10rem) 1fr;gap:0.2rem 0.65rem;margin:0;}
.lcf-trace-dl dt{color:var(--ui-text-muted,#8b949e);font-weight:600;}
.lcf-trace-dl dd{margin:0;}
.lcf-trace-dl--ref dt,.lcf-trace-dl--ref dd{color:var(--ui-text-muted,#8b949e);}
.lcf-trace-ref-note{margin:0 0 0.35rem;font-size:0.82rem;line-height:1.45;}
.lcf-water-balance-table{width:100%;border-collapse:collapse;margin:0.35rem 0 0;font-size:0.88rem;color:var(--ui-text,#e6edf3);}
.lcf-water-balance-table th,.lcf-water-balance-table td{padding:0.35rem 0.5rem;border:1px solid var(--ui-border-subtle,#21262d);text-align:left;}
.lcf-water-balance-table th{background:var(--ui-bg-surface,#161b22);font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted,#8b949e);}
.lcf-water-balance-table td:first-child{color:var(--ui-text-muted,#8b949e);font-weight:600;width:42%;}
.programa-agenda-kpi--system .programa-agenda-kpi-val{color:var(--ui-link,#58a6ff);}
.programa-agenda-irrigation-trace{margin-top:0.45rem;}
.programa-agenda-irrigation-trace .lcf-water-balance-table{font-size:0.82rem;}
.lcf-water-balance-warn{color:#856404;font-weight:600;}
.programa-water-note{margin:0 0 0.5rem;font-size:0.88rem;}
.programa-agenda-task-detail--pre{white-space:pre-line;}
.programa-agenda-sync-notice{margin-bottom:1rem;border-color:var(--ui-success,#23863688);background:rgba(35,134,54,0.08);}
.programa-agenda-sync-notice p{color:var(--ui-text,#e6edf3);}
.programa-op-execute{margin-top:0.5rem;}
.programa-op-execute summary.programa-op-btn--execute{cursor:pointer;list-style:none;display:inline-block;}
.programa-op-execute summary.programa-op-btn--execute::-webkit-details-marker{display:none;}
.programa-op-execute-form{margin-top:0.65rem;padding:0.75rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-surface,#161b22);max-width:32rem;}
.programa-op-execute-form label{display:block;margin:0.35rem 0;font-size:0.88rem;}
.programa-op-execute-form input,.programa-op-execute-form textarea{width:100%;max-width:100%;box-sizing:border-box;}
.programa-op-execute-grid{display:grid;gap:0.35rem 0.65rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));}
.programa-op-execute-product-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem 0.75rem;margin:0.35rem 0;padding:0.35rem 0;border-bottom:1px solid var(--ui-border-subtle,#21262d);}
.programa-op-execute-product-label{flex:1;min-width:8rem;font-size:0.88rem;}
.programa-op-execute-hub{margin-top:0.5rem;}
.programa-op-execute-links{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.5rem;}
.programa-op-execute-hint{font-size:0.82rem;margin-left:0.15rem;}
.programa-agenda-executed{margin:0.45rem 0 0;padding:0.35rem 0.5rem;border-radius:6px;background:rgba(35,134,54,0.1);border:1px solid rgba(35,134,54,0.25);font-size:0.85rem;}
.programa-agenda-fert-products{margin:0.5rem 0 0;padding:0.5rem 0.65rem;border-radius:8px;border:1px solid var(--ui-border-subtle,#21262d);background:var(--ui-bg-alt,#0d1117);}
.programa-agenda-fert-products--has-extra{border-color:#d2992288;background:rgba(210,153,34,0.08);}
.programa-agenda-fert-title{margin:0 0 0.4rem;font-size:0.82rem;color:var(--ui-text-muted,#8b949e);display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.65rem;}
.programa-agenda-fert-extra-notice{font-size:0.78rem;font-weight:700;color:#e3b341;padding:0.1rem 0.45rem;border-radius:999px;background:rgba(227,179,65,0.18);border:1px solid rgba(227,179,65,0.45);}
.programa-agenda-fert-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.35rem;}
.programa-agenda-fert-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.35rem 0.75rem;padding:0.35rem 0.45rem;border-radius:6px;border:1px solid transparent;font-size:0.86rem;}
.programa-agenda-fert-row--planned{border-color:var(--ui-border-subtle,#21262d);opacity:0.92;}
.programa-agenda-fert-row--extra{border-color:#d2992288;background:rgba(227,179,65,0.14);}
.programa-agenda-fert-row--partial{border-color:#d2992255;background:rgba(210,153,34,0.06);}
.programa-agenda-fert-row--done{border-color:rgba(35,134,54,0.35);background:rgba(35,134,54,0.08);}
.programa-agenda-fert-name{color:var(--ui-text,#e6edf3);font-weight:500;}
.programa-agenda-fert-qty{color:var(--ui-text-muted,#8b949e);display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem;}
.programa-agenda-fert-badge{font-size:0.72rem;font-weight:700;padding:0.08rem 0.4rem;border-radius:999px;}
.programa-agenda-fert-badge--extra{color:#e3b341;background:rgba(227,179,65,0.2);border:1px solid rgba(227,179,65,0.45);}
.programa-agenda-fert-badge--partial{color:#e3b341;background:rgba(210,153,34,0.15);}
.programa-agenda-fert-badge--done{color:var(--ui-success,#3fb950);}
.programa-agenda-fert-products--compact{margin:0.25rem 0 0;padding:0.35rem 0.45rem;}
.programa-agenda-fert-products--compact .programa-agenda-fert-title{font-size:0.75rem;margin-bottom:0.25rem;}
.programa-agenda-fert-products--compact .programa-agenda-fert-row{font-size:0.72rem;padding:0.25rem 0.35rem;}
.programa-calendario-task--extra-products{border-left-color:#e3b341;}
.programa-cal-exec-list{list-style:none;margin:0.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:0.12rem;}
.programa-cal-exec-item{font-size:0.62rem;line-height:1.2;color:var(--ui-text-muted,#8b949e);display:flex;align-items:baseline;gap:0.2rem;min-width:0;}
.programa-cal-exec-mark{font-size:0.55rem;font-weight:700;flex-shrink:0;line-height:1;}
.programa-cal-exec-item--done .programa-cal-exec-mark{color:#3fb950;}
.programa-cal-exec-item--partial .programa-cal-exec-mark{color:#d29922;}
.programa-cal-exec-item--extra .programa-cal-exec-mark{color:#e3b341;}
.programa-cal-exec-item--planned .programa-cal-exec-mark{color:#6e7681;}
.programa-cal-exec-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ui-text,#c9d1d9);}
.programa-cal-exec-qty{flex-shrink:0;font-variant-numeric:tabular-nums;opacity:0.9;}
.programa-cal-exec-item--more{font-style:italic;opacity:0.75;}
.programa-dss-group--execution{margin-top:0.65rem;padding-top:0.5rem;border-top:1px dashed var(--ui-border-subtle,#21262d);}
.programa-op-edit,.programa-op-add,.programa-op-resched{margin-top:0.45rem;}
.programa-op-edit-form,.programa-op-add-form,.programa-op-resched-form{display:flex;flex-direction:column;gap:0.45rem;margin-top:0.45rem;padding:0.55rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);}
.programa-op-edit-form label,.programa-op-add-form label,.programa-op-resched-form label{font-size:0.88rem;}
.programa-op-source{font-size:0.72rem;padding:0.1rem 0.35rem;border-radius:4px;margin-left:0.35rem;vertical-align:middle;font-weight:600;}
.programa-op-source--manual{background:rgba(88,166,255,0.15);color:var(--ui-link,#58a6ff);}
.programa-op-source--adjusted{background:rgba(227,179,65,0.15);color:var(--ui-warn,#e3b341);}
.programa-op-btn--cancel{opacity:0.85;}
.programa-calendario-wrap{display:flex;flex-direction:column;gap:1rem;margin-top:0.75rem;}
.programa-calendario-week{padding:0.85rem 1rem;}
.programa-calendario-week-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.5rem;margin-bottom:0.75rem;}
.programa-calendario-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0.45rem;align-items:start;}
@media(max-width:900px){.programa-calendario-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:520px){.programa-calendario-grid{grid-template-columns:1fr;}}
.programa-calendario-day{border:1px solid var(--ui-border,#30363d);border-radius:8px;padding:0.45rem 0.5rem;min-height:5.5rem;background:var(--ui-bg-alt,#0d1117);display:flex;flex-direction:column;}
.programa-calendario-day--today{border-color:var(--ui-link,#388bfd);box-shadow:0 0 0 1px rgba(56,139,253,0.25);}
.programa-calendario-day--weekend{opacity:0.92;}
.programa-calendario-day-head{display:flex;align-items:baseline;gap:0.35rem;margin-bottom:0.35rem;}
.programa-calendario-day-name{font-size:0.72rem;text-transform:uppercase;color:var(--ui-text-muted,#8b949e);font-weight:600;}
.programa-calendario-day-num{font-size:1rem;font-weight:700;color:var(--ui-text,#e6edf3);}
.programa-calendario-day-count{margin-left:auto;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);}
.programa-calendario-task-list{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:0.3rem;}
.programa-calendario-task{font-size:0.78rem;padding:0.35rem 0.4rem;border-radius:5px;border-left:3px solid var(--ui-border,#484f58);background:var(--ui-bg-surface,#161b22);display:flex;flex-direction:column;gap:0.3rem;}
.programa-calendario-task-head{display:flex;align-items:flex-start;gap:0.25rem;width:100%;}
.programa-calendario-task-body{flex:1;min-width:0;}
.programa-calendario-task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:0.25rem 0.45rem;}
.programa-calendario-task--irrigation{border-left-color:#58a6ff;}
.programa-calendario-task--fertilization{border-left-color:#3fb950;}
.programa-calendario-task--crop_protection{border-left-color:#d29922;}
.programa-calendario-task--generic_application{border-left-color:#d4a72c;}
.programa-calendario-task--done{opacity:0.65;}
.programa-calendario-task-title{display:block;font-weight:600;color:var(--ui-text,#e6edf3);line-height:1.3;word-break:break-word;white-space:normal;}
.programa-calendario-task-detail{margin:0.2rem 0 0;font-size:0.72rem;line-height:1.35;word-break:break-word;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.programa-calendario-empty{margin:0;font-size:0.78rem;flex:1;}
.programa-calendario-task-edit summary{cursor:pointer;font-size:0.72rem;color:var(--ui-text-muted,#8b949e);}
.programa-calendario-head{margin-bottom:1rem;}
.programa-dnd-handle{border:none;background:transparent;color:var(--ui-text-muted,#8b949e);cursor:grab;padding:0 0.25rem 0 0;font-size:0.95rem;line-height:1;flex-shrink:0;touch-action:none;}
.programa-dnd-handle:active{cursor:grabbing;}
.programa-agenda-task-prio{display:inline-block;margin-bottom:0.35rem;}
.programa-dnd-drop--over{outline:2px dashed var(--ui-link,#388bfd);outline-offset:2px;background:rgba(56,139,253,0.08)!important;}
.programa-dnd-drop--busy{opacity:0.85;pointer-events:none;}
.programa-dnd-task--dragging{opacity:0.45;}
.programa-dnd-task--pending{opacity:0.6;pointer-events:none;}
.programa-dnd-toast{position:fixed;bottom:1.25rem;right:1.25rem;z-index:9000;padding:0.65rem 1rem;border-radius:8px;background:var(--ui-bg-surface,#161b22);border:1px solid var(--ui-success,#238636);color:var(--ui-text,#e6edf3);font-size:0.92rem;box-shadow:0 8px 24px rgba(0,0,0,0.35);opacity:0;transform:translateY(0.5rem);transition:opacity 0.2s,transform 0.2s;pointer-events:none;}
.programa-dnd-toast--visible{opacity:1;transform:translateY(0);}
.programa-dnd-toast--error{border-color:var(--ui-danger,#f85149);}
.lote-config-nav{margin-bottom:0.75rem;}
.lote-config-section{margin-bottom:1rem;}
.lote-config-formula-list{margin:0;padding-left:1.1rem;line-height:1.55;}
.lote-config-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.lote-config-fieldset{border:1px solid var(--ui-border-subtle,#21262d);border-radius:8px;padding:0.75rem 1rem;margin:0;}
.lote-config-fieldset legend{font-weight:600;font-size:0.88rem;padding:0 0.35rem;}
.lote-config-check{display:flex;align-items:center;gap:0.45rem;margin:0.35rem 0;}
.lote-config-canopy-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.65rem 1rem;padding:0.5rem 0;border-bottom:1px solid var(--ui-border-subtle,#21262d);}
.lote-config-canopy-row:last-child{border-bottom:none;}
.lote-config-inline-form{display:flex;flex-wrap:wrap;align-items:flex-end;gap:0.45rem 0.65rem;margin:0;}
.lote-config-inline-form label{margin:0;font-size:0.88rem;}
.lote-config-table-wrap{overflow-x:auto;margin-top:0.5rem;}
.lote-config-table{font-size:0.88rem;}
.lote-config-product-form{margin-top:0.5rem;max-width:28rem;}
.lote-config-nutrient-row{display:flex;flex-wrap:wrap;align-items:center;gap:0.35rem 0.5rem;margin:0.35rem 0;}
.lote-config-nutrient-row select{min-width:10rem;}
.lote-config-readonly-dl{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:0.25rem 0.65rem;margin:0;font-size:0.92rem;}
.lote-config-readonly-dl dt{color:var(--ui-text-muted,#8b949e);}
.lote-config-readonly-dl dd{margin:0;}
.lote-config-badge{display:inline-block;font-size:0.75rem;font-weight:600;padding:0.15rem 0.45rem;border-radius:999px;background:var(--ui-bg-hover,#21262d);color:var(--ui-text-muted,#8b949e);}
.lote-config-badge--lote{background:rgba(35,134,54,0.2);color:var(--ui-success,#3fb950);}
.lote-config-badge--crop{background:rgba(88,166,255,0.15);color:var(--ui-link,#58a6ff);}
.lote-config-badge--auto{background:rgba(227,179,65,0.15);color:var(--ui-warn,#e3b341);}
@media (max-width:640px){
  .programa-toolbar-inner{flex-direction:column;align-items:stretch;}
  .programa-toolbar-actions{margin-left:0;}
  .programa-toolbar-actions .btn-secondary{display:block;width:100%;box-sizing:border-box;}
}
/* Almacén — formularios y tablas con más aire */
.almacen-page{padding-bottom:2.5rem;}
.almacen-back-link{display:inline-block;margin:0 0 1.25rem;font-size:0.95rem;}
.almacen-back-link a{color:var(--ui-link,#58a6ff);text-decoration:none;}
.almacen-back-link a:hover{text-decoration:underline;}
.almacen-nav-grid{display:grid;gap:0.85rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin:1.25rem 0 1.75rem;}
.almacen-nav-tile{display:block;padding:0.95rem 1rem;border-radius:10px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-surface,#161b22);text-decoration:none;color:var(--ui-text,#e6edf3);transition:border-color .15s,background .15s;line-height:1.45;}
.almacen-nav-tile:hover{border-color:#388bfd66;background:var(--ui-bg-hover,#1c2128);}
.almacen-nav-tile strong{display:block;font-size:0.95rem;color:var(--ui-link,#58a6ff);margin-bottom:0.35rem;}
.almacen-nav-tile span{display:block;font-size:0.8rem;color:var(--ui-text-muted,#8b949e);font-weight:400;}
.almacen-section-title{margin:1.75rem 0 0.85rem;font-size:1.1rem;font-weight:600;color:var(--ui-text-secondary,#c9d1d9);}
.almacen-section-title:first-of-type{margin-top:0.5rem;}
.almacen-card{border:1px solid var(--ui-border,#30363d);border-radius:10px;padding:1.35rem 1.5rem;margin:1.25rem 0;background:var(--ui-bg-surface,#161b22);color:var(--ui-text,#e6edf3);max-width:48rem;}
.almacen-card--wide{max-width:56rem;}
.almacen-card--full{max-width:100%;}
.almacen-form{display:flex;flex-direction:column;gap:0;}
.almacen-form-section{margin:0 0 1.5rem;padding:0 0 1.5rem;border-bottom:1px solid var(--ui-border-subtle,#21262d);}
.almacen-form-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0;}
.almacen-form-section-title{margin:0 0 1rem;font-size:0.82rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--ui-text-muted,#8b949e);}
.almacen-form-grid{display:grid;gap:1rem 1.5rem;grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));align-items:start;}
.almacen-field--full{grid-column:1 / -1;}
.almacen-field{display:flex;flex-direction:column;gap:0.4rem;margin:0;}
.almacen-field label,.almacen-field > span:first-child{font-size:0.8125rem;color:var(--ui-text-muted,#8b949e);font-weight:500;}
.almacen-field input,.almacen-field select,.almacen-field textarea{width:100%;max-width:none;padding:0.55rem 0.65rem;border-radius:8px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-input,#0d1117);color:var(--ui-text,#e6edf3);font-size:0.95rem;}
.almacen-field textarea{min-height:4.5rem;resize:vertical;font-family:inherit;line-height:1.45;}
.almacen-field input:focus,.almacen-field select:focus,.almacen-field textarea:focus{outline:none;border-color:var(--ui-link,#58a6ff);box-shadow:0 0 0 2px #1f6feb33;}
.almacen-field-hint{margin:0;font-size:0.8rem;color:var(--ui-text-muted,#6e7681);line-height:1.4;}
.almacen-actions{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--ui-border-subtle,#21262d);display:flex;flex-wrap:wrap;gap:0.75rem;align-items:center;}
.almacen-table-wrap{overflow-x:auto;margin:0.75rem 0 0;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid var(--ui-border,#30363d);}
.almacen-table{width:100%;border-collapse:collapse;font-size:0.92rem;}
.almacen-table th,.almacen-table td{padding:0.65rem 0.85rem;border-bottom:1px solid var(--ui-border-subtle,#21262d);text-align:left;vertical-align:top;}
.almacen-table thead th{background:var(--ui-bg-alt,#0d1117);color:var(--ui-text-secondary,#c9d1d9);font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;}
.almacen-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 8%,transparent);}
.almacen-table tbody tr:last-child td{border-bottom:none;}
.almacen-lines-head{margin:1.25rem 0 0.75rem;color:var(--ui-text,#e6edf3);}
.almacen-line-card{border:1px solid var(--ui-border,#30363d);border-radius:8px;padding:1rem 1.1rem;margin-bottom:1rem;background:var(--ui-bg-alt,#0d1117);color:var(--ui-text,#e6edf3);}
.almacen-line-card summary{cursor:pointer;font-size:0.85rem;font-weight:600;color:var(--ui-link,#58a6ff);list-style:none;margin:0 0 0.5rem;}
.almacen-line-card summary::-webkit-details-marker{display:none;}
.almacen-line-card[open] summary{margin-bottom:0.35rem;}
.almacen-line-card legend{font-size:0.8rem;font-weight:600;color:var(--ui-link,#58a6ff);padding:0 0.35rem;}
.almacen-line-grid{display:grid;gap:0.85rem 1rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin-top:0.65rem;}
.almacen-lot-block{grid-column:1/-1;padding:0.75rem 0.85rem;border:1px dashed var(--ui-border-subtle,#21262d);border-radius:8px;background:color-mix(in srgb,var(--ui-bg-alt,#0d1117) 40%,transparent);}
.almacen-lot-toggle{display:flex;align-items:center;gap:0.5rem;font-size:0.875rem;color:var(--ui-text-secondary,#c9d1d9);cursor:pointer;margin:0;}
.almacen-lot-toggle input[type=checkbox]{width:auto;flex-shrink:0;}
.almacen-lot-fields{display:grid;gap:0.65rem 1rem;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));margin-top:0.75rem;}
.almacen-lot-fields[hidden]{display:none!important;}
.almacen-lot-fields input[readonly]{opacity:0.85;cursor:default;background:var(--ui-bg-alt,#0d1117);}
.almacen-product-card{grid-column:1/-1;padding:0.85rem 1rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);}
.almacen-product-card[hidden]{display:none!important;}
.almacen-product-name{margin:0 0 0.35rem;font-size:1rem;font-weight:600;color:var(--ui-text,#e6edf3);}
.almacen-product-meta{margin:0;font-size:0.85rem;}
.almacen-product-context{margin:0.65rem 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:0.5rem 1.25rem;font-size:0.85rem;color:var(--ui-text-secondary,#c9d1d9);}
.almacen-product-context[hidden]{display:none!important;}
.almacen-product-context li{margin:0;}
.almacen-insumo-picker{position:relative;grid-column:1/-1;}
.almacen-picker-results{position:absolute;left:0;right:0;top:100%;z-index:20;margin-top:4px;max-height:14rem;overflow:auto;border:1px solid var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-surface,#0d1117);box-shadow:0 8px 24px rgba(0,0,0,0.35);color:var(--ui-text,#e6edf3);}
.almacen-picker-results[hidden]{display:none!important;}
.almacen-picker-item{display:block;width:100%;text-align:left;padding:0.5rem 0.65rem;border:none;border-bottom:1px solid var(--ui-border-subtle,#21262d);background:transparent;color:var(--ui-text,#e6edf3);font-size:0.88rem;cursor:pointer;}
.almacen-picker-item:hover{background:var(--ui-bg-hover,#161b22);}
.almacen-picker-item:last-child{border-bottom:none;}
.almacen-picker-empty{margin:0;padding:0.6rem 0.75rem;font-size:0.85rem;color:var(--ui-text-muted,#8b949e);}
.almacen-lines-hint{font-size:0.82rem;color:var(--ui-text-muted,#8b949e);margin:0 0 0.75rem;}
.almacen-line-wrap[hidden]{display:none!important;}
.almacen-cost-block{grid-column:1/-1;display:flex;flex-direction:column;gap:0.65rem;padding:0.75rem 0.85rem;border:1px dashed var(--ui-border,#30363d);border-radius:8px;background:var(--ui-bg-alt,#0d1117);}
.almacen-cost-block-label{font-size:0.8125rem;color:var(--ui-text-muted,#8b949e);font-weight:600;}
.almacen-cost-mode{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;}
.almacen-cost-mode-opt{display:inline-flex;align-items:center;gap:0.35rem;font-size:0.875rem;color:var(--ui-text-secondary,#c9d1d9);cursor:pointer;margin:0;}
.almacen-cost-mode-opt input{margin:0;}
.js-cost-unit-wrap[hidden],.js-cost-total-wrap[hidden]{display:none!important;}
.js-qty-plan-wrap[hidden],.js-qty-actual-wrap[hidden]{display:none!important;}
.almacen-qty-ref-card{padding:0.65rem 0.75rem;border-radius:8px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-alt,#0d1117);margin-bottom:0.35rem;}
.almacen-qty-ref-line{margin:0.25rem 0 0;font-size:0.9rem;color:var(--ui-text-secondary,#c9d1d9);}
.almacen-agenda-notice{margin:0 0 1rem;padding:0.65rem 0.85rem;border-radius:8px;border:1px solid var(--ui-border,#30363d);background:var(--ui-bg-alt,#0d1117);color:var(--ui-text-secondary,#c9d1d9);font-size:0.9rem;line-height:1.45;}
.phyt-product-highlight{outline:2px solid #58a6ff;outline-offset:2px;border-radius:6px;}
.almacen-insumos-actions{display:flex;flex-wrap:wrap;gap:0.35rem 0.75rem;align-items:center;}
.almacen-insumos-actions a{white-space:nowrap;}
@media (max-width:720px){
  .almacen-card{padding:1.1rem 1rem;}
  .almacen-form-grid{grid-template-columns:1fr;}
}

/* Reporte de costos: estructura + plan vs real */
.cr-filter{display:flex;flex-wrap:wrap;gap:0.75rem;align-items:flex-end;}
.cr-filter label{margin:0;}
.cr-table-wrap{overflow-x:auto;margin:0.75rem 0 1.5rem;-webkit-overflow-scrolling:touch;border-radius:8px;border:1px solid #30363d;}
.cr-table{margin:0;font-size:0.92rem;}
.cr-table thead th{background:#0d1117;color:#c9d1d9;font-weight:600;font-size:0.78rem;text-transform:uppercase;letter-spacing:0.04em;white-space:nowrap;}
.cr-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.cr-cat-row td{background:#0d1117;}
.cr-concept-row .cr-concept-label{padding-left:1.5rem;color:#c9d1d9;}
.cr-concept-row td{color:#8b949e;}
.cr-total-row td{background:#161b22;font-weight:700;color:#e6edf3;border-top:2px solid #30363d;}
.cr-bar-col{width:9rem;min-width:7rem;}
.cr-bar{display:block;height:0.55rem;border-radius:4px;background:#0d1117;border:1px solid #30363d;overflow:hidden;}
.cr-bar-fill{display:block;height:100%;background:#388bfd;}
.cr-bar--muted .cr-bar-fill{background:#388bfd88;}
.cr-badge{display:inline-block;padding:0.1rem 0.45rem;border-radius:5px;font-size:0.82rem;font-weight:600;font-variant-numeric:tabular-nums;}
.cr-badge--over{background:#da363333;border:1px solid #da363388;color:#f85149;}
.cr-badge--ok{background:#23863633;border:1px solid #23863688;color:#3fb950;}
.cr-badge--warn{background:#d2992233;border:1px solid #d2992288;color:#e3b341;}
.cr-badge--none{background:#21262d;border:1px solid #30363d;color:#8b949e;}
button.cr-spent-trigger{background:none;border:none;color:inherit;font:inherit;font-variant-numeric:tabular-nums;padding:0;cursor:pointer;text-decoration:underline dotted;text-underline-offset:0.15em;}
button.cr-spent-trigger:hover{color:#58a6ff;}
.cr-spent-dialog{max-width:min(640px,calc(100vw - 2rem));width:100%;padding:0;border:1px solid #30363d;border-radius:10px;background:#161b22;color:#e6edf3;box-shadow:0 16px 48px rgba(0,0,0,0.45);}
.cr-spent-dialog::backdrop{background:rgba(1,4,9,0.72);}
.cr-spent-dialog-form{margin:0;padding:0;}
.cr-spent-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:0.75rem;padding:0.85rem 1rem;border-bottom:1px solid #30363d;}
.cr-spent-dialog-title{margin:0;font-size:1rem;font-weight:600;}
.cr-spent-dialog-close{background:none;border:none;color:#8b949e;font-size:1.35rem;line-height:1;cursor:pointer;padding:0 0.15rem;}
.cr-spent-dialog-close:hover{color:#e6edf3;}
.cr-spent-dialog-body{padding:0.75rem 1rem;max-height:min(60vh,480px);overflow:auto;}
.cr-spent-dialog-foot{padding:0.65rem 1rem;border-top:1px solid #30363d;display:flex;justify-content:flex-end;}
.cr-spent-detail-wrap{margin:0;}
.cr-spent-detail-table{margin:0;font-size:0.88rem;}
.cr-spent-detail-sub{display:block;margin-top:0.2rem;font-size:0.82rem;}
.cr-spent-detail-rubro{display:block;margin-top:0.15rem;font-size:0.78rem;opacity:0.85;}
.cr-empty-card{margin:1rem 0;}
.cr-action-list{margin:0.5rem 0 0;padding-left:1.25rem;line-height:1.65;}
.cr-action-list li{margin:0.35rem 0;}
.cr-glossary{margin:0 0 1rem;}
.cr-glossary summary{cursor:pointer;font-weight:600;}
.cr-glossary-list{margin:0.75rem 0 0;display:grid;gap:0.5rem 1rem;}
.cr-glossary-list dt{font-weight:600;color:#c9d1d9;}
.cr-glossary-list dd{margin:0 0 0.5rem;color:#8b949e;line-height:1.45;}
.cr-setup-card{border-left:4px solid #d29922;margin:1rem 0 1.5rem;}
.cr-setup-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));margin-bottom:1rem;}
.cr-setup-path{padding:0.75rem 0.85rem;border:1px solid #30363d;border-radius:8px;background:#0d1117;}
.cr-setup-path strong{color:#e3b341;}
.cr-setup-steps{margin:0.5rem 0 0;padding-left:1.2rem;line-height:1.55;font-size:0.9rem;}
.cr-config-cell{font-size:0.88rem;white-space:nowrap;}
.lots-filter label{display:inline-flex;align-items:center;gap:0.5rem;margin:0;}
.lots-sector-block{margin-bottom:1.75rem;}
.lots-sector-title{font-size:1.05rem;margin:0 0 0.5rem;display:flex;align-items:baseline;gap:0.65rem;flex-wrap:wrap;}
.lots-sector-title a{color:#58a6ff;text-decoration:none;}
.lots-sector-title a:hover{text-decoration:underline;}
.lots-sector-meta{font-size:0.85rem;font-weight:400;}
.lots-sector-badge{display:inline-block;margin-right:0.45rem;padding:0.12rem 0.45rem;border-radius:5px;font-size:0.78rem;font-weight:600;background:#21262d;border:1px solid #30363d;color:#8b949e;vertical-align:middle;}
.movement-add-concept{margin-top:1rem;border-left:4px solid #388bfd;}
.movement-add-concept summary{padding:0.15rem 0;}

@media (max-width:900px){
  .programa-table--stack thead{display:none;}
  .programa-table--stack tbody tr{display:block;margin-bottom:1.25rem;border:1px solid var(--ui-border,#30363d);border-radius:8px;padding:0.65rem 0.85rem;background:var(--ui-bg-alt,#0d1117);color:var(--ui-text,#e6edf3);}
  .programa-table--stack tbody td{display:block;border:none;padding:0.55rem 0;color:inherit;}
  .programa-table--stack tbody td:not(:last-child){border-bottom:1px solid var(--ui-border-subtle,#21262d);}
  .programa-table--stack tbody td::before{content:attr(data-label);display:block;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted,#8b949e);margin-bottom:0.35rem;}
  .programa-seg{max-width:none;}
}

/* —— Interfaz clara: hubs, navegación y flujo de trabajo —— */
.nav-group--home{border-color:#388bfd55;}
.nav-group--money{border-color:#23863644;}
.nav-link--primary{color:#58a6ff!important;font-weight:600;}
.ui-back{margin:0 0 0.75rem;font-size:0.92rem;}
.ui-back a{color:#58a6ff;text-decoration:none;}
.ui-back a:hover{text-decoration:underline;}
.hub-section{margin:2rem 0 1.25rem;}
.hub-section:first-of-type{margin-top:0.5rem;}
.hub-section-title{margin:0 0 0.35rem;font-size:1.15rem;font-weight:600;color:var(--ui-text,#e6edf3);}
.hub-section-desc{margin:0 0 0.85rem;color:#8b949e;font-size:0.9rem;max-width:40rem;line-height:1.45;}
.hub-grid{display:grid;gap:0.85rem;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));}
.hub-tile{display:block;padding:1rem 1.05rem;border-radius:10px;border:1px solid #30363d;background:#161b22;text-decoration:none;color:inherit;transition:border-color .15s,background .15s,transform .1s;line-height:1.4;}
.hub-tile:hover{border-color:#388bfd66;background:#1c2128;transform:translateY(-1px);}
.hub-tile strong{display:block;font-size:0.98rem;color:#58a6ff;margin-bottom:0.35rem;}
.hub-tile span{display:block;font-size:0.82rem;color:#8b949e;font-weight:400;}
.hub-tile--highlight{border-color:#23863666;background:#2386360d;}
.hub-tile--highlight strong{color:#3fb950;}
.workflow-steps{list-style:none;margin:0;padding:0;counter-reset:wf;}
.workflow-steps li{counter-increment:wf;display:flex;gap:0.85rem;align-items:flex-start;padding:0.75rem 0;border-bottom:1px solid #21262d;}
.workflow-steps li:last-child{border-bottom:none;}
.workflow-steps li::before{content:counter(wf);flex-shrink:0;width:1.65rem;height:1.65rem;line-height:1.65rem;text-align:center;border-radius:50%;background:#21262d;color:#58a6ff;font-size:0.78rem;font-weight:700;}
.workflow-steps a{color:#58a6ff;text-decoration:none;font-weight:600;}
.workflow-steps a:hover{text-decoration:underline;}
.workflow-steps p{margin:0.15rem 0 0;font-size:0.85rem;color:#8b949e;}
.flash .warning{background:#d2992233;border:1px solid #d29922;}
.settings-group-title{margin:1.75rem 0 0.65rem;font-size:0.72rem;text-transform:uppercase;letter-spacing:0.08em;color:#6e7681;font-weight:600;}
.wr-form-grid{display:grid;gap:0.75rem 1rem;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:0.5rem 0 1rem;}
.wr-form-grid--4{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));}
.wr-detail-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));margin:1rem 0;}
.wr-detail-nav{margin:1rem 0;}
.wr-autonomy-big{font-size:1.75rem;margin:0.35rem 0;color:#3fb950;}
.wr-autonomy-inline{margin:0.35rem 0;}
.wr-tank-diagram{position:relative;height:120px;margin-top:1rem;border:2px solid #388bfd55;border-radius:6px;background:linear-gradient(180deg,#0d1117 0%,#161b22 100%);overflow:hidden;}
.wr-tank-fill{position:absolute;bottom:0;left:0;right:0;height:var(--wr-fill,60%);background:linear-gradient(180deg,#388bfd88,#238636aa);transition:height .3s;}
.wr-tank-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:0.85rem;font-weight:600;color:#e6edf3;text-shadow:0 1px 2px #0008;}
.wr-embed-card{margin-bottom:0.75rem;}
.wr-lote-checkboxes{display:flex;flex-wrap:wrap;gap:0.5rem 1rem;margin:0.5rem 0 1rem;}
.wr-check-label{display:flex;align-items:center;gap:0.35rem;font-size:0.9rem;}
.wr-inline-input{width:100%;max-width:100%;padding:0.25rem 0.4rem;font-size:inherit;}
.wr-num-input{text-align:right;max-width:8rem;}
.wr-over{color:#f85149;}
.wr-total-row th{background:#21262d;}
.wr-danger{color:#f85149;}
.wr-form-actions{display:flex;flex-wrap:wrap;gap:0.75rem;margin-top:1rem;}
.wr-geom-preview{margin:1rem 0;padding:0.85rem 1rem;}
.wr-capex-summary{margin-bottom:1rem;}
.wr-capex-lines{margin:1rem 0;}
.wr-capex-lines-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0.75rem;margin-bottom:0.5rem;}
.wr-capex-table .wr-inline-input{min-width:5rem;}
.wr-capex-table select{max-width:100%;}
.wr-capex-preview-table{margin-top:0.75rem;}
.wr-capex-detail{margin-top:1rem;}
.wr-capex-qty-cell{min-width:9rem;}
.wr-capex-qty-hint{display:block;font-size:0.82rem;line-height:1.35;padding:0.35rem 0.2rem;white-space:normal;}
.wr-capex-qty[hidden]{display:none;}
.wr-capex-qty-help{margin-top:-0.25rem;margin-bottom:0.75rem;}
.wr-form-actions .btn-secondary{margin-right:0;}
@media (max-width:720px){
  .nav-group{width:100%;}
  .hub-grid{grid-template-columns:1fr;}
}

/* —— Laboratorio agua/suelo (ficha lote) —— */
.lab-panel{margin-top:0;padding:1.1rem 1.2rem;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-bg-surface);}
.lab-panel__head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:0.75rem 1rem;margin-bottom:0.85rem;}
.lab-panel__title{margin:0;font-size:1.15rem;font-weight:650;color:var(--ui-text);}
.lab-panel__lead{margin:0.35rem 0 0;max-width:42rem;font-size:0.9rem;color:var(--ui-text-secondary);line-height:1.45;}
.lab-panel__subtitle{margin:1.1rem 0 0.55rem;font-size:0.78rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--ui-text-muted);}
.lab-panel__pdf{white-space:nowrap;}
.lab-sample-meta{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:0.5rem 1rem;padding:0.7rem 0.85rem;border-radius:8px;border:1px solid var(--ui-border-subtle);background:var(--ui-bg-alt);}
.lab-sample-meta__ref{display:block;font-size:1.05rem;font-weight:700;color:var(--ui-text);}
.lab-sample-meta__bits{display:flex;flex-wrap:wrap;gap:0.35rem 0.85rem;margin-top:0.25rem;font-size:0.82rem;color:var(--ui-text-muted);}
.lab-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:0.55rem;}
.lab-status-card{padding:0.65rem 0.75rem;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-bg-alt);min-height:4.5rem;}
.lab-status-card__label{display:block;font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted);}
.lab-status-card__value{display:block;margin-top:0.25rem;font-size:0.98rem;font-weight:700;line-height:1.25;color:var(--ui-text);}
.lab-status-card__sub{display:block;margin-top:0.2rem;font-size:0.78rem;color:var(--ui-text-secondary);}
.lab-status-card--ok{border-color:color-mix(in srgb,var(--ui-success) 45%,var(--ui-border));background:color-mix(in srgb,var(--ui-success) 10%,var(--ui-bg-alt));}
.lab-status-card--warn{border-color:color-mix(in srgb,var(--ui-warn) 45%,var(--ui-border));background:color-mix(in srgb,var(--ui-warn) 10%,var(--ui-bg-alt));}
.lab-status-card--bad{border-color:color-mix(in srgb,var(--ui-danger) 50%,var(--ui-border));background:color-mix(in srgb,var(--ui-danger) 12%,var(--ui-bg-alt));}
.lab-status-card--bad .lab-status-card__value{color:var(--ui-danger);}
.lab-status-card--warn .lab-status-card__value{color:var(--ui-warn);}
.lab-metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:0.45rem;margin-top:0.75rem;}
.lab-metric{padding:0.45rem 0.55rem;border-radius:6px;border:1px solid var(--ui-border-subtle);background:var(--ui-bg-page);}
.lab-metric span{display:block;font-size:0.72rem;color:var(--ui-text-muted);}
.lab-metric strong{display:block;margin-top:0.15rem;font-size:0.9rem;color:var(--ui-text);}
.lab-flag-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0.4rem;}
.lab-flag-list--soft{margin-top:0.4rem;}
.lab-flag{display:flex;flex-direction:column;gap:0.15rem;padding:0.5rem 0.65rem;border-radius:6px;border:1px solid var(--ui-border);background:var(--ui-bg-alt);font-size:0.88rem;line-height:1.4;}
.lab-flag strong{font-size:0.72rem;text-transform:uppercase;letter-spacing:0.04em;color:var(--ui-text-muted);}
.lab-flag--bad{border-left:3px solid var(--ui-danger);}
.lab-flag--warn{border-left:3px solid var(--ui-warn);}
.lab-flag--neutral{border-left:3px solid var(--ui-border);}
.lab-values{margin-top:0.35rem;}
.lab-values__lead{margin:0 0 0.65rem;}
.lab-param-group--readonly{background:var(--ui-bg-page);}
.lab-analyte-readonly__item small{font-weight:500;margin-left:0.25rem;color:var(--ui-text-muted);}
.lab-loq{color:var(--ui-warn)!important;}
.lab-readonly-analytes{margin-top:0.85rem;}
.lab-analyte-readonly{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:0.4rem;margin-top:0.15rem;}
.lab-analyte-readonly__item{padding:0.5rem 0.6rem;border-radius:6px;border:1px solid var(--ui-border-subtle);font-size:0.85rem;background:var(--ui-bg-alt);}
.lab-analyte-readonly__item span{display:block;color:var(--ui-text-muted);font-size:0.75rem;}
.lab-analyte-readonly__item strong{display:block;margin-top:0.2rem;font-size:1rem;color:var(--ui-text);}
.lab-analyte-readonly__item em{display:block;font-style:normal;font-size:0.75rem;color:var(--ui-text-secondary);margin-top:0.1rem;}
.lab-history{margin-top:1rem;}
.lab-history-table-wrap{overflow-x:auto;margin-top:0.5rem;}
.lab-history-table tr.is-active{background:color-mix(in srgb,var(--ui-accent, #58a6ff) 12%,transparent);}
.lab-history-current{font-size:0.78rem;font-weight:700;color:var(--ui-text-muted);}
.lab-empty{margin:0.5rem 0 0;padding:0.75rem;border-radius:8px;border:1px dashed var(--ui-border);}
.lab-editor{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--ui-border);}
.lab-editor__meta{margin-bottom:0.65rem;}
.lab-editor__new{display:flex;align-items:flex-start;gap:0.5rem;margin:0 0 0.85rem;font-size:0.88rem;color:var(--ui-text-secondary);}
.lab-editor__actions{margin-top:0.85rem;}
.lab-params{margin-top:0.35rem;}
.lab-param-group{margin-top:0.85rem;padding:0.75rem;border-radius:8px;border:1px solid var(--ui-border-subtle);background:var(--ui-bg-alt);}
.lab-param-group__title{margin:0 0 0.55rem;font-size:0.8rem;font-weight:650;color:var(--ui-text-secondary);}
.lab-upload{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--ui-border);}
.lab-upload__file{display:flex;flex-direction:column;gap:0.35rem;margin-bottom:0.65rem;}
@media (max-width:640px){
  .lab-status-grid{grid-template-columns:1fr 1fr;}
}

.lab-dss-report{margin-top:1rem;padding-top:0.85rem;border-top:1px solid var(--ui-border);}
.lab-verdict{display:flex;flex-direction:column;gap:0.25rem;padding:0.75rem 0.85rem;border-radius:8px;border:1px solid var(--ui-border);background:var(--ui-bg-alt);margin-bottom:0.75rem;}
.lab-verdict strong{font-size:1rem;}
.lab-verdict--usable_con_manejo,.lab-verdict--usable_con_manejo{border-left:4px solid var(--ui-success);}
.lab-verdict--requiere_monitoreo{border-left:4px solid var(--ui-warn);}
.lab-verdict--riesgo_elevado,.lab-verdict--requiere_correccion,.lab-verdict--no_recomendada_sin_tratamiento{border-left:4px solid var(--ui-danger);}
.lab-volume-form{display:flex;flex-wrap:wrap;gap:0.65rem 0.85rem;align-items:flex-end;margin:0.5rem 0 0.35rem;}
.lab-volume-form label{margin:0;font-size:0.85rem;}
.lab-dss-sections details{margin:0.45rem 0;padding:0.45rem 0.55rem;border:1px solid var(--ui-border-subtle);border-radius:6px;background:var(--ui-bg-page);}
.lab-dss-sections summary{cursor:pointer;font-weight:650;font-size:0.88rem;color:var(--ui-text);}
