
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#ffffff;--bg2:#f4f4f2;--bg3:#ebebea;
  --text:#1a1a1a;--text2:#5f5e5a;--text3:#9c9a92;
  --border:rgba(0,0,0,0.12);--border2:rgba(0,0,0,0.2);
  --green:#3B6D11;--green-bg:#EAF3DE;
  --amber:#854F0B;--amber-bg:#FAEEDA;
  --red:#A32D2D;--red-bg:#FCEBEB;
  --blue:#185FA5;--blue-bg:#E6F1FB;
  --radius:8px;--radius-lg:12px;
}
@media(prefers-color-scheme:dark){:root{
  --bg:#1c1c1a;--bg2:#252523;--bg3:#2e2e2b;
  --text:#e8e6df;--text2:#9c9a92;--text3:#5f5e5a;
  --border:rgba(255,255,255,0.1);--border2:rgba(255,255,255,0.2);
  --green:#97C459;--green-bg:#173404;
  --amber:#EF9F27;--amber-bg:#412402;
  --red:#F09595;--red-bg:#501313;
  --blue:#85B7EB;--blue-bg:#042C53;
}}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;background:var(--bg2);color:var(--text);min-height:100vh}
input,select,textarea,button{font-family:inherit;font-size:14px;color:var(--text)}
input,select,textarea{width:100%;padding:9px 12px;border:0.5px solid var(--border2);border-radius:var(--radius);background:var(--bg);outline:none;transition:border-color .15s}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}
input.err,select.err{border-color:var(--red)!important;background:var(--red-bg)}
textarea{resize:vertical;min-height:56px}
button{cursor:pointer;border-radius:var(--radius);transition:opacity .15s}
button:active{opacity:.8}

/* layout */
.app{max-width:680px;margin:0 auto;padding:1rem 1rem 80px}
.topbar{background:var(--bg);border-bottom:0.5px solid var(--border);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}
.topbar-title{font-size:16px;font-weight:500}
.topbar-sync{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:6px}
.sync-dot{width:7px;height:7px;border-radius:50%;background:var(--green)}
.sync-dot.offline{background:var(--amber)}
.tabs{display:flex;background:var(--bg);border-bottom:0.5px solid var(--border);position:sticky;top:53px;z-index:99;gap:0;overflow:visible}
.tab-group{position:relative;flex:1}
.tab-group-btn{width:100%;padding:11px 4px;font-size:12px;text-align:center;cursor:pointer;color:var(--text2);border:none;background:transparent;border-bottom:2px solid transparent;transition:color .15s;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:4px}
.tab-group-btn.active,.tab-group-btn.has-active{color:var(--text);border-bottom:2px solid var(--text);font-weight:500}
.tab-group-btn .arrow{font-size:9px;opacity:.5;transition:transform .15s}
.tab-group:hover .arrow{transform:rotate(180deg)}
.tab-dropdown{display:none;position:absolute;top:100%;left:0;min-width:160px;background:var(--bg);border:.5px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);z-index:200;box-shadow:0 4px 12px rgba(0,0,0,.08)}
.tab-group:hover .tab-dropdown{display:block}
.tab-item{display:block;width:100%;padding:10px 14px;font-size:13px;text-align:left;cursor:pointer;color:var(--text2);border:none;background:transparent;border-bottom:.5px solid var(--border);white-space:nowrap;transition:background .1s}
.tab-item:last-child{border-bottom:none;border-radius:0 0 var(--radius-lg) var(--radius-lg)}
.tab-item:hover{background:var(--bg2);color:var(--text)}
.tab-item.active{color:var(--text);font-weight:500;background:var(--bg2)}
.tab{display:none}
/* mobile: menú horizontal scrollable si necesario */
@media(max-width:480px){
  .tab-group-btn{font-size:11px;padding:10px 2px}
  .tab-dropdown{min-width:140px}
  .tab-item{font-size:12px;padding:9px 12px}
}
.sec{display:none;padding:16px}.sec.active{display:block}

/* forms */
label{font-size:11px;color:var(--text2);font-weight:500;text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:4px}
label .req{color:var(--red);margin-left:2px}
.fg{display:flex;flex-direction:column;margin-bottom:0}.art-dosis-wrap.gasto-hidden{display:none!important}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px}
.g3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:10px}
.errmsg{font-size:11px;color:var(--red);margin-top:3px;min-height:14px}
.sec-hdr{font-size:11px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin:1rem 0 .6rem;display:flex;justify-content:space-between;align-items:center}
.btn-add{font-size:13px;color:var(--blue);background:none;border:none;cursor:pointer;padding:0}

/* art rows */
.art-row{background:var(--bg2);border-radius:var(--radius);padding:10px;margin-bottom:8px;border:0.5px solid var(--border)}
.art-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;gap:8px;align-items:end}
.art-labor{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin-top:8px;align-items:end}
.warn{font-size:11px;color:var(--amber);margin-top:3px;min-height:14px}
.btn-rm{width:32px;height:36px;border:0.5px solid var(--border2);border-radius:var(--radius);background:transparent;cursor:pointer;color:var(--text2);font-size:16px}
.btn-rm:hover{background:var(--red-bg);color:var(--red)}

/* actions */
.acts{display:flex;gap:8px;margin-top:1.25rem;padding-top:1.25rem;border-top:0.5px solid var(--border)}
.btn-p{flex:1;padding:11px;background:var(--text);color:var(--bg);border:none;border-radius:var(--radius);font-size:14px;font-weight:500}
.btn-s{padding:11px 18px;border:0.5px solid var(--border2);border-radius:var(--radius);background:transparent;font-size:13px;color:var(--text2)}

/* cards */
.card{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:10px}
.card-top{display:flex;justify-content:space-between;align-items:flex-start}
.card-title{font-size:15px;font-weight:500}
.card-sub{font-size:13px;color:var(--text2);margin-top:2px}
.card-meta{display:flex;gap:10px;font-size:12px;color:var(--text2);margin-top:8px;padding-top:8px;border-top:0.5px solid var(--border);flex-wrap:wrap}
.bdg{display:inline-block;font-size:11px;padding:3px 9px;border-radius:var(--radius);font-weight:500;white-space:nowrap}
.bdg-ok{background:var(--green-bg);color:var(--green)}
.bdg-w{background:var(--amber-bg);color:var(--amber)}
.bdg-d{background:var(--red-bg);color:var(--red)}
.bdg-i{background:var(--blue-bg);color:var(--blue)}

/* quick edit */
.quick-edit{background:var(--bg2);border-radius:0 0 var(--radius) var(--radius);padding:.9rem 1rem;border-top:0.5px solid var(--border)}
.quick-edit-row{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}
.expand-link{font-size:12px;color:var(--blue);cursor:pointer;background:none;border:none;padding:0;text-decoration:underline}
.edit-full{background:var(--bg2);border-radius:0 0 var(--radius-lg) var(--radius-lg);padding:1.25rem;border-top:0.5px solid var(--border)}

/* filtros */
.filtros{display:flex;gap:7px;margin-bottom:1rem;flex-wrap:wrap;align-items:center}
.filtro-btn{padding:5px 11px;font-size:12px;cursor:pointer;border:0.5px solid var(--border);border-radius:var(--radius);color:var(--text2);background:transparent;white-space:nowrap}
.filtro-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}
.filtro-btn.active-warn{background:var(--amber-bg);color:var(--amber);border-color:var(--amber)}
.sort-sel{font-size:12px;padding:5px 8px;border:0.5px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text2);background:transparent}
.counter{font-size:12px;color:var(--text3);margin-left:auto}

/* art tabla */
.art-tabla{width:100%;font-size:12px;border-collapse:collapse;margin-top:8px;table-layout:fixed}
.art-tabla td,.art-tabla th{padding:5px 6px;text-align:left;border-bottom:0.5px solid var(--border);overflow:hidden;text-overflow:ellipsis}
.art-tabla th{color:var(--text2);font-weight:500;font-size:11px}
.art-tabla tr:last-child td{border-bottom:none}
.rubro-pill{font-size:11px;padding:2px 7px;border-radius:var(--radius);background:var(--blue-bg);color:var(--blue);display:inline-block}

/* ot actions */
.ot-actions{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}
.btn-wa{padding:6px 12px;background:#25D366;color:#fff;border:none;border-radius:var(--radius);font-size:12px;font-weight:500}
.btn-pdf{padding:6px 12px;border:0.5px solid var(--border2);border-radius:var(--radius);background:transparent;font-size:12px;color:var(--text2)}
.btn-del{padding:6px 12px;border:0.5px solid var(--red);border-radius:var(--radius);background:transparent;font-size:12px;color:var(--red)}

/* stock */
.stk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:1rem}
.stk-card{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:.9rem}
.ing-form{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:1rem}

/* admin */
.atabs{display:flex;gap:6px;margin-bottom:1rem;flex-wrap:wrap}
.atab{padding:6px 12px;font-size:13px;cursor:pointer;border:0.5px solid var(--border);border-radius:var(--radius);color:var(--text2);background:transparent}
.atab.active{background:var(--text);color:var(--bg);border-color:var(--text)}
.apanel{display:none}.apanel.active{display:block}
.asec{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem;margin-bottom:10px}
.asec-title{font-size:11px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;min-height:28px}
.tag{background:var(--bg2);border:0.5px solid var(--border);border-radius:var(--radius);padding:4px 10px;font-size:13px;display:flex;align-items:center;gap:7px}
.tag .x{cursor:pointer;color:var(--text3);font-size:12px}
.tag .x:hover{color:var(--red)}
.addrow{display:flex;gap:7px}
.addrow input,.addrow select{flex:1}
.addrow button{padding:0 14px;border:0.5px solid var(--border2);border-radius:var(--radius);background:transparent;cursor:pointer;font-size:13px;color:var(--text);white-space:nowrap}

/* campañas */
.camp-card{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:.9rem 1.1rem;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.toggle-track{width:36px;height:20px;border-radius:10px;background:var(--border2);position:relative;cursor:pointer;flex-shrink:0;display:inline-block;transition:background .2s}
.toggle-track.on{background:var(--green)}
.toggle-thumb{width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:left .2s;pointer-events:none}
.toggle-track.on .toggle-thumb{left:18px}
.camp-banner{background:var(--green-bg);border:0.5px solid var(--green);border-radius:var(--radius);padding:8px 12px;font-size:13px;color:var(--green);margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}

/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 20px;border-radius:var(--radius);font-size:13px;opacity:0;transition:opacity .3s;pointer-events:none;z-index:9999;white-space:nowrap;max-width:90vw;text-align:center}
.toast.show{opacity:1}

/* empty */
.empty{text-align:center;padding:2.5rem 0;color:var(--text3);font-size:14px}

/* loading */
.loading{text-align:center;padding:3rem;color:var(--text3)}
.spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--text);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 12px}
@keyframes spin{to{transform:rotate(360deg)}}

/* imp */
.imp-box{border:0.5px dashed var(--border2);border-radius:var(--radius-lg);padding:1.25rem;text-align:center;cursor:pointer;background:var(--bg2);margin-bottom:10px}
.imp-box input{display:none}
.imp-box:hover{background:var(--blue-bg)}
.prev-wrap{background:var(--bg2);border-radius:var(--radius-lg);padding:1rem;margin-bottom:10px;overflow-x:auto}
.prev-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}
.prev-table th{padding:5px 7px;text-align:left;border-bottom:0.5px solid var(--border);color:var(--text2);font-weight:500}
.prev-table td{padding:5px 7px;border-bottom:0.5px solid var(--border);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.prev-table tr:last-child td{border-bottom:none}
.imp-acts{display:flex;gap:8px;margin-top:10px}

/* dashboard */
.metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-bottom:1.25rem}
.metric{border-radius:var(--radius-lg);padding:1rem 1.25rem;position:relative;overflow:hidden}
.metric-label{font-size:11px;font-weight:500;text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;opacity:.8}
.metric-val{font-size:24px;font-weight:500;line-height:1}
.metric-sub{font-size:11px;margin-top:5px;opacity:.7}
.metric-accent{position:absolute;right:-8px;bottom:-8px;font-size:48px;opacity:.08;font-weight:700;line-height:1}
.metric-green{background:#EAF3DE;color:#27500A}
.metric-blue{background:#E6F1FB;color:#0C447C}
.metric-amber{background:#FAEEDA;color:#633806}
.metric-red{background:#FCEBEB;color:#791F1F}
.metric-teal{background:#E1F5EE;color:#085041}
.metric-purple{background:#EEEDFE;color:#3C3489}
@media(prefers-color-scheme:dark){
  .metric-green{background:#173404;color:#C0DD97}
  .metric-blue{background:#042C53;color:#85B7EB}
  .metric-amber{background:#412402;color:#FAC775}
  .metric-red{background:#501313;color:#F09595}
  .metric-teal{background:#04342C;color:#9FE1CB}
  .metric-purple{background:#26215C;color:#AFA9EC}
}
.db-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
@media(max-width:500px){.db-row{grid-template-columns:1fr}}
.chart-wrap{background:var(--bg);border:0.5px solid var(--border);border-radius:var(--radius-lg);padding:1rem 1.25rem;margin-bottom:1rem}
.chart-sec-title{font-size:11px;font-weight:500;color:var(--text2);text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.chart-total{font-size:12px;color:var(--text2);font-weight:400;text-transform:none;letter-spacing:0}
.bar-h{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.bar-label{font-size:12px;color:var(--text);width:110px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bar-track{flex:1;height:10px;background:var(--bg2);border-radius:5px;overflow:hidden}
.bar-fill{height:100%;border-radius:5px;transition:width .5s cubic-bezier(.4,0,.2,1)}
.bar-fill-blue{background:#378ADD}
.bar-fill-green{background:#639922}
.bar-fill-amber{background:#BA7517}
.bar-fill-teal{background:#1D9E75}
.bar-fill-purple{background:#7F77DD}
.bar-fill-coral{background:#D85A30}
.tab-subgroup{padding:4px 0 2px 0}
.tab-subgroup-label{font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;padding:4px 14px 2px;pointer-events:none}
.tab-subgroup .tab-item{padding-left:22px}
.bar-val{font-size:11px;color:var(--text2);width:85px;text-align:right;flex-shrink:0}
.db-fsel{font-size:13px;padding:6px 10px;border:0.5px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);margin-bottom:1rem;width:auto}
.inv-table{width:100%;border-collapse:collapse;font-size:12px}
.inv-table th{text-align:left;padding:6px 8px;border-bottom:0.5px solid var(--border);font-size:11px;color:var(--text2);font-weight:500;text-transform:uppercase;letter-spacing:.04em}
.inv-table td{padding:7px 8px;border-bottom:0.5px solid var(--border)}
.inv-table tr:last-child td{border-bottom:none}
.inv-table tr:hover td{background:var(--bg2)}
.rank-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px}

.db-msel{position:relative;display:inline-block}
.db-msel-btn{font-size:11px;padding:4px 20px 4px 8px;border:.5px solid var(--border);border-radius:var(--radius);cursor:pointer;color:var(--text2);background:var(--bg);white-space:nowrap;max-width:150px;overflow:hidden;text-overflow:ellipsis;display:inline-block;position:relative;line-height:1.5;vertical-align:middle}
.db-msel-btn.has-sel{border-color:var(--blue);color:var(--blue);background:var(--blue-bg)}
.db-msel-btn-arrow{font-size:8px;position:absolute;right:5px;top:50%;transform:translateY(-50%);color:var(--text3);pointer-events:none}
.db-msel-dropdown{display:none;position:absolute;z-index:9999;top:calc(100% + 3px);left:0;min-width:170px;max-height:220px;overflow-y:auto;background:var(--bg);border:.5px solid var(--border);border-radius:var(--radius);box-shadow:0 4px 14px rgba(0,0,0,.13)}
.db-msel-dropdown.open{display:block}
.db-msel-header{padding:5px 10px;font-size:10px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:.06em;border-bottom:.5px solid var(--border);background:var(--bg2)}
.db-msel-item{display:flex;align-items:center;gap:7px;padding:5px 10px;font-size:12px;cursor:pointer}
.db-msel-item:hover{background:var(--bg2)}
.db-msel-item label{cursor:pointer;flex:1;line-height:1.3}
.db-msel-item input[type=checkbox]{cursor:pointer;accent-color:var(--blue);width:13px;height:13px;flex-shrink:0}
.db-msel-divider{border-top:.5px solid var(--border);margin:2px 0}

@media(max-width:768px){
  .cf-col-obs{display:none}
  .cf-col-vendedor{display:none}
}
@media(max-width:500px){
  .cf-col-detalle{display:none}
  .cf-col-estado{display:none}
}
@media(max-width:600px){
  #login-screen svg{display:none}
  #login-screen{background:linear-gradient(160deg,#b8d8f8,#e8c060,#c86828)}
}


/* ---- style block separator ---- */


    body{font-family:Arial,sans-serif;max-width:780px;margin:40px auto;color:#1a1a1a;font-size:13px}
    h1{font-size:22px;font-weight:bold;margin-bottom:2px}
    .sub{font-size:13px;color:#666;margin-bottom:20px}
    .meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:#f5f5f3;border-radius:6px;padding:14px;margin-bottom:20px}
    .meta-item{display:flex;flex-direction:column;gap:2px}
    .meta-label{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#888}
    .meta-val{font-size:14px;font-weight:500}
    table{width:100%;border-collapse:collapse}
    th{text-align:left;padding:8px 10px;border-bottom:2px solid #1a1a1a;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#444}
    td{padding:7px 10px;border-bottom:1px solid #eee}
    .firma{margin-top:60px;display:grid;grid-template-columns:1fr 1fr;gap:40px}
    .firma-line{border-top:1px solid #888;padding-top:6px;font-size:11px;color:#666;text-align:center}
    @media print{body{margin:20px}}
  

/* ===============================
   AgroEB Visual Reset — UX profesional
   Login + selección + dashboard + módulos
   =============================== */
:root{
  --ag-bg:#f6f8f7;--ag-card:#ffffff;--ag-text:#0f172a;--ag-muted:#64748b;
  --ag-line:#e5e7eb;--ag-green:#176b2c;--ag-green-2:#2f8f46;--ag-soft:#edf7ef;
  --ag-blue:#1f6fbf;--ag-amber:#c57a00;--ag-purple:#6d3ab2;
  --radius:12px;--radius-lg:16px;
}
@media(prefers-color-scheme:dark){:root{--bg:#ffffff!important;--bg2:#f6f8f7!important;--bg3:#eef2f0!important;--text:#0f172a!important;--text2:#64748b!important;--text3:#94a3b8!important;--border:rgba(15,23,42,.08)!important;--border2:rgba(15,23,42,.14)!important;--green:#176b2c!important;--green-bg:#edf7ef!important;--blue:#1f6fbf!important;--blue-bg:#eef6ff!important;}}
html,body{background:var(--ag-bg)!important;color:var(--ag-text)!important;font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif!important;}
button,input,select,textarea{font-family:inherit!important}
input,select,textarea{border:1px solid var(--ag-line)!important;border-radius:10px!important;background:#fff!important;color:var(--ag-text)!important;box-shadow:none!important}
input:focus,select:focus,textarea:focus{border-color:var(--ag-green)!important;box-shadow:0 0 0 3px rgba(23,107,44,.10)!important}

.ag-login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:#f4f7f5;}
.ag-login-shell{width:min(980px,100%);min-height:560px;border:1px solid var(--ag-line);border-radius:22px;overflow:hidden;background:#fff;display:grid;grid-template-columns:1.08fr .92fr;box-shadow:0 24px 80px rgba(15,23,42,.10)}
.ag-login-visual{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(0,0,0,.08)),url('../assets/field-login.svg') center/cover no-repeat;position:relative;padding:56px;display:flex;flex-direction:column;justify-content:center;color:#0b3018;}
.ag-login-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.72),rgba(255,255,255,.1));pointer-events:none}.ag-login-logo,.ag-login-copy{position:relative;z-index:1}.ag-login-logo{font-size:42px;font-weight:800;letter-spacing:-.04em;color:#0b3b19}.ag-login-copy{margin-top:16px;font-size:20px;line-height:1.35;max-width:320px;color:#173c22;font-weight:500}.ag-leaf,.ag-leaf-small{display:inline-flex;align-items:center;justify-content:center;margin-right:10px;color:var(--ag-green);transform:rotate(-18deg);font-weight:900}.ag-login-panel{padding:58px 56px;display:flex;flex-direction:column;justify-content:center}.ag-card-logo{display:flex;align-items:center;color:var(--ag-green);font-weight:800;font-size:22px;margin-bottom:34px}.ag-login-panel h1{font-size:24px;letter-spacing:-.02em;margin:0 0 6px}.ag-login-panel p{font-size:13px;color:var(--ag-muted);margin:0 0 24px}.ag-label{font-size:12px;text-transform:none;letter-spacing:0;color:#334155;font-weight:600;margin:14px 0 6px}.ag-login-panel input{height:42px}.ag-primary-btn{height:44px;border:0!important;border-radius:10px!important;background:linear-gradient(180deg,#1f7a34,#145a27)!important;color:#fff!important;font-weight:700;margin-top:18px;box-shadow:0 8px 18px rgba(23,107,44,.18)}.ag-secondary-btn{border:1px solid var(--ag-line)!important;background:#fff!important;color:#334155!important;border-radius:10px!important;padding:10px 14px!important;font-weight:600}.ag-secondary-btn.small{padding:7px 10px!important;font-size:12px!important}.ag-login-error{font-size:12px;color:#b42318;min-height:18px;text-align:center;margin-top:10px}.ag-login-foot{font-size:11px;color:var(--ag-muted);text-align:center;margin-top:26px;border-top:1px solid var(--ag-line);padding-top:18px}

.ag-company-screen{min-height:100vh;display:none;align-items:center;justify-content:center;padding:24px;background:linear-gradient(120deg,rgba(246,248,247,.88),rgba(255,255,255,.72)),url('../assets/field-login.svg') center/cover no-repeat}.ag-company-shell{width:min(560px,100%);border:1px solid var(--ag-line);border-radius:22px;background:rgba(255,255,255,.96);padding:36px;box-shadow:0 24px 80px rgba(15,23,42,.12);backdrop-filter:blur(10px)}.ag-company-brand h1{font-size:25px;letter-spacing:-.03em;margin:10px 0 6px}.ag-company-brand p,.ag-company-user{font-size:13px;color:var(--ag-muted);margin-bottom:14px}.ag-company-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0}.ag-company-card{position:relative;border:1px solid var(--ag-line);border-radius:14px;background:#fff;padding:18px 16px;cursor:pointer;display:flex;gap:12px;align-items:flex-start;transition:.16s ease}.ag-company-card:hover,.ag-company-card.active{border-color:var(--ag-green);box-shadow:0 10px 24px rgba(23,107,44,.10);transform:translateY(-1px)}.ag-company-card-icon{width:34px;height:34px;border-radius:10px;background:var(--ag-soft);color:var(--ag-green);display:flex;align-items:center;justify-content:center;font-weight:800;flex:0 0 auto}.ag-company-card-title{font-size:14px;font-weight:800;color:var(--ag-text);line-height:1.2}.ag-company-card-sub{font-size:12px;color:var(--ag-muted);margin-top:4px}.ag-company-check{position:absolute;top:12px;right:12px;width:18px;height:18px;border-radius:50%;background:var(--ag-green);color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0}.ag-company-card.active .ag-company-check,.ag-company-card:hover .ag-company-check{opacity:1}.ag-empty-company{text-align:center;color:var(--ag-muted);font-size:13px;padding:1rem;border:1px dashed var(--ag-line);border-radius:14px;background:#fff}

.ag-workspace{min-height:100vh;background:var(--ag-bg)}.ag-work-header{height:64px;position:sticky;top:0;z-index:300;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid var(--ag-line);display:flex;align-items:center;gap:12px;padding:0 24px}.ag-brand-inline{display:flex;align-items:center;font-weight:900;color:var(--ag-green);font-size:22px;min-width:160px}.ag-icon-btn{border:1px solid var(--ag-line)!important;background:#fff!important;border-radius:10px!important;padding:8px 12px!important;color:#334155!important;font-size:12px!important;font-weight:700}.ag-spacer{flex:1}.ag-pill{border:1px solid var(--ag-line);border-radius:999px;background:#fff;padding:7px 12px;font-size:12px;font-weight:700;color:#334155}.ag-avatar-pill{border-radius:999px;background:#e8f2ea;color:var(--ag-green);padding:7px 12px;font-size:12px;font-weight:800}.ag-dashboard{max-width:1440px;margin:0 auto;padding:24px}.ag-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:18px}.ag-title-row h1{font-size:24px;margin:0;letter-spacing:-.03em}.ag-title-row p{font-size:13px;color:var(--ag-muted);margin:4px 0 0}.ag-kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:14px;margin-bottom:16px}.ag-kpi{background:#fff;border:1px solid var(--ag-line);border-radius:16px;padding:18px;display:flex;gap:14px;align-items:center;min-height:100px;box-shadow:0 4px 16px rgba(15,23,42,.04)}.ag-kpi strong{display:block;font-size:24px;color:var(--ag-green);letter-spacing:-.04em}.ag-kpi span{display:block;font-size:12px;color:var(--ag-muted);margin-top:3px}.ag-kpi-icon{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.ag-kpi-icon.green{background:#edf7ef;color:var(--ag-green)}.ag-kpi-icon.amber{background:#fff4df;color:#c57a00}.ag-kpi-icon.blue{background:#eef6ff;color:#1f6fbf}.ag-kpi-icon.purple{background:#f4efff;color:#6d3ab2}.ag-panel-grid{display:grid;grid-template-columns:1.1fr 1fr 1.15fr 1.15fr;gap:14px;margin-bottom:20px}.ag-panel{background:#fff;border:1px solid var(--ag-line);border-radius:16px;padding:18px;box-shadow:0 4px 16px rgba(15,23,42,.04);min-height:150px}.ag-panel h2,.ag-section-title{font-size:16px;margin:0 0 14px;letter-spacing:-.02em}.ag-weather{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.ag-weather .sun{font-size:36px}.ag-weather strong{font-size:30px}.ag-weather span,.ag-weather li{font-size:12px;color:var(--ag-muted)}.ag-weather ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.ag-donut{display:flex;align-items:center;gap:22px}.donut{width:96px;height:96px;border-radius:50%;background:conic-gradient(#176b2c 0 45%,#8cc63f 45% 75%,#f2b705 75% 90%,#ef4444 90% 100%);position:relative}.donut:after{content:"";position:absolute;inset:22px;border-radius:50%;background:#fff}.legend{display:grid;gap:7px;font-size:12px;color:#475569}.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}.legend .ok{background:#176b2c}.legend .mid{background:#8cc63f}.legend .warn{background:#f2b705}.legend .bad{background:#ef4444}.activity{display:grid;gap:12px}.activity span{font-size:13px;color:#334155;display:flex;justify-content:space-between;gap:12px}.activity b{font-size:12px;color:var(--ag-muted);font-weight:500}.ndvi-img{width:100%;height:96px;object-fit:cover;border-radius:12px;display:block}.ag-panel small{display:block;margin-top:8px;color:var(--ag-muted)}.ag-quick-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.ag-quick-grid button{height:82px;border:1px solid var(--ag-line)!important;background:#fff!important;border-radius:15px!important;color:var(--ag-text)!important;font-weight:700;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 16px rgba(15,23,42,.035)}.ag-quick-grid button span{font-size:22px;color:var(--ag-green)}.ag-quick-grid button:hover{border-color:var(--ag-green)!important;box-shadow:0 10px 24px rgba(23,107,44,.08)}

.app{max-width:1440px!important;margin:0 auto!important;padding:0 18px 80px!important;background:var(--ag-bg)!important}.topbar{position:sticky!important;top:0!important;z-index:250!important;margin:0 -18px!important;height:64px!important;background:rgba(255,255,255,.94)!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--ag-line)!important;box-shadow:none!important;padding:0 24px!important}.tabs{top:64px!important;margin:0 -18px 18px!important;background:#fff!important;border-bottom:1px solid var(--ag-line)!important;box-shadow:0 4px 14px rgba(15,23,42,.03)!important}.tab-group-btn{height:48px!important;color:#475569!important;font-weight:700!important}.tab-group-btn.active,.tab-group-btn.has-active{color:var(--ag-green)!important;border-bottom:2px solid var(--ag-green)!important}.tab-dropdown{border:1px solid var(--ag-line)!important;border-radius:0 0 14px 14px!important;box-shadow:0 18px 40px rgba(15,23,42,.10)!important}.sec{padding:18px 0 40px!important}.card,.asec,.chart-wrap,.ing-form,.stk-card,.camp-card{background:#fff!important;border:1px solid var(--ag-line)!important;border-radius:16px!important;box-shadow:0 4px 16px rgba(15,23,42,.035)!important}.btn-p{background:linear-gradient(180deg,#1f7a34,#145a27)!important;color:#fff!important;border:0!important;border-radius:10px!important}.btn-s,.atab,.filtro-btn,.sort-sel{background:#fff!important;border:1px solid var(--ag-line)!important;border-radius:10px!important;color:#334155!important}.atab.active,.filtro-btn.active{background:#0f172a!important;color:#fff!important;border-color:#0f172a!important}.metrics{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important}.metric{border-radius:16px!important;background:#fff!important;border:1px solid var(--ag-line)!important;box-shadow:0 4px 16px rgba(15,23,42,.035)!important}.metric-label{color:#64748b!important}.metric-val{color:var(--ag-green)!important}.inv-table th,.prev-table th,.art-tabla th{color:#64748b!important;background:#f8faf9!important}.inv-table td,.prev-table td,.art-tabla td{border-color:#eef2f0!important}label{color:#475569!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;font-weight:700!important}
@media(max-width:980px){.ag-login-shell{grid-template-columns:1fr;min-height:auto}.ag-login-visual{min-height:260px;padding:34px}.ag-login-panel{padding:34px}.ag-kpi-grid{grid-template-columns:repeat(2,1fr)}.ag-panel-grid{grid-template-columns:1fr}.ag-quick-grid{grid-template-columns:repeat(2,1fr)}.ag-work-header{padding:0 14px}.ag-pill{display:none}.ag-brand-inline{min-width:auto}.ag-company-grid{grid-template-columns:1fr}.app{padding:0 10px 80px!important}.topbar{margin:0 -10px!important}.tabs{margin:0 -10px 12px!important;overflow-x:auto;justify-content:flex-start}.tab-group{min-width:120px;flex:0 0 auto}.g2,.g3{grid-template-columns:1fr!important}.art-top,.art-labor{grid-template-columns:1fr!important}}
@media(max-width:560px){.ag-login-screen,.ag-company-screen{padding:0;align-items:stretch}.ag-login-shell{border:0;border-radius:0;min-height:100vh}.ag-login-visual{min-height:42vh;padding:28px}.ag-login-panel{padding:28px 22px}.ag-login-logo{font-size:32px}.ag-login-copy{font-size:16px}.ag-company-shell{border-radius:0;min-height:100vh;padding:28px 20px}.ag-work-header{gap:8px}.ag-icon-btn{display:none}.ag-dashboard{padding:16px}.ag-kpi-grid{grid-template-columns:1fr}.ag-kpi{min-height:86px}.ag-quick-grid{grid-template-columns:1fr}.ag-weather{grid-template-columns:1fr}.activity span{display:block}.ag-secondary-btn.small{display:none!important}}

/* === AgroEB operative home fix: no mock/fake widgets === */
.ag-title-compact{align-items:center;margin-bottom:14px}.ag-title-compact p{max-width:720px}.ag-kpi-operativo{margin-bottom:18px}.ag-module-board{display:grid;grid-template-columns:repeat(3,minmax(260px,1fr));gap:14px;margin-top:8px}.ag-module-card{background:#fff;border:1px solid var(--ag-line);border-radius:18px;padding:18px;box-shadow:0 6px 18px rgba(15,23,42,.045);display:flex;flex-direction:column;gap:18px;min-height:190px}.ag-module-card:hover{border-color:rgba(23,107,44,.28);box-shadow:0 14px 30px rgba(15,23,42,.08);transform:translateY(-1px);transition:.18s ease}.ag-module-primary{background:linear-gradient(180deg,#ffffff 0%,#f8fbf8 100%)}.ag-module-head{display:flex;gap:14px;align-items:flex-start}.ag-module-head h2{font-size:18px;line-height:1.15;margin:0 0 6px;color:var(--ag-text);letter-spacing:-.03em}.ag-module-head p{margin:0;color:var(--ag-muted);font-size:13px;line-height:1.4}.ag-module-icon{width:44px;height:44px;min-width:44px;border-radius:14px;background:#edf7ef;color:var(--ag-green);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800}.ag-module-actions{display:grid;gap:8px;margin-top:auto}.ag-module-actions button{height:42px;border:1px solid var(--ag-line)!important;background:#fff!important;border-radius:12px!important;color:var(--ag-text)!important;font-weight:750;font-size:13px;display:flex;align-items:center;justify-content:space-between;padding:0 13px!important;cursor:pointer}.ag-module-actions button:after{content:'›';color:var(--ag-green);font-size:18px;line-height:1}.ag-module-actions button:hover{border-color:var(--ag-green)!important;background:#f7fbf8!important}.tab-group-btn{white-space:nowrap}
@media(max-width:1100px){.ag-module-board{grid-template-columns:repeat(2,minmax(240px,1fr))}.ag-kpi-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:620px){.ag-module-board{grid-template-columns:1fr}.ag-module-card{min-height:auto}.ag-work-header{position:sticky}.ag-dashboard{padding:14px}.ag-title-compact{align-items:flex-start;gap:10px}.ag-title-compact .ag-secondary-btn{align-self:flex-start}.tabs{gap:6px}.tab-group-btn{font-size:12px;padding:10px 12px}}


/* ==========================================================
   AgroEB publish fix — navegación lateral + tablero operativo
   ========================================================== */
:root{
  --ag-saas-bg:#f6f8f7;
  --ag-saas-card:#ffffff;
  --ag-saas-border:#e3e8e5;
  --ag-saas-green:#166534;
  --ag-saas-green-soft:#edf7ef;
  --ag-saas-text:#0f172a;
  --ag-saas-muted:#64748b;
}
body{background:var(--ag-saas-bg)!important;color:var(--ag-saas-text)!important;}
.app#app-content{
  max-width:none!important;
  margin:0!important;
  padding:0 24px 48px 260px!important;
  min-height:100vh;
  background:var(--ag-saas-bg);
}
.app#app-content .topbar{
  position:sticky!important;
  top:0!important;
  z-index:120!important;
  min-height:64px;
  margin:0 -24px 0 -24px;
  padding:14px 24px!important;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ag-saas-border)!important;
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.app#app-content .tabs{
  position:fixed!important;
  left:0!important;
  top:0!important;
  bottom:0!important;
  width:236px!important;
  padding:92px 14px 18px!important;
  display:flex!important;
  flex-direction:column!important;
  gap:6px!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  background:#ffffff!important;
  border-right:1px solid var(--ag-saas-border)!important;
  border-bottom:none!important;
  z-index:110!important;
  box-shadow:1px 0 0 rgba(15,23,42,.02);
}
.app#app-content .tabs:before{
  content:'AgroEB';
  position:fixed;
  left:24px;
  top:24px;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.04em;
  color:var(--ag-saas-green);
}
.app#app-content .tabs:after{
  content:'Gestión agropecuaria';
  position:fixed;
  left:24px;
  top:56px;
  font-size:12px;
  color:var(--ag-saas-muted);
}
.app#app-content .tab-group{width:100%!important;flex:0 0 auto!important;position:relative!important;}
.app#app-content .tab-group-btn{
  justify-content:space-between!important;
  text-align:left!important;
  width:100%!important;
  min-height:42px;
  padding:10px 12px!important;
  border:0!important;
  border-radius:12px!important;
  color:#334155!important;
  background:transparent!important;
  font-size:14px!important;
  font-weight:650!important;
}
.app#app-content .tab-group-btn:hover,
.app#app-content .tab-group-btn.has-active,
.app#app-content .tab-group-btn.active,
.app#app-content .ag-home-nav:hover{
  background:var(--ag-saas-green-soft)!important;
  color:var(--ag-saas-green)!important;
  border-bottom:0!important;
}
.app#app-content .tab-dropdown{
  display:block!important;
  position:static!important;
  min-width:0!important;
  width:100%!important;
  box-shadow:none!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  padding:2px 0 6px 8px!important;
}
.app#app-content .tab-item{
  width:100%!important;
  display:block!important;
  padding:8px 10px 8px 18px!important;
  border:0!important;
  border-left:1px solid #e6ece8!important;
  border-radius:0 10px 10px 0!important;
  color:#64748b!important;
  background:transparent!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.app#app-content .tab-item:hover,
.app#app-content .tab-item.active{
  color:var(--ag-saas-green)!important;
  background:#f1f8f2!important;
  font-weight:700!important;
}
.app#app-content .sec{padding:24px 0!important;}
.card,.asec,.chart-wrap,.ing-form,.stk-card,.camp-card,.art-row{
  border:1px solid var(--ag-saas-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.04)!important;
}
.btn-p,.ag-primary-btn{background:var(--ag-saas-green)!important;border-color:var(--ag-saas-green)!important;color:#fff!important;}
.btn-s,.ag-secondary-btn{border:1px solid var(--ag-saas-border)!important;background:#fff!important;color:#334155!important;}
/* Home operativo */
.ag-workspace{background:var(--ag-saas-bg)!important;min-height:100vh;}
.ag-work-header{
  position:sticky;top:0;z-index:80;
  background:rgba(255,255,255,.92)!important;
  backdrop-filter:blur(14px);
  border-bottom:1px solid var(--ag-saas-border)!important;
}
.ag-dashboard{max-width:1220px!important;margin:0 auto!important;padding:24px!important;}
.ag-title-row{margin-bottom:18px!important;align-items:center!important;}
.ag-title-row h1{font-size:24px!important;letter-spacing:-.03em!important;color:var(--ag-saas-text)!important;}
.ag-title-row p{font-size:13px!important;color:var(--ag-saas-muted)!important;margin-top:4px!important;}
.ag-kpi-grid{grid-template-columns:repeat(5,minmax(150px,1fr))!important;gap:14px!important;margin-bottom:20px!important;}
.ag-kpi{
  border:1px solid var(--ag-saas-border)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.04)!important;
  padding:18px!important;
}
.ag-kpi strong{font-size:22px!important;letter-spacing:-.03em!important;color:var(--ag-saas-text)!important;}
.ag-kpi span{font-size:12px!important;color:var(--ag-saas-muted)!important;}
.ag-kpi.ag-kpi-empty{opacity:.68;}
.ag-kpi.ag-kpi-empty strong{font-size:16px!important;color:#94a3b8!important;}
.ag-module-board{display:grid!important;grid-template-columns:repeat(3,minmax(260px,1fr))!important;gap:16px!important;}
.ag-module-card{
  border:1px solid var(--ag-saas-border)!important;
  border-radius:18px!important;
  background:#fff!important;
  box-shadow:0 8px 24px rgba(15,23,42,.04)!important;
  padding:20px!important;
}
.ag-module-head h2{font-size:18px!important;letter-spacing:-.02em!important;}
.ag-module-head p{font-size:13px!important;color:var(--ag-saas-muted)!important;line-height:1.45!important;}
.ag-module-actions{display:grid!important;gap:10px!important;margin-top:18px!important;}
.ag-module-actions button{
  width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;
  border:1px solid var(--ag-saas-border)!important;background:#fff!important;border-radius:12px!important;
  padding:12px 14px!important;font-weight:700!important;color:#0f172a!important;
}
.ag-module-actions button:after{content:'›';font-size:20px;color:var(--ag-saas-green);line-height:1;}
.ag-module-actions button:hover{border-color:#b7d8c0!important;background:#f7fbf8!important;color:var(--ag-saas-green)!important;}
.ag-module-icon{background:var(--ag-saas-green-soft)!important;color:var(--ag-saas-green)!important;}
/* Evitar encabezados promocionales o espacios muertos */
.ag-login-foot{color:#64748b!important;}
@media(max-width:980px){
  .app#app-content{padding-left:0!important;padding-right:0!important;}
  .app#app-content .tabs{
    transform:translateX(-100%);
    transition:transform .2s ease;
    box-shadow:24px 0 60px rgba(15,23,42,.18);
  }
  .app#app-content.menu-open .tabs{transform:translateX(0);}
  .app#app-content .topbar{margin:0!important;padding-left:16px!important;padding-right:16px!important;}
  .app#app-content .topbar:before{
    content:'☰';
    display:inline-flex;align-items:center;justify-content:center;
    width:36px;height:36px;margin-right:8px;border-radius:10px;
    background:#f1f5f9;color:#0f172a;font-size:18px;
  }
  .ag-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .ag-module-board{grid-template-columns:1fr!important;}
  .ag-dashboard{padding:16px!important;}
}
@media(max-width:620px){
  .ag-kpi-grid{grid-template-columns:1fr!important;}
  .ag-work-header{gap:8px;flex-wrap:wrap;}
  .ag-dashboard{padding:12px!important;}
}

.ag-mobile-menu-btn{display:none;border:1px solid var(--ag-saas-border);background:#fff;color:#0f172a;border-radius:10px;width:38px;height:38px;font-size:18px;align-items:center;justify-content:center;}
@media(max-width:980px){.ag-mobile-menu-btn{display:inline-flex}.app#app-content .topbar:before{content:none!important}}


/* === FIX FINAL NAVEGACIÓN / HOME OPERATIVO === */
.app#app-content{padding-left:236px!important;max-width:none!important;margin:0!important;}
.app#app-content .tabs{align-items:stretch!important;}
.app#app-content .tab-dropdown{display:none!important;}
.app#app-content .tab-group.open .tab-dropdown{display:block!important;}
.app#app-content .tab-group.open .tab-group-btn .arrow{transform:rotate(180deg)!important;}
.app#app-content .tab-group-btn .arrow{transition:transform .16s ease!important;}
.app#app-content .ag-home-nav{justify-content:flex-start!important;}
.app#app-content .ag-home-nav:before{content:'⌂';margin-right:8px;color:var(--ag-saas-green);font-weight:800;}
.app#app-content .topbar{margin-left:0!important;margin-right:0!important;}
.ag-module-card.collapsed .ag-module-actions{display:none!important;}
.ag-module-head:after{content:'⌄';margin-left:auto;color:#94a3b8;font-weight:800;transition:.16s ease;}
.ag-module-card.collapsed .ag-module-head:after{transform:rotate(-90deg);}
.ag-module-actions{overflow:hidden;}
@media(max-width:980px){
  .app#app-content{padding-left:0!important;}
  .app#app-content .tabs{transform:translateX(-100%)!important;}
  .app#app-content.menu-open .tabs{transform:translateX(0)!important;}
  .app#app-content .tab-dropdown{display:none!important;}
  .app#app-content .tab-group.open .tab-dropdown{display:block!important;}
}

/* === Ajustes pedidos: inicio contraído + KPIs financieros ejecutivos === */
.ag-kpi-sub{display:block;margin-top:3px;font-size:11px;color:#94a3b8;font-weight:600}
.ag-kpi .ag-kpi-icon.green+div strong{color:#166534!important}
.ag-module-card.collapsed{min-height:86px!important}
.ag-module-card.collapsed .ag-module-head p{display:none!important}
.ag-module-card.collapsed .ag-module-head h2{margin-bottom:0!important}
.ag-module-card.collapsed .ag-module-head{align-items:center!important}
@media(min-width:1101px){.ag-kpi-grid{grid-template-columns:repeat(6,minmax(140px,1fr))!important}}

/* === Ajustes UX web: alineación, menú multi-abierto e Inicio destacado === */
@media (min-width: 981px){
  .ag-workspace{
    min-height:100vh!important;
    background:var(--ag-saas-bg)!important;
  }
  .ag-work-header{
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:0 24px!important;
    border-left:1px solid transparent!important;
    border-right:1px solid transparent!important;
  }
  .ag-dashboard{
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
    padding:24px!important;
  }
  .app#app-content{
    width:100%!important;
    padding-left:260px!important;
    padding-right:28px!important;
  }
  .app#app-content .topbar{
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto 0 auto!important;
    padding-left:24px!important;
    padding-right:24px!important;
    border-left:1px solid transparent!important;
    border-right:1px solid transparent!important;
  }
  .app#app-content .sec{
    width:100%!important;
    max-width:1280px!important;
    margin:0 auto!important;
  }
}

/* Sidebar: que los grupos abiertos convivan, sin modo acordeón exclusivo */
.app#app-content .tab-group.open .tab-dropdown{
  display:block!important;
}
.app#app-content .tab-group.open .tab-group-btn{
  color:var(--ag-saas-green)!important;
  background:#f3faf5!important;
}

/* Botón Inicio más protagonista */
.app#app-content .ag-home-nav{
  min-height:46px!important;
  background:linear-gradient(180deg,#eaf7ee,#dff2e5)!important;
  color:var(--ag-saas-green)!important;
  border:1px solid #c7e6d0!important;
  font-weight:850!important;
  box-shadow:0 6px 18px rgba(22,101,52,.08)!important;
}
.app#app-content .ag-home-nav:before{
  content:'⌂'!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:24px!important;
  height:24px!important;
  border-radius:8px!important;
  margin-right:10px!important;
  background:var(--ag-saas-green)!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:900!important;
}
.app#app-content .ag-home-nav:hover{
  background:linear-gradient(180deg,#dff2e5,#d2ebda)!important;
  border-color:#a9d8b7!important;
}

/* Home: módulos contraídos más limpios y parejos */
.ag-module-card.collapsed{
  min-height:78px!important;
  padding-top:16px!important;
  padding-bottom:16px!important;
}
.ag-module-card.collapsed .ag-module-head{
  width:100%!important;
}
.ag-module-head{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
}
.ag-module-head:after{
  margin-left:auto!important;
}

/* KPIs: más compactos y alineados en web */
@media (min-width: 1101px){
  .ag-kpi-grid.ag-kpi-operativo{
    grid-template-columns:repeat(6,minmax(150px,1fr))!important;
  }
  .ag-kpi{
    min-height:92px!important;
  }
}

/* === FIX FULL WIDTH WEB — AgroEB como plataforma operativa, no landing centrada === */
@media (min-width: 981px){
  html, body{
    width:100%!important;
    min-width:0!important;
    overflow-x:hidden!important;
    background:var(--ag-saas-bg,#f5f7fa)!important;
  }

  /* Home / Inicio: usar todo el ancho útil */
  #home-screen.ag-workspace{
    width:100vw!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
  }
  #home-screen .ag-work-header{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 32px!important;
    border-left:0!important;
    border-right:0!important;
    box-sizing:border-box!important;
  }
  #home-screen .ag-dashboard{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:28px 36px 56px!important;
    box-sizing:border-box!important;
  }

  /* App interna: sidebar izquierda + contenido full width */
  .app#app-content{
    width:100vw!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    padding-left:260px!important;
    padding-right:32px!important;
    padding-top:0!important;
    box-sizing:border-box!important;
    background:var(--ag-saas-bg,#f5f7fa)!important;
  }
  .app#app-content .tabs{
    width:260px!important;
    max-width:260px!important;
    left:0!important;
    right:auto!important;
  }
  .app#app-content .topbar{
    width:calc(100vw - 292px)!important;
    max-width:none!important;
    margin:0!important;
    padding-left:28px!important;
    padding-right:28px!important;
    box-sizing:border-box!important;
  }
  .app#app-content .sec{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
  }

  /* Grillas: ocupar pantalla y evitar cards angostas flotando */
  #home-screen .ag-kpi-grid.ag-kpi-operativo{
    grid-template-columns:repeat(6,minmax(160px,1fr))!important;
    gap:16px!important;
  }
  #home-screen .ag-module-board{
    grid-template-columns:repeat(3,minmax(300px,1fr))!important;
    gap:18px!important;
  }
  .app#app-content .g2{grid-template-columns:repeat(2,minmax(260px,1fr))!important;}
  .app#app-content .g3{grid-template-columns:repeat(3,minmax(220px,1fr))!important;}
  .app#app-content .metrics{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))!important;}
  .app#app-content .stk-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;}

  /* Cards inicio más parejas */
  #home-screen .ag-kpi{
    min-height:108px!important;
  }
  #home-screen .ag-module-card.collapsed{
    min-height:90px!important;
  }
}

@media (min-width: 1400px){
  #home-screen .ag-dashboard{padding-left:48px!important;padding-right:48px!important;}
  .app#app-content{padding-right:42px!important;}
  .app#app-content .topbar{width:calc(100vw - 302px)!important;}
  #home-screen .ag-module-board{grid-template-columns:repeat(3,minmax(360px,1fr))!important;}
}

@media (min-width: 1700px){
  #home-screen .ag-module-board{grid-template-columns:repeat(3,minmax(420px,1fr))!important;}
  #home-screen .ag-kpi-grid.ag-kpi-operativo{grid-template-columns:repeat(6,minmax(190px,1fr))!important;}
}

/* === ERP LAYOUT FIX V2 — sin cortes, ancho útil real === */
@media (min-width: 981px){
  html, body{
    width:100%!important;
    max-width:none!important;
    overflow-x:hidden!important;
    background:#f5f7f6!important;
  }

  /* Inicio: sin contenedor angosto ni desborde horizontal */
  #home-screen.ag-workspace{
    display:block;
    width:100%!important;
    max-width:none!important;
    min-height:100vh!important;
    margin:0!important;
    padding:0!important;
    overflow-x:hidden!important;
    background:#f5f7f6!important;
    box-sizing:border-box!important;
  }
  #home-screen .ag-work-header{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 clamp(20px,3vw,42px)!important;
    box-sizing:border-box!important;
  }
  #home-screen .ag-dashboard{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:24px clamp(20px,3vw,42px) 56px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  #home-screen .ag-kpi-grid,
  #home-screen .ag-kpi-grid.ag-kpi-operativo{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(168px,1fr))!important;
    gap:16px!important;
    width:100%!important;
    min-width:0!important;
  }
  #home-screen .ag-kpi{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box!important;
    min-height:104px!important;
  }
  #home-screen .ag-module-board{
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
    gap:16px!important;
    width:100%!important;
    min-width:0!important;
  }
  #home-screen .ag-module-card{
    min-width:0!important;
    width:100%!important;
    box-sizing:border-box!important;
  }

  /* App interna: sidebar fija + área de trabajo flexible */
  .app#app-content{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:0 28px 56px 280px!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
    background:#f5f7f6!important;
  }
  .app#app-content .tabs{
    position:fixed!important;
    left:0!important;
    top:0!important;
    bottom:0!important;
    width:260px!important;
    max-width:260px!important;
    box-sizing:border-box!important;
    margin:0!important;
    z-index:200!important;
  }
  .app#app-content .topbar{
    width:calc(100vw - 280px)!important;
    max-width:none!important;
    margin:0 0 0 0!important;
    padding-left:24px!important;
    padding-right:24px!important;
    box-sizing:border-box!important;
  }
  .app#app-content .sec{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow-x:hidden!important;
  }
  .app#app-content .g2{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;}
  .app#app-content .g3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))!important;}
  .app#app-content .metrics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;}
  .app#app-content .stk-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))!important;}
}

@media (max-width: 980px){
  html, body{overflow-x:hidden!important;}
  #home-screen .ag-dashboard{padding:14px!important;}
  #home-screen .ag-kpi-grid,
  #home-screen .ag-kpi-grid.ag-kpi-operativo,
  #home-screen .ag-module-board{grid-template-columns:1fr!important;}
  .app#app-content{padding-left:0!important;padding-right:0!important;overflow-x:hidden!important;}
}


/* === MOBILE + SELECTOR EMPRESA FIX === */
body.ag-company-mode{
  overflow:hidden!important;
  background:#f5f7f6!important;
}
body.ag-company-mode #empresa-screen{
  position:fixed!important;
  inset:0!important;
  z-index:9999!important;
  overflow:auto!important;
  background:#f5f7f6!important;
}
body.ag-company-mode #home-screen,
body.ag-company-mode #main-app,
body.ag-company-mode #app-content{
  display:none!important;
}

/* Separación visual entre KPIs y módulos del Inicio */
#home-screen .ag-module-board{
  position:relative!important;
  margin-top:30px!important;
  padding-top:28px!important;
  border-top:1px solid rgba(15,23,42,.10)!important;
}
#home-screen .ag-module-board:before{
  content:'Módulos operativos';
  position:absolute;
  top:-12px;
  left:0;
  background:#f5f7f6;
  padding-right:14px;
  color:#0f172a;
  font-size:14px;
  font-weight:800;
  letter-spacing:-.01em;
}

/* Mobile: mejorar navegación, cambio de empresa y no cerrar menú al elegir opciones */
@media(max-width:980px){
  .app#app-content .topbar{
    position:sticky!important;
    top:0!important;
    z-index:160!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    min-height:58px!important;
    background:rgba(255,255,255,.96)!important;
    backdrop-filter:blur(14px)!important;
    border-bottom:1px solid rgba(15,23,42,.08)!important;
  }
  .app#app-content .topbar > div:first-of-type{
    min-width:0!important;
    flex:1!important;
  }
  .app#app-content .topbar-title{
    font-size:15px!important;
    white-space:nowrap!important;
  }
  .app#app-content #empresa-badge{
    display:inline-flex!important;
    align-items:center!important;
    max-width:130px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    border:1px solid #b7d8c0!important;
    background:#eef8f0!important;
    color:#166534!important;
    font-size:11px!important;
    padding:5px 9px!important;
  }
  .app#app-content #empresa-badge:before{
    content:'Empresa: ';
    font-weight:700;
    margin-right:3px;
  }
  .app#app-content .tabs{
    width:min(86vw,310px)!important;
    max-width:min(86vw,310px)!important;
    z-index:220!important;
    overflow-y:auto!important;
    padding-bottom:28px!important;
  }
  .app#app-content.menu-open:after{
    content:'';
    position:fixed;
    inset:0;
    background:rgba(15,23,42,.38);
    z-index:190;
  }
  .app#app-content.menu-open .tabs{
    z-index:230!important;
  }
  .app#app-content .tab-group.open .tab-dropdown{
    display:block!important;
  }
  #home-screen .ag-kpi-grid,
  #home-screen .ag-kpi-grid.ag-kpi-operativo{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  #home-screen .ag-kpi{
    min-height:92px!important;
    padding:14px!important;
  }
  #home-screen .ag-kpi strong{
    font-size:19px!important;
  }
  #home-screen .ag-module-board{
    margin-top:26px!important;
    padding-top:26px!important;
  }
}

@media(max-width:520px){
  #home-screen .ag-kpi-grid,
  #home-screen .ag-kpi-grid.ag-kpi-operativo{
    grid-template-columns:1fr 1fr!important;
  }
  #home-screen .ag-dashboard{
    padding:12px!important;
  }
  #home-screen .ag-title-row{
    margin-bottom:12px!important;
  }
}


/* Fix cuenta corriente: tabla financiera ancha con scroll interno */
#cc-wrap{width:100%;max-width:100%;overflow:hidden;}
.cc-table-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--ag-line, #e5e7eb);border-radius:14px;background:#fff;}
.cc-table{min-width:1680px;width:max-content!important;border-collapse:collapse;}
.cc-table th,.cc-table td{white-space:normal;vertical-align:top;line-height:1.25;padding:10px 12px!important;}
.cc-table th{white-space:nowrap;position:sticky;top:0;z-index:1;}
.cc-table td:nth-child(1){min-width:92px;}
.cc-table td:nth-child(2),.cc-table td:nth-child(3){min-width:92px;}
.cc-table td:nth-child(4){min-width:150px;}
.cc-table td:nth-child(6){min-width:180px;}
.cc-table td:nth-child(8){min-width:110px;}
.cc-table td:nth-child(14),.cc-table td:nth-child(15){min-width:115px;}
.cc-table .num-col{text-align:right;white-space:nowrap;}
@media(max-width:980px){.cc-table{min-width:1450px}.cc-table-scroll{border-radius:12px}}


/* Cuenta corriente compacta / estable */
.cc-compact-wrap{
  width:100%;
  overflow-x:auto;
  border-radius:16px;
  border:1px solid var(--border, #e5e7eb);
  background:#fff;
}
.cc-compact-table{
  min-width:1050px;
  width:100%;
  table-layout:auto;
}
.cc-compact-table th,
.cc-compact-table td{
  white-space:nowrap;
  vertical-align:middle;
}
.cc-concepto{
  min-width:220px;
  max-width:360px;
  white-space:normal!important;
  line-height:1.25;
}
.cc-reg{
  font-weight:700;
  color:var(--text,#0f172a);
}
.cc-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:700;
  background:#f1f5f9;
  color:#334155;
  border:1px solid #e2e8f0;
}
.cc-chip.origen-gasto{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.cc-chip.origen-pago{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.cc-chip.origen-cobro{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.cc-chip.origen-comp{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}
.cc-chip.moneda-usd{background:#eff6ff;color:#1d4ed8;border-color:#bfdbfe}
.cc-chip.moneda-ars{background:#f0fdf4;color:#15803d;border-color:#bbf7d0}
.cc-chip.estado-ok{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.cc-chip.estado-warn{background:#fffbeb;color:#92400e;border-color:#fde68a}
.cc-chip.estado-pend{background:#fef2f2;color:#991b1b;border-color:#fecaca}
.cc-debe{color:var(--red,#dc2626);font-weight:700}
.cc-haber{color:var(--green,#16a34a);font-weight:700}
.btn-mini{
  border:1px solid #d7e3dc;
  background:#fff;
  color:#0f3d2e;
  border-radius:10px;
  padding:6px 10px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}
.btn-mini:hover{background:#f0fdf4}
.cc-detail-row td{
  background:#f8fafc!important;
  padding:14px 18px!important;
  border-top:0!important;
}
.cc-detail-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(160px,1fr));
  gap:12px;
  white-space:normal;
}
.cc-detail-grid div{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px 12px;
}
.cc-detail-grid div.wide{grid-column:span 4}
.cc-detail-grid b{
  display:block;
  font-size:11px;
  text-transform:uppercase;
  color:#64748b;
  margin-bottom:4px;
  letter-spacing:.03em;
}
.cc-detail-grid span{
  font-size:13px;
  color:#0f172a;
  font-weight:600;
}
@media (max-width: 768px){
  .cc-compact-table{min-width:900px}
  .cc-detail-grid{grid-template-columns:repeat(2,minmax(150px,1fr))}
  .cc-detail-grid div.wide{grid-column:span 2}
}


/* Cuenta Corriente - dashboard financiero compacto v16 */
#cc-kpis.metrics{display:block!important;margin-bottom:12px!important}
.cc-kpi-dashboard{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.cc-kpi-row{display:grid;gap:10px;width:100%}
.cc-kpi-row-main{grid-template-columns:repeat(3,minmax(220px,1fr))}
.cc-kpi-row-total{grid-template-columns:repeat(4,minmax(180px,1fr))}
.cc-kpi-group,.cc-kpi-total{background:#fff;border:1px solid var(--ag-line,#e5e7eb);border-radius:14px;box-shadow:0 4px 16px rgba(15,23,42,.035)}
.cc-kpi-group{padding:10px}
.cc-kpi-title{font-size:10.5px;text-transform:uppercase;letter-spacing:.055em;color:#64748b;font-weight:800;margin:0 0 8px}
.cc-kpi-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cc-kpi-mini{min-height:82px;border-radius:12px;border:1px solid #e9f0ec;background:linear-gradient(180deg,#f7fbf8,#fff);padding:10px 12px;display:flex;flex-direction:column;justify-content:center}
.cc-kpi-mini.usd{background:linear-gradient(180deg,#f4f8ff,#fff);border-color:#e2ebff}
.cc-kpi-mini.vencido{background:linear-gradient(180deg,#fff7f2,#fff);border-color:#fde2d2}
.cc-kpi-head span{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e8f7ec;color:#147331;font-size:10.5px;font-weight:900;line-height:1;margin-bottom:8px}
.cc-kpi-mini.usd .cc-kpi-head span{background:#e9f1ff;color:#1455d9}
.cc-kpi-mini.vencido .cc-kpi-head span{background:#fff0e8;color:#c2410c}
.cc-kpi-value{font-size:20px;font-weight:900;line-height:1.05;color:#087333;white-space:nowrap}
.cc-kpi-mini.usd .cc-kpi-value{color:#155ee8}.cc-kpi-mini.vencido .cc-kpi-value{color:#c2410c}
.cc-kpi-sub{font-size:10.5px;color:#64748b;margin-top:6px;line-height:1.25;white-space:normal}
.cc-kpi-total{min-height:72px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:linear-gradient(180deg,#fbfaff,#fff)}
.cc-kpi-total b{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:4px}.cc-kpi-total span{font-size:10.5px;color:#64748b}.cc-kpi-total strong{font-size:20px;color:#6d28d9;white-space:nowrap}
@media(max-width:1180px){.cc-kpi-row-main{grid-template-columns:1fr}.cc-kpi-row-total{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.cc-kpi-pair,.cc-kpi-row-total{grid-template-columns:1fr}.cc-kpi-mini{min-height:74px}.cc-kpi-value,.cc-kpi-total strong{font-size:18px}}

/* === V17 real: dashboard cuenta corriente más chico y menos invasivo === */
#cc-kpis.metrics{margin-bottom:8px!important;}
#cc-kpis .cc-kpi-dashboard{gap:6px!important;margin-bottom:8px!important;}
#cc-kpis .cc-kpi-row{gap:6px!important;}
#cc-kpis .cc-kpi-row-main{grid-template-columns:repeat(3,minmax(210px,1fr))!important;}
#cc-kpis .cc-kpi-row-total{grid-template-columns:repeat(4,minmax(160px,1fr))!important;}
#cc-kpis .cc-kpi-group,
#cc-kpis .cc-kpi-total{border-radius:10px!important;box-shadow:0 2px 8px rgba(15,23,42,.025)!important;}
#cc-kpis .cc-kpi-group{padding:7px!important;}
#cc-kpis .cc-kpi-title{font-size:9px!important;margin-bottom:5px!important;letter-spacing:.045em!important;}
#cc-kpis .cc-kpi-pair{gap:5px!important;}
#cc-kpis .cc-kpi-mini{min-height:54px!important;padding:6px 8px!important;border-radius:9px!important;}
#cc-kpis .cc-kpi-head span{font-size:9px!important;padding:2px 6px!important;margin-bottom:4px!important;}
#cc-kpis .cc-kpi-value{font-size:15px!important;line-height:1.05!important;letter-spacing:-.02em!important;}
#cc-kpis .cc-kpi-sub{font-size:9px!important;margin-top:3px!important;line-height:1.15!important;}
#cc-kpis .cc-kpi-total{min-height:48px!important;padding:7px 10px!important;gap:8px!important;}
#cc-kpis .cc-kpi-total b{font-size:9px!important;margin-bottom:2px!important;letter-spacing:.035em!important;}
#cc-kpis .cc-kpi-total span{font-size:9px!important;}
#cc-kpis .cc-kpi-total strong{font-size:15px!important;line-height:1.05!important;}
@media(max-width:1180px){
  #cc-kpis .cc-kpi-row-main{grid-template-columns:1fr!important;}
  #cc-kpis .cc-kpi-row-total{grid-template-columns:repeat(2,1fr)!important;}
}
@media(max-width:720px){
  #cc-kpis .cc-kpi-pair,
  #cc-kpis .cc-kpi-row-total{grid-template-columns:1fr!important;}
  #cc-kpis .cc-kpi-mini{min-height:50px!important;}
  #cc-kpis .cc-kpi-value,
  #cc-kpis .cc-kpi-total strong{font-size:14px!important;}
}

/* === V18: Cuenta Corriente compacta sin scroll horizontal en desktop + tipografía más definida === */
#cc-kpis,
#cc-kpis *{
  font-family: Arial, Helvetica, sans-serif !important;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
#cc-kpis .cc-kpi-dashboard{gap:5px!important;margin-bottom:6px!important;}
#cc-kpis .cc-kpi-row{gap:5px!important;}
#cc-kpis .cc-kpi-group{padding:6px!important;border-radius:9px!important;}
#cc-kpis .cc-kpi-title{font-size:8.5px!important;margin-bottom:4px!important;letter-spacing:.04em!important;}
#cc-kpis .cc-kpi-pair{gap:4px!important;}
#cc-kpis .cc-kpi-mini{min-height:46px!important;padding:5px 7px!important;border-radius:8px!important;}
#cc-kpis .cc-kpi-head span{font-size:8.5px!important;padding:2px 5px!important;margin-bottom:3px!important;}
#cc-kpis .cc-kpi-value{font-size:13.5px!important;line-height:1!important;font-weight:800!important;letter-spacing:0!important;}
#cc-kpis .cc-kpi-sub{font-size:8.5px!important;line-height:1.1!important;margin-top:2px!important;}
#cc-kpis .cc-kpi-total{min-height:42px!important;padding:6px 8px!important;border-radius:9px!important;}
#cc-kpis .cc-kpi-total b{font-size:8.5px!important;margin-bottom:1px!important;}
#cc-kpis .cc-kpi-total span{font-size:8.5px!important;}
#cc-kpis .cc-kpi-total strong{font-size:13.5px!important;font-weight:800!important;letter-spacing:0!important;}

#cc-wrap{width:100%!important;max-width:100%!important;overflow:hidden!important;}
#cc-wrap .cc-table-scroll,
#cc-wrap .cc-compact-wrap{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  border-radius:12px!important;
}
#cc-wrap table.cc-table,
#cc-wrap table.cc-compact-table,
#cc-wrap .cc-table-scroll table{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  table-layout:fixed!important;
  border-collapse:collapse!important;
}
#cc-wrap .cc-compact-table th,
#cc-wrap .cc-compact-table td,
#cc-wrap .cc-table th,
#cc-wrap .cc-table td{
  padding:6px 7px!important;
  font-size:11.5px!important;
  line-height:1.15!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  vertical-align:middle!important;
}
#cc-wrap .cc-compact-table th{
  font-size:10.5px!important;
  font-weight:800!important;
  color:#475569!important;
}
#cc-wrap .cc-compact-table th:nth-child(1),#cc-wrap .cc-compact-table td:nth-child(1){width:8.5%!important;}
#cc-wrap .cc-compact-table th:nth-child(2),#cc-wrap .cc-compact-table td:nth-child(2){width:7.5%!important;}
#cc-wrap .cc-compact-table th:nth-child(3),#cc-wrap .cc-compact-table td:nth-child(3){width:14%!important;}
#cc-wrap .cc-compact-table th:nth-child(4),#cc-wrap .cc-compact-table td:nth-child(4){width:8.5%!important;}
#cc-wrap .cc-compact-table th:nth-child(5),#cc-wrap .cc-compact-table td:nth-child(5){width:22%!important;}
#cc-wrap .cc-compact-table th:nth-child(6),#cc-wrap .cc-compact-table td:nth-child(6){width:6.5%!important;}
#cc-wrap .cc-compact-table th:nth-child(7),#cc-wrap .cc-compact-table td:nth-child(7){width:10.5%!important;text-align:right!important;}
#cc-wrap .cc-compact-table th:nth-child(8),#cc-wrap .cc-compact-table td:nth-child(8){width:10.5%!important;text-align:right!important;}
#cc-wrap .cc-compact-table th:nth-child(9),#cc-wrap .cc-compact-table td:nth-child(9){width:8%!important;}
#cc-wrap .cc-compact-table th:nth-child(10),#cc-wrap .cc-compact-table td:nth-child(10){width:4%!important;text-align:center!important;}
#cc-wrap .cc-chip{font-size:9.5px!important;padding:2px 5px!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
#cc-wrap .cc-reg{font-size:10.5px!important;font-weight:800!important;}
#cc-wrap .cc-concepto{max-width:none!important;}
#cc-wrap .btn-mini{font-size:10px!important;padding:4px 6px!important;border-radius:7px!important;}
#cc-wrap .cc-detail-row td{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;padding:8px!important;}
#cc-wrap .cc-detail-grid{grid-template-columns:repeat(4,minmax(120px,1fr))!important;gap:6px!important;}
#cc-wrap .cc-detail-grid div{padding:7px!important;}
#cc-wrap .cc-detail-grid b{font-size:9px!important;}
#cc-wrap .cc-detail-grid span{font-size:11px!important;}

@media(max-width:980px){
  #cc-wrap .cc-table-scroll,
  #cc-wrap .cc-compact-wrap{overflow-x:auto!important;}
  #cc-wrap table.cc-table,
  #cc-wrap table.cc-compact-table{min-width:900px!important;width:max-content!important;table-layout:auto!important;}
}
/* Maestros por empresa */
.hint-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:8px 12px;color:#64748b;font-size:12px;line-height:1.35}
.chip.mini{display:inline-flex;align-items:center;border-radius:999px;padding:2px 7px;font-size:10px;font-weight:700;border:1px solid transparent;line-height:1.2}
.chip.mini.ok{background:#ecfdf5;color:#166534;border-color:#bbf7d0}
.chip.mini.warn{background:#fff7ed;color:#9a3412;border-color:#fed7aa}
.btn-mini.danger{color:#991b1b;border-color:#fecaca;background:#fff7f7}
.btn-mini.danger:hover{background:#fef2f2}
/* TC automático / referencia */
.tc-inline{display:flex;gap:6px;align-items:center}
.tc-inline input{min-width:0;flex:1}
.tc-btn{width:34px;height:34px;border:.5px solid var(--border2);border-radius:10px;background:var(--bg2);color:var(--green);font-weight:800;cursor:pointer;line-height:1}
.tc-btn:hover{background:rgba(74,142,92,.10)}
.tc-src{display:block;margin-top:4px;font-size:10.5px;color:var(--text3);line-height:1.2;min-height:13px}


/* Cashflow v53: KPIs ejecutivos y lectura financiera */
.cf-kpi-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(190px,1fr));
  gap:10px;
  margin-bottom:1rem;
}
.cf-kpi-card{
  position:relative;
  overflow:hidden;
  border:.5px solid var(--border);
  border-radius:16px;
  background:var(--card);
  padding:12px 14px 11px 16px;
  box-shadow:0 8px 24px rgba(15,23,42,.06);
  min-height:86px;
}
.cf-kpi-card:before{
  content:"";
  position:absolute;
  left:0;top:0;bottom:0;
  width:4px;
  background:var(--blue);
}
.cf-kpi-card.in:before{background:var(--green)}
.cf-kpi-card.out:before,.cf-kpi-card.danger:before{background:var(--red)}
.cf-kpi-card.net:before{background:var(--blue)}
.cf-kpi-card.neutral:before{background:var(--text3)}
.cf-kpi-title{
  font-size:10px;
  line-height:1.1;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--text2);
  font-weight:800;
  margin-bottom:7px;
}
.cf-kpi-value{
  font-size:20px;
  line-height:1.05;
  font-weight:850;
  color:var(--text);
  margin-bottom:6px;
}
.cf-kpi-sub{
  font-size:11px;
  line-height:1.25;
  color:var(--text3);
}
.cf-kpi-card.in .cf-kpi-value{color:var(--green)}
.cf-kpi-card.out .cf-kpi-value,.cf-kpi-card.danger .cf-kpi-value{color:var(--red)}
.cf-list-card{
  overflow:auto;
  border:.5px solid var(--border);
  border-radius:16px;
  background:var(--card);
  box-shadow:0 8px 24px rgba(15,23,42,.05);
}
.cf-table-row-vencido{background:rgba(239,68,68,.045)}

.tc-btn-wide{width:auto;min-width:92px;padding:0 10px;white-space:nowrap}
/* v73 CC: detalle de vencimientos/cuotas */
.cc-vencimientos-box{margin-top:12px;padding:10px;border:1px solid var(--border,#e5e7eb);border-radius:12px;background:#fff}
.cc-vencimientos-box>b{display:block;margin-bottom:8px;color:var(--text2,#334155);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.cc-venc-table{font-size:12px;width:100%}
.cc-venc-table th,.cc-venc-table td{padding:6px 8px;white-space:nowrap}

/* v74 - Cuenta Corriente: vencimientos visibles y estados legibles */
#cc-wrap .cc-compact-wrap{overflow-x:auto!important;}
#cc-wrap table.cc-compact-table{min-width:1180px!important;width:100%!important;table-layout:fixed!important;}
#cc-wrap .cc-compact-table th:nth-child(1),#cc-wrap .cc-compact-table td:nth-child(1){width:8%!important;}
#cc-wrap .cc-compact-table th:nth-child(2),#cc-wrap .cc-compact-table td:nth-child(2){width:7%!important;}
#cc-wrap .cc-compact-table th:nth-child(3),#cc-wrap .cc-compact-table td:nth-child(3){width:18%!important;}
#cc-wrap .cc-compact-table th:nth-child(4),#cc-wrap .cc-compact-table td:nth-child(4){width:11%!important;}
#cc-wrap .cc-compact-table th:nth-child(5),#cc-wrap .cc-compact-table td:nth-child(5){width:10%!important;}
#cc-wrap .cc-compact-table th:nth-child(6),#cc-wrap .cc-compact-table td:nth-child(6){width:16%!important;}
#cc-wrap .cc-compact-table th:nth-child(7),#cc-wrap .cc-compact-table td:nth-child(7){width:6%!important;}
#cc-wrap .cc-compact-table th:nth-child(8),#cc-wrap .cc-compact-table td:nth-child(8){width:9%!important;text-align:right!important;}
#cc-wrap .cc-compact-table th:nth-child(9),#cc-wrap .cc-compact-table td:nth-child(9){width:9%!important;text-align:right!important;}
#cc-wrap .cc-compact-table th:nth-child(10),#cc-wrap .cc-compact-table td:nth-child(10){width:10%!important;}
#cc-wrap .cc-compact-table th:nth-child(11),#cc-wrap .cc-compact-table td:nth-child(11){width:7%!important;text-align:center!important;}
#cc-wrap .cc-vto-cell{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.25!important;}
#cc-wrap .cc-vto-main{font-weight:800;color:#0f172a;margin-bottom:3px;}
#cc-wrap .cc-vto-list{display:flex;flex-wrap:wrap;gap:3px;margin-bottom:3px;}
#cc-wrap .cc-vto-date{display:inline-flex;align-items:center;border:1px solid #e2e8f0;border-radius:999px;padding:1px 5px;font-size:10px;background:#f8fafc;color:#334155;}
#cc-wrap .cc-vto-date.estado-ok{background:#ecfdf5;color:#166534;border-color:#bbf7d0;}
#cc-wrap .cc-vto-date.estado-warn{background:#fffbeb;color:#92400e;border-color:#fde68a;}
#cc-wrap .cc-vto-date.estado-pend{background:#fef2f2;color:#991b1b;border-color:#fecaca;}
#cc-wrap .cc-vto-resumen{font-size:10px;color:#64748b;white-space:normal;}
#cc-wrap .cc-estado-cell{overflow:visible!important;text-overflow:clip!important;white-space:normal!important;}
#cc-wrap .cc-chip{font-size:10.5px!important;padding:3px 7px!important;max-width:none!important;overflow:visible!important;text-overflow:clip!important;white-space:nowrap!important;border-radius:999px!important;}
#cc-wrap .cc-chip.estado-ok::before{content:'● ';}
#cc-wrap .cc-chip.estado-warn::before{content:'● ';}
#cc-wrap .cc-chip.estado-pend::before{content:'● ';}
#cc-wrap .btn-mini{white-space:nowrap!important;padding:5px 8px!important;}
#cc-wrap .cc-venc-table .cc-chip{font-size:10px!important;padding:2px 6px!important;}

/* v75: semántica visual de estados de cuenta corriente */
#cc-wrap .cc-chip.estado-warn,
.cc-chip.estado-warn{background:#fff7ed!important;color:#c2410c!important;border-color:#fdba74!important;}
#cc-wrap .cc-chip.estado-info,
.cc-chip.estado-info{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}
#cc-wrap .cc-vto-date.estado-warn{background:#fff7ed!important;color:#c2410c!important;border-color:#fdba74!important;}
#cc-wrap .cc-vto-date.estado-info{background:#eff6ff!important;color:#1d4ed8!important;border-color:#bfdbfe!important;}

/* v77 · Estados visuales reales en Cuenta Corriente y vencimientos */
#cc-wrap .cc-chip.estado-ok,
.cc-chip.estado-ok{
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#86efac!important;
  min-width:108px!important;
  justify-content:center!important;
  text-align:center!important;
  font-weight:700!important;
}
#cc-wrap .cc-chip.estado-warn,
.cc-chip.estado-warn{
  background:#ffedd5!important;
  color:#c2410c!important;
  border-color:#fdba74!important;
  min-width:108px!important;
  justify-content:center!important;
  text-align:center!important;
  font-weight:700!important;
}
#cc-wrap .cc-chip.estado-info,
.cc-chip.estado-info{
  background:#dbeafe!important;
  color:#1d4ed8!important;
  border-color:#93c5fd!important;
  min-width:108px!important;
  justify-content:center!important;
  text-align:center!important;
  font-weight:700!important;
}
#cc-wrap .cc-chip.estado-pend,
.cc-chip.estado-pend{
  background:#fee2e2!important;
  color:#b91c1c!important;
  border-color:#fca5a5!important;
  min-width:108px!important;
  justify-content:center!important;
  text-align:center!important;
  font-weight:700!important;
}
#cc-wrap .cc-chip.estado-danger,
.cc-chip.estado-danger{
  background:#fecaca!important;
  color:#7f1d1d!important;
  border-color:#f87171!important;
  min-width:108px!important;
  justify-content:center!important;
  text-align:center!important;
  font-weight:800!important;
}
#cc-wrap .cc-vto-date{
  min-width:82px!important;
  justify-content:center!important;
  font-weight:700!important;
  font-variant-numeric:tabular-nums!important;
}
#cc-wrap .cc-vto-date.estado-ok{
  background:#dcfce7!important;
  color:#166534!important;
  border-color:#86efac!important;
}
#cc-wrap .cc-vto-date.estado-warn{
  background:#ffedd5!important;
  color:#c2410c!important;
  border-color:#fdba74!important;
}
#cc-wrap .cc-vto-date.estado-info{
  background:#dbeafe!important;
  color:#1d4ed8!important;
  border-color:#93c5fd!important;
}
#cc-wrap .cc-vto-date.estado-pend{
  background:#fee2e2!important;
  color:#b91c1c!important;
  border-color:#fca5a5!important;
}
#cc-wrap .cc-vto-date.estado-danger{
  background:#fecaca!important;
  color:#7f1d1d!important;
  border-color:#f87171!important;
}
#cc-wrap .cc-estado-cell{
  white-space:nowrap!important;
  min-width:124px!important;
}
#cc-wrap .cc-venc-table .cc-chip{
  min-width:104px!important;
}
/* v82: paleta gradual de bullets financieros */
.cf-kpi-card.warn:before{background:#f59e0b}
.cf-kpi-card.future:before{background:#64748b}
.cf-kpi-card.warn .cf-kpi-value{color:#b45309}
.cf-kpi-card.future .cf-kpi-value{color:#475569}

/* v84 · Cashflow compacto en una sola línea */
#cf-camp{display:none!important}
.cf-kpi-grid{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:8px!important;
  overflow-x:auto!important;
  padding-bottom:4px!important;
  margin-bottom:.65rem!important;
}
.cf-kpi-card{
  flex:0 0 150px!important;
  min-height:58px!important;
  padding:9px 10px 8px 13px!important;
  border-radius:13px!important;
}
.cf-kpi-title{font-size:9px!important;margin-bottom:4px!important;line-height:1.05!important}
.cf-kpi-value{font-size:17px!important;margin-bottom:3px!important;line-height:1.05!important}
.cf-kpi-sub{font-size:10px!important;line-height:1.1!important;white-space:normal!important}
.cf-tabs-v84{display:flex;gap:6px;margin:0 0 .7rem 0;align-items:center}
.cf-tabs-v84 button{border:.5px solid var(--border2);background:var(--card);border-radius:10px;padding:5px 12px;font-size:12px;cursor:pointer;color:var(--text2)}
.cf-tabs-v84 button.active{border-color:var(--blue);color:var(--blue);font-weight:700;background:rgba(37,99,235,.08)}

/* V85 Cashflow mensual tipo matriz */
#cf-kpis{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px!important;align-items:stretch}
.cf-kpi-card{min-height:68px!important;padding:10px 12px!important;border-radius:14px!important}
.cf-kpi-title{font-size:10px!important;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-kpi-value{font-size:19px!important;line-height:1.15!important;white-space:nowrap}
.cf-kpi-sub{font-size:10px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-tabs-v84{display:flex;gap:8px;margin:8px 0 10px 0;align-items:center}
.cf-tabs-v84 button{border:.5px solid var(--border);background:var(--card);border-radius:999px;padding:7px 13px;font-weight:800;cursor:pointer;color:var(--text)}
.cf-tabs-v84 button.active{background:var(--green);color:#fff;border-color:var(--green)}
.cf-month-card{overflow:auto;border:.5px solid var(--border);border-radius:16px;background:var(--card);box-shadow:var(--shadow-sm)}
.cf-month-table th{text-align:center;white-space:nowrap;position:sticky;top:0;background:var(--card)}
.cf-month-table td:first-child,.cf-month-table th:first-child{position:sticky;left:0;background:var(--card);z-index:1;font-weight:900;min-width:220px}
.cf-month-table td{vertical-align:top;min-width:150px}
.cf-cell-details summary{cursor:pointer;font-weight:900;text-align:right;list-style:none}
.cf-cell-details summary::-webkit-details-marker{display:none}
.cf-cell-details div{font-size:11px;color:var(--text2);padding:3px 0;border-top:.5px solid var(--border)}
.cf-income-cell summary{color:var(--green)}
.cf-expense-cell summary{color:var(--red)}
.cf-row-caja td{background:rgba(59,130,246,.06)!important}
.cf-row-neto td{background:rgba(148,163,184,.08)!important}
.cf-row-acum td{background:rgba(16,185,129,.06)!important}

/* V86 · Cashflow: bullets en una línea y celdas mensuales clickeables */
#cf-kpis.cf-kpi-grid,
#cf-kpis{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  overflow-x:auto!important;
  align-items:stretch!important;
  padding-bottom:4px!important;
}
#cf-kpis .cf-kpi-card{
  flex:1 0 126px!important;
  min-width:126px!important;
  min-height:58px!important;
  padding:8px 8px 7px 12px!important;
  border-radius:13px!important;
}
#cf-kpis .cf-kpi-title{
  font-size:8.5px!important;
  letter-spacing:.04em!important;
  margin-bottom:3px!important;
}
#cf-kpis .cf-kpi-value{
  font-size:16px!important;
  line-height:1.05!important;
  margin-bottom:2px!important;
}
#cf-kpis .cf-kpi-sub{
  font-size:9px!important;
  line-height:1.05!important;
}
.cf-cell-details summary{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
}
.cf-cell-details[open] summary .cf-expand-pill{background:rgba(37,99,235,.15);color:var(--blue)}
.cf-cell-amount{font-weight:900}
.cf-expand-pill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:9px;
  font-weight:800;
  color:var(--text2);
  background:var(--bg2);
  border:.5px solid var(--border2);
  border-radius:999px;
  padding:2px 5px;
  white-space:nowrap;
}
.cf-empty-cell{color:var(--text3);display:block;text-align:right}

/* V87 · Tesorería integral + cash mensual clickeable */
.tes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;margin-bottom:12px}
.tes-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;box-shadow:var(--shadow-sm)}
.tes-title{font-size:11px;color:var(--text2);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.tes-value{font-size:19px;font-weight:900;margin-top:4px;white-space:nowrap}.tes-sub{font-size:11px;color:var(--text3);margin-top:3px}
.tes-pos{color:var(--green)}.tes-neg{color:var(--red)}.tes-neutral{color:var(--text2)}
.tes-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}.tes-tabs button{border:1px solid var(--border);background:var(--bg2);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:800;cursor:pointer}.tes-tabs button.active{background:var(--green);color:white;border-color:var(--green)}
.tes-form{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px;margin-bottom:12px}.tes-form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;align-items:end}.tes-compact-table{font-size:12px;min-width:940px;width:100%}
.cf-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))!important;gap:8px!important}.cf-kpi-card{padding:9px 10px!important;min-height:auto!important}.cf-kpi-title{font-size:10px!important;line-height:1.1}.cf-kpi-value{font-size:15px!important;line-height:1.2;white-space:nowrap}.cf-kpi-sub{font-size:10px!important;line-height:1.15}
.cf-cell-details summary{cursor:pointer;list-style:none;display:flex;justify-content:flex-end;align-items:center;gap:6px}.cf-cell-details summary::-webkit-details-marker{display:none}.cf-expand-pill{font-size:10px;border:1px solid var(--border);border-radius:999px;padding:1px 6px;color:var(--text2);background:var(--bg2)}.cf-cell-details[open] .cf-expand-pill{background:var(--green);color:white;border-color:var(--green)}.cf-detail-line{padding:4px 0;border-top:1px dashed var(--border);font-size:11px;text-align:left}.cf-clickable-hint{font-size:10px;color:var(--text3);font-weight:700;margin-left:4px}

/* V139: tablas anchas con acciones visibles */
.table-scroll-x{width:100%;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;position:relative;}
.table-scroll-x table{min-width:1180px;}
.table-scroll-x th.sticky-actions,.table-scroll-x td.sticky-actions{position:sticky;right:0;background:var(--bg);z-index:3;box-shadow:-8px 0 12px rgba(0,0,0,.06);}
.table-scroll-x th.sticky-actions{background:var(--bg2);}
.gan-currency-toggle{display:inline-flex;border:.5px solid var(--border2);border-radius:999px;overflow:hidden;background:var(--bg2)}
.gan-currency-toggle button{border:0;background:transparent;padding:5px 10px;font-size:11px;cursor:pointer;color:var(--text2)}
.gan-currency-toggle button.active{background:var(--green);color:#fff;font-weight:600}


/* V143: menú lateral completo y tablas de Rodeo más compactas */
.app#app-content .tabs{padding-bottom:72px!important;}
.app#app-content .tab-dropdown{max-height:none!important;overflow:visible!important;}
.app#app-content .tab-item{padding-top:7px!important;padding-bottom:7px!important;font-size:12.5px!important;}
.gan-rodeo-compact table{font-size:11px!important;}
.gan-rodeo-compact th,.gan-rodeo-compact td{padding:4px 5px!important;white-space:nowrap!important;line-height:1.15!important;}
.gan-rodeo-compact th:first-child,.gan-rodeo-compact td:first-child{min-width:118px!important;max-width:150px!important;white-space:normal!important;}
.gan-rodeo-compact th:nth-child(2),.gan-rodeo-compact td:nth-child(2){max-width:78px!important;}
.gan-rodeo-compact th:nth-child(3),.gan-rodeo-compact td:nth-child(3),
.gan-rodeo-compact th:nth-child(4),.gan-rodeo-compact td:nth-child(4),
.gan-rodeo-compact th:nth-child(5),.gan-rodeo-compact td:nth-child(5){max-width:70px!important;}
.gan-rodeo-compact div[style*="font-size:10px"]{font-size:9px!important;line-height:1.05!important;}


/* V144 - Alertas operativas */
.ag-alert-bell{position:relative;border:1px solid var(--border2);background:var(--bg);color:var(--text);border-radius:999px;min-width:38px;height:34px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm)}
.ag-alert-bell:hover{background:var(--bg2)}
.ag-alert-badge{position:absolute;top:-6px;right:-6px;background:#dc2626;color:#fff;border-radius:999px;font-size:10px;font-weight:800;line-height:1;padding:4px 6px;min-width:18px;text-align:center;border:2px solid var(--bg)}
.ag-alertas-panel{margin:12px 0 16px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--bg);box-shadow:var(--shadow-sm)}
.ag-alertas-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}
.ag-alertas-head h2{margin:0;font-size:15px;letter-spacing:-.01em}.ag-alertas-head p{margin:2px 0 0;color:var(--text2);font-size:11px}
.ag-alertas-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}
.ag-alert-card{border:1px solid var(--border);border-radius:14px;padding:11px;background:var(--bg2);min-height:88px}
.ag-alert-card .lbl{font-size:11px;color:var(--text2);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ag-alert-card .val{font-size:19px;font-weight:850;margin-top:5px}.ag-alert-card .sub{font-size:11px;color:var(--text2);margin-top:4px;line-height:1.35}
.ag-alert-card.red{background:rgba(239,68,68,.07);border-color:rgba(239,68,68,.22)}.ag-alert-card.red .val{color:#dc2626}
.ag-alert-card.amber{background:rgba(245,158,11,.08);border-color:rgba(245,158,11,.24)}.ag-alert-card.amber .val{color:#b45309}
.ag-alert-card.green{background:rgba(34,197,94,.08);border-color:rgba(34,197,94,.22)}.ag-alert-card.green .val{color:#15803d}
.ag-alert-card.blue{background:rgba(59,130,246,.07);border-color:rgba(59,130,246,.22)}.ag-alert-card.blue .val{color:#2563eb}
.ag-alertas-list{display:grid;gap:7px}.ag-alert-row{display:grid;grid-template-columns:72px 78px 1fr 110px 94px;gap:8px;align-items:center;border:1px solid var(--border);border-radius:12px;padding:8px 10px;background:var(--bg);font-size:12px}.ag-alert-row .tag{font-size:10px;font-weight:800;text-transform:uppercase;border-radius:999px;padding:3px 7px;text-align:center}.ag-alert-row .tag.pago{background:rgba(239,68,68,.12);color:#dc2626}.ag-alert-row .tag.cobro{background:rgba(34,197,94,.13);color:#15803d}.ag-alert-row .fecha{color:var(--text2);font-weight:700}.ag-alert-row .monto{text-align:right;font-weight:850}.ag-alert-row .estado{text-align:right;color:var(--text2);font-size:11px}.ag-alertas-collapsed{border:1px dashed var(--border);border-radius:12px;padding:10px 12px;color:var(--text2);font-size:12px;background:rgba(15,23,42,.02)}
.ag-alert-center{position:fixed;top:64px;right:18px;width:min(430px,calc(100vw - 30px));max-height:72vh;overflow:auto;z-index:9999;background:var(--bg);border:1px solid var(--border);border-radius:18px;box-shadow:0 20px 50px rgba(15,23,42,.22);padding:12px}.ag-alert-center h3{margin:0 0 8px;font-size:16px}.ag-alert-center .ag-alert-row{grid-template-columns:62px 70px 1fr 92px;}.ag-alert-center .ag-alert-row .estado{display:none}
@media(max-width:980px){.ag-alertas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ag-alert-row{grid-template-columns:66px 70px 1fr 88px}.ag-alert-row .estado{display:none}}
@media(max-width:620px){.ag-alertas-grid{grid-template-columns:1fr}.ag-alert-row{grid-template-columns:1fr;gap:4px}.ag-alert-row .monto{text-align:left}.ag-alertas-head{display:block}.ag-alertas-head button{margin-top:8px}}

/* v145 alertas UX */
.ag-alert-card{appearance:none;border:1px solid var(--border);border-radius:14px;padding:9px 10px;text-align:left;background:var(--bg);cursor:pointer;min-height:84px;transition:.12s ease;display:block;width:100%}
.ag-alert-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-sm)}
.ag-alert-card .lbl{font-size:10px;text-transform:uppercase;letter-spacing:.04em;font-weight:800;color:var(--text2)}
.ag-alert-card .val{font-size:20px;line-height:1.05;font-weight:900;margin-top:4px}
.ag-alert-card .sub{font-size:10.5px;color:var(--text2);line-height:1.3;margin-top:5px}
.ag-alert-card .hint{font-size:10px;color:var(--text3);margin-top:5px}
.ag-alert-card.red{background:rgba(239,68,68,.06);border-color:rgba(239,68,68,.22)}
.ag-alert-card.amber{background:rgba(245,158,11,.06);border-color:rgba(245,158,11,.24)}
.ag-alert-card.blue{background:rgba(59,130,246,.06);border-color:rgba(59,130,246,.22)}
.ag-alert-card.green{background:rgba(34,197,94,.06);border-color:rgba(34,197,94,.22)}
.ag-alert-card.active{outline:2px solid rgba(22,101,52,.35);box-shadow:0 0 0 4px rgba(22,101,52,.08)}

/* V146 alertas: centro desplegable y UX limpia */
.ag-alert-center{position:absolute;right:82px;top:58px;width:min(520px,calc(100vw - 28px));max-height:70vh;overflow:auto;background:var(--bg);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 50px rgba(15,23,42,.18);z-index:3000;padding:12px}
.ag-alert-center h3{margin:0;font-size:15px}.ag-alert-center .ag-alert-row{grid-template-columns:72px 64px 1fr 105px;margin-top:7px}.ag-alert-center .ag-alert-row .monto{text-align:right}
.ag-alert-card{min-height:92px}.ag-alert-card .hint{opacity:.62}
@media(max-width:720px){.ag-alert-center{right:10px;top:64px;width:calc(100vw - 20px)}.ag-alert-center .ag-alert-row{grid-template-columns:1fr;gap:4px}.ag-alert-center .ag-alert-row .monto{text-align:left}}

/* V147 - campanita robusta */
#hs-alert-bell{pointer-events:auto!important;position:relative!important;z-index:10050!important;}
#hs-alert-center{position:fixed!important;top:70px!important;right:18px!important;z-index:10049!important;}

/* V148 - Inicio ejecutivo compacto */
#home-screen .ag-home-section-title{
  font-size:12px!important;
  font-weight:850!important;
  color:#334155!important;
  text-transform:uppercase!important;
  letter-spacing:.045em!important;
  margin:14px 0 8px!important;
}
#home-screen .ag-kpi-grid.ag-kpi-estructura{
  grid-template-columns:repeat(4,minmax(170px,1fr))!important;
  margin-bottom:10px!important;
}
#home-screen .ag-kpi-grid.ag-kpi-gestion{
  grid-template-columns:repeat(5,minmax(160px,1fr))!important;
  margin-bottom:12px!important;
}
#home-screen .ag-kpi{
  min-height:78px!important;
  padding:13px 15px!important;
  border-radius:14px!important;
  gap:11px!important;
}
#home-screen .ag-kpi-icon{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  font-size:20px!important;
}
#home-screen .ag-kpi strong{font-size:20px!important;line-height:1.05!important;}
#home-screen .ag-kpi span{font-size:11px!important;}
#home-screen .ag-kpi-sub{font-size:10.5px!important;line-height:1.2!important;}
#home-screen .ag-alertas-panel{
  margin:12px 0 12px!important;
  padding:10px 12px!important;
  border-radius:15px!important;
}
#home-screen .ag-alertas-head{margin-bottom:7px!important;align-items:center!important;}
#home-screen .ag-alertas-head h2{font-size:14px!important;}
#home-screen .ag-alertas-head p{font-size:10.5px!important;}
#home-screen .ag-alertas-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px!important;
  margin-bottom:7px!important;
}
#home-screen .ag-alert-card{
  min-height:58px!important;
  padding:8px 10px!important;
  border-radius:12px!important;
  text-align:left!important;
}
#home-screen .ag-alert-card .lbl{font-size:10px!important;}
#home-screen .ag-alert-card .val{font-size:17px!important;margin-top:2px!important;display:inline-block!important;min-width:28px!important;}
#home-screen .ag-alert-card .sub{font-size:10px!important;margin-top:2px!important;line-height:1.25!important;display:inline-block!important;margin-left:8px!important;vertical-align:baseline!important;}
#home-screen .ag-alert-card .hint{display:none!important;}
#home-screen .ag-alertas-collapsed{padding:8px 10px!important;font-size:11px!important;}
#home-screen .ag-alert-row{padding:7px 9px!important;min-height:42px!important;font-size:11px!important;}
#home-screen .ag-module-board{margin-top:20px!important;padding-top:20px!important;}
@media(max-width:1100px){
  #home-screen .ag-kpi-grid.ag-kpi-estructura,
  #home-screen .ag-kpi-grid.ag-kpi-gestion{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #home-screen .ag-alertas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:620px){
  #home-screen .ag-kpi-grid.ag-kpi-estructura,
  #home-screen .ag-kpi-grid.ag-kpi-gestion,
  #home-screen .ag-alertas-grid{grid-template-columns:1fr!important;}
}
