:root{
  --bg:#f3f6f4;--surface:#fff;--surface-2:#f7faf8;--text:#14251d;--muted:#64746c;
  --line:#dce6e0;--brand:#0f5d42;--brand-2:#18865f;--brand-soft:#e6f4ed;--gold:#b59145;
  --danger:#bc3c3c;--danger-soft:#ffeded;--warn:#b26a12;--warn-soft:#fff4dc;--success:#147a50;
  --shadow:0 18px 45px rgba(22,52,39,.10);--radius:18px;--radius-sm:11px;--sidebar:265px;
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--bg)}body{margin:0;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}a{color:inherit}img{max-width:100%}
[hidden]{display:none!important}.muted{color:var(--muted)}.eyebrow{font-size:.72rem;letter-spacing:.14em;font-weight:800;color:var(--brand-2)}.full{width:100%}.danger{color:var(--danger)}
.primary,.secondary,.ghost,.text-button,.report-card button{border:0;border-radius:10px;padding:.72rem 1rem;font-weight:750;transition:.18s ease}.primary{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:0 8px 18px rgba(15,93,66,.22)}.primary:hover{transform:translateY(-1px);filter:brightness(1.04)}.secondary{background:var(--surface);border:1px solid var(--line);color:var(--text)}.secondary:hover{border-color:#aac9ba;background:#fbfdfc}.ghost{background:transparent;color:inherit}.text-button{padding:.4rem .6rem;background:transparent;color:var(--brand);font-size:.86rem}.icon-button{border:0;background:transparent;font-size:1.25rem;color:inherit;padding:.45rem}.button-row{display:flex;gap:.5rem;flex-wrap:wrap}
label{display:grid;gap:.42rem;color:#33483e;font-size:.82rem;font-weight:700}input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;color:var(--text);border-radius:10px;padding:.72rem .78rem;outline:none;transition:.18s}input:focus,select:focus,textarea:focus{border-color:var(--brand-2);box-shadow:0 0 0 3px rgba(24,134,95,.11)}textarea{resize:vertical;min-height:84px}input[type=checkbox]{width:auto;accent-color:var(--brand)}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:linear-gradient(180deg,#102a20,#0b1d16);color:#dfeae5;padding:1.25rem 1rem;display:flex;flex-direction:column;z-index:40;box-shadow:8px 0 34px rgba(13,38,28,.13)}.sidebar-logo{padding:.4rem .75rem 1.3rem}.sidebar-logo img{width:145px;filter:drop-shadow(0 5px 12px rgba(0,0,0,.22))}.sidebar-label{font-size:.66rem;letter-spacing:.14em;color:#81998e;margin:.4rem .75rem .8rem}.nav-list{display:grid;gap:.28rem}.nav-button{width:100%;border:0;background:transparent;color:#b8cac1;text-align:left;border-radius:11px;padding:.78rem .82rem;display:flex;align-items:center;gap:.78rem;font-weight:650}.nav-button span:first-child{display:inline-grid;place-items:center;width:23px;font-size:1.1rem}.nav-button:hover,.nav-button.active{background:rgba(255,255,255,.09);color:#fff}.nav-button.active{box-shadow:inset 3px 0 0 #57d2a3}.sidebar-footer{margin-top:auto;border-top:1px solid rgba(255,255,255,.1);padding:.9rem .65rem 0}.sidebar-user{display:flex;align-items:center;gap:.65rem}.user-avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:#286a50;color:#fff;font-weight:850}.sidebar-user strong,.sidebar-user span{display:block;max-width:145px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user span{font-size:.72rem;color:#9eb2a8}.logout-button{border:0;background:transparent;color:#b8cac1;padding:.35rem;font-size:1.05rem;margin-left:auto}
.main-shell{grid-column:2;min-width:0}.topbar{height:72px;background:rgba(255,255,255,.91);backdrop-filter:blur(14px);position:sticky;top:0;z-index:25;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 1.55rem}.topbar-left,.topbar-right{display:flex;align-items:center;gap:.9rem}.topbar h1{font-size:1.12rem;margin:0}.menu-toggle{display:none;border:0;background:var(--brand-soft);color:var(--brand);border-radius:9px;width:38px;height:38px}.connection-badge{display:flex;align-items:center;gap:.45rem;border:1px solid var(--line);border-radius:99px;padding:.42rem .72rem;font-size:.75rem;font-weight:750;background:#fff}.connection-dot{width:8px;height:8px;border-radius:50%;background:#aaa}.connection-badge.ok .connection-dot{background:#23a369;box-shadow:0 0 0 4px rgba(35,163,105,.12)}.connection-badge.error .connection-dot{background:var(--danger)}
.content{padding:1.55rem;max-width:1650px;margin:0 auto}.view{display:none;animation:viewIn .2s ease}.view.active{display:block}@keyframes viewIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.15rem}.section-head h2{font-size:1.55rem;line-height:1.2;margin:0 0 .28rem}.section-head p{margin:0;color:var(--muted)}.head-actions{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(145px,1fr));gap:1rem;margin-bottom:1rem}.kpi-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;min-height:123px;box-shadow:0 8px 24px rgba(31,65,49,.04)}.kpi-card .kpi-icon{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand);font-weight:900;margin-bottom:.75rem}.kpi-card span{font-size:.74rem;color:var(--muted);font-weight:750}.kpi-card strong{display:block;margin-top:.2rem;font-size:1.35rem;letter-spacing:-.03em}.kpi-card small{font-size:.7rem;color:#829289}.dashboard-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:1rem;margin-bottom:1rem}.dashboard-grid.bottom{grid-template-columns:1fr 1.45fr}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.05rem;box-shadow:0 8px 28px rgba(35,65,50,.045);min-width:0}.panel h3{margin:.15rem 0 1rem}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.panel-head h3{margin:0}.panel-subtitle{color:var(--muted);font-size:.78rem}.chart{width:100%;height:300px}.alert-list{display:grid;gap:.65rem}.alert-item{display:flex;gap:.7rem;border:1px solid var(--line);border-radius:12px;padding:.75rem}.alert-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--warn-soft);color:var(--warn);font-weight:850}.alert-item strong{display:block;font-size:.84rem}.alert-item span{font-size:.73rem;color:var(--muted)}.empty-state{padding:2rem;text-align:center;color:var(--muted)}
.filter-bar{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.8rem;display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(2,minmax(150px,.75fr)) auto;gap:.65rem;margin-bottom:1rem}.filter-bar.compact{grid-template-columns:repeat(4,minmax(140px,1fr)) auto}.table-wrap{width:100%;overflow:auto;border-radius:12px}.table-wrap table{width:100%;border-collapse:collapse;min-width:780px}.table-wrap th{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:#708078;background:var(--surface-2);padding:.7rem .65rem;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table-wrap td{padding:.68rem .65rem;border-bottom:1px solid #edf2ef;font-size:.79rem;vertical-align:middle}.table-wrap tr:hover td{background:#fbfdfc}.product-cell{display:flex;align-items:center;gap:.65rem;min-width:240px}.product-thumb{width:38px;height:38px;border:1px solid var(--line);border-radius:9px;object-fit:contain;background:#fff}.product-cell strong{display:block;font-size:.8rem}.product-cell span{font-size:.69rem;color:var(--muted)}.money{font-variant-numeric:tabular-nums;white-space:nowrap}.negative{color:var(--danger)}.status-pill{display:inline-flex;align-items:center;border-radius:99px;padding:.28rem .55rem;font-size:.65rem;font-weight:850;white-space:nowrap;background:#eef2f0;color:#55645d}.status-pill.normal,.status-pill.aceptado,.status-pill.emitida{background:var(--brand-soft);color:var(--success)}.status-pill.bajo,.status-pill.pendiente,.status-pill.pendiente_resumen,.status-pill.resumen_enviado{background:var(--warn-soft);color:var(--warn)}.status-pill.sin_stock,.status-pill.error,.status-pill.rechazado,.status-pill.anulada{background:var(--danger-soft);color:var(--danger)}.table-actions{display:flex;gap:.35rem}.mini-button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.35rem .48rem;font-size:.68rem;font-weight:750;color:var(--brand)}.mini-button:hover{background:var(--brand-soft)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;margin-top:.9rem}.pagination button{border:1px solid var(--line);background:#fff;border-radius:8px;padding:.45rem .75rem}.pagination span{font-size:.78rem;color:var(--muted)}
.form-panel{margin-bottom:1rem}.form-panel h3{margin-top:0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:.8rem}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.inline-fields{display:grid;grid-template-columns:minmax(280px,1.6fr) 130px 150px auto;gap:.6rem;align-items:end}.item-builder{border:1px solid var(--line);background:var(--surface-2);border-radius:13px;padding:.8rem;margin:.9rem 0}.form-footer{display:flex;align-items:flex-end;justify-content:flex-end;gap:1rem;flex-wrap:wrap}.form-footer>label{min-width:170px}.total-box{background:#0e2a20;color:#fff;border-radius:12px;padding:.62rem 1rem;min-width:145px}.total-box span{font-size:.67rem;color:#9fc4b4;display:block}.total-box strong{font-size:1.2rem}.check-row{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:.8rem 0}.check-row label{display:flex;align-items:center;gap:.45rem}
.report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.report-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.15rem;min-height:210px;display:flex;flex-direction:column}.report-card>span{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;background:#122e23;color:#fff;font-weight:900}.report-card h3{margin:1rem 0 .35rem}.report-card p{color:var(--muted);font-size:.83rem;line-height:1.55;margin:0 0 1rem}.report-card button{margin-top:auto;background:var(--brand-soft);color:var(--brand)}.status-banner{display:flex;align-items:center;justify-content:space-between;gap:1rem;border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;background:var(--surface);margin-bottom:1rem}.status-banner.ok{background:#edf9f3;border-color:#c3ead7}.status-banner.warn{background:var(--warn-soft);border-color:#efd7a8}.settings-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.settings-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:1rem}.settings-card .setting-status{font-weight:850;font-size:.72rem;color:var(--success)}.settings-card .setting-status.bad{color:var(--danger)}.settings-card h3{font-size:.9rem;margin:.7rem 0 .25rem}.settings-card p{font-size:.76rem;color:var(--muted);margin:0}.steps{color:var(--muted);line-height:2}.steps code{color:var(--brand);background:var(--brand-soft);padding:.14rem .35rem;border-radius:5px}
.modal{position:fixed;inset:0;background:rgba(7,20,15,.54);backdrop-filter:blur(3px);z-index:100;display:grid;place-items:center;padding:1rem}.modal-card{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:20px;padding:1.15rem;box-shadow:var(--shadow)}.modal-card.small{width:min(500px,100%)}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.modal-head h3{margin:0}.modal-head button{border:0;background:#eef3f0;border-radius:9px;width:34px;height:34px;font-size:1.3rem}.toast-root{position:fixed;right:1rem;bottom:1rem;z-index:200;display:grid;gap:.6rem}.toast{min-width:285px;max-width:420px;background:#102a20;color:#fff;padding:.8rem .95rem;border-radius:12px;box-shadow:var(--shadow);display:flex;align-items:flex-start;gap:.7rem;animation:toastIn .2s ease}.toast.error{background:#8f2929}.toast.warn{background:#8a5716}@keyframes toastIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.login-body{background:#0e251c}.login-shell{min-height:100vh;display:grid;grid-template-columns:1.2fr minmax(420px,.75fr)}.login-brand{background:radial-gradient(circle at 20% 20%,rgba(50,157,114,.22),transparent 35%),linear-gradient(145deg,#0d271d,#071610);color:#fff;padding:8vh 8vw;display:flex;flex-direction:column;justify-content:center}.login-brand>img{width:235px}.login-brand>p{font-size:1.05rem;color:#a9c3b7;margin:1.4rem 0 3rem}.login-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:650px}.login-feature-grid div{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.045);padding:1rem;border-radius:14px}.login-feature-grid strong,.login-feature-grid span{display:block}.login-feature-grid span{color:#9eb8ac;font-size:.76rem;margin-top:.25rem}.login-card{background:#fff;padding:7vh clamp(2rem,5vw,5.5rem);display:flex;flex-direction:column;justify-content:center}.login-card h1{font-size:2.35rem;margin:.25rem 0}.login-card form{display:grid;gap:1rem;margin:1.5rem 0}.login-card small{color:var(--muted);line-height:1.5}.form-error{margin:0;color:var(--danger);font-size:.78rem}.mobile-logo{display:none}
@media(max-width:1280px){.kpi-grid{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:980px){:root{--sidebar:250px}.sidebar{transform:translateX(-102%);transition:.25s}.sidebar.open{transform:none}.app-shell{display:block}.main-shell{grid-column:auto}.menu-toggle{display:grid;place-items:center}.content{padding:1rem}.dashboard-grid,.dashboard-grid.bottom{grid-template-columns:1fr}.report-grid{grid-template-columns:repeat(2,1fr)}.filter-bar,.filter-bar.compact{grid-template-columns:repeat(2,1fr)}.login-shell{grid-template-columns:1fr}.login-brand{display:none}.login-card{min-height:100vh;max-width:560px;width:100%;margin:auto}.mobile-logo{display:block}.mobile-logo img{width:165px;margin-bottom:2rem}}
@media(max-width:680px){.topbar{padding:0 .8rem;height:62px}.topbar-right .connection-badge span:last-child{display:none}.content{padding:.8rem}.section-head{display:grid}.head-actions{width:100%}.head-actions>*{flex:1}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:.7rem}.kpi-card{min-height:110px;padding:.85rem}.kpi-card strong{font-size:1.15rem}.form-grid,.form-grid.three,.form-grid.four,.inline-fields,.filter-bar,.filter-bar.compact{grid-template-columns:1fr}.report-grid,.settings-grid{grid-template-columns:1fr}.form-footer{align-items:stretch}.form-footer>*{width:100%}.login-card{padding:2rem 1.3rem}.login-feature-grid{grid-template-columns:1fr}.toast-root{left:.7rem;right:.7rem}.toast{min-width:0;max-width:none}.chart{height:240px}}
/* Compatibility with the application markup */
.app-body{background:var(--bg)}.app-wrap{margin-left:var(--sidebar);min-width:0}.sidebar-brand{padding:.45rem .75rem 1.35rem;display:flex;align-items:center;gap:.7rem}.sidebar-brand img{width:128px}.sidebar-brand span{font-size:.69rem;color:#9cb3a8;border-left:1px solid rgba(255,255,255,.13);padding-left:.7rem}.sidebar nav{display:grid;gap:.28rem}.nav-link{width:100%;border:0;background:transparent;color:#b8cac1;text-align:left;border-radius:11px;padding:.78rem .82rem;display:flex;align-items:center;gap:.78rem;font-weight:650}.nav-link span{display:inline-grid;place-items:center;width:23px;font-size:1.1rem}.nav-link:hover,.nav-link.active{background:rgba(255,255,255,.09);color:#fff}.nav-link.active{box-shadow:inset 3px 0 0 #57d2a3}.topbar-actions{display:flex;align-items:center;gap:.8rem}.topbar>.icon-button{display:none}.topbar>div:nth-child(2) .eyebrow{margin:0 0 .1rem}.topbar>div:nth-child(2) h1{margin:0}.split-grid{display:grid;grid-template-columns:minmax(300px,.68fr) minmax(0,1.35fr);gap:1rem}.span-2{grid-column:span 1}.metric-list{display:grid;gap:.65rem}.table-wrap.tall{max-height:720px}.sidebar-footer .ghost{color:#b8cac1}.sidebar-footer .ghost:hover{background:rgba(255,255,255,.08)}
@media(max-width:980px){.app-wrap{margin-left:0}.topbar>.icon-button{display:grid;place-items:center}.split-grid{grid-template-columns:1fr}.sidebar{transform:translateX(-102%)}.sidebar.open{transform:none}}
@media(max-width:680px){.topbar-actions #user-email{display:none}}

/* ERP ALTER EGO V2 --------------------------------------------------------- */
.nav-group-label{margin:1rem .8rem .35rem;color:#708a7e;font-size:.61rem;font-weight:850;letter-spacing:.15em}.erp-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(280px,.75fr);gap:1.2rem;padding:clamp(1.35rem,3vw,2.25rem);margin-bottom:1.3rem;border-radius:26px;color:#fff;background:radial-gradient(circle at 12% 0%,rgba(76,213,158,.3),transparent 32%),radial-gradient(circle at 100% 100%,rgba(184,145,69,.24),transparent 32%),linear-gradient(135deg,#09251a,#104c36 64%,#0b3425);box-shadow:0 24px 55px rgba(9,49,34,.19)}.erp-hero:after{content:"AE";position:absolute;right:-.03em;bottom:-.35em;font-size:14rem;font-weight:950;line-height:1;color:rgba(255,255,255,.035);pointer-events:none}.erp-hero-copy,.erp-hero-side{position:relative;z-index:1}.erp-hero-badge{display:inline-flex;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:99px;padding:.42rem .7rem;font-size:.66rem;font-weight:850;letter-spacing:.08em}.erp-hero h2{font-size:clamp(2rem,4vw,3.45rem);letter-spacing:-.055em;margin:.75rem 0 .45rem}.erp-hero p{max-width:780px;color:#c4ddd2;font-size:clamp(.9rem,1.4vw,1.04rem);line-height:1.65;margin:0}.erp-hero-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.25rem}.hero-primary,.hero-secondary{border:0;border-radius:11px;padding:.75rem 1rem;font-weight:800}.hero-primary{background:#fff;color:#0b4e35}.hero-secondary{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.17);color:#fff}.hero-primary:hover,.hero-secondary:hover{transform:translateY(-1px)}.erp-hero-side{align-self:stretch;display:grid;gap:.65rem}.erp-hero-side>div{display:grid;gap:.22rem;padding:.85rem .95rem;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.065);border-radius:14px;backdrop-filter:blur(8px)}.erp-hero-side span{font-size:.68rem;color:#9cc7b5;text-transform:uppercase;letter-spacing:.08em;font-weight:800}.erp-hero-side strong{font-size:.83rem;line-height:1.35}.small-muted{margin-top:.18rem;color:var(--muted);font-size:.67rem}.pill{display:inline-flex;align-items:center;border-radius:99px;padding:.27rem .52rem;font-size:.63rem;font-weight:850;background:#eef2f0;color:#55645d}.pill.normal{background:var(--brand-soft);color:var(--success)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.neutral{background:#eef1ef;color:#64746c}.danger-button{border:0;border-radius:10px;padding:.72rem 1rem;background:var(--danger-soft);color:var(--danger);font-weight:800}.field-with-action{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.5rem}.detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin-bottom:1rem}.detail-grid>div{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;padding:.75rem}.detail-grid span,.detail-grid strong{display:block}.detail-grid span{font-size:.66rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-weight:800}.detail-grid strong{font-size:.79rem;margin-top:.22rem;line-height:1.35}.note-box{border-left:4px solid var(--gold);background:#fcf9f0;border-radius:0 11px 11px 0;padding:.75rem .9rem;margin:.8rem 0}.note-box p{margin:.35rem 0 0;color:#5c5749;font-size:.79rem;line-height:1.55}.compact-input{min-width:95px;padding:.43rem .5rem;border-radius:8px}.modal{overflow:hidden}.modal-card{display:flex;flex-direction:column;overflow:hidden;max-height:min(92vh,980px);padding:0}.modal-card>form,.modal-card>#req-detail-content,.modal-card>#order-detail-content,.modal-card>#transfer-detail-content{overflow:auto;overscroll-behavior:contain;padding:1.1rem;min-height:0}.modal-card>form{display:block}.modal-card.xl{width:min(1180px,calc(100vw - 2rem))}.modal-head,.modal-footer{flex:0 0 auto;padding:1rem 1.1rem;margin:0;background:#fff}.modal-head{border-bottom:1px solid var(--line)}.modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:.7rem;flex-wrap:wrap;border-top:1px solid var(--line)}.modal-footer>strong,.modal-footer>span{margin-right:auto}.modal-head.sticky,.modal-footer.sticky{position:relative;z-index:3}.modal-table-wrap{max-height:48vh;border:1px solid var(--line);margin:.75rem 0}.modal-table-wrap thead{position:sticky;top:0;z-index:2}.modal-card form>.modal-footer{margin:1rem -1.1rem -1.1rem}.modal-card>form>.modal-footer.sticky{position:sticky;bottom:-1.1rem}.sales-filter-bar{grid-template-columns:minmax(160px,.7fr) minmax(220px,1.2fr) auto auto;margin-top:1rem}.report-filter-bar{grid-template-columns:minmax(160px,.7fr) minmax(220px,1.2fr) auto;max-width:850px}.settings-table-grid{display:grid;gap:1rem}.settings-table-grid>.panel{overflow:hidden}.form-grid+.form-grid{margin-top:0}.table-wrap td input{max-width:150px}
@media(max-width:980px){.erp-hero{grid-template-columns:1fr}.erp-hero-side{grid-template-columns:repeat(3,1fr)}.detail-grid{grid-template-columns:repeat(2,1fr)}.modal-card.xl{width:calc(100vw - 1rem)}.sales-filter-bar,.report-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.erp-hero{padding:1.1rem;border-radius:19px}.erp-hero-side{grid-template-columns:1fr}.erp-hero-actions>*{width:100%}.detail-grid{grid-template-columns:1fr}.field-with-action,.sales-filter-bar,.report-filter-bar{grid-template-columns:1fr}.modal{padding:.35rem;align-items:stretch}.modal-card,.modal-card.small,.modal-card.xl{width:100%;max-height:calc(100vh - .7rem);border-radius:15px}.modal-card>form,.modal-card>#req-detail-content,.modal-card>#order-detail-content,.modal-card>#transfer-detail-content{padding:.8rem}.modal-head,.modal-footer{padding:.8rem}.modal-card form>.modal-footer{margin:.8rem -.8rem -.8rem}.table-wrap table{min-width:720px}}
.status-pill.aprobado,.status-pill.orden_generada,.status-pill.recibida,.status-pill.facturada,.status-pill.en_transito{background:var(--brand-soft);color:var(--success)}.status-pill.pendiente_aprobacion,.status-pill.recepcion_parcial,.status-pill.recibida_parcial,.status-pill.emitida{background:var(--warn-soft);color:var(--warn)}.status-pill.cancelada,.status-pill.cancelado,.status-pill.rechazado{background:var(--danger-soft);color:var(--danger)}

/* ERP ALTER EGO V3 · inventarios, reposición y analítica premium */
.nav-button[href]{text-decoration:none}
.premium-dashboard{margin-top:1.25rem;padding:1.15rem;border:1px solid #cfe2d8;border-radius:24px;background:linear-gradient(145deg,#f7fcf9,#eef7f2);box-shadow:0 20px 55px rgba(15,93,66,.08)}
.premium-section-head{margin-bottom:1rem}.premium-section-head h2{margin:.25rem 0}.premium-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.premium-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-card{min-width:0;background:rgba(255,255,255,.92);border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:0 10px 30px rgba(28,61,45,.055)}.premium-card h3,.premium-card h4{margin:.1rem 0 .8rem}.premium-card .big-number{display:block;font-size:1.55rem;font-weight:850;letter-spacing:-.04em}.premium-card .metric-caption{font-size:.73rem;color:var(--muted)}
.workflow-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:0 0 1rem}.workflow-step{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:.85rem}.workflow-step strong{display:block;font-size:.8rem}.workflow-step span{display:block;color:var(--muted);font-size:.7rem;margin-top:.22rem}.workflow-step::before{content:attr(data-step);display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--brand-soft);color:var(--brand);font-size:.7rem;font-weight:900;margin-bottom:.5rem}
.v3-filter,.audit-filter{display:grid;grid-template-columns:repeat(5,minmax(125px,1fr)) auto;gap:.65rem;align-items:end;margin-bottom:1rem}.v3-filter.compact{grid-template-columns:repeat(4,minmax(125px,1fr)) auto}.v3-filter label,.audit-filter label{min-width:0}.v3-filter input,.v3-filter select,.audit-filter input,.audit-filter select{min-width:0}
.inventory-workspace{width:min(96vw,1500px)}.inventory-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:.75rem;align-items:center;padding:.75rem 0}.inventory-toolbar .inline-check{display:flex;align-items:center;grid-auto-flow:column;justify-content:start}.inventory-count-table{max-height:58vh;border:1px solid var(--line);border-radius:12px}.inventory-count-table table{min-width:1160px}.inventory-count-table thead{position:sticky;top:0;z-index:3}.inventory-count-table input{min-width:105px;padding:.52rem .58rem}.inventory-count-table textarea{min-width:220px;min-height:55px;padding:.52rem .58rem}.inventory-count-table tr.has-difference td{background:#fff9ee}.inventory-count-table tr.shortage td{background:#fff3f3}.inventory-count-table tr.overage td{background:#f1fbf6}.difference-number{font-weight:850;font-variant-numeric:tabular-nums}.difference-number.shortage{color:var(--danger)}.difference-number.overage{color:var(--success)}
.inventory-summary{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:.6rem;padding:.85rem 0}.inventory-summary>div{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;padding:.7rem}.inventory-summary span{display:block;color:var(--muted);font-size:.68rem;font-weight:750}.inventory-summary strong{display:block;margin-top:.18rem;font-size:1rem}.modal-footer.sticky{position:sticky;bottom:0;z-index:5;background:linear-gradient(180deg,rgba(255,255,255,.72),#fff 24%);border-top:1px solid var(--line);padding-top:.85rem;margin-top:.35rem}
.signature-box{border:1px dashed #a8bdb2;border-radius:14px;background:#fff;padding:.65rem;overflow:hidden}.signature-box canvas{display:block;width:100%;height:190px;border-radius:9px;background:linear-gradient(#fff,#fcfdfc);touch-action:none;cursor:crosshair}.small-muted{font-size:.72rem;color:var(--muted)}.inline-check{display:flex;align-items:center;gap:.48rem;font-weight:650}.inline-check input{flex:0 0 auto}.selected-summary{border:1px solid var(--line);border-radius:12px;background:var(--surface-2);padding:.75rem;margin:.3rem 0 .8rem;max-height:220px;overflow:auto}
.replenishment-status{display:inline-flex;align-items:center;border-radius:99px;padding:.24rem .52rem;font-size:.64rem;font-weight:850}.replenishment-status.reposicion{background:var(--warn-soft);color:var(--warn)}.replenishment-status.normal{background:var(--brand-soft);color:var(--success)}.replenishment-status.exceso{background:#eef0ff;color:#5656a8}.quantity-suggestion{font-weight:850;color:var(--brand)}
.analytics-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:.8rem;margin-bottom:1rem}.analytics-kpis article{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:.85rem}.analytics-kpis span{display:block;color:var(--muted);font-size:.7rem}.analytics-kpis strong{display:block;font-size:1.18rem;margin-top:.2rem}.ecommerce-summary{padding:1rem;background:linear-gradient(145deg,#11291f,#173b2d);border-radius:17px;color:#fff}.ecommerce-summary h4{margin-top:0}.ecommerce-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem}.ecommerce-metric-grid>div{padding:.75rem;border-radius:12px;background:rgba(255,255,255,.08)}.ecommerce-metric-grid span{display:block;font-size:.67rem;color:#b8d1c6}.ecommerce-metric-grid strong{display:block;margin-top:.2rem;font-size:1rem}.premium-note{border-left:4px solid var(--gold);background:#fffaf0;padding:.8rem 1rem;border-radius:10px;color:#604e2c;font-size:.78rem}
.audit-json{white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem}.history-highlight{background:#f8fbf9}.danger-button{border:0;border-radius:10px;padding:.72rem 1rem;font-weight:750;background:var(--danger);color:#fff}.danger-button:hover{filter:brightness(.95)}
.modal-card.xl{width:min(96vw,1420px);max-width:1420px}.modal-card{max-height:92vh;overflow:auto}.modal-table-wrap{overflow:auto;max-height:58vh}.modal-head{position:sticky;top:0;z-index:8;background:#fff;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
@media(max-width:1250px){.premium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.v3-filter,.audit-filter{grid-template-columns:repeat(3,minmax(125px,1fr))}.workflow-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.inventory-summary{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:760px){.premium-dashboard{padding:.75rem;border-radius:17px}.premium-grid,.premium-grid.two-columns{grid-template-columns:1fr}.analytics-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.v3-filter,.v3-filter.compact,.audit-filter{grid-template-columns:1fr}.workflow-strip{grid-template-columns:1fr 1fr}.inventory-toolbar{grid-template-columns:1fr}.inventory-summary{grid-template-columns:1fr 1fr}.ecommerce-metric-grid{grid-template-columns:1fr 1fr}.inventory-workspace{width:98vw}.modal-card.xl{width:98vw}.modal-footer.sticky{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.modal-footer.sticky button{width:100%}}
@media(max-width:440px){.analytics-kpis,.workflow-strip,.inventory-summary,.ecommerce-metric-grid{grid-template-columns:1fr}.modal-footer.sticky{grid-template-columns:1fr}}

/* ERP V3.6 · permisos, importación y módulo nativo de tienda */
.permission-hidden{display:none!important}.permission-user-modal{max-height:92vh;overflow:auto}.permission-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 10px}.permission-toolbar h4{margin:0}.permission-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;max-height:45vh;overflow:auto;padding:4px}.permission-group{border:1px solid var(--border,#dbe7e1);border-radius:14px;padding:12px;min-width:0}.permission-group legend{padding:0 8px;font-weight:800;color:#174b39}.permission-grid.warehouses{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;max-height:180px;overflow:auto}.permission-item{display:flex;gap:10px;align-items:flex-start;padding:9px;border-radius:10px;background:#f6faf8}.permission-item input{margin-top:3px}.permission-item span{display:grid;gap:2px}.permission-item small{color:#6b7f75}.permission-item.permission-denied{opacity:.55;background:#f7eeee}.permission-active{align-self:end;min-height:48px}.store-admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}.store-admin-tabs button{border:1px solid #c8ddd3;background:#fff;color:#174b39;border-radius:999px;padding:9px 14px;font-weight:700}.store-admin-tabs button.active{background:#174b39;color:#fff}.store-admin-panel{padding:0;overflow:hidden;height:calc(100vh - 235px);min-height:620px}.store-admin-panel iframe{border:0;width:100%;height:100%;display:block;background:#f4f8f6}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.import-summary{margin:14px 0}.modal-table-wrap.tall{max-height:48vh;overflow:auto}.negative{color:#a62424;font-weight:700}@media(max-width:800px){.permission-toolbar{align-items:flex-start;flex-direction:column}.store-admin-panel{height:70vh;min-height:500px}}

.permission-full-access{margin:0 0 12px;padding:10px 12px;border-radius:10px;background:#e8f5ee;color:#174b39;font-weight:700}.permission-denied{opacity:.55}


/* ALTER EGO V4.0.5 · Capas, avisos y stock en requerimientos */
.modal{z-index:10000}
.toast-root{top:auto!important;right:1rem!important;bottom:1rem!important;left:auto!important;z-index:2147483000!important;pointer-events:none!important;max-height:calc(100vh - 2rem);overflow:auto}
.toast{pointer-events:auto!important;position:relative!important;isolation:isolate!important}
@keyframes toastIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.req-quantity-with-stock{display:grid;grid-template-columns:minmax(120px,1fr) minmax(145px,auto);gap:.45rem;align-items:stretch;min-width:290px}
.req-current-stock{display:flex;align-items:center;justify-content:center;min-height:42px;padding:.55rem .7rem;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);font-size:.75rem;font-weight:850;white-space:nowrap}
.req-current-stock[data-has-stock="true"]{background:var(--brand-soft);border-color:#b8ddcc;color:var(--brand)}
.requisition-item-fields{grid-template-columns:minmax(280px,1.4fr) minmax(290px,1fr) minmax(220px,1fr) auto}
@media(max-width:900px){.requisition-item-fields{grid-template-columns:1fr}.req-quantity-with-stock{min-width:0}}
@media(max-width:680px){.toast-root{top:auto!important;bottom:.7rem!important;left:.7rem!important;right:.7rem!important}.req-quantity-with-stock{grid-template-columns:1fr}.req-current-stock{white-space:normal}}
.permission-item.permission-required{background:#e8f5ee!important;border:1px solid #a9d7c0!important;opacity:1!important}.permission-item.permission-required small::after{content:' · obligatorio para Almacén';font-weight:800;color:#087a4c}

/* ALTER EGO V4.0.6 · UX compras, buscadores, caja y confirmaciones */
.searchable-product-picker{display:grid;gap:.38rem;min-width:0}.searchable-product-picker input,.searchable-product-picker select{min-width:0;width:100%}.purchase-order-loader{display:grid;grid-template-columns:minmax(260px,1fr) auto auto minmax(220px,1fr);gap:.65rem;align-items:end;margin-bottom:.9rem;padding:.75rem;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}.purchase-order-loader .small-muted{align-self:center}.purchase-item-fields{grid-template-columns:minmax(310px,1.6fr) 130px 155px auto}.product-stock-adjust{margin:.85rem 0;padding:.8rem;border:1px solid var(--line);background:var(--surface-2);border-radius:12px}.product-stock-adjust p{margin:.2rem 0 .7rem}.confirm-danger-box{border-left:4px solid var(--danger);background:var(--danger-soft);padding:.8rem .9rem;border-radius:0 11px 11px 0;margin-bottom:.9rem}.confirm-danger-box p{margin:.35rem 0 0}.v38-daily-close{margin-bottom:1rem}.v38-daily-close .v38-commission-kpis{margin-bottom:.8rem}.modal{z-index:10000}.toast-root{z-index:2147483000!important}
@media(max-width:900px){.purchase-order-loader,.purchase-item-fields{grid-template-columns:1fr}.purchase-order-loader>*{width:100%}}


/* ALTER EGO V4.1.0 · Responsive móvil, modales y toasts definitivos */
html body #toast-root.toast-root{
  position:fixed!important;top:auto!important;right:14px!important;bottom:14px!important;left:auto!important;
  width:min(420px,calc(100vw - 28px))!important;max-width:420px!important;z-index:2147483647!important;
  display:flex!important;flex-direction:column!important;gap:10px!important;pointer-events:none!important;
  max-height:calc(100dvh - 28px)!important;overflow-y:auto!important;overflow-x:hidden!important;isolation:isolate!important;
}
html body #toast-root.toast-root .toast{width:100%!important;min-width:0!important;max-width:100%!important;pointer-events:auto!important;z-index:2147483647!important;word-break:break-word!important;overflow-wrap:anywhere!important}
.integration-actions{display:grid;grid-template-columns:minmax(220px,1fr) repeat(3,minmax(150px,auto));gap:.65rem;align-items:end}.integration-actions>*{min-width:0}
.v38-line-builder{grid-template-columns:minmax(150px,.7fr) minmax(220px,1.15fr) minmax(240px,1.3fr) minmax(95px,.55fr) minmax(115px,.65fr)}
.modal-card,.modal-card.small,.modal-card.xl{max-width:calc(100vw - 1rem)}
.modal-card input,.modal-card select,.modal-card textarea,.modal-card button,.modal-card label,.modal-card .form-grid>*{min-width:0;max-width:100%}
.modal-card img,.modal-card video,.modal-card iframe{max-width:100%}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden}
  .modal{padding:6px!important;place-items:stretch center!important;overflow:hidden!important}
  .modal-card,.modal-card.small,.modal-card.xl,.inventory-workspace{width:calc(100vw - 12px)!important;max-width:calc(100vw - 12px)!important;max-height:calc(100dvh - 12px)!important;border-radius:14px!important;overflow-x:hidden!important}
  .modal-card>form,.modal-card>.modal-body,.modal-card>#req-detail-content,.modal-card>#order-detail-content,.modal-card>#transfer-detail-content{overflow-y:auto!important;overflow-x:hidden!important;padding:.78rem!important}
  .modal-head,.modal-footer{padding:.78rem!important;gap:.55rem!important}.modal-head>div{min-width:0}.modal-head h3,.modal-head p{overflow-wrap:anywhere}
  .form-grid,.form-grid.three,.form-grid.four,.inline-fields,.v38-line-builder,.v38-ticket-close-fields,.integration-actions,.purchase-order-loader,.purchase-item-fields,.requisition-item-fields{display:grid!important;grid-template-columns:1fr!important;width:100%!important;min-width:0!important}
  .modal-footer,.modal-footer.sticky{display:grid!important;grid-template-columns:1fr!important;width:100%!important}.modal-footer>*{width:100%!important;min-width:0!important;margin:0!important}
  .modal-table-wrap,.modal .table-wrap{width:100%!important;max-width:100%!important;overflow-x:hidden!important;overflow-y:auto!important}
  .v38-ticket-items-wrap table,.inventory-count-table table{display:block!important;width:100%!important;min-width:0!important;border-collapse:separate!important}
  .v38-ticket-items-wrap thead,.inventory-count-table thead{display:none!important}
  .v38-ticket-items-wrap tbody,.inventory-count-table tbody{display:grid!important;gap:.7rem!important;width:100%!important}
  .v38-ticket-items-wrap tr,.inventory-count-table tr{display:block!important;width:100%!important;border:1px solid var(--line)!important;border-radius:12px!important;padding:.65rem!important;background:var(--surface)!important;overflow:hidden!important}
  .v38-ticket-items-wrap td,.inventory-count-table td{display:grid!important;grid-template-columns:minmax(105px,.72fr) minmax(0,1.28fr)!important;gap:.55rem!important;width:100%!important;border:0!important;border-bottom:1px solid #edf2ef!important;padding:.48rem .15rem!important;white-space:normal!important;overflow-wrap:anywhere!important;align-items:start!important}
  .v38-ticket-items-wrap td:last-child,.inventory-count-table td:last-child{border-bottom:0!important}
  .v38-ticket-items-wrap td::before,.inventory-count-table td::before{content:attr(data-label);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
  .v38-ticket-items-wrap td input,.inventory-count-table td input,.inventory-count-table td select{width:100%!important;max-width:100%!important;min-width:0!important}
  .modal .table-wrap table,.modal .modal-table-wrap table{table-layout:fixed!important;min-width:0!important;width:100%!important}
  .table-wrap th,.table-wrap td{white-space:normal!important;overflow-wrap:anywhere!important;word-break:break-word!important}
  .req-quantity-with-stock{grid-template-columns:1fr!important;min-width:0!important}
  .field-with-action{grid-template-columns:1fr!important}.field-with-action>*{width:100%!important}
  html body #toast-root.toast-root{left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;max-width:none!important}
}


/* === DASHBOARD PREMIUM V4.1.3 - TARJETAS VERTICALES === */

/*
  DASHBOARD GERENCIAL
  Productos más vendidos
  Reposición urgente
  Sin venta en el mes

  Siempre uno debajo del otro,
  ocupando todo el ancho disponible.
*/

#premium-dashboard .premium-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:1rem !important;
  width:100% !important;
  max-width:100% !important;
}

#premium-dashboard .premium-grid > .panel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}


/* ==================================================
   TABLAS DEL DASHBOARD SIN SCROLL HORIZONTAL
================================================== */

#premium-dashboard .compact-table{
  width:100% !important;
  max-width:100% !important;

  overflow-x:hidden !important;
  overflow-y:auto !important;
}

#premium-dashboard .compact-table table{
  width:100% !important;
  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;

  border-collapse:collapse !important;
}


/* Permitir que los textos bajen de línea */

#premium-dashboard .compact-table th,
#premium-dashboard .compact-table td{
  white-space:normal !important;

  overflow-wrap:anywhere !important;
  word-break:break-word !important;

  vertical-align:middle !important;
}


/* ==================================================
   PRODUCTOS MÁS VENDIDOS
================================================== */

#dashboard-top-products
  tr > td:nth-child(1){
  width:46% !important;
}

#dashboard-top-products
  tr > td:nth-child(2){
  width:14% !important;
}

#dashboard-top-products
  tr > td:nth-child(3){
  width:20% !important;
}

#dashboard-top-products
  tr > td:nth-child(4){
  width:20% !important;
}


/* ==================================================
   REPOSICIÓN URGENTE
================================================== */

#dashboard-restock
  tr > td:nth-child(1){
  width:24% !important;
}

#dashboard-restock
  tr > td:nth-child(2){
  width:46% !important;
}

#dashboard-restock
  tr > td:nth-child(3){
  width:15% !important;
}

#dashboard-restock
  tr > td:nth-child(4){
  width:15% !important;
}


/* ==================================================
   SIN VENTA EN EL MES
================================================== */

#dashboard-no-sales
  tr > td:nth-child(1){
  width:60% !important;
}

#dashboard-no-sales
  tr > td:nth-child(2){
  width:20% !important;
}

#dashboard-no-sales
  tr > td:nth-child(3){
  width:20% !important;
}


/* ==================================================
   ENCABEZADOS MÁS LEGIBLES
================================================== */

#premium-dashboard .compact-table thead th{
  padding:.8rem .8rem !important;
  font-size:.7rem !important;
}

#premium-dashboard .compact-table tbody td{
  padding:.82rem .8rem !important;
}


/* Los productos pueden ocupar varias líneas */

#premium-dashboard .compact-table td strong{
  display:block !important;

  white-space:normal !important;
  overflow-wrap:anywhere !important;

  line-height:1.35 !important;
}


/* ==================================================
   ALTURA
   El scroll permitido será únicamente vertical
   cuando existan muchos registros.
================================================== */

#premium-dashboard .compact-table{
  max-height:430px !important;
}


/* ==================================================
   TABLET
================================================== */

@media(max-width:1100px){

  #premium-dashboard .premium-grid{
    grid-template-columns:1fr !important;
  }

}


/* ==================================================
   CELULAR
================================================== */

@media(max-width:680px){

  #premium-dashboard{
    padding:.65rem !important;
  }

  #premium-dashboard .premium-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:.75rem !important;
  }

  #premium-dashboard .premium-grid > .panel{
    padding:.8rem !important;
    border-radius:14px !important;
  }

  #premium-dashboard .panel-head{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:.35rem !important;
  }

  #premium-dashboard .panel-head .text-button{
    width:auto !important;
  }

  #premium-dashboard .compact-table{
    width:100% !important;
    overflow-x:hidden !important;
  }

  #premium-dashboard .compact-table table{
    width:100% !important;
    min-width:0 !important;
    table-layout:fixed !important;
  }

  #premium-dashboard .compact-table th,
  #premium-dashboard .compact-table td{
    padding:.65rem .45rem !important;
    font-size:.69rem !important;

    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

}



/* === MOVIMIENTOS RECIENTES FULL WIDTH V4.1.3 === */

/* ==================================================
   MOVIMIENTOS RECIENTES
   Ocupa todo el ancho disponible del dashboard
================================================== */

/*
  Detectamos el panel que contiene la tabla
  de movimientos recientes.
*/
#dashboard .dashboard-grid > .panel:has(#recent-movements-table),
#dashboard .dashboard-grid > .card:has(#recent-movements-table),
#dashboard .panel:has(#recent-movements-table),
#dashboard .card:has(#recent-movements-table),
main .panel:has(#recent-movements-table),
main .card:has(#recent-movements-table){
  grid-column:1 / -1 !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;

  box-sizing:border-box !important;
}


/* Si el tbody tiene otro ID usado por esta versión */
#dashboard .dashboard-grid > .panel:has(#dashboard-recent-movements),
#dashboard .dashboard-grid > .card:has(#dashboard-recent-movements),
#dashboard .panel:has(#dashboard-recent-movements),
#dashboard .card:has(#dashboard-recent-movements),
main .panel:has(#dashboard-recent-movements),
main .card:has(#dashboard-recent-movements){
  grid-column:1 / -1 !important;

  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}


/* ==================================================
   CONTENEDOR DE LA TABLA
================================================== */

#recent-movements-table,
#dashboard-recent-movements{
  width:100% !important;
  max-width:100% !important;
}


/*
  Evitar que cualquier envoltorio de tabla
  genere desplazamiento lateral.
*/
#recent-movements-table,
#recent-movements-table .table-wrap,
#recent-movements-table .table-scroll,
#dashboard-recent-movements,
#dashboard-recent-movements .table-wrap,
#dashboard-recent-movements .table-scroll{
  overflow-x:hidden !important;
}


/* ==================================================
   TABLA
================================================== */

#recent-movements-table table,
table:has(#dashboard-recent-movements),
table:has(#recent-movements-table){
  width:100% !important;
  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;

  border-collapse:collapse !important;
}


/*
  Si recent-movements-table es directamente
  el elemento TABLE.
*/
table#recent-movements-table{
  width:100% !important;
  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;
}


/* ==================================================
   TEXTO SIN DESBORDARSE
================================================== */

table#recent-movements-table th,
table#recent-movements-table td,
table:has(#dashboard-recent-movements) th,
table:has(#dashboard-recent-movements) td{
  white-space:normal !important;

  overflow-wrap:anywhere !important;
  word-break:break-word !important;

  vertical-align:middle !important;

  padding:.75rem .8rem !important;
}


/* ==================================================
   ANCHOS DE COLUMNAS

   Fecha | Producto | Tipo | Entrada | Salida | Saldo
================================================== */

table#recent-movements-table th:nth-child(1),
table#recent-movements-table td:nth-child(1),
table:has(#dashboard-recent-movements) th:nth-child(1),
table:has(#dashboard-recent-movements) td:nth-child(1){
  width:14% !important;
}

table#recent-movements-table th:nth-child(2),
table#recent-movements-table td:nth-child(2),
table:has(#dashboard-recent-movements) th:nth-child(2),
table:has(#dashboard-recent-movements) td:nth-child(2){
  width:38% !important;
}

table#recent-movements-table th:nth-child(3),
table#recent-movements-table td:nth-child(3),
table:has(#dashboard-recent-movements) th:nth-child(3),
table:has(#dashboard-recent-movements) td:nth-child(3){
  width:18% !important;
}

table#recent-movements-table th:nth-child(4),
table#recent-movements-table td:nth-child(4),
table#recent-movements-table th:nth-child(5),
table#recent-movements-table td:nth-child(5),
table#recent-movements-table th:nth-child(6),
table#recent-movements-table td:nth-child(6),
table:has(#dashboard-recent-movements) th:nth-child(4),
table:has(#dashboard-recent-movements) td:nth-child(4),
table:has(#dashboard-recent-movements) th:nth-child(5),
table:has(#dashboard-recent-movements) td:nth-child(5),
table:has(#dashboard-recent-movements) th:nth-child(6),
table:has(#dashboard-recent-movements) td:nth-child(6){
  width:10% !important;
}


/* Producto */
table#recent-movements-table td:nth-child(2){
  line-height:1.35 !important;
}


/* Tipo de movimiento */
table#recent-movements-table td:nth-child(3){
  overflow-wrap:anywhere !important;
}


/* ==================================================
   CELULAR
================================================== */

@media(max-width:680px){

  /*
    En móvil ya no usamos una tabla horizontal.
    Cada movimiento se comporta como una tarjeta.
  */

  table#recent-movements-table,
  table:has(#dashboard-recent-movements){
    display:block !important;

    width:100% !important;
  }

  table#recent-movements-table thead,
  table:has(#dashboard-recent-movements) thead{
    display:none !important;
  }

  table#recent-movements-table tbody,
  table:has(#dashboard-recent-movements) tbody{
    display:grid !important;

    grid-template-columns:1fr !important;

    gap:.65rem !important;
  }

  table#recent-movements-table tr,
  table:has(#dashboard-recent-movements) tr{
    display:grid !important;

    grid-template-columns:1fr 1fr !important;

    gap:.45rem .75rem !important;

    width:100% !important;

    padding:.75rem !important;

    border:1px solid
      var(--border,rgba(15,80,60,.15)) !important;

    border-radius:12px !important;

    box-sizing:border-box !important;
  }

  table#recent-movements-table td,
  table:has(#dashboard-recent-movements) td{
    display:block !important;

    width:auto !important;

    padding:.25rem 0 !important;

    border:0 !important;

    font-size:.76rem !important;
  }


  /* Producto ocupa toda la fila */
  table#recent-movements-table td:nth-child(2),
  table:has(#dashboard-recent-movements) td:nth-child(2){
    grid-column:1 / -1 !important;

    font-weight:600 !important;
  }

}



/* === MOVIMIENTOS RECIENTES FULL MAIN V4.1.4 === */

/* =========================================================
   MOVIMIENTOS RECIENTES
   TODO EL ANCHO DEL MAIN
========================================================= */

#dashboard-recent-panel{
  grid-column: 1 / -1 !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;

  box-sizing: border-box !important;
}


/*
  Evitar que la clase span-2 anterior
  vuelva a reducir este panel.
*/
.dashboard-grid > #dashboard-recent-panel.span-2{
  grid-column: 1 / -1 !important;
}


/* =========================================================
   TABLA A TODO EL ANCHO
========================================================= */

#dashboard-recent-panel .table-wrap{
  width: 100% !important;
  max-width: 100% !important;

  overflow-x: hidden !important;
  overflow-y: auto !important;

  box-sizing: border-box !important;
}


#dashboard-recent-panel table{
  width: 100% !important;
  max-width: 100% !important;

  min-width: 0 !important;

  table-layout: fixed !important;

  border-collapse: collapse !important;
}


/* =========================================================
   TEXTO
========================================================= */

#dashboard-recent-panel th,
#dashboard-recent-panel td{
  white-space: normal !important;

  overflow-wrap: anywhere !important;
  word-break: break-word !important;

  vertical-align: middle !important;

  padding: .78rem .85rem !important;
}


/* =========================================================
   DISTRIBUCIÓN DE COLUMNAS

   Fecha
   Producto
   Tipo
   Entrada
   Salida
   Saldo
========================================================= */

#dashboard-recent-panel th:nth-child(1),
#dashboard-recent-panel td:nth-child(1){
  width: 15% !important;
}

#dashboard-recent-panel th:nth-child(2),
#dashboard-recent-panel td:nth-child(2){
  width: 37% !important;
}

#dashboard-recent-panel th:nth-child(3),
#dashboard-recent-panel td:nth-child(3){
  width: 18% !important;
}

#dashboard-recent-panel th:nth-child(4),
#dashboard-recent-panel td:nth-child(4),

#dashboard-recent-panel th:nth-child(5),
#dashboard-recent-panel td:nth-child(5),

#dashboard-recent-panel th:nth-child(6),
#dashboard-recent-panel td:nth-child(6){
  width: 10% !important;
}


/* =========================================================
   PRODUCTO
========================================================= */

#dashboard-recent-panel td:nth-child(2){
  line-height: 1.35 !important;
}


/* =========================================================
   ESCRITORIO
========================================================= */

@media (min-width: 981px){

  #dashboard-recent-panel{
    grid-column: 1 / -1 !important;
  }

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 980px){

  #dashboard-recent-panel{
    grid-column: 1 / -1 !important;

    width: 100% !important;
  }

}


/* =========================================================
   CELULAR
========================================================= */

@media (max-width: 680px){

  #dashboard-recent-panel{
    width: 100% !important;

    padding: .8rem !important;
  }


  #dashboard-recent-panel .table-wrap{
    overflow-x: hidden !important;
  }


  /*
    En celular cada movimiento se transforma
    en una tarjeta vertical para evitar scroll lateral.
  */

  #dashboard-recent-panel table{
    display: block !important;

    width: 100% !important;
  }


  #dashboard-recent-panel thead{
    display: none !important;
  }


  #dashboard-recent-panel tbody{
    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: .65rem !important;
  }


  #dashboard-recent-panel tr{
    display: grid !important;

    grid-template-columns:
      minmax(0,1fr)
      minmax(0,1fr) !important;

    gap: .4rem .7rem !important;

    width: 100% !important;

    padding: .75rem !important;

    border:
      1px solid var(--line) !important;

    border-radius: 12px !important;

    box-sizing: border-box !important;
  }


  #dashboard-recent-panel td{
    display: block !important;

    width: auto !important;

    padding: .2rem 0 !important;

    border: 0 !important;

    font-size: .76rem !important;
  }


  /*
    Producto ocupa toda la fila
  */

  #dashboard-recent-panel td:nth-child(2){
    grid-column: 1 / -1 !important;

    font-weight: 700 !important;
  }

}



/* === STOCK DOBLE FILTRO MARCA + STOCK V4.1.7 === */

/*
  Escritorio:
  Almacén | Marca | Stock | Buscar | Aplicar
*/

#view-stock .filter-bar{

  display:grid !important;

  grid-template-columns:
    minmax(210px,1.25fr)
    minmax(170px,.85fr)
    minmax(180px,.85fr)
    minmax(220px,1fr)
    auto !important;

  gap:.65rem !important;

  align-items:center !important;
}


#view-stock .filter-bar > *{

  min-width:0 !important;

  width:100% !important;

  box-sizing:border-box !important;
}


/* TABLET */

@media(max-width:1050px){

  #view-stock .filter-bar{

    grid-template-columns:
      1fr
      1fr !important;

  }

}


/* CELULAR */

@media(max-width:680px){

  #view-stock .filter-bar{

    grid-template-columns:
      1fr !important;

  }


  #view-stock .filter-bar button{

    width:100% !important;

  }

}



/* === INVENTARIO MODAL AMPLIO Y RESUMEN CENTRADO V4.1.8 === */


/* =====================================================
   MODAL INVENTARIO MÁS AMPLIO
===================================================== */

#inventory-workspace-modal{
  padding:.55rem !important;
}


#inventory-workspace-modal .inventory-workspace{

  width:min(98.8vw,1900px) !important;

  max-width:min(98.8vw,1900px) !important;

  max-height:96vh !important;
}


#inventory-workspace-modal .modal-head{

  padding:.9rem 1rem !important;
}


/* =====================================================
   BUSCADOR / SOLO DIFERENCIAS / AVANCE
===================================================== */

#inventory-workspace-modal .inventory-toolbar{

  display:grid !important;

  grid-template-columns:
    minmax(0,1fr)
    auto !important;

  grid-template-areas:
    "search differences"
    "progress progress" !important;

  gap:.65rem .9rem !important;

  align-items:center !important;

  padding:.8rem 0 !important;
}


#inventory-workspace-modal
#inventory-item-search{

  grid-area:search !important;

  min-width:0 !important;
}


#inventory-workspace-modal
.inventory-toolbar
.inline-check{

  grid-area:differences !important;

  justify-self:end !important;

  white-space:nowrap !important;
}


/*
  6 / 241 CONTADOS
  queda en una fila separada
*/

#inventory-workspace-modal
#inventory-progress{

  grid-area:progress !important;

  justify-self:center !important;

  position:static !important;

  max-width:100% !important;

  white-space:normal !important;

  text-align:center !important;

  margin:0 !important;
}


/* =====================================================
   TABLA MÁS ANCHA
===================================================== */

#inventory-workspace-modal
.inventory-count-table{

  width:100% !important;

  max-width:100% !important;

  max-height:61vh !important;
}


#inventory-workspace-modal
.inventory-count-table table{

  width:100% !important;

  min-width:1320px !important;

  table-layout:fixed !important;
}


#inventory-workspace-modal
.inventory-count-table th,

#inventory-workspace-modal
.inventory-count-table td{

  white-space:normal !important;

  overflow-wrap:anywhere !important;

  vertical-align:middle !important;

  padding:.55rem .42rem !important;
}


#inventory-workspace-modal
.inventory-count-table input{

  width:100% !important;

  min-width:0 !important;

  max-width:100% !important;

  box-sizing:border-box !important;
}


/* SKU */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(1),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(1){

  width:10% !important;
}


/* PRODUCTO */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(2),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(2){

  width:24% !important;
}


/* STOCK AL ABRIR */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(3),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(3){

  width:6% !important;
}


/* ENTRADAS */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(4),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(4){

  width:6% !important;
}


/* SALIDAS */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(5),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(5){

  width:6% !important;
}


/* STOCK ESPERADO */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(6),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(6){

  width:7% !important;
}


/* PRIMER CONTEO */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(7),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(7){

  width:8% !important;
}


/* RECONTEO */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(8),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(8){

  width:8% !important;
}


/* DIFERENCIA */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(9),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(9){

  width:7% !important;
}


/* RESULTADO */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(10),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(10){

  width:8% !important;
}


/* MOTIVO */

#inventory-workspace-modal
.inventory-count-table
th:nth-child(11),

#inventory-workspace-modal
.inventory-count-table
td:nth-child(11){

  width:10% !important;
}


/* =====================================================
   RESUMEN CENTRADO
===================================================== */

#inventory-workspace-modal
.inventory-summary{

  display:grid !important;

  grid-template-columns:
    repeat(
      4,
      minmax(180px,240px)
    ) !important;

  justify-content:center !important;

  align-items:stretch !important;

  gap:.8rem !important;

  width:100% !important;

  padding:.9rem 1rem !important;

  box-sizing:border-box !important;
}


#inventory-workspace-modal
.inventory-summary > div{

  width:100% !important;

  text-align:center !important;

  box-sizing:border-box !important;
}


/* =====================================================
   SELECTORES DE ALMACÉN
===================================================== */

select[id*="warehouse"],
select[id*="local"]{

  text-transform:uppercase;
}


/* =====================================================
   TABLET
===================================================== */

@media(max-width:1100px){

  #inventory-workspace-modal
  .inventory-summary{

    grid-template-columns:
      repeat(
        2,
        minmax(180px,260px)
      ) !important;
  }

}


/* =====================================================
   CELULAR
===================================================== */

@media(max-width:760px){

  #inventory-workspace-modal{

    padding:6px !important;
  }


  #inventory-workspace-modal
  .inventory-workspace{

    width:
      calc(100vw - 12px) !important;

    max-width:
      calc(100vw - 12px) !important;

    max-height:
      calc(100dvh - 12px) !important;
  }


  #inventory-workspace-modal
  .inventory-toolbar{

    grid-template-columns:
      1fr !important;

    grid-template-areas:
      "search"
      "differences"
      "progress" !important;
  }


  #inventory-workspace-modal
  .inventory-toolbar
  .inline-check,

  #inventory-workspace-modal
  #inventory-progress{

    justify-self:center !important;
  }


  #inventory-workspace-modal
  .inventory-summary{

    grid-template-columns:
      1fr 1fr !important;

    padding:.75rem 0 !important;
  }


  /*
    En móvil conserva el formato vertical
    que ya tiene tu ERP.
  */

  #inventory-workspace-modal
  .inventory-count-table table{

    min-width:0 !important;
  }

}


@media(max-width:440px){

  #inventory-workspace-modal
  .inventory-summary{

    grid-template-columns:
      1fr !important;
  }

}



/* === REPOSICION COMPACTA SIN SCROLL V4.1.9 === */


/* =========================================================
   REPOSICIÓN Y COMPRAS
   APROVECHAR TODO EL ANCHO DEL MAIN
========================================================= */

#view-replenishment{
  min-width:0 !important;
}


/* =========================================================
   TABLA SUPERIOR: QUÉ ENVIAR A CADA TIENDA
========================================================= */

#view-replenishment
.panel:has(#replenishment-table){

  padding:.8rem !important;
}


#view-replenishment
.panel:has(#replenishment-table)
.panel-head{

  margin-bottom:.5rem !important;
}


/*
  El contenedor no debe forzar una tabla gigante.
*/
#view-replenishment
.table-wrap:has(#replenishment-table){

  width:100% !important;
  max-width:100% !important;

  overflow-x:hidden !important;
}


/*
  Tabla superior utiliza todo el espacio disponible.
*/
#view-replenishment
table:has(#replenishment-table){

  width:100% !important;
  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;
}


/*
  Reducimos espacios internos para que
  entren todas las columnas.
*/
#view-replenishment
table:has(#replenishment-table)
th{

  padding:.55rem .35rem !important;

  font-size:.62rem !important;

  white-space:normal !important;

  line-height:1.15 !important;
}


#view-replenishment
table:has(#replenishment-table)
td{

  padding:.52rem .35rem !important;

  font-size:.72rem !important;

  line-height:1.2 !important;

  vertical-align:middle !important;
}


/* CHECK */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(1),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(1){

  width:3% !important;
}


/* TIENDA */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(2),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(2){

  width:11% !important;
}


/* =========================================================
   SKU COMPLETO EN UNA SOLA LÍNEA
========================================================= */

#view-replenishment
table:has(#replenishment-table)
th:nth-child(3),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(3){

  width:9% !important;

  white-space:nowrap !important;

  word-break:normal !important;

  overflow-wrap:normal !important;

  font-variant-numeric:tabular-nums !important;
}


/* PRODUCTO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(4),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(4){

  width:23% !important;
}


/* STOCK */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(5),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(5){

  width:4% !important;
}


/* MÍNIMO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(6),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(6){

  width:4% !important;
}


/* MÁXIMO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(7),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(7){

  width:4% !important;
}


/* DEMANDA */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(8),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(8){

  width:5% !important;
}


/* CÁLCULO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(9),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(9){

  width:10% !important;
}


/* SOLICITADO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(10),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(10){

  width:5% !important;
}


/* TRÁNSITO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(11),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(11){

  width:5% !important;
}


/* ORIGEN */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(12),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(12){

  width:5% !important;
}


/* SUGERIDO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(13),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(13){

  width:5% !important;
}


/* CANTIDAD */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(14),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(14){

  width:6% !important;
}


/*
  Input cantidad más compacto.
*/
#view-replenishment
#replenishment-table
.replenishment-qty{

  width:100% !important;

  min-width:0 !important;

  max-width:100% !important;

  padding:.45rem !important;
}


/*
  Producto y marca.
*/
#view-replenishment
#replenishment-table
td:nth-child(4)
strong{

  display:block !important;

  line-height:1.2 !important;
}


#view-replenishment
#replenishment-table
.small-muted{

  margin-top:.12rem !important;

  font-size:.61rem !important;
}


/*
  Pastilla "Inicial por stock"
  más compacta.
*/
#view-replenishment
#replenishment-table
.status-pill{

  padding:.2rem .4rem !important;

  font-size:.58rem !important;

  white-space:normal !important;

  text-align:center !important;
}


/* =========================================================
   LOS DOS PANELES INFERIORES
========================================================= */

/*
  Evita que el panel izquierdo se estire hasta
  la misma altura que la compra sugerida.
*/
#view-replenishment
> .premium-grid.two-columns{

  display:grid !important;

  grid-template-columns:
    minmax(0,.92fr)
    minmax(0,1.08fr) !important;

  align-items:start !important;

  gap:.75rem !important;

  width:100% !important;
}


#view-replenishment
> .premium-grid.two-columns
> .panel{

  align-self:start !important;

  width:100% !important;

  min-width:0 !important;

  height:auto !important;

  min-height:0 !important;

  padding:.8rem !important;
}


/*
  Encabezados inferiores más compactos.
*/
#view-replenishment
> .premium-grid.two-columns
.panel-head{

  margin-bottom:.45rem !important;

  min-height:0 !important;
}


#view-replenishment
> .premium-grid.two-columns
.panel-head h3{

  font-size:1rem !important;

  line-height:1.2 !important;
}


/* =========================================================
   SOLICITUDES PENDIENTES
========================================================= */

#view-replenishment
.table-wrap:has(#replenishment-requests-table){

  width:100% !important;

  max-width:100% !important;

  overflow-x:hidden !important;
}


#view-replenishment
table:has(#replenishment-requests-table){

  width:100% !important;

  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;
}


#view-replenishment
table:has(#replenishment-requests-table)
th,

#view-replenishment
table:has(#replenishment-requests-table)
td{

  padding:.48rem .35rem !important;

  font-size:.69rem !important;

  white-space:normal !important;

  overflow-wrap:anywhere !important;
}


/* FECHA */
#view-replenishment
table:has(#replenishment-requests-table)
th:nth-child(1),

#view-replenishment
table:has(#replenishment-requests-table)
td:nth-child(1){

  width:18% !important;
}


/* NÚMERO */
#view-replenishment
table:has(#replenishment-requests-table)
th:nth-child(2),

#view-replenishment
table:has(#replenishment-requests-table)
td:nth-child(2){

  width:19% !important;
}


/* ORIGEN DESTINO */
#view-replenishment
table:has(#replenishment-requests-table)
th:nth-child(3),

#view-replenishment
table:has(#replenishment-requests-table)
td:nth-child(3){

  width:30% !important;
}


/* PRIORIDAD */
#view-replenishment
table:has(#replenishment-requests-table)
th:nth-child(4),

#view-replenishment
table:has(#replenishment-requests-table)
td:nth-child(4){

  width:11% !important;
}


/* ESTADO */
#view-replenishment
table:has(#replenishment-requests-table)
th:nth-child(5),

#view-replenishment
table:has(#replenishment-requests-table)
td:nth-child(5){

  width:15% !important;
}


/* ACCIÓN */
#view-replenishment
table:has(#replenishment-requests-table)
th:nth-child(6),

#view-replenishment
table:has(#replenishment-requests-table)
td:nth-child(6){

  width:7% !important;
}


/* =========================================================
   COMPRA SUGERIDA
========================================================= */

#view-replenishment
.table-wrap:has(#procurement-table){

  width:100% !important;

  max-width:100% !important;

  overflow-x:hidden !important;
}


#view-replenishment
table:has(#procurement-table){

  width:100% !important;

  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;
}


#view-replenishment
table:has(#procurement-table)
th,

#view-replenishment
table:has(#procurement-table)
td{

  padding:.46rem .35rem !important;

  font-size:.69rem !important;

  white-space:normal !important;

  overflow-wrap:anywhere !important;

  vertical-align:middle !important;
}


/* PRODUCTO */
#view-replenishment
table:has(#procurement-table)
th:nth-child(1),

#view-replenishment
table:has(#procurement-table)
td:nth-child(1){

  width:42% !important;
}


/* CENTRAL */
#view-replenishment
table:has(#procurement-table)
th:nth-child(2),

#view-replenishment
table:has(#procurement-table)
td:nth-child(2){

  width:10% !important;
}


/* VENTA MES */
#view-replenishment
table:has(#procurement-table)
th:nth-child(3),

#view-replenishment
table:has(#procurement-table)
td:nth-child(3){

  width:11% !important;
}


/* TIENDAS */
#view-replenishment
table:has(#procurement-table)
th:nth-child(4),

#view-replenishment
table:has(#procurement-table)
td:nth-child(4){

  width:10% !important;
}


/* COMPRAR */
#view-replenishment
table:has(#procurement-table)
th:nth-child(5),

#view-replenishment
table:has(#procurement-table)
td:nth-child(5){

  width:10% !important;
}


/* INVERSIÓN */
#view-replenishment
table:has(#procurement-table)
th:nth-child(6),

#view-replenishment
table:has(#procurement-table)
td:nth-child(6){

  width:17% !important;

  white-space:nowrap !important;
}


/*
  SKU debajo del producto sigue pequeño para
  ahorrar espacio en compra sugerida.
*/
#view-replenishment
#procurement-table
.small-muted{

  font-size:.59rem !important;

  margin-top:.08rem !important;
}


/*
  Total de inversión más compacto.
*/
#view-replenishment
.procurement-total{

  margin-top:.55rem !important;

  padding:.5rem .7rem !important;
}


/* =========================================================
   TABLET
========================================================= */

@media(max-width:1100px){

  #view-replenishment
  > .premium-grid.two-columns{

    grid-template-columns:1fr !important;
  }

}


/* =========================================================
   CELULAR
========================================================= */

@media(max-width:760px){

  #view-replenishment
  > .premium-grid.two-columns{

    grid-template-columns:1fr !important;
  }


  /*
    Los paneles inferiores ocupan todo el ancho.
  */

  #view-replenishment
  > .premium-grid.two-columns
  > .panel{

    width:100% !important;
  }


  /*
    Las tablas inferiores siguen sin scroll lateral.
  */

  #view-replenishment
  table:has(#replenishment-requests-table),

  #view-replenishment
  table:has(#procurement-table){

    min-width:0 !important;
  }

}



/* === REPOSICION TABLA ORDENADA V4.2.1 === */


/* =========================================================
   TABLA GENERAL
========================================================= */

#view-replenishment
.table-wrap:has(#replenishment-table){

  width:100% !important;

  max-width:100% !important;

  overflow-x:hidden !important;
}


#view-replenishment
table:has(#replenishment-table){

  width:100% !important;

  max-width:100% !important;

  min-width:0 !important;

  table-layout:fixed !important;

  border-collapse:collapse !important;
}


/* =========================================================
   ENCABEZADOS
   Más grandes y centrados
========================================================= */

#view-replenishment
table:has(#replenishment-table)
thead th{

  padding:.62rem .25rem !important;

  font-size:.70rem !important;

  font-weight:800 !important;

  line-height:1.12 !important;

  letter-spacing:.045em !important;

  text-align:center !important;

  vertical-align:middle !important;

  white-space:normal !important;

  word-break:normal !important;
}


/* =========================================================
   FILAS MÁS COMPACTAS
========================================================= */

#view-replenishment
table:has(#replenishment-table)
tbody td{

  padding:.40rem .25rem !important;

  font-size:.72rem !important;

  line-height:1.15 !important;

  vertical-align:middle !important;

  text-align:center !important;

  white-space:normal !important;

  overflow-wrap:anywhere !important;
}


#view-replenishment
table:has(#replenishment-table)
tbody tr{

  height:auto !important;
}


/* =========================================================
   ANCHOS EXACTOS
   TOTAL = 100%
========================================================= */


/* CHECKBOX */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(1),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(1){

  width:2% !important;
}


/* TIENDA */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(2),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(2){

  width:10% !important;
}


/* SKU */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(3),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(3){

  width:9% !important;
}


/* PRODUCTO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(4),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(4){

  width:18% !important;
}


/* MARCA */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(5),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(5){

  width:7% !important;
}


/* STOCK */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(6),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(6){

  width:4% !important;
}


/* MIN */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(7),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(7){

  width:4% !important;
}


/* MAX */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(8),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(8){

  width:4% !important;
}


/* DEMANDA */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(9),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(9){

  width:6% !important;
}


/* CALCULO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(10),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(10){

  width:9% !important;
}


/* SOLICITADO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(11),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(11){

  width:5% !important;
}


/* TRANSITO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(12),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(12){

  width:5% !important;
}


/* ORIGEN */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(13),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(13){

  width:5% !important;
}


/* SUGERIDO */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(14),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(14){

  width:5% !important;
}


/* CANTIDAD */
#view-replenishment
table:has(#replenishment-table)
th:nth-child(15),

#view-replenishment
table:has(#replenishment-table)
td:nth-child(15){

  width:7% !important;
}


/* =========================================================
   TIENDA
========================================================= */

#view-replenishment
#replenishment-table
.rep-store{

  text-align:center !important;
}


#view-replenishment
#replenishment-table
.rep-store strong{

  font-size:.69rem !important;

  font-weight:650 !important;

  line-height:1.15 !important;
}


/* =========================================================
   SKU EN UNA SOLA FILA
========================================================= */

#view-replenishment
#replenishment-table
.rep-sku{

  white-space:nowrap !important;

  word-break:normal !important;

  overflow-wrap:normal !important;

  font-size:.68rem !important;

  font-variant-numeric:tabular-nums !important;

  text-align:center !important;
}


/* =========================================================
   PRODUCTO
========================================================= */

#view-replenishment
#replenishment-table
.rep-product{

  text-align:center !important;
}


#view-replenishment
#replenishment-table
.rep-product strong{

  display:block !important;

  font-size:.73rem !important;

  line-height:1.17 !important;

  text-align:center !important;
}


/*
  IMPORTANTE:
  ya no mostramos MARCA debajo del producto.
*/

#view-replenishment
#replenishment-table
.rep-product
.small-muted{

  display:none !important;
}


/* =========================================================
   MARCA CORRECTA
========================================================= */

#view-replenishment
#replenishment-table
.rep-brand{

  text-align:center !important;

  font-size:.69rem !important;

  font-weight:700 !important;

  color:var(--muted) !important;

  white-space:normal !important;
}


/* =========================================================
   NÚMEROS
========================================================= */

#view-replenishment
#replenishment-table
.rep-number{

  text-align:center !important;

  font-variant-numeric:tabular-nums !important;
}


/* =========================================================
   CÁLCULO
========================================================= */

#view-replenishment
#replenishment-table
.rep-calculation{

  text-align:center !important;
}


#view-replenishment
#replenishment-table
.rep-calculation
.status-pill{

  display:inline-flex !important;

  justify-content:center !important;

  padding:.18rem .35rem !important;

  font-size:.57rem !important;

  line-height:1.1 !important;
}


#view-replenishment
#replenishment-table
.rep-calculation-date{

  margin-top:.15rem !important;

  font-size:.57rem !important;

  line-height:1.1 !important;

  color:var(--muted) !important;

  text-align:center !important;
}


/* =========================================================
   CANTIDAD
========================================================= */

#view-replenishment
#replenishment-table
.rep-qty-cell{

  text-align:center !important;
}


#view-replenishment
#replenishment-table
.replenishment-qty{

  display:block !important;

  width:88% !important;

  min-width:0 !important;

  max-width:88% !important;

  margin:0 auto !important;

  padding:.42rem .38rem !important;

  text-align:center !important;

  box-sizing:border-box !important;
}


/* CHECKBOX */
#view-replenishment
#replenishment-table
.rep-check{

  text-align:center !important;
}


/* =========================================================
   CELULAR
========================================================= */

@media(max-width:760px){

  #view-replenishment
  table:has(#replenishment-table)
  thead th{

    font-size:.64rem !important;
  }


  #view-replenishment
  table:has(#replenishment-table)
  tbody td{

    font-size:.68rem !important;
  }

}



/* === REPOSICION PANELES VERTICALES + PAGINACION V4.2.2 === */


/* ==================================================
   LOS DOS PANELES UNO DEBAJO DEL OTRO
================================================== */

#view-replenishment
> .premium-grid.two-columns,

#view-replenishment
> .replenishment-lower-stack{

  grid-template-columns:
    minmax(0,1fr) !important;

  gap:.8rem !important;

  align-items:start !important;
}


#replenishment-requests-panel,
#procurement-panel{

  width:100% !important;

  max-width:100% !important;

  min-width:0 !important;

  height:auto !important;

  min-height:0 !important;

  align-self:start !important;

  padding:.75rem !important;
}


#replenishment-requests-panel
.panel-head,

#procurement-panel
.panel-head{

  margin-bottom:.4rem !important;
}


/* ==================================================
   SOLICITUDES PENDIENTES
================================================== */

#replenishment-requests-panel
.table-wrap{

  max-height:260px !important;

  min-height:0 !important;

  overflow-y:auto !important;

  overflow-x:hidden !important;
}


/* ==================================================
   COMPRA SUGERIDA
================================================== */

#procurement-panel
.table-wrap{

  max-height:410px !important;

  min-height:0 !important;

  overflow-y:auto !important;

  overflow-x:hidden !important;

  scrollbar-gutter:stable;
}


#procurement-panel table,
#replenishment-requests-panel table{

  width:100% !important;

  min-width:0 !important;

  max-width:100% !important;

  table-layout:fixed !important;
}


#procurement-panel th,
#procurement-panel td,

#replenishment-requests-panel th,
#replenishment-requests-panel td{

  padding:.46rem .45rem !important;

  line-height:1.15 !important;

  vertical-align:middle !important;
}


#procurement-panel th{

  font-size:.69rem !important;
}


#procurement-panel td{

  font-size:.72rem !important;
}


/* PRODUCTO */

#procurement-panel
th:nth-child(1),

#procurement-panel
td:nth-child(1){

  width:45% !important;
}


/* CENTRAL */

#procurement-panel
th:nth-child(2),

#procurement-panel
td:nth-child(2){

  width:10% !important;

  text-align:center !important;
}


/* VENTA MES */

#procurement-panel
th:nth-child(3),

#procurement-panel
td:nth-child(3){

  width:11% !important;

  text-align:center !important;

  white-space:nowrap !important;
}


/* TIENDAS */

#procurement-panel
th:nth-child(4),

#procurement-panel
td:nth-child(4){

  width:10% !important;

  text-align:center !important;
}


/* COMPRAR */

#procurement-panel
th:nth-child(5),

#procurement-panel
td:nth-child(5){

  width:10% !important;

  text-align:center !important;
}


/* INVERSIÓN */

#procurement-panel
th:nth-child(6),

#procurement-panel
td:nth-child(6){

  width:14% !important;

  text-align:center !important;

  white-space:nowrap !important;
}


/* ==================================================
   PAGINADOR
================================================== */

.procurement-pager{

  display:flex !important;

  align-items:center !important;

  justify-content:center !important;

  gap:.7rem !important;

  padding:.6rem .25rem .35rem !important;
}


#procurement-page-label{

  min-width:170px !important;

  text-align:center !important;

  font-size:.72rem !important;

  color:var(--muted) !important;

  white-space:nowrap !important;
}


#procurement-prev,
#procurement-next{

  width:auto !important;

  min-width:88px !important;
}


/* ==================================================
   DEMANDA/DÍA Y CÁLCULO/RESULTADO
   UNA SOLA LÍNEA
================================================== */

#view-replenishment
table:has(#replenishment-table)
thead th:nth-child(9),

#view-replenishment
table:has(#replenishment-table)
thead th:nth-child(10){

  white-space:nowrap !important;

  word-break:normal !important;

  overflow-wrap:normal !important;

  font-size:.68rem !important;

  letter-spacing:.02em !important;
}


#view-replenishment
#replenishment-table
td:nth-child(9),

#view-replenishment
#replenishment-table
td:nth-child(10){

  white-space:nowrap !important;

  word-break:normal !important;

  overflow-wrap:normal !important;

  text-align:center !important;
}


#view-replenishment
#replenishment-table
.rep-calculation
.status-pill{

  white-space:nowrap !important;
}


/* ==================================================
   CELULAR
================================================== */

@media(max-width:760px){

  #procurement-panel
  .table-wrap{

    max-height:360px !important;
  }


  .procurement-pager{

    flex-wrap:wrap !important;
  }


  #procurement-page-label{

    order:-1 !important;

    width:100% !important;
  }

}



/* === ANALITICA BAJA ROTACION + SIN VENTA PAGINADA V4.2.3 === */


/* ==================================================
   UN PANEL DEBAJO DEL OTRO
================================================== */

#view-analytics
#analytics-slow-panel,

#view-analytics
#analytics-no-sales-panel{

  grid-column:
    1 / -1 !important;

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;

  align-self:
    start !important;

  padding:
    .85rem !important;
}


/*
  Menor rotación primero.
*/

#view-analytics
#analytics-slow-panel{

  order:
    20 !important;
}


/*
  Sin venta debajo.
*/

#view-analytics
#analytics-no-sales-panel{

  order:
    21 !important;
}


/* ==================================================
   SIN SCROLL HORIZONTAL
================================================== */

#view-analytics
.analytics-page-table{

  width:
    100% !important;

  max-width:
    100% !important;

  overflow-x:
    hidden !important;

  overflow-y:
    visible !important;

  max-height:
    none !important;
}


#view-analytics
.analytics-page-table
table{

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;

  table-layout:
    fixed !important;

  border-collapse:
    collapse !important;
}


#view-analytics
.analytics-page-table
th,

#view-analytics
.analytics-page-table
td{

  white-space:
    normal !important;

  overflow-wrap:
    anywhere !important;

  word-break:
    normal !important;

  vertical-align:
    middle !important;

  padding:
    .58rem .7rem !important;
}


/* ==================================================
   MENOR ROTACIÓN
================================================== */

#analytics-slow-panel
th:nth-child(1),

#analytics-slow-panel
td:nth-child(1){

  width:
    48% !important;
}


#analytics-slow-panel
th:nth-child(2),

#analytics-slow-panel
td:nth-child(2){

  width:
    11% !important;

  text-align:
    center !important;
}


#analytics-slow-panel
th:nth-child(3),

#analytics-slow-panel
td:nth-child(3){

  width:
    11% !important;

  text-align:
    center !important;
}


#analytics-slow-panel
th:nth-child(4),

#analytics-slow-panel
td:nth-child(4){

  width:
    12% !important;

  text-align:
    center !important;
}


#analytics-slow-panel
th:nth-child(5),

#analytics-slow-panel
td:nth-child(5){

  width:
    18% !important;

  text-align:
    right !important;

  white-space:
    nowrap !important;
}


/* ==================================================
   SIN VENTA
================================================== */

#analytics-no-sales-panel
th:nth-child(1),

#analytics-no-sales-panel
td:nth-child(1){

  width:
    52% !important;
}


#analytics-no-sales-panel
th:nth-child(2),

#analytics-no-sales-panel
td:nth-child(2){

  width:
    18% !important;

  text-align:
    center !important;
}


#analytics-no-sales-panel
th:nth-child(3),

#analytics-no-sales-panel
td:nth-child(3){

  width:
    10% !important;

  text-align:
    center !important;
}


#analytics-no-sales-panel
th:nth-child(4),

#analytics-no-sales-panel
td:nth-child(4){

  width:
    20% !important;

  text-align:
    right !important;

  white-space:
    nowrap !important;
}


/* ==================================================
   PAGINADORES
================================================== */

#view-analytics
.analytics-pager{

  display:
    flex !important;

  justify-content:
    center !important;

  align-items:
    center !important;

  gap:
    .75rem !important;

  padding:
    .7rem 0 .1rem !important;
}


#view-analytics
.analytics-pager
span{

  min-width:
    190px !important;

  text-align:
    center !important;

  color:
    var(--muted) !important;

  font-size:
    .72rem !important;

  white-space:
    nowrap !important;
}


#view-analytics
.analytics-pager
button{

  width:
    auto !important;

  min-width:
    90px !important;
}


/* ==================================================
   CELULAR
================================================== */

@media(max-width:760px){

  #view-analytics
  #analytics-slow-panel,

  #view-analytics
  #analytics-no-sales-panel{

    padding:
      .7rem !important;
  }


  #view-analytics
  .analytics-page-table
  th,

  #view-analytics
  .analytics-page-table
  td{

    padding:
      .5rem .38rem !important;

    font-size:
      .68rem !important;
  }


  #view-analytics
  .analytics-pager{

    flex-wrap:
      wrap !important;
  }


  #view-analytics
  .analytics-pager
  span{

    order:
      -1 !important;

    width:
      100% !important;
  }

}



/* === STOCK POR ALMACEN SKU UNA LINEA V4.2.5 === */

/* SKU de Stock por almacén siempre en una sola línea */

#view-stock table th:nth-child(2),
#view-stock table td:nth-child(2){

  white-space:nowrap !important;

  word-break:normal !important;

  overflow-wrap:normal !important;

  min-width:125px !important;

  width:125px !important;

  font-variant-numeric:tabular-nums !important;
}


/* Reducimos un poco otras columnas para darle espacio al SKU */

#view-stock table th:nth-child(1),
#view-stock table td:nth-child(1){

  width:190px !important;
}


#view-stock table th:nth-child(3),
#view-stock table td:nth-child(3){

  width:auto !important;
}


/* La tabla sigue ocupando todo el ancho */

#view-stock table{

  width:100% !important;

  table-layout:auto !important;
}


/* En pantallas pequeñas evitamos romper el SKU */

@media(max-width:760px){

  #view-stock table th:nth-child(2),
  #view-stock table td:nth-child(2){

    white-space:nowrap !important;

    min-width:115px !important;

    width:115px !important;

    font-size:.68rem !important;
  }

}



/* === DASHBOARD MARCAS + ALERTAS V4.2.4 === */


/* =========================================================
   LOS DOS CUADROS DEL MISMO TAMAÑO
========================================================= */

#view-dashboard .dashboard-grid{

  grid-template-columns:
    repeat(
      2,
      minmax(0,1fr)
    ) !important;
}


#dashboard-brand-panel,
#dashboard-alerts-panel{

  grid-column:
    span 1 !important;

  width:
    100% !important;

  height:
    390px !important;

  min-height:
    390px !important;

  max-height:
    390px !important;

  display:
    flex !important;

  flex-direction:
    column !important;

  position:
    relative !important;

  padding:
    1rem 1rem 3.3rem !important;

  box-sizing:
    border-box !important;

  min-width:
    0 !important;
}


/* Movimientos recientes mantiene ancho completo */

#dashboard-recent-panel,
#view-dashboard
.dashboard-grid
> .panel:has(#recent-movements){

  grid-column:
    1 / -1 !important;
}


/* =========================================================
   TÍTULOS
========================================================= */

#dashboard-brand-panel .panel-head,
#dashboard-alerts-panel .panel-head{

  flex:
    0 0 auto !important;

  margin-bottom:
    .55rem !important;
}


#dashboard-brand-panel
.panel-head h3,

#dashboard-alerts-panel
.panel-head h3{

  font-size:
    1.1rem !important;

  font-weight:
    750 !important;
}


/* =========================================================
   MARCAS CON SCROLL
========================================================= */

.dashboard-brand-scroll{

  flex:
    1 1 auto !important;

  min-height:
    0 !important;

  overflow-y:
    auto !important;

  overflow-x:
    hidden !important;

  padding-right:
    .3rem !important;

  scrollbar-gutter:
    stable;
}


#brand-chart{

  display:
    block !important;

  width:
    100% !important;

  max-width:
    100% !important;

  min-width:
    0 !important;
}


/* =========================================================
   ALERTAS CON SCROLL
========================================================= */

#alerts-list.dashboard-alert-scroll{

  flex:
    1 1 auto !important;

  min-height:
    0 !important;

  overflow-y:
    auto !important;

  overflow-x:
    hidden !important;

  padding-right:
    .3rem !important;

  scrollbar-gutter:
    stable;
}


#alerts-list
.dashboard-alert-row{

  width:
    100% !important;

  display:
    grid !important;

  grid-template-columns:
    48px
    minmax(0,1fr) !important;

  gap:
    .75rem !important;

  text-align:
    left !important;

  background:
    transparent !important;

  border:
    1px solid var(--line) !important;

  border-radius:
    12px !important;

  padding:
    .72rem !important;

  margin:
    0 0 .55rem !important;

  color:
    inherit !important;

  cursor:
    pointer !important;
}


#alerts-list
.dashboard-alert-row:hover{

  transform:
    none !important;

  background:
    rgba(
      18,
      122,
      87,
      .05
    ) !important;
}


#alerts-list
.alert-icon{

  width:
    42px !important;

  height:
    42px !important;

  display:
    grid !important;

  place-items:
    center !important;

  font-size:
    1.02rem !important;

  font-weight:
    800 !important;
}


#alerts-list
.dashboard-alert-row
strong{

  display:
    block !important;

  font-size:
    .95rem !important;

  line-height:
    1.2 !important;

  margin-bottom:
    .2rem !important;
}


#alerts-list
.dashboard-alert-row
span{

  display:
    block !important;

  font-size:
    .8rem !important;

  line-height:
    1.3 !important;
}


/* =========================================================
   BOTONES ABAJO A LA DERECHA
========================================================= */

.dashboard-card-actions{

  position:
    absolute !important;

  right:
    1rem !important;

  bottom:
    .8rem !important;

  display:
    flex !important;

  gap:
    .45rem !important;

  z-index:
    2 !important;
}


.dashboard-card-actions
.mini-button{

  width:
    auto !important;

  min-width:
    0 !important;

  padding:
    .42rem .68rem !important;

  font-size:
    .68rem !important;

  border-radius:
    9px !important;
}


/* =========================================================
   MODAL DE DETALLE
========================================================= */

.dashboard-detail-card{

  width:
    min(
      96vw,
      1200px
    ) !important;

  max-width:
    min(
      96vw,
      1200px
    ) !important;
}


.dashboard-detail-toolbar{

  display:
    flex !important;

  align-items:
    center !important;

  gap:
    .7rem !important;

  padding:
    .7rem 0 !important;
}


.dashboard-detail-toolbar
select{

  max-width:
    460px !important;
}


.dashboard-detail-table{

  max-height:
    62vh !important;

  overflow-y:
    auto !important;

  overflow-x:
    hidden !important;
}


.dashboard-detail-table
table{

  width:
    100% !important;

  min-width:
    0 !important;

  table-layout:
    fixed !important;
}


.dashboard-detail-table
th,

.dashboard-detail-table
td{

  white-space:
    normal !important;

  overflow-wrap:
    anywhere !important;

  padding:
    .6rem !important;
}


/* =========================================================
   TABLET / CELULAR
========================================================= */

@media(max-width:900px){

  #view-dashboard
  .dashboard-grid{

    grid-template-columns:
      1fr !important;
  }


  #dashboard-brand-panel,
  #dashboard-alerts-panel{

    grid-column:
      1 / -1 !important;

    height:
      360px !important;

    min-height:
      360px !important;

    max-height:
      360px !important;
  }


  .dashboard-detail-toolbar{

    flex-direction:
      column !important;

    align-items:
      stretch !important;
  }


  .dashboard-detail-toolbar
  select{

    max-width:
      none !important;
  }
}


@media(max-width:680px){

  #dashboard-brand-panel,
  #dashboard-alerts-panel{

    height:
      350px !important;

    min-height:
      350px !important;

    max-height:
      350px !important;

    padding:
      .8rem .8rem 3.2rem !important;
  }


  .dashboard-card-actions{

    right:
      .8rem !important;

    bottom:
      .7rem !important;
  }


  .dashboard-card-actions
  .mini-button{

    font-size:
      .64rem !important;

    padding:
      .38rem .5rem !important;
  }
}






/* AE-ORIGEN-ALINEADO-V1 START */

/*
  REPOSICIÓN > ORIGEN

  El encabezado queda centrado.
  Los nombres pueden ocupar dos líneas,
  pero ambas empiezan exactamente
  desde el mismo punto.
*/

/* Encabezado ORIGEN */
#view-replenishment table th:nth-child(13) {
    text-align: center !important;
    vertical-align: middle !important;
    white-space: nowrap !important;

    font-size: 9px !important;
}

/* Celda ORIGEN */
#view-replenishment table td:nth-child(13) {
    width: 115px !important;
    min-width: 115px !important;
    max-width: 115px !important;

    padding-left: 8px !important;
    padding-right: 5px !important;

    text-align: left !important;
    vertical-align: middle !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    font-size: 8.5px !important;
    line-height: 1.2 !important;
}

/*
  Cualquier elemento interno también
  queda alineado desde el mismo borde.
*/
#view-replenishment table td:nth-child(13) > *,
#view-replenishment table td:nth-child(13) span,
#view-replenishment table td:nth-child(13) div,
#view-replenishment table td:nth-child(13) strong {
    display: block !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    font-size: 8.5px !important;
    line-height: 1.2 !important;

    transform: none !important;
    text-indent: 0 !important;
}

/* AE-ORIGEN-ALINEADO-V1 END */


/* AE-REPLENISHMENT-SOLICITADO-V2 START */

/*
  REPOSICIÓN Y COMPRAS
  SOLICITADO = columna 11
  Mantener encabezado en UNA sola línea.
*/

#view-replenishment table th:nth-child(11) {
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    font-size: 9px !important;
    letter-spacing: 0 !important;

    min-width: 74px !important;
    width: 74px !important;

    padding-left: 2px !important;
    padding-right: 2px !important;

    transform: none !important;
    box-shadow: none !important;
}

/* Valores de SOLICITADO */
#view-replenishment table td:nth-child(11) {
    white-space: nowrap !important;
    min-width: 74px !important;
    width: 74px !important;

    padding-left: 2px !important;
    padding-right: 2px !important;

    transform: none !important;
    box-shadow: none !important;
}

/*
  TRÁNSITO: impedir que aparezca separación blanca
  entre ambas columnas.
*/
#view-replenishment table th:nth-child(12),
#view-replenishment table td:nth-child(12) {
    box-shadow: none !important;
    border-left-color: transparent !important;
}

/* AE-REPLENISHMENT-SOLICITADO-V2 END */


/* AE-REP-STORE-DEFINITIVO START */

/*
   TIENDA - REPOSICIÓN
   Dos líneas REALES creadas desde JS.
*/

#view-replenishment
#replenishment-table
.rep-store {
    text-align: left !important;
    vertical-align: middle !important;

    padding-left: 5px !important;
    padding-right: 3px !important;

    white-space: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    transform: none !important;
}


/*
   Nombre completo.
   Las dos líneas comienzan exactamente
   desde el mismo punto.
*/
#view-replenishment
#replenishment-table
.rep-store-name {
    display: block !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;
    padding: 0 !important;

    text-align: left !important;

    font-size: .56rem !important;
    font-weight: 650 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.05px !important;

    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;

    overflow: visible !important;
    text-overflow: clip !important;

    transform: none !important;
    text-indent: 0 !important;
}


/*
   Evitar que reglas generales de la tabla
   vuelvan a cortar el texto.
*/
#view-replenishment
#replenishment-table
td.rep-store strong.rep-store-name {
    display: block !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
}

/* AE-REP-STORE-DEFINITIVO END */


/* ============================================================
   CONFIRMACIÓN DE ELIMINACIÓN
   ============================================================ */

.delete-confirm-card{
  width:min(460px,calc(100vw - 28px));
  max-width:460px;
}

.delete-confirm-body{
  padding:24px;
  text-align:center;
}

.delete-confirm-icon{
  width:54px;
  height:54px;
  margin:0 auto 16px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:26px;
  font-weight:900;
  color:#b42318;
  background:rgba(180,35,24,.10);
  border:1px solid rgba(180,35,24,.18);
}

.delete-confirm-subject{
  margin:0 0 8px;
  font-size:18px;
  line-height:1.35;
  font-weight:800;
  overflow-wrap:anywhere;
}

.delete-confirm-note{
  margin-top:18px;
  padding:12px 14px;
  border-radius:12px;
  background:var(--soft-bg,#f3f8f5);
  border:1px solid var(--border,#dbe7e1);
  font-size:13px;
  line-height:1.45;
}

.delete-confirm-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:0 24px 24px;
}

.delete-confirm-actions button{
  min-height:46px;
}

@media (max-width:520px){

  .delete-confirm-body{
    padding:20px;
  }

  .delete-confirm-actions{
    padding:0 20px 20px;
  }
}



/* AE TOP GAP FIX V4.4.13 */
html,
body{
  margin-top:0 !important;
  padding-top:0 !important;
}

body{
  margin-block-start:0 !important;
}

/*
  Se aplica a escritorio, tablet y móvil.
  No depende de ningún breakpoint.
*/
@media (max-width:1400px){
  html,
  body{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

@media (max-width:900px){
  html,
  body{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}

@media (max-width:600px){
  html,
  body{
    margin-top:0 !important;
    padding-top:0 !important;
  }
}



/* AE SYSTEM DIALOG V4.4.20 */

#ae-system-dialog{
  z-index:100000 !important;
}

#ae-system-dialog .ae-system-dialog-card{
  width:min(520px,calc(100vw - 30px));
  max-width:520px;
  overflow:hidden;
}

.ae-system-dialog-body{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:22px;
}

.ae-system-dialog-icon{
  width:42px;
  height:42px;
  min-width:42px;
  border-radius:14px;
  display:flex;
  justify-content:center;
  align-items:center;
  font-weight:800;
  font-size:18px;
  background:rgba(11,120,82,.10);
  border:1px solid rgba(11,120,82,.18);
  color:#087a55;
}

.ae-dialog-danger .ae-system-dialog-icon{
  background:rgba(183,48,48,.10);
  border-color:rgba(183,48,48,.20);
  color:#b73030;
}

.ae-system-dialog-copy{
  flex:1;
  min-width:0;
}

.ae-system-dialog-message{
  margin:2px 0 8px;
  font-size:15px;
  line-height:1.45;
  font-weight:700;
}

#ae-system-dialog-detail{
  margin:0;
  line-height:1.55;
}

#ae-system-dialog-input-wrap{
  margin-top:14px;
}

#ae-system-dialog-input{
  width:100%;
}

.ae-system-dialog-actions{
  justify-content:flex-end;
  gap:10px;
  padding:14px 20px 18px;
}

.ae-system-dialog-actions button{
  min-width:120px;
}

@media(max-width:600px){

  #ae-system-dialog .ae-system-dialog-card{
    width:calc(100vw - 24px);
  }

  .ae-system-dialog-body{
    padding:18px 16px;
  }

  .ae-system-dialog-actions{
    display:grid;
    grid-template-columns:1fr;
    padding:12px 16px 16px;
  }

  .ae-system-dialog-actions button{
    width:100%;
  }

}


/* AE NOTIFICATIONS V4.4.21 */
.notification-center{position:relative;display:inline-flex;align-items:center}
.notification-bell{position:relative;width:40px;height:40px;border:1px solid var(--border,#dbe7e1);border-radius:12px;background:var(--panel,#fff);cursor:pointer;font-size:18px;display:grid;place-items:center}
#notification-count{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#b42318;color:#fff;font-size:11px;font-weight:800;line-height:20px;text-align:center}
.notification-panel{position:absolute;right:0;top:48px;width:min(390px,calc(100vw - 24px));max-height:520px;overflow:hidden;background:var(--panel,#fff);border:1px solid var(--border,#dbe7e1);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.18);z-index:100500}
.notification-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px;border-bottom:1px solid var(--border,#dbe7e1)}
.notification-list{max-height:445px;overflow:auto;padding:8px}
.notification-item{width:100%;display:flex;gap:10px;text-align:left;padding:11px;border:0;border-radius:12px;background:transparent;cursor:pointer;color:inherit}
.notification-item:hover{background:rgba(15,118,82,.07)}
.notification-item.unread{background:rgba(15,118,82,.09)}
.notification-item.urgent.unread{background:rgba(180,35,24,.09)}
.notification-dot{width:9px;height:9px;min-width:9px;margin-top:6px;border-radius:50%;background:#98a2b3}
.notification-item.unread .notification-dot{background:#12805c}
.notification-item.urgent.unread .notification-dot{background:#b42318}
.notification-copy{display:grid;gap:3px;min-width:0}
.notification-copy strong,.notification-copy small{overflow-wrap:anywhere}
.notification-copy time{font-size:11px;opacity:.65}
.notification-empty{padding:24px;text-align:center;opacity:.7}
.supplier-payable-kpis{margin-bottom:16px}
@media(max-width:600px){
  .notification-panel{position:fixed;left:12px;right:12px;top:70px;width:auto;max-height:70vh}
  .notification-list{max-height:calc(70vh - 60px)}
}
