:root{
  --bg:#f2f5f9;--panel:#fff;--panel-soft:#f8faff;--ink:#142033;--muted:#667085;--line:#dfe6ef;
  --nav:#101a2c;--nav2:#182943;--brand:#b98900;--brand2:#936b00;--brand-soft:#fff7dc;
  --ok:#147a55;--ok-soft:#e8f7ef;--warn:#a46208;--warn-soft:#fff4df;--danger:#b83232;--danger-soft:#fff0ef;
  --radius:16px;--radius-sm:10px;--shadow:0 12px 34px rgba(20,32,51,.08);--shadow-deep:0 20px 45px rgba(17,27,43,.14)
}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);scroll-behavior:smooth}body{margin:0;font-size:14px;line-height:1.45}body.menu-open{overflow:hidden}
a{color:var(--brand);text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}code{font-family:"SFMono-Regular",Consolas,monospace;font-size:.92em;background:#f3f5f8;border:1px solid #e5e9ef;padding:2px 5px;border-radius:6px}
.shell{min-height:100vh;display:grid;grid-template-columns:264px 1fr}.sidebar{background:linear-gradient(180deg,#13213a 0%,#0d1727 60%,#0a1321 100%);color:#dbe5f3;padding:19px 14px 15px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;z-index:60;box-shadow:9px 0 30px rgba(7,14,26,.11)}
.brand{display:flex;align-items:center;gap:11px;padding:4px 5px 14px}.brand strong{display:block;font-size:16px;letter-spacing:-.2px}.brand small{display:block;color:#8fa3bd;font-size:11px;margin-top:2px}.brand-mark{width:42px;height:42px;border-radius:13px;background:linear-gradient(145deg,#fff,#dce5f5);color:#14223a;display:grid;place-items:center;font-weight:900;letter-spacing:-1px;box-shadow:0 8px 18px rgba(0,0,0,.18)}.brand-copy{min-width:0;flex:1}.sidebar-close{display:none;width:34px;height:34px;border:0;border-radius:10px;background:rgba(255,255,255,.08);color:#fff;font-size:22px;line-height:1}
.nav{margin:9px 0 18px;display:flex;flex-direction:column;gap:4px;overflow:auto;padding:4px 3px 14px}.nav-section{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#7388a5;font-weight:800;padding:14px 12px 4px}.nav a{color:#c7d3e3;padding:9px 10px;border-radius:11px;display:flex;align-items:center;gap:10px;font-weight:620;border:1px solid transparent;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease}.nav a:hover{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.06);color:#fff;transform:translateX(2px)}.nav a.active{background:linear-gradient(135deg,rgba(20,184,139,.24),rgba(10,155,120,.16));border-color:rgba(71,211,169,.24);color:#fff;box-shadow:inset 3px 0 0 #3dd6ad,0 7px 20px rgba(0,0,0,.12)}.nav-glyph{width:27px;height:27px;border-radius:8px;background:rgba(255,255,255,.07);display:grid;place-items:center;font-size:13px;color:#bcefe1;flex:0 0 auto}.nav a.active .nav-glyph{background:rgba(255,255,255,.14);color:#fff}
.sidebar-user{margin-top:auto;border-top:1px solid #253751;padding:15px 5px 2px}.user-chip{display:flex;align-items:center;gap:10px;margin-bottom:11px}.user-chip strong,.user-chip small{display:block}.user-chip small{color:#91a3ba;font-size:11px;margin-top:2px}.user-avatar{width:34px;height:34px;border-radius:50%;background:linear-gradient(145deg,#22b78f,#936b00);display:grid;place-items:center;color:#fff;font-weight:850;box-shadow:0 6px 16px rgba(0,0,0,.2)}.sidebar-action{width:100%;border:0;background:transparent;color:#b8c7da;padding:8px 9px;border-radius:9px;display:flex;align-items:center;gap:9px;text-align:left;font-weight:600}.sidebar-action:hover{background:rgba(255,255,255,.07);color:#fff}.logout-action{color:#f1b7b7}.sidebar-backdrop{display:none}
.main{min-width:0}.topbar{height:86px;background:rgba(255,255,255,.93);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:14px 30px;display:flex;align-items:center;gap:14px;position:sticky;top:0;z-index:40;box-shadow:0 5px 18px rgba(20,32,51,.035)}.topbar h1{font-size:21px;margin:0;letter-spacing:-.3px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:12px}.topbar-copy{flex:1}.topbar-status{display:flex;align-items:center;gap:7px;color:#68778d;font-size:12px;font-weight:650;background:#f7f9fc;border:1px solid var(--line);border-radius:999px;padding:7px 11px}.topbar-status span{width:8px;height:8px;background:#26a269;border-radius:50%;box-shadow:0 0 0 4px rgba(38,162,105,.11)}.icon-button{display:none;width:40px;height:40px;border:1px solid var(--line);background:#fff;border-radius:11px;padding:10px;box-shadow:0 5px 16px rgba(20,32,51,.07)}.icon-button span{display:block;height:2px;background:#27364b;border-radius:4px;margin:3px 0}.content{padding:25px 30px 44px;max-width:1680px;margin:auto;animation:viewIn .2s ease}
@keyframes viewIn{from{opacity:.35;transform:translateY(3px)}to{opacity:1;transform:none}}
.panel{background:linear-gradient(180deg,#fff,#fefeff);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}.panel-head h2,.panel h2{font-size:16px;margin:0;letter-spacing:-.2px}.panel-head p{margin:4px 0 0;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.kpi-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.kpi{position:relative;overflow:hidden;background:linear-gradient(145deg,#fff 20%,#f8faff);border:1px solid var(--line);border-radius:var(--radius);padding:19px;box-shadow:var(--shadow)}.kpi:after{content:"";position:absolute;right:-26px;top:-30px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(10,155,120,.12),transparent 68%)}.kpi span{display:block;color:var(--muted);font-size:12px;font-weight:650}.kpi strong{display:block;font-size:25px;margin-top:7px;letter-spacing:-.6px}.kpi.warn{border-color:#f0d4a7;background:linear-gradient(145deg,#fff,#fffaf0)}.grid-2{display:grid;grid-template-columns:1.4fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.page-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-bottom:14px}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:10px;padding:9px 14px;font-weight:750;min-height:39px;box-shadow:0 4px 10px rgba(20,32,51,.08);transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(20,32,51,.12)}.btn:active{transform:translateY(1px);box-shadow:0 2px 7px rgba(20,32,51,.08)}.btn-primary{background:linear-gradient(180deg,#3d64e0,#294fc7);color:#fff;border-color:#2749b8}.btn-primary:hover{background:linear-gradient(180deg,#496fe7,#2548b9)}.btn-secondary{background:linear-gradient(180deg,#fff,#f4f6f9);border-color:#d6dee8;color:var(--ink)}.btn-excel{background:linear-gradient(180deg,#18885a,#106b45);border-color:#0e603e;color:#fff}.btn-danger{background:linear-gradient(180deg,#c94d4d,#a92f2f);border-color:#9c2b2b;color:#fff}.btn-wide{width:100%}.btn-large{padding:11px 18px}
.filter-bar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;background:linear-gradient(180deg,#fff,#fbfcfe);border:1px solid var(--line);padding:15px;border-radius:var(--radius);margin-bottom:16px;box-shadow:0 6px 20px rgba(20,32,51,.045)}.field{min-width:160px}.grow{flex:1;min-width:220px}.filter-actions{display:flex;gap:8px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-grid.compact{margin-top:15px}.span-2{grid-column:span 2}label{font-weight:700;font-size:12px;color:#344054}label small{font-weight:400;color:var(--muted)}input,select,textarea{width:100%;border:1px solid #c9d3df;border-radius:10px;padding:9px 10px;background:#fff;color:var(--ink);outline:none;margin-top:6px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}input:hover,select:hover,textarea:hover{border-color:#aebccd}input:focus,select:focus,textarea:focus{border-color:#6d8be8;box-shadow:0 0 0 3px rgba(10,155,120,.11);background:#fff}textarea{min-height:90px;resize:vertical}.check{display:flex;gap:8px;align-items:center;font-weight:500}.check input{width:auto;margin:0}.inline-check{padding-bottom:9px}.form-actions{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:16px}
.table-wrap{overflow:auto;max-height:min(64vh,650px);position:relative;padding:0!important;scrollbar-gutter:stable}.table-wrap>.panel-head{padding:15px 18px 0;margin-bottom:12px}.table-wrap>.list-summary{height:43px;position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:flex-end;gap:7px;padding:0 13px;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);border-bottom:1px solid #e9edf3;color:#59677b;font-size:11px;font-weight:750;letter-spacing:.02em}.list-summary-dot{width:7px;height:7px;border-radius:50%;background:#5e7de2;box-shadow:0 0 0 4px rgba(94,125,226,.1)}.table-wrap.loading-more .list-summary-dot{animation:pulseDot .7s infinite alternate}@keyframes pulseDot{to{transform:scale(1.55);opacity:.45}}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:760px}th,td{text-align:left;padding:11px 12px;border-bottom:1px solid #edf0f4;vertical-align:middle}th{font-size:10.5px;text-transform:uppercase;letter-spacing:.055em;color:#667085;background:#f8fafc}.table-wrap th{position:sticky;top:43px;z-index:6;box-shadow:0 1px 0 #e8edf3}tbody tr{transition:background .12s ease}tbody tr:hover{background:#f7f9ff}.actions{white-space:nowrap}.actions>*{margin-right:9px}.inline{display:inline}.subline{display:block;color:var(--muted);font-size:11px;margin-top:3px}.badge{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;background:#eef1f5;color:#536071;border:1px solid rgba(0,0,0,.025)}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger)}.badge.muted{background:#eef1f5}.positive{color:var(--ok);font-weight:750}.negative{color:var(--danger);font-weight:750}.link-button,.link-danger{border:0;background:none;padding:3px 0;color:var(--brand);font-weight:700}.link-danger{color:var(--danger)}
.flash-message{padding:12px 14px;border-radius:10px;margin-bottom:14px}.flash-message.success{background:var(--ok-soft);color:#11633f}.flash-message.warning{background:var(--warn-soft);color:#7a5200}.flash-message.error{background:var(--danger-soft);color:#8c2525}.hidden{display:none!important}.rank-list>div{display:grid;grid-template-columns:30px 1fr auto;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}.rank-num{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:linear-gradient(145deg,#eff3ff,#e3eaff);color:var(--brand);font-weight:850}
.bar-chart{height:310px;display:flex;align-items:flex-end;gap:10px;padding:30px 15px 8px;border-bottom:1px solid var(--line);overflow-x:auto;overflow-y:visible;scrollbar-width:thin}.bar-item{position:relative;appearance:none;border:0;background:transparent;padding:0;flex:1 0 34px;min-width:34px;max-width:82px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:7px;overflow:visible}.bar-svg{width:78%;min-width:25px;height:calc(100% - 46px);overflow:visible;filter:drop-shadow(3px 6px 4px rgba(28,48,105,.18));transition:transform .18s ease,filter .18s ease}.bar-item:hover .bar-svg,.bar-item:focus .bar-svg{transform:translateY(-4px) scale(1.025);filter:drop-shadow(5px 9px 6px rgba(28,48,105,.24))}.bar-front{stroke-width:.45}.bar-top,.bar-side{shape-rendering:geometricPrecision}.bar-label{font-size:9.5px;color:#67748a;max-width:72px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar-item:after{content:attr(data-tooltip);pointer-events:none;position:absolute;left:50%;bottom:calc(100% - 13px);transform:translate(-50%,8px);opacity:0;z-index:20;min-width:150px;max-width:260px;padding:8px 10px;border-radius:9px;background:#101827;color:#fff;font-size:11px;line-height:1.35;text-align:left;box-shadow:0 10px 28px rgba(9,17,31,.24);transition:opacity .14s ease,transform .14s ease;white-space:normal}.bar-item:hover:after,.bar-item:focus:after{opacity:1;transform:translate(-50%,0)}.chart-empty{margin:auto;color:var(--muted);font-size:12px}.chart-panel{overflow:visible}.chart-panel .panel-head{margin-bottom:2px}
.remote-picker{position:relative}.picker-results{position:absolute;z-index:30;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:0 16px 42px rgba(17,27,43,.18);max-height:290px;overflow:auto;display:none}.picker-results.open{display:block}.picker-item{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid var(--line);background:#fff;width:100%;text-align:left;cursor:pointer}.picker-item:hover{background:#f6f8fc}.picker-item small{display:block;color:var(--muted)}.picker-selection{display:block;color:var(--brand);margin-top:6px}.transaction-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:20px}.cart-table input{width:90px;margin:0}.checkout{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:18px;border-top:1px solid var(--line);padding-top:16px}.checkout>div:first-child{margin-right:auto;color:var(--muted);max-width:420px}.checkout-total{text-align:right}.checkout-total small,.checkout-total strong{display:block}.checkout-total strong{font-size:23px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.detail-grid small,.detail-grid strong{display:block}.detail-grid small{color:var(--muted);font-size:11px}.detail-grid strong{margin-top:4px}.totals-card>div{display:flex;justify-content:space-between;padding:8px 0}.totals-card .grand{border-top:1px solid var(--line);margin-top:7px;padding-top:14px;font-size:18px}.danger-zone{border-color:#efc5c3;background:linear-gradient(180deg,#fff,#fffafa)}.inline-form{display:flex;gap:10px}.inline-form input{margin:0;flex:1}.qty-small{width:80px;margin:0}.collapsible{display:none}.collapsible.open{display:block}
.guide-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#14284a 0%,#294b99 58%,#4168da 100%);color:#fff;border:0;box-shadow:0 18px 42px rgba(25,55,130,.22);padding:28px}.guide-hero:after{content:"?";position:absolute;right:26px;top:-25px;font-size:150px;line-height:1;color:rgba(255,255,255,.07);font-weight:900}.guide-hero h2{font-size:24px;margin-bottom:7px}.guide-hero p{max-width:800px;margin:0;color:#dce6ff}.guide-hero .guide-role{display:inline-flex;margin-top:15px;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-weight:750;font-size:11px}.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.guide-card{padding:0;overflow:hidden}.guide-card-head{padding:18px 20px;background:linear-gradient(180deg,#fbfcff,#f6f8fd);border-bottom:1px solid var(--line)}.guide-card-head h2{margin:0}.guide-card-head p{margin:5px 0 0;color:var(--muted);font-size:12px}.guide-steps{padding:8px 20px 18px}.guide-step{padding:13px 0;border-bottom:1px solid #edf0f4}.guide-step:last-child{border-bottom:0}.guide-step h3{font-size:13px;margin:0 0 5px}.guide-step p{margin:0 0 8px;color:#4f5d70}.guide-fields{display:grid;gap:6px}.guide-field{display:grid;grid-template-columns:minmax(105px,.7fr) 1.5fr;gap:10px;font-size:11px;padding:7px 9px;background:#f8faff;border:1px solid #e8edf6;border-radius:8px}.guide-field strong{color:#26364d}.guide-required{color:#b83232;font-weight:800}.guide-example{color:#6b7280}
.audit-action{font-weight:750;color:#263c77}.audit-summary{max-width:520px;color:#455468;line-height:1.5}
.toast-stack{position:fixed;top:98px;right:22px;z-index:720;display:flex;flex-direction:column;gap:10px;width:min(390px,calc(100vw - 30px));pointer-events:none}.toast{pointer-events:auto;display:grid;grid-template-columns:36px 1fr 24px;gap:10px;align-items:start;background:rgba(255,255,255,.98);border:1px solid var(--line);border-radius:14px;padding:13px 13px 13px 11px;box-shadow:0 18px 46px rgba(17,27,43,.2);transform:translateX(28px);opacity:0;transition:transform .2s ease,opacity .2s ease}.toast.show{transform:none;opacity:1}.toast-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--ok-soft);color:var(--ok);font-weight:900;font-size:17px}.toast.error .toast-icon{background:var(--danger-soft);color:var(--danger)}.toast.warning .toast-icon{background:var(--warn-soft);color:var(--warn)}.toast strong{display:block;font-size:12px;margin:1px 0 3px}.toast p{margin:0;color:#546176;font-size:12px;line-height:1.4}.toast-close{border:0;background:transparent;color:#7d8999;font-size:18px;line-height:1;padding:1px}
.app-loader{position:fixed;inset:0;z-index:300;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .12s ease}.app-loader.active{opacity:1;visibility:visible}.app-loader-bar{height:3px;width:100%;background:linear-gradient(90deg,transparent,#b98900,#8aa2ff,transparent);background-size:220% 100%;animation:loaderBar .75s linear infinite}.app-loader-pill{position:absolute;top:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;background:rgba(14,24,42,.92);color:#fff;font-size:11px;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.18)}.loader-spinner{width:13px;height:13px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loaderBar{to{background-position:-220% 0}}
.auth-shell{min-height:100vh;background:radial-gradient(circle at 15% 15%,#fff0be,transparent 30%),linear-gradient(145deg,#fff7dc,#f7f9fc 60%,#edf4f3)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:min(430px,100%);background:rgba(255,255,255,.97);padding:30px;border:1px solid var(--line);border-radius:20px;box-shadow:0 25px 70px rgba(17,27,43,.13)}.login-brand{margin-bottom:30px}.login-brand .brand-mark{background:var(--nav);color:#fff}.login-card h1{margin:0 0 7px}.login-card>p{color:var(--muted);margin:0 0 20px}.stack-form{display:flex;flex-direction:column;gap:14px}.demo-note{margin-top:22px;border-top:1px solid var(--line);padding-top:15px;color:var(--muted);font-size:11px;display:grid;gap:4px}.demo-note strong{color:var(--ink)}.error-page{min-height:100vh;display:grid;place-items:center;padding:20px}.error-card{max-width:520px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:var(--shadow)}
@media(max-width:1200px){.transaction-layout{grid-template-columns:1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.grid-2,.grid-3{grid-template-columns:1fr}}
@media(max-width:860px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-285px;width:270px;transition:left .2s ease}.sidebar.open{left:0}.sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;inset:0;border:0;background:rgba(8,15,27,.42);backdrop-filter:blur(2px);z-index:55;opacity:0;visibility:hidden;transition:.18s}.menu-open .sidebar-backdrop{opacity:1;visibility:visible}.icon-button{display:block}.topbar{padding:12px 16px}.topbar-status{display:none}.content{padding:18px 14px 34px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:span 1}.guide-grid{grid-template-columns:1fr}.kpi-grid,.kpi-grid.three{grid-template-columns:1fr 1fr}.filter-bar{align-items:stretch}.filter-bar .field{width:100%}.filter-actions{width:100%}.filter-actions .btn{flex:1}.checkout{flex-wrap:wrap}.inline-form{flex-direction:column}.toast-stack{top:72px;right:12px}.table-wrap{max-height:62vh}}
@media(max-width:540px){.kpi-grid,.kpi-grid.three{grid-template-columns:1fr}.page-actions .btn{flex:1}.detail-grid{grid-template-columns:1fr}.login-card{padding:22px}.guide-field{grid-template-columns:1fr}.bar-chart{height:270px}.content{padding-left:10px;padding-right:10px}}
.alert{padding:11px 13px;border-radius:10px;margin-top:12px;border:1px solid var(--line);font-size:12px}.alert.error{background:var(--danger-soft);border-color:#efc5c3;color:#8c2525}.alert.success{background:var(--ok-soft);border-color:#bfe4d2;color:#11633f}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* UX polish v1.5 */
.flash-message[data-toast]{display:none!important}
.table-wrap td.actions,.table-wrap td:last-child{white-space:nowrap}
.table-wrap td.actions>a,.table-wrap td.actions>.link-button,.table-wrap td.actions>.link-danger,
.table-wrap td:last-child>a:not(.plain-link),.table-wrap td:last-child>.link-button,.table-wrap td:last-child>.link-danger{
    display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:5px 10px;margin:2px 3px 2px 0;
    border:1px solid #d9e0ed;border-radius:9px;background:linear-gradient(180deg,#fff,#f5f7fb);color:#27417c;
    box-shadow:0 2px 7px rgba(31,55,105,.08);font-size:11px;font-weight:780;text-decoration:none;transition:.16s ease;
}
.table-wrap td.actions>a:hover,.table-wrap td:last-child>a:not(.plain-link):hover,.table-wrap .link-button:hover{
    border-color:#b9c7eb;background:linear-gradient(180deg,#f8faff,#edf2ff);transform:translateY(-1px);box-shadow:0 5px 12px rgba(31,55,105,.12)
}
.table-wrap .link-danger,.table-wrap td:last-child>.link-danger{color:#a32929;border-color:#efc8c8;background:linear-gradient(180deg,#fffafa,#fff2f2)}
.table-wrap .link-danger:hover,.table-wrap td:last-child>.link-danger:hover{border-color:#e6a7a7;background:#ffeaea}
.sidebar-bottom .sidebar-action{border:1px solid rgba(255,255,255,.075);border-radius:10px;margin:3px 10px;padding:9px 11px;background:rgba(255,255,255,.035);transition:.16s ease}
.sidebar-bottom .sidebar-action:hover{background:rgba(255,255,255,.085);border-color:rgba(255,255,255,.13);transform:translateX(2px)}
.bar-chart{background:repeating-linear-gradient(to top,rgba(67,88,145,.055) 0,rgba(67,88,145,.055) 1px,transparent 1px,transparent 52px),linear-gradient(180deg,#fbfcff 0%,#fff 100%);border:1px solid #e7ebf4;border-radius:14px;perspective:900px}
.bar-item{transform-style:preserve-3d}

/* UX refinements v1.6 */
.field-label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.field-state{display:inline-flex;align-items:center;min-height:19px;padding:2px 7px;border-radius:999px;font-size:9px;line-height:1;font-weight:850;letter-spacing:.025em;text-transform:uppercase;vertical-align:middle}.field-state.required{background:#fff0ef;color:#a62d2d;border:1px solid #f2cecb}.field-state.optional{background:#f1f4f8;color:#647184;border:1px solid #e0e6ee}.field-state.conditional{background:#fff7e8;color:#8a5a10;border:1px solid #efd7aa}.field-help{display:block;margin-top:5px;color:#748196;font-size:10.5px;font-weight:500;line-height:1.35}.form-note{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 12px;border:1px solid #e4eaf3;border-radius:11px;background:#f8faff;color:#66748a;font-size:11px}.required-key,.optional-key{display:inline-flex;align-items:center;gap:5px;font-weight:750;color:#48576d}.field-dot{width:7px;height:7px;border-radius:50%}.field-dot.required{background:#d44b4b}.field-dot.optional{background:#8794a8}

.filter-bar{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:end}.filter-bar>.field{grid-column:span 2;min-width:0;width:auto}.filter-bar>.field.grow{grid-column:span 4;min-width:0}.filter-bar>label:not(.field){grid-column:span 2;min-width:0}.filter-bar>.inline-check{align-self:end;min-height:39px;padding:0 4px 9px}.filter-bar>.filter-actions{grid-column:span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-self:end}.filter-bar>.filter-actions .btn{width:100%;white-space:nowrap}.filter-bar input,.filter-bar select,.filter-bar .combo-input{min-height:40px}

.combo-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;margin:0!important;padding:0!important;border:0!important}.combo-select{position:relative;margin-top:6px}.combo-input{margin:0!important;padding-right:38px!important}.combo-toggle{position:absolute;right:5px;top:5px;width:30px;height:30px;border:0;border-radius:8px;background:#f2f5fa;color:#52627a;font-size:18px;line-height:1}.combo-toggle:hover{background:#e8edf6}.combo-results{position:absolute;z-index:90;left:0;right:0;top:calc(100% + 6px);display:none;max-height:280px;overflow:auto;background:#fff;border:1px solid #d8e0ea;border-radius:11px;box-shadow:0 18px 45px rgba(17,27,43,.18);padding:5px}.combo-results.open{display:block}.combo-option{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:8px;color:#26364c;font-size:12px}.combo-option:hover,.combo-option.selected{background:#fff7dc;color:#936b00}.combo-option.selected{font-weight:800}.combo-empty{padding:10px;color:#7a8798;font-size:11px}

.sale-sidebar-form{align-self:start}.compact-head{margin-bottom:12px}.sale-meta-grid,.sale-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.sale-payment-grid{margin-top:16px;padding-top:16px;border-top:1px solid #e8edf4}.sale-customer-box{margin-top:17px;border:1px solid #dfe6ef;border-radius:14px;background:linear-gradient(180deg,#fbfcff,#fff);padding:14px}.sale-customer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px}.sale-customer-head strong,.sale-customer-head small{display:block}.sale-customer-head small{margin-top:2px;color:#758196;font-size:10.5px}.customer-current{display:inline-flex;max-width:48%;padding:5px 9px;border-radius:999px;background:#fff7dc;color:#b98900;font-size:10.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.customer-mode-switch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.customer-mode{border:1px solid #d9e1ec;border-radius:9px;background:#fff;color:#526178;min-height:36px;padding:6px 7px;font-size:10.5px;font-weight:750}.customer-mode:hover{background:#f7f9fd}.customer-mode.active{background:linear-gradient(180deg,#f2bc0a,#c99500);border-color:#9b7100;color:#fff;box-shadow:0 5px 12px rgba(10,155,120,.16)}.customer-panel{margin-top:12px}.customer-selected{position:relative;margin-top:9px;padding:10px 70px 10px 11px;border:1px solid #cfdaf3;border-radius:10px;background:#f4f7ff}.customer-selected strong,.customer-selected span{display:block}.customer-selected strong{font-size:12px}.customer-selected span{font-size:10.5px;color:#6d7a8d;margin-top:2px}.customer-selected button{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#e5ecff;color:#b98900;border-radius:8px;padding:5px 8px;font-size:10px;font-weight:800}.customer-result{grid-template-columns:1fr auto}.customer-pick-label{align-self:center;color:#b98900;font-size:10px;font-weight:850}.quick-customer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.quick-customer-grid .quick-name,.quick-customer-grid .quick-email{grid-column:span 2}.customer-fast-note{padding-top:7px}.cart-table-wrap>.list-summary{display:none}.cart-table-wrap th{top:0}

.guide-toc{padding:17px 18px}.guide-toc-head{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:12px}.guide-toc h2{margin:0;font-size:15px}.guide-toc p{margin:2px 0 0;color:var(--muted);font-size:11px}.guide-toc-links{display:flex;flex-wrap:wrap;gap:7px}.guide-toc-links a{display:inline-flex;padding:6px 9px;border-radius:9px;border:1px solid #dce4ef;background:#f8faff;color:#b98900;font-size:10.5px;font-weight:750}.guide-toc-links a:hover{background:#fff7dc;border-color:#c9d6f4}.guide-anchor{scroll-margin-top:105px}.guide-faq-list,.guide-glossary{display:grid;gap:9px}.guide-faq-item,.guide-glossary-item{border:1px solid #e3e9f1;border-radius:11px;background:#fbfcfe;padding:11px 12px}.guide-faq-item strong,.guide-glossary-item strong{display:block;color:#263a68}.guide-faq-item p,.guide-glossary-item p{margin:4px 0 0;color:#56657a;font-size:11.5px}.guide-glossary{grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1180px){.filter-bar{grid-template-columns:repeat(6,minmax(0,1fr))}.filter-bar>.field{grid-column:span 2}.filter-bar>.field.grow{grid-column:span 3}.filter-bar>label:not(.field){grid-column:span 2}.filter-bar>.filter-actions{grid-column:span 3}.sale-meta-grid,.sale-payment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.filter-bar{grid-template-columns:1fr}.filter-bar>.field,.filter-bar>.field.grow,.filter-bar>label:not(.field),.filter-bar>.filter-actions{grid-column:1}.filter-bar>.filter-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.sale-meta-grid,.sale-payment-grid,.quick-customer-grid{grid-template-columns:1fr}.quick-customer-grid .quick-name,.quick-customer-grid .quick-email{grid-column:1}.customer-mode-switch{grid-template-columns:1fr}.sale-customer-head{align-items:center}.customer-current{max-width:52%}.guide-glossary{grid-template-columns:1fr}}
@media(min-width:1201px){.transaction-layout{grid-template-columns:minmax(440px,480px) minmax(0,1fr)}}
@media(min-width:1181px){.filter-bar>.filter-actions{grid-column:11/13}}


/* Brand identity v1.6 */
.brand-logo-mark{width:44px;height:44px;object-fit:contain;flex:0 0 44px;filter:drop-shadow(0 8px 16px rgba(0,0,0,.2))}.login-brand{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:27px;padding:0}.login-logo{display:block;width:min(310px,86%);height:auto;object-fit:contain}.login-brand small{display:block;color:#667085;font-size:11px;font-weight:650;letter-spacing:.02em;margin-left:3px}.sidebar-head .brand-copy strong{font-size:16px}.sidebar-head .brand-copy small{color:#94a9bd}
@media(max-width:540px){.login-logo{width:min(280px,92%)}.brand-logo-mark{width:40px;height:40px;flex-basis:40px}}

/* v1.7 UX: versioned front, password visibility, collapsible filters and maintenance modals */
.password-field{position:relative;display:block}.password-field>input{padding-right:46px!important;width:100%}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:9px;background:transparent;color:#557067;display:grid;place-items:center;cursor:pointer;transition:background .16s ease,color .16s ease,transform .16s ease}.password-toggle:hover,.password-toggle:focus-visible{background:#e8f5f1;color:#087c62;outline:none}.password-toggle:active{transform:translateY(-50%) scale(.95)}.password-toggle svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.filter-shell{margin:0 0 15px;border:1px solid #dfe7e4;border-radius:15px;background:#fff;box-shadow:0 5px 20px rgba(14,58,49,.045);overflow:hidden}.filter-shell-toggle{width:100%;min-height:54px;border:0;background:linear-gradient(180deg,#fbfefd,#f6fbf9);display:flex;align-items:center;gap:11px;padding:10px 14px;text-align:left;color:#253b35;cursor:pointer}.filter-shell-toggle:hover{background:#f2faf7}.filter-shell-toggle>span:nth-child(2){display:flex;flex-direction:column;gap:2px;flex:1}.filter-shell-toggle strong{font-size:13px}.filter-shell-toggle small{color:#6b7d77;font-size:10.5px}.filter-toggle-icon{width:32px;height:32px;border-radius:9px;background:#e5f5ef;position:relative;flex:0 0 auto}.filter-toggle-icon:before,.filter-toggle-icon:after{content:"";position:absolute;left:8px;right:8px;height:2px;border-radius:3px;background:#9e7800}.filter-toggle-icon:before{top:10px;box-shadow:0 6px 0 #9e7800}.filter-toggle-icon:after{width:4px;height:4px;border-radius:50%;left:12px;top:9px;box-shadow:7px 6px 0 #9e7800}.filter-toggle-chevron{width:10px;height:10px;border-right:2px solid #477066;border-bottom:2px solid #477066;transform:rotate(45deg);transition:transform .18s ease;margin-right:4px}.filter-shell.open .filter-toggle-chevron{transform:rotate(225deg) translate(-2px,-2px)}.filter-shell-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s ease}.filter-shell-body>.filter-bar{overflow:hidden;margin:0!important;border:0!important;border-top:1px solid transparent!important;border-radius:0!important;box-shadow:none!important;padding-top:0!important;padding-bottom:0!important;min-height:0;transition:padding .2s ease,border-color .2s ease}.filter-shell.open .filter-shell-body{grid-template-rows:1fr}.filter-shell.open .filter-shell-body>.filter-bar{padding-top:14px!important;padding-bottom:14px!important;border-top-color:#e7efec!important}
.app-modal{position:fixed;inset:0;z-index:520;display:grid;place-items:center;padding:18px;visibility:hidden;opacity:0;transition:opacity .16s ease,visibility .16s ease}.app-modal.open{visibility:visible;opacity:1}.app-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(7,23,20,.54);backdrop-filter:blur(4px);cursor:default}.app-modal-dialog{position:relative;width:min(920px,96vw);max-height:min(90vh,920px);display:flex;flex-direction:column;background:#f8fbfa;border:1px solid rgba(255,255,255,.65);border-radius:20px;box-shadow:0 28px 85px rgba(2,22,18,.28);overflow:hidden;transform:translateY(14px) scale(.985);transition:transform .18s ease}.app-modal.open .app-modal-dialog{transform:none}.app-modal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 19px;background:linear-gradient(135deg,#083f35,#0b6f5a);color:#fff}.app-modal-head small{display:block;text-transform:uppercase;letter-spacing:.12em;font-size:9px;opacity:.72}.app-modal-head h2{margin:2px 0 0;font-size:18px}.app-modal-close{width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font-size:22px;cursor:pointer}.app-modal-close:hover{background:rgba(255,255,255,.18)}.app-modal-body{padding:18px;overflow:auto}.app-modal-body>.panel.form-grid,.app-modal-body>form.panel{margin:0;box-shadow:none;border-color:#dfe8e5}.modal-open{overflow:hidden}.app-modal-body .page-actions{display:none}
.combo-toggle{overflow:hidden}.combo-toggle .combo-chevron{display:block;width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);margin:auto;transition:transform .16s ease}.combo-select:focus-within .combo-toggle{color:#0a8268}.combo-results.open~.combo-toggle .combo-chevron{transform:rotate(225deg)}
.stock-low-filter{border:1px solid #ffd99c!important;background:linear-gradient(180deg,#fffaf0,#fff4db)!important;color:#8a5700!important;border-radius:12px!important;padding:9px 12px!important;font-weight:750!important;box-shadow:0 4px 14px rgba(184,116,0,.08)}.stock-low-filter input{accent-color:#d88900}.stock-low-filter:has(input:checked){background:#fff0c7!important;border-color:#efb64a!important;box-shadow:0 0 0 3px rgba(238,173,47,.12)}
.promo-chip{display:inline-flex;width:max-content;margin-top:5px;padding:3px 7px;border-radius:999px;background:#e6f7ef;color:#08775e;border:1px solid #bce8d8;font-size:9px!important;font-weight:800;letter-spacing:.035em}.picker-item:has(.promo-chip){background:linear-gradient(90deg,#fff,#f6fcf9)}
.bar-svg{animation:barReveal .58s cubic-bezier(.2,.78,.22,1) both;transform-origin:center bottom;will-change:clip-path,opacity}@keyframes barReveal{from{opacity:.2;clip-path:inset(100% 0 0 0)}to{opacity:1;clip-path:inset(0 0 0 0)}}
@media(max-width:700px){.app-modal{padding:8px}.app-modal-dialog{width:100%;max-height:96vh;border-radius:16px}.app-modal-body{padding:12px}.filter-shell-toggle{min-height:50px}}

/* v1.7 form semantics and guide hierarchy */
.field-required,.field-optional{display:inline-flex;align-items:center;margin-left:5px;padding:2px 6px;border-radius:999px;font-size:9px;font-weight:800;vertical-align:middle;letter-spacing:.02em}.field-required{background:#fff7dc;color:#936b00}.field-required:before{content:"•";margin-right:4px}.field-optional{background:#f2f4f7;color:#667085}
select:not([multiple]){appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,#61756f 50%),linear-gradient(135deg,#61756f 50%,transparent 50%);background-position:calc(100% - 16px) calc(50% + 1px),calc(100% - 11px) calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;padding-right:34px}select:not([multiple]):focus{background-image:linear-gradient(45deg,transparent 50%,#0a8b6d 50%),linear-gradient(135deg,#0a8b6d 50%,transparent 50%)}.combo-select select{background-image:none!important;padding-right:10px}
.guide-toc-tree{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guide-toc-group{border:1px solid #e1e9e6;border-radius:12px;background:#fbfefd;padding:10px}.guide-toc-category{display:block;color:#075f4d;font-weight:850;font-size:11.5px}.guide-toc-options{display:grid;gap:4px;margin-top:7px;padding-left:9px;border-left:2px solid #d9eee7}.guide-toc-options a{display:block;color:#61706b;font-size:10.5px;padding:3px 0}.guide-toc-options a:hover{color:#078167}.guide-step.guide-anchor{scroll-margin-top:112px}
@media(max-width:760px){.guide-toc-tree{grid-template-columns:1fr}}


/* v1.8 confirmations: custom centered authorization modal */
.confirm-modal{position:fixed;inset:0;z-index:680;display:grid;place-items:center;padding:18px;visibility:hidden;opacity:0;transition:opacity .16s ease,visibility .16s ease}.confirm-modal.open{visibility:visible;opacity:1}.confirm-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(6,20,17,.5);backdrop-filter:blur(3px)}.confirm-modal-dialog{position:relative;width:min(410px,calc(100vw - 28px));background:#fff;border:1px solid #dce8e4;border-radius:18px;box-shadow:0 26px 80px rgba(3,31,25,.28);padding:22px;display:grid;grid-template-columns:48px 1fr;gap:14px;transform:translateY(10px) scale(.985);transition:transform .17s ease}.confirm-modal.open .confirm-modal-dialog{transform:none}.confirm-modal-icon{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#fff1ed;color:#c2412d;border:1px solid #ffd4c9;font-size:23px;font-weight:900}.confirm-modal-copy h2{margin:1px 0 7px;color:#183029;font-size:17px;line-height:1.25}.confirm-modal-copy p{margin:0;color:#63716d;font-size:12px;line-height:1.52}.confirm-modal-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:9px;padding-top:5px}.confirm-modal-actions .btn{min-width:82px;justify-content:center}.confirm-open{overflow:hidden}@media(max-width:520px){.confirm-modal{padding:12px}.confirm-modal-dialog{grid-template-columns:40px 1fr;padding:18px;border-radius:16px}.confirm-modal-icon{width:40px;height:40px;border-radius:12px;font-size:20px}.confirm-modal-actions{display:grid;grid-template-columns:1fr 1fr}.confirm-modal-actions .btn{width:100%}}


/* v1.9 searchable-select overflow fix */
.filter-shell.open{position:relative;z-index:140;overflow:visible!important}
.filter-shell.open .filter-shell-body{overflow:visible!important}
.filter-shell.open .filter-shell-body>.filter-bar{overflow:visible!important}
.combo-select.combo-open{z-index:210}
.combo-results{z-index:220;max-height:min(280px,calc(100vh - 24px))}
.combo-results.drop-up{top:auto;bottom:calc(100% + 6px)}
.app-modal .combo-select.combo-open{z-index:610}
.app-modal .combo-results{z-index:620}

/* Action hierarchy + cash change v1.10 */
.table-action{
    display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:5px 10px;margin:2px 4px 2px 0;
    border:1px solid transparent;border-radius:9px;color:#fff;font-size:11px;font-weight:820;line-height:1;text-decoration:none;
    box-shadow:0 4px 10px rgba(20,32,51,.12);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease,border-color .15s ease;
    cursor:pointer;white-space:nowrap;vertical-align:middle;appearance:none;-webkit-appearance:none;
}
.table-action:hover{transform:translateY(-1px);box-shadow:0 7px 15px rgba(20,32,51,.17);filter:saturate(1.05);text-decoration:none}
.table-action:active{transform:translateY(1px);box-shadow:0 2px 6px rgba(20,32,51,.11)}
.table-action .action-glyph{display:grid;place-items:center;width:18px;height:18px;border-radius:6px;background:rgba(255,255,255,.18);font-size:13px;font-weight:900;line-height:1;flex:0 0 auto}
.table-action.action-edit{background:linear-gradient(180deg,#3978d7,#2458ae);border-color:#1f4f9e;color:#fff}
.table-action.action-edit:hover{background:linear-gradient(180deg,#4384e5,#2457ad)}
.table-action.action-danger{background:linear-gradient(180deg,#dc5c5c,#b83232);border-color:#a92d2d;color:#fff}
.table-action.action-danger:hover{background:linear-gradient(180deg,#e66b6b,#b62f2f)}
.table-action.action-success{background:linear-gradient(180deg,#2fac7d,#147a55);border-color:#126d4c;color:#fff}
.table-action.action-success:hover{background:linear-gradient(180deg,#37bb89,#13764f)}
.account-self{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;border:1px solid #dce3ec;border-radius:9px;background:#f2f5f8;color:#5b687a;font-size:10.5px;font-weight:800;white-space:nowrap}
.account-self>span{color:#8391a4;font-size:8px}
.sale-change-preview{grid-column:span 2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:-2px;padding:11px 12px;border:1px solid #b9e2d3;border-radius:11px;background:linear-gradient(180deg,#effbf6,#e8f7f0);color:#145f47}
.sale-change-preview.hidden{display:none}
.sale-change-preview span{font-size:11px;font-weight:750}.sale-change-preview strong{font-size:18px;letter-spacing:-.2px;color:#0d7655}.sale-change-preview small{display:block;margin-top:2px;color:#5e7c70;font-size:9.5px;font-weight:500}
.totals-card .change-due{margin-top:5px;padding:10px 12px;border-radius:10px;background:#e9f8f1;color:#0f6c4c;border:1px solid #c6e9da}.totals-card .change-due strong{font-size:17px}.totals-card .tendered{color:#536071}
@media(max-width:760px){.sale-change-preview{grid-column:1}.table-action{padding:5px 9px}}

/* v1.11/v1.12: contexto del catálogo y venta multi-local */
.picker-store-help{display:block;margin-top:7px;color:#6f7d90;font-size:10.5px;line-height:1.35}.remote-picker input:disabled{background:#f3f6f9;color:#8a96a7;cursor:not-allowed}

/* v1.12 · venta multi-local / preparación física */
.picker-chip-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.4rem}
.source-store-chip,.source-store-badge{display:inline-flex;align-items:center;gap:.38rem;width:max-content;max-width:100%;border-radius:999px;font-weight:800;line-height:1.2}
.source-store-chip{padding:.24rem .55rem;font-size:.68rem;letter-spacing:.015em;background:#e7f8f2;color:#086a54;border:1px solid #b8e5d6}
.source-store-chip::before,.source-store-badge::before{content:"";display:inline-block;flex:0 0 auto;width:.42rem;height:.42rem;border-radius:50%;background:#18a67a;box-shadow:0 0 0 3px rgba(24,166,122,.12)}
.source-store-badge{padding:.42rem .68rem;font-size:.76rem;background:linear-gradient(180deg,#eefbf7,#e4f6ef);color:#0a624f;border:1px solid #b9e3d5;box-shadow:0 2px 7px rgba(15,93,72,.08)}

/* v1.14 · guía con marca, anclajes fiables y gráficos 3D multicolor */
.guide-hero-brand{position:relative;z-index:1;display:grid;grid-template-columns:minmax(185px,230px) 1fr;gap:24px;align-items:center}
.guide-hero-logo-card{display:flex;align-items:center;justify-content:center;min-height:76px;padding:12px 15px;border:1px solid rgba(255,255,255,.55);border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 12px 28px rgba(4,19,45,.22)}
.guide-hero-logo-card img{display:block;width:100%;height:auto;max-height:60px;object-fit:contain}
.guide-anchor.guide-target-flash{animation:guideTargetFlash 1.05s ease}
@keyframes guideTargetFlash{0%{box-shadow:0 0 0 0 rgba(26,172,132,.0)}25%{box-shadow:0 0 0 5px rgba(26,172,132,.18)}100%{box-shadow:var(--shadow)}}
@media(max-width:760px){.guide-hero-brand{grid-template-columns:1fr;gap:15px}.guide-hero-logo-card{width:min(260px,88%);min-height:64px}.guide-hero{padding:22px}}

.bar-chart{position:relative;isolation:isolate;background:repeating-linear-gradient(to top,rgba(62,84,116,.06) 0,rgba(62,84,116,.06) 1px,transparent 1px,transparent 48px),linear-gradient(180deg,#f8fbfd 0%,#fff 72%);border-color:#dfe7ed;box-shadow:inset 0 1px 0 #fff,0 7px 22px rgba(22,43,61,.055)}
.bar-chart:before{content:"";position:absolute;left:16px;right:16px;bottom:39px;height:2px;border-radius:2px;background:linear-gradient(90deg,#cdd9e1,#e8eef2);z-index:0}
.bar-item{z-index:1;perspective:700px}
.bar-svg{width:86%;min-width:28px;filter:drop-shadow(5px 8px 5px rgba(26,43,58,.22));transform-origin:center bottom;animation:barReveal3d .7s cubic-bezier(.16,.78,.2,1) both;transition:transform .2s ease,filter .2s ease}
.bar-item:hover .bar-svg,.bar-item:focus .bar-svg{transform:translateY(-5px) rotateX(2deg) scale(1.035);filter:drop-shadow(7px 12px 8px rgba(26,43,58,.28))}
.bar-front{stroke-width:.6;shape-rendering:geometricPrecision}.bar-top,.bar-side{stroke-width:.55;shape-rendering:geometricPrecision}.bar-highlight{fill:rgba(255,255,255,.2);pointer-events:none}.bar-ground{fill:rgba(34,52,66,.10);filter:blur(.25px)}
@keyframes barReveal3d{from{opacity:0;transform:translateY(22px) scaleY(.18) rotateX(10deg)}60%{opacity:1}to{opacity:1;transform:translateY(0) scaleY(1) rotateX(0)}}
.bar-delay-0{animation-delay:0ms}.bar-delay-1{animation-delay:45ms}.bar-delay-2{animation-delay:90ms}.bar-delay-3{animation-delay:135ms}.bar-delay-4{animation-delay:180ms}.bar-delay-5{animation-delay:225ms}.bar-delay-6{animation-delay:270ms}.bar-delay-7{animation-delay:315ms}.bar-delay-8{animation-delay:360ms}.bar-delay-9{animation-delay:405ms}
.report-list-filter{margin:0 14px 13px!important;border-radius:12px!important;box-shadow:none!important}
.report-list-filter.filter-bar>.field{grid-column:span 4}.report-list-filter.filter-bar>.field.grow{grid-column:span 6}.report-list-filter.filter-bar>.filter-actions{grid-column:span 4}
@media(max-width:1180px){.report-list-filter.filter-bar>.field,.report-list-filter.filter-bar>.field.grow,.report-list-filter.filter-bar>.filter-actions{grid-column:span 6}}
@media(max-width:760px){.report-list-filter.filter-bar>.field,.report-list-filter.filter-bar>.field.grow,.report-list-filter.filter-bar>.filter-actions{grid-column:1}}

/* v1.16 · Kardex + quick scroll-up */
.kardex-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:16px;background:linear-gradient(145deg,#fff,#f7fbfa)}
.kardex-head .eyebrow{display:block;color:var(--primary);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:4px}
.kardex-head h2{margin:0 0 5px;font-size:22px}.kardex-head p{margin:0;color:var(--muted);max-width:780px}
.kardex-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:13px;background:#eef5f3;border:1px solid #d8e9e4;flex:0 0 auto}
.kardex-tab{display:inline-flex;align-items:center;justify-content:center;min-width:108px;padding:9px 14px;border-radius:9px;color:#526176;font-weight:800;font-size:12px;text-decoration:none;transition:.18s}
.kardex-tab:hover{background:#fff;color:var(--primary)}.kardex-tab.active{background:linear-gradient(145deg,#0e9e78,#9b7100);color:#fff;box-shadow:0 5px 13px rgba(8,116,93,.2)}
.kardex-kpis .kpi small{display:block;margin-top:5px;color:var(--muted);font-size:11px}
.kardex-value-strip{display:flex;flex-wrap:wrap;gap:10px;margin:-4px 0 16px}
.kardex-value-strip span{display:inline-flex;align-items:center;gap:7px;padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--muted);font-size:11px;box-shadow:0 4px 12px rgba(24,43,60,.045)}
.kardex-value-strip strong{color:var(--text);font-size:12px}.kardex-table{max-height:64vh}.kardex-table table{min-width:1180px}.kardex-table .table-subtext{display:block;margin-top:3px;color:var(--muted);font-size:10px;white-space:nowrap}
.scroll-top-button{position:fixed;right:22px;bottom:22px;z-index:70;width:44px;height:44px;border:1px solid rgba(255,255,255,.55);border-radius:14px;background:linear-gradient(145deg,#0d9b76,#086a57);color:#fff;box-shadow:0 10px 24px rgba(5,74,61,.28);display:grid;place-items:center;font-size:22px;font-weight:800;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(10px) scale(.92);transition:opacity .18s,visibility .18s,transform .18s,box-shadow .18s}
.scroll-top-button.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.scroll-top-button:hover{transform:translateY(-2px) scale(1.03);box-shadow:0 13px 28px rgba(5,74,61,.34)}.scroll-top-button:focus-visible{outline:3px solid rgba(29,196,151,.28);outline-offset:3px}.scroll-top-button span{line-height:1;transform:translateY(-1px)}
@media(max-width:860px){.kardex-head{align-items:flex-start;flex-direction:column}.kardex-tabs{width:100%}.kardex-tab{flex:1}.scroll-top-button{right:14px;bottom:14px}}


/* v1.17 · tooltip estadístico fuera del contenedor + Mi perfil */
.bar-item::after{display:none!important}
.bar-item.chart-tooltip-anchor{anchor-name:--active-chart-bar}
.chart-tooltip{position:fixed;position-anchor:--active-chart-bar;position-area:top center;z-index:1200;min-width:160px;max-width:min(320px,calc(100vw - 24px));margin-block-end:10px;padding:9px 11px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:rgba(15,24,39,.97);color:#fff;font-size:11px;line-height:1.4;text-align:left;box-shadow:0 14px 36px rgba(7,14,26,.28);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(5px);transition:opacity .12s ease,transform .12s ease,visibility .12s ease;white-space:normal;position-try-fallbacks:flip-block,flip-inline}
.chart-tooltip.show{opacity:1;visibility:visible;transform:translateY(0)}
@supports not (anchor-name:--active-chart-bar){.chart-tooltip{position:fixed;inset:88px 18px auto auto;max-width:min(300px,calc(100vw - 36px));margin:0}.chart-tooltip.show{transform:none}}
.profile-panel{max-width:920px;margin-inline:auto;overflow:hidden}
.profile-hero{display:flex;align-items:center;gap:16px;padding:4px 0 20px;border-bottom:1px solid var(--line)}
.profile-avatar-large{width:68px;height:68px;flex:0 0 68px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(145deg,#18b88d,#08705c);color:#fff;font-size:27px;font-weight:900;box-shadow:0 10px 24px rgba(10,122,94,.2)}
.profile-identity{min-width:0;flex:1}.profile-identity h2{margin:2px 0 3px;font-size:23px}.profile-identity p{margin:0;color:var(--muted)}.profile-identity .eyebrow{text-transform:uppercase;letter-spacing:.09em;font-size:9px;font-weight:850;color:#12866a}
.profile-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.profile-details article{padding:14px 15px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fbfcff,#fff)}.profile-details span,.profile-details strong{display:block}.profile-details span{font-size:10px;color:var(--muted);margin-bottom:4px}.profile-details strong{font-size:13px;color:var(--text);overflow-wrap:anywhere}
.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
@media(max-width:620px){.profile-hero{align-items:flex-start;flex-wrap:wrap}.profile-details{grid-template-columns:1fr}.profile-actions .btn{flex:1}}

/* v1.18 · origen externo para Personal */
.transfer-from-chip,.transfer-from-badge{display:inline-flex;align-items:center;gap:.38rem;width:max-content;max-width:100%;border-radius:999px;font-weight:850;line-height:1.2;background:linear-gradient(180deg,#fff7df,#ffedbd);color:#9a4a00;border:1px solid #f1bd55;box-shadow:0 2px 8px rgba(154,74,0,.10)}
.transfer-from-chip{padding:.24rem .58rem;font-size:.68rem;letter-spacing:.015em;text-transform:none}
.transfer-from-badge{padding:.42rem .7rem;font-size:.76rem}
.transfer-from-chip::before,.transfer-from-badge::before{content:"↙";display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:1rem;height:1rem;border-radius:50%;background:#f59e0b;color:#fff;font-size:.68rem;font-weight:900;box-shadow:0 0 0 3px rgba(245,158,11,.13)}
.source-store-plain{font-weight:750;color:#334155}

/* v1.29 · auditoría detallada Antes / Después */
.audit-table{min-width:1180px}.audit-table th:last-child,.audit-table td.audit-summary{min-width:560px}
.audit-summary{max-width:820px;color:#455468;line-height:1.45;vertical-align:top}
.audit-diff{min-width:520px;border:1px solid #dfe6ef;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 3px 10px rgba(20,32,51,.035)}
.audit-diff-title{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:linear-gradient(180deg,#f8fafc,#f3f7fa);border-bottom:1px solid #e6ebf1}
.audit-diff-title strong{font-size:11px;color:#26384f}.audit-diff-title span{font-size:10px;font-weight:800;color:#5b687a;background:#e9eef4;border-radius:999px;padding:3px 7px}
.audit-diff-row{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(155px,1fr) minmax(155px,1fr);align-items:stretch;border-bottom:1px solid #edf1f5}
.audit-diff-row:last-of-type{border-bottom:0}.audit-diff-row>*{padding:8px 10px;min-width:0;overflow-wrap:anywhere}
.audit-diff-row>strong{font-size:10.5px;color:#344054;background:#fbfcfd;border-right:1px solid #edf1f5}
.audit-diff-row>span{font-size:11px;color:#455468}.audit-diff-row>span+span{border-left:1px solid #edf1f5}
.audit-diff-head{background:#f7f9fc}.audit-diff-head>span{font-size:9.5px!important;text-transform:uppercase;letter-spacing:.055em;font-weight:850;color:#667085!important}
.audit-diff-head>span:first-child{background:#f7f9fc;border-right:1px solid #e8edf3}
.audit-before{background:#fff9f8}.audit-after{background:#f5fbf8;color:#185f49!important;font-weight:650}
.audit-diff-note{display:block;padding:7px 10px;background:#fbfcfd;color:#7a8798;font-size:9.5px;border-top:1px solid #edf1f5}
@media(max-width:760px){.audit-table th:last-child,.audit-table td.audit-summary{min-width:520px}.audit-diff{min-width:490px}.audit-diff-row{grid-template-columns:115px 1fr 1fr}}


/* v1.31 · gráficos profesionales y tooltip junto al cursor */
.bar-chart{
  height:310px;
  gap:12px;
  padding:26px 16px 9px;
  background:repeating-linear-gradient(to top,rgba(71,85,105,.075) 0,rgba(71,85,105,.075) 1px,transparent 1px,transparent 48px),linear-gradient(180deg,#fbfcfd 0%,#fff 100%);
  border:1px solid #dfe6ec;
  border-radius:14px;
  box-shadow:inset 0 1px 0 #fff;
  perspective:none;
}
.bar-chart:before{left:16px;right:16px;bottom:39px;height:1px;background:#cbd5df}
.bar-item{perspective:none;transform-style:flat;outline:none}
.bar-svg{
  width:72%;
  min-width:24px;
  max-width:50px;
  filter:drop-shadow(0 4px 5px rgba(15,23,42,.12));
  transform-origin:center bottom;
  animation:barRevealProfessional .52s cubic-bezier(.2,.72,.2,1) both;
  transition:transform .16s ease,filter .16s ease,opacity .16s ease;
}
.bar-item:hover .bar-svg,.bar-item:focus-visible .bar-svg{
  transform:translateY(-2px);
  filter:drop-shadow(0 6px 8px rgba(15,23,42,.16));
}
.bar-column{stroke:rgba(15,23,42,.16);stroke-width:.45;shape-rendering:geometricPrecision}
.bar-sheen{fill:rgba(255,255,255,.20);pointer-events:none}
.bar-label{font-size:9.5px;color:#64748b;font-weight:550;max-width:78px}
@keyframes barRevealProfessional{from{opacity:0;transform:translateY(10px) scaleY(.35)}to{opacity:1;transform:translateY(0) scaleY(1)}}
.chart-tooltip{
  position:fixed;
  inset:auto;
  left:-9999px;
  top:-9999px;
  z-index:1200;
  min-width:170px;
  max-width:min(330px,calc(100vw - 20px));
  margin:0;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:9px;
  background:rgba(15,23,42,.96);
  color:#fff;
  font-size:11px;
  line-height:1.42;
  text-align:left;
  box-shadow:0 10px 28px rgba(15,23,42,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:none;
  transition:opacity .10s ease,visibility .10s ease;
  white-space:pre-line;
  position-anchor:auto;
  position-area:initial;
}
.chart-tooltip.show{opacity:1;visibility:visible;transform:none}
@media(max-width:540px){.bar-chart{height:270px;gap:9px;padding-left:10px;padding-right:10px}.bar-svg{width:76%}.chart-tooltip{max-width:calc(100vw - 20px)}}

.chart-tooltip-cursor{left:-9999px;top:-9999px}

/* v1.32 · detalle de Auditoría en modal centrada */
.audit-table-compact{min-width:1050px}.audit-table-compact th:last-child,.audit-table-compact td.audit-summary{min-width:330px}
.audit-summary-compact{max-width:520px}.audit-summary-text{display:block;color:#536174;line-height:1.45;margin-bottom:9px}.audit-detail-button{min-height:34px;padding:7px 12px;font-size:11px}
.audit-detail-modal{position:fixed;inset:0;z-index:640;display:grid;place-items:center;padding:20px;visibility:hidden;opacity:0;transition:opacity .16s ease,visibility .16s ease}
.audit-detail-modal.open{visibility:visible;opacity:1}.audit-detail-backdrop{position:absolute;inset:0;border:0;background:rgba(17,30,45,.58);backdrop-filter:blur(4px);cursor:default}
.audit-detail-dialog{position:relative;width:min(980px,96vw);max-height:min(90vh,900px);display:flex;flex-direction:column;background:#fff;border:1px solid #dfe5ed;border-radius:20px;box-shadow:0 30px 90px rgba(15,23,42,.32);overflow:hidden;transform:translateY(12px) scale(.988);transition:transform .18s ease}
.audit-detail-modal.open .audit-detail-dialog{transform:none}.audit-detail-modal-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px 16px;background:#fff;border-bottom:1px solid #e4e9f0}
.audit-detail-heading small{display:block;margin-bottom:4px;color:#64748b;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.audit-detail-heading h2{margin:0;color:#152238;font-size:20px;line-height:1.2}
.audit-detail-head-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto}.audit-detail-date{display:inline-flex;align-items:center;min-height:30px;padding:5px 10px;border:1px solid #dce4ee;border-radius:999px;background:#f8fafc;color:#1e293b;font-size:11px;font-weight:800;white-space:nowrap}
.audit-detail-close{width:36px;height:36px;border:1px solid #dbe3ec;border-radius:11px;background:#f8fafc;color:#607086;font-size:21px;line-height:1;cursor:pointer}.audit-detail-close:hover{background:#eef3f8;color:#24354b}
.audit-detail-modal-body{padding:18px 22px 22px;overflow:auto;background:#fff}.audit-detail-open{overflow:hidden}.audit-detail-content{display:grid;gap:14px}
.audit-detail-summary-box{padding:14px 15px;border:1px solid #cbdcf6;border-radius:12px;background:#f4f8ff;color:#334155;font-size:12.5px;line-height:1.55}
.audit-detail-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.audit-detail-meta-card{min-width:0;padding:14px 15px;border:1px solid #dfe6ef;border-radius:13px;background:#f8fafc}.audit-detail-meta-card small{display:block;margin-bottom:5px;color:#718096;font-size:9.5px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.audit-detail-meta-card strong{display:block;color:#172337;font-size:13px;line-height:1.35}.audit-detail-meta-card span{display:block;margin-top:4px;color:#718096;font-size:10.5px;line-height:1.35;overflow-wrap:anywhere}
.audit-detail-section{border:1px solid #dde5ee;border-radius:14px;overflow:hidden;background:#fff}.audit-detail-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 15px;background:#f8fafc;border-bottom:1px solid #e3e9f0}.audit-detail-section-head strong{display:block;color:#1f2c3f;font-size:12.5px}.audit-detail-section-head small{display:block;margin-top:4px;color:#76859a;font-size:10.5px;line-height:1.4}.audit-detail-count{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#e8f1ef;color:#806100;font-size:9.5px;font-weight:850}
.audit-detail-table-wrap{overflow:auto}.audit-detail-table{width:100%;border-collapse:collapse;min-width:560px}.audit-detail-table th,.audit-detail-table td{padding:11px 13px;border-bottom:1px solid #e9edf2;text-align:left;vertical-align:top;font-size:11px;line-height:1.45;overflow-wrap:anywhere}.audit-detail-table thead th{background:#fbfcfe;color:#69788d;font-size:9.5px;text-transform:uppercase;letter-spacing:.045em}.audit-detail-table tbody th{width:28%;background:#fbfcfd;color:#29384d;font-weight:800}.audit-detail-table tbody tr:last-child>*{border-bottom:0}.audit-detail-before{background:#fffafa;color:#6e4e4a}.audit-detail-after{background:#f7fcfa;color:#806100;font-weight:650}.audit-detail-values-table tbody th{width:34%}.audit-detail-empty{padding:17px;border:1px dashed #ccd6e2;border-radius:12px;background:#fafbfd;color:#718096;text-align:center;font-size:11px}
@media(max-width:720px){.audit-detail-modal{padding:8px}.audit-detail-dialog{width:100%;max-height:96vh;border-radius:16px}.audit-detail-modal-head{align-items:flex-start;padding:16px 15px 13px}.audit-detail-heading h2{font-size:17px}.audit-detail-head-actions{gap:6px}.audit-detail-date{font-size:9.5px;padding:4px 7px}.audit-detail-close{width:32px;height:32px}.audit-detail-modal-body{padding:13px}.audit-detail-meta-grid{grid-template-columns:1fr}.audit-detail-table{min-width:500px}}

/* v1.35 · categorías principales con subcategorías gestionadas dentro */
.category-manager{display:grid;gap:14px}.category-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:15px 17px;border:1px solid #dfe6ef;border-radius:14px;background:#fff}.category-manager-head strong{display:block;color:#1d2b3f;font-size:13px}.category-manager-head small{display:block;margin-top:4px;color:#748196;font-size:10.5px;line-height:1.4}.category-manager-counts{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.category-manager-counts span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border-radius:999px;background:#f2f6f8;border:1px solid #dfe7eb;color:#4b5e6f;font-size:10px;font-weight:800}.category-empty-state{padding:28px 20px;border:1px dashed #cfd8e3;border-radius:14px;background:#fbfcfe;text-align:center}.category-empty-state strong{display:block;color:#26364d;font-size:13px}.category-empty-state span{display:block;margin-top:5px;color:#758397;font-size:11px}.category-groups{display:grid;gap:14px}.category-group{overflow:hidden;border:1px solid #dbe3ec;border-radius:15px;background:#fff;box-shadow:0 8px 20px rgba(15,23,42,.035)}.category-group-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:16px 17px;background:linear-gradient(180deg,#fff,#fbfcfd);border-bottom:1px solid #e5eaf0}.category-group-identity{display:flex;align-items:flex-start;gap:12px;min-width:0}.category-folder-mark{display:grid;place-items:center;flex:0 0 auto;width:36px;height:36px;border-radius:10px;background:#eaf6f2;border:1px solid #cfe7df;color:#0d7b61;font-size:18px}.category-title-line{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.category-title-line h2{margin:0;color:#17263b;font-size:16px;line-height:1.25}.category-group-identity p{margin:5px 0 0;color:#637287;font-size:10.5px;line-height:1.45}.category-group-identity .muted-copy{color:#9aa5b3}.category-group-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;max-width:58%}.btn-compact{min-height:34px;padding:7px 11px;font-size:10.5px}.category-disabled-note{max-width:180px;color:#8a6670;font-size:9.5px;line-height:1.35;text-align:right}.category-children-block{padding:0 17px 16px}.category-children-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0 9px}.category-children-heading strong{display:block;color:#2a394e;font-size:11.5px}.category-children-heading small{display:block;margin-top:3px;color:#7d8998;font-size:9.5px}.category-no-children{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:13px 14px;border:1px dashed #d9e0e8;border-radius:10px;background:#fafbfd;color:#7a8797;font-size:10.5px}.category-no-children a{font-weight:800;color:#0d7b61}.category-children-table-wrap{overflow:auto;border:1px solid #e1e7ee;border-radius:11px}.category-children-table{width:100%;min-width:700px;border-collapse:collapse}.category-children-table th,.category-children-table td{padding:10px 11px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:middle;font-size:10.5px}.category-children-table thead th{position:static;top:auto;z-index:auto;box-shadow:0 1px 0 #e8edf3;background:#f7f9fb;color:#6b788a;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.category-children-table tbody tr:last-child>*{border-bottom:0}.category-children-table tbody tr:hover{background:#fbfdfc}.category-children-table td:nth-child(1){width:25%}.category-children-table td:nth-child(2){color:#68768a}.category-children-table td:nth-child(3){width:95px}.category-children-table td.actions{width:240px;white-space:nowrap}.form-context,.subcategory-parent-context{padding:12px 14px;border:1px solid #d8e5e1;border-radius:11px;background:#f4faf8}.form-context strong,.subcategory-parent-context strong{display:block;color:#806100;font-size:11.5px}.form-context span,.subcategory-parent-context span{display:block;margin-top:3px;color:#6f7e90;font-size:10px;line-height:1.4}.subcategory-parent-context small{display:block;margin-bottom:3px;color:#7a899a;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.subcategory-parent-context strong{font-size:14px}.field-help{display:block;margin-top:5px;color:#748196;font-size:10.5px;font-weight:500;line-height:1.35}
@media(max-width:900px){.category-group-header{flex-direction:column}.category-group-actions{max-width:none;width:100%;justify-content:flex-start}.category-disabled-note{text-align:left;max-width:none}}
@media(max-width:650px){.category-manager-head{flex-direction:column}.category-manager-counts{justify-content:flex-start}.category-group-header{padding:14px}.category-children-block{padding:0 14px 14px}.category-group-actions{align-items:stretch}.category-group-actions>.btn,.category-group-actions>.table-action,.category-group-actions>form{flex:1 1 auto}.category-group-actions form .table-action{width:100%;justify-content:center}.category-folder-mark{width:32px;height:32px}.category-title-line h2{font-size:14px}}


/* v1.38 · Guía con navegación persistente, sin alterar la identidad de Nexo Retail. */
.guide-layout{display:grid;grid-template-columns:minmax(235px,265px) minmax(0,1fr);align-items:start;gap:18px}
.guide-sidebar,.guide-main{min-width:0}
.guide-sidebar{position:sticky;top:94px;max-height:calc(100dvh - 112px);display:flex;flex-direction:column}
.guide-sidebar .guide-toc{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;min-height:0}
.guide-layout .guide-toc{padding:15px 12px;border-radius:14px}
.guide-layout .guide-toc-tree{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
.guide-layout .guide-toc-group{padding:9px 10px}
.guide-layout .guide-toc-options{padding-left:10px}
.guide-layout .guide-toc-category{line-height:1.4}
.guide-layout .guide-toc a.is-current{color:#05765a;text-decoration:underline;text-underline-offset:3px}
.guide-layout .guide-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
.guide-main>.panel{margin-top:14px}
.guide-index-toggle{display:none}
/* Orden: click accesible, flecha discreta y encabezado sticky intacto. */
.list-sort-button{appearance:none;display:inline-flex;align-items:center;justify-content:flex-start;gap:7px;width:100%;text-align:left;color:inherit;background:transparent;border:0;padding:3px 0;margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;white-space:nowrap}
.list-sort-button:hover,.list-sort-button:focus-visible{color:#08765f}
.list-sort-button:focus-visible{outline:2px solid #059f7c;outline-offset:3px;border-radius:3px}
.list-sort-arrow{font-size:12px;color:#8596a6;min-width:10px;display:inline-block;text-align:center;font-weight:800;line-height:1}
.list-sort-button.is-sorted,.list-sort-button.is-sorted .list-sort-arrow{color:#05765a}
/* v1.40 · Índice siempre accesible en pantallas estrechas, sin ocultar el contenido. */
@media(max-width:1100px){
 .guide-layout{display:block}
 .guide-sidebar{position:sticky;top:86px;z-index:35;max-height:none;display:block;margin-bottom:12px;overflow:visible;isolation:isolate}
 .guide-index-toggle{display:flex;align-items:center;justify-content:flex-start;gap:11px;width:100%;min-height:48px;padding:10px 14px;border:1px solid #cfe4dc;border-radius:12px;background:linear-gradient(180deg,#f8fdfa,#edf9f4);color:#075f4d;font-size:13px;font-weight:800;text-align:left;box-shadow:0 5px 18px rgba(7,68,52,.09);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s}
 .guide-index-toggle:hover{background:#eaf7f1;border-color:#a7d7c5}
 .guide-index-toggle:focus-visible{outline:3px solid rgba(10,155,120,.36);outline-offset:2px}
 .guide-index-icon{width:20px;height:20px;flex:0 0 20px;color:#0b8065}
 .guide-index-label{flex:1;min-width:0}
 .guide-index-action{position:relative;display:block;flex:0 0 28px;width:28px;height:28px;border-radius:8px;border:1px solid #c5e5d8;background:#e2f5ed}
 .guide-index-action::before,.guide-index-action::after{content:"";position:absolute;top:50%;left:50%;width:12px;height:2px;border-radius:2px;background:#08775c;transform:translate(-50%,-50%);transition:opacity .16s,transform .16s}
 .guide-index-action::after{transform:translate(-50%,-50%) rotate(90deg)}
 .guide-sidebar.guide-index-open .guide-index-action::after{opacity:0;transform:translate(-50%,-50%) rotate(0deg)}
 .guide-sidebar.guide-index-open .guide-index-toggle{border-color:#8ac9b4;background:#eaf8f1;box-shadow:0 5px 18px rgba(7,68,52,.12)}
 .guide-sidebar .guide-toc{position:absolute;top:calc(100% + 7px);left:0;right:0;z-index:1;display:none;max-height:min(58dvh,calc(100dvh - 156px),460px);overflow-y:auto;overscroll-behavior:contain;margin:0;border:1px solid #d4e8df;box-shadow:0 18px 42px rgba(14,55,43,.20);background:#fff}
 .guide-sidebar.guide-index-open .guide-toc{display:block}
 .guide-main{min-width:0}
}
@media(max-width:600px){
 .guide-layout{gap:10px}
 .guide-main .guide-field{grid-template-columns:minmax(0,1fr)}
 .guide-main .guide-glossary{grid-template-columns:minmax(0,1fr)}
 .guide-main .guide-steps{padding:8px 13px 14px}
 .guide-main .guide-card-head{padding:15px}
 .guide-main .guide-step{overflow-wrap:anywhere}
 .guide-hero{padding:18px}
 .guide-hero h2{font-size:20px}
}

/* Input-select unificado: mismo control, flecha y paleta teal en toda la app. */
.combo-select{min-width:0;width:100%}
.combo-input{width:100%;min-width:0;box-sizing:border-box;padding-right:43px!important;border-color:#bdd8d1!important;color:#173d35!important;background:#fff!important}
.combo-select:focus-within .combo-input{border-color:#16a085!important;box-shadow:0 0 0 3px rgba(15,153,122,.13)!important}
.combo-toggle{display:grid;place-items:center;right:5px;top:5px;width:31px;height:calc(100% - 10px);min-height:29px;border:0;border-radius:8px;background:#e7f7f2!important;color:#0b8268!important;transition:background .15s ease,color .15s ease}
.combo-toggle:hover,.combo-select.combo-open .combo-toggle{background:#d3efe5!important;color:#046950!important}
.combo-toggle .combo-chevron{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-1px,-1px);transition:transform .15s ease}
.combo-select.combo-open .combo-toggle .combo-chevron{transform:rotate(225deg)}
.combo-disabled{opacity:.73}.combo-disabled .combo-input{background:#f4f7f6!important;cursor:not-allowed}.combo-disabled .combo-toggle{cursor:not-allowed}
.combo-option.combo-active{background:#dff5ed;color:#006b50;font-weight:800}
.combo-results{max-width:100%;overflow-x:hidden}
.bc-camera-row .combo-select{flex:1;min-width:0;margin:0}
.bc-camera-row .combo-input{min-height:42px!important;margin:0!important}

.bc-inline{display:inline-flex;margin:8px 0 0;max-width:100%;white-space:normal}

/* Ventas: desglose histórico y neto después de devoluciones (v1.49). */
.sales-net-cell{min-width:145px}
.sales-net-amount{font-weight:850;color:var(--ink);white-space:nowrap}
.sales-refunded-amount{color:var(--muted);white-space:nowrap}
.totals-card .sale-returned{color:var(--danger);font-weight:650}
.totals-card .sale-net-total{margin-top:8px;padding:12px 14px;border-radius:12px;border:1px solid #c5e8d9;background:#edf9f4;color:#116b4e;align-items:center;gap:12px}
.totals-card .sale-net-total strong{font-size:21px;white-space:nowrap}
.totals-card .sale-net-total-voided{border-color:var(--line);background:#f4f6f9;color:var(--muted)}
.totals-card .sale-net-total + .subline{line-height:1.5;margin-top:9px}


/* ATREVO · identidad institucional dorado/negro, sin alterar componentes */
:root{--nav:#101010;--nav2:#222222;--brand:#cc9600;--brand2:#9a7000;--brand-soft:#fff6d7;--ok:#147a55;--ink:#181b21;--bg:#f5f6f7}
.sidebar{background:linear-gradient(180deg,#181818,#111111 64%,#080808)}
.nav a.active,.nav a[aria-current="page"]{border-color:rgba(255,195,0,.42)!important;background:rgba(255,192,0,.13)!important}
.btn-primary{background:linear-gradient(180deg,#f6bf12,#d69b00)!important;border-color:#a67800!important;color:#171717!important}
.btn-primary:hover{background:linear-gradient(180deg,#ffd24b,#e6a600)!important}
.brand-copy strong{letter-spacing:.055em;font-weight:900}
.brand-logo-mark{object-fit:contain;background:white;border-radius:9px;padding:3px}
.login-logo{object-fit:contain}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid #bc8800;outline-offset:2px}
/* ATREVO: notas de pedido. Respeta selectores globales y layouts existentes. */
.order-note-notice{padding:13px 18px;color:#5d4700;background:#fff8df;border-color:#efd995}
.order-note-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.order-note-form{display:grid;gap:17px;max-width:1080px;margin-inline:auto}
.order-note-form .field{display:block;min-width:0}
.order-note-form .field label{display:block;margin-bottom:8px}
.order-note-form .field input:not([type=hidden]),.order-note-form .field select,.order-note-form textarea{width:100%}
.order-note-selected{margin:8px 0;color:#62520a;font-size:12px}
.order-note-form .picker-results{max-height:250px;overflow:auto}
.order-note-result{display:block;width:100%;text-align:left;padding:12px 14px;border:0;border-bottom:1px solid #eee8d7;background:#fff;color:#222;cursor:pointer}
.order-note-result:hover,.order-note-result:focus{background:#fff2c2}
.order-note-result-empty{padding:12px;color:#777}
.order-note-table{max-height:390px}
.order-note-qty{width:84px!important;min-width:74px}
.order-note-total{text-align:right;font-size:16px;margin:12px 0;font-weight:700}
.order-note-total strong{color:#9a7000;font-size:22px}
.order-note-detail{max-width:1080px;margin-inline:auto}
.order-note-comments{white-space:normal}
.order-note-status-buttons{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:690px){.order-note-grid{grid-template-columns:1fr}}

/* Área de guía coherente con ATREVO */
.guide-hero{background:linear-gradient(135deg,#181818 0%,#35312a 68%,#a57d09 100%);color:#fff}
.guide-toc-links a,.guide-toc-category,.guide-toc-options a{color:#896400}
.login-wrap{background:radial-gradient(circle at 15% 16%,#fff3bd,transparent 38%),linear-gradient(135deg,#faf8f1,#f5f6f8)}


/* Ingreso de inventario: guía breve y carrito responsive (sin afectar Ventas). */
.catalog-help{display:grid;gap:7px;padding:14px 17px;margin:0 0 16px;border:1px solid #d3e5dd;border-radius:13px;background:#f6fbf8;color:#244c3a;font-size:12px;line-height:1.5}
.catalog-help strong{font-size:13px;color:#173f30}.catalog-help span{display:block;color:#49665a}.catalog-help a{font-weight:800;color:#126d54;text-decoration:underline;text-underline-offset:2px}
.catalog-help-compact{margin:0 0 13px}.purchase-help{margin-bottom:18px}
.transaction-layout.purchase-entry,.transaction-layout.purchase-entry>.panel{min-width:0;max-width:100%}
.purchase-entry .form-grid>label,.purchase-entry .form-grid>.span-2{min-width:0}
.purchase-entry .remote-picker,.purchase-entry .remote-picker input{min-width:0;max-width:100%}
.purchase-entry .checkout{min-width:0}
.inventory-empty{text-align:center;color:#667085;white-space:normal;padding:22px 15px}
@media(max-width:720px){
  .purchase-entry{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:100%;max-width:100%}
  .purchase-entry>.panel{padding:14px 12px;margin-bottom:0;min-width:0;max-width:100%;overflow:visible}
  .purchase-entry .panel-head{flex-wrap:wrap;min-width:0}
  .purchase-entry .form-grid{grid-template-columns:minmax(0,1fr)}
  .purchase-entry .form-grid>.span-2{grid-column:1}
  .purchase-entry .table-wrap{max-width:100%;min-width:0;max-height:none;overflow:visible;padding:0!important;scrollbar-gutter:auto}
  .purchase-entry .cart-table{display:block;width:100%;min-width:0;border:0}
  .purchase-entry .cart-table thead{display:none}
  .purchase-entry .cart-table tbody{display:grid;gap:12px;width:100%;min-width:0}
  .purchase-entry .cart-table tbody tr:not(.empty-row){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px 10px;width:100%;min-width:0;padding:12px;border:1px solid #dfe7ee;border-radius:12px;background:#fff}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;padding:0;border:0;white-space:normal;overflow-wrap:anywhere}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(1),.purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(2){grid-column:1/-1}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:last-child{grid-column:1/-1;display:flex;align-items:flex-end;border-top:1px solid #edf0f3;padding-top:8px}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(1):before{content:'Producto'}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(2):before{content:'SKU'}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(3):before{content:'Cantidad recibida'}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(4):before{content:'Costo unitario'}
  .purchase-entry .cart-table tbody tr:not(.empty-row) td:nth-child(-n+4):before{display:block;color:#718096;font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
  .purchase-entry .cart-table input[data-cart-qty],.purchase-entry .cart-table input[data-cart-cost]{width:100%;min-width:0;max-width:100%;margin:0;font-size:16px}
  .purchase-entry .cart-table .empty-row{display:block;width:100%}
  .purchase-entry .cart-table .empty-row td{display:block;white-space:normal;border:1px dashed #dfe7ee;border-radius:12px;padding:15px;color:#667085}
  .purchase-entry .checkout{display:grid;grid-template-columns:minmax(0,1fr);gap:11px;justify-items:stretch}
  .purchase-entry .checkout>div:first-child{display:none}
  .purchase-entry .checkout-total{text-align:right}
  .purchase-entry .checkout>.btn{width:100%;max-width:100%}
  .purchase-entry .picker-item{grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .purchase-entry .picker-item span,.purchase-entry .picker-item strong,.purchase-entry .picker-item small{overflow-wrap:anywhere;min-width:0}
}


/* Diálogos de auditoría dentro de la vista: evitar que sobrepasen
   su contenedor durante las transiciones de navegación. */
.audit-detail-modal{max-width:100%;grid-template-columns:minmax(0,1fr)}
.audit-detail-dialog{width:min(980px,calc(100% - 24px));max-width:calc(100% - 24px);min-width:0}
/* v1.50.2 / Retail v1.49 · Ajuste responsive transversal (no cambia datos ni endpoints).
   Los componentes grandes se encogen dentro de la pantalla; las tablas largas
   se convierten en tarjetas sin ocultar celdas ni el ordenamiento. */
.shell{grid-template-columns:264px minmax(0,1fr)}
.main,.content,.panel,.transaction-layout,.transaction-layout>.panel,
.form-grid,.form-grid>*,.sale-meta-grid>*,.sale-payment-grid>*,
.quick-customer-grid>*,.filter-bar>*,.grid-2>*,.grid-3>*,
.app-modal-dialog,.app-modal-body,.remote-picker,.checkout,.table-wrap{
  min-width:0;max-width:100%;
}
.panel-head>div,.sale-customer-head>div,.sale-customer-box,
.sale-customer-head,.checkout>div,.page-actions,.profile-identity{
  min-width:0;
}
.panel-head h2,.panel-head p,.sale-customer-head,.checkout,
.sale-customer-box,.field-help,.badge,.table-wrap td,.topbar-copy{
  overflow-wrap:anywhere;
}
input:not([type=checkbox]):not([type=radio]),select,textarea{min-width:0;max-width:100%}
.form-grid,.sale-meta-grid,.sale-payment-grid,.quick-customer-grid,
.order-note-grid,.profile-details{min-width:0}
.table-wrap{width:100%;min-width:0;max-width:100%;overscroll-behavior-x:contain}
.table-wrap>table{max-width:none}
.app-modal-dialog{min-width:0}
.app-modal-body{min-width:0;max-width:100%;overflow-x:auto}
.page-actions,.form-actions{min-width:0;flex-wrap:wrap}
.page-actions>.btn,.form-actions>.btn{max-width:100%;white-space:normal;text-align:center}
.mobile-sort-tools{display:none}
@media(max-width:860px){
  .shell{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:720px){
  .content{width:100%;max-width:100%}
  .topbar{min-width:0;max-width:100%;padding-inline:12px;gap:9px}
  .topbar-copy{min-width:0}.topbar-copy h1{overflow-wrap:anywhere}
  .topbar-status{flex:0 0 auto}
  .panel{padding:14px 12px}
  .panel-head{flex-wrap:wrap;align-items:flex-start}
  .filter-bar{grid-template-columns:minmax(0,1fr)}
  .filter-bar>.field,.filter-bar>.field.grow,
  .filter-bar>label:not(.field),.filter-bar>.filter-actions{grid-column:1;min-width:0;width:100%}
  .filter-bar>.filter-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:8px}
  .filter-bar>.filter-actions>*{min-width:0;width:100%}
  .form-grid,.sale-meta-grid,.sale-payment-grid,.quick-customer-grid,
  .order-note-grid,.profile-details{grid-template-columns:minmax(0,1fr)}
  .form-grid>.span-2,.sale-payment-grid>.span-2,
  .quick-customer-grid>.quick-name,.quick-customer-grid>.quick-email{grid-column:1/-1}
  .customer-mode-switch{grid-template-columns:minmax(0,1fr)}
  .sale-customer-head{flex-wrap:wrap}
  .customer-current{max-width:100%;overflow-wrap:anywhere}
  .sale-change-preview{grid-column:1/-1;flex-wrap:wrap}
  .sale-change-preview>*{min-width:0}
  .checkout{display:grid;grid-template-columns:minmax(0,1fr);gap:10px;justify-items:stretch}
  .checkout>div:first-child{max-width:100%;margin:0}
  .checkout-total{text-align:right}
  .checkout>.btn{width:100%;min-width:0}
  .form-actions{justify-content:stretch}
  .form-actions>*{flex:1 1 auto}
  .app-modal{padding:8px}
  .app-modal-dialog{width:100%;max-width:100%;max-height:calc(100dvh - 16px)}
  .app-modal-body{padding:12px;overflow-x:auto}
  .app-modal-body .form-grid{grid-template-columns:minmax(0,1fr)}
  .app-modal-body .form-grid>.span-2{grid-column:1}
  /* Listas, informes, kardex y tablas de detalle: tarjetas en móvil.
     Los <table> siguen intactos en DOM, incluidos formularios y acciones. */
  .table-wrap:has(>table.mobile-card-table){scrollbar-gutter:auto;max-height:min(75dvh,800px);overflow-x:hidden;overflow-y:auto}
  .table-wrap>table.mobile-card-table{display:block;width:100%;max-width:100%;min-width:0!important;border-collapse:separate}
  .table-wrap>table.mobile-card-table>thead{display:none}
  .table-wrap>table.mobile-card-table>tbody{display:grid;gap:10px;padding:10px 9px 14px;min-width:0;width:100%}
  .table-wrap>table.mobile-card-table>tbody>tr{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;width:100%;padding:9px 11px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 9px rgba(20,32,51,.04)}
  .table-wrap>table.mobile-card-table>tbody>tr>td{display:grid;grid-template-columns:minmax(0,105px) minmax(0,1fr);align-items:start;column-gap:10px;row-gap:5px;min-width:0;width:100%;border-bottom:1px solid #edf0f4;padding:9px 0;white-space:normal;overflow-wrap:anywhere}
  .table-wrap>table.mobile-card-table>tbody>tr>td:last-child{border-bottom:0}
  .table-wrap>table.mobile-card-table>tbody>tr>td:before{content:attr(data-mobile-label);display:block;color:#65758a;font-size:10px;font-weight:800;letter-spacing:.015em;overflow-wrap:anywhere}
  .table-wrap>table.mobile-card-table>tbody>tr>td:not([data-mobile-label]){display:block}
  .table-wrap>table.mobile-card-table>tbody>tr>td:not([data-mobile-label]):before{content:none}
  .table-wrap>table.mobile-card-table>tbody>tr>td.actions{white-space:normal}
  .table-wrap>table.mobile-card-table>tbody>tr>td input:not([type=checkbox]),
  .table-wrap>table.mobile-card-table>tbody>tr>td select{max-width:100%;min-width:0;width:100%}
  .table-wrap>table.mobile-card-table>tbody>tr>td .audit-diff{min-width:0;max-width:100%;width:100%}
  .table-wrap>table.mobile-card-table>tbody>tr>td.audit-summary,
  .table-wrap>table.mobile-card-table>tbody>tr>td:last-child{min-width:0!important}
  .audit-diff-row{grid-template-columns:minmax(0,1fr)!important}
  .audit-diff-row>*{border-left:0!important;min-width:0;overflow-wrap:anywhere}
  .mobile-sort-tools{display:flex;gap:8px;align-items:end;flex-wrap:wrap;padding:10px 12px 0}
  .mobile-sort-tools label{min-width:0;flex:1 1 140px}
  .mobile-sort-tools select{max-width:100%;min-width:0}
  .mobile-sort-tools button{flex:0 1 auto;align-self:end;max-width:100%}
  /* Carrito de ventas: en vez de siete columnas horizontales, una tarjeta
     por artículo. Compra mantiene su diseño móvil específico ya existente. */
  .transaction-layout[data-transaction-form="sale"]{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;max-width:100%}
  .transaction-layout[data-transaction-form="sale"]>.panel{min-width:0;margin-bottom:0}
  .transaction-layout[data-transaction-form="sale"] .cart-table-wrap{max-height:none;min-width:0;max-width:100%;overflow:visible;scrollbar-gutter:auto;padding:0!important}
  .transaction-layout[data-transaction-form="sale"] .cart-table{display:block;width:100%;max-width:100%;min-width:0;border:0}
  .transaction-layout[data-transaction-form="sale"] .cart-table thead{display:none}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody{display:grid;gap:10px;min-width:0}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td{display:flex;flex-direction:column;gap:4px;align-items:stretch;min-width:0;max-width:100%;border:0;padding:0;white-space:normal;overflow-wrap:anywhere}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(-n+3){grid-column:1/-1}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td::before{display:block;color:#65758a;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.015em}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(1)::before{content:'Producto'}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(2)::before{content:'SKU'}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(3)::before{content:'Local de origen'}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(4)::before{content:'Stock disponible'}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(5)::before{content:'Cantidad'}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(6)::before{content:'Precio base PEN'}
  .transaction-layout[data-transaction-form="sale"] .cart-table tbody tr:not(.empty-row) td:nth-child(7){justify-content:flex-end;align-items:flex-end}
  .transaction-layout[data-transaction-form="sale"] .cart-table input[data-cart-qty]{width:100%;min-width:0;max-width:100%;font-size:16px;margin:0}
  .transaction-layout[data-transaction-form="sale"] .cart-table .empty-row{display:block;min-width:0}
  .transaction-layout[data-transaction-form="sale"] .cart-table .empty-row td{display:block;white-space:normal;min-width:0;border:1px dashed var(--line);border-radius:12px;padding:14px}
}
@media(max-width:375px){
  .table-wrap>table.mobile-card-table>tbody>tr>td{grid-template-columns:minmax(0,85px) minmax(0,1fr);gap:7px}
  .topbar-status{padding:6px;font-size:10px}
  .topbar h1{font-size:17px}
  .app-modal-body{padding:8px}
}

/* 2026-10-27 | Menú lateral: un único desplazamiento de principio a fin.
   Evita que el pie de usuario / Cerrar sesión quede fuera de la pantalla,
   especialmente con las barras dinámicas de los navegadores móviles. */
.sidebar{
    height:100vh; /* respaldo para navegadores antiguos */
    height:100dvh;
    max-height:100dvh;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
}
.sidebar > .sidebar-head{
    flex:0 0 auto;
}
.sidebar > .nav{
    flex:0 0 auto;
    overflow:visible;
}
.sidebar > .sidebar-user{
    flex:0 0 auto;
    margin-top:auto;
    padding-bottom:max(16px, env(safe-area-inset-bottom, 0px));
}
@media(max-width:860px){
    .sidebar{
        top:0;
        bottom:0;
    }
}

/* Alta rápida de cliente en notas (compatible con móvil y navegación AJAX). */
.order-note-customer-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.order-note-customer-head label{margin:0!important}
.order-note-customer-head .btn{white-space:normal;text-align:center}
.order-note-quick-panel{min-width:0;padding:15px;margin-top:12px;border:1px solid #d5e2d7;border-radius:13px;background:#f7faf8}
.order-note-quick-panel[hidden]{display:none!important}
.order-note-quick-panel>strong{display:block;font-size:14px}
.order-note-quick-panel .field-help{margin:5px 0 13px}
.order-note-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.order-note-quick-grid .field{min-width:0}
.order-note-quick-grid .order-note-quick-name{grid-column:1/-1}
.order-note-quick-grid input,.order-note-quick-grid select{width:100%;min-width:0;max-width:100%}
.order-note-quick-actions{display:flex;gap:9px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.order-note-quick-feedback{font-size:12px;margin:8px 0;min-height:0;color:#136c4a}
.order-note-quick-feedback:empty{display:none}
.order-note-quick-feedback.error{color:#a72d2d;font-weight:650}
@media(max-width:640px){.order-note-quick-grid{grid-template-columns:1fr}.order-note-customer-head{align-items:stretch}.order-note-quick-actions>.btn{flex:1 1 130px}.order-note-quick-panel{padding:12px}}

/* Compatibilidad móvil: las listas, combos y filtros pertenecen al contenido,
   que nunca debe dibujarse encima del menú ni de su fondo al abrirlo.
   No cambia la prioridad de los modales globales ni el scroll del menú. */
@media (max-width: 860px) {
    .app-shell .shell > .main {
        position: relative;
        z-index: 0;
        isolation: isolate;
    }
}
