
@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&display=swap');

:root{
  --erp-bg:#f4f7fb;
  --erp-surface:#ffffff;
  --erp-surface-soft:#f8fbff;
  --erp-text:#1e2a38;
  --erp-text-soft:#6c7a89;
  --erp-line:#d9e3ef;
  --erp-primary:#1f4f8f;
  --erp-primary-2:#2f6db5;
  --erp-primary-soft:#eef4fd;
  --erp-success:#2fbf71;
  --erp-success-soft:#eef9f2;
  --erp-warning:#f2a93b;
  --erp-warning-soft:#fff7ea;
  --erp-danger:#e55353;
  --erp-danger-soft:#fff1f1;
  --erp-shadow:0 10px 28px rgba(30,42,56,.08);
  --erp-shadow-soft:0 6px 16px rgba(30,42,56,.05);
}

/* Base */
html, body{
  font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background:linear-gradient(180deg,#f7faff 0%, #f4f7fb 100%) !important;
  color:var(--erp-text) !important;
  letter-spacing:-0.01em;
}
body{
  font-size:14px !important;
}

/* Sidebar */
.sidebar{
  background:linear-gradient(180deg,#17395b 0%, #17324d 44%, #12263f 100%) !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  box-shadow:10px 0 24px rgba(10,20,35,.14);
}
.brand h1{
  color:#fff !important;
  font-size:22px !important;
  font-weight:700 !important;
  letter-spacing:-0.03em !important;
}
.brand small{
  color:rgba(255,255,255,.78) !important;
  font-weight:600 !important;
  font-size:12px !important;
}
.menu-group summary{
  color:rgba(255,255,255,.84) !important;
  font-weight:700 !important;
  text-transform:none !important;
}
.nav, .nav.link, .nav.logout{
  border-radius:14px !important;
  color:rgba(255,255,255,.92) !important;
  background:transparent !important;
  font-weight:600 !important;
  text-transform:none !important;
  transition:all .16s ease;
}
.nav:hover, .nav.link:hover, .nav.logout:hover{
  background:rgba(255,255,255,.08) !important;
  transform:translateX(2px);
}
.nav.active, .nav.link.active{
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08)) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10);
}

/* Header */
.header{
  background:transparent !important;
  border:none !important;
  padding-bottom:16px !important;
}
.header h1{
  color:#17395b !important;
  font-size:32px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:-0.045em !important;
  text-transform:none !important;
}
.header p{
  color:var(--erp-text-soft) !important;
  font-size:14px !important;
  font-weight:500 !important;
  text-transform:none !important;
}
.pill{
  background:#fff !important;
  color:#17324d !important;
  border:1px solid var(--erp-line) !important;
  border-radius:999px !important;
  font-weight:700 !important;
  box-shadow:var(--erp-shadow-soft) !important;
}

/* KPI */
.kpis{
  display:grid !important;
  grid-template-columns:repeat(6,1fr);
  gap:14px !important;
}
.kpi{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  border:1px solid var(--erp-line) !important;
  border-radius:18px !important;
  padding:18px !important;
  box-shadow:var(--erp-shadow-soft) !important;
  position:relative;
  overflow:hidden;
}
.kpi::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%; height:4px;
  background:linear-gradient(90deg,var(--erp-primary),var(--erp-primary-2));
}
.kpi:nth-child(2)::before{background:linear-gradient(90deg,#2f6db5,#7ba8e4);}
.kpi:nth-child(3)::before{background:linear-gradient(90deg,var(--erp-warning),#ffd27e);}
.kpi:nth-child(4)::before{background:linear-gradient(90deg,var(--erp-success),#89d8a9);}
.kpi:nth-child(5)::before{background:linear-gradient(90deg,#7e57c2,#b49aff);}
.kpi:nth-child(6)::before{background:linear-gradient(90deg,#0ea5a6,#6ddcdc);}
.kpi span{
  display:block !important;
  color:var(--erp-text-soft) !important;
  font-size:12px !important;
  font-weight:700 !important;
  margin-bottom:10px !important;
  text-transform:none !important;
}
.kpi strong{
  color:#17395b !important;
  font-size:28px !important;
  line-height:1 !important;
  font-weight:700 !important;
}

/* Cards and sections */
.card, .table-wrap{
  background:rgba(255,255,255,.98) !important;
  border:1px solid var(--erp-line) !important;
  border-radius:20px !important;
  box-shadow:var(--erp-shadow) !important;
}
.card{
  padding:20px !important;
}
.card-head h2{
  color:#17395b !important;
  font-size:21px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:-0.03em !important;
  text-transform:none !important;
}
.card-head span{
  color:var(--erp-text-soft) !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-transform:none !important;
}
.note-box{
  background:linear-gradient(180deg,#f8fbff,#f3f8fd) !important;
  border:1px dashed #c8d7e8 !important;
  color:#62809f !important;
  border-radius:16px !important;
  font-weight:600 !important;
}

/* Inputs and forms */
input, select, textarea{
  font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background:#fff !important;
  border:1px solid #cdd9e6 !important;
  border-radius:15px !important;
  color:#17324d !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-transform:none !important;
  box-shadow:0 1px 0 rgba(255,255,255,.7) inset;
}
input::placeholder, textarea::placeholder{
  color:#8395ab !important;
  font-weight:600 !important;
}
input:focus, select:focus, textarea:focus{
  outline:none !important;
  border-color:var(--erp-primary-2) !important;
  box-shadow:0 0 0 4px rgba(47,109,181,.12) !important;
}

/* Buttons */
button, .btn, .download{
  font-family:'IBM Plex Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background:linear-gradient(135deg,var(--erp-primary-2),var(--erp-primary)) !important;
  color:#fff !important;
  border:none !important;
  border-radius:16px !important;
  font-size:14px !important;
  font-weight:700 !important;
  text-transform:none !important;
  box-shadow:0 10px 20px rgba(31,79,143,.18);
}
button:hover, .btn:hover, .download:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}
.btn-secondary, .download.mini, .btn.secondary{
  background:#eef5fc !important;
  color:#17324d !important;
  border:1px solid var(--erp-line) !important;
  box-shadow:none !important;
}
.danger{
  background:linear-gradient(135deg,#e56262,#c84a4a) !important;
}

/* Tables */
table{
  border-collapse:separate !important;
  border-spacing:0 !important;
}
thead th{
  background:#f3f7fb !important;
  color:#6a86a5 !important;
  font-size:12px !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:.01em !important;
}
tbody td{
  color:#223548 !important;
  font-size:13px !important;
  font-weight:600 !important;
  text-transform:none !important;
}
tbody tr:nth-child(odd){
  background:rgba(247,251,255,.65) !important;
}
tbody tr:hover{
  background:#eef5fc !important;
}

/* Maps */
.visual-map .map-cell{
  border-radius:16px !important;
  box-shadow:var(--erp-shadow-soft);
}
.visual-map .map-cell.empty{
  background:#eef4fb !important;
  border-color:#d2deec !important;
}
.visual-map .map-cell.free{
  background:var(--erp-success-soft) !important;
  border-color:#b9dfc7 !important;
}
.visual-map .map-cell.partial{
  background:var(--erp-warning-soft) !important;
  border-color:#efd6a4 !important;
}
.visual-map .map-cell.sold{
  background:var(--erp-danger-soft) !important;
  border-color:#e5c0c0 !important;
}
.visual-map .map-cell .pos{
  color:#1f4269 !important;
  font-weight:700 !important;
}
.visual-map .map-cell .code{
  color:#6a86a5 !important;
  font-weight:600 !important;
}

/* Search block */
.buscador-bin-pro, .buscador-bin-pro-max{
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  border:2px solid var(--erp-primary-2) !important;
  border-radius:22px !important;
  box-shadow:0 14px 28px rgba(31,79,143,.10) !important;
}
.buscador-titulo, .buscador-titulo-pro{
  color:#17395b !important;
  font-weight:700 !important;
  text-transform:none !important;
}
.buscador-subtitulo-pro{
  color:#6a86a5 !important;
  font-weight:600 !important;
}
.buscador-icon-pro{
  background:linear-gradient(135deg,var(--erp-primary-2),var(--erp-primary)) !important;
}
.buscador-caja input, .buscador-caja-pro input{
  border-radius:16px !important;
}
.buscador-caja button, .buscador-caja-pro button{
  border-radius:16px !important;
}

/* General text polish */
h1,h2,h3,h4,p,span,strong,label,summary,option,td,th{
  text-transform:none !important;
}
.footer-note{
  color:#6c7a89 !important;
  font-weight:600 !important;
}

/* Responsive */
@media (max-width:1200px){
  .kpis{ grid-template-columns:repeat(3,1fr) !important; }
}
@media (max-width:800px){
  .kpis{ grid-template-columns:1fr 1fr !important; }
}
@media (max-width:560px){
  .kpis{ grid-template-columns:1fr !important; }
}


:root{
  --bg:#eef3f9;
  --panel:#ffffff;
  --line:#d9e2ee;
  --text:#18314f;
  --muted:#6480a0;
  --blue:#173a67;
  --blue2:#2f6db5;
  --danger:#dd564f;
  --shadow:0 10px 30px rgba(18,44,79,.08);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:linear-gradient(180deg,#f6f9fd,#edf3f9);color:var(--text)}
.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px}
.login-card{width:100%;max-width:480px;background:#fff;border:1px solid var(--line);border-radius:28px;padding:34px;text-align:center;box-shadow:var(--shadow)}
.badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#eaf3ff;color:#356db2;font-size:12px;font-weight:700;letter-spacing:.4px;margin-bottom:16px}
h1,h2,h3{margin:0 0 10px}
p{margin:0 0 18px;color:var(--muted)}
.error-box{background:#fff1f0;border:1px solid #f2c7c5;color:#b5433e;padding:12px;border-radius:14px;margin-bottom:12px}
.help-text{font-size:12px;color:var(--muted);margin-top:8px}
input,select,textarea,button{width:100%;border-radius:18px;border:1px solid var(--line);background:#fff;color:var(--text);padding:16px 17px;margin-bottom:12px;font-size:17px;outline:none}
input:focus,select:focus,textarea:focus{border-color:#8eb8ef;box-shadow:0 0 0 3px rgba(47,109,181,.08)}
textarea{min-height:124px;resize:vertical}
input::placeholder, textarea::placeholder{color:#7b8ca0;opacity:.82;font-weight:600}
button{cursor:pointer;font-weight:800;background:linear-gradient(180deg,#3d78c0,#2f6db5);color:#fff;border:none}
.layout{display:grid;grid-template-columns:320px 1fr;min-height:100vh}
.sidebar{background:linear-gradient(180deg,#16365f,#0f2848);color:#fff;padding:22px;display:flex;flex-direction:column;gap:10px;box-shadow:8px 0 24px rgba(9,23,41,.08)}
.brand{font-size:30px;font-weight:900;letter-spacing:-.8px}
.subbrand{font-size:12px;color:#bfd0e8;margin-bottom:10px}
.nav,.nav.link{display:block;width:100%;text-align:left;padding:14px 16px;border-radius:16px;text-decoration:none;color:#fff;background:transparent;border:1px solid transparent;font-weight:700}
.nav.active,.nav:hover,.nav.link:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.1)}
.support-box{margin-top:auto;padding:16px;border-radius:18px;background:rgba(255,255,255,.08);line-height:1.5}
.support-box a{color:#fff;text-decoration:none;font-weight:700}
.support-title{font-weight:800;margin-bottom:6px}
.support-dev{margin-top:8px;font-size:12px;color:#d7e3f4}
.main{padding:24px}
.header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:18px}
.header h1{font-size:54px;letter-spacing:-1.8px}
.header p{font-size:18px}
.pill{padding:12px 16px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);font-weight:700}
.kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}
.kpi{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow)}
.kpi span{display:block;color:var(--muted);font-size:13px;margin-bottom:10px;font-weight:700}
.kpi strong{font-size:32px;letter-spacing:-1px}
.module{display:none}
.module.active{display:block}
.card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}
.card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:18px}
.card-head h2{font-size:34px;letter-spacing:-1px;line-height:1.05}
.card-head span{color:var(--muted);font-size:14px;font-weight:700;max-width:280px;text-align:right}
.grid,.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.split{grid-template-columns:minmax(480px, 1.1fr) minmax(620px, 1.6fr)}
.full{grid-column:1/-1}
.checks{display:flex;gap:18px;flex-wrap:wrap}
.checks label{display:flex;gap:8px;align-items:center;font-weight:700}
.table-wrap{overflow:auto}
.table-wrap.small{max-height:500px}
table{width:100%;border-collapse:collapse;min-width:980px}
th,td{padding:14px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:16px}
th{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.download{display:inline-block;margin-top:10px;padding:12px 16px;border-radius:14px;background:#eff5fc;border:1px solid var(--line);color:var(--text);text-decoration:none;font-weight:800}
.charts{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.chart-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;min-height:330px}
.footer-note{padding:18px 6px 4px;color:var(--muted);font-size:13px;font-weight:700}
.danger{background:linear-gradient(180deg,#e0655f,#dd564f)}
@media (max-width:1500px){.kpis{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}}
@media (max-width:1150px){.charts,.grid,.filter-grid{grid-template-columns:1fr}.header{flex-direction:column}.header h1{font-size:42px}}
@media (max-width:900px){.layout{grid-template-columns:1fr}.sidebar{position:sticky;top:0;z-index:10}.kpis{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.kpis{grid-template-columns:1fr}.header h1{font-size:34px}}

/* V6.5 visual adjustments */
.header h1{font-size:42px !important;letter-spacing:-1px !important}
.header p{font-size:15px !important}
.brand{font-size:24px !important}
.pill{padding:10px 14px !important;font-size:14px !important}
.kpi strong{font-size:22px !important}
.kpi span{font-size:12px !important}
.card-head h2{font-size:26px !important}
.card-head span{font-size:12px !important}
input,select,textarea,button{font-size:14px !important;padding:12px 14px !important;border-radius:14px !important}
textarea{min-height:96px !important}
.sidebar{padding:18px !important}
.nav,.nav.link{padding:12px 14px !important;font-size:13px !important}
.download{font-size:13px !important;padding:10px 13px !important}
th,td{font-size:14px !important;padding:11px 10px !important}
#ventas .card:first-child .card-head h2{font-size:24px !important}
#ventas .card:first-child .card-head span{font-size:12px !important}
#ventas .card:first-child input,
#ventas .card:first-child select,
#ventas .card:first-child textarea{font-size:14px !important;padding:12px 14px !important}
#ventas .split{grid-template-columns:minmax(420px,.9fr) minmax(720px,1.5fr) !important}
@media (max-width:1500px){
  #ventas .split{grid-template-columns:1fr !important}
}
input::placeholder, textarea::placeholder{font-size:14px !important;font-weight:600 !important;color:#8a98aa !important}

.note-box{display:flex;align-items:center;padding:12px 14px;border:1px dashed #b8c9dc;border-radius:14px;background:#f7fbff;color:#5c7994;font-size:14px;font-weight:700}
.filter-grid.compact input,.filter-grid.compact select,.filter-grid.compact button{margin-bottom:0}

.note-box{display:flex;align-items:center;padding:12px 14px;border:1px dashed #b8c9dc;border-radius:14px;background:#f7fbff;color:#5c7994;font-size:14px;font-weight:700}

.map-grid{display:grid;gap:8px}
.patio-grid{grid-template-columns:repeat(10, minmax(84px,1fr))}
.camara-grid{grid-template-columns:repeat(5, minmax(120px,1fr))}
.map-cell{border:1px solid var(--line);border-radius:14px;background:#fff;padding:10px;min-height:74px;display:flex;flex-direction:column;justify-content:center;gap:4px;box-shadow:var(--shadow)}
.map-cell strong{font-size:14px}
.map-cell span{font-size:12px;color:var(--muted);line-height:1.15}
.map-cell.empty{background:#f8fbff}
.map-cell.full{background:#edf8ef;border-color:#b7ddbf}
.map-cell.partial{background:#fff8e8;border-color:#eedca5}
.map-cell.low{background:#fff0ef;border-color:#efb7b3}
@media (max-width:1100px){
  .patio-grid{grid-template-columns:repeat(5, minmax(84px,1fr))}
  .camara-grid{grid-template-columns:repeat(3, minmax(110px,1fr))}
}

.peso-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.hidden{display:none !important}
@media (max-width:900px){.peso-grid{grid-template-columns:1fr}}

.inventory-actions{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.btn-secondary{width:auto;background:#eff5fc;color:#17324d;border:1px solid var(--line);padding:10px 14px;border-radius:12px;font-weight:800}
.inventory-text{position:absolute;left:-9999px;top:-9999px;opacity:0;height:1px;width:1px}
.commercial-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
.commercial-card{background:linear-gradient(180deg,#ffffff,#f7fbff);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow);min-height:156px;display:flex;flex-direction:column;justify-content:center}
.commercial-title{font-size:26px;font-weight:900;color:#17324d;margin-bottom:10px}
.commercial-count{font-size:22px;font-weight:800;color:#2f6db5;margin-bottom:8px}
.commercial-kilos{font-size:18px;font-weight:800;color:#17324d}
.commercial-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}
.commercial-summary-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow)}
.commercial-summary-item span{display:block;color:var(--muted);font-size:13px;margin-bottom:10px;font-weight:700}
.commercial-summary-item strong{font-size:28px}
.commercial-empty{padding:26px;border:1px dashed #b8c9dc;border-radius:18px;background:#f8fbff;color:#6480a0;font-weight:700}
@media (max-width:1100px){.commercial-grid,.commercial-summary{grid-template-columns:1fr}}

.menu-group{margin:12px 0;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06)}
.menu-group.single{background:transparent;border:none;margin-top:8px}
.menu-group summary{list-style:none;cursor:pointer;padding:14px 16px;font-weight:900;font-size:15px;color:#fff;display:flex;align-items:center;justify-content:space-between}
.menu-group summary::-webkit-details-marker{display:none}
.menu-group summary::after{content:"+";font-size:18px;font-weight:900;opacity:.8}
.menu-group[open] summary::after{content:"−"}
.submenu{display:flex;flex-direction:column;padding:0 10px 10px}
.submenu .nav,.submenu .logout{margin:4px 0}
.logout{text-decoration:none;text-align:left}
.sidebar .nav{width:100%}

.venta-pro-wrap{display:grid;gap:10px}
.venta-row{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:10px;align-items:center}
.available-kilos{background:#f7fbff}
@media (max-width:1100px){
  .venta-row{grid-template-columns:1fr}
}

.system-footer{
  margin-top:18px;
  padding:16px 22px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  color:#5d7896;
  font-weight:800;
  font-size:14px;
  flex-wrap:wrap;
}
.support-link{
  color:#17324d;
  text-decoration:none;
}
.support-link:hover{
  text-decoration:underline;
}

.commercial-price{font-size:16px;font-weight:900;color:#2f6db5;margin-top:10px}
.brand h1{font-size:28px;line-height:1.1}
.brand small{font-size:14px}
.topbar h2{font-size:56px;line-height:1.05}
.topbar p{font-size:18px}
@media (max-width:1100px){
  .topbar h2{font-size:40px}
}

.admin-user-form,.inline-form{display:grid;gap:10px}
.perm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border:1px solid var(--line);padding:12px;border-radius:14px;background:#f8fbff}
.perm-grid.mini{grid-template-columns:repeat(4,1fr);margin-top:8px}
.perm-item{font-size:12px;color:#17324d;font-weight:700}
@media (max-width:1100px){
  .perm-grid,.perm-grid.mini{grid-template-columns:1fr}
}

.pay-title{
  font-size:18px;
  font-weight:900;
  color:#17324d;
  margin-top:6px;
}
.floating-wa{
  position:fixed;
  left:18px;
  bottom:18px;
  z-index:999;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 16px;
  border-radius:999px;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  box-shadow:0 12px 26px rgba(0,0,0,.18);
}
.floating-wa:hover{
  transform:translateY(-1px);
}
.wa-icon{
  font-size:20px;
  line-height:1;
}
.wa-text{
  font-size:15px;
}
@media (max-width:900px){
  .floating-wa{
    left:12px;
    bottom:12px;
    padding:11px 14px;
  }
  .wa-text{
    display:none;
  }
}

.legend{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:14px;color:#5d7896;font-weight:800}
.dot{display:inline-block;width:12px;height:12px;border-radius:999px;margin-right:6px;vertical-align:middle}
.dot.free{background:#24a148}
.dot.partial{background:#f59e0b}
.dot.sold{background:#d65d4f}
.dot.empty{background:#c8d6e5}
.visual-map{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}
.visual-map.camara{grid-template-columns:repeat(4,1fr)}
.map-cell{border:1px solid var(--line);border-radius:16px;padding:10px;background:#fff;min-height:78px;text-align:left;box-shadow:var(--shadow)}
.map-cell .pos{display:block;font-weight:900;color:#17324d;font-size:13px}
.map-cell .code{display:block;margin-top:8px;font-size:12px;font-weight:800;color:#5d7896}
.map-cell.free{background:#ecfdf3;border-color:#9fe0b2}
.map-cell.partial{background:#fff7e6;border-color:#f3d38d}
.map-cell.sold{background:#fff0ee;border-color:#e7aba3}
.map-cell.empty{background:#f7fbff}
.step-box{padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:var(--shadow);margin-top:10px;font-weight:800;color:#17324d}
@media (max-width:1100px){
  .visual-map,.visual-map.camara{grid-template-columns:1fr 1fr}
}

.map-modal{
  position:fixed;inset:0;background:rgba(10,20,35,.42);display:flex;align-items:center;justify-content:center;z-index:2000;padding:18px;
}
.map-modal.hidden{display:none}
.map-modal-card{
  width:min(460px,100%);background:#fff;border-radius:20px;padding:18px;box-shadow:0 16px 38px rgba(0,0,0,.22)
}
.map-modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.map-modal-head h3{margin:0;color:#17324d}
.map-close{border:none;background:#eef5fc;color:#17324d;border-radius:10px;width:38px;height:38px;font-size:24px;font-weight:900}
.map-modal-content{display:grid;gap:8px;color:#17324d;font-weight:700;padding:6px 0 10px}
.map-modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}

.today-chip{
  display:inline-flex;
  padding:10px 14px;
  border-radius:999px;
  background:#eef5fc;
  color:#17324d;
  font-weight:900;
  margin-bottom:14px;
}
.dashboard-search-card{
  border:2px solid #2f6db5;
}
.dashboard-search-card input{
  border:2px solid #2f6db5;
}
.dashboard-search-card button{
  background:#2f6db5;
}
.mini-map{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
}
.mini-cell{
  display:block;
  border:1px solid var(--line);
  border-radius:14px;
  padding:12px 10px;
  min-height:70px;
  text-decoration:none;
  box-shadow:var(--shadow);
}
.mini-cell .pos{
  display:block;
  font-weight:900;
  color:#17324d;
  font-size:13px;
}
.mini-cell .code{
  display:block;
  margin-top:8px;
  font-size:12px;
  font-weight:800;
  color:#5d7896;
}
.mini-cell.free{background:#ecfdf3;border-color:#9fe0b2}
.mini-cell.partial{background:#fff7e6;border-color:#f3d38d}
.mini-cell.sold{background:#fff0ee;border-color:#e7aba3}
.mini-cell.empty{background:#f7fbff}
table th{
  text-transform:none;
}
.card-head h2, .topbar h2, .sidebar .brand h1{
  text-transform:none;
}


:root{
  --bg:#eef3f9;
  --surface:#ffffff;
  --surface-2:#f7fbff;
  --text:#17324d;
  --muted:#6781a0;
  --line:#d7e3f0;
  --primary:#1f4f8f;
  --primary-2:#2f6db5;
  --primary-soft:#eaf2fd;
  --success:#24a148;
  --success-soft:#edf9f0;
  --warning:#f0a22e;
  --warning-soft:#fff6e7;
  --danger:#d65d4f;
  --danger-soft:#fff0ee;
  --shadow:0 14px 30px rgba(18,42,66,.08);
}

body{
  background:
    radial-gradient(circle at top left, rgba(47,109,181,.09), transparent 28%),
    radial-gradient(circle at top right, rgba(36,161,72,.06), transparent 24%),
    var(--bg);
  color:var(--text);
}

.sidebar{
  background:linear-gradient(180deg,#17395b 0%, #17324d 45%, #102640 100%) !important;
  border-right:1px solid rgba(255,255,255,.08);
  box-shadow:10px 0 30px rgba(9,22,36,.12);
}

.brand h1{
  color:#fff !important;
  letter-spacing:.2px;
}

.brand small{
  color:rgba(255,255,255,.78) !important;
  font-weight:800;
}

.nav{
  border-radius:16px !important;
  color:rgba(255,255,255,.9) !important;
  transition:all .18s ease;
}

.nav:hover{
  background:rgba(255,255,255,.08) !important;
  transform:translateX(2px);
}

.nav.active, .nav.link.active{
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.08)) !important;
  color:#fff !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.12);
}

main, .topbar, .module, .card, .table-wrap, .note-box{
  color:var(--text);
}

.topbar{
  background:transparent !important;
  border:none !important;
  padding-bottom:10px !important;
}

.topbar h2{
  color:#18365a !important;
  letter-spacing:-.8px;
}

.topbar p{
  color:var(--muted) !important;
}

.today-chip{
  background:linear-gradient(135deg, var(--primary-soft), #f5f9ff) !important;
  border:1px solid #cfe0f6;
  color:var(--primary) !important;
  box-shadow:var(--shadow);
}

.card, .table-wrap{
  background:rgba(255,255,255,.92) !important;
  border:1px solid var(--line) !important;
  box-shadow:var(--shadow) !important;
  backdrop-filter: blur(4px);
}

.card-head h2{
  color:#17395b !important;
}

.card-head span{
  color:var(--muted) !important;
}

.stats-grid .card{
  position:relative;
  overflow:hidden;
}

.stats-grid .card::before{
  content:"";
  position:absolute;
  left:0; top:0;
  width:100%;
  height:6px;
  background:linear-gradient(90deg,var(--primary), var(--primary-2));
}

.stats-grid .card:nth-child(2)::before{background:linear-gradient(90deg,#2f6db5,#65a7ff);}
.stats-grid .card:nth-child(3)::before{background:linear-gradient(90deg,var(--danger),#f39b8f);}
.stats-grid .card:nth-child(4)::before{background:linear-gradient(90deg,var(--success),#7cc98f);}
.stats-grid .card:nth-child(5)::before{background:linear-gradient(90deg,#7a52d9,#af8cff);}
.stats-grid .card:nth-child(6)::before{background:linear-gradient(90deg,#0ea5a6,#70d4d4);}

.stats-grid .card strong,
.stats-grid .card .big-number,
.stats-grid .card h3 + div{
  color:#17395b !important;
}

input, select, textarea{
  background:var(--surface) !important;
  border:1px solid #c8d8ea !important;
  color:var(--text) !important;
  border-radius:16px !important;
  box-shadow:0 2px 0 rgba(255,255,255,.8) inset;
}

input:focus, select:focus, textarea:focus{
  outline:none;
  border-color:var(--primary-2) !important;
  box-shadow:0 0 0 4px rgba(47,109,181,.12) !important;
}

button, .btn, .download{
  background:linear-gradient(135deg,var(--primary-2), var(--primary)) !important;
  color:#fff !important;
  border:none !important;
  box-shadow:0 10px 18px rgba(31,79,143,.18);
}

button:hover, .btn:hover, .download:hover{
  filter:brightness(1.03);
  transform:translateY(-1px);
}

.btn-secondary, .download.mini, .btn.secondary{
  background:#eef5fc !important;
  color:#17324d !important;
  border:1px solid #d7e3f0 !important;
  box-shadow:none !important;
}

.note-box{
  background:linear-gradient(180deg, #f8fbff, #f3f8fe) !important;
  border:1px dashed #bdd0e6 !important;
  color:#5e7896 !important;
}

.legend{
  color:#617d9c !important;
}

.mini-cell, .map-cell{
  transition:transform .15s ease, box-shadow .15s ease;
}

.mini-cell:hover, .map-cell:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 20px rgba(18,42,66,.09);
}

.mini-cell.free, .map-cell.free{background:var(--success-soft) !important;}
.mini-cell.partial, .map-cell.partial{background:var(--warning-soft) !important;}
.mini-cell.sold, .map-cell.sold{background:var(--danger-soft) !important;}

table{
  border-collapse:separate;
  border-spacing:0;
}

table thead th{
  color:#6a86a5 !important;
  font-weight:900;
  letter-spacing:.2px;
}

table tbody tr:nth-child(odd){
  background:rgba(247,251,255,.6);
}

table tbody tr:hover{
  background:#eef5fc;
}

.floating-wa{
  background:linear-gradient(135deg,#25d366,#18b758) !important;
  color:#fff !important;
}

.state.disponible{background:var(--success-soft) !important;color:#176a35 !important;}
.state.parcial{background:var(--warning-soft) !important;color:#a15d07 !important;}
.state.vendido{background:var(--danger-soft) !important;color:#b24332 !important;}

.header-main{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:flex-start;
}
.header-tools{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.meta-chip{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  border:1px solid var(--line);
  color:#17324d;
  font-weight:900;
  box-shadow:var(--shadow);
}
.top-search-wrap{
  margin-top:14px;
  max-width:760px;
}
.top-search-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 180px;
  gap:12px;
}
.top-search-form input{
  border:2px solid #2f6db5 !important;
  background:#fff !important;
}
.top-search-form button{
  background:linear-gradient(135deg,var(--primary-2),var(--primary)) !important;
  color:#fff !important;
  border:none !important;
  border-radius:16px;
  font-weight:900;
}
select, option, input, textarea, button, .btn, .download, table th, label{
  text-transform:none !important;
}
option{ text-transform:none !important; }
@media (max-width:1100px){
  .header-main{flex-direction:column; align-items:flex-start;}
  .header-tools{justify-content:flex-start;}
  .top-search-form{grid-template-columns:1fr;}
}

.top-search-pro{
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:14px;
  max-width:820px;
}
.top-search-input-wrap{
  display:flex;
  align-items:center;
  gap:10px;
  background:#ffffff;
  border:2px solid #2f6db5;
  border-radius:18px;
  padding:0 16px;
  box-shadow:0 10px 20px rgba(31,79,143,.08);
}
.top-search-input-wrap .search-icon{
  color:#2f6db5;
  font-size:20px;
  font-weight:900;
}
.top-search-pro input{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:16px 0 !important;
}
.top-search-pro input:focus{
  box-shadow:none !important;
}
.top-search-pro button{
  min-height:58px;
}
.visual-map .map-cell{
  background:#eef5ff !important;
  border-color:#c6d8f0 !important;
}
.visual-map .map-cell .pos{
  color:#23456d !important;
}
.visual-map .map-cell .code{
  color:#55769d !important;
}
.visual-map .map-cell.free{background:#eef9f1 !important;border-color:#bfe2c5 !important;}
.visual-map .map-cell.partial{background:#fff7ea !important;border-color:#f0d8a4 !important;}
.visual-map .map-cell.sold{background:#fff2f0 !important;border-color:#e8beb8 !important;}
.visual-map .map-cell.empty{background:#edf3fa !important;border-color:#d5e0ee !important;}
.venta-row-pro{
  grid-template-columns:2.2fr 1fr 1fr 1fr 1fr !important;
}
@media (max-width:1100px){
  .top-search-pro{grid-template-columns:1fr;}
  .venta-row-pro{grid-template-columns:1fr !important;}
}

.top-search-pro{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:12px;
  max-width:860px;
  align-items:center;
}
.top-search-input-wrap{
  display:flex;
  align-items:center;
  gap:12px;
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border:2px solid #2f6db5;
  border-radius:20px;
  padding:0 18px;
  box-shadow:0 14px 26px rgba(31,79,143,.10);
}
.top-search-input-wrap .search-icon{
  color:#2f6db5;
  font-size:22px;
  font-weight:900;
  opacity:.95;
}
.top-search-pro input{
  border:none !important;
  background:transparent !important;
  box-shadow:none !important;
  padding:17px 0 !important;
  font-size:18px;
  font-weight:800;
  color:#17324d !important;
}
.top-search-pro input::placeholder{
  color:#6d88a8 !important;
  font-weight:800;
}
.top-search-pro button{
  min-height:60px;
  border-radius:18px !important;
  background:linear-gradient(135deg,#2f6db5,#1f4f8f) !important;
  color:#fff !important;
  font-weight:900;
  letter-spacing:.2px;
  box-shadow:0 12px 22px rgba(31,79,143,.18);
}
.top-search-pro button:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}
@media (max-width:1100px){
  .top-search-pro{
    grid-template-columns:1fr;
  }
}


.buscador-bin-pro{
  background:#ffffff;
  border:2px solid #2f6db5;
  border-radius:16px;
  padding:14px;
  margin-top:12px;
  max-width:620px;
  box-shadow:0 10px 22px rgba(0,0,0,0.08);
}
.buscador-titulo{
  font-weight:800;
  color:#2f6db5;
  font-size:14px;
  margin-bottom:8px;
  letter-spacing:.2px;
}
.buscador-caja{
  display:flex;
  gap:10px;
  align-items:center;
}
.buscador-caja input{
  flex:1;
  padding:12px 14px;
  border:1px solid #c9d6e6;
  border-radius:10px;
  font-size:14px;
  font-weight:700;
  color:#17324d;
  background:#fff;
}
.buscador-caja input::placeholder{
  color:#7088a4;
}
.buscador-caja button{
  background:linear-gradient(135deg,#2f6db5,#1e4f88);
  color:white;
  border:none;
  padding:12px 18px;
  border-radius:10px;
  font-weight:800;
  cursor:pointer;
  min-width:120px;
  box-shadow:0 10px 18px rgba(31,79,143,.16);
}
.buscador-caja button:hover{
  background:#1e4f88;
  transform:translateY(-1px);
}
@media (max-width:900px){
  .buscador-caja{
    flex-direction:column;
  }
  .buscador-caja button{
    width:100%;
  }
}

.login-card table td,
.login-card table th,
.login-card h1,
.login-card h2,
.login-card p,
.login-card .badge{
  text-transform:none !important;
}

.smart-filter-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:10px;
  margin-bottom:14px;
}
.smart-filter-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}
@media (max-width:1100px){
  .smart-filter-grid{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:700px){
  .smart-filter-grid{
    grid-template-columns:1fr;
  }
}

/* KPI only on Dashboard */
.module .kpis{
  margin-bottom:18px;
}

/* Buscador BIN PRO */
.buscador-bin-pro-max{
  background:linear-gradient(180deg,#ffffff,#f7fbff);
  border:2px solid #2f6db5;
  border-radius:22px;
  padding:18px;
  margin-top:14px;
  max-width:860px;
  box-shadow:0 16px 30px rgba(31,79,143,.10);
}
.buscador-header-pro{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.buscador-icon-pro{
  width:46px;
  height:46px;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#2f6db5,#1f4f8f);
  color:#fff;
  font-size:22px;
  font-weight:900;
  box-shadow:0 10px 18px rgba(31,79,143,.16);
}
.buscador-titulo-pro{
  font-size:20px;
  line-height:1;
  color:#17395b;
  font-weight:900;
}
.buscador-subtitulo-pro{
  margin-top:4px;
  color:#6a86a5;
  font-size:13px;
  font-weight:700;
}
.buscador-caja-pro{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:12px;
}
.buscador-caja-pro input{
  padding:16px 18px;
  border:1px solid #c9d6e6;
  border-radius:16px;
  font-size:16px;
  font-weight:800;
  color:#17324d;
  background:#fff;
  box-shadow:0 8px 18px rgba(18,42,66,.05) inset;
}
.buscador-caja-pro input::placeholder{
  color:#718aa8;
}
.buscador-caja-pro button{
  min-height:56px;
  border:none;
  border-radius:16px;
  background:linear-gradient(135deg,#2f6db5,#1f4f8f);
  color:#fff;
  font-weight:900;
  font-size:15px;
  letter-spacing:.2px;
  box-shadow:0 12px 22px rgba(31,79,143,.18);
  cursor:pointer;
}
.buscador-caja-pro button:hover{
  transform:translateY(-1px);
  filter:brightness(1.03);
}
@media (max-width:900px){
  .buscador-caja-pro{
    grid-template-columns:1fr;
  }
  .buscador-caja-pro button{
    width:100%;
  }
}

.report-bar-pro{
  margin-top:18px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:18px 20px;
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid var(--erp-line);
  border-radius:20px;
  box-shadow:var(--erp-shadow);
}
.report-bar-copy{
  min-width:0;
}
.report-bar-title{
  color:#17395b;
  font-size:20px;
  font-weight:700;
  line-height:1;
}
.report-bar-subtitle{
  margin-top:6px;
  color:#6a86a5;
  font-size:13px;
  font-weight:600;
}
.report-bar-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.report-bar-actions button{
  min-height:52px;
  min-width:190px;
}
.report-bar-status{
  padding:12px 14px;
  border-radius:14px;
  background:#eef5fc;
  border:1px solid var(--erp-line);
  color:#17324d;
  font-size:13px;
  font-weight:700;
  min-width:220px;
}
@media (max-width:900px){
  .report-bar-pro{
    flex-direction:column;
    align-items:flex-start;
  }
  .report-bar-actions{
    width:100%;
    justify-content:flex-start;
  }
}


/* Ajuste seguro del bloque reporte: slim, horizontal y sin romper layout */
.kpis .report-bar-pro{
  grid-column:1 / -1 !important;
  width:100% !important;
  margin-top:6px !important;
  padding:14px 16px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:14px !important;
  background:linear-gradient(180deg,#ffffff,#fbfdff) !important;
  border:1px solid #d9e3ef !important;
  border-radius:16px !important;
  box-shadow:0 6px 18px rgba(30,42,56,.05) !important;
}
.kpis .report-bar-title{
  font-size:16px !important;
  font-weight:700 !important;
  line-height:1 !important;
}
.kpis .report-bar-subtitle{
  margin-top:4px !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#6a86a5 !important;
  max-width:760px !important;
}
.kpis .report-bar-actions{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
  flex-wrap:wrap !important;
}
.kpis .report-bar-actions button{
  min-width:170px !important;
  min-height:46px !important;
  padding:12px 16px !important;
  border-radius:14px !important;
}
.kpis .report-bar-status{
  min-width:180px !important;
  padding:10px 12px !important;
  border-radius:12px !important;
  font-size:12px !important;
  background:#eef4fa !important;
}
@media (max-width:900px){
  .kpis .report-bar-pro{
    grid-template-columns:1fr !important;
    align-items:flex-start !important;
  }
  .kpis .report-bar-actions{
    justify-content:flex-start !important;
  }
}


/* Buscar BIN + Reporte lado a lado */
.top-duo-pro{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:16px;
  align-items:stretch;
  margin-bottom:16px;
}
.top-duo-pro .top-search-wrap{
  margin:0 !important;
}
.top-duo-pro .buscador-bin-pro-max,
.top-duo-pro .buscador-bin-pro{
  height:100% !important;
  margin-top:0 !important;
  max-width:none !important;
}
.top-duo-pro .report-bar-pro{
  width:100% !important;
  margin-top:0 !important;
  padding:18px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  gap:14px !important;
  border-radius:22px !important;
  box-shadow:0 10px 22px rgba(30,42,56,.06) !important;
}
.top-duo-pro .report-bar-copy{
  flex:none !important;
}
.top-duo-pro .report-bar-title{
  font-size:18px !important;
  line-height:1.05 !important;
  font-weight:700 !important;
}
.top-duo-pro .report-bar-subtitle{
  font-size:12px !important;
  margin-top:6px !important;
  line-height:1.35 !important;
  max-width:none !important;
}
.top-duo-pro .report-bar-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100% !important;
}
.top-duo-pro .report-bar-actions button{
  width:100% !important;
  min-width:0 !important;
  min-height:58px !important;
}
.top-duo-pro .report-bar-status{
  width:100% !important;
  min-width:0 !important;
  text-align:center !important;
}
@media (max-width:1100px){
  .top-duo-pro{
    grid-template-columns:1fr !important;
  }
}

/* Buscar BIN + Reporte al lado realmente */
.top-tools-pro{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
  align-items:stretch !important;
  margin-bottom:18px !important;
}
.top-tools-pro .tool-pane{
  min-width:0 !important;
}
.top-tools-pro .top-search-wrap{
  margin:0 !important;
  height:100% !important;
}
.top-tools-pro .buscador-bin-pro,
.top-tools-pro .buscador-bin-pro-max{
  margin-top:0 !important;
  max-width:none !important;
  height:100% !important;
}
.top-tools-pro .report-bar-pro{
  width:100% !important;
  margin-top:0 !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
  align-items:stretch !important;
  gap:14px !important;
  padding:18px !important;
  background:linear-gradient(180deg,#ffffff,#f8fbff) !important;
  border:2px solid var(--erp-primary-2,#2f6db5) !important;
  border-radius:22px !important;
  box-shadow:0 14px 28px rgba(31,79,143,.10) !important;
}
.top-tools-pro .report-bar-title{
  font-size:18px !important;
  font-weight:700 !important;
  line-height:1.05 !important;
  color:#17395b !important;
}
.top-tools-pro .report-bar-subtitle{
  margin-top:6px !important;
  font-size:12px !important;
  line-height:1.35 !important;
  color:#6a86a5 !important;
  max-width:none !important;
}
.top-tools-pro .report-bar-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
  width:100% !important;
}
.top-tools-pro .report-bar-actions button{
  width:100% !important;
  min-width:0 !important;
  min-height:58px !important;
  border-radius:16px !important;
}
.top-tools-pro .report-bar-status{
  width:100% !important;
  min-width:0 !important;
  text-align:center !important;
  border-radius:14px !important;
}
@media (max-width:1100px){
  .top-tools-pro{
    grid-template-columns:1fr !important;
  }
}

.commercial-intel-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.intel-kpi-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #d9e3ef;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 20px rgba(30,42,56,.05);
}
.intel-kpi-card span{
  display:block;
  color:#6a86a5;
  font-size:12px;
  font-weight:700;
  margin-bottom:8px;
}
.intel-kpi-card strong{
  display:block;
  color:#17395b;
  font-size:28px;
  line-height:1;
  font-weight:700;
}
.intel-kpi-card small{
  display:block;
  margin-top:10px;
  color:#6c7a89;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}
.intel-kpi-card.accent{
  border-color:#cfdcf4;
  background:linear-gradient(180deg,#f8fbff,#eef4fd);
}
.intel-kpi-card.success{
  border-color:#cde9d7;
  background:linear-gradient(180deg,#f9fffb,#eefaf3);
}
@media (max-width:1100px){
  .commercial-intel-kpis{ grid-template-columns:1fr 1fr; }
}
@media (max-width:700px){
  .commercial-intel-kpis{ grid-template-columns:1fr; }
}

.financial-kpis{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}
.financial-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #d9e3ef;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 20px rgba(30,42,56,.05);
}
.financial-card span{
  display:block;
  color:#6a86a5;
  font-size:12px;
  font-weight:700;
  margin-bottom:8px;
}
.financial-card strong{
  display:block;
  color:#17395b;
  font-size:28px;
  line-height:1;
  font-weight:700;
}
.financial-card small{
  display:block;
  margin-top:10px;
  color:#6c7a89;
  font-size:12px;
  font-weight:600;
}
.financial-card.success{background:linear-gradient(180deg,#f9fffb,#eefaf3);border-color:#cde9d7;}
.financial-card.warning{background:linear-gradient(180deg,#fffdf8,#fff4df);border-color:#f0dfb3;}
.financial-card.danger{background:linear-gradient(180deg,#fffafa,#fff0f0);border-color:#edcaca;}
.financial-card.accent{background:linear-gradient(180deg,#f8fbff,#eef4fd);border-color:#cfdcf4;}
@media (max-width:1100px){
  .financial-kpis{grid-template-columns:1fr 1fr;}
}
@media (max-width:700px){
  .financial-kpis{grid-template-columns:1fr;}
}

.charts-grid-commercial{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.chart-card{
  min-height:320px;
}
.chart-card canvas{
  width:100% !important;
  height:220px !important;
}
.chart-card-wide{
  grid-column:1 / -1;
}
@media (max-width:1100px){
  .charts-grid-commercial{
    grid-template-columns:1fr;
  }
  .chart-card-wide{
    grid-column:auto;
  }
}

.backup-export-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.mini-tool-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #d9e3ef;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 20px rgba(30,42,56,.05);
}
.mini-tool-card strong{
  display:block;
  color:#17395b;
  font-size:18px;
  font-weight:700;
}
.mini-tool-card span{
  display:block;
  margin:8px 0 14px;
  color:#6c7a89;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
}
@media (max-width:900px){
  .backup-export-grid{
    grid-template-columns:1fr;
  }
}


/* === Dashboard redesign test branch === */
.top-search-wrap{ display:none !important; }

.dash-redesign{
  display:grid;
  gap:18px;
}
.dash-redesign-tools{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
  align-items:stretch;
}
.dash-pro-card{
  background:linear-gradient(180deg,#ffffff,#f9fbff);
  border:1px solid #dce6f0;
  border-radius:20px;
  padding:18px 20px;
  box-shadow:0 8px 22px rgba(30,42,56,.05);
}
.dash-pro-search{ border:2px solid #2f6db5; }
.dash-pro-head{
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:14px;
}
.dash-pro-icon{
  width:50px;
  height:50px;
  border-radius:15px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,#2f6db5,#1f4f8f);
  color:#fff;
  font-size:22px;
  font-weight:900;
  flex:0 0 auto;
  box-shadow:0 10px 18px rgba(31,79,143,.16);
}
.dash-pro-title{
  color:#17395b;
  font-size:18px;
  font-weight:800;
  line-height:1.05;
  letter-spacing:-0.02em;
}
.dash-pro-subtitle{
  margin-top:4px;
  color:#6a86a5;
  font-size:13px;
  font-weight:600;
}
.dash-pro-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) 220px;
  gap:12px;
}
.dash-pro-form input{
  min-height:56px !important;
  border-radius:16px !important;
  font-size:14px !important;
}
.dash-pro-form button,
.dash-pro-actions button{
  min-height:56px;
  border-radius:16px !important;
  font-size:14px !important;
  font-weight:800 !important;
}
.dash-pro-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:12px;
  align-items:center;
}
.dash-pro-status{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border-radius:16px;
  background:#eef4fa;
  border:1px solid #dce6f0;
  color:#17324d;
  font-size:13px;
  font-weight:700;
}
.dash-pro-kpis{ margin-top:0; }
.dash-redesign-lower{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:18px;
  align-items:stretch;
}
.dash-finance-card,
.dash-backup-card{
  padding:20px !important;
}
.dash-finance-card .card-head,
.dash-backup-card .card-head{
  margin-bottom:14px !important;
}
.dash-finance-card .card-head span,
.dash-backup-card .card-head span{
  max-width:520px;
}
@media (max-width:1200px){
  .dash-redesign-tools,
  .dash-redesign-lower{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .dash-pro-form,
  .dash-pro-actions{
    grid-template-columns:1fr;
  }
}


/* =========================
   ULTRA MEGA FULL PRO
   Polish visual final
   ========================= */

:root{
  --pro-bg:#f4f7fb;
  --pro-surface:#ffffff;
  --pro-surface-soft:#fbfdff;
  --pro-border:#dbe5f0;
  --pro-text:#17395b;
  --pro-text-soft:#6f86a3;
  --pro-sidebar-top:#203f6d;
  --pro-sidebar-bottom:#163356;
  --pro-shadow:0 10px 28px rgba(15, 35, 64, .08);
  --pro-shadow-soft:0 6px 18px rgba(20, 45, 80, .05);
  --pro-radius:18px;
  --pro-radius-lg:22px;
}

html, body{
  background:
    radial-gradient(circle at top right, rgba(107,148,210,.09), transparent 24%),
    linear-gradient(180deg, #f7f9fc 0%, #f3f6fb 100%) !important;
  color:var(--pro-text) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

body{
  letter-spacing:-0.01em;
}

/* Sidebar */
.sidebar{
  background:linear-gradient(180deg, var(--pro-sidebar-top), var(--pro-sidebar-bottom)) !important;
  box-shadow:inset -1px 0 0 rgba(255,255,255,.06), 8px 0 30px rgba(9,24,49,.12) !important;
}

.brand{
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.brand h2, .brand .logo, .brand .brand-name{
  color:#ffffff !important;
  letter-spacing:-0.02em !important;
}
.brand p{
  color:rgba(255,255,255,.78) !important;
  font-weight:600 !important;
}

.nav-group, .sidebar details, .nav-box{
  background:rgba(255,255,255,.02) !important;
  border:1px solid rgba(255,255,255,.08) !important;
  border-radius:20px !important;
}

.sidebar .nav,
.sidebar summary,
.sidebar .nav-item,
.sidebar button.nav{
  border-radius:16px !important;
  transition:all .18s ease !important;
}
.sidebar .nav:hover,
.sidebar summary:hover,
.sidebar .nav-item:hover{
  background:rgba(255,255,255,.08) !important;
  transform:translateY(-1px);
}
.sidebar .nav.active,
.sidebar .nav.current{
  background:linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.09)) !important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important;
}

/* Main header */
.main{
  padding-top:22px !important;
}
.header{
  margin-bottom:6px !important;
}
.header h1{
  color:var(--pro-text) !important;
  font-size:58px !important;
  font-weight:900 !important;
  letter-spacing:-0.04em !important;
  line-height:0.95 !important;
  margin-bottom:10px !important;
}
.header p{
  color:var(--pro-text-soft) !important;
  font-size:14px !important;
  font-weight:700 !important;
}
.meta-chip, .pill{
  background:rgba(255,255,255,.92) !important;
  border:1px solid var(--pro-border) !important;
  box-shadow:var(--pro-shadow-soft) !important;
  color:var(--pro-text) !important;
  border-radius:999px !important;
}

/* Common cards */
.card, .kpi, .mini-tool-card, .financial-card, .dash-pro-card, .chart-card{
  background:linear-gradient(180deg, var(--pro-surface), var(--pro-surface-soft)) !important;
  border:1px solid var(--pro-border) !important;
  box-shadow:var(--pro-shadow-soft) !important;
  border-radius:var(--pro-radius-lg) !important;
}

.card{
  padding:22px !important;
}

.card-head{
  margin-bottom:16px !important;
}
.card-head h2{
  color:var(--pro-text) !important;
  font-size:24px !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
}
.card-head span{
  color:var(--pro-text-soft) !important;
  font-size:13px !important;
  font-weight:700 !important;
  line-height:1.4 !important;
}

/* Inputs / selects / textareas */
input, select, textarea{
  min-height:54px;
  background:#fff !important;
  border:1px solid #cdd9e7 !important;
  border-radius:16px !important;
  color:var(--pro-text) !important;
  font-weight:700 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
  transition:border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
textarea{
  min-height:108px !important;
  padding-top:16px !important;
}
input:focus, select:focus, textarea:focus{
  outline:none !important;
  border-color:#5d8ed2 !important;
  box-shadow:0 0 0 4px rgba(93,142,210,.12) !important;
}

/* Buttons */
button, .download, .btn, .btn-secondary{
  border:none !important;
  border-radius:16px !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
  box-shadow:0 10px 22px rgba(47,109,181,.14) !important;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
button:hover, .download:hover, .btn:hover, .btn-secondary:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 24px rgba(47,109,181,.18) !important;
  filter:saturate(1.03);
}
button:active, .download:active, .btn:active, .btn-secondary:active{
  transform:translateY(0);
}

/* Dashboard top cards */
.dash-pro-card{
  padding:20px 22px !important;
}
.dash-pro-search{
  border:2px solid #2f6db5 !important;
  box-shadow:0 12px 28px rgba(47,109,181,.12) !important;
}
.dash-pro-head{
  margin-bottom:16px !important;
}
.dash-pro-title{
  font-size:20px !important;
  font-weight:900 !important;
  color:var(--pro-text) !important;
}
.dash-pro-subtitle{
  color:var(--pro-text-soft) !important;
}
.dash-pro-icon{
  width:54px !important;
  height:54px !important;
  border-radius:16px !important;
}
.dash-pro-status{
  background:linear-gradient(180deg,#f5f8fc,#edf3fa) !important;
}

/* KPI cards */
.kpi{
  padding:18px 20px !important;
  min-height:96px !important;
}
.kpi span{
  color:var(--pro-text-soft) !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:0 !important;
}
.kpi strong{
  color:var(--pro-text) !important;
  font-size:22px !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
}

/* Finance cards */
.financial-card{
  min-height:120px;
  padding:20px !important;
}
.financial-card strong{
  font-size:20px !important;
  font-weight:900 !important;
  letter-spacing:-0.03em !important;
}
.financial-card small{
  margin-top:8px !important;
}

/* Tables */
.table-wrap{
  border:1px solid var(--pro-border) !important;
  border-radius:18px !important;
  overflow:hidden !important;
  box-shadow:var(--pro-shadow-soft) !important;
}
table{
  background:#fff !important;
}
table thead tr{
  background:linear-gradient(180deg,#f9fbff,#f2f6fb) !important;
}
table th{
  color:#627d9d !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:0 !important;
}
table td{
  color:var(--pro-text) !important;
  font-weight:700 !important;
}
table tbody tr:hover{
  background:#f8fbff !important;
}

/* Charts / map / helpers */
.chart-card canvas{
  filter:drop-shadow(0 2px 2px rgba(25,45,70,.02));
}
.note-box, .step-box{
  border-radius:16px !important;
  border:1px dashed #c8d8eb !important;
  background:linear-gradient(180deg,#fbfdff,#f5f9ff) !important;
  color:#627d9d !important;
  font-weight:700 !important;
}
.legend{
  margin-bottom:12px !important;
}
.mini-cell{
  border-radius:16px !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7) !important;
}

/* Scroll refinement */
*::-webkit-scrollbar{
  width:10px;
  height:10px;
}
*::-webkit-scrollbar-track{
  background:#eef3f9;
  border-radius:999px;
}
*::-webkit-scrollbar-thumb{
  background:#bfd0e5;
  border-radius:999px;
}

/* Better section spacing */
.module{
  animation:fadeInPro .18s ease;
}
@keyframes fadeInPro{
  from{opacity:.65; transform:translateY(3px);}
  to{opacity:1; transform:translateY(0);}
}


/* =========================
   V11.6 ENTERPRISE UI
   Cleaner, lighter typography
   ========================= */

html, body{
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  letter-spacing: -0.005em !important;
}

/* Header hierarchy toned down */
.header h1{
  font-size: 40px !important;
  font-weight: 750 !important;
  line-height: 1.02 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 8px !important;
}
.header p{
  font-size: 14px !important;
  font-weight: 550 !important;
  color: #7287a3 !important;
  letter-spacing: -0.01em !important;
}

/* Sidebar more solid / less heavy */
.sidebar .nav,
.sidebar summary,
.sidebar .nav-item,
.sidebar button.nav,
.sidebar a.nav{
  font-weight: 650 !important;
  font-size: 15px !important;
  letter-spacing: -0.01em !important;
}
.brand h2, .brand .logo, .brand .brand-name{
  font-weight: 750 !important;
  font-size: 20px !important;
  letter-spacing: -0.02em !important;
}
.brand p{
  font-weight: 500 !important;
  font-size: 12px !important;
  opacity: .92 !important;
}

/* Chips top right */
.meta-chip, .pill{
  font-size: 12px !important;
  font-weight: 700 !important;
  padding: 9px 14px !important;
}

/* Cards and spacing */
.card{
  padding: 20px !important;
}
.card-head{
  margin-bottom: 14px !important;
}
.card-head h2{
  font-size: 20px !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.02em !important;
}
.card-head span{
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #7287a3 !important;
  line-height: 1.35 !important;
}

/* Dashboard tools */
.dash-pro-title,
.tool-title-enterprise,
.report-bar-title,
.buscador-titulo-pro{
  font-size: 18px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
.dash-pro-subtitle,
.tool-subtitle-enterprise,
.report-bar-subtitle,
.buscador-subtitulo-pro{
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #7287a3 !important;
}
.dash-pro-card,
.tool-card-enterprise,
.report-bar-pro{
  padding: 16px 18px !important;
}

/* Inputs/buttons cleaner */
input, select, textarea{
  font-weight: 600 !important;
  font-size: 14px !important;
}
button, .download, .btn, .btn-secondary{
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: -0.01em !important;
}

/* KPI lighter */
.kpi{
  min-height: 90px !important;
  padding: 16px 18px !important;
}
.kpi span{
  font-size: 12px !important;
  font-weight: 650 !important;
  color: #7287a3 !important;
  margin-bottom: 8px !important;
}
.kpi strong{
  font-size: 18px !important;
  font-weight: 750 !important;
  letter-spacing: -0.02em !important;
}

/* Financial cards calmer */
.financial-card{
  min-height: 112px !important;
  padding: 18px !important;
}
.financial-card span{
  font-size: 12px !important;
  font-weight: 650 !important;
}
.financial-card strong{
  font-size: 18px !important;
  font-weight: 750 !important;
}
.financial-card small{
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #7287a3 !important;
}

/* Tables */
table th{
  font-size: 11.5px !important;
  font-weight: 750 !important;
}
table td{
  font-size: 13px !important;
  font-weight: 600 !important;
}

/* Dashboard specific compactness */
.dashboard-top-tools,
.dash-redesign-tools,
.dashboard-tools-pro{
  gap: 14px !important;
}
.dashboard-middle-tools,
.dash-redesign-lower,
.dashboard-lower-pro{
  gap: 16px !important;
}

@media (max-width: 1200px){
  .header h1{
    font-size: 34px !important;
  }
}


/* Inventario inteligente */
.inventory-ai-top{
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:16px;
  margin-bottom:18px;
}
.inventory-ai-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #d9e3ef;
  border-radius:18px;
  padding:18px;
  box-shadow:0 8px 20px rgba(30,42,56,.05);
}
.inventory-ai-card.total{
  border-color:#cddcf2;
  background:linear-gradient(180deg,#f9fbff,#eef4fd);
}
.inventory-ai-card span{
  display:block;
  color:#7287a3;
  font-size:12px;
  font-weight:650;
  margin-bottom:8px;
}
.inventory-ai-card strong{
  display:block;
  color:#17395b;
  font-size:24px;
  font-weight:750;
  letter-spacing:-0.03em;
}
.inventory-ai-card small{
  display:block;
  margin-top:8px;
  color:#7287a3;
  font-size:12px;
  font-weight:600;
}
.inventory-ai-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}
.inventory-subcard{
  padding:18px !important;
}
.inventory-pills{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.inventory-pill{
  background:linear-gradient(180deg,#ffffff,#f9fbff);
  border:1px solid #d9e3ef;
  border-radius:16px;
  padding:16px;
}
.inventory-pill-title{
  color:#7287a3;
  font-size:12px;
  font-weight:650;
}
.inventory-pill-main{
  color:#17395b;
  font-size:20px;
  font-weight:750;
  margin-top:6px;
}
.inventory-pill-sub{
  color:#7287a3;
  font-size:12px;
  font-weight:600;
  margin-top:6px;
}
.inventory-alerts{
  display:grid;
  gap:12px;
}
.inventory-alert{
  border-radius:16px;
  padding:16px;
  background:linear-gradient(180deg,#fffafa,#fff1f1);
  border:1px solid #efd0d0;
}
.inventory-alert.ok{
  background:linear-gradient(180deg,#f9fffb,#eefaf3);
  border-color:#cde9d7;
}
.inventory-alert strong{
  display:block;
  color:#17395b;
  font-size:14px;
  font-weight:700;
}
.inventory-alert span{
  display:block;
  color:#7287a3;
  font-size:12px;
  font-weight:600;
  margin-top:6px;
}
@media (max-width:1100px){
  .inventory-ai-top,
  .inventory-ai-grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:700px){
  .inventory-pills{
    grid-template-columns:1fr;
  }
}


/* Dashboard gerencial + alertas */
.exec-top-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:14px;
  margin-top:18px;
}
.exec-card{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #d9e3ef;
  border-radius:18px;
  padding:16px;
  box-shadow:0 8px 20px rgba(30,42,56,.05);
}
.exec-card span{
  display:block;
  color:#7287a3;
  font-size:12px;
  font-weight:650;
  margin-bottom:8px;
}
.exec-card strong{
  display:block;
  color:#17395b;
  font-size:18px;
  font-weight:750;
  letter-spacing:-0.02em;
}
.exec-card small{
  display:block;
  margin-top:6px;
  color:#7287a3;
  font-size:11.5px;
  font-weight:600;
}
.smart-alert-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:12px;
}
.smart-alert-box{
  border-radius:16px;
  padding:16px;
  background:linear-gradient(180deg,#fffafa,#fff1f1);
  border:1px solid #efd0d0;
}
.smart-alert-box.ok{
  background:linear-gradient(180deg,#f9fffb,#eefaf3);
  border-color:#cde9d7;
}
.smart-alert-box strong{
  display:block;
  color:#17395b;
  font-size:14px;
  font-weight:700;
}
.smart-alert-box span{
  display:block;
  color:#7287a3;
  font-size:12px;
  font-weight:600;
  margin-top:6px;
}
@media (max-width:1300px){
  .exec-top-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:1000px){
  .smart-alert-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:760px){
  .exec-top-grid,
  .smart-alert-grid{ grid-template-columns:1fr; }
}


/* V12 Enterprise brutal refinements */
.inventory-ai-top-compact{
  grid-template-columns:1fr 1fr 1fr !important;
  gap:14px !important;
}
.inventory-ai-grid-tight{
  grid-template-columns:1.05fr .95fr !important;
  gap:16px !important;
}
.inventory-subcard .card-head h2{
  font-size:18px !important;
  font-weight:700 !important;
}
.inventory-subcard .card-head span{
  font-size:11.5px !important;
}
.inventory-ai-card{
  padding:16px !important;
}
.inventory-ai-card strong{
  font-size:20px !important;
}
.inventory-pill{
  padding:14px !important;
}
.inventory-pill-main{
  font-size:18px !important;
}
.inventory-alert{
  padding:14px !important;
}
.inventory-alert strong{
  font-size:13px !important;
}
.inventory-alert span{
  font-size:11.5px !important;
}
.table-wrap.small table th,
.table-wrap.small table td{
  white-space:nowrap;
}
.table-wrap.small{
  overflow-x:auto !important;
}
@media (max-width:1200px){
  .inventory-ai-top-compact,
  .inventory-ai-grid-tight{
    grid-template-columns:1fr !important;
  }
}

/* Make main content more balanced on big screens */
.main{
  max-width:none !important;
}
.module .card{
  max-width:100% !important;
}

/* Better sidebar visual grouping for enterprise */
.sidebar .nav-btn,
.sidebar button.nav-btn{
  display:block;
  width:100%;
  text-align:left;
}

/* Cobranzas visual fit */
#cobranzas .inventory-ai-card strong{
  font-size:19px !important;
}
#cobranzas .table-wrap.small td,
#cobranzas .table-wrap.small th{
  font-size:12px !important;
}


/* V12A fixes: cobranza menu + inventario width */
#inventarioComercial{
  max-width: 1280px;
}
#inventarioComercial > .card{
  max-width: 1280px;
}
#inventarioComercial .inventory-ai-top-compact{
  grid-template-columns: 1.2fr .9fr .9fr !important;
  gap: 12px !important;
}
#inventarioComercial .inventory-ai-grid-tight{
  grid-template-columns: 1fr .9fr !important;
  gap: 14px !important;
}
#inventarioComercial .inventory-subcard,
#inventarioComercial .inventory-ai-card{
  overflow: hidden;
}
#inventarioComercial .table-wrap.small{
  overflow-x: auto !important;
  max-width: 100%;
}
#inventarioComercial .table-wrap.small table{
  width: 100% !important;
  table-layout: auto !important;
}
#inventarioComercial .table-wrap.small th,
#inventarioComercial .table-wrap.small td{
  white-space: normal !important;
  word-break: break-word;
}
#inventarioComercial .card-head{
  align-items: flex-start !important;
}
#inventarioComercial .card-head span{
  max-width: 320px;
  text-align: right;
}
@media (max-width: 1200px){
  #inventarioComercial .inventory-ai-top-compact,
  #inventarioComercial .inventory-ai-grid-tight{
    grid-template-columns: 1fr !important;
  }
  #inventarioComercial .card-head span{
    max-width: none;
    text-align: left;
  }
}


/* V12B - Cobranzas width fix */
#cobranzas{
  max-width: 1280px;
}
#cobranzas > .card{
  max-width: 1280px;
}
#cobranzas .inventory-ai-top-compact,
#cobranzas .inventory-ai-top{
  grid-template-columns: 1fr 1fr 1fr !important;
  gap: 14px !important;
}
#cobranzas .inventory-ai-grid-tight,
#cobranzas .inventory-ai-grid{
  grid-template-columns: 1.05fr .95fr !important;
  gap: 16px !important;
}
#cobranzas .inventory-subcard,
#cobranzas .inventory-ai-card{
  overflow: hidden;
}
#cobranzas .table-wrap.small{
  overflow-x: auto !important;
  max-width: 100%;
}
#cobranzas .table-wrap.small table{
  width: 100% !important;
  table-layout: auto !important;
}
#cobranzas .table-wrap.small th,
#cobranzas .table-wrap.small td{
  white-space: normal !important;
  word-break: break-word;
}
#cobranzas .card-head{
  align-items: flex-start !important;
}
#cobranzas .card-head span{
  max-width: 320px;
  text-align: right;
}
@media (max-width: 1200px){
  #cobranzas .inventory-ai-top-compact,
  #cobranzas .inventory-ai-top,
  #cobranzas .inventory-ai-grid-tight,
  #cobranzas .inventory-ai-grid{
    grid-template-columns: 1fr !important;
  }
  #cobranzas .card-head span{
    max-width: none;
    text-align: left;
  }
}

/* Guias PRO */
.table-wrap.small .download.mini{
  padding:8px 12px !important;
  min-height:auto !important;
  font-size:12px !important;
}

/* V14 bin master traceability */
.trace-top-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  margin-top:14px;
}
.trace-kpi{
  background:linear-gradient(180deg,#ffffff,#f8fbff);
  border:1px solid #d9e3ef;
  border-radius:18px;
  padding:16px;
  box-shadow:0 8px 20px rgba(30,42,56,.05);
}
.trace-kpi span{
  display:block;
  color:#7287a3;
  font-size:12px;
  font-weight:650;
  margin-bottom:8px;
}
.trace-kpi strong{
  display:block;
  color:#17395b;
  font-size:20px;
  font-weight:750;
}
.trace-kpi small{
  display:block;
  margin-top:6px;
  color:#7287a3;
  font-size:11.5px;
  font-weight:600;
}
.trace-summary-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1fr 1fr;
  gap:12px;
}
.trace-summary-box{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
  border:1px solid #d9e3ef;
  border-radius:16px;
  padding:14px;
}
.trace-summary-box .label{
  color:#7287a3;
  font-size:12px;
  font-weight:650;
  margin-bottom:6px;
}
.trace-summary-box .value{
  color:#17395b;
  font-size:16px;
  font-weight:700;
}
.trace-two-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin-top:12px;
}
@media (max-width:1100px){
  .trace-top-grid,
  .trace-summary-grid,
  .trace-two-cols{
    grid-template-columns:1fr;
  }
}


/* V14.1 fixes */
.login-card{
  max-width: 1180px !important;
  margin: 0 auto !important;
}
.trace-two-cols,
.trace-top-grid,
.trace-summary-grid{
  width: 100%;
}
.table-wrap{
  overflow-x: auto !important;
}

/* Recepción 10 unidades + calibres mixtos */
.recepcion-rows{
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.recepcion-unit-row{
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 10px;
}
@media (max-width: 780px){
  .recepcion-unit-row{
    grid-template-columns: 1fr;
  }
}


/* V14.2 final fixes */
.trace-two-cols{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:16px !important;
  width:100% !important;
}
.trace-two-cols > .card{
  min-width:0 !important;
  width:100% !important;
}
.trace-two-cols .table-wrap{
  max-width:100% !important;
  overflow-x:auto !important;
}
.trace-two-cols table{
  width:100% !important;
}
.login-card{
  max-width:1120px !important;
  width:calc(100% - 32px) !important;
  margin:0 auto !important;
  overflow-x:hidden !important;
}
.trace-summary-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
.trace-top-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
@media (max-width:1100px){
  .trace-two-cols,
  .trace-summary-grid,
  .trace-top-grid{
    grid-template-columns:1fr !important;
  }
}


/* V18.4 planilla visual estable */
#recepcionPlanilla { max-width: 1520px; }
#recepcionPlanilla > .card { max-width: 1520px; }
.planilla-card { padding: 18px; }
.planilla-top {
  display: grid;
  grid-template-columns: 1.3fr 0.8fr;
  gap: 16px;
  margin-bottom: 14px;
}
.planilla-left {
  display: grid;
  grid-template-columns: 170px 1fr 110px 1fr;
  gap: 0;
  border: 1px solid #c8d3e5;
  border-radius: 18px;
  overflow: hidden;
  background: #fffdf1;
}
.planilla-right {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 0;
  border: 1px solid #c8d3e5;
  border-radius: 18px;
  overflow: hidden;
  background: #fffdf1;
  align-content: start;
}
.planilla-field {
  min-height: 48px;
  border-right: 1px solid #d5dfec;
  border-bottom: 1px solid #d5dfec;
  display: flex;
  align-items: center;
  padding: 10px 12px;
  font-size: 14px;
}
.planilla-field.label {
  font-weight: 800;
  text-transform: uppercase;
  color: #223f68;
  background: #fff7c8;
}
.planilla-field.value {
  background: #fff7c8;
}
.planilla-field.wide { grid-column: span 3; }
.planilla-field.mini { max-width: none; }
.tot-box {
  grid-column: 1 / span 2;
  display: grid;
  grid-template-columns: 1fr 120px;
  border-bottom: 1px solid #d5dfec;
  min-height: 46px;
}
.tot-box span, .tot-box strong {
  display:flex; align-items:center; padding: 10px 12px;
}
.tot-box span { text-transform: uppercase; font-weight: 800; color:#223f68; background:#fffdf1; }
.tot-box strong { justify-content:center; border-left: 1px solid #d5dfec; background:white; }
.total-net strong { font-size: 18px; }
.planilla-title-row {
  display: grid;
  grid-template-columns: 1.6fr 0.8fr 0.5fr;
  gap: 12px;
  margin-bottom: 8px;
}
.box-title {
  background: #fff;
  border: 1px solid #c8d3e5;
  border-radius: 16px;
  padding: 12px;
  text-align: center;
  font-weight: 800;
  color: #223f68;
  text-transform: uppercase;
}
.planilla-wrap { overflow-x: auto !important; background:#fff; border-radius:18px; border:1px solid #c8d3e5; }
.planilla-table { width: 100%; border-collapse: collapse; min-width: 1450px; }
.planilla-table th, .planilla-table td {
  border: 1px solid #c8d3e5;
  padding: 4px;
  text-align: center;
}
.planilla-table thead th {
  background: #f8fbff;
  color: #203c67;
  font-weight: 800;
}
.planilla-table input, .planilla-table select {
  width: 100%;
  min-width: 88px;
  border: 0;
  background: transparent;
  padding: 8px 6px;
  font-size: 12px;
  color: #203c67;
}
.planilla-table input:focus, .planilla-table select:focus {
  outline: 2px solid #4b7fd1;
  background: #f4f8ff;
}
.formula { font-weight: 800; color: #667c9f; background: #f8fbff; min-width: 70px; }
.totales-label {
  font-weight: 900;
  font-size: 24px;
  color: #223f68;
  text-align: center;
  background: #fff;
  letter-spacing: 1px;
}
.planilla-note {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px dashed #c8d3e5;
  border-radius: 14px;
  color: #5b6f8f;
}


/* V18.5 compacta operario */
#recepcionPlanilla{
  max-width: 1380px !important;
}
#recepcionPlanilla > .card{
  max-width: 1380px !important;
  padding: 14px !important;
}
#recepcionPlanilla .card-head h2{
  font-size: 18px !important;
}
#recepcionPlanilla .card-head span{
  font-size: 12px !important;
}
#recepcionPlanilla .planilla-top{
  grid-template-columns: 1.2fr 0.78fr !important;
  gap: 12px !important;
  margin-bottom: 10px !important;
}
#recepcionPlanilla .planilla-left{
  grid-template-columns: 145px 1fr 90px 1fr !important;
}
#recepcionPlanilla .planilla-right{
  grid-template-columns: 90px 1fr !important;
}
#recepcionPlanilla .planilla-field{
  min-height: 36px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
}
#recepcionPlanilla .tot-box{
  min-height: 36px !important;
}
#recepcionPlanilla .tot-box span,
#recepcionPlanilla .tot-box strong{
  padding: 7px 10px !important;
  font-size: 12px !important;
}
#recepcionPlanilla .total-net strong{
  font-size: 15px !important;
}
#recepcionPlanilla .planilla-title-row{
  gap: 8px !important;
  margin-bottom: 6px !important;
}
#recepcionPlanilla .box-title{
  padding: 9px !important;
  font-size: 12px !important;
  border-radius: 12px !important;
}
#recepcionPlanilla .planilla-wrap{
  border-radius: 12px !important;
}
#recepcionPlanilla .planilla-table{
  min-width: 1220px !important;
}
#recepcionPlanilla .planilla-table th,
#recepcionPlanilla .planilla-table td{
  padding: 2px !important;
}
#recepcionPlanilla .planilla-table thead th{
  font-size: 11px !important;
  line-height: 1.15 !important;
}
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  min-width: 72px !important;
  padding: 6px 5px !important;
  font-size: 11px !important;
  height: 30px !important;
  border-radius: 10px !important;
}
#recepcionPlanilla .formula{
  min-width: 50px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .totales-label{
  font-size: 18px !important;
}
#recepcionPlanilla .planilla-note{
  margin-top: 8px !important;
  padding: 10px 12px !important;
  font-size: 12px !important;
}

#recepcionPlanilla .editable-cell{padding:0!important;}
#recepcionPlanilla .plan-top-input{width:100%;height:100%;min-height:34px;border:0;background:transparent;padding:8px 10px;font-size:12px;color:#203c67;}
#recepcionPlanilla .plan-top-input:focus{outline:2px solid #4b7fd1;background:#f4f8ff;}


/* V18.7 main fixes */
#recepcionPlanilla .card-head h2{
  font-size: 16px !important;
}
#recepcionPlanilla .card-head span{
  font-size: 11px !important;
}
#recepcionPlanilla{
  max-width: 1320px !important;
}
#recepcionPlanilla > .card{
  max-width: 1320px !important;
  padding: 12px !important;
}
#recepcionPlanilla .planilla-top{
  grid-template-columns: 1.15fr 0.72fr !important;
  gap: 10px !important;
}
#recepcionPlanilla .planilla-field{
  min-height: 32px !important;
  padding: 6px 8px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .plan-top-input{
  min-height: 28px !important;
  padding: 6px 8px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .tot-box{
  min-height: 32px !important;
}
#recepcionPlanilla .tot-box span,
#recepcionPlanilla .tot-box strong{
  padding: 6px 8px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .total-net strong{
  font-size: 14px !important;
}
#recepcionPlanilla .box-title{
  font-size: 11px !important;
  padding: 8px !important;
}
#recepcionPlanilla .planilla-table{
  min-width: 1160px !important;
}
#recepcionPlanilla .planilla-table th,
#recepcionPlanilla .planilla-table td{
  padding: 1px !important;
}
#recepcionPlanilla .planilla-table thead th{
  font-size: 10px !important;
  line-height: 1.1 !important;
}
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  min-width: 64px !important;
  height: 26px !important;
  padding: 4px 6px !important;
  font-size: 10px !important;
  border-radius: 8px !important;
}
#recepcionPlanilla .col-producto,
#recepcionPlanilla .product-input{
  min-width: 110px !important;
  width: 110px !important;
}
#recepcionPlanilla .col-calibre,
#recepcionPlanilla .caliber-input{
  min-width: 96px !important;
  width: 96px !important;
}
#recepcionPlanilla .readable-select{
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
#recepcionPlanilla .formula{
  min-width: 44px !important;
  font-size: 10px !important;
}
#recepcionPlanilla .totales-label{
  font-size: 15px !important;
}
#recepcionPlanilla .planilla-note{
  margin-top: 8px !important;
  padding: 8px 10px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .planilla-actions{
  display:flex;
  gap:10px;
  justify-content:flex-end;
  margin-top:10px;
}
#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  border:0;
  border-radius:10px;
  padding:10px 14px;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
#recepcionPlanilla .primary-action{
  background:#3565b8;
  color:white;
}
#recepcionPlanilla .secondary-action{
  background:#e9eef8;
  color:#223f68;
  border:1px solid #c8d3e5;
}


/* V18.9 functional */
#recepcionPlanilla .planilla-msg{
  display:flex;
  align-items:center;
  padding:0 8px;
  font-size:12px;
  font-weight:700;
  color:#2f5f2f;
}
#recepcionPlanilla .planilla-msg.error{
  color:#a23535;
}

/* V19 planilla pro */
#recepcionPlanilla{max-width:1280px!important;}
#recepcionPlanilla>.card{max-width:1280px!important;padding:10px!important;}
#recepcionPlanilla .card-head h2{font-size:15px!important;}
#recepcionPlanilla .card-head span{font-size:11px!important;}
#recepcionPlanilla .planilla-top{grid-template-columns:1.12fr 0.72fr!important;gap:10px!important;margin-bottom:8px!important;}
#recepcionPlanilla .planilla-left{grid-template-columns:138px 1fr 82px 1fr!important;}
#recepcionPlanilla .planilla-right{grid-template-columns:88px 1fr!important;}
#recepcionPlanilla .planilla-field{min-height:30px!important;padding:5px 8px!important;font-size:11px!important;}
#recepcionPlanilla .plan-top-input{min-height:26px!important;padding:5px 7px!important;font-size:11px!important;width:100%;border:0;background:transparent;color:#203c67;}
#recepcionPlanilla .tot-box{min-height:30px!important;}
#recepcionPlanilla .tot-box span,#recepcionPlanilla .tot-box strong{padding:5px 8px!important;font-size:11px!important;}
#recepcionPlanilla .total-net strong{font-size:13px!important;}
#recepcionPlanilla .box-title{padding:7px!important;font-size:11px!important;border-radius:10px!important;}
#recepcionPlanilla .planilla-table{min-width:1110px!important;}
#recepcionPlanilla .planilla-table th,#recepcionPlanilla .planilla-table td{padding:3px!important;vertical-align:middle!important;}
#recepcionPlanilla .planilla-table tbody td{height:30px!important;}
#recepcionPlanilla .planilla-table thead th{text-align:center!important;font-size:10px!important;line-height:1.08!important;}
#recepcionPlanilla .planilla-table input,#recepcionPlanilla .planilla-table select{min-width:60px!important;height:25px!important;padding:3px 5px!important;font-size:10px!important;border-radius:7px!important;}
#recepcionPlanilla .col-producto,#recepcionPlanilla .product-input{min-width:98px!important;width:98px!important;}
#recepcionPlanilla .col-calibre,#recepcionPlanilla .caliber-input{min-width:86px!important;width:86px!important;}
#recepcionPlanilla .readable-select{font-weight:700!important;color:#203c67!important;}
#recepcionPlanilla .formula{min-width:48px!important;width:48px!important;text-align:center!important;font-size:10px!important;}
#recepcionPlanilla .totales-label{font-size:14px!important;}
#recepcionPlanilla .planilla-note{margin-top:8px!important;padding:8px 10px!important;font-size:11px!important;}
#recepcionPlanilla .planilla-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center;margin-top:8px;}
#recepcionPlanilla .primary-action,#recepcionPlanilla .secondary-action{border:0;border-radius:8px;padding:8px 12px;font-size:11px;font-weight:800;cursor:pointer;}
#recepcionPlanilla .primary-action{background:#3565b8;color:#fff;}
#recepcionPlanilla .secondary-action{background:#e9eef8;color:#223f68;border:1px solid #c8d3e5;}
#recepcionPlanilla .planilla-msg{display:flex;align-items:center;padding:0 6px;font-size:11px;font-weight:700;color:#2f5f2f;min-height:28px;}
#recepcionPlanilla .planilla-msg.error{color:#a23535;}
#recepcionPlanilla .editable-cell{padding:0!important;}


/* V19.1 connection/save fix */
#recepcionPlanilla .planilla-msg{
  min-width: 240px;
  justify-content: flex-start;
}
#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  box-shadow: 0 8px 18px rgba(31,60,114,.12);
}
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  font-size: 11px !important;
}


/* V19.2 cleanup after generate */
#recepcionPlanilla .planilla-msg{
  background:#eef5ff;
  border:1px solid #c9daf7;
  border-radius:10px;
  min-height:38px;
}
#recepcionPlanilla .planilla-msg.error{
  background:#fff1f1;
  border-color:#efc3c3;
}


/* V20 layout pro: estable y limpio */
#recepcionPlanilla{
  max-width: 1480px !important;
  margin: 0 auto !important;
}
#recepcionPlanilla > .card{
  max-width: 1480px !important;
  margin: 0 auto !important;
  padding: 16px 18px 18px !important;
  border-radius: 24px !important;
  box-shadow: 0 16px 38px rgba(28,54,102,.06) !important;
}

#recepcionPlanilla .planilla-head{
  display:flex !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
  gap:18px !important;
  margin-bottom:14px !important;
}
#recepcionPlanilla .planilla-head h2{
  font-size: 18px !important;
  line-height: 1.1 !important;
  margin:0 !important;
}
#recepcionPlanilla .planilla-head span{
  max-width: 380px !important;
  text-align: right !important;
  font-size: 12px !important;
  color:#6c7e9e !important;
  line-height:1.35 !important;
}

#recepcionPlanilla .planilla-top{
  display:grid !important;
  grid-template-columns: minmax(0, 1fr) 430px !important;
  gap:14px !important;
  align-items:start !important;
  margin-bottom:12px !important;
}

#recepcionPlanilla .planilla-left,
#recepcionPlanilla .planilla-right{
  background:#fffdf4 !important;
  border:1px solid #cfd8e8 !important;
  border-radius:22px !important;
  overflow:hidden !important;
}

#recepcionPlanilla .planilla-left{
  display:grid !important;
  grid-template-columns: 160px minmax(0,1fr) 96px minmax(0,1fr) !important;
}
#recepcionPlanilla .planilla-right{
  display:grid !important;
  grid-template-columns: 100px minmax(0,1fr) !important;
}

#recepcionPlanilla .planilla-field{
  min-height: 40px !important;
  padding: 7px 10px !important;
  font-size: 12px !important;
  border-right: 1px solid #d6deec !important;
  border-bottom: 1px solid #d6deec !important;
  box-sizing:border-box !important;
}
#recepcionPlanilla .planilla-field.label{
  background:#fff6c9 !important;
  color:#203c67 !important;
  font-weight:800 !important;
}
#recepcionPlanilla .planilla-field.value{
  background:#fffdf4 !important;
}
#recepcionPlanilla .planilla-field.wide{
  grid-column: span 3 !important;
}

#recepcionPlanilla .plan-top-input{
  width:100% !important;
  min-width:0 !important;
  height:30px !important;
  min-height:30px !important;
  padding:4px 12px !important;
  border:1px solid #c9d4e6 !important;
  border-radius:16px !important;
  background:#fff !important;
  font-size:12px !important;
  line-height:30px !important;
  box-sizing:border-box !important;
}
#recepcionPlanilla .plan-top-input:focus{
  outline:none !important;
  border-color:#4b7fd1 !important;
  box-shadow:0 0 0 3px rgba(75,127,209,.14) !important;
}

#recepcionPlanilla .tot-box{
  display:grid !important;
  grid-template-columns: 1fr 118px !important;
  min-height:36px !important;
  border-bottom:1px solid #d6deec !important;
  grid-column:1 / span 2 !important;
}
#recepcionPlanilla .tot-box span,
#recepcionPlanilla .tot-box strong{
  display:flex !important;
  align-items:center !important;
  padding:8px 10px !important;
  font-size:12px !important;
  box-sizing:border-box !important;
}
#recepcionPlanilla .tot-box span{
  color:#203c67 !important;
  font-weight:800 !important;
}
#recepcionPlanilla .tot-box strong{
  justify-content:center !important;
  border-left:1px solid #d6deec !important;
  font-weight:800 !important;
  background:#fff !important;
}
#recepcionPlanilla .total-net strong{
  font-size:14px !important;
}

#recepcionPlanilla .planilla-title-row{
  display:grid !important;
  grid-template-columns: minmax(0,1fr) 360px 250px !important;
  gap:10px !important;
  margin:12px 0 8px !important;
}
#recepcionPlanilla .box-title{
  border:1px solid #cfd8e8 !important;
  border-radius:16px !important;
  padding:10px 12px !important;
  background:#fff !important;
  color:#203c67 !important;
  font-size:12px !important;
  font-weight:800 !important;
  text-align:center !important;
  box-shadow:0 8px 18px rgba(31,61,104,.04) !important;
}

#recepcionPlanilla .planilla-wrap{
  width:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  border:1px solid #cfd8e8 !important;
  border-radius:18px !important;
  background:#fff !important;
}

#recepcionPlanilla .planilla-table{
  width:100% !important;
  min-width:1500px !important;
  table-layout:fixed !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
}
#recepcionPlanilla .planilla-table colgroup col{ width:auto; }

#recepcionPlanilla .planilla-table thead th{
  height:34px !important;
  padding:4px 6px !important;
  background:#f8fbff !important;
  border:1px solid #cad5e7 !important;
  color:#6f84a6 !important;
  font-size:11px !important;
  font-weight:800 !important;
  line-height:1.1 !important;
  text-align:center !important;
  white-space:normal !important;
  word-break:keep-all !important;
  box-sizing:border-box !important;
}
#recepcionPlanilla .planilla-table tbody td,
#recepcionPlanilla .planilla-table tfoot td{
  border:1px solid #cad5e7 !important;
  padding:4px !important;
  background:#fff !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
}
#recepcionPlanilla .planilla-table tbody tr{
  height:52px !important;
}
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  width:100% !important;
  min-width:0 !important;
  height:36px !important;
  padding:0 10px !important;
  border:1px solid #c9d4e6 !important;
  border-radius:12px !important;
  background:#fff !important;
  color:#223f68 !important;
  font-size:11px !important;
  font-weight:700 !important;
  box-sizing:border-box !important;
}
#recepcionPlanilla .planilla-table input:focus,
#recepcionPlanilla .planilla-table select:focus{
  outline:none !important;
  border-color:#4b7fd1 !important;
  box-shadow:0 0 0 3px rgba(75,127,209,.14) !important;
}
#recepcionPlanilla .formula{
  background:#f8fbff !important;
  color:#203c67 !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-align:center !important;
}
#recepcionPlanilla .totales-label{
  background:#fff !important;
  color:#203c67 !important;
  font-size:16px !important;
  font-weight:900 !important;
  letter-spacing:.4px !important;
  text-align:center !important;
}

#recepcionPlanilla .planilla-note{
  margin-top:10px !important;
  padding:10px 12px !important;
  border:1px dashed #cfd8e8 !important;
  border-radius:14px !important;
  background:#fbfcff !important;
  color:#6c7e9e !important;
  font-size:12px !important;
}

#recepcionPlanilla .planilla-actions{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:10px !important;
  margin-top:12px !important;
}
#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  min-width:150px !important;
  height:40px !important;
  border-radius:12px !important;
  font-size:12px !important;
  font-weight:800 !important;
  border:0 !important;
  cursor:pointer !important;
}
#recepcionPlanilla .primary-action{
  color:#fff !important;
  background:linear-gradient(135deg,#4674c5,#345ea7) !important;
  box-shadow:0 10px 22px rgba(52,94,167,.22) !important;
}
#recepcionPlanilla .secondary-action{
  color:#203c67 !important;
  background:#eef4ff !important;
  border:1px solid #d3def1 !important;
}
#recepcionPlanilla .planilla-msg{
  min-width:260px !important;
  min-height:40px !important;
  display:flex !important;
  align-items:center !important;
  padding:0 12px !important;
  border-radius:12px !important;
  background:#eef5ff !important;
  border:1px solid #c9daf7 !important;
  font-size:12px !important;
  font-weight:700 !important;
}
#recepcionPlanilla .planilla-msg.error{
  background:#fff1f1 !important;
  border-color:#efc3c3 !important;
  color:#a23535 !important;
}

/* prevent right block compression on medium widths */
@media (max-width: 1400px){
  #recepcionPlanilla .planilla-top{
    grid-template-columns: 1fr !important;
  }
  #recepcionPlanilla .planilla-title-row{
    grid-template-columns: 1fr 1fr 1fr !important;
  }
}


/* V20.1 pro full fit */
#recepcionPlanilla{
  width: calc(100vw - 390px) !important;
  max-width: calc(100vw - 390px) !important;
  margin: 0 !important;
}
#recepcionPlanilla > .card{
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

#recepcionPlanilla .planilla-head{
  margin-bottom: 10px !important;
}
#recepcionPlanilla .planilla-head span{
  max-width: 300px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}

#recepcionPlanilla .planilla-top{
  grid-template-columns: minmax(0, 1fr) 330px !important;
  gap: 10px !important;
}
#recepcionPlanilla .planilla-left{
  grid-template-columns: 145px minmax(0,1fr) 82px minmax(0,1fr) !important;
}
#recepcionPlanilla .planilla-right{
  grid-template-columns: 92px minmax(0,1fr) !important;
}

#recepcionPlanilla .planilla-field{
  min-height: 34px !important;
  padding: 6px 8px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .plan-top-input{
  height: 28px !important;
  min-height: 28px !important;
  font-size: 11px !important;
  padding: 3px 10px !important;
}

#recepcionPlanilla .tot-box{
  grid-template-columns: 1fr 86px !important;
  min-height: 32px !important;
}
#recepcionPlanilla .tot-box span,
#recepcionPlanilla .tot-box strong{
  font-size: 11px !important;
  padding: 6px 8px !important;
}
#recepcionPlanilla .total-net strong{
  font-size: 13px !important;
}

#recepcionPlanilla .planilla-title-row{
  grid-template-columns: minmax(0,1fr) 280px 170px !important;
  gap: 8px !important;
  margin: 8px 0 6px !important;
}
#recepcionPlanilla .box-title{
  padding: 8px 10px !important;
  font-size: 11px !important;
}

#recepcionPlanilla .planilla-wrap{
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
#recepcionPlanilla .planilla-table{
  min-width: 1380px !important;
}
#recepcionPlanilla .planilla-table thead th{
  height: 28px !important;
  font-size: 10px !important;
  padding: 3px 4px !important;
}
#recepcionPlanilla .planilla-table tbody tr{
  height: 42px !important;
}
#recepcionPlanilla .planilla-table tbody td,
#recepcionPlanilla .planilla-table tfoot td{
  padding: 3px !important;
}
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  height: 30px !important;
  border-radius: 10px !important;
  font-size: 10px !important;
  padding: 0 8px !important;
}
#recepcionPlanilla .formula{
  font-size: 10px !important;
}
#recepcionPlanilla .totales-label{
  font-size: 14px !important;
}

#recepcionPlanilla .planilla-table tbody tr:nth-child(n+9){
  display: none !important;
}

#recepcionPlanilla .planilla-actions{
  margin-top: 8px !important;
}
#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  min-width: 135px !important;
  height: 36px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .planilla-msg{
  min-height: 36px !important;
  font-size: 11px !important;
}


/* FINAL FIT — reduce bottom panel so everything fits one screen */
#recepcionPlanilla .planilla-wrap{
  max-height: 360px !important;
  overflow-y: hidden !important;
}

#recepcionPlanilla .planilla-table{
  min-width: 1300px !important;
}

#recepcionPlanilla .planilla-table thead th{
  height:24px !important;
  font-size:9.5px !important;
  padding:2px 4px !important;
}

#recepcionPlanilla .planilla-table tbody tr{
  height:36px !important;
}

#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  height:26px !important;
  font-size:9.5px !important;
  padding:0 6px !important;
}

#recepcionPlanilla .formula{
  font-size:9.5px !important;
}

#recepcionPlanilla .totales-label{
  font-size:12px !important;
}

#recepcionPlanilla .planilla-note{
  font-size:10px !important;
  padding:6px 10px !important;
}

#recepcionPlanilla .planilla-actions{
  margin-top:6px !important;
}

#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  height:34px !important;
  font-size:10.5px !important;
  min-width:120px !important;
}


/* FINAL visual fixes */
#recepcionPlanilla .planilla-table{
  min-width:1380px !important;
}

/* ensure Peso Neto column visible */
#recepcionPlanilla .planilla-table col:last-child{
  width:90px !important;
}

/* reduce envases area slightly */
#recepcionPlanilla .planilla-table thead th{
  font-size:9px !important;
}

/* show 5 rows instead of 4 */
#recepcionPlanilla .planilla-table tbody tr{
  height:34px !important;
}

#recepcionPlanilla .planilla-table tbody tr:nth-child(n+6){
  display:none !important;
}

/* adjust inputs to fit */
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  height:24px !important;
  font-size:9px !important;
  padding:0 5px !important;
}

/* fix Peso Neto alignment */
#recepcionPlanilla td:last-child{
  text-align:center !important;
  font-weight:700 !important;
}


/* V20.4 ultra fit final */
#recepcionPlanilla .planilla-wrap{
  max-height: 315px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

#recepcionPlanilla .planilla-table{
  min-width: 1325px !important;
}

#recepcionPlanilla .planilla-table thead th{
  height: 22px !important;
  font-size: 9px !important;
  padding: 1px 3px !important;
  line-height: 1.05 !important;
}

#recepcionPlanilla .planilla-table tbody tr{
  height: 30px !important;
}

#recepcionPlanilla .planilla-table tbody tr:nth-child(n+6){
  display: none !important;
}

#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  height: 22px !important;
  min-height: 22px !important;
  font-size: 9px !important;
  padding: 0 5px !important;
  border-radius: 8px !important;
}

#recepcionPlanilla .formula{
  font-size: 9px !important;
}

#recepcionPlanilla .totales-label{
  font-size: 11px !important;
}

#recepcionPlanilla .planilla-note{
  margin-top: 6px !important;
  padding: 5px 8px !important;
  font-size: 9.5px !important;
  border-radius: 10px !important;
}

#recepcionPlanilla .planilla-actions{
  margin-top: 6px !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
}

#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  min-width: 170px !important;
  width: 170px !important;
  height: 32px !important;
  font-size: 10px !important;
  border-radius: 10px !important;
  flex: 0 0 auto !important;
}

#recepcionPlanilla .planilla-msg{
  min-width: 220px !important;
  width: auto !important;
  flex: 0 0 auto !important;
  min-height: 32px !important;
  font-size: 10px !important;
  padding: 0 10px !important;
}

/* make bottom area compact */
#recepcionPlanilla > .card{
  padding-bottom: 12px !important;
}

/* V20.5 ULTRA PRO */
#recepcionPlanilla{
  width: calc(100vw - 380px) !important;
  max-width: calc(100vw - 380px) !important;
  margin: 0 !important;
}
#recepcionPlanilla > .card{
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px 16px 14px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}
#recepcionPlanilla .planilla-head{
  margin-bottom: 10px !important;
}
#recepcionPlanilla .planilla-head h2{
  font-size: 18px !important;
  font-weight: 800 !important;
}
#recepcionPlanilla .planilla-head span{
  max-width: 320px !important;
  font-size: 11px !important;
  line-height: 1.25 !important;
}
#recepcionPlanilla .planilla-top{
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
}
#recepcionPlanilla .planilla-left{
  grid-template-columns: 150px minmax(0,1fr) 86px minmax(0,1fr) !important;
}
#recepcionPlanilla .planilla-right{
  grid-template-columns: 100px minmax(0,1fr) !important;
}
#recepcionPlanilla .planilla-field{
  min-height: 34px !important;
  padding: 5px 8px !important;
  font-size: 11px !important;
}
#recepcionPlanilla .plan-top-input{
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  font-size: 11px !important;
  border-radius: 14px !important;
}
#recepcionPlanilla .tot-box{
  grid-template-columns: 1fr 94px !important;
  min-height: 31px !important;
}
#recepcionPlanilla .tot-box span,
#recepcionPlanilla .tot-box strong{
  font-size: 11px !important;
  padding: 6px 8px !important;
}
#recepcionPlanilla .total-net strong{
  font-size: 13px !important;
}
#recepcionPlanilla .planilla-title-row{
  grid-template-columns: minmax(0,1fr) 300px 180px !important;
  gap: 8px !important;
  margin: 8px 0 6px !important;
}
#recepcionPlanilla .box-title{
  padding: 7px 8px !important;
  font-size: 11px !important;
  border-radius: 14px !important;
}
#recepcionPlanilla .planilla-wrap{
  max-width: 100% !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
  border-radius: 18px !important;
}
#recepcionPlanilla .planilla-table{
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
#recepcionPlanilla .planilla-table thead th{
  height: 22px !important;
  font-size: 8.8px !important;
  padding: 2px 3px !important;
  line-height: 1.05 !important;
  white-space: normal !important;
}
#recepcionPlanilla .planilla-table tbody tr{
  height: 31px !important;
}
#recepcionPlanilla .planilla-table tbody tr:nth-child(n+6){
  display: none !important;
}
#recepcionPlanilla .planilla-table tbody td,
#recepcionPlanilla .planilla-table tfoot td{
  padding: 2px !important;
}
#recepcionPlanilla .planilla-table input,
#recepcionPlanilla .planilla-table select{
  height: 22px !important;
  min-height: 22px !important;
  padding: 0 4px !important;
  font-size: 8.8px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
}
#recepcionPlanilla .formula{
  font-size: 8.8px !important;
  width: auto !important;
  min-width: 0 !important;
}
#recepcionPlanilla .totales-label{
  font-size: 12px !important;
  letter-spacing: .2px !important;
}
#recepcionPlanilla .planilla-note{
  margin-top: 5px !important;
  padding: 6px 8px !important;
  font-size: 9.5px !important;
  line-height: 1.2 !important;
}
#recepcionPlanilla .planilla-actions{
  margin-top: 8px !important;
  gap: 10px !important;
  justify-content: flex-start !important;
  align-items: center !important;
}
#recepcionPlanilla .primary-action,
#recepcionPlanilla .secondary-action{
  min-width: 210px !important;
  width: 210px !important;
  height: 42px !important;
  font-size: 13px !important;
  border-radius: 14px !important;
}
#recepcionPlanilla .planilla-msg{
  min-width: 280px !important;
  min-height: 42px !important;
  font-size: 12px !important;
  border-radius: 14px !important;
  padding: 0 12px !important;
}
@media (max-width: 1500px){
  #recepcionPlanilla{
    width: calc(100vw - 360px) !important;
    max-width: calc(100vw - 360px) !important;
  }
  #recepcionPlanilla .planilla-top{
    grid-template-columns: minmax(0,1fr) 330px !important;
  }
}


/* V20.6 navegación tipo Excel */
#recepcionPlanilla .planilla-table input:focus,
#recepcionPlanilla .planilla-table select:focus{
  transform: translateY(-1px);
}

/* V21 guias ingreso */
#recepcionPlanilla .pdf-action{
  text-decoration:none;
  align-items:center;
  justify-content:center;
}
#recepcionPlanilla .guia-history-card{
  border-radius:16px;
}
#recepcionPlanilla .guia-history-card table th,
#recepcionPlanilla .guia-history-card table td{
  font-size:11px;
}

/* V22 bins + etiquetas + qr */
#binsEtiquetasQR{max-width:1480px}
#binsEtiquetasQR>.card{max-width:1480px}
#binsEtiquetasQR .bins-qr-card .table-wrap table th,
#binsEtiquetasQR .bins-qr-card .table-wrap table td{
  font-size:11px;
}

.patio-grid{
display:grid;
grid-template-columns:repeat(20,1fr);
gap:6px;
margin-top:12px
}
.patio-grid .cell{
border:1px solid #c9d3e6;
border-radius:6px;
padding:4px;
font-size:9px;
text-align:center;
min-height:42px
}
.patio-grid .pos{
font-weight:700;
font-size:9px;
margin-bottom:2px
}
.patio-grid .bin{
background:#e6f0ff;
border-radius:4px;
padding:2px
}
.patio-grid .empty{
color:#9aa8c3
}

/* V24 packing productivo */
#packing{max-width:1480px}
#packing>.card{max-width:1480px}
.packing-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
}
.pk-box{
  border:1px solid #d6dfef;
  border-radius:16px;
  padding:12px;
  background:#fbfcff;
}
.pk-box label{
  display:block;
  font-weight:800;
  color:#203c67;
  margin-bottom:8px;
}
.pk-box input{
  width:100%;
  height:42px;
  border:1px solid #c9d4e6;
  border-radius:12px;
  padding:0 12px;
  box-sizing:border-box;
}


/* V24.3 PACKING UI FIX */
#packing{
  max-width: 1480px !important;
  width: calc(100vw - 380px) !important;
  max-width: calc(100vw - 380px) !important;
  margin: 0 !important;
}
#packing > .card{
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px !important;
  overflow: hidden !important;
}

#packing .inventory-ai-top{
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  margin-bottom: 14px !important;
}
#packing .inventory-ai-card{
  min-height: 96px !important;
  padding: 16px !important;
  border-radius: 18px !important;
}
#packing .inventory-ai-card span{
  font-size: 12px !important;
}
#packing .inventory-ai-card strong{
  font-size: 18px !important;
}
#packing .inventory-ai-card small{
  font-size: 11px !important;
}

#packing .inventory-ai-grid{
  display: grid !important;
  grid-template-columns: 520px minmax(0,1fr) !important;
  gap: 14px !important;
  align-items: start !important;
}
#packing .inventory-subcard{
  border-radius: 18px !important;
}
#packing .inventory-subcard .card-head{
  margin-bottom: 12px !important;
}
#packing .inventory-subcard .card-head h2{
  font-size: 16px !important;
}
#packing .inventory-subcard .card-head span{
  font-size: 12px !important;
}

#packing .grid{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
#packing .grid input{
  width: 100% !important;
  height: 52px !important;
  border: 1px solid #c9d4e6 !important;
  border-radius: 16px !important;
  padding: 0 16px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  box-sizing: border-box !important;
}

#packing .packing-grid{
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin-top: 12px !important;
}
#packing .pk-box{
  border: 1px solid #d6dfef !important;
  border-radius: 18px !important;
  padding: 12px !important;
  background: #fbfcff !important;
  min-height: 126px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
#packing .pk-box label{
  display: block !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #203c67 !important;
  line-height: 1.15 !important;
  margin-bottom: 12px !important;
  text-align: center !important;
}
#packing .pk-box input{
  width: 100% !important;
  height: 58px !important;
  border: 1px solid #c9d4e6 !important;
  border-radius: 16px !important;
  padding: 0 14px !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

#packing .planilla-actions{
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
  align-items: center !important;
  margin-top: 14px !important;
}
#packing .primary-action,
#packing .secondary-action{
  width: 100% !important;
  min-width: 0 !important;
  height: 52px !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  border-radius: 16px !important;
}
#packing .planilla-msg{
  grid-column: 1 / span 2 !important;
  min-height: 44px !important;
  font-size: 13px !important;
  border-radius: 14px !important;
}

#packing .table-wrap{
  max-height: 240px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
#packing .table-wrap table th,
#packing .table-wrap table td{
  font-size: 12px !important;
  padding: 8px !important;
}

@media (max-width: 1500px){
  #packing{
    width: calc(100vw - 360px) !important;
    max-width: calc(100vw - 360px) !important;
  }
  #packing .inventory-ai-grid{
    grid-template-columns: 470px minmax(0,1fr) !important;
  }
  #packing .grid input{
    height: 48px !important;
    font-size: 14px !important;
  }
  #packing .pk-box{
    min-height: 114px !important;
  }
  #packing .pk-box input{
    height: 50px !important;
    font-size: 18px !important;
  }
  #packing .primary-action,
  #packing .secondary-action{
    height: 48px !important;
    font-size: 16px !important;
  }
}

/* V28 dashboard ejecutivo */
#dashboard{max-width:1480px}
#dashboard>.card{max-width:1480px}
.kgp-dashboard{padding:18px !important}
.kgp-hero{
  border:1px solid #d6dfef;
  border-radius:26px;
  padding:24px 28px;
  background:linear-gradient(180deg,#fbfcff 0%, #f2f7ff 100%);
  margin-bottom:16px;
  text-align:center;
}
.kgp-hero-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  border-radius:999px;
  background:#e8f0ff;
  color:#2f5aa6;
  font-size:13px;
  font-weight:800;
  letter-spacing:.5px;
  margin-bottom:12px;
}
.kgp-hero h1{
  margin:0;
  font-size:34px;
  line-height:1.05;
  color:#203c67;
}
.kgp-hero p{
  margin:10px 0 0;
  color:#6c7e9e;
  font-size:18px;
}
.kgp-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
  margin-bottom:16px;
}
.kpi-card{
  border:1px solid #d6dfef;
  border-radius:22px;
  background:#fff;
  padding:18px;
  min-height:120px;
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 12px 30px rgba(33,60,103,.05);
}
.kpi-card.primary{background:linear-gradient(135deg,#315a9e,#406cb8); border-color:#315a9e}
.kpi-card.primary span,.kpi-card.primary strong,.kpi-card.primary small{color:#fff}
.kpi-card.success{background:linear-gradient(135deg,#2d7d57,#3f9e72); border-color:#2d7d57}
.kpi-card.success span,.kpi-card.success strong,.kpi-card.success small{color:#fff}
.kpi-card span{
  font-size:13px;
  color:#6d7f9f;
  font-weight:700;
}
.kpi-card strong{
  font-size:32px;
  line-height:1;
  color:#203c67;
  font-weight:900;
}
.kpi-card small{
  font-size:12px;
  color:#7b8bab;
}
.kgp-dashboard-grid{
  display:grid;
  grid-template-columns:1.4fr .8fr;
  gap:14px;
}
.flow-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.flow-box{
  padding:16px 18px;
  border-radius:16px;
  background:#f6f9ff;
  border:1px solid #d6dfef;
  color:#203c67;
  font-size:15px;
  font-weight:800;
}
.flow-arrow{
  color:#4e73b5;
  font-size:22px;
  font-weight:900;
}
.mini-kpi-list{
  display:grid;
  gap:10px;
}
.mini-kpi{
  border:1px solid #d6dfef;
  border-radius:16px;
  padding:14px 16px;
  background:#fbfcff;
}
.mini-kpi label{
  display:block;
  font-size:12px;
  color:#6d7f9f;
  margin-bottom:6px;
  font-weight:700;
}
.mini-kpi strong{
  font-size:18px;
  color:#203c67;
}
@media (max-width: 1400px){
  .kgp-kpis{grid-template-columns:repeat(2,1fr)}
  .kgp-dashboard-grid{grid-template-columns:1fr}
}

/* V29 dashboard producción */
#dashboard{max-width:1480px}
.kgp-exec-wrap{margin-bottom:18px}
.kgp-exec-hero{border:1px solid #d8e1ef;border-radius:24px;padding:22px 26px;background:linear-gradient(180deg,#fbfcff 0%, #f3f7ff 100%);margin-bottom:14px}
.kgp-chip{display:inline-flex;padding:8px 16px;border-radius:999px;background:#e8f0ff;color:#315fae;font-size:12px;font-weight:800;letter-spacing:.5px;margin-bottom:10px}
.kgp-exec-hero h2{font-size:30px;line-height:1.05;margin:0;color:#203c67}
.kgp-exec-hero p{margin:8px 0 0;color:#6c7e9e;font-size:16px}
.kgp-exec-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}
.kgp-kpi{border:1px solid #d6dfef;border-radius:20px;background:#fff;padding:16px;min-height:108px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 24px rgba(33,60,103,.05)}
.kgp-kpi.primary{background:linear-gradient(135deg,#315a9e,#406cb8);border-color:#315a9e}
.kgp-kpi.primary span,.kgp-kpi.primary strong,.kgp-kpi.primary small{color:#fff}
.kgp-kpi.success{background:linear-gradient(135deg,#2d7d57,#3f9e72);border-color:#2d7d57}
.kgp-kpi.success span,.kgp-kpi.success strong,.kgp-kpi.success small{color:#fff}
.kgp-kpi.alert{background:linear-gradient(135deg,#b96a24,#d98a3e);border-color:#b96a24}
.kgp-kpi.alert span,.kgp-kpi.alert strong,.kgp-kpi.alert small{color:#fff}
.kgp-kpi span{font-size:12px;color:#7082a1;font-weight:700}
.kgp-kpi strong{font-size:30px;line-height:1;color:#203c67}
.kgp-kpi small{font-size:11px;color:#7b8bab}
.kgp-exec-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}
.kgp-calibres{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.cal-box{border:1px solid #d6dfef;border-radius:18px;background:#fbfcff;padding:16px;text-align:center}
.cal-box label{display:block;font-size:14px;font-weight:800;color:#6d7f9f;margin-bottom:8px}
.cal-box strong{display:block;font-size:30px;line-height:1;color:#203c67}
.cal-box small{color:#7b8bab;font-size:12px}
.kgp-flow{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kgp-flow .flow-box{padding:14px 16px;border-radius:14px;border:1px solid #d6dfef;background:#f6f9ff;font-weight:800;color:#203c67}
.kgp-flow .flow-arrow{font-size:20px;color:#4f74b5;font-weight:900}
@media (max-width:1500px){.kgp-exec-kpis{grid-template-columns:repeat(3,1fr)}.kgp-exec-grid{grid-template-columns:1fr}}

/* V30 dashboard packing real */
#dashboard{max-width:1480px}
.kgp-main-dashboard{padding:18px!important}
.kgp-prod-hero{
  border:1px solid #d8e1ef;
  border-radius:24px;
  padding:24px 28px;
  background:linear-gradient(180deg,#fbfcff 0%, #f3f7ff 100%);
  margin-bottom:14px;
}
.kgp-prod-chip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  border-radius:999px;
  background:#e8f0ff;
  color:#315fae;
  font-size:12px;
  font-weight:800;
  letter-spacing:.5px;
  margin-bottom:10px;
}
.kgp-prod-hero h1{
  margin:0;
  font-size:34px;
  line-height:1.05;
  color:#203c67;
}
.kgp-prod-hero p{
  margin:10px 0 0;
  color:#6c7e9e;
  font-size:16px;
}
.kgp-prod-kpis{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
  margin-bottom:14px;
}
.kgp-prod-kpi{
  border:1px solid #d6dfef;
  border-radius:20px;
  background:#fff;
  padding:16px;
  min-height:108px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 10px 24px rgba(33,60,103,.05);
}
.kgp-prod-kpi.primary{background:linear-gradient(135deg,#315a9e,#406cb8);border-color:#315a9e}
.kgp-prod-kpi.primary span,.kgp-prod-kpi.primary strong,.kgp-prod-kpi.primary small{color:#fff}
.kgp-prod-kpi.success{background:linear-gradient(135deg,#2d7d57,#3f9e72);border-color:#2d7d57}
.kgp-prod-kpi.success span,.kgp-prod-kpi.success strong,.kgp-prod-kpi.success small{color:#fff}
.kgp-prod-kpi.warning{background:linear-gradient(135deg,#b96a24,#d98a3e);border-color:#b96a24}
.kgp-prod-kpi.warning span,.kgp-prod-kpi.warning strong,.kgp-prod-kpi.warning small{color:#fff}
.kgp-prod-kpi span{font-size:12px;color:#7082a1;font-weight:700}
.kgp-prod-kpi strong{font-size:30px;line-height:1;color:#203c67}
.kgp-prod-kpi small{font-size:11px;color:#7b8bab}
.kgp-prod-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:14px;
}
.kgp-cal-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:14px;
}
.kgp-cal-card{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fbfcff;
  padding:16px;
  text-align:center;
}
.kgp-cal-card label{
  display:block;
  font-size:14px;
  font-weight:800;
  color:#6d7f9f;
  margin-bottom:8px;
}
.kgp-cal-card strong{
  display:block;
  font-size:30px;
  line-height:1;
  color:#203c67;
}
.kgp-cal-card small{
  color:#7b8bab;
  font-size:12px;
}
.kgp-flow-row{
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
}
.kgp-flow-row .flow-box{
  padding:14px 16px;
  border-radius:14px;
  border:1px solid #d6dfef;
  background:#f6f9ff;
  font-weight:800;
  color:#203c67;
}
.kgp-flow-row .flow-arrow{
  font-size:20px;
  color:#4f74b5;
  font-weight:900;
}
@media (max-width:1500px){
  .kgp-prod-kpis{grid-template-columns:repeat(3,1fr)}
  .kgp-prod-grid{grid-template-columns:1fr}
}

/* V31 dashboard modular packing */
#dashboard{max-width:1480px}
.kgp-main-dashboard{padding:18px!important}
.kgp-prod-hero{border:1px solid #d8e1ef;border-radius:24px;padding:24px 28px;background:linear-gradient(180deg,#fbfcff 0%, #f3f7ff 100%);margin-bottom:14px}
.kgp-prod-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:#e8f0ff;color:#315fae;font-size:12px;font-weight:800;letter-spacing:.5px;margin-bottom:10px}
.kgp-prod-hero h1{margin:0;font-size:34px;line-height:1.05;color:#203c67}
.kgp-prod-hero p{margin:10px 0 0;color:#6c7e9e;font-size:16px}
.kgp-prod-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}
.kgp-prod-kpi{border:1px solid #d6dfef;border-radius:20px;background:#fff;padding:16px;min-height:108px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 24px rgba(33,60,103,.05)}
.kgp-prod-kpi.primary{background:linear-gradient(135deg,#315a9e,#406cb8);border-color:#315a9e}
.kgp-prod-kpi.primary span,.kgp-prod-kpi.primary strong,.kgp-prod-kpi.primary small{color:#fff}
.kgp-prod-kpi.success{background:linear-gradient(135deg,#2d7d57,#3f9e72);border-color:#2d7d57}
.kgp-prod-kpi.success span,.kgp-prod-kpi.success strong,.kgp-prod-kpi.success small{color:#fff}
.kgp-prod-kpi.warning{background:linear-gradient(135deg,#b96a24,#d98a3e);border-color:#b96a24}
.kgp-prod-kpi.warning span,.kgp-prod-kpi.warning strong,.kgp-prod-kpi.warning small{color:#fff}
.kgp-prod-kpi span{font-size:12px;color:#7082a1;font-weight:700}
.kgp-prod-kpi strong{font-size:30px;line-height:1;color:#203c67}
.kgp-prod-kpi small{font-size:11px;color:#7b8bab}
.kgp-prod-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.kgp-cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.kgp-cal-card{border:1px solid #d6dfef;border-radius:18px;background:#fbfcff;padding:16px;text-align:center}
.kgp-cal-card label{display:block;font-size:14px;font-weight:800;color:#6d7f9f;margin-bottom:8px}
.kgp-cal-card strong{display:block;font-size:30px;line-height:1;color:#203c67}
.kgp-cal-card small{color:#7b8bab;font-size:12px}
.kgp-flow-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kgp-flow-row .flow-box{padding:14px 16px;border-radius:14px;border:1px solid #d6dfef;background:#f6f9ff;font-weight:800;color:#203c67}
.kgp-flow-row .flow-arrow{font-size:20px;color:#4f74b5;font-weight:900}
@media (max-width:1500px){.kgp-prod-kpis{grid-template-columns:repeat(3,1fr)}.kgp-prod-grid{grid-template-columns:1fr}}

/* V31.1 dashboard modular real fix */
#dashboard{max-width:1480px}
.kgp-main-dashboard{padding:18px!important}
.kgp-prod-hero{border:1px solid #d8e1ef;border-radius:24px;padding:24px 28px;background:linear-gradient(180deg,#fbfcff 0%, #f3f7ff 100%);margin-bottom:14px}
.kgp-prod-chip{display:inline-flex;align-items:center;justify-content:center;padding:8px 16px;border-radius:999px;background:#e8f0ff;color:#315fae;font-size:12px;font-weight:800;letter-spacing:.5px;margin-bottom:10px}
.kgp-prod-hero h1{margin:0;font-size:34px;line-height:1.05;color:#203c67}
.kgp-prod-hero p{margin:10px 0 0;color:#6c7e9e;font-size:16px}
.kgp-prod-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:14px}
.kgp-prod-kpi{border:1px solid #d6dfef;border-radius:20px;background:#fff;padding:16px;min-height:108px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 24px rgba(33,60,103,.05)}
.kgp-prod-kpi.primary{background:linear-gradient(135deg,#315a9e,#406cb8);border-color:#315a9e}
.kgp-prod-kpi.primary span,.kgp-prod-kpi.primary strong,.kgp-prod-kpi.primary small{color:#fff}
.kgp-prod-kpi.success{background:linear-gradient(135deg,#2d7d57,#3f9e72);border-color:#2d7d57}
.kgp-prod-kpi.success span,.kgp-prod-kpi.success strong,.kgp-prod-kpi.success small{color:#fff}
.kgp-prod-kpi.warning{background:linear-gradient(135deg,#b96a24,#d98a3e);border-color:#b96a24}
.kgp-prod-kpi.warning span,.kgp-prod-kpi.warning strong,.kgp-prod-kpi.warning small{color:#fff}
.kgp-prod-kpi span{font-size:12px;color:#7082a1;font-weight:700}
.kgp-prod-kpi strong{font-size:30px;line-height:1;color:#203c67}
.kgp-prod-kpi small{font-size:11px;color:#7b8bab}
.kgp-prod-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.kgp-cal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:14px}
.kgp-cal-card{border:1px solid #d6dfef;border-radius:18px;background:#fbfcff;padding:16px;text-align:center}
.kgp-cal-card label{display:block;font-size:14px;font-weight:800;color:#6d7f9f;margin-bottom:8px}
.kgp-cal-card strong{display:block;font-size:30px;line-height:1;color:#203c67}
.kgp-cal-card small{color:#7b8bab;font-size:12px}
.kgp-flow-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kgp-flow-row .flow-box{padding:14px 16px;border-radius:14px;border:1px solid #d6dfef;background:#f6f9ff;font-weight:800;color:#203c67}
.kgp-flow-row .flow-arrow{font-size:20px;color:#4f74b5;font-weight:900}
@media (max-width:1500px){.kgp-prod-kpis{grid-template-columns:repeat(3,1fr)}.kgp-prod-grid{grid-template-columns:1fr}}

/* V31.2 UI fix dashboard */
#dashboard .kgp-main-dashboard{
  max-width: 1480px;
}
#dashboard .kgp-prod-hero{
  padding: 20px 24px !important;
  margin-bottom: 12px !important;
}
#dashboard .kgp-prod-hero h1{
  font-size: 28px !important;
}
#dashboard .kgp-prod-hero p{
  font-size: 15px !important;
}
#dashboard .kgp-prod-kpis{
  grid-template-columns: repeat(6, minmax(0,1fr)) !important;
  gap: 10px !important;
}
#dashboard .kgp-prod-kpi{
  min-height: 94px !important;
  padding: 14px !important;
  border-radius: 18px !important;
}
#dashboard .kgp-prod-kpi strong{
  font-size: 26px !important;
}
#dashboard .kgp-prod-grid{
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
#dashboard .kgp-cal-grid{
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 10px !important;
}
#dashboard .kgp-cal-card{
  padding: 14px !important;
  border-radius: 16px !important;
}
#dashboard .kgp-cal-card strong{
  font-size: 24px !important;
}
#dashboard .table-wrap.small{
  max-height: 340px !important;
}
@media (max-width: 1500px){
  #dashboard .kgp-prod-kpis{
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
  #dashboard .kgp-prod-grid{
    grid-template-columns: 1fr !important;
  }
}

/* V31.3 tighter dashboard */
#dashboard .kgp-prod-kpis{gap:10px!important}
#dashboard .kgp-prod-kpi{min-height:92px!important;padding:14px!important}
#dashboard .kgp-prod-kpi strong{font-size:24px!important}
#dashboard .kgp-prod-grid{gap:12px!important}
#dashboard .kgp-cal-card{padding:14px!important}
#dashboard .kgp-cal-card strong{font-size:24px!important}

/* V32 dashboard final unificado */
#dashboard .kgp-main-dashboard{padding:16px!important}
#dashboard .card-head h2{font-size:18px!important}
#dashboard .card-head span{font-size:12px!important}
#dashboard .kgp-prod-hero{padding:20px 22px!important;border-radius:22px!important;margin-bottom:12px!important}
#dashboard .kgp-prod-hero h1{font-size:26px!important;line-height:1.05!important}
#dashboard .kgp-prod-hero p{font-size:15px!important}
#dashboard .kgp-prod-kpis.uniform{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
#dashboard .kgp-prod-kpi{
  min-height:96px!important;
  padding:14px!important;
  border-radius:18px!important;
}
#dashboard .kgp-prod-kpi strong{font-size:24px!important}
#dashboard .kgp-prod-kpi span{font-size:12px!important}
#dashboard .kgp-prod-kpi small{font-size:11px!important}
#dashboard .kgp-prod-grid.final-grid{
  display:grid!important;
  grid-template-columns:1fr 1.1fr!important;
  gap:12px!important;
  align-items:stretch!important;
  margin-bottom:12px!important;
}
#dashboard .kgp-cal-grid.uniform{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:10px!important;
  margin-bottom:12px!important;
}
#dashboard .kgp-cal-card{
  padding:12px!important;
  border-radius:16px!important;
  min-height:110px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
#dashboard .kgp-cal-card label{font-size:13px!important}
#dashboard .kgp-cal-card strong{font-size:24px!important}
#dashboard .kgp-flow-row{gap:8px!important}
#dashboard .kgp-flow-row .flow-box{padding:12px 14px!important;border-radius:12px!important;font-size:14px!important}
#dashboard .kgp-flow-row .flow-arrow{font-size:18px!important}
#dashboard .dashboard-table{max-height:290px!important}
#dashboard .dashboard-table table th,#dashboard .dashboard-table table td{font-size:12px!important;padding:8px!important}
#dashboard .kgp-bottom-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
#dashboard .kgp-alert-box{
  border:1px solid #d6dfef;
  border-radius:16px;
  padding:16px;
  min-height:110px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  background:#fbfcff;
}
#dashboard .kgp-alert-box.danger{background:#fff6f5;border-color:#f0c7c1}
#dashboard .kgp-alert-box.ok{background:#f7fbff}
#dashboard .kgp-alert-box strong{font-size:18px;color:#203c67;margin-bottom:6px}
#dashboard .kgp-alert-box small{font-size:13px;color:#7182a0}
#dashboard .mini-patio-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:8px;
}
#dashboard .mini-cell{
  border:1px solid #d6dfef;
  border-radius:14px;
  padding:12px 10px;
  text-align:center;
  font-weight:800;
  color:#203c67;
  background:#fbfcff;
}
#dashboard .mini-fin-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}
#dashboard .mini-fin-card{
  border:1px solid #d6dfef;
  border-radius:14px;
  padding:14px 12px;
  background:#fbfcff;
}
#dashboard .mini-fin-card label{
  display:block;
  font-size:12px;
  color:#7182a0;
  margin-bottom:6px;
}
#dashboard .mini-fin-card strong{
  font-size:20px;
  color:#203c67;
}
@media (max-width:1500px){
  #dashboard .kgp-prod-kpis.uniform{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  #dashboard .kgp-prod-grid.final-grid{grid-template-columns:1fr!important}
  #dashboard .kgp-bottom-grid{grid-template-columns:1fr!important}
}

/* V32.1 dashboard polish */
#dashboard .kgp-prod-grid.final-grid{
  grid-template-columns: 520px 1fr !important;
  align-items: stretch !important;
}
#dashboard .kgp-cal-grid.uniform{
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 12px !important;
}
#dashboard .kgp-cal-card{
  min-height: 124px !important;
  padding: 16px 14px !important;
}
#dashboard .kgp-cal-card label{
  font-size: 15px !important;
  line-height: 1.15 !important;
}
#dashboard .kgp-cal-card strong{
  font-size: 28px !important;
  margin: 6px 0 2px !important;
}
#dashboard .kgp-cal-card small{
  font-size: 13px !important;
}
#dashboard .kgp-flow-row{
  margin-top: 10px !important;
  justify-content: flex-start !important;
}
#dashboard .kgp-flow-row .flow-box{
  min-width: 96px !important;
  text-align: center !important;
}
#dashboard .kgp-alert-box{
  min-height: 164px !important;
  border-radius: 18px !important;
  display: flex !important;
  align-items: center !important;
}
#dashboard .kgp-alert-box.danger{
  background: linear-gradient(180deg, #fff5f5 0%, #ffe8e8 100%) !important;
  border-color: #f2c5c5 !important;
}
#dashboard .kgp-alert-content{
  max-width: 82% !important;
}
#dashboard .kgp-alert-box strong{
  font-size: 18px !important;
  color: #9b2020 !important;
}
#dashboard .kgp-alert-box small{
  font-size: 14px !important;
  color: #a15a5a !important;
}
#dashboard .backup-grid{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
}
#dashboard .action-card{
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
#dashboard .dash-btn{
  margin-top: 12px !important;
  height: 42px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,#315a9e,#406cb8) !important;
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  cursor: default !important;
}
#dashboard .dash-btn.secondary{
  background: linear-gradient(135deg,#5e6f8f,#7c8cab) !important;
}
#dashboard .mini-fin-card small{
  display:block !important;
  font-size: 12px !important;
  color: #7182a0 !important;
  margin-top: 8px !important;
}
@media (max-width:1500px){
  #dashboard .kgp-prod-grid.final-grid{
    grid-template-columns: 1fr !important;
  }
  #dashboard .backup-grid{
    grid-template-columns: 1fr !important;
  }
}

/* V32.2 one-screen compact dashboard */
.sidebar, aside.sidebar{
  width: 242px !important;
  min-width: 242px !important;
  max-width: 242px !important;
}
.erp-nav .nav{padding:8px 12px !important;font-size:13px !important}
.nav-accordion summary{padding:10px 12px !important}
.nav-accordion-items .nav{padding:8px 12px !important;font-size:13px !important}

.main-content, .content, main{
  zoom: 0.94;
}

#dashboard{
  max-width: 1420px !important;
}
#dashboard .kgp-main-dashboard{
  padding: 12px !important;
}
#dashboard .card-head{
  margin-bottom: 8px !important;
}
#dashboard .card-head h2{
  font-size: 16px !important;
}
#dashboard .card-head span{
  font-size: 11px !important;
}
#dashboard .kgp-prod-hero{
  padding: 14px 18px !important;
  margin-bottom: 8px !important;
  border-radius: 18px !important;
}
#dashboard .kgp-prod-chip{
  padding: 6px 12px !important;
  font-size: 11px !important;
  margin-bottom: 6px !important;
}
#dashboard .kgp-prod-hero h1{
  font-size: 22px !important;
}
#dashboard .kgp-prod-hero p{
  font-size: 13px !important;
  margin-top: 6px !important;
}

#dashboard .kgp-prod-kpis.uniform{
  gap: 8px !important;
  margin-bottom: 8px !important;
}
#dashboard .kgp-prod-kpi{
  min-height: 78px !important;
  padding: 10px 12px !important;
  border-radius: 14px !important;
}
#dashboard .kgp-prod-kpi strong{
  font-size: 20px !important;
}
#dashboard .kgp-prod-kpi span{
  font-size: 11px !important;
}
#dashboard .kgp-prod-kpi small{
  font-size: 10px !important;
}

#dashboard .kgp-prod-grid.final-grid{
  grid-template-columns: 430px 1fr !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}
#dashboard .inventory-subcard{
  padding: 10px !important;
  border-radius: 16px !important;
}
#dashboard .kgp-cal-grid.uniform{
  gap: 8px !important;
  margin-bottom: 8px !important;
}
#dashboard .kgp-cal-card{
  min-height: 88px !important;
  padding: 10px !important;
  border-radius: 14px !important;
}
#dashboard .kgp-cal-card label{
  font-size: 12px !important;
  margin-bottom: 4px !important;
}
#dashboard .kgp-cal-card strong{
  font-size: 20px !important;
  margin: 2px 0 !important;
}
#dashboard .kgp-cal-card small{
  font-size: 11px !important;
}

#dashboard .kgp-flow-row{
  gap: 6px !important;
  margin-top: 6px !important;
}
#dashboard .kgp-flow-row .flow-box{
  min-width: 74px !important;
  padding: 8px 10px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
}
#dashboard .kgp-flow-row .flow-arrow{
  font-size: 16px !important;
}

#dashboard .dashboard-table{
  max-height: 210px !important;
}
#dashboard .dashboard-table table th,
#dashboard .dashboard-table table td{
  font-size: 11px !important;
  padding: 6px !important;
}

#dashboard .kgp-bottom-grid{
  gap: 8px !important;
}
#dashboard .kgp-alert-box{
  min-height: 100px !important;
  padding: 12px !important;
}
#dashboard .kgp-alert-box strong{
  font-size: 16px !important;
}
#dashboard .kgp-alert-box small{
  font-size: 12px !important;
}

#dashboard .mini-patio-grid{
  gap: 6px !important;
}
#dashboard .mini-cell{
  padding: 9px 8px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

#dashboard .mini-fin-grid{
  gap: 6px !important;
}
#dashboard .mini-fin-card{
  padding: 10px !important;
  border-radius: 10px !important;
}
#dashboard .mini-fin-card label{
  font-size: 11px !important;
  margin-bottom: 4px !important;
}
#dashboard .mini-fin-card strong{
  font-size: 16px !important;
}
#dashboard .mini-fin-card small{
  font-size: 10px !important;
  margin-top: 4px !important;
}

#dashboard .dash-btn{
  height: 34px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
  margin-top: 8px !important;
}

@media (max-width: 1500px){
  .main-content, .content, main{ zoom: 0.9; }
  #dashboard .kgp-prod-grid.final-grid{ grid-template-columns: 1fr !important; }
}

/* V32.3 ajuste final UI */
#dashboard .kgp-prod-grid.final-grid{
  grid-template-columns: 420px 1fr !important;
  align-items: stretch !important;
}
#dashboard .inventory-subcard{
  display:flex !important;
  flex-direction:column !important;
}
#dashboard .card-head h2{
  font-size: 17px !important;
}
#dashboard .card-head span{
  font-size: 12px !important;
}
#dashboard .kgp-prod-hero h1{
  font-size: 24px !important;
}
#dashboard .kgp-prod-hero p{
  font-size: 14px !important;
}
#dashboard .kgp-prod-kpi{
  min-height: 84px !important;
}
#dashboard .kgp-prod-kpi span{
  font-size: 12px !important;
}
#dashboard .kgp-prod-kpi strong{
  font-size: 22px !important;
}
#dashboard .kgp-prod-kpi small{
  font-size: 11px !important;
}

#dashboard .kgp-cal-card label{
  font-size: 13px !important;
}
#dashboard .kgp-cal-card strong{
  font-size: 22px !important;
}
#dashboard .kgp-cal-card small{
  font-size: 12px !important;
}
#dashboard .kgp-flow-row .flow-box{
  font-size: 13px !important;
  min-width: 82px !important;
}
#dashboard .kgp-flow-row .flow-arrow{
  font-size: 18px !important;
}

#dashboard .dashboard-table{
  flex:1 1 auto !important;
  min-height: 236px !important;
  max-height: 236px !important;
  overflow: hidden !important;
  border-radius: 16px !important;
}
#dashboard .dashboard-table table{
  width: 100% !important;
  table-layout: fixed !important;
}
#dashboard .dashboard-table thead th{
  font-size: 12px !important;
  padding: 8px 10px !important;
}
#dashboard .dashboard-table tbody td{
  font-size: 12px !important;
  padding: 9px 10px !important;
  vertical-align: middle !important;
}
#dashboard .dashboard-table tbody tr{
  height: 44px !important;
}
#dashboard .dashboard-table th:nth-child(1),
#dashboard .dashboard-table td:nth-child(1){width: 32% !important;}
#dashboard .dashboard-table th:nth-child(2),
#dashboard .dashboard-table td:nth-child(2){width: 18% !important;}
#dashboard .dashboard-table th:nth-child(3),
#dashboard .dashboard-table td:nth-child(3){width: 20% !important;}
#dashboard .dashboard-table th:nth-child(4),
#dashboard .dashboard-table td:nth-child(4){width: 18% !important;}

#dashboard .kgp-alert-box strong{
  font-size: 17px !important;
}
#dashboard .kgp-alert-box small{
  font-size: 13px !important;
}
#dashboard .mini-cell{
  font-size: 13px !important;
}
#dashboard .mini-fin-card label{
  font-size: 12px !important;
}
#dashboard .mini-fin-card strong{
  font-size: 18px !important;
}
#dashboard .mini-fin-card small{
  font-size: 11px !important;
}
#dashboard .dash-btn{
  font-size: 13px !important;
}

@media (max-width: 1500px){
  #dashboard .kgp-prod-grid.final-grid{
    grid-template-columns: 1fr !important;
  }
}

/* V34 patio inteligente */
#mapaPatioVisual{max-width:1480px}
#mapaPatioVisual>.card{max-width:1480px}
.patio-v34-card{padding:16px!important}
.patio-legend{display:flex;gap:16px;flex-wrap:wrap;margin:8px 0 14px}
.legend-item{display:flex;align-items:center;gap:8px;font-size:13px;color:#203c67;font-weight:700}
.dot{width:12px;height:12px;border-radius:999px;display:inline-block}
.dot.free{background:#cfd8e8}.dot.busy{background:#f2c94c}.dot.process{background:#4c8bf5}.dot.sold{background:#e05a5a}
.patio-v34-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.patio-slot{border:1px solid #d6dfef;border-radius:18px;padding:12px;min-height:108px;background:#fbfcff;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 10px 24px rgba(33,60,103,.04)}
.patio-slot.free{background:#fbfcff}.patio-slot.busy{background:linear-gradient(180deg,#fff9e8 0%, #fff4cb 100%)}.patio-slot.process{background:linear-gradient(180deg,#eef5ff 0%, #dfeeff 100%)}.patio-slot.sold{background:linear-gradient(180deg,#fff2f2 0%, #ffe2e2 100%)}
.slot-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.slot-top strong{font-size:16px;color:#203c67}
.slot-top span{font-size:11px;color:#6d7f9f;font-weight:800}
.slot-main{margin-top:10px}
.slot-code{font-size:18px;font-weight:900;color:#203c67;line-height:1.1}
.slot-product{margin-top:6px;font-size:12px;color:#6d7f9f;font-weight:700}
.patio-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.patio-summary-card{border:1px solid #d6dfef;border-radius:16px;padding:14px 16px;background:#fff}
.patio-summary-card label{display:block;font-size:12px;color:#6d7f9f;margin-bottom:6px;font-weight:700}
.patio-summary-card strong{font-size:18px;color:#203c67}
@media (max-width:1500px){.patio-v34-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.patio-summary{grid-template-columns:1fr}}

/* V36.1 admin modules */
.admin-packmetrics-card{padding:16px!important;max-width:1480px}
.admin-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.admin-box{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fbfcff;
  padding:16px;
  min-height:150px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.admin-box label{
  display:block;
  font-size:12px;
  color:#7182a0;
  margin-bottom:8px;
  font-weight:700;
}
.admin-box strong{
  display:block;
  font-size:24px;
  color:#203c67;
  line-height:1.1;
}
.admin-box small{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:#6d7f9f;
}
.admin-btn{
  margin-top:12px;
  height:42px;
  border:0;
  border-radius:14px;
  background:linear-gradient(135deg,#315a9e,#406cb8);
  color:#fff;
  font-weight:800;
  font-size:14px;
}
.admin-btn.secondary{
  background:linear-gradient(135deg,#5e6f8f,#7c8cab);
}
.admin-user-table{max-height:320px!important}
.admin-user-table table th,
.admin-user-table table td{
  font-size:12px!important;
  padding:8px!important;
}
.admin-note{
  margin-top:12px;
  border:1px solid #d6dfef;
  border-radius:14px;
  padding:14px 16px;
  background:#fff;
  font-size:13px;
  color:#203c67;
}
@media (max-width:1500px){
  .admin-grid{grid-template-columns:1fr}
}

/* V36.2 admin real fix */
.admin-packmetrics-card{padding:16px!important;max-width:1480px}
.admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-box{border:1px solid #d6dfef;border-radius:18px;background:#fbfcff;padding:16px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between}
.admin-box label{display:block;font-size:12px;color:#7182a0;margin-bottom:8px;font-weight:700}
.admin-box strong{display:block;font-size:24px;color:#203c67;line-height:1.1}
.admin-box small{display:block;margin-top:8px;font-size:13px;color:#6d7f9f}
.admin-btn{margin-top:12px;height:42px;border:0;border-radius:14px;background:linear-gradient(135deg,#315a9e,#406cb8);color:#fff;font-weight:800;font-size:14px}
.admin-btn.secondary{background:linear-gradient(135deg,#5e6f8f,#7c8cab)}
.admin-user-table{max-height:320px!important}
.admin-user-table table th,.admin-user-table table td{font-size:12px!important;padding:8px!important}
.admin-note{margin-top:12px;border:1px solid #d6dfef;border-radius:14px;padding:14px 16px;background:#fff;font-size:13px;color:#203c67}
@media (max-width:1500px){.admin-grid{grid-template-columns:1fr}}

/* V37 packing estimacion */
.packing-est-card{
  margin-bottom: 14px !important;
  padding: 16px !important;
}
.packing-est-grid{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
}
.packing-est-box{
  border:1px solid #d6dfef;
  border-radius: 18px;
  background:#fbfcff;
  padding:16px;
}
.packing-est-box label{
  display:block;
  font-size:12px;
  color:#7182a0;
  margin-bottom:8px;
  font-weight:700;
}
.packing-est-box input{
  width:100%;
  height:48px;
  border:1px solid #d6dfef;
  border-radius:14px;
  padding:0 14px;
  font-size:16px;
  color:#203c67;
  background:#fff;
}
.packing-est-box strong{
  display:block;
  font-size:24px;
  color:#203c67;
  line-height:1.1;
}
.packing-est-box small{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:#6d7f9f;
}
.packing-est-box.result{
  background:linear-gradient(180deg,#f7fbff 0%, #eef5ff 100%);
}
.packing-est-box.info{
  background:linear-gradient(180deg,#fbfcff 0%, #f6f9ff 100%);
}
@media (max-width:1500px){
  .packing-est-grid{grid-template-columns:1fr;}
}

/* V38 registro producción */
.packing-reg-card{margin-top:14px!important;padding:16px!important}
.packing-reg-grid{display:grid;grid-template-columns:1fr 1fr .8fr;gap:12px;margin-bottom:12px}
.packing-reg-box{border:1px solid #d6dfef;border-radius:18px;background:#fbfcff;padding:16px}
.packing-reg-box label{display:block;font-size:12px;color:#7182a0;margin-bottom:8px;font-weight:700}
.packing-reg-box input{width:100%;height:48px;border:1px solid #d6dfef;border-radius:14px;padding:0 14px;font-size:16px;color:#203c67;background:#fff}
.packing-reg-box strong{display:block;font-size:28px;color:#203c67;line-height:1.1}
.packing-reg-box small{display:block;margin-top:8px;font-size:13px;color:#6d7f9f}
.packing-reg-box.result{background:linear-gradient(180deg,#f7fbff 0%,#eef5ff 100%)}
.packing-calibres-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}
.packing-calibre-card{border:1px solid #d6dfef;border-radius:18px;background:#fff;padding:16px}
.packing-calibre-card label{display:block;font-size:13px;color:#203c67;font-weight:800;margin-bottom:8px}
.packing-calibre-card input{width:100%;height:46px;border:1px solid #d6dfef;border-radius:14px;padding:0 12px;font-size:18px;color:#203c67;background:#fbfcff}
.packing-reg-actions{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.packing-reg-msg{font-size:13px;color:#203c67;font-weight:700}
.packing-hist-table table th,.packing-hist-table table td{font-size:12px!important;padding:8px!important}
@media (max-width:1500px){
  .packing-reg-grid{grid-template-columns:1fr}
  .packing-calibres-grid{grid-template-columns:repeat(2,1fr)}
}

/* V39 inventario comercial */
.inv39-card{padding:16px!important;max-width:1480px}
.inv39-top{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.inv39-kpi{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fbfcff;
  padding:16px;
}
.inv39-kpi.total{
  background:linear-gradient(135deg,#315a9e,#406cb8);
  border-color:#315a9e;
}
.inv39-kpi.total span,.inv39-kpi.total strong,.inv39-kpi.total small{color:#fff}
.inv39-kpi span{
  display:block;
  font-size:12px;
  color:#7182a0;
  margin-bottom:8px;
  font-weight:700;
}
.inv39-kpi strong{
  display:block;
  font-size:28px;
  color:#203c67;
  line-height:1.1;
}
.inv39-kpi small{
  display:block;
  margin-top:8px;
  font-size:13px;
  color:#6d7f9f;
}
.inv39-table table th,.inv39-table table td{
  font-size:13px!important;
  padding:10px!important;
}
.inv39-note{
  margin-top:12px;
  border:1px solid #d6dfef;
  border-radius:14px;
  padding:14px 16px;
  background:#fff;
  font-size:13px;
  color:#203c67;
}
@media (max-width:1500px){
  .inv39-top{grid-template-columns:1fr}
}

.pm-header{
display:flex;
align-items:center;
gap:14px;
}
.pm-logo{
height:42px;
}
.ventas-grid{
display:grid;
grid-template-columns:1fr 1fr 1fr auto;
gap:10px;
margin-top:10px;
}

/* V41 dashboard BI */
.v41-bi-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin-bottom:12px;
}
.v41-bi-card{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fff;
  padding:14px;
  min-height:92px;
  box-shadow:0 10px 24px rgba(33,60,103,.04);
}
.v41-bi-card.dark{
  background:linear-gradient(135deg,#203c67,#315a9e);
  border-color:#203c67;
}
.v41-bi-card.dark span,.v41-bi-card.dark strong,.v41-bi-card.dark small{color:#fff}
.v41-bi-card.accent{
  background:linear-gradient(135deg,#0f8f88,#19b5a9);
  border-color:#0f8f88;
}
.v41-bi-card.accent span,.v41-bi-card.accent strong,.v41-bi-card.accent small{color:#fff}
.v41-bi-card span{
  display:block;font-size:12px;color:#7182a0;font-weight:700;margin-bottom:8px;
}
.v41-bi-card strong{
  display:block;font-size:24px;line-height:1;color:#203c67;
}
.v41-bi-card small{
  display:block;margin-top:8px;font-size:12px;color:#6d7f9f;
}
.v41-chart-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:12px;
  margin-bottom:12px;
}
.v41-chart-card{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.v41-bars{display:grid;gap:12px;margin-top:8px}
.v41-bar-row{
  display:grid;
  grid-template-columns:48px 1fr 48px;
  align-items:center;
  gap:10px;
}
.v41-bar-row label{
  font-size:13px;font-weight:800;color:#203c67;
}
.v41-bar{
  height:14px;border-radius:999px;background:#edf2fb;overflow:hidden;
}
.v41-fill{
  height:100%;border-radius:999px;
}
.fill-35{background:#315a9e}
.fill-40{background:#4a7fd3}
.fill-45{background:#19b5a9}
.fill-50{background:#48c96e}
.v41-bar-row strong{
  font-size:13px;color:#203c67;text-align:right;
}
.v41-kpi-stack{display:grid;gap:10px;margin-top:8px}
.v41-stack-box{
  border:1px solid #d6dfef;border-radius:16px;background:#fbfcff;padding:14px;
}
.v41-stack-box label{
  display:block;font-size:12px;color:#7182a0;margin-bottom:6px;font-weight:700;
}
.v41-stack-box strong{
  display:block;font-size:20px;color:#203c67;line-height:1.1;
}
@media (max-width:1500px){
  .v41-bi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v41-chart-grid{grid-template-columns:1fr}
}

/* V42 reportes operativos */
.rep42-card{padding:16px!important;max-width:1480px}
.rep42-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-bottom:12px;
}
.rep42-kpi{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fff;
  padding:16px;
  min-height:96px;
}
.rep42-kpi.dark{
  background:linear-gradient(135deg,#203c67,#315a9e);
  border-color:#203c67;
}
.rep42-kpi.dark span,.rep42-kpi.dark strong,.rep42-kpi.dark small{color:#fff}
.rep42-kpi.accent{
  background:linear-gradient(135deg,#0f8f88,#19b5a9);
  border-color:#0f8f88;
}
.rep42-kpi.accent span,.rep42-kpi.accent strong,.rep42-kpi.accent small{color:#fff}
.rep42-kpi span{display:block;font-size:12px;color:#7182a0;font-weight:700;margin-bottom:8px}
.rep42-kpi strong{display:block;font-size:26px;line-height:1;color:#203c67}
.rep42-kpi small{display:block;margin-top:8px;font-size:12px;color:#6d7f9f}
.rep42-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-bottom:12px;
}
.rep42-grid.two{grid-template-columns:1fr 1fr}
.rep42-box{
  border:1px solid #d6dfef;
  border-radius:18px;
  background:#fff;
  padding:14px;
}
.rep42-cal-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:6px;
}
.rep42-cal-card{
  border:1px solid #d6dfef;
  border-radius:16px;
  background:#fbfcff;
  padding:14px;
  text-align:center;
}
.rep42-cal-card label{display:block;font-size:13px;color:#7182a0;margin-bottom:6px;font-weight:700}
.rep42-cal-card strong{display:block;font-size:24px;color:#203c67}
.rep42-summary-list{display:grid;gap:10px;margin-top:6px}
.rep42-summary-item{
  border:1px solid #d6dfef;
  border-radius:14px;
  background:#fbfcff;
  padding:14px;
}
.rep42-summary-item label{display:block;font-size:12px;color:#7182a0;margin-bottom:6px;font-weight:700}
.rep42-summary-item strong{display:block;font-size:18px;color:#203c67}
.rep42-actions{
  display:flex;
  gap:12px;
  margin-top:12px;
}
@media (max-width:1500px){
  .rep42-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rep42-grid,.rep42-grid.two{grid-template-columns:1fr}
  .rep42-cal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* V43 servidor + footer + uniforme */
.pm-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:18px 0 6px;
  padding:14px 6px 4px;
  border-top:1px solid #d6dfef;
  color:#203c67;
  font-weight:800;
  font-size:14px;
}
.pm-footer-left,.pm-footer-right{color:#203c67}

.header{
  border-radius:20px !important;
  padding:14px 18px !important;
}
.header-main{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}
.pm-header{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
}
.pm-logo{
  height:42px !important;
  width:auto !important;
  object-fit:contain !important;
}
.header h1{
  font-size:28px !important;
  line-height:1.05 !important;
  margin:0 !important;
}
.header p{
  font-size:13px !important;
  margin:6px 0 0 !important;
  color:#6d7f9f !important;
}

#dashboard .kgp-main-dashboard,
#documentos .rep42-card,
#servidor .admin-packmetrics-card{
  max-width:1480px !important;
}
#dashboard .card-head,
#documentos .card-head,
#servidor .card-head{
  margin-bottom:10px !important;
}
#dashboard .card-head h2,
#documentos .card-head h2,
#servidor .card-head h2{
  font-size:18px !important;
  line-height:1.1 !important;
}
#dashboard .card-head span,
#documentos .card-head span,
#servidor .card-head span{
  font-size:12px !important;
}

#dashboard .kgp-prod-kpis.uniform{
  align-items:stretch !important;
}
#dashboard .kgp-prod-kpi,
#documentos .rep42-kpi,
#servidor .admin-box{
  min-height:96px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}
#dashboard .v41-bi-grid{
  align-items:stretch !important;
}
#dashboard .v41-bi-card{
  min-height:92px !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:space-between !important;
}
#documentos .rep42-grid,
#servidor .admin-grid{
  align-items:stretch !important;
}
#documentos .rep42-box,
#servidor .admin-box{
  border-radius:18px !important;
}
#documentos .rep42-actions{
  margin-top:10px !important;
}

@media (max-width:1200px){
  .pm-footer{
    flex-direction:column;
    align-items:flex-start;
    font-size:13px;
  }
  .header-main{
    flex-direction:column !important;
    align-items:flex-start !important;
  }
}

/* V44 pulido final */
.card, .inventory-subcard, .rep42-box, .admin-box, .inv39-kpi, .v41-bi-card, .kgp-prod-kpi{
  box-shadow: 0 10px 24px rgba(33,60,103,.04) !important;
}
button, .admin-btn, .dash-btn, .primary-action, .secondary-action{
  transition: transform .12s ease, box-shadow .12s ease, opacity .12s ease;
}
button:hover, .admin-btn:hover, .dash-btn:hover, .primary-action:hover, .secondary-action:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(33,60,103,.12);
}
input:focus, select:focus, textarea:focus{
  outline:none !important;
  border-color:#4a7fd3 !important;
  box-shadow:0 0 0 3px rgba(74,127,211,.12) !important;
}
.table-wrap table thead th{
  position: sticky;
  top: 0;
  background: #f8fbff;
  z-index: 2;
}
.planilla-note, .inv39-note, .admin-note{
  line-height:1.35 !important;
}
.pm-toast{
  position: fixed;
  right: 18px;
  bottom: 18px;
  background: #203c67;
  color: #fff;
  padding: 12px 16px;
  border-radius: 14px;
  font-weight: 800;
  font-size: 13px;
  box-shadow: 0 14px 30px rgba(33,60,103,.22);
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: all .18s ease;
  z-index: 9999;
}
.pm-toast.show{
  opacity: 1;
  transform: translateY(0);
}
.pm-toast.ok{ background: linear-gradient(135deg,#203c67,#315a9e); }
.pm-toast.warn{ background: linear-gradient(135deg,#b96a24,#d98a3e); }
.pm-toast.error{ background: linear-gradient(135deg,#9b2020,#c54d4d); }
.header, .sidebar, .card, .inventory-subcard, .rep42-box, .admin-box{
  border-radius: 18px !important;
}

/* V45 comercial final */
.pm-status-row{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:8px;
  flex-wrap:wrap;
}
.pm-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 12px;
  border-radius:999px;
  background:linear-gradient(135deg,#0f8f88,#19b5a9);
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:.4px;
}
.pm-status-note{
  font-size:12px;
  color:#6d7f9f;
  font-weight:700;
}
.header{
  box-shadow: 0 12px 28px rgba(33,60,103,.06) !important;
}
.sidebar{
  box-shadow: 0 12px 28px rgba(33,60,103,.05) !important;
}
.pm-footer{
  font-size:13px !important;
}

/* V45.1 ajustes finales */
.module{
  overflow-x: hidden !important;
}
.main, main, .content{
  overflow-x: hidden !important;
}
.table-wrap{
  overflow-x: auto !important;
}
#dashboard .kgp-prod-grid.final-grid{
  grid-template-columns: 430px minmax(0,1fr) !important;
  align-items: stretch !important;
}
#dashboard .inventory-subcard{
  min-height: 100% !important;
}
#dashboard .dashboard-table{
  min-height: 288px !important;
  max-height: 288px !important;
  overflow: hidden !important;
}
#dashboard .dashboard-table table{
  table-layout: fixed !important;
  width: 100% !important;
}
#dashboard .dashboard-table thead th,
#dashboard .dashboard-table tbody td{
  font-size: 12px !important;
  padding: 8px 10px !important;
  white-space: nowrap !important;
}
#dashboard .dashboard-table th:nth-child(1),
#dashboard .dashboard-table td:nth-child(1){width:36% !important;}
#dashboard .dashboard-table th:nth-child(2),
#dashboard .dashboard-table td:nth-child(2){width:18% !important;}
#dashboard .dashboard-table th:nth-child(3),
#dashboard .dashboard-table td:nth-child(3){width:18% !important;}
#dashboard .dashboard-table th:nth-child(4),
#dashboard .dashboard-table td:nth-child(4){width:18% !important;}

#documentos .rep42-card{
  max-width: 1480px !important;
  padding: 14px !important;
}
#documentos .rep42-kpis{
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 10px !important;
}
#documentos .rep42-kpi{
  min-height: 92px !important;
  padding: 14px !important;
}
#documentos .rep42-kpi strong{
  font-size: 24px !important;
}
#documentos .rep42-grid,
#documentos .rep42-grid.two{
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  align-items: stretch !important;
}
#documentos .rep42-box{
  min-width: 0 !important;
  overflow: hidden !important;
}
#documentos .rep42-cal-grid{
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  gap: 8px !important;
}
#documentos .rep42-cal-card{
  padding: 12px !important;
}
#documentos .rep42-summary-list{
  gap: 8px !important;
}
#documentos .table-wrap.small{
  max-height: 250px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
#documentos table{
  table-layout: fixed !important;
  width: 100% !important;
}
#documentos th,
#documentos td{
  font-size: 12px !important;
  padding: 8px !important;
  white-space: normal !important;
  word-break: break-word !important;
}
#documentos .rep42-actions{
  display:grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
#documentos .rep42-actions .admin-btn{
  width: 100% !important;
}

#servidor{
  max-width: 1480px !important;
}
#servidor .admin-packmetrics-card{
  max-width: 1480px !important;
  padding: 14px !important;
}
#servidor .admin-grid{
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 10px !important;
}
#servidor .admin-box{
  min-height: 138px !important;
  padding: 14px !important;
}
#servidor .admin-box strong{
  font-size: 20px !important;
}
#servidor .admin-box small{
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.login-logo-big{
  display:block;
  margin: 0 auto 14px auto;
  max-width: 340px;
  width: 78%;
  height: auto;
  object-fit: contain;
}
.login-card img.login-logo-big + h1{
  margin-top: 0 !important;
}

@media (max-width: 1500px){
  #dashboard .kgp-prod-grid.final-grid{
    grid-template-columns: 1fr !important;
  }
  #documentos .rep42-kpis{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  #documentos .rep42-grid,
  #documentos .rep42-grid.two,
  #servidor .admin-grid{
    grid-template-columns: 1fr !important;
  }
  #documentos .rep42-cal-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
