:root{color-scheme:light;--ink:#08213c;--vf-green-primary:#168a4a;--vf-green-dark:#076c39;--vf-green-soft:#eaf7ef;--vf-green-border:#b9dec7;--vf-product-placeholder:#0b1f33;--vf-category-01:#0F4C81;--vf-category-02:#3730A3;--vf-category-03:#6B21A8;--vf-category-04:#9D174D;--vf-category-05:#7C2D12;--vf-category-06:#C2410C;--vf-category-07:#A16207;--vf-category-08:#3F6212;--vf-category-09:#334155;--vf-category-10:#115E59;--green:var(--vf-green-primary);--soft:var(--vf-green-soft);--line:#cfddd6;--error:#a8202a;--vf-density-control-height:36px;--vf-density-control-py:.4rem;--vf-density-control-px:.6rem;--vf-density-control-font:.875rem;--vf-density-label-font:.75rem;--vf-density-help-font:.70rem;--vf-density-gap:.5rem;--vf-density-section-gap:.7rem;--vf-density-panel-padding:.7rem;--vf-density-card-padding:clamp(12px,1.2vw,16px)}
*{box-sizing:border-box}body{margin:0;background:#f3f8f5;color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}
.shell{width:min(1040px,calc(100% - 32px));margin:40px auto}.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(20px,4vw,42px);box-shadow:0 14px 35px #183c2a12}
.brand{letter-spacing:.28em;color:#076c39}.nav,.actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}
.nav{display:flex;flex-wrap:wrap;gap:.35rem;padding:.4rem;background:#f5f9f7;border:1px solid var(--line);border-radius:14px}
.nav a{color:var(--ink);padding:.65rem .85rem;border-radius:10px;text-decoration:none;font-weight:700}
.nav a:hover{background:#e3f1e9}.nav a:focus-visible{outline:3px solid #1f72c9;outline-offset:2px}
.nav a.active{background:var(--green);color:#fff;box-shadow:0 3px 10px #168a4a2b}
.context-nav{align-items:center}.context-nav-label{padding:.55rem .75rem;border-right:1px solid var(--line);color:#166534;font-weight:900;white-space:nowrap}
.actions a{overflow-wrap:anywhere}
h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.15}h2{margin-top:32px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.full{grid-column:1/-1}
label{display:grid;gap:6px;font-weight:700}input:not([type="checkbox"]):not([type="radio"]),select,textarea,button,.button{font:inherit;border-radius:10px;border:1px solid #a9bdb2;padding:12px 14px;min-height:48px}input:not([type="checkbox"]):not([type="radio"]),select,textarea{width:100%;min-width:0}input[type="checkbox"],input[type="radio"]{width:18px;height:18px;min-width:18px;min-height:18px;flex:0 0 18px;padding:0;cursor:pointer;accent-color:var(--vf-green-primary)}textarea{min-height:96px;resize:vertical}.inventory-filter{margin:1rem 0 2rem}
button,.button{display:inline-block;background:var(--green);color:#fff;border:0;text-decoration:none;font-weight:750;cursor:pointer}.secondary{background:#e9f1ed;color:var(--ink)}
.vf-action{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;padding:.6rem .9rem;border:1px solid transparent;border-radius:10px;font:inherit;font-weight:800;line-height:1.2;text-align:center;text-decoration:none;cursor:pointer}.vf-action--primary{border-color:var(--vf-green-dark);background:var(--vf-green-dark);color:#fff}.vf-action--primary:hover{background:#055c31;color:#fff}.vf-action--secondary{border-color:var(--vf-green-primary);background:var(--vf-green-soft);color:var(--vf-green-dark)}.vf-action--secondary:hover,.vf-action--secondary[aria-current="page"]{border-color:var(--vf-green-dark);background:#fff;color:var(--vf-green-dark);box-shadow:inset 0 -3px 0 var(--vf-green-primary)}.vf-action:focus-visible{outline:3px solid #1f72c9;outline-offset:2px}
button:disabled{opacity:.5;cursor:not-allowed}.check{display:flex;align-items:flex-start;gap:.65rem}.check input{width:auto;margin-top:.2rem}
.stepper{list-style:none;padding:0;margin:1rem 0 1.75rem;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem}
.stepper li{min-width:0;display:flex;align-items:center;gap:.55rem;border:1px solid var(--line);border-radius:12px;padding:.65rem;background:#fff}
.stepper strong,.stepper small{display:block}.stepper small{font-size:.75rem;color:#51665d}.step-number{display:grid;place-items:center;flex:0 0 1.8rem;height:1.8rem;border-radius:50%;background:#e8efeb;font-weight:800}
.stepper .complete{background:#eaf7ef;border-color:#79c696}.stepper .complete .step-number{background:var(--green);color:#fff}
.stepper .current{border:2px solid var(--green);background:#f4fbf7}.stepper .current .step-number{background:var(--green);color:#fff}
.stepper .locked{opacity:.62}.next-action{margin-bottom:.5rem}
.plan{border:1px solid var(--line);border-radius:16px;padding:1rem}.warning{background:#fff6dc;border:1px solid #e2bf56}
.mailbox-list{display:grid;gap:1rem}.token{overflow-wrap:anywhere;user-select:all}
.notice{padding:14px 16px;border-radius:12px;background:var(--soft)}.error{background:#fff0f1;color:var(--error);border-left:4px solid var(--error)}
.list{display:grid;gap:12px}.item{border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}
.meta{color:#496258;font-size:.92rem}.danger{background:#a8202a}ul{padding-left:22px}
.module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.module-card{display:grid;gap:.3rem;border:1px solid var(--line);border-radius:12px;padding:1rem;background:#f8fbf9}.module-card span{color:#52675e;font-size:.9rem}
.app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.app-header .brand{margin:.2rem 0}.workspace{margin:.45rem 0 0;font-weight:800}.account-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.65rem;font-weight:700}.status-badge{padding:.45rem .7rem;border-radius:999px;background:#e5f5eb;color:#076c39;font-size:.86rem}.header-dashboard,.header-logout{min-height:auto;padding:.5rem .75rem}.header-logout{background:#edf3f0;color:var(--ink)}
.page-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin:1.5rem 0}.page-heading h1,.page-heading p{margin-top:.35rem}.eyebrow{margin:0;color:#076c39;font-size:.82rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1.25rem 0 2rem}.summary-card{display:grid;gap:.45rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#f8fbf9}.summary-card span{color:#52675e;font-size:.9rem}.summary-card strong{font-size:1.08rem;overflow-wrap:anywhere}.section-heading{margin-top:2rem}.section-heading h2{margin-bottom:.35rem}.section-heading p{margin-top:0;color:#52675e}
.module-card.unavailable{background:#f5f7f6;color:#52615b}.module-card.unavailable small{color:#687a72}.admin-grid,.billing-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.admin-link{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--line);border-radius:14px;color:var(--ink);text-decoration:none;background:#fff}.admin-link:hover{border-color:var(--green);background:#f6fbf8}.admin-link span{color:#52675e;font-size:.9rem}.diagnostic{margin-top:1.25rem;padding:1rem;border:1px solid var(--line);border-radius:14px}.diagnostic summary{cursor:pointer;font-weight:800}.detail-panel,.future-box{border:1px solid var(--line);border-radius:14px;padding:1rem}.detail-panel h2,.future-box h2{margin-top:0}.details{display:grid;grid-template-columns:minmax(8rem,.8fr) minmax(0,1.2fr);gap:.65rem 1rem}.details dt{font-weight:800}.details dd{margin:0;overflow-wrap:anywhere}.future-box{margin-top:1rem;background:#f8fbf9}
.establishment-item{display:grid;grid-template-columns:minmax(0,1fr) auto}.establishment-edit{width:100%}.establishment-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.establishment-state{align-self:end}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.commercial-form{display:grid;gap:1rem}.commercial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:0;padding:0;border:0}
.offer-card{position:relative;display:block;min-width:0;cursor:pointer}.offer-card>input{position:absolute;top:1rem;left:1rem;width:1.25rem;height:1.25rem;min-height:0;margin:0;accent-color:var(--green)}
.offer-body{display:grid;align-content:start;gap:.8rem;height:100%;min-height:18rem;padding:1.2rem 1.2rem 1.2rem 3.25rem;border:2px solid var(--line);border-radius:16px;background:#fff;font-weight:400}
.offer-body>strong{font-size:1.25rem;line-height:1.25}.offer-highlight{font-weight:800;color:#076c39}.offer-total{margin-top:auto;font-size:1.05rem;font-weight:850}.offer-warning{padding:.65rem;border-radius:10px;background:#fff6dc;color:#6a4b00;font-weight:750}
.offer-card>input:checked+.offer-body{border-color:var(--green);background:#f2faf5;box-shadow:0 0 0 3px #168a4a1f}.offer-card>input:focus-visible+.offer-body{outline:3px solid #1f72c9;outline-offset:3px}
.confirmation-panel{margin-top:1.5rem;padding:1.25rem;border:1px solid var(--line);border-radius:16px;background:#f8fbf9}.confirmation-panel h2{margin-top:0}
.module-card{text-decoration:none;color:var(--ink)}.module-card.available:hover{border-color:var(--green);background:#f2faf5}.warehouse-item{align-items:stretch}.warehouse-item form{width:100%}
@media(max-width:820px){.stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-grid{grid-template-columns:1fr}.billing-layout,.commercial-grid{grid-template-columns:1fr}.offer-body{min-height:0}}
@media(max-width:680px){.shell{width:min(100% - 20px,1040px);margin:10px auto}.card{border-radius:14px;padding:18px}.grid{grid-template-columns:1fr}.full{grid-column:auto}.actions{flex-direction:column}.item{align-items:stretch}.item form,.item button{width:100%}.nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.nav a{text-align:center;padding:.7rem .4rem}.stepper{grid-template-columns:1fr}.module-grid,.admin-grid{grid-template-columns:1fr}.app-header,.page-heading{display:grid}.account-summary{justify-content:flex-start}.details{grid-template-columns:1fr}.details dd{margin-bottom:.5rem}.establishment-item{grid-template-columns:1fr}.establishment-actions{align-items:stretch}.establishment-actions .status-badge{text-align:center}.offer-body{padding-left:3rem}h1{overflow-wrap:anywhere}}
.official-registration{display:grid;gap:1.25rem;font-family:Arial,sans-serif}.official-registration fieldset{border:1px solid #cfe4d7;border-radius:16px;padding:1.25rem}.official-registration legend{font-weight:800;color:#076c39;padding:0 .5rem}.registration-hero{text-align:center;margin-bottom:1.2rem}.register-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;list-style:none;padding:0}.register-progress li{background:#eaf6ee;color:#076c39;border-radius:999px;padding:.7rem;text-align:center;font-weight:800}.channel-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem}.coming-soon{display:inline-flex;margin-left:.35rem;padding:.12rem .42rem;border-radius:999px;background:#fff3cd;color:#725100;font-size:.72rem;font-weight:800}.activity-multiselect{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr));gap:.45rem;max-height:22rem;overflow:auto;border:1px solid var(--line,#cfe4d7);border-radius:14px;padding:.8rem}.activity-multiselect legend{font-weight:800;color:var(--green,#076c39);padding:0 .35rem}.activity-option{display:flex;align-items:center;justify-content:flex-start;gap:.45rem;min-width:0;min-height:44px;padding:.55rem .65rem;border:1px solid var(--line,#d9e6de);border-radius:10px;background:#fff;text-align:left;cursor:pointer}.activity-option[hidden]{display:none}.activity-option>span{min-width:0;overflow-wrap:normal;word-break:normal;hyphens:none;text-align:left}.activity-option.is-primary{border-color:var(--green,#168a4a);background:#f2faf5}.activity-primary-action{display:inline-flex;width:auto;min-height:0;flex:0 0 auto;align-items:center;margin-left:auto;padding:.22rem .45rem;border:1px solid #9bc9ad;border-radius:999px;background:#eef7f1;color:#076c39;font-size:.72rem;line-height:1.2;white-space:nowrap}.activity-primary-action[hidden]{display:none}.activity-option>[data-primary-badge]{margin-left:auto;color:var(--green-dark,#076c39);font-weight:800}.activity-empty,.activity-error,.activity-guidance{grid-column:1/-1;margin:.2rem 0}.activity-error{color:#a51d1d;font-weight:750}.activity-multiselect[aria-invalid="true"]{border-color:#c62828;box-shadow:0 0 0 2px #c6282826}@media(max-width:900px){.activity-multiselect{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.register-progress,.channel-list,.activity-multiselect{grid-template-columns:1fr}.official-registration fieldset{padding:.85rem}.activity-multiselect{max-height:19rem}.activity-option .activity-primary-action{width:auto}}
.filter-bar{display:grid;grid-template-columns:minmax(13rem,2fr) repeat(4,minmax(7rem,1fr)) auto;gap:.75rem;align-items:end;margin:1rem 0}.customer-table{display:grid;gap:.5rem}.customer-row{display:grid;grid-template-columns:2fr 1.4fr 1fr .4fr auto;gap:.75rem;align-items:center;padding:.9rem;border:1px solid var(--line,#dbe3e8);border-radius:.75rem;text-decoration:none;color:inherit}.customer-row:hover{border-color:#159447;background:#f6fff8}.pagination{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:1rem}.pagination a{padding:.45rem .7rem;border:1px solid #ccd7dd;border-radius:.5rem;text-decoration:none}.pagination a.active{background:#137a3c;color:#fff}.customer-form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;border:1px solid #dbe3e8;border-radius:.8rem;padding:1rem}.customer-form fieldset,.customer-form .full{grid-column:1/-1}.customer-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.customer-detail>div{padding:.8rem;background:#f7f9fa;border-radius:.65rem}.customer-detail dt{font-size:.8rem;font-weight:700;color:#52616b}.customer-detail dd{margin:.25rem 0 0;overflow-wrap:anywhere}.customer-detail .full{grid-column:1/-1}
@media(max-width:850px){.filter-bar{grid-template-columns:1fr 1fr}.customer-row{grid-template-columns:1fr}.customer-form fieldset,.customer-detail{grid-template-columns:1fr}.filter-bar button{width:100%}}
.dashboard-today{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;margin:1rem 0 1.5rem}.dashboard-today article{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--line);border-radius:14px;background:#f8fbf9}.dashboard-today span{color:#52675e;font-size:.86rem}.dashboard-today strong{font-size:1.35rem}.dashboard-today small{color:#52675e}.dashboard-groups{display:grid;gap:.8rem}.dashboard-group{border:1px solid var(--line);border-radius:16px;background:#fff;overflow:hidden}.dashboard-group>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;cursor:pointer;list-style:none}.dashboard-group>summary::-webkit-details-marker{display:none}.dashboard-group>summary span:first-child{display:grid;gap:.25rem}.dashboard-group>summary small{color:#52675e;font-weight:400}.dashboard-group>summary::after{content:'+';font-size:1.5rem;font-weight:800;color:#168a4a}.dashboard-group[open]>summary::after{content:'−'}.dashboard-group[open]>summary{border-bottom:1px solid var(--line);background:#f8fbf9}.access-count{margin-left:auto;padding:.35rem .65rem;border-radius:999px;background:#e5f5eb;color:#076c39;font-size:.82rem;font-weight:800;white-space:nowrap}.dashboard-module-grid{padding:1rem}.dashboard-indicator{background:#f5f7f6}.dashboard-indicator small{color:#687a72}
@media(max-width:820px){.dashboard-today{grid-template-columns:1fr}.dashboard-group>summary{align-items:flex-start}.dashboard-module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dashboard-group>summary{display:grid;grid-template-columns:1fr auto}.access-count{margin-left:0}.dashboard-module-grid{grid-template-columns:1fr}}

/* VISUAL-STYLE-001: capa visual del panel operativo. */
body{background:linear-gradient(180deg,#edf6f0 0,#f5f7fb 24rem,#f5f7fb 100%)}
.app-header{align-items:center;padding:1rem 1.15rem;border-radius:16px;background:#148a45;box-shadow:0 10px 26px rgba(12,92,47,.2);color:#fff}
.app-header>div:first-child{flex:1 1 22rem;min-width:0}.app-header .brand,.app-header .workspace{color:#fff}.app-header .brand{letter-spacing:.18em}.app-header .workspace{max-width:42rem;line-height:1.25;overflow-wrap:anywhere}
.app-header .account-summary{flex:0 1 auto}
.app-header .status-badge{background:#fff;color:#0b7138;box-shadow:0 2px 8px rgba(2,40,20,.14)}
.app-header .header-dashboard,.app-header .header-logout{border:1px solid rgba(255,255,255,.58);background:rgba(255,255,255,.14);color:#fff}
.app-header .header-dashboard:hover,.app-header .header-logout:hover{background:#fff;color:#0b7138}

.dashboard-today{gap:1rem;margin:1.1rem 0 1.75rem}
.dashboard-today article{position:relative;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:.9rem;min-height:8.5rem;padding:1.2rem 1.25rem;border:1px solid #dce6e1;border-top:5px solid var(--metric-color,#168a4a);border-radius:18px;background:#fff;box-shadow:0 10px 24px rgba(8,33,60,.08)}
.dashboard-today article::before{content:'↗';display:grid;grid-row:1/4;place-items:center;align-self:start;width:2.75rem;height:2.75rem;border-radius:14px;background:var(--metric-soft,#e8f7ee);color:var(--metric-color,#168a4a);font-size:1.25rem;font-weight:900}
.dashboard-today article:nth-child(1){--metric-color:#1b9a50;--metric-soft:#e8f8ee}
.dashboard-today article:nth-child(2){--metric-color:#176f9f;--metric-soft:#e9f4fb}.dashboard-today article:nth-child(2)::before{content:'€'}
.dashboard-today article:nth-child(3){--metric-color:#b6790f;--metric-soft:#fff5dc}.dashboard-today article:nth-child(3)::before{content:'!'}
.dashboard-today article span{align-self:end;color:#52675e;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.dashboard-today article strong{font-size:clamp(1.65rem,3vw,2.15rem);line-height:1.05;color:#08213c}
.dashboard-today article small{color:#64736c}

.dashboard-groups{gap:1rem}
.dashboard-group{--group-color:#168a4a;--group-soft:#edf8f1;border-color:#d9e4de;border-radius:18px;box-shadow:0 7px 20px rgba(8,33,60,.06)}
.dashboard-group[data-dashboard-group="operation"]{--group-color:#2e9e4d;--group-soft:#edf9f0}
.dashboard-group[data-dashboard-group="inventory"]{--group-color:#147b71;--group-soft:#eaf7f5}
.dashboard-group[data-dashboard-group="finance"]{--group-color:#6f55c8;--group-soft:#f1edff}
.dashboard-group[data-dashboard-group="system"]{--group-color:#176f9f;--group-soft:#eaf4fb}
.dashboard-group>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;padding:1.05rem 1.15rem;background:#fff}
.dashboard-group>summary::before{content:'★';display:grid;place-items:center;width:2.5rem;height:2.5rem;border-radius:12px;background:var(--group-soft);color:var(--group-color);font-size:1.15rem;font-weight:900}
.dashboard-group[data-dashboard-group="inventory"]>summary::before{content:'◆'}
.dashboard-group[data-dashboard-group="finance"]>summary::before{content:'€'}
.dashboard-group[data-dashboard-group="system"]>summary::before{content:'✓'}
.dashboard-group>summary span:first-child{display:grid;gap:.18rem}.dashboard-group>summary span:first-child strong{font-size:1.04rem;color:#0b243d}.dashboard-group>summary small{color:#617069}
.dashboard-group>summary::after{color:var(--group-color)}
.dashboard-group[open]>summary{border-bottom-color:#d9e4de;background:var(--group-soft)}
.access-count{background:#fff;color:var(--group-color);border:1px solid color-mix(in srgb,var(--group-color) 30%,white);box-shadow:0 2px 7px rgba(8,33,60,.05)}

.dashboard-module-grid{gap:.85rem;padding:1.05rem;background:#f8faf9}
.dashboard-module-grid .module-card{position:relative;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:.8rem;min-height:8.25rem;padding:1rem;border:1px solid #dbe4df;border-radius:16px;background:#fff;box-shadow:0 6px 15px rgba(8,33,60,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.dashboard-module-grid .module-card::before{content:'•';display:grid;grid-row:1/4;place-items:center;align-self:start;width:2.45rem;height:2.45rem;border-radius:12px;background:var(--group-soft);color:var(--group-color);font-size:1.1rem;font-weight:900}
.dashboard-module-grid .module-card>strong{align-self:end;color:#0b243d;font-size:.98rem;line-height:1.25}
.dashboard-module-grid .module-card>span{color:var(--group-color);font-size:.72rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.dashboard-module-grid .module-card>small{color:#64736c;line-height:1.35}
.dashboard-module-grid .module-card.available:hover{border-color:var(--group-color);background:#fff;box-shadow:0 12px 24px rgba(8,33,60,.12);transform:translateY(-2px)}
.dashboard-module-grid .dashboard-indicator{background:linear-gradient(145deg,#fff,var(--group-soft))}
.dashboard-module-grid .dashboard-indicator::before{content:'●'}

.dashboard-module-grid a[href*="page=sales"]::before{content:'↗'}.dashboard-module-grid a[href*="page=pos"]::before{content:'✦'}.dashboard-module-grid a[href*="page=customers"]::before{content:'◈'}
.dashboard-module-grid a[href*="appointments"]::before{content:'◷'}.dashboard-module-grid a[href*="work_orders"]::before{content:'⌁'}.dashboard-module-grid a[href*="projects"]::before{content:'▦'}.dashboard-module-grid a[href*="logistics"]::before{content:'➜'}
.dashboard-module-grid a[href*="page=catalog"]::before{content:'▦'}.dashboard-module-grid a[href*="page=products"]::before{content:'□'}.dashboard-module-grid a[href*="page=inventory"]::before{content:'◆'}.dashboard-module-grid a[href*="page=suppliers"]::before{content:'♙'}.dashboard-module-grid a[href*="page=purchases"]::before{content:'⇣'}.dashboard-module-grid a[href*="page=establishments"]::before{content:'⌂'}.dashboard-module-grid a[href*="page=warehouses"]::before{content:'▤'}.dashboard-module-grid a[href*="assets.php"]::before{content:'⚙'}
.dashboard-module-grid a[href*="page=invoices"]::before{content:'▧'}.dashboard-module-grid a[href*="page=treasury"]::before{content:'€'}.dashboard-module-grid a[href*="page=bank-accounts"]::before{content:'▥'}.dashboard-module-grid a[href*="page=expenses"]::before{content:'−'}.dashboard-module-grid a[href*="page=reports"]::before{content:'▨'}.dashboard-module-grid a[href*="page=invitation"]::before{content:'♟'}
.dashboard-module-grid a[href*="page=sessions"]::before{content:'✓'}.dashboard-module-grid a[href*="page=billing"]::before{content:'◇'}.dashboard-module-grid a[href*="page=onboarding"]::before{content:'⚙'}.dashboard-module-grid a[href*="page=workflows"]::before{content:'↻'}.dashboard-module-grid a[href*="page=workflow-tasks"]::before{content:'☑'}.dashboard-module-grid a[href="cases.php"]::before{content:'▣'}

@media(max-width:820px){.dashboard-today article{min-height:0}.dashboard-group>summary{grid-template-columns:auto minmax(0,1fr) auto auto}.dashboard-module-grid .module-card{min-height:7.5rem}}
@media(max-width:680px){.app-header{padding:1rem;border-radius:13px}.account-summary{color:#fff}.dashboard-group>summary{grid-template-columns:auto minmax(0,1fr) auto}.dashboard-group>summary::after{grid-column:3;grid-row:1}.access-count{grid-column:2/4;margin:0;justify-self:start}.dashboard-module-grid .module-card{min-height:0}.dashboard-today article{grid-template-columns:auto minmax(0,1fr)}}

/* VISUAL-STYLE-002: lenguaje visual compartido para pantallas operativas. */
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses){width:min(1280px,calc(100% - 32px))}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses)>.card{padding:clamp(18px,2.8vw,34px);background:rgba(255,255,255,.96)}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero{position:relative;overflow:hidden;margin:1.4rem 0;padding:1.5rem 1.65rem;border:1px solid #cfe2d6;border-radius:20px;background:linear-gradient(135deg,#f0faf3 0,#fff 70%);box-shadow:0 10px 26px rgba(8,33,60,.07)}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero::after{content:'';position:absolute;right:-2.5rem;top:-3.5rem;width:10rem;height:10rem;border-radius:50%;background:linear-gradient(145deg,rgba(22,138,74,.18),rgba(23,111,159,.07));pointer-events:none}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero h1{margin:.35rem 0 .55rem;color:#08213c}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero p:last-child{max-width:62rem;margin-bottom:0;color:#52675e}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel{margin:1rem 0;padding:1.2rem 1.25rem;border-color:#d9e4de;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(8,33,60,.065)}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h2,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h3{display:flex;align-items:center;gap:.65rem;margin:0 0 1rem;color:#0b243d}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h2::before,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h3::before{content:'◆';display:grid;place-items:center;flex:0 0 2.35rem;height:2.35rem;border-radius:11px;background:#eaf7ef;color:#168a4a;font-size:.92rem}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) input,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) select,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) textarea{border-color:#c8d8d0;background:#fbfdfc;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) input:focus,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) select:focus,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) textarea:focus{outline:0;border-color:#168a4a;background:#fff;box-shadow:0 0 0 3px rgba(22,138,74,.14)}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .list{gap:.85rem}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .item{border-color:#dce5e0;border-radius:15px;background:linear-gradient(145deg,#fff,#f9fbfa);box-shadow:0 5px 14px rgba(8,33,60,.045)}

/* TPV: flujo guiado y cobro destacado sin alterar los campos enviados. */
.page-pos .hero{border-color:#bfe0cb;background:linear-gradient(135deg,#eaf8ef 0,#f8fcfa 55%,#eef6fb 100%)}
.page-pos .hero::before{content:'TPV';position:absolute;right:1.6rem;bottom:.8rem;color:rgba(22,138,74,.12);font-size:clamp(3rem,8vw,6.5rem);font-weight:950;letter-spacing:.08em}
.page-pos .pos-checkout-panel{padding:0;overflow:hidden;border-color:#c7ded0}
.page-pos .pos-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 1.35rem;border-bottom:1px solid #dce7e1;background:linear-gradient(90deg,#edf8f1,#fff)}
.page-pos .pos-section-heading>div{display:flex;align-items:center;gap:.75rem}.page-pos .pos-section-heading h2{margin:0}.page-pos .pos-section-heading p{margin:0;color:#607169}
.pos-step{display:inline-grid;place-items:center;flex:0 0 2.25rem;width:2.25rem;height:2.25rem;border-radius:50%;background:#168a4a;color:#fff;font-weight:900;box-shadow:0 5px 12px rgba(22,138,74,.22)}
.page-pos .pos-checkout-form{padding:1.35rem}
.pos-product-picker{padding:1rem;border:1px solid #d5e4dc;border-radius:17px;background:#f8fbf9}
.pos-picker-heading{display:flex;align-items:center;gap:.75rem;margin-bottom:.9rem}.pos-picker-heading>div{display:grid;gap:.1rem}.pos-picker-heading strong{font-size:1.05rem}.pos-picker-heading small{color:#617169}
.pos-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.pos-product-option{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto auto;gap:.15rem .65rem;min-height:7.5rem;padding:.9rem;border:2px solid #dbe5e0;border-radius:15px;background:#fff;color:#0b243d;text-align:left;box-shadow:0 5px 14px rgba(8,33,60,.05);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.pos-product-option:hover{border-color:#73bb8f;transform:translateY(-2px);box-shadow:0 9px 18px rgba(8,33,60,.1)}
.pos-product-option.is-selected{border-color:#168a4a;background:#edf8f1;box-shadow:0 0 0 3px rgba(22,138,74,.12)}
.pos-product-icon{display:grid;grid-row:1/4;place-items:center;width:2.35rem;height:2.35rem;border-radius:11px;background:#eaf7ef;color:#168a4a}
.pos-product-option strong{line-height:1.25}.pos-product-option small{color:#66756e;overflow-wrap:anywhere}.pos-product-price{color:#168a4a;font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.pos-payment-panel{margin:0;padding:1.1rem 1.15rem 1.2rem;border:2px solid #c6dfd0;border-radius:17px;background:linear-gradient(145deg,#edf8f1,#fbfdfc)}
.pos-payment-panel legend{display:flex;align-items:center;gap:.55rem;padding:0 .55rem;color:#0b5f32;font-size:1.05rem;font-weight:900}
.pos-payment-panel .grid{align-items:end}.pos-invoice-check{display:flex;align-items:center;gap:.6rem;align-self:end;min-height:48px;padding:.7rem .8rem;border:1px solid #c8d8d0;border-radius:10px;background:#fff}.pos-invoice-check input{width:auto;min-height:0;margin:0;accent-color:#168a4a}
.pos-checkout-submit{min-height:58px;border-radius:14px;background:linear-gradient(90deg,#168a4a,#1da758);box-shadow:0 9px 20px rgba(22,138,74,.22);font-size:1.05rem}.pos-checkout-submit:hover{filter:brightness(.97)}
.page-pos .detail-panel:last-of-type .item::before{content:'✓';display:grid;place-items:center;width:2rem;height:2rem;border-radius:9px;background:#eaf7ef;color:#168a4a;font-weight:900}

/* Catálogo, productos, inventario y almacenes. */
.page-catalog .detail-panel:nth-of-type(4n+1)>h2::before{content:'+'}.page-catalog .detail-panel:nth-of-type(4n+2)>h2::before{content:'▦'}.page-catalog .detail-panel:nth-of-type(4n+3)>h2::before{content:'◇'}.page-catalog .detail-panel:nth-of-type(4n+4)>h2::before{content:'≡'}
.page-catalog .detail-panel>.grid.compact,.page-products .product-form,.page-inventory .inventory-filter,.page-warehouses .detail-panel>.grid{padding:1rem;border:1px solid #e0e8e4;border-radius:14px;background:#f9fbfa}
.page-catalog .item strong,.page-products .product-card strong,.page-warehouses .warehouse-item strong{color:#0b5f32}
.page-products .product-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.page-products .product-card{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-items:stretch;padding:1rem;border-radius:18px;background:#fff;box-shadow:0 8px 20px rgba(8,33,60,.07)}
.page-products .product-card>img,.page-products .product-card>.product-placeholder{grid-row:1/span 4;width:100%;min-height:8rem;border-radius:14px;object-fit:cover;background:linear-gradient(145deg,#eaf7ef,#f4f8f6)}
.page-products .product-card>details,.page-products .product-card>form{grid-column:1/-1}
.page-products .barcode-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.page-products .barcode-row button{white-space:nowrap}
.page-inventory .inventory-filter{position:relative;margin:1rem 0 1.25rem;border-left:5px solid #147b71}
.page-inventory .detail-panel{border-top:4px solid #147b71}.page-inventory .detail-panel>h2::before{background:#eaf7f5;color:#147b71}
.page-inventory table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border:1px solid #dce5e0;border-radius:14px;background:#fff}.page-inventory th{background:#eaf7f5;color:#0e625a;text-align:left}.page-inventory th,.page-inventory td{padding:.8rem;border-bottom:1px solid #e5ebe8}.page-inventory tr:last-child td{border-bottom:0}
.page-warehouses .warehouse-item{position:relative;border-left:5px solid #168a4a;padding:1rem 1.1rem}.page-warehouses .warehouse-item::before{content:'▤';display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:11px;background:#eaf7ef;color:#168a4a;font-weight:900}
.page-warehouses .warehouse-item>.grid{flex:1;min-width:min(100%,36rem)}

@media(max-width:980px){.pos-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-products .product-list{grid-template-columns:1fr}}
@media(max-width:680px){
  :is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses){width:min(100% - 20px,1280px)}
  :is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses)>.card{padding:14px}
  :is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero{padding:1.15rem}
  .page-pos .pos-section-heading{display:grid;padding:1rem}.page-pos .pos-checkout-form{padding:1rem}.pos-product-grid{grid-template-columns:1fr}.pos-product-option{min-height:0}.pos-payment-panel{padding:.9rem}.pos-payment-panel .full{grid-column:auto}
  .page-products .product-card{grid-template-columns:1fr}.page-products .product-card>img,.page-products .product-card>.product-placeholder{grid-row:auto;max-height:13rem}.page-products .barcode-row{grid-template-columns:1fr}
  .page-inventory table{display:block;overflow-x:auto}.page-warehouses .warehouse-item::before{display:none}
}

/* TPV: clientes rápidos, tarjetas de regalo y cashback (TPVBENEFITS001). */
.pos-benefit-tools{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:var(--vf-space-3,12px);margin-block:var(--vf-space-3,12px)}
.pos-benefit-tools>.detail-panel{margin:0}
.pos-benefit-tools summary{cursor:pointer;font-weight:800;color:var(--vf-green-dark,#123f2c)}
.gift-card-list{display:grid;gap:.4rem;margin-top:.7rem;max-height:12rem;overflow:auto}
.gift-card-list span{padding:.45rem .6rem;border:1px solid var(--vf-border,#d8e2dc);border-radius:.65rem;background:#fff}
.cashback-settings{display:grid;grid-template-columns:minmax(14rem,1fr) minmax(20rem,2fr);gap:var(--vf-space-4,16px);align-items:end;margin-top:var(--vf-space-4,16px)}
.pos-payment-line select{width:100%}
@media(max-width:720px){.cashback-settings{grid-template-columns:1fr}.pos-benefit-tools{grid-template-columns:1fr}}

/* UI-CONSISTENCY-AUDIT-001: one shared visual surface for every active screen. */
.shell[class*="page-"] .hero{
  position:relative;margin:.8rem 0;padding:.9rem 1rem;overflow:hidden;
  border:1px solid var(--vf-green-border);border-left:5px solid var(--vf-green-primary);
  border-radius:15px;background:linear-gradient(135deg,var(--vf-green-soft),#fff);
}
.shell[class*="page-"] .hero h1{color:var(--vf-green-dark)}
.shell[class*="page-"] .hero p:last-child{margin-bottom:0;color:#52675e}
.shell[class*="page-"] .detail-panel,
.shell[class*="page-"] .future-box,
.shell[class*="page-"] .diagnostic{
  margin:.65rem 0;padding:var(--vf-density-panel-padding);border-color:var(--vf-green-border);
  border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(8,33,60,.045);
}
.shell[class*="page-"] .detail-panel>h2,
.shell[class*="page-"] .detail-panel>h3{
  display:flex;align-items:center;gap:.5rem;margin-top:0;color:var(--vf-green-dark);
}
.shell[class*="page-"] .detail-panel>h2::before,
.shell[class*="page-"] .detail-panel>h3::before{
  content:' ';display:block;flex:0 0 2rem;height:2rem;border-radius:9px;
  background:var(--vf-green-soft);box-shadow:inset 4px 0 var(--vf-green-primary);
}
.shell[class*="page-"] .item,
.shell[class*="page-"] .module-card,
.shell[class*="page-"] .summary-card,
.shell[class*="page-"] .admin-link{
  border-color:var(--vf-green-border);border-radius:12px;background:#fff;
}
.shell[class*="page-"] .item:hover,
.shell[class*="page-"] .admin-link:hover{border-color:var(--vf-green-primary);background:var(--vf-green-soft)}
.shell[class*="page-"] fieldset{
  margin:.65rem 0;padding:var(--vf-density-panel-padding);border:1px solid var(--vf-green-border);
  border-radius:13px;background:#fbfdfc;
}
.shell[class*="page-"] legend{padding:0 .4rem;color:var(--vf-green-dark);font-weight:850}
.shell[class*="page-"] details{
  border-color:var(--vf-green-border);border-radius:12px;
}
.shell[class*="page-"] details>summary{cursor:pointer;color:var(--vf-green-dark);font-weight:800}
.shell[class*="page-"] table{width:100%;border-collapse:separate;border-spacing:0;background:#fff}
.shell[class*="page-"] th{background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.78rem;text-align:left;text-transform:uppercase;letter-spacing:.035em}
.shell[class*="page-"] th,.shell[class*="page-"] td{padding:.55rem;border-bottom:1px solid #e3ebe7;vertical-align:top}
.shell[class*="page-"] tbody tr:hover{background:#f8fbf9}
.shell[class*="page-"] :is(.list,.module-grid,.summary-grid,.admin-grid,.billing-layout){gap:var(--vf-density-gap)}

/* Focused legacy-to-standard alignment for screens that previously had only partial styling. */
:is(.page-establishments,.page-suppliers,.page-expenses,.page-invoices,.page-sales,.page-treasury,.page-bank-accounts,.page-reports,.page-invitation,.page-sessions,.page-billing,.page-companies,.page-workflows,.page-workflow-tasks,.page-workflow-instances,.page-customers,.page-customer-view) .detail-panel{
  border-top:4px solid var(--vf-green-primary);
}
:is(.page-establishments,.page-suppliers,.page-expenses,.page-invoices,.page-sales,.page-treasury,.page-bank-accounts,.page-reports,.page-invitation,.page-sessions,.page-billing,.page-companies,.page-workflows,.page-workflow-tasks,.page-workflow-instances,.page-customers,.page-customer-view) .module-card{
  box-shadow:0 4px 12px rgba(8,33,60,.045);
}

/* Standalone SaaS engines: same palette, compact controls, cards and contextual return. */
body.standalone-page{margin:0!important;background:#f3f7f4!important;color:var(--ink)!important;font:var(--vf-density-control-font)/1.42 system-ui,-apple-system,"Segoe UI",sans-serif!important}
body.standalone-page>header{
  max-width:1440px;margin:0 auto!important;padding:.85rem clamp(14px,3vw,28px)!important;
  border-radius:0 0 16px 16px;background:var(--vf-green-primary)!important;color:#fff!important;
  box-shadow:0 10px 26px rgba(12,92,47,.18);
}
body.standalone-page>header a{display:inline-flex;min-height:var(--vf-density-control-height);align-items:center;padding:.45rem .7rem;border:1px solid rgba(255,255,255,.55);border-radius:10px;color:#fff!important;text-decoration:none;font-weight:800}
body.standalone-page>header h1{margin:.45rem 0 .15rem;color:#fff}
body.standalone-page>header p{margin:.15rem 0;color:#e7f8ed}
body.standalone-page>main,
body.standalone-page>main.shell{width:min(1400px,calc(100% - 32px))!important;max-width:1400px!important;margin:18px auto!important;padding:0!important}
body.standalone-page>main::before{
  content:'VenFacil';display:block;margin-bottom:.65rem;padding:.5rem .7rem;border:1px solid var(--vf-green-border);
  border-radius:11px;background:#fff;color:var(--vf-green-dark);font-weight:900;letter-spacing:.12em;
}
body.standalone-page>main>p:first-child>a[href*="dashboard"],
body.standalone-page>main>p:first-child>a[href="multicompany.php"]{
  display:inline-flex;min-height:var(--vf-density-control-height);align-items:center;padding:.45rem .7rem;
  border:1px solid var(--vf-green-border);border-radius:10px;background:#fff;color:var(--vf-green-dark);text-decoration:none;font-weight:800;
}
body.standalone-page .card,
body.standalone-page section,
body.standalone-page .ga-head,
body.standalone-page .saas-head{
  border-color:var(--vf-green-border)!important;border-radius:14px!important;background:#fff;
  box-shadow:0 6px 18px rgba(8,33,60,.045);
}
body.standalone-page .card{padding:var(--vf-density-panel-padding)!important}
body.standalone-page .grid,body.standalone-page .cols{gap:var(--vf-density-gap)!important}
body.standalone-page input,body.standalone-page select,body.standalone-page textarea,body.standalone-page button,body.standalone-page .button{
  min-height:var(--vf-density-control-height)!important;padding:var(--vf-density-control-py) var(--vf-density-control-px)!important;
  font-size:var(--vf-density-control-font)!important;box-sizing:border-box;
}
body.standalone-page table{width:100%;border-collapse:separate!important;border-spacing:0;background:#fff}
body.standalone-page th{background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.78rem;text-transform:uppercase;letter-spacing:.035em;text-align:left}
body.standalone-page th,body.standalone-page td{padding:.55rem!important;border-bottom:1px solid #e3ebe7!important}
body.standalone-page .tabs{gap:.45rem!important}
body.standalone-page .tabs :is(a,span){padding:.45rem .65rem!important;border:1px solid var(--vf-green-border);border-radius:999px!important;background:var(--vf-green-soft)!important;color:var(--vf-green-dark)!important}

/* MODULE-HELP-001: reusable contextual help panel for module headers. */
.module-help{display:inline-block;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--ink);text-align:left}
.module-help-trigger{display:inline-flex;min-height:var(--vf-density-control-height);align-items:center;gap:.45rem;padding:.45rem .7rem;border:1px solid var(--vf-green-primary)!important;border-radius:10px;background:#fff!important;color:var(--vf-green-dark)!important;box-shadow:0 3px 10px rgba(8,75,39,.12)!important;cursor:pointer;font-weight:850}
.module-help-trigger:hover,.module-help-trigger:focus-visible{border-color:var(--vf-green-dark)!important;background:var(--vf-green-soft)!important;color:var(--vf-green-dark)!important;box-shadow:0 0 0 3px rgba(21,139,75,.16)!important}
.module-help-trigger>span{display:grid;place-items:center;width:1.35rem;height:1.35rem;border-radius:50%;background:var(--vf-green-dark);color:#fff;font-weight:950}
.module-help-panel{position:fixed!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%);box-sizing:border-box;width:min(31rem,calc(100vw - 2rem));max-height:min(36rem,calc(100dvh - 2rem));margin:0;overflow:auto;padding:1rem!important;border:1px solid var(--vf-green-border)!important;border-radius:14px!important;background:#fff!important;color:var(--ink)!important;box-shadow:0 18px 48px rgba(8,33,60,.28)!important;opacity:1!important;filter:none!important;text-shadow:none!important;line-height:1.45}
.module-help-panel:not([open]){display:none!important}
.module-help-panel[open]{display:block!important}
.module-help-panel::backdrop{background:rgba(4,28,17,.58);backdrop-filter:blur(2px)}
.module-help-panel h2{margin:0 0 .65rem;color:var(--vf-green-dark);font-size:1.15rem}.module-help-panel h3{margin:.85rem 0 .35rem;color:var(--vf-green-dark);font-size:.95rem}.module-help-panel p{margin:.45rem 0;color:#25372f!important}.module-help-panel p strong{color:#123d27!important}.module-help-panel ol{display:grid;gap:.4rem;margin:.45rem 0;padding-left:1.35rem}.module-help-panel li{padding-left:.2rem}.module-page-heading .module-help-panel,.module-page-heading .module-help-panel :is(p,ol,li){color:#25372f!important;text-shadow:none!important}.module-page-heading .module-help-panel :is(h2,h3,strong){color:#123d27!important;text-shadow:none!important}.module-page-heading .module-help-panel .button{color:#fff!important}.module-page-heading .module-help-panel button.secondary{background:#fff!important;color:#123d27!important;border-color:var(--vf-green-border)!important}.module-help-action{margin-top:.85rem!important}.module-help-action .button{color:#fff!important}
.planner-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.5rem}
.module-page-heading{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;overflow:visible;margin:.8rem 0;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.18);border-radius:15px;background:linear-gradient(135deg,var(--vf-green-dark),var(--vf-green-primary));color:#fff;box-shadow:0 12px 30px rgba(8,33,60,.14)}
.module-page-heading>div:first-child{min-width:0}.module-page-heading h1{margin:.15rem 0;color:#fff!important}.module-page-heading p{margin:.2rem 0;color:#dcfce7!important}.module-page-heading .eyebrow{color:#bbf7d0!important}.module-page-heading .planner-header-actions{position:relative;z-index:11}
.catalog-hero{position:relative;z-index:10;overflow:visible;isolation:isolate}

@media(max-width:760px){
  .shell[class*="page-"]{width:min(100% - 16px,1460px)}
  .shell[class*="page-"]>.card{padding:var(--vf-density-card-padding)}
  .shell[class*="page-"] :is(.module-grid,.summary-grid,.admin-grid,.billing-layout,.details){grid-template-columns:1fr}
  .shell[class*="page-"] .item{align-items:stretch}
  .shell[class*="page-"] .item>form,.shell[class*="page-"] .item>details{width:100%}
  body.standalone-page>main,body.standalone-page>main.shell{width:calc(100% - 16px)!important;margin:8px auto!important}
  body.standalone-page>header{border-radius:0 0 12px 12px}
  body.standalone-page .grid,body.standalone-page .cols{grid-template-columns:1fr!important}
  body.standalone-page .table-wrap,body.standalone-page .wide,body.standalone-page .appointments{max-width:100%;overflow-x:auto}
  .module-help{width:100%}.module-help-trigger{width:100%;justify-content:center}.module-help-panel{inset:8px!important;transform:none;width:auto;max-height:calc(100dvh - 16px)}
  .planner-header-actions{width:100%;justify-content:stretch}.planner-header-actions>a{flex:1;text-align:center}
  .module-page-heading{display:grid;align-items:stretch;padding:.75rem}
}
/* CATALOG-REDESIGN-001: catálogo visual en una sola vista */
.page-catalog .card{max-width:1540px}.catalog-workspace{display:grid;gap:18px}.catalog-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:22px 24px;border-radius:22px;background:linear-gradient(135deg,#073b4c,#0b6b56);color:#fff;box-shadow:0 18px 45px rgba(4,47,46,.18)}.catalog-hero h1{margin:.2rem 0 .5rem;max-width:850px;color:#fff}.catalog-hero p{margin:0;color:#dcfce7}.catalog-hero .eyebrow{color:#86efac}.catalog-columns{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:18px;align-items:start}.catalog-sidebar{position:sticky;top:16px;border:1px solid #cfe6d8;border-radius:20px;background:#f7fcf8;padding:14px;box-shadow:0 12px 34px rgba(7,59,76,.08)}.catalog-sidebar-heading{display:flex;align-items:center;justify-content:space-between;padding:6px 4px 12px}.catalog-sidebar-heading>div{display:flex;align-items:center;gap:9px}.catalog-icon{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:#dcfce7;color:#15803d}.catalog-quick-create{margin-bottom:12px;padding:10px;border:1px solid #b9dec7;border-radius:14px;background:#fff}.catalog-quick-create summary{font-weight:800;color:#14532d;cursor:pointer}.catalog-quick-create form{display:grid;gap:8px;margin-top:10px}.catalog-category-list{display:grid;gap:8px}.catalog-category-choice{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px;text-align:left;border:1px solid transparent;border-radius:15px;background:#fff;color:#0f172a;box-shadow:none}.catalog-category-choice strong,.catalog-category-choice small{display:block}.catalog-category-choice small{margin-top:3px;color:#64748b;font-size:.76rem}.catalog-category-thumb{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border-radius:13px;background:#e2f6e9;color:#16a34a;font-size:1.35rem}.catalog-category-thumb img{width:100%;height:100%;object-fit:cover}.catalog-choice-stock{font-weight:800;color:#166534;font-size:.78rem}.catalog-stage{min-width:0}.catalog-category-panel{display:grid;gap:16px}.catalog-category-header{display:grid;grid-template-columns:150px minmax(220px,1fr) minmax(300px,1.2fr);gap:18px;align-items:center;padding:18px;border:1px solid #b9dec7;border-radius:20px;background:#fff}.catalog-level-image{display:grid;place-items:center;overflow:hidden;aspect-ratio:4/3;border:1px dashed #9dcfb0;border-radius:16px;background:#f0faf3;color:#64748b}.catalog-level-image.small{width:105px}.catalog-level-image img{width:100%;height:100%;object-fit:cover}.catalog-level-title h2{margin:.2rem 0 .35rem}.catalog-level-title p{margin:0;color:#64748b}.catalog-live-counters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.catalog-live-counters div,.catalog-model-metrics div{padding:11px;border-radius:13px;background:#f1f8f3;border-left:4px solid #22c55e}.catalog-live-counters span,.catalog-model-metrics span{display:block;color:#64748b;font-size:.72rem;text-transform:uppercase;font-weight:800}.catalog-live-counters strong,.catalog-model-metrics strong{display:block;margin-top:4px;font-size:1.25rem;color:#052e2b}.catalog-category-tools,.catalog-subcategory-actions,.catalog-product-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:9px}.catalog-category-tools{padding:12px 14px;border-radius:16px;background:#f8fafc}.catalog-category-edit{flex:1 0 100%;width:100%;padding:10px 12px;border:1px solid var(--vf-border);border-radius:12px;background:var(--vf-surface)}.catalog-category-edit>summary{cursor:pointer;font-weight:800;color:var(--vf-green-dark)}.catalog-category-edit[open]>summary{margin-bottom:10px}.catalog-category-edit form{margin:0}.catalog-image-form{display:flex;align-items:flex-end;gap:8px}.catalog-image-form label{max-width:250px}.catalog-inline-create{display:flex;align-items:flex-end;gap:10px;padding:14px;border:1px solid #bbdfc8;border-radius:16px;background:#edfbf2}.catalog-inline-create label{flex:1}.catalog-inline-create span{display:block;font-weight:800}.catalog-subcategory-list{display:grid;gap:13px}.catalog-subcategory-card{overflow:hidden;border:1px solid #cbded1;border-radius:18px;background:#fff}.catalog-subcategory-card>summary{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 16px;cursor:pointer;list-style:none}.catalog-subcategory-card>summary::-webkit-details-marker{display:none}.catalog-subcategory-card[open]>summary{background:#f0faf3;border-bottom:1px solid #cfe6d8}.catalog-subcategory-thumb{display:grid;place-items:center;width:54px;height:54px;overflow:hidden;border-radius:14px;background:#dcfce7;color:#16a34a;font-size:1.25rem}.catalog-subcategory-thumb img{width:100%;height:100%;object-fit:cover}.catalog-subcategory-card summary strong,.catalog-subcategory-card summary small{display:block}.catalog-subcategory-card summary small{margin-top:3px;color:#64748b}.catalog-summary-metrics{display:flex;gap:8px;color:#64748b;font-size:.82rem}.catalog-summary-metrics b{color:#166534}.catalog-subcategory-body{display:grid;gap:14px;padding:16px}.catalog-subcategory-actions{padding-bottom:12px;border-bottom:1px solid #e2e8f0}.catalog-model-create{background:#fff9e8;border-color:#f5d77a}.catalog-optional-image{max-width:300px}.catalog-model-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:13px}.catalog-model-card{display:grid;gap:12px;padding:13px;border:1px solid #d6e3da;border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06)}.catalog-model-image{display:grid;place-items:center;height:155px;overflow:hidden;border-radius:14px;background:#f3f8f4;color:#64748b}.catalog-model-image img{width:100%;height:100%;object-fit:cover}.catalog-model-heading{display:flex;justify-content:space-between;gap:10px}.catalog-model-heading h3{margin:0;font-size:1rem}.catalog-model-heading small{color:#64748b}.catalog-model-metrics{display:grid;grid-template-columns:1fr 1fr;gap:8px}.catalog-advanced{border-top:1px solid #e2e8f0;padding-top:9px}.catalog-advanced>summary,.catalog-configuration>summary{cursor:pointer;font-weight:800;color:#14532d}.catalog-advanced[open]>summary{margin-bottom:12px}.catalog-variants{margin-top:12px;padding:12px;border-radius:14px;background:#f8fafc}.catalog-variant-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid #e2e8f0}.catalog-configuration{padding:16px;border:1px solid #cbded1;border-radius:18px;background:#fff}.catalog-configuration[open]>summary{margin-bottom:14px}.catalog-empty{display:grid;place-items:center;min-height:420px;padding:40px;text-align:center;border:2px dashed #b9dec7;border-radius:22px;background:#f7fcf8}.catalog-empty>span{font-size:3rem;color:#22c55e}.catalog-empty h2{margin:.5rem 0}.catalog-mobile-toggle{display:none}
@media (max-width:1050px){.catalog-category-header{grid-template-columns:110px 1fr}.catalog-live-counters{grid-column:1/-1}.catalog-columns{grid-template-columns:250px minmax(0,1fr)}.catalog-live-counters{grid-template-columns:repeat(4,1fr)}}
@media (max-width:760px){.catalog-hero{display:grid}.catalog-mobile-toggle{display:inline-flex;justify-self:start}.catalog-columns{display:block}.catalog-sidebar{display:none;position:static;margin-bottom:14px}.catalog-sidebar.is-open{display:block}.catalog-category-header{grid-template-columns:90px 1fr}.catalog-live-counters{grid-template-columns:repeat(2,1fr)}.catalog-subcategory-card>summary{grid-template-columns:46px 1fr}.catalog-summary-metrics{grid-column:2}.catalog-inline-create,.catalog-image-form{display:grid;align-items:stretch}.catalog-model-grid{grid-template-columns:1fr}.catalog-category-tools,.catalog-subcategory-actions{align-items:stretch}.catalog-level-image.small{width:100%;max-width:180px}.catalog-choice-stock{display:none}}

/* CATALOG-CLEANUP-AND-SCANNER-FIX-001: paleta compartida y lector visible. */
.catalog-products-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid var(--vf-green-border);border-radius:16px;background:var(--vf-green-soft)}
.catalog-products-cta div{display:grid;gap:3px}.catalog-products-cta span{color:#52675e;font-size:.9rem}.catalog-products-cta .button{white-space:nowrap}
.app-header{background:var(--vf-green-primary)}
.app-header .status-badge,.app-header .header-dashboard:hover,.app-header .header-logout:hover{color:var(--vf-green-dark)}
.dashboard-group,.dashboard-group[data-dashboard-group="operation"],.dashboard-group[data-dashboard-group="inventory"],.dashboard-group[data-dashboard-group="finance"],.dashboard-group[data-dashboard-group="system"]{--group-color:var(--vf-green-primary);--group-soft:var(--vf-green-soft)}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h2::before,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h3::before{background:var(--vf-green-soft);color:var(--vf-green-primary)}
.catalog-hero{background:linear-gradient(135deg,var(--vf-green-dark),var(--vf-green-primary))}
.catalog-icon,.catalog-category-thumb,.catalog-subcategory-thumb{background:var(--vf-green-soft);color:var(--vf-green-primary)}
.catalog-category-choice:hover,.catalog-category-choice:focus-visible,.catalog-category-choice.is-selected,.catalog-category-choice[aria-pressed="true"]{border-color:var(--vf-category-accent);background:var(--vf-category-accent);box-shadow:0 0 0 3px var(--vf-green-primary);transform:none}
.catalog-live-counters div,.catalog-model-metrics div{border-left-color:var(--vf-green-primary)}
.catalog-choice-stock,.catalog-summary-metrics b,.catalog-quick-create summary,.catalog-advanced>summary,.catalog-configuration>summary{color:var(--vf-green-dark)}
.page-inventory .inventory-filter{border-left-color:var(--vf-green-primary)}
.page-inventory .detail-panel{border-top-color:var(--vf-green-primary)}
.page-inventory .detail-panel>h2::before,.page-inventory th{background:var(--vf-green-soft);color:var(--vf-green-dark)}
.page-warehouses .warehouse-item{border-left-color:var(--vf-green-primary)}
.page-warehouses .warehouse-item::before{background:var(--vf-green-soft);color:var(--vf-green-primary)}
html.scanner-open{overflow:hidden}
.scanner-dialog{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:clamp(12px,4vw,32px);background:rgba(3,22,14,.74);backdrop-filter:blur(4px)}
.scanner-dialog[hidden]{display:none!important}
.scanner-dialog>div{display:grid;gap:14px;width:min(680px,100%);max-height:calc(100dvh - 24px);overflow:auto;padding:clamp(16px,3vw,26px);border:1px solid var(--vf-green-border);border-radius:20px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.35)}
.scanner-dialog h2{margin:0;color:var(--vf-green-dark)}
.scanner-dialog video{display:block;width:100%;height:auto;min-height:min(52vw,260px);max-height:58dvh;aspect-ratio:4/3;object-fit:cover;border:3px solid var(--vf-green-primary);border-radius:16px;background:#07110c}
.scanner-dialog [data-scanner-message]{margin:0;padding:10px 12px;border-radius:10px;background:var(--vf-green-soft);color:var(--vf-green-dark);font-weight:750}
.scanner-dialog [data-scanner-cancel]{justify-self:end}
@media(max-width:760px){.catalog-products-cta{display:grid}.catalog-products-cta .button{width:100%;white-space:normal;text-align:center}.scanner-dialog{padding:10px}.scanner-dialog>div{max-height:calc(100dvh - 20px)}.scanner-dialog video{min-height:42vh;max-height:56vh}}
.catalog-category-panel[hidden]{display:none!important}
.inline-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}

/* PURCHASE-PRICING-001: compra por factura con múltiples líneas y márgenes opcionales. */
.page-purchases{width:min(1460px,calc(100% - 32px))}
.page-purchases>.card{padding:clamp(18px,2.8vw,34px);background:rgba(255,255,255,.97)}
.purchase-composer{margin:1.2rem 0 1.5rem;overflow:hidden;border:1px solid var(--vf-green-border);border-radius:22px;background:#fff;box-shadow:0 14px 38px rgba(8,33,60,.09)}
.purchase-composer-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.3rem 1.5rem;background:linear-gradient(120deg,var(--vf-green-dark),var(--vf-green-primary));color:#fff}
.purchase-composer-heading h2{margin:.2rem 0;color:#fff}.purchase-composer-heading .meta,.purchase-composer-heading .eyebrow{margin:0;color:#dcfce7}.purchase-composer-heading .eyebrow{text-transform:uppercase;font-weight:900;letter-spacing:.08em;font-size:.72rem}
.purchase-form{padding:1.35rem}.purchase-header-fields{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;padding:1rem;border:1px solid #dce8e1;border-radius:16px;background:#f8fbf9}.purchase-header-fields label{margin:0}.purchase-header-fields small{display:block;margin-top:.3rem;color:#607169}
.purchase-lines-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.35rem 0 .75rem}.purchase-lines-heading h3{margin:0;color:var(--vf-green-dark)}
.purchase-lines-wrap{border:1px solid #dbe7e0;border-radius:16px}.purchase-lines{width:100%;min-width:1080px;border-collapse:collapse}.purchase-lines th{padding:.75rem;background:var(--vf-green-soft);color:var(--vf-green-dark);text-align:left;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.purchase-lines td{padding:.7rem;border-top:1px solid #e3ebe7;vertical-align:top}.purchase-lines input,.purchase-lines select{min-width:7rem;margin:0}.purchase-lines td:first-child select{min-width:16rem}.purchase-lines output{display:block;min-width:9rem;padding:.72rem .35rem;color:var(--vf-green-dark);font-weight:850}.purchase-lines small{display:block;max-width:18rem;margin-top:.3rem;color:#617169}.compact{min-width:2.4rem;padding:.55rem .7rem}
.purchase-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;margin:1rem 0;padding:1rem;border-radius:16px;background:#f5f9f7}.purchase-totals div{display:grid;gap:.25rem;padding:.85rem;border:1px solid #d9e5de;border-radius:13px;background:#fff}.purchase-totals span{color:#617169;font-size:.78rem;text-transform:uppercase;font-weight:800}.purchase-totals strong{font-size:1.25rem;color:#0b243d}.purchase-totals .grand-total{border-color:var(--vf-green-primary);background:var(--vf-green-soft)}.purchase-totals .grand-total strong{color:var(--vf-green-dark);font-size:1.45rem}
.purchase-submit{display:flex;align-items:center;justify-content:space-between;gap:1rem}.purchase-submit p{max-width:55rem;margin:0}.purchase-submit button{min-height:52px;padding-inline:1.6rem}.purchase-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem;margin:.8rem 0}.purchase-detail-summary span{display:grid;gap:.2rem;padding:.7rem;border-radius:11px;background:#f4f8f6;color:#617169}.purchase-detail-summary strong{color:#0b243d}
@media(max-width:1100px){.purchase-header-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.page-purchases{width:min(100% - 20px,1460px)}.page-purchases>.card{padding:14px}.purchase-composer-heading,.purchase-submit{display:grid}.purchase-form{padding:1rem}.purchase-header-fields,.purchase-totals,.purchase-detail-summary{grid-template-columns:1fr}.purchase-lines-heading{align-items:stretch}.purchase-lines-heading .button,.purchase-lines-heading button,.purchase-submit button{width:100%}}

/* PURCHASE-FULL-REDESIGN-001: documento, costes, logística, pago e historial. */
.purchase-form fieldset{margin:0 0 1rem;padding:0;border:0}.purchase-form fieldset>legend{margin:0 0 .55rem;color:var(--vf-green-dark);font-size:1rem;font-weight:900}.purchase-form fieldset[hidden]{display:none}
.purchase-form .purchase-header-fields{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-form .purchase-header-fields .full{grid-column:1/-1}.purchase-form textarea{min-height:6rem}
.purchase-cost-fields{background:#fffaf0;border-color:#f2d59a}.purchase-period-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.75rem;margin:1rem 0}.purchase-period-summary article{display:grid;gap:.35rem;padding:1rem;border:1px solid var(--vf-green-border);border-radius:14px;background:linear-gradient(145deg,#fff,var(--vf-green-soft))}.purchase-period-summary span{color:#607169;font-size:.75rem;font-weight:850;text-transform:uppercase}.purchase-period-summary strong{color:var(--vf-green-dark);font-size:1.35rem}.purchase-history-filters{align-items:end}
.purchase-totals{grid-template-columns:repeat(5,minmax(0,1fr))}.purchase-detail-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.purchase-page .section-heading{align-items:center}
@media(max-width:1100px){.purchase-form .purchase-header-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-period-summary,.purchase-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.purchase-form .purchase-header-fields,.purchase-period-summary,.purchase-totals{grid-template-columns:1fr}.purchase-page .section-heading{display:grid}.purchase-page .section-heading .button{width:100%}}
.purchase-import-panel,.purchase-quick-supplier{margin:1rem 0;padding:1rem;border:1px solid var(--vf-border,#cfe0d4);border-radius:16px;background:#f7fbf8}.purchase-import-panel h2{margin:.25rem 0 .75rem;font-size:1rem}.purchase-import-panel input[type=file]{display:block;margin-top:.35rem}.purchase-quick-supplier summary{cursor:pointer;font-weight:700;color:var(--vf-green-dark,#0f6a3f)}.purchase-quick-supplier[open] summary{margin-bottom:1rem}
.purchase-quick-supplier>summary{list-style-position:inside;padding:.65rem .8rem;border-radius:10px;background:#edf8f0}.purchase-quick-supplier>summary:hover,.purchase-quick-supplier>summary:focus-visible{background:#dff2e5;outline:2px solid var(--vf-green,#22a447);outline-offset:2px}.purchase-quick-supplier form.grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end}.purchase-quick-supplier form.grid .full{grid-column:1/-1}.purchase-import-panel [data-import-status]:not(:empty),.purchase-quick-supplier [data-quick-supplier-status]:not(:empty){display:block;margin-top:.75rem;padding:.65rem .8rem;border-radius:10px;background:#edf8f0;color:var(--vf-green-dark,#0f6a3f);font-weight:700}

/* UI-DENSITY-001: estándar compacto compartido por módulos actuales y futuros. */
body{font-size:.95rem;line-height:1.42}
.shell{margin:24px auto}.card{padding:var(--vf-density-card-padding)}
.shell,.card,.app-header>*,.account-summary,.section-heading>*,.purchase-page,.purchase-composer,.purchase-import-panel,.purchase-quick-supplier{min-width:0}
p,.meta,small,.help,.hint{overflow-wrap:anywhere}
.table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
h1{margin-block:.5rem .75rem}h2{margin-block:1.25rem .55rem}h3{margin-block:1rem .45rem}
.grid{gap:var(--vf-density-gap)}.actions{gap:var(--vf-density-gap)}
label{gap:.3rem;font-size:var(--vf-density-label-font);line-height:1.3}
input:not([type="checkbox"]):not([type="radio"]),select,textarea,button,.button{min-height:var(--vf-density-control-height);padding:var(--vf-density-control-py) var(--vf-density-control-px);font-size:var(--vf-density-control-font);line-height:1.25}
textarea{min-height:74px}.meta,small,.help,.hint{font-size:var(--vf-density-help-font);line-height:1.38}
.item,.module-card,.admin-link,.detail-panel,.future-box,.diagnostic{padding:var(--vf-density-panel-padding)}
.list,.mailbox-list,.dashboard-groups{gap:var(--vf-density-gap)}
.page-heading{gap:1rem;margin:1rem 0}.summary-grid,.dashboard-today{gap:var(--vf-density-gap);margin:.8rem 0 1rem}
.summary-card,.dashboard-today article{padding:var(--vf-density-panel-padding)}
.nav a{padding:.48rem .65rem}.status-badge{padding:.32rem .55rem}

/* Dashboard compacto sin perder jerarquía. */
.dashboard-today article{min-height:6.4rem;column-gap:.65rem;border-radius:14px}
.dashboard-today article::before{width:2.25rem;height:2.25rem;border-radius:10px}
.dashboard-today article strong{font-size:clamp(1.35rem,2.4vw,1.8rem)}
.dashboard-group{border-radius:14px}.dashboard-group>summary{padding:.72rem .85rem}
.dashboard-group>summary::before{width:2.15rem;height:2.15rem;border-radius:10px}
.dashboard-module-grid{gap:var(--vf-density-gap);padding:.75rem}
.dashboard-module-grid .module-card{min-height:6.3rem;padding:.75rem;border-radius:13px}
.dashboard-module-grid .module-card::before{width:2.1rem;height:2.1rem;border-radius:10px}

/* Superficies operativas compartidas: TPV, Catálogo, Productos, Inventario y Almacenes. */
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses)>.card{padding:var(--vf-density-card-padding)}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero{margin:.8rem 0;padding:.9rem 1rem;border-radius:15px}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel{margin:.65rem 0;padding:var(--vf-density-panel-padding);border-radius:14px}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h2,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h3{gap:.5rem;margin-bottom:.65rem}
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h2::before,
:is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .detail-panel>h3::before{flex-basis:2rem;height:2rem}
.page-pos .pos-section-heading{padding:.75rem .85rem}.page-pos .pos-checkout-form{padding:.85rem}
.pos-product-picker,.pos-payment-panel{padding:.75rem;border-radius:14px}.pos-product-grid{gap:.55rem}
.pos-product-option{min-height:5.8rem;padding:.65rem;border-radius:12px}.pos-product-icon{width:2rem;height:2rem}
.pos-invoice-check{min-height:var(--vf-density-control-height);padding:.45rem .6rem}
.catalog-workspace,.catalog-category-panel,.catalog-subcategory-list{gap:var(--vf-density-gap)}
.catalog-hero{gap:1rem;padding:.9rem 1rem;border-radius:16px}.catalog-columns{gap:.75rem}
.catalog-sidebar{padding:.7rem;border-radius:15px}.catalog-category-choice{padding:.55rem;gap:.55rem;border-radius:12px}
.catalog-category-thumb{width:40px;height:40px;border-radius:10px}
.catalog-category-header{gap:.75rem;padding:.8rem;border-radius:15px}
.catalog-live-counters{gap:.45rem}.catalog-live-counters div,.catalog-model-metrics div{padding:.55rem;border-radius:10px}
.catalog-category-tools,.catalog-inline-create,.catalog-subcategory-body,.catalog-configuration{padding:.7rem}
.catalog-subcategory-card,.catalog-configuration{border-radius:14px}.catalog-subcategory-card>summary{padding:.65rem .8rem}
.catalog-model-grid{gap:.65rem}.catalog-model-card{gap:.6rem;padding:.7rem;border-radius:13px}.catalog-model-image{height:120px}
.page-products .product-list{gap:.7rem}.page-products .product-card{padding:.75rem;border-radius:14px}
.page-inventory th,.page-inventory td{padding:.55rem}.page-warehouses .warehouse-item{padding:.7rem .8rem}

/* Compras: máxima ganancia de densidad, conservando campos y cálculos. */
.page-purchases>.card{padding:var(--vf-density-card-padding)}
.purchase-import-panel,.purchase-quick-supplier{margin:.6rem 0;padding:.7rem;border-radius:13px}
.purchase-import-panel h2{margin:.15rem 0 .45rem}.purchase-quick-supplier[open] summary{margin-bottom:.6rem}
.purchase-quick-supplier>summary{padding:.48rem .6rem}
.purchase-composer{margin:.75rem 0 1rem;border-radius:16px}
.purchase-composer-heading{gap:.65rem;padding:.8rem 1rem}.purchase-form{padding:.85rem}
.purchase-form fieldset{margin-bottom:.7rem}.purchase-form fieldset>legend{margin-bottom:.38rem;font-size:.9rem}
.purchase-header-fields{gap:.55rem;padding:.65rem;border-radius:12px}
.purchase-header-fields small{margin-top:.15rem}.purchase-form textarea{min-height:74px}
.purchase-lines-heading{gap:.65rem;margin:.8rem 0 .45rem}.purchase-lines-wrap{border-radius:12px}
.purchase-lines th{padding:.5rem}.purchase-lines td{padding:.45rem}
.purchase-lines input,.purchase-lines select{min-height:36px;padding:.38rem .5rem}
.purchase-lines output{padding:.48rem .25rem}.purchase-lines small{margin-top:.15rem}
.purchase-totals{gap:.5rem;margin:.65rem 0;padding:.6rem;border-radius:12px}
.purchase-totals div{gap:.15rem;padding:.55rem;border-radius:10px}.purchase-totals strong{font-size:1.08rem}.purchase-totals .grand-total strong{font-size:1.22rem}
.purchase-submit{gap:.65rem}.purchase-submit button{min-height:42px;padding-inline:1rem}
.purchase-period-summary{gap:.5rem;margin:.65rem 0}.purchase-period-summary article{gap:.2rem;padding:.65rem;border-radius:11px}.purchase-period-summary strong{font-size:1.1rem}
.purchase-detail-summary{gap:.45rem;margin:.55rem 0}.purchase-detail-summary span{padding:.5rem}

@media(max-width:1100px){
  :root{--vf-density-card-padding:16px}
  .shell{margin:16px auto}
  .purchase-form .purchase-header-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  :root{--vf-density-control-height:40px;--vf-density-card-padding:12px;--vf-density-gap:.55rem;--vf-density-panel-padding:.7rem}
  .shell{margin:8px auto}.card{border-radius:12px}
  .app-header{padding:.75rem}.page-heading{margin:.7rem 0}
  .account-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.account-summary>*{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}.account-summary>span:first-child{align-self:center}
  .nav a,.context-nav-label{min-width:0;white-space:normal;overflow-wrap:anywhere}.context-nav-label{text-align:center}
  .dashboard-group>summary{padding:.65rem}.dashboard-module-grid{padding:.6rem}
  :is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses)>.card,.page-purchases>.card{padding:var(--vf-density-card-padding)}
  :is(.page-pos,.page-catalog,.page-products,.page-inventory,.page-warehouses) .hero{padding:.75rem}
  .purchase-page .section-heading,.purchase-page .section-heading>div,.purchase-page .section-heading .actions{min-width:0;max-width:100%;width:100%}
  .purchase-import-panel input[type=file]{max-width:100%}
  .purchase-composer-heading,.purchase-form{padding:.7rem}.purchase-header-fields{padding:.55rem}
  .purchase-form .purchase-header-fields,.purchase-period-summary,.purchase-totals,.purchase-detail-summary{grid-template-columns:1fr}
  .purchase-lines-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .catalog-hero{padding:.75rem}.catalog-category-header{padding:.65rem}.catalog-empty{min-height:250px;padding:1rem}
}

/* CATALOG-DENSITY-FIX-AND-PLANNER-FLOW-001 */
.page-catalog .catalog-workspace{font-size:var(--vf-density-control-font);gap:var(--vf-density-gap)}
.page-catalog .catalog-hero{align-items:center;gap:var(--vf-density-gap);padding:.72rem .85rem;border-radius:14px}
.page-catalog .catalog-hero h1{margin:.12rem 0 .25rem;font-size:clamp(1.25rem,2.2vw,1.65rem)}
.page-catalog .catalog-hero p{font-size:var(--vf-density-help-font);line-height:1.35}
.page-catalog .catalog-columns{grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:var(--vf-density-gap)}
.page-catalog .catalog-sidebar{top:.55rem;padding:.55rem;border-radius:13px}
.page-catalog .catalog-sidebar-heading{padding:.15rem .2rem .45rem}
.page-catalog .catalog-quick-create{margin-bottom:.45rem;padding:.5rem;border-radius:11px}
.page-catalog .catalog-quick-create form{gap:.4rem;margin-top:.45rem}
.page-catalog .catalog-category-list{gap:.35rem;max-height:calc(100dvh - 15rem);overflow:auto;overscroll-behavior:contain;padding-right:.15rem}
.page-catalog .catalog-category-choice{grid-template-columns:34px minmax(0,1fr) auto;gap:.45rem;padding:.42rem;border-radius:10px}
.page-catalog .catalog-category-thumb{width:34px;height:34px;border-radius:8px;font-size:1rem}
.page-catalog .catalog-category-choice small{margin-top:.08rem;font-size:var(--vf-density-help-font);line-height:1.25}
.page-catalog .catalog-category-choice strong{font-size:.86rem;line-height:1.2}
.page-catalog .catalog-category-header{grid-template-columns:72px minmax(180px,.8fr) minmax(280px,1.2fr);gap:.6rem;padding:.62rem;border-radius:13px}
.page-catalog .catalog-category-header>.catalog-level-image{width:72px;height:58px;aspect-ratio:auto;border-radius:10px}
.page-catalog .catalog-level-title h2{margin:.08rem 0 .18rem;font-size:1.05rem}
.page-catalog .catalog-level-title p{font-size:var(--vf-density-help-font);line-height:1.3}
.page-catalog .catalog-live-counters{gap:.35rem}
.page-catalog .catalog-live-counters div,.page-catalog .catalog-model-metrics div{padding:.42rem;border-left-width:3px;border-radius:8px}
.page-catalog .catalog-live-counters strong,.page-catalog .catalog-model-metrics strong{margin-top:.08rem;font-size:1rem}
.page-catalog .catalog-category-tools,.page-catalog .catalog-inline-create,.page-catalog .catalog-subcategory-body,.page-catalog .catalog-configuration{padding:.55rem}
.page-catalog .catalog-category-tools,.page-catalog .catalog-subcategory-actions,.page-catalog .catalog-product-actions{gap:.4rem}
.page-catalog .catalog-inline-create{gap:.45rem;border-radius:11px}
.page-catalog .catalog-subcategory-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));align-items:start;gap:.65rem;max-height:none;overflow:visible;padding:0}
.page-catalog .catalog-subcategory-card{min-width:0;border-radius:11px}
.page-catalog .catalog-subcategory-card[open],.page-catalog .catalog-subcategory-card.is-editing{grid-column:1/-1}
.page-catalog .catalog-subcategory-card>summary{grid-template-columns:38px minmax(0,1fr);gap:.5rem;padding:.42rem .55rem;min-height:58px}
.page-catalog .catalog-subcategory-thumb{width:38px;height:38px;border-radius:9px;font-size:.95rem}
.page-catalog .catalog-subcategory-card summary small{margin-top:.08rem;font-size:var(--vf-density-help-font)}
.page-catalog .catalog-summary-metrics{grid-column:2;flex-wrap:wrap;gap:.4rem;font-size:var(--vf-density-help-font)}
.page-catalog .catalog-subcategory-body{gap:.55rem}
.page-catalog .catalog-subcategory-actions{padding-bottom:.5rem}
.page-catalog .catalog-subcategory-state{display:inline-flex;align-items:center;padding:.08rem .35rem;border-radius:999px;font-size:.68rem;font-weight:800}.page-catalog .catalog-subcategory-state.is-active{background:var(--vf-green-soft);color:var(--vf-green-dark)}.page-catalog .catalog-subcategory-state.is-inactive{background:#fee2e2;color:#991b1b}
.page-catalog .catalog-subcategory-editor{display:grid;gap:.55rem;padding:.65rem;border:1px solid var(--vf-green-border);border-radius:10px;background:#f8fcf9;box-shadow:inset 3px 0 0 var(--vf-green-primary)}.page-catalog .catalog-subcategory-editor[hidden]{display:none}.page-catalog .catalog-subcategory-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.page-catalog .catalog-subcategory-editor form{margin:0}
.page-catalog .catalog-level-image.small{width:78px;border-radius:10px}
.page-catalog .catalog-products-cta{gap:.55rem;padding:.55rem .65rem;border-radius:11px}
.page-catalog .catalog-products-cta span{font-size:var(--vf-density-help-font)}
.page-catalog .catalog-model-grid{gap:.45rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.page-catalog .catalog-model-card{gap:.45rem;padding:.55rem;border-radius:11px}
.page-catalog .catalog-model-image{height:88px;border-radius:9px}
.page-catalog .catalog-model-heading h3{font-size:.9rem}
.page-catalog .catalog-advanced{padding-top:.4rem}
.page-catalog .catalog-configuration{border-radius:11px}

.module-help-actions,.planner-result-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.85rem}
.module-help-actions .button,.module-help-actions button{margin:0}
.planner-result-actions form{margin:0}
.planner-match{display:inline-flex;padding:.22rem .45rem;border-radius:999px;font-size:.75rem;font-weight:800}
.planner-match.matched{background:var(--vf-green-soft);color:var(--vf-green-dark)}
.planner-match.unmatched{background:#fff3cd;color:#765b00}

@media(max-width:760px){
  .page-catalog .catalog-columns{display:block}
  .page-catalog .catalog-sidebar{margin-bottom:.5rem}
  .page-catalog .catalog-category-list{max-height:52dvh}
  .page-catalog .catalog-category-header{grid-template-columns:58px minmax(0,1fr);gap:.5rem}
  .page-catalog .catalog-category-header>.catalog-level-image{width:58px;height:50px}
  .page-catalog .catalog-live-counters{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-catalog .catalog-subcategory-list{grid-template-columns:1fr;max-height:none}
  .page-catalog .catalog-subcategory-card>summary{grid-template-columns:34px minmax(0,1fr);padding:.38rem .45rem}
  .page-catalog .catalog-subcategory-thumb{width:34px;height:34px}
  .page-catalog .catalog-summary-metrics{grid-column:2;flex-wrap:wrap}
  .page-catalog .catalog-model-image{height:82px}
  .module-help-actions,.planner-result-actions{display:grid;grid-template-columns:1fr}
  .module-help-actions>* ,.planner-result-actions button{width:100%;text-align:center}
}
/* INVENTORY-PRODUCTS-COMPACT-EDIT-001 */
.compact-product-group{display:grid;gap:.55rem;margin:.8rem 0 1.15rem}.compact-product-group>h3{margin:0;padding:.45rem .7rem;border-radius:9px;background:var(--vf-green-dark);color:#fff;font-size:.9rem}.compact-product-rows{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.65rem;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#f7faf8;overflow:visible}.compact-product-row{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-items:stretch;gap:.55rem;min-width:0;height:auto;margin:0;padding:.55rem;border:1px solid var(--line);border-radius:11px;background:#fff;box-shadow:0 4px 14px rgba(17,76,45,.07)}.compact-product-row>.product-visual{width:100%;height:8.25rem;min-height:0}.compact-product-row>.product-visual img,.compact-product-row>.product-visual .product-placeholder{width:100%;height:100%;min-height:0;object-fit:cover;border-radius:8px}.compact-product-main{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr;align-content:stretch;gap:.28rem;min-width:0;min-height:0}.compact-product-identity,.compact-product-category,.compact-product-price,.compact-product-stock{min-width:0}.compact-product-identity{display:grid;grid-template-rows:minmax(2.5em,auto) auto}.compact-product-identity strong{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;line-height:1.25}.compact-product-identity small,.compact-product-category,.compact-product-price,.compact-product-stock{overflow:visible;text-overflow:clip;white-space:normal;line-height:1.25}.compact-product-identity small,.compact-product-category,.compact-product-price,.compact-product-stock{color:#53665d;font-size:.76rem}.compact-product-stock{font-weight:800;color:var(--vf-green-dark)}.compact-action{min-height:32px;padding:.35rem .65rem;font-size:.8rem}.product-list>.compact-product-group{width:100%}
.compact-product-main>.product-edit-trigger{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:static!important;z-index:1;width:100%!important;height:auto!important;min-width:0;align-items:center;justify-content:center;align-self:end;justify-self:stretch;margin-top:auto;white-space:nowrap}
.compact-edit-dialog{width:min(900px,calc(100% - 2rem));max-height:calc(100dvh - 2rem);padding:0;border:0;border-radius:16px;background:#fff;box-shadow:0 22px 70px rgba(8,33,60,.28);overflow:auto}.compact-edit-dialog::backdrop{background:rgba(6,30,20,.58);backdrop-filter:blur(2px)}.compact-edit-dialog>.dialog-heading,.compact-edit-dialog>form{padding:1rem}.dialog-heading{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);background:#fff}.dialog-heading h2{margin:.15rem 0 0;font-size:1.3rem}.product-edit-dialog>.product-detail{display:block;padding:0 1rem 1rem}.product-edit-dialog>.product-detail>summary{display:none}.product-edit-dialog .detail-panel{margin-top:.8rem}.product-edit-dialog .inline-actions{margin-top:.8rem}
.inventory-workspace{display:grid;gap:.8rem;margin:1rem 0}.inventory-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.inventory-summary-grid article{display:grid;gap:.2rem;padding:.8rem .9rem;border:1px solid var(--line);border-left:4px solid var(--vf-green-primary);border-radius:12px;background:#fff}.inventory-summary-grid span{color:#5b6d64;font-size:.76rem;font-weight:800;text-transform:uppercase}.inventory-summary-grid strong{font-size:1.35rem}.inventory-period-filter{display:flex;flex-wrap:wrap;align-items:end;gap:.55rem;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#f8fbf9}.inventory-period-filter label{min-width:9rem}.inventory-period-filter input,.inventory-period-filter select,.inventory-period-filter button{min-height:36px;padding:.35rem .55rem}.inventory-category-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.55rem}.inventory-category-tabs{display:flex;flex:1 1 30rem;gap:.35rem;overflow-x:auto;padding:.2rem 0}.inventory-category-tabs button{flex:0 0 auto;min-height:34px;padding:.38rem .7rem;background:#edf4f0;color:var(--ink);white-space:nowrap}.inventory-category-tabs button[aria-selected="true"]{background:var(--vf-green-dark);color:#fff}.inventory-category-tabs span{display:inline-grid;place-items:center;min-width:1.25rem;height:1.25rem;margin-left:.25rem;border-radius:999px;background:rgba(255,255,255,.75);color:var(--vf-green-dark);font-size:.7rem}.inventory-category-select,.inventory-subcategory-select{display:grid;gap:.25rem;min-width:min(18rem,100%);max-width:30rem;color:var(--vf-green-dark);font-size:.76rem;font-weight:800}.inventory-category-select select,.inventory-subcategory-select select{min-height:36px;padding:.35rem .55rem;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink)}.inventory-product-cell{display:flex;align-items:center;gap:.55rem;min-width:0}.inventory-product-thumb{display:grid;place-items:center;flex:0 0 3rem;width:3rem;height:3rem;border:1px solid var(--line);border-radius:8px;background:var(--vf-green-soft);overflow:hidden}.inventory-product-thumb img{width:100%;height:100%;object-fit:cover}.inventory-product-thumb>span{padding:.2rem;color:#607168;font-size:.62rem;font-weight:750;text-align:center;text-transform:none}.compact-table-wrap{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:auto}.compact-data-table{width:100%;border-collapse:collapse;font-size:.82rem}.compact-data-table th,.compact-data-table td{padding:.48rem .58rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap}.compact-data-table th{background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.72rem;text-transform:uppercase}.compact-data-table tbody tr:last-child td{border-bottom:0}.compact-data-table td:first-child{min-width:14rem;white-space:normal}.compact-data-table td small{display:block;color:#63736b}.inventory-adjust-dialog{width:min(560px,calc(100% - 2rem))}.inventory-advanced-tools{margin-top:1rem;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.inventory-advanced-tools>summary{padding:.7rem .85rem;background:#f0f7f3;color:var(--vf-green-dark);font-weight:850;cursor:pointer}.inventory-advanced-tools>*:not(summary){margin-left:.8rem;margin-right:.8rem}.inventory-advanced-tools>*:last-child{margin-bottom:.8rem}@media(max-width:640px){.inventory-category-controls{display:grid}.inventory-category-tabs{max-width:100%}.inventory-category-select,.inventory-subcategory-select{min-width:0;max-width:none;width:100%}.inventory-category-select select,.inventory-subcategory-select select{width:100%}.inventory-product-thumb{flex-basis:2.6rem;width:2.6rem;height:2.6rem}}

/* INVENTARIO-GRID-PRODUCTOS-001 */
.inventory-product-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.7rem;overflow:visible}
.inventory-product-card{display:grid;grid-template-rows:auto auto 1fr auto;align-content:start;min-width:0;overflow:hidden;padding:.6rem;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(17,76,45,.08)}.inventory-product-card[hidden]{display:none}
.inventory-card-image{display:grid;place-items:center;width:100%;height:8.25rem;overflow:hidden;border-radius:9px;background:var(--vf-green-soft);color:#607168;font-size:.72rem;font-weight:750}.inventory-card-image img{width:100%;height:100%;object-fit:cover}
.catalog-fallback-icon{box-sizing:border-box;object-fit:contain;padding:16%;background:var(--vf-green-soft);color:var(--vf-green-dark)}
.inventory-card-heading{display:grid;gap:.25rem;margin-top:.5rem;min-width:0}.inventory-card-heading>div{display:grid;min-width:0}.inventory-card-heading strong,.inventory-card-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inventory-card-heading strong{font-size:.9rem;color:var(--ink)}.inventory-card-heading small{color:#63736b;font-size:.7rem}
.inventory-card-subcategory{display:inline-flex;justify-self:start;max-width:100%;overflow:hidden;padding:.16rem .42rem;border-radius:999px;background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.68rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.inventory-card-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;margin:.55rem 0}.inventory-card-metrics div{min-width:0;padding:.38rem;border-radius:8px;background:#f6faf7}.inventory-card-metrics dt{color:#63736b;font-size:.66rem;font-weight:800;text-transform:uppercase}.inventory-card-metrics dd{margin:.08rem 0 0;overflow:hidden;color:var(--ink);font-size:.84rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}
.inventory-card-adjust{width:100%;justify-content:center}
@media(max-width:1500px){.inventory-product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1120px){.inventory-product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.inventory-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.inventory-product-grid{grid-template-columns:minmax(0,1fr)}.inventory-product-card{grid-template-columns:5.5rem minmax(0,1fr);grid-template-rows:auto auto;gap:.55rem}.inventory-card-image{grid-row:1/3;width:5.5rem;height:5.5rem}.inventory-card-heading{margin-top:0}.inventory-card-metrics{grid-column:1/-1}.inventory-card-adjust{grid-column:1/-1}}

/* PRODUCTOS-SELECTOR-CATEGORIA-001 */
.product-catalog-browser{display:grid;width:100%;max-width:none;min-width:0;gap:.7rem;margin-top:1rem;padding:.75rem;border:1px solid var(--line);border-radius:13px;background:#f7faf8}.product-catalog-browser-heading{display:flex;align-items:end;justify-content:space-between;gap:.75rem}.product-catalog-browser-heading h2{margin:.05rem 0}.product-catalog-browser-heading>span{padding:.25rem .55rem;border-radius:999px;background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.75rem;font-weight:850}.product-catalog-filter{margin:0;padding:.65rem;border:1px solid var(--vf-green-border);border-radius:11px;background:#fff}.product-catalog-empty{margin:0;min-height:7rem;display:grid;place-items:center;text-align:center}.product-catalog-browser .product-list{margin:0}
@media(max-width:640px){.product-catalog-browser-heading{align-items:start}.product-catalog-browser-heading>span{white-space:nowrap}.product-catalog-filter{grid-template-columns:1fr}}
@media(max-width:1280px){.compact-product-rows{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.compact-product-rows{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.compact-product-rows{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.compact-product-rows{grid-template-columns:minmax(0,1fr)}.compact-product-row{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr;align-items:start}.compact-product-row>.product-visual{width:100%;height:8.25rem}.compact-edit-dialog{width:calc(100% - .75rem);max-height:calc(100dvh - .75rem)}.compact-edit-dialog .grid{grid-template-columns:1fr}.inventory-summary-grid{grid-template-columns:1fr}.inventory-period-filter{display:grid;grid-template-columns:1fr 1fr}.inventory-period-filter button{grid-column:1/-1}.compact-data-table{min-width:720px}.inventory-advanced-tools>*:not(summary){margin-left:.45rem;margin-right:.45rem}}

/* PRODUCTOS-GRID-ANCHO-COMPLETO-001 */
.page-products .product-catalog-browser .product-list.compact-product-results{display:grid;width:100%;max-width:none;min-width:0;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:.65rem;padding:.65rem;border:1px solid var(--line);border-radius:12px;background:#f7faf8;overflow:visible}.page-products .product-catalog-browser .product-list.compact-product-results>.compact-product-row{width:100%;max-width:none;min-width:0}.page-products .product-catalog-browser .product-list.compact-product-results .product-edit-trigger{grid-column:auto;max-width:100%}
@media(max-width:1280px){.page-products .product-catalog-browser .product-list.compact-product-results{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:980px){.page-products .product-catalog-browser .product-list.compact-product-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.page-products .product-catalog-browser .product-list.compact-product-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.page-products .product-catalog-browser .product-list.compact-product-results{grid-template-columns:minmax(0,1fr)}}

/* TPV-ACORDEON-CATEGORIAS-001 + TPV-CABECERA-COMPACTA-001 */
.page-pos .hero{padding:.7rem .9rem}.page-pos .hero h1{margin:.12rem 0;font-size:clamp(1.35rem,2vw,1.9rem)}.page-pos .hero p{margin:.12rem 0}
.pos-terminal-setup{padding:0;overflow:hidden}.pos-terminal-setup>summary{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;background:var(--vf-green-soft);color:var(--vf-green-dark);font-weight:850;cursor:pointer}.pos-terminal-setup>summary small{font-size:.72rem}.pos-terminal-setup-body{padding:.65rem}.pos-terminal-form{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:.45rem}.pos-terminal-form label{font-size:.72rem}.pos-terminal-form input,.pos-terminal-form select,.pos-terminal-form button{min-height:34px;padding:.34rem .52rem}
.pos-checkout-panel{padding:.75rem}.pos-section-heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.pos-section-heading>div{display:flex;align-items:center;gap:.45rem}.pos-section-heading h2,.pos-section-heading p{margin:0}.pos-section-heading p{color:#617269;font-size:.75rem}.pos-step{display:inline-grid;place-items:center;min-width:1.55rem;height:1.55rem;border-radius:999px;background:var(--vf-green-primary);color:#fff;font-size:.72rem;font-weight:900}
.pos-product-picker{display:grid;gap:.6rem;padding:.65rem;border:1px solid var(--vf-green-border);border-radius:12px;background:#f8fcf9}.pos-picker-heading{display:flex;align-items:center;gap:.5rem}.pos-picker-heading>div{display:grid;gap:.08rem}.pos-picker-heading small{color:#617269;font-size:.72rem}
.pos-category-grid,.pos-subcategory-grid,.pos-catalog-product-grid,.pos-search-results{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}.pos-category-option,.pos-subcategory-option,.pos-catalog-product{display:grid;min-width:0;gap:.38rem;padding:.48rem;border:1px solid var(--vf-green-border);border-radius:11px;background:#fff;color:var(--ink);text-align:left;box-shadow:0 4px 12px rgba(17,76,45,.06)}.pos-category-option,.pos-subcategory-option{grid-template-columns:3.25rem minmax(0,1fr);align-items:center}.pos-category-option:hover,.pos-category-option:focus-visible,.pos-subcategory-option:hover,.pos-subcategory-option:focus-visible,.pos-catalog-product:hover,.pos-catalog-product:focus-visible{border-color:var(--vf-green-primary);background:var(--vf-green-soft);transform:translateY(-1px)}.pos-category-option strong,.pos-subcategory-option strong,.pos-catalog-product strong{overflow:hidden;font-size:.82rem;text-overflow:ellipsis;white-space:nowrap}.pos-category-option small,.pos-subcategory-option small,.pos-catalog-product small{overflow:hidden;color:#617269;font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}.pos-category-option small,.pos-subcategory-option small{grid-column:2}.pos-catalog-image{display:grid;place-items:center;width:3.25rem;height:3.25rem;overflow:hidden;border-radius:9px;background:var(--vf-green-soft);color:var(--vf-green-dark);font-weight:900}.pos-catalog-image img{width:100%;height:100%;object-fit:cover}
.pos-quick-product-tools{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.55rem;align-items:start}.pos-product-search,.pos-product-manual-select{font-size:.72rem}.pos-product-search input,.pos-product-manual-select select{min-height:34px;padding:.34rem .52rem}.pos-product-manual-select{min-width:0;margin:0;padding:.45rem;border:1px solid var(--vf-green-border);border-radius:11px}.pos-product-manual-select legend{padding:0 .25rem;color:var(--vf-green-dark);font-weight:850}.pos-manual-product-hierarchy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.pos-search-results{grid-column:1/-1;padding:.55rem;border:1px solid var(--vf-green-border);border-radius:11px;background:#fff}.pos-search-results[hidden]{display:none}.pos-ticket-product{margin:0;padding:.45rem .6rem;border-radius:9px;background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.78rem;font-weight:800}
.pos-catalog-dialog{width:min(980px,calc(100% - 1.5rem));max-height:calc(100dvh - 1.5rem);padding:0;border:0;border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 24px 75px rgba(5,36,21,.3);overflow:auto}.pos-catalog-dialog::backdrop{background:rgba(4,28,17,.62);backdrop-filter:blur(2px)}.pos-catalog-dialog-heading{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:.8rem;padding:.75rem;border-bottom:1px solid var(--vf-green-border);background:#fff}.pos-catalog-dialog-heading h2,.pos-catalog-dialog-heading p{margin:.08rem 0}.pos-catalog-dialog-heading [data-pos-catalog-breadcrumb]{color:var(--vf-green-dark);font-size:.72rem;font-weight:850}.pos-catalog-toolbar{padding:.55rem .75rem 0}.pos-catalog-dialog-content{padding:.65rem .75rem .85rem}.pos-catalog-product{grid-template-columns:4.2rem minmax(0,1fr);align-items:center}.pos-catalog-product .pos-catalog-image{width:4.2rem;height:4.2rem}.pos-catalog-product-copy{display:grid;min-width:0;gap:.15rem}.pos-catalog-price{color:var(--vf-green-dark);font-size:.72rem;font-weight:900}.pos-payment-panel{padding:.65rem}.pos-checkout-submit{min-height:38px}
@media(max-width:1280px){.pos-terminal-form{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-category-grid,.pos-subcategory-grid,.pos-catalog-product-grid,.pos-search-results{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:960px){.pos-category-grid,.pos-subcategory-grid,.pos-catalog-product-grid,.pos-search-results{grid-template-columns:repeat(3,minmax(0,1fr))}.pos-quick-product-tools{grid-template-columns:1fr}.pos-manual-product-hierarchy{grid-template-columns:1fr}}
@media(max-width:720px){.pos-terminal-form{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-section-heading{align-items:flex-start;flex-direction:column}.pos-category-grid,.pos-subcategory-grid,.pos-catalog-product-grid,.pos-search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-catalog-dialog{width:calc(100% - .65rem);max-height:calc(100dvh - .65rem)}.pos-catalog-dialog-heading{padding:.6rem}.pos-catalog-dialog-content{padding:.55rem}}
@media(max-width:480px){.pos-terminal-form{grid-template-columns:1fr}.pos-category-grid,.pos-subcategory-grid,.pos-catalog-product-grid,.pos-search-results{grid-template-columns:1fr}.pos-category-option,.pos-subcategory-option{grid-template-columns:2.8rem minmax(0,1fr)}.pos-category-option small,.pos-subcategory-option small{grid-column:2}.pos-catalog-image{width:2.8rem;height:2.8rem}.pos-catalog-product{grid-template-columns:3.4rem minmax(0,1fr)}.pos-catalog-product .pos-catalog-image{width:3.4rem;height:3.4rem}}

/* TPV-CARRITO-VENTA-RAPIDA-001 */
.pos-checkout-form{display:grid;gap:.7rem}.pos-sale-context{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.pos-sale-context label{font-size:.72rem}.pos-sale-context select{min-height:34px;padding:.34rem .52rem}
.pos-cart-panel{position:relative;display:grid;gap:.55rem;padding:.7rem;border:1px solid var(--vf-green-border);border-radius:13px;background:#fff;box-shadow:0 6px 18px rgba(17,76,45,.07)}.pos-cart-heading,.pos-cart-footer,.pos-payment-heading,.pos-payment-summary,.pos-receipt-actions{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.pos-cart-heading>div{display:flex;align-items:center;gap:.5rem}.pos-cart-heading h3,.pos-cart-heading small{margin:0}.pos-cart-heading small{color:#607168}.pos-cart-heading>strong{color:var(--vf-green-dark);font-size:1.3rem}.pos-cart-lines{display:grid;gap:.42rem}.pos-cart-empty{margin:0;padding:1rem;border:1px dashed var(--vf-green-border);border-radius:10px;color:#607168;text-align:center}.pos-cart-line{display:grid;grid-template-columns:3rem minmax(10rem,1fr) 6rem 7rem auto;align-items:center;gap:.5rem;padding:.45rem;border:1px solid var(--line);border-radius:10px;background:#f9fcfa}.pos-cart-line>.pos-catalog-image{width:3rem;height:3rem}.pos-cart-line-copy{display:grid;min-width:0}.pos-cart-line-copy strong,.pos-cart-line-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pos-cart-line-copy small{color:#607168;font-size:.68rem}.pos-cart-line label{font-size:.68rem}.pos-cart-line input{min-height:32px;padding:.28rem .4rem}.pos-cart-line-price{display:grid;gap:.1rem;text-align:right}.pos-cart-line-price small{color:#607168;font-size:.68rem}.pos-cart-line-price .link-button{padding:0;border:0;background:transparent;color:var(--vf-green-dark);font-size:.68rem;text-decoration:underline}.pos-cart-remove{min-height:30px;padding:.28rem .5rem}.pos-cart-footer{padding-top:.15rem}.pos-cart-footer label{max-width:11rem;font-size:.72rem}.pos-cart-footer input{min-height:34px;padding:.3rem .5rem}.pos-charge-button{position:sticky;bottom:.55rem;z-index:2;min-width:13rem;min-height:42px;padding:.55rem .85rem;background:var(--vf-green-dark);box-shadow:0 8px 22px rgba(8,75,39,.2);font-size:.95rem}.pos-charge-button:disabled{box-shadow:none}
.pos-payment-dialog{width:min(680px,calc(100% - 1rem));max-height:calc(100dvh - 1rem);padding:0;border:0;border-radius:15px;background:#fff;color:var(--ink);box-shadow:0 24px 75px rgba(5,36,21,.35);overflow:auto}.pos-payment-dialog::backdrop{background:rgba(4,28,17,.66);backdrop-filter:blur(2px)}.pos-payment-heading{position:sticky;top:0;z-index:3;align-items:flex-start;padding:.75rem;border-bottom:1px solid var(--vf-green-border);background:#fff}.pos-payment-heading h2,.pos-payment-heading p{margin:.08rem 0}.pos-payment-heading p{color:#607168;font-size:.72rem}.pos-payment-body{display:grid;gap:.65rem;padding:.75rem}.pos-payment-methods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.pos-payment-methods button{min-height:44px;padding:.45rem;border:1px solid var(--vf-green-border);background:var(--vf-green-soft);color:var(--vf-green-dark)}.pos-payment-methods button:hover,.pos-payment-methods button:focus-visible{background:var(--vf-green-primary);color:#fff}.pos-payment-lines{display:grid;gap:.45rem}.pos-payment-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,.55fr) minmax(7rem,.55fr);gap:.45rem;padding:.55rem;border:1px solid var(--line);border-radius:10px;background:#f8fbf9}.pos-payment-line-heading{display:flex;align-items:center;justify-content:space-between;gap:.4rem}.pos-payment-line label{font-size:.7rem}.pos-payment-line input{min-height:34px;padding:.3rem .5rem}.pos-payment-line-change{align-self:end;padding:.4rem;color:var(--vf-green-dark);font-size:.75rem;font-weight:850}.pos-payment-summary{flex-wrap:wrap;padding:.6rem;border-radius:10px;background:var(--vf-green-soft);font-size:.78rem}.pos-payment-summary strong{color:var(--vf-green-dark)}.pos-payment-advanced{padding:.55rem;border:1px solid var(--line);border-radius:10px}.pos-payment-advanced>summary{color:var(--vf-green-dark);font-weight:850;cursor:pointer}.pos-payment-advanced label{margin-top:.45rem}.pos-checkout-submit{width:100%;min-height:42px;background:var(--vf-green-dark);font-size:.94rem}
.pos-payment-discount{display:grid;grid-template-columns:minmax(0,1fr) minmax(7rem,.35fr);align-items:center;gap:.6rem;padding:.55rem;border:1px solid var(--vf-green-border);border-radius:10px;background:var(--vf-green-soft);color:var(--vf-green-dark);font-weight:850}.pos-payment-discount input{min-height:34px;padding:.3rem .5rem;background:#fff}
.pos-receipt-hero{display:grid;gap:.35rem}.pos-receipt-logo{display:block;max-width:220px;max-height:90px;object-fit:contain;object-position:left center;margin:0 0 .45rem}.pos-receipt-actions{justify-content:flex-start;flex-wrap:wrap}.pos-receipt-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem;padding:.8rem;border-radius:12px;background:var(--vf-green-soft);color:var(--vf-green-dark)}.pos-receipt-total strong{font-size:1.6rem}
@media(max-width:860px){.pos-cart-line{grid-template-columns:2.8rem minmax(0,1fr) 5.5rem auto}.pos-cart-line>.pos-catalog-image{width:2.8rem;height:2.8rem}.pos-cart-line-price{grid-column:2/4;text-align:left}.pos-cart-remove{grid-column:4;grid-row:1/3}.pos-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr))}.pos-payment-line{grid-template-columns:1fr 1fr}.pos-payment-line-heading{grid-column:1/-1}}
@media(max-width:560px){.pos-sale-context{grid-template-columns:1fr}.pos-cart-heading,.pos-cart-footer{align-items:stretch;flex-direction:column}.pos-cart-heading>strong{text-align:right}.pos-cart-footer label{max-width:none}.pos-charge-button{width:100%}.pos-cart-line{grid-template-columns:2.7rem minmax(0,1fr) auto}.pos-cart-line label,.pos-cart-line-price{grid-column:2}.pos-cart-remove{grid-column:3;grid-row:1/4}.pos-payment-methods{grid-template-columns:1fr}.pos-payment-line{grid-template-columns:1fr}.pos-payment-line-heading{grid-column:auto}.pos-payment-summary{display:grid;grid-template-columns:1fr}.pos-receipt-actions{display:grid;grid-template-columns:1fr}.pos-receipt-actions>*{width:100%;text-align:center}}
.pos-charge-button:not(:disabled){position:fixed;right:1rem;bottom:1rem;z-index:20}
@media print{.app-header,.context-nav,.pos-receipt-actions,.header-dashboard,.header-logout{display:none!important}.shell{max-width:none!important;padding:0!important}.card{border:0!important;box-shadow:none!important}.pos-receipt-hero{background:#fff!important;color:#000!important}.pos-receipt-logo{max-width:180px;max-height:72px;print-color-adjust:exact;-webkit-print-color-adjust:exact}}

/* TPV-CLIENTE-INLINE-Y-CAJA-001 */
.page-pos .pos-quick-customer-inline{
  grid-column:1/-1;
  display:grid;
  gap:.55rem;
  padding:.65rem;
  border:1px solid var(--vf-pos-border,var(--vf-green-border));
  border-radius:10px;
  background:#fff;
  box-shadow:0 6px 16px rgba(8,33,60,.08);
}
.page-pos .pos-quick-customer-inline>p{margin:0;color:var(--vf-pos-text,var(--vf-green-dark));font-size:.78rem;font-weight:850}
.page-pos .pos-quick-customer-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}
.page-pos .pos-quick-customer-actions{display:flex;justify-content:flex-end;gap:.45rem}
.page-pos .pos-quick-customer-actions button{min-height:34px;padding:.38rem .65rem}
@media(max-width:620px){
  .page-pos .pos-quick-customer-fields{grid-template-columns:1fr}
  .page-pos .pos-quick-customer-actions{display:grid;grid-template-columns:1fr}
}

.page-pos-sales-report .pos-return-panel{margin-top:var(--space-3,12px);border:1px solid var(--line);border-radius:var(--radius,12px);background:#f8fcf9;padding:10px}
.page-pos-sales-report .pos-return-panel>summary{cursor:pointer;font-weight:800;color:var(--green-dark,#075c31);padding:6px}
.page-pos-sales-report .pos-return-form{display:grid;gap:10px;margin-top:10px}
.page-pos-sales-report .pos-return-form fieldset{display:flex;flex-wrap:wrap;gap:8px 16px;border:1px solid var(--line);border-radius:10px;padding:10px}
.page-pos-sales-report .pos-return-form fieldset label{display:inline-flex;align-items:center;gap:6px;margin:0}
.page-pos-sales-report .pos-return-form fieldset input{width:auto;margin:0}
.page-pos-sales-report .pos-return-form td input{min-width:7rem;margin:0}
.page-pos-sales-report .pos-return-voucher-customer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.page-pos-sales-report .pos-return-voucher-customer .notice{grid-column:1/-1;margin:0}
.page-pos-sales-report .pos-return-history{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}
.page-pos-sales-report .pos-return-history article{border:1px solid var(--line);border-radius:10px;padding:10px;margin-top:8px;background:#fff}
.page-pos-sales-report .pos-return-history article>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.page-pos-sales-report .pos-return-history ul{margin:6px 0;padding-left:20px}
@media(max-width:680px){.page-pos-sales-report .pos-return-voucher-customer{grid-template-columns:1fr}.page-pos-sales-report .pos-return-form table{min-width:620px}}

/* CLIENTES-DIRECTORIO-Y-TARJETAS-MODULO-001 */
.customer-directory .customer-row{display:flex;align-items:center;gap:var(--vf-space-3);}
.customer-row-main{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(180px,1fr) minmax(130px,.8fr) auto;align-items:center;gap:var(--vf-space-3);min-width:0;flex:1;}
.customer-row-main>span,.customer-row-main>strong{min-width:0;overflow-wrap:anywhere;}
.customer-row-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--vf-space-2);flex-wrap:wrap;}
.customer-row-actions form{margin:0;}
.customer-row-actions .button,.customer-row-actions button{min-height:2.25rem;padding:.45rem .72rem;}
.customer-history-list{display:grid;gap:var(--vf-space-2);}
.customer-history-row{display:grid;grid-template-columns:130px minmax(150px,.8fr) minmax(240px,2fr) 110px 150px;align-items:start;gap:var(--vf-space-3);padding:var(--vf-space-3);border:1px solid var(--vf-border);border-radius:var(--vf-radius-md);background:#fff;}
.customer-history-amount{font-weight:800;color:var(--vf-green-dark);}
@media(max-width:920px){.customer-row-main,.customer-history-row{grid-template-columns:1fr 1fr}.customer-row-actions{justify-content:flex-start;width:100%;}}
@media(max-width:620px){.customer-row-main,.customer-history-row{grid-template-columns:1fr}.customer-row-actions{display:grid;grid-template-columns:1fr 1fr}.customer-row-actions .button,.customer-row-actions button{width:100%;text-align:center;}}

/* TPV-VISIBILIDAD-PIN-OPCIONAL-DISENO-001: jerarquía de venta y accesos verificables. */
.page-pos .pos-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.7rem 1rem;padding:1rem 1.1rem;border:0;background:linear-gradient(125deg,var(--vf-green-dark),var(--vf-green-primary));color:#fff;box-shadow:0 12px 28px rgba(7,108,57,.22)}
.page-pos .pos-hero::before{content:''}.page-pos .pos-hero .eyebrow,.page-pos .pos-hero p{color:#e9fff1}.page-pos .pos-hero h1{color:#fff}.pos-hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.45rem}.pos-hero-actions .button{min-height:36px;padding:.42rem .7rem;border:1px solid rgba(255,255,255,.5);background:#fff;color:var(--vf-green-dark)}
.pos-feature-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.45rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.25)}.pos-feature-strip span{display:flex;align-items:center;gap:.35rem;padding:.42rem .55rem;border-radius:9px;background:rgba(255,255,255,.13);font-size:.73rem;font-weight:800}.pos-feature-strip span::before{content:'✓';display:grid;place-items:center;flex:0 0 1.25rem;height:1.25rem;border-radius:50%;background:#fff;color:var(--vf-green-dark);font-size:.68rem}
.page-pos .pos-benefit-tools>.detail-panel{border-top:3px solid var(--vf-green-primary);background:#fff}.page-pos .pos-benefit-tools summary{padding:.15rem 0}.page-pos .pos-checkout-panel{box-shadow:0 12px 28px rgba(8,33,60,.08)}.page-pos .pos-product-picker,.page-pos .pos-cart-panel{border-width:2px}.page-pos .pos-cart-heading{padding-bottom:.45rem;border-bottom:1px solid var(--vf-green-border)}
@media(max-width:820px){.page-pos .pos-hero{grid-template-columns:1fr}.pos-hero-actions{justify-content:flex-start}.pos-feature-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.pos-feature-strip{grid-template-columns:1fr}.pos-hero-actions{display:grid;grid-template-columns:1fr}.pos-hero-actions .button{text-align:center}}

/* TPV-REDISENO-VISUAL-REFERENCIA-YONAFAR-001
   Capa exclusivamente visual, aislada en .page-pos. Los valores toman como
   referencia la escala y jerarquia del TPV aportado, con la marca VenFacil. */
.page-pos{
  --vf-pos-page:#f2f6f4;
  --vf-pos-surface:#fff;
  --vf-pos-surface-soft:#f7faf8;
  --vf-pos-text:#10283b;
  --vf-pos-muted:#62756b;
  --vf-pos-border:#d6e4dc;
  --vf-pos-brand:#168a4a;
  --vf-pos-brand-dark:#076c39;
  --vf-pos-brand-soft:#eaf7ef;
  --vf-pos-accent:#176f9f;
  --vf-pos-warning:#b6790f;
  --vf-pos-danger:#a8202a;
  --vf-pos-radius-sm:7px;
  --vf-pos-radius-md:10px;
  --vf-pos-radius-lg:14px;
  --vf-pos-shadow-sm:0 4px 12px rgba(8,33,60,.07);
  --vf-pos-shadow-md:0 10px 26px rgba(8,33,60,.10);
  --vf-pos-shadow-modal:0 24px 70px rgba(5,36,21,.30);
  width:min(1400px,calc(100% - 24px));
}
.page-pos>.card{padding:clamp(12px,1.8vw,22px);background:var(--vf-pos-page)}
.page-pos .pos-hero{
  margin:.55rem 0 .7rem;
  padding:.8rem 1rem;
  border-radius:var(--vf-pos-radius-lg);
  background:linear-gradient(125deg,var(--vf-pos-brand-dark),var(--vf-pos-brand));
  box-shadow:0 12px 26px rgba(7,108,57,.20);
}
.page-pos .pos-hero h1{font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:-.025em}
.page-pos .pos-hero p{font-size:.78rem}.page-pos .pos-hero .eyebrow{font-size:.68rem;letter-spacing:.11em}
.page-pos .pos-hero-actions .button{min-height:34px;padding:.35rem .65rem;border-radius:var(--vf-pos-radius-sm);font-size:.75rem}
.page-pos .pos-feature-strip{gap:.4rem;padding-top:.55rem}.page-pos .pos-feature-strip span{padding:.36rem .5rem;border-radius:var(--vf-pos-radius-sm);font-size:.7rem}
.page-pos .pos-terminal-setup,.page-pos .pos-benefit-tools>.detail-panel,.page-pos .pos-checkout-panel,.page-pos>main>.detail-panel{
  border:1px solid var(--vf-pos-border);
  border-radius:var(--vf-pos-radius-lg);
  background:var(--vf-pos-surface);
  box-shadow:var(--vf-pos-shadow-sm);
}
.page-pos .pos-terminal-setup{margin:.55rem 0}.page-pos .pos-terminal-setup>summary{padding:.5rem .7rem;border-radius:var(--vf-pos-radius-lg);background:var(--vf-pos-brand-soft);font-size:.78rem}
.page-pos .pos-terminal-setup[open]>summary{border-radius:var(--vf-pos-radius-lg) var(--vf-pos-radius-lg) 0 0}
.page-pos .pos-benefit-tools{gap:.55rem;margin:.55rem 0}.page-pos .pos-benefit-tools>.detail-panel{padding:.65rem;border-top:1px solid var(--vf-pos-border)}
.page-pos .pos-benefit-tools summary{font-size:.78rem}.page-pos .gift-card-list{font-size:.72rem}
.page-pos input,.page-pos select,.page-pos textarea,.page-pos button,.page-pos .button{border-radius:var(--vf-pos-radius-sm)}
.page-pos input,.page-pos select,.page-pos textarea{min-height:38px;padding:.42rem .58rem;border-color:var(--vf-pos-border);background:#fff;font-size:.78rem}
.page-pos input:focus,.page-pos select:focus,.page-pos textarea:focus{border-color:var(--vf-pos-brand);box-shadow:0 0 0 3px rgba(22,138,74,.12)}
.page-pos label{gap:.25rem;color:var(--vf-pos-text);font-size:.72rem}
.page-pos .pos-checkout-panel{margin:.65rem 0;padding:0;overflow:visible}
.page-pos .pos-section-heading{margin:0;padding:.65rem .8rem;border-bottom:1px solid var(--vf-pos-border);border-radius:var(--vf-pos-radius-lg) var(--vf-pos-radius-lg) 0 0;background:linear-gradient(90deg,var(--vf-pos-brand-soft),#fff)}
.page-pos .pos-section-heading h2{font-size:1rem}.page-pos .pos-section-heading p{font-size:.7rem}
.page-pos .pos-step{min-width:1.45rem;height:1.45rem;background:var(--vf-pos-brand);font-size:.68rem}
.page-pos .pos-checkout-form{
  grid-template-columns:minmax(0,1.55fr) minmax(310px,.72fr);
  align-items:start;
  gap:.7rem;
  padding:.7rem;
}
.page-pos .pos-sale-context{grid-column:1/-1;gap:.5rem;padding:.55rem;border:1px solid var(--vf-pos-border);border-radius:var(--vf-pos-radius-md);background:var(--vf-pos-surface-soft)}
.page-pos .pos-product-picker{grid-column:1;padding:.65rem;border:1px solid var(--vf-pos-border);border-radius:var(--vf-pos-radius-md);background:var(--vf-pos-surface);box-shadow:var(--vf-pos-shadow-sm)}
.page-pos .pos-picker-heading{padding-bottom:.5rem;border-bottom:1px solid var(--vf-pos-border)}
.page-pos .pos-picker-heading strong{font-size:.9rem}.page-pos .pos-picker-heading small{font-size:.68rem}
.page-pos .pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;max-height:520px;padding:.1rem;overflow-y:auto;scrollbar-gutter:stable}
.page-pos .pos-category-option{
  grid-template-columns:46px minmax(0,1fr);
  min-height:68px;
  height:68px;
  gap:.55rem;
  padding:.45rem .6rem;
  border:1px solid var(--vf-pos-border);
  border-radius:9px;
  background:var(--vf-pos-surface);
  box-shadow:var(--vf-pos-shadow-sm);
}
.page-pos .pos-category-option:hover,.page-pos .pos-category-option:focus-visible{border-color:var(--vf-pos-brand);background:var(--vf-pos-brand-soft);box-shadow:0 7px 18px rgba(22,138,74,.12)}
.page-pos .pos-category-option .pos-catalog-image{width:46px;height:46px;border-radius:8px;background:var(--vf-pos-brand-soft)}
.page-pos .pos-category-option strong{font-size:.8rem}.page-pos .pos-category-option small{font-size:.66rem}
.page-pos .pos-quick-product-tools{gap:.5rem;padding-top:.05rem}.page-pos .pos-product-search input,.page-pos .pos-product-manual-select select{min-height:38px;padding:.42rem .58rem}
.page-pos .pos-search-results{border-color:var(--vf-pos-border);border-radius:var(--vf-pos-radius-md);box-shadow:var(--vf-pos-shadow-sm)}
.page-pos .pos-cart-panel{
  grid-column:2;
  position:sticky;
  top:.75rem;
  gap:.5rem;
  max-height:calc(100vh - 1.5rem);
  padding:.7rem;
  border:1px solid var(--vf-pos-border);
  border-radius:var(--vf-pos-radius-md);
  background:var(--vf-pos-surface);
  box-shadow:var(--vf-pos-shadow-md);
}
.page-pos .pos-cart-heading{padding-bottom:.5rem;border-bottom:1px solid var(--vf-pos-border)}
.page-pos .pos-cart-heading h3{font-size:.95rem}.page-pos .pos-cart-heading small{font-size:.68rem}.page-pos .pos-cart-heading>strong{color:var(--vf-pos-accent);font-size:1.45rem}
.page-pos .pos-cart-lines{max-height:390px;overflow-y:auto}.page-pos .pos-cart-empty{padding:1.1rem .6rem;border-color:var(--vf-pos-border);font-size:.74rem}
.page-pos .pos-cart-line{grid-template-columns:2.7rem minmax(0,1fr) 4.7rem;gap:.4rem;padding:.4rem;border-color:var(--vf-pos-border);border-radius:var(--vf-pos-radius-sm);background:var(--vf-pos-surface-soft)}
.page-pos .pos-cart-line>.pos-catalog-image{grid-column:1;grid-row:1/3;width:2.7rem;height:2.7rem}.page-pos .pos-cart-line-copy{grid-column:2/4;grid-row:1}.page-pos .pos-cart-line label{grid-column:2;grid-row:2}.page-pos .pos-cart-line-price{grid-column:2/4;grid-row:3;text-align:left}.page-pos .pos-cart-remove{grid-column:3;grid-row:2}
.page-pos .pos-cart-footer{align-items:end;padding-top:.5rem;border-top:1px solid var(--vf-pos-border)}
.page-pos .pos-charge-button,.page-pos .pos-charge-button:not(:disabled){position:static;min-height:44px;border-radius:8px;background:linear-gradient(135deg,var(--vf-pos-accent),#0b4f76);box-shadow:0 7px 16px rgba(23,111,159,.20);font-size:.9rem}
.page-pos .pos-catalog-dialog,.page-pos .pos-payment-dialog{border:1px solid var(--vf-pos-border);border-radius:12px;background:var(--vf-pos-surface);box-shadow:var(--vf-pos-shadow-modal)}
.page-pos .pos-catalog-dialog::backdrop,.page-pos .pos-payment-dialog::backdrop{background:rgba(8,33,60,.58);backdrop-filter:blur(2px)}
.page-pos .pos-catalog-dialog-heading,.page-pos .pos-payment-heading{padding:.75rem .85rem;border-color:var(--vf-pos-border);background:linear-gradient(90deg,var(--vf-pos-brand-soft),#fff)}
.page-pos .pos-catalog-dialog-heading h2,.page-pos .pos-payment-heading h2{color:var(--vf-pos-text);font-size:1.1rem}
.page-pos .pos-subcategory-grid,.page-pos .pos-catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.page-pos .pos-subcategory-option,.page-pos .pos-catalog-product{min-height:68px;border-color:var(--vf-pos-border);border-radius:9px;box-shadow:var(--vf-pos-shadow-sm)}
.page-pos .pos-payment-dialog{width:min(600px,calc(100% - 1rem))}.page-pos .pos-payment-body{gap:.55rem;padding:.75rem}
.page-pos .pos-payment-heading p{max-width:36rem;font-size:.7rem}.page-pos .pos-payment-heading h2 span{color:var(--vf-pos-accent);font-size:1.45rem}
.page-pos .pos-payment-discount,.page-pos .pos-payment-summary{border:1px solid var(--vf-pos-border);border-radius:var(--vf-pos-radius-sm);background:var(--vf-pos-surface-soft)}
.page-pos .pos-payment-methods{gap:.4rem}.page-pos .pos-payment-methods button{min-height:42px;border-color:var(--vf-pos-border);border-radius:var(--vf-pos-radius-sm);background:#fff;color:var(--vf-pos-text);font-size:.75rem}
.page-pos .pos-payment-methods button:hover,.page-pos .pos-payment-methods button:focus-visible{border-color:var(--vf-pos-brand);background:var(--vf-pos-brand);color:#fff}
.page-pos .pos-payment-line{border-color:var(--vf-pos-border);border-radius:var(--vf-pos-radius-sm);background:var(--vf-pos-surface-soft)}
.page-pos .pos-payment-summary{padding:.55rem;color:var(--vf-pos-muted)}.page-pos .pos-payment-summary strong{color:var(--vf-pos-accent);font-size:.92rem}
.page-pos .pos-checkout-submit{min-height:44px;border-radius:8px;background:linear-gradient(135deg,var(--vf-pos-brand-dark),var(--vf-pos-brand));box-shadow:0 7px 16px rgba(7,108,57,.18);font-size:.9rem}
@media(max-width:980px){
  .page-pos{width:min(100% - 16px,1400px)}
  .page-pos .pos-checkout-form{grid-template-columns:1fr}
  .page-pos .pos-sale-context,.page-pos .pos-product-picker,.page-pos .pos-cart-panel{grid-column:1}
  .page-pos .pos-cart-panel{position:relative;top:auto;max-height:none}
  .page-pos .pos-cart-lines{max-height:none}
}
@media(max-width:620px){
  .page-pos>.card{padding:8px}
  .page-pos .pos-hero{padding:.7rem;border-radius:10px}
  .page-pos .pos-category-grid,.page-pos .pos-subcategory-grid,.page-pos .pos-catalog-product-grid{grid-template-columns:1fr}
  .page-pos .pos-category-option{height:62px;min-height:62px;grid-template-columns:40px minmax(0,1fr)}
  .page-pos .pos-category-option .pos-catalog-image{width:40px;height:40px}
  .page-pos .pos-quick-product-tools,.page-pos .pos-sale-context{grid-template-columns:1fr}
  .page-pos .pos-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:420px){.page-pos .pos-payment-methods{grid-template-columns:1fr}}

/* TPV-REESTRUCTURACION-COMPLETA-001 · Etapa 1
   Composición operativa catálogo + ticket. La lógica y los selectores data-pos-* permanecen intactos. */
.page-pos .pos-checkout-form{
  display:block;
  padding:.75rem;
}
.page-pos .pos-sale-context{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  margin-bottom:.75rem;
  padding:.6rem .7rem;
}
.page-pos .pos-selling-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(420px,.82fr);
  align-items:stretch;
  gap:.85rem;
  min-height:620px;
}
.page-pos .pos-catalog-stage,
.page-pos .pos-ticket-stage{
  min-width:0;
}
.page-pos .pos-catalog-stage{
  display:flex;
}
.page-pos .pos-product-picker{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:.7rem;
  min-height:620px;
  padding:.8rem;
  border:1px solid var(--vf-pos-border);
  border-radius:var(--vf-pos-radius-lg);
  background:var(--vf-pos-surface);
  box-shadow:var(--vf-pos-shadow-md);
}
.page-pos .pos-picker-heading{
  margin:0;
  padding:0 0 .65rem;
}
.page-pos .pos-category-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:.65rem;
  max-height:none;
  padding:.05rem;
  overflow:visible;
}
.page-pos .pos-category-option{
  grid-template-columns:58px minmax(0,1fr);
  min-height:82px;
  height:82px;
  padding:.55rem .7rem;
  border-radius:var(--vf-pos-radius-md);
}
.page-pos .pos-category-option .pos-catalog-image{
  width:58px;
  height:58px;
}
.page-pos .pos-category-option strong{font-size:.88rem}
.page-pos .pos-category-option small{font-size:.7rem}
.page-pos .pos-quick-product-tools{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);
  align-items:end;
  gap:.55rem;
  margin-top:auto;
  padding:.7rem;
  border:1px solid var(--vf-pos-border);
  border-radius:var(--vf-pos-radius-md);
  background:var(--vf-pos-surface-soft);
}
.page-pos .pos-quick-product-tools .pos-product-search{order:1}
.page-pos .pos-quick-product-tools>label.full{grid-column:auto;order:2}
.page-pos .pos-quick-product-tools .pos-product-manual-select{order:3}
.page-pos .pos-quick-product-tools .pos-search-results{
  grid-column:1/-1;
  order:4;
  max-height:260px;
  overflow:auto;
}
.page-pos .pos-quick-product-tools .barcode-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:.35rem;
}
.page-pos .pos-quick-product-tools [data-scan]{
  min-height:38px;
  padding:.42rem .7rem;
  white-space:nowrap;
}
.page-pos .pos-quick-product-tools small{
  display:block;
  margin-top:.2rem;
  color:var(--vf-pos-muted);
  font-size:.66rem;
  line-height:1.25;
}
.page-pos .pos-ticket-stage{
  display:flex;
}
.page-pos .pos-cart-panel{
  position:sticky;
  top:.75rem;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  gap:.65rem;
  min-height:620px;
  max-height:calc(100vh - 1.5rem);
  padding:0;
  overflow:hidden;
  border:1px solid var(--vf-pos-border);
  border-radius:var(--vf-pos-radius-lg);
  background:var(--vf-pos-surface);
  box-shadow:var(--vf-pos-shadow-md);
}
.page-pos .pos-cart-heading{
  flex:0 0 auto;
  padding:.9rem 1rem;
  border:0;
  background:linear-gradient(125deg,var(--vf-pos-brand-dark),var(--vf-pos-brand));
  color:#fff;
}
.page-pos .pos-cart-heading h3,
.page-pos .pos-cart-heading small,
.page-pos .pos-cart-heading>strong{color:#fff}
.page-pos .pos-cart-heading h3{font-size:1.08rem}
.page-pos .pos-cart-heading>strong{font-size:1.8rem;letter-spacing:-.035em}
.page-pos .pos-cart-heading .pos-step{
  background:#fff;
  color:var(--vf-pos-brand-dark);
}
.page-pos .pos-cart-lines{
  flex:1 1 auto;
  max-height:none;
  padding:.15rem .8rem;
  overflow-y:auto;
}
.page-pos .pos-cart-empty{
  display:grid;
  min-height:190px;
  place-items:center;
  margin:.25rem 0;
  padding:1.2rem;
  background:var(--vf-pos-surface-soft);
  font-size:.82rem;
}
.page-pos .pos-cart-line{
  grid-template-columns:3.2rem minmax(0,1fr) 5.5rem;
  padding:.55rem;
}
.page-pos .pos-cart-line>.pos-catalog-image{
  width:3.2rem;
  height:3.2rem;
}
.page-pos .pos-cart-footer{
  flex:0 0 auto;
  margin-top:auto;
  padding:.8rem;
  border-top:1px solid var(--vf-pos-border);
  background:var(--vf-pos-surface-soft);
}
.page-pos .pos-charge-button,
.page-pos .pos-charge-button:not(:disabled){
  min-width:15rem;
  min-height:48px;
  font-size:1rem;
}
@media(max-width:1100px){
  .page-pos .pos-selling-workspace{grid-template-columns:minmax(0,1fr) minmax(360px,.85fr)}
  .page-pos .pos-quick-product-tools{grid-template-columns:1fr 1fr}
  .page-pos .pos-quick-product-tools .pos-product-search{grid-column:1/-1}
}
@media(max-width:880px){
  .page-pos .pos-selling-workspace{grid-template-columns:1fr;min-height:0}
  .page-pos .pos-product-picker{min-height:0}
  .page-pos .pos-cart-panel{position:relative;top:auto;min-height:460px;max-height:none}
}
@media(max-width:620px){
  .page-pos .pos-sale-context{grid-template-columns:1fr}
  .page-pos .pos-category-grid{grid-template-columns:1fr}
  .page-pos .pos-category-option{grid-template-columns:48px minmax(0,1fr);min-height:70px;height:70px}
  .page-pos .pos-category-option .pos-catalog-image{width:48px;height:48px}
  .page-pos .pos-quick-product-tools{grid-template-columns:1fr}
  .page-pos .pos-quick-product-tools .pos-product-search,
  .page-pos .pos-quick-product-tools>label.full,
  .page-pos .pos-quick-product-tools .pos-product-manual-select{grid-column:1}
  .page-pos .pos-cart-heading{align-items:center;flex-direction:row}
  .page-pos .pos-cart-heading>strong{text-align:right}
  .page-pos .pos-cart-footer{align-items:stretch;flex-direction:column}
  .page-pos .pos-charge-button,.page-pos .pos-charge-button:not(:disabled){width:100%;min-width:0}
}

/* TPV-CLONAR-ESTRUCTURA-LITERAL-001
   Esqueleto visual trasladado desde la referencia TPV aportada por el propietario.
   Los hooks funcionales data-pos-* y los servicios SaaS permanecen sin cambios. */
.page-pos{
  --ticket-green:var(--vf-pos-brand,#168a4a);
  --ticket-green-dark:var(--vf-pos-brand-dark,#076c39);
  --ticket-green-soft:#78b943;
  --ticket-line:#d8dde3;
  --ticket-bg:#f4f6f8;
  --ticket-text:#111827;
  --ticket-subtle:#667085;
  width:100%;
  max-width:none;
  background:var(--ticket-bg);
}
.page-pos>.card{padding:0 0 6.5rem;background:var(--ticket-bg)}
.page-pos .header.tpv-appbar{
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:0;
  padding:10px clamp(14px,2.3vw,26px);
  border:0;
  border-radius:0 0 18px 18px;
  background:linear-gradient(120deg,var(--ticket-green-dark),var(--ticket-green));
  box-shadow:0 14px 30px rgba(24,53,29,.22);
  color:#fff;
}
.page-pos .header.tpv-appbar>div:first-of-type{display:flex;flex:1;align-items:center}
.page-pos .header.tpv-appbar .eyebrow,
.page-pos .header.tpv-appbar>div:first-of-type>p{display:none}
.page-pos .tpv-title{
  display:flex;
  flex:1;
  align-items:center;
  gap:14px;
  margin:0;
  color:#fff;
  font-size:clamp(24px,3vw,32px);
  font-weight:1000;
  letter-spacing:-1px;
  text-shadow:0 2px 0 rgba(0,0,0,.28);
}
.page-pos .tpv-title small{
  display:block;
  margin-top:2px;
  color:rgba(255,255,255,.86);
  font-size:10px;
  letter-spacing:1.2px;
  text-shadow:none;
  text-transform:uppercase;
}
.page-pos .pos-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.page-pos .pos-hero-actions .button{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  padding:.55rem .8rem;
  border:1px solid rgba(255,255,255,.35);
  background:rgba(255,255,255,.12);
  color:#fff;
}
.page-pos .pos-hero-actions .button:hover{border-color:rgba(255,255,255,.6);background:rgba(255,255,255,.22);color:#fff}
.page-pos .pos-terminal-setup,
.page-pos .tpv-benefit-tools{
  width:min(1400px,calc(100% - 32px));
  margin:14px auto 0;
}
.page-pos .tpv-benefit-tools{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-pos .tpv-workspace-shell{margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.page-pos .pos-checkout-form{display:block;padding:0}
.page-pos .tpv-ticket-strip{
  display:grid;
  grid-template-columns:1fr 1fr;
  width:min(1400px,calc(100% - 32px));
  margin:14px auto 0;
  gap:8px;
  padding:0;
}
.page-pos .ticket-strip-cell{
  display:flex;
  min-height:74px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ticket-line);
  border-radius:10px;
  background:#fff;
  color:var(--ticket-text);
  box-shadow:0 4px 12px rgba(2,28,51,.07);
  font-size:14px;
  font-weight:800;
  text-align:center;
  text-shadow:none;
}
.page-pos .ticket-strip-cell strong{margin-top:3px;color:var(--ticket-green-dark);font-size:24px}
.page-pos .main-wrapper{
  width:min(1400px,calc(100% - 32px));
  max-width:1400px;
  margin:14px auto;
  padding:0;
}
.page-pos .main-wrapper>.container{
  display:flex;
  align-items:flex-start;
  gap:14px;
}
.page-pos .main-side{
  display:flex;
  flex:3;
  width:100%;
  min-width:0;
  flex-direction:column;
  overflow:hidden;
  border:1px solid var(--ticket-line);
  border-radius:10px;
  background:#fff;
  box-shadow:0 6px 16px rgba(2,28,51,.06);
}
.page-pos .side-panel{
  position:sticky;
  top:20px;
  display:grid;
  flex:2;
  width:100%;
  min-width:0;
  gap:10px;
  color:var(--ticket-text);
}
.page-pos .pos-product-picker{
  display:flex;
  min-height:0;
  flex:1 1 auto;
  flex-direction:column;
  gap:0;
  padding:0;
  border:0;
  border-radius:0;
  background:#fff;
  box-shadow:none;
}
.page-pos .catalog-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) 64px;
  align-items:stretch;
  border-bottom:1px solid var(--ticket-line);
  background:#fff;
}
.page-pos .catalog-title-btn,
.page-pos .catalog-icon-btn{
  display:flex;
  min-height:62px;
  align-items:center;
  border:0;
  border-right:1px solid var(--ticket-line);
  background:#fff;
  color:var(--ticket-text);
  font-weight:1000;
}
.page-pos .catalog-title-btn{justify-content:space-between;padding:0 18px;font-size:18px;text-align:left}
.page-pos .catalog-title-btn small{display:block;color:var(--ticket-subtle);font-size:11px;font-weight:700}
.page-pos .catalog-title-btn>span{display:grid;gap:4px}
.page-pos .catalog-icon-btn{justify-content:center;border-right:0;color:#667085;font-size:23px}
.page-pos .pos-quick-product-tools{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,1fr);
  align-items:end;
  gap:8px;
  margin:0;
  padding:10px;
  border:0;
  border-bottom:1px solid var(--ticket-line);
  border-radius:0;
  background:#fbfcfd;
}
.page-pos .pos-quick-product-tools .pos-product-search{grid-column:auto;order:1}
.page-pos .pos-quick-product-tools>label.full{grid-column:auto;order:2}
.page-pos .pos-quick-product-tools .pos-product-manual-select{order:3}
.page-pos .pos-quick-product-tools .pos-search-results{grid-column:1/-1;order:4}
.page-pos .pos-quick-product-tools input,
.page-pos .pos-quick-product-tools select{min-height:38px;padding:8px 9px;background:#fff;border-radius:7px;font-size:11px}
.page-pos .cat-list-container{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  max-height:620px;
  margin:0;
  padding:10px;
  overflow-y:auto;
  background:#fff;
}
.page-pos .cat-list-item{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) auto;
  grid-template-rows:1fr 1fr;
  min-height:68px;
  height:68px;
  align-items:center;
  gap:0 10px;
  padding:8px 12px;
  border:1px solid var(--vf-category-accent);
  border-radius:9px;
  background:var(--vf-category-accent);
  color:#fff;
  box-shadow:none;
  text-align:left;
}
.page-pos .cat-list-item:hover,.page-pos .cat-list-item:focus-visible{border-color:var(--vf-category-accent);background:var(--vf-category-accent);box-shadow:0 0 0 3px var(--vf-green-primary);transform:translateY(-1px)}
.page-pos .cat-list-item:not(.has-category-image){grid-template-columns:minmax(0,1fr) auto}.page-pos .cat-list-item:not(.has-category-image) .cat-name,.page-pos .cat-list-item:not(.has-category-image) small{grid-column:1}.page-pos .cat-list-item:not(.has-category-image) .cat-action{grid-column:2}
.page-pos .cat-list-item .pos-catalog-image{
  grid-column:1;
  grid-row:1/3;
  width:44px;
  height:44px;
  margin:0;
  padding:4px;
  border-radius:8px;
  background:#f3f4f6;
  box-shadow:0 2px 10px rgba(16,24,40,.08);
}
.page-pos .cat-list-item .cat-name{
  grid-column:2;
  grid-row:1;
  align-self:end;
  color:#fff;
  font-size:13px;
  font-weight:900;
  letter-spacing:.1px;
  line-height:1.2;
  text-transform:none;
}
.page-pos .cat-list-item small{grid-column:2;grid-row:2;align-self:start;color:#fff;opacity:.82;font-size:10px}
.page-pos .cat-list-item .cat-action{grid-column:3;grid-row:1/3;color:#fff;font-size:20px;font-weight:1000}
.page-pos .side-panel .op-box{
  margin:0;
  border:1px solid var(--ticket-line);
  border-radius:10px;
  background:#fff;
  color:var(--ticket-text);
  box-shadow:0 6px 16px rgba(2,28,51,.06);
}
.page-pos .side-panel .pos-sale-context{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:0;
  padding:12px;
}
.page-pos .side-panel input,.page-pos .side-panel select{min-height:38px;padding:8px 9px;background:#f8fafc;border-color:#cfd7e2;border-radius:7px;color:var(--ticket-text);font-size:11px}
.page-pos .pos-cart-panel{
  position:relative;
  top:auto;
  display:flex;
  min-height:360px;
  max-height:none;
  flex-direction:column;
  gap:0;
  padding:0;
  overflow:hidden;
}
.page-pos .pos-cart-heading{
  display:block;
  padding:12px 14px;
  border-bottom:1px solid var(--ticket-line);
  background:#fff;
  color:var(--ticket-text);
}
.page-pos .pos-cart-heading h3{margin:0;color:var(--ticket-green-dark);font-size:15px}
.page-pos .pos-cart-heading small{display:block;margin-top:4px;color:var(--ticket-subtle);font-size:11px}
.page-pos .cart-list{
  flex:1 1 auto;
  max-height:420px;
  margin:10px;
  padding:0;
  overflow-y:auto;
  border:1px solid var(--ticket-line);
  border-radius:8px;
  background:#f8fafc;
  color:var(--ticket-text);
}
.page-pos .pos-cart-empty{min-height:190px;margin:0;border:0;background:transparent}
.page-pos .pos-cart-line{margin:0;border:0;border-bottom:1px solid var(--ticket-line);border-radius:0;background:#fff}
.page-pos .footer-total{
  position:fixed;
  left:0;
  width:100%;
  bottom:0;
  z-index:1000;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  margin-top:0;
  padding:12px max(20px,calc((100% - 1400px)/2 + 20px));
  border-top:1px solid var(--ticket-line);
  background:#fff;
  box-shadow:0 -12px 35px rgba(0,0,0,.18);
}
.page-pos .footer-total label{display:grid;grid-template-columns:auto 120px;align-items:center;gap:12px;font-size:13px;font-weight:850}
.page-pos .footer-total input{min-height:42px;background:#f8fafc}
.page-pos .footer-total .pos-charge-button,
.page-pos .footer-total .pos-charge-button:not(:disabled){
  position:static;
  min-width:310px;
  min-height:46px;
  margin:0;
  background:var(--ticket-green);
  box-shadow:0 10px 20px rgba(53,169,71,.24);
  color:#fff;
  font-size:14px;
}
@media(max-width:1024px){
  .page-pos .main-wrapper>.container{flex-direction:column}
  .page-pos .side-panel{position:relative;top:0}
}
@media(max-width:760px){
  .page-pos .header.tpv-appbar{align-items:flex-start;flex-direction:column;padding:14px}
  .page-pos .pos-hero-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}
  .page-pos .pos-terminal-setup,.page-pos .tpv-benefit-tools,.page-pos .tpv-ticket-strip,.page-pos .main-wrapper{width:calc(100% - 28px)}
  .page-pos .tpv-benefit-tools{grid-template-columns:1fr}
  .page-pos .tpv-ticket-strip{margin-top:16px}
  .page-pos .ticket-strip-cell{min-height:66px;font-size:12px}
  .page-pos .ticket-strip-cell strong{font-size:20px}
  .page-pos .main-wrapper{margin-top:16px}
  .page-pos .pos-quick-product-tools{grid-template-columns:1fr}
  .page-pos .pos-quick-product-tools .pos-product-search,
  .page-pos .pos-quick-product-tools>label.full,
  .page-pos .pos-quick-product-tools .pos-product-manual-select{grid-column:1}
  .page-pos .catalog-toolbar{grid-template-columns:minmax(0,1fr) 64px}
  .page-pos .catalog-title-btn,.page-pos .catalog-icon-btn{min-height:58px}
  .page-pos .catalog-title-btn{padding:0 14px;font-size:17px}
  .page-pos .cat-list-container{grid-template-columns:1fr}
  .page-pos .cat-list-item{grid-template-columns:44px minmax(0,1fr) auto;min-height:68px;height:68px;padding:8px 12px;gap:0 10px}
  .page-pos .cat-list-item .pos-catalog-image{width:44px;height:44px}
  .page-pos .cat-list-item .cat-name{font-size:13px}
  .page-pos .footer-total{align-items:stretch;flex-direction:column;padding:12px}
  .page-pos .footer-total label{grid-template-columns:1fr 110px}
  .page-pos .footer-total .pos-charge-button,.page-pos .footer-total .pos-charge-button:not(:disabled){width:100%;min-width:0}
}

/* TPV-VIP-STRUCTURE-PHASE-2
   La pantalla de venta usa una sola cabecera y el flujo continuo de la
   referencia: catalogo a la izquierda; cliente, saldos y cesta a la derecha. */
.page-pos{
  margin:0;
  padding:0;
  max-width:none;
}
.page-pos>.card{
  border:0;
  border-radius:0;
  box-shadow:none;
}
.page-pos>.card>.app-header,
.page-pos>.card>.context-nav{
  display:none;
}
.page-pos .pos-terminal-setup:not([open]),
.page-pos .pos-secondary-notice{
  display:none;
}
.page-pos .header.tpv-appbar{
  min-height:64px;
  border-radius:0 0 14px 14px;
  padding:8px 14px;
}
.page-pos .tpv-title{
  font-size:26px;
}
.page-pos .tpv-title small{
  font-size:8px;
}
.page-pos .pos-hero-actions .button{
  min-height:30px;
  padding:.35rem .62rem;
  border-radius:5px;
  font-size:9px;
}
.page-pos .tpv-ticket-strip{
  width:min(1060px,calc(100% - 28px));
  margin-top:12px;
}
.page-pos .main-wrapper{
  width:min(1060px,calc(100% - 28px));
  max-width:1060px;
  margin:10px auto;
}
.page-pos .main-wrapper>.container{
  gap:10px;
}
.page-pos .main-side{
  flex:3;
}
.page-pos .side-panel{
  display:flex;
  flex:2;
  flex-direction:column;
  gap:10px;
}
.page-pos .catalog-toolbar{
  grid-template-columns:minmax(0,1fr) repeat(2,52px);
}
.page-pos .catalog-title-btn,
.page-pos .catalog-icon-btn{
  min-height:50px;
}
.page-pos button.catalog-icon-btn{
  padding:0;
  cursor:pointer;
}
.page-pos .pos-quick-product-tools{
  grid-template-columns:minmax(0,1.35fr) minmax(0,1fr) minmax(0,.9fr);
  padding:8px;
}
.page-pos .cat-list-container{
  gap:6px;
  padding:8px;
}
.page-pos .cat-list-item{
  min-height:52px;
  height:52px;
  grid-template-columns:36px minmax(0,1fr) auto;
  gap:0 8px;
  padding:5px 9px;
  border-radius:7px;
}
.page-pos .cat-list-item .pos-catalog-image{
  width:36px;
  height:36px;
  padding:2px;
  border-radius:6px;
}
.page-pos .cat-list-item .cat-name{
  font-size:11px;
}
.page-pos .cat-list-item small{
  font-size:8px;
}
.page-pos .cat-list-item .cat-action{
  font-size:16px;
}
.page-pos .side-panel .pos-sale-context{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  padding:10px;
  border-color:#d7ac32;
  background:#fffdf6;
}
.page-pos .pos-customer-heading{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:6px;
  padding-top:4px;
  border-top:1px solid #eadfb9;
  color:#b17f00;
  font-size:10px;
  text-transform:uppercase;
}
.page-pos .pos-customer-heading span{
  color:#718096;
  font-size:8px;
  font-weight:700;
}
.page-pos .pos-customer-heading button{
  min-height:27px;
  padding:.28rem .5rem;
  font-size:8px;
}
.page-pos .pos-customer-select{
  margin:0;
}
.page-pos .pos-customer-search{position:relative;display:grid;gap:4px}.page-pos .pos-customer-search label{margin:0}.page-pos .pos-customer-search-results{position:absolute;z-index:80;top:100%;right:0;left:0;display:grid;gap:3px;max-height:230px;overflow:auto;padding:5px;border:1px solid var(--vf-green-border);border-radius:8px;background:#fff;box-shadow:0 12px 28px rgba(8,33,60,.22)}.page-pos .pos-customer-search-results[hidden]{display:none}.page-pos .pos-customer-match{display:grid;gap:2px;width:100%;min-height:38px;padding:6px 8px;border:1px solid transparent;border-radius:6px;background:#fff;color:var(--ink);text-align:left}.page-pos .pos-customer-match:hover,.page-pos .pos-customer-match:focus-visible{border-color:var(--vf-green-primary);background:var(--vf-green-soft)}.page-pos .pos-customer-match strong{font-size:10px}.page-pos .pos-customer-match span,.page-pos .pos-customer-search-results p{margin:0;color:#617269;font-size:8px}
.page-pos .pos-customer-balances{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:4px;
  padding:8px 2px 2px;
  border-top:1px solid #d9dee6;
}
.page-pos .pos-customer-balances span{
  display:grid;
  gap:2px;
  color:#667085;
  font-size:7px;
  font-weight:800;
  text-align:center;
  text-transform:uppercase;
}
.page-pos .pos-customer-balances strong{
  color:#06713c;
  font-size:10px;
}
.page-pos .pos-cart-panel{
  min-height:215px;
}
.page-pos .pos-cart-heading{
  padding:9px 10px;
}
.page-pos .pos-cart-heading h3{
  font-size:12px;
}
.page-pos .pos-cart-heading small{
  font-size:8px;
}
.page-pos .cart-list{
  max-height:290px;
  margin:8px;
}
.page-pos .pos-cart-empty{
  min-height:100px;
  font-size:10px;
}
.page-pos .footer-total{
  min-height:52px;
  padding:8px max(14px,calc((100% - 1060px)/2 + 14px));
}
.page-pos .footer-total .pos-charge-button,
.page-pos .footer-total .pos-charge-button:not(:disabled){
  min-width:270px;
  min-height:38px;
  font-size:12px;
}
.page-pos .tpv-benefit-tools{
  position:fixed;
  inset:0;
  z-index:2200;
  display:block;
  width:auto;
  margin:0;
  pointer-events:none;
}
.page-pos .tpv-benefit-tools:has(details[open]){
  background:rgba(1,21,37,.48);
  pointer-events:auto;
}
.page-pos .tpv-benefit-tools details{
  display:none;
}
.page-pos .tpv-benefit-tools details[open]{
  position:absolute;
  top:50%;
  left:50%;
  display:block;
  width:min(560px,calc(100% - 28px));
  max-height:calc(100dvh - 40px);
  margin:0;
  padding:14px;
  overflow:auto;
  transform:translate(-50%,-50%);
  border:1px solid #cfd8e4;
  border-radius:10px;
  background:#fff;
  box-shadow:0 24px 70px rgba(1,21,37,.34);
  pointer-events:auto;
}
.page-pos .tpv-benefit-tools details[open]>summary{
  margin:-14px -14px 12px;
  padding:12px 14px;
  border-bottom:1px solid #dbe4ef;
  background:#f8fafc;
  color:#087b59;
  cursor:pointer;
  font-size:13px;
  font-weight:900;
}
@media(max-width:760px){
  .page-pos .header.tpv-appbar{border-radius:0;padding:10px}
  .page-pos .tpv-ticket-strip,.page-pos .main-wrapper{width:calc(100% - 16px)}
  .page-pos .pos-quick-product-tools{grid-template-columns:1fr}
  .page-pos .catalog-toolbar{grid-template-columns:minmax(0,1fr) 46px 46px}
  .page-pos .side-panel{width:100%}
}
/* TPV fiscal y documentos empresariales */
.company-document-settings .invoice-template-preview{border:1px solid color-mix(in srgb,var(--document-primary) 35%,#dbe5df);border-left:8px solid var(--document-primary);border-radius:12px;padding:1rem;background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--document-accent) 10%,#fff))}
.company-document-settings .invoice-template-preview article{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.pos-receipt{max-width:760px;margin:1rem auto;background:#fff}.pos-receipt .receipt-fiscal{text-align:center;border-bottom:1px dashed #9aa8a0;padding-bottom:1rem}.pos-receipt-logo{max-width:150px;max-height:80px;object-fit:contain}.receipt-tax-summary table{width:100%;border-collapse:collapse}.receipt-tax-summary th,.receipt-tax-summary td{padding:.45rem;text-align:right;border-bottom:1px solid #dce5df}.receipt-tax-summary th:first-child,.receipt-tax-summary td:first-child{text-align:left}.receipt-cut{display:none;text-align:center;border-top:1px dashed #777;margin-top:1rem;padding-top:.35rem}.receipt-gift-content{display:none}.receipt-gift-content header{text-align:center;border-bottom:1px dashed #9aa8a0;padding-bottom:.75rem}.receipt-gift-content .list{margin:.65rem 0}.receipt-gift-message{text-align:center;font-weight:700}.pos-receipt-actions{display:flex;flex-wrap:wrap;gap:.5rem}.pos-receipt-actions form{display:inline-flex;margin:0}.pos-receipt-actions .disabled{cursor:not-allowed;opacity:.58}.delivery-note-module,.delivery-note-print{margin-top:1rem}.delivery-note-print{max-width:900px;margin-inline:auto}.pos-product-manual-select{min-width:0}.pos-quick-product-tools>label.full{min-width:260px}
@media(max-width:720px){.company-document-settings .invoice-template-preview article{align-items:flex-start;flex-direction:column}.pos-receipt-actions>*{flex:1 1 100%}}

/* TPV-COBRO-COLGADO-Y-DOCUMENTOS-MULTILINEA-001 */
.page-pos .pos-hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:flex-end;
  gap:.65rem;
  max-width:min(100%,36rem);
}
.page-pos .pos-hero-actions>*{flex:0 0 auto;margin:0}
.page-pos .pos-quick-product-tools{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.75rem}
.page-pos .pos-quick-product-tools .pos-product-manual-select{grid-column:1/-1;width:100%;padding:.7rem}
.page-pos .pos-manual-product-hierarchy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.page-pos .pos-manual-product-hierarchy label{display:grid;min-width:0;gap:.45rem;font-size:.72rem}
.page-pos .pos-manual-product-hierarchy select{width:100%;min-width:0;min-height:42px}
.page-pos .pos-checkout-status{margin:.2rem 0 .65rem;color:#8f1d1d;background:#fff1f1;border-color:#e6a7a7}
.document-multiline-form .document-lines{display:grid;gap:.65rem}
.document-line-row{display:grid;grid-template-columns:minmax(170px,1.5fr) repeat(4,minmax(100px,.7fr)) auto;align-items:end;gap:.65rem;padding:.75rem;border:1px solid var(--vf-green-border);border-radius:12px;background:var(--vf-green-soft)}
.document-line-row.invoice-line{grid-template-columns:minmax(150px,1.2fr) minmax(180px,1.5fr) repeat(4,minmax(90px,.65fr)) auto}
.document-line-row.quantity-only{grid-template-columns:minmax(220px,1fr) minmax(120px,.35fr) auto}
.document-line-row label{display:grid;min-width:0;gap:.3rem}.document-line-row :is(input,select){width:100%;min-width:0}
.document-line-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}
@media(max-width:980px){.document-line-row,.document-line-row.invoice-line{grid-template-columns:repeat(2,minmax(0,1fr))}.document-line-row>button{grid-column:2;justify-self:end}.page-pos .pos-manual-product-hierarchy{grid-template-columns:1fr}}
@media(max-width:620px){.page-pos .pos-hero-actions{justify-content:flex-start;max-width:none}.document-line-row,.document-line-row.invoice-line,.document-line-row.quantity-only{grid-template-columns:1fr}.document-line-row>button{grid-column:1;width:100%}.document-line-actions>*{flex:1 1 100%}}

.sales-documents-hero{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
.sales-documents-hero>div:first-child{display:grid;gap:.35rem;min-width:min(100%,28rem)}.sales-documents-hero>div:first-child :is(p,h1){margin:0}.sales-documents-hero .planner-header-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:.55rem}.sales-documents-hero .button{margin:0}
.unified-sales-document{border-top:5px solid var(--vf-green-main)}
.unified-sales-document [hidden]{display:none!important}
.sales-document-history>h3{margin:1rem 0 .45rem;color:var(--vf-green-dark)}
.sales-document-history .item-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.unified-document-line{grid-template-columns:minmax(180px,1.4fr) minmax(95px,.55fr) repeat(3,minmax(95px,.65fr)) auto}
@media(max-width:980px){.unified-document-line{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sales-documents-hero .button{margin-left:0;width:100%}.unified-document-line{grid-template-columns:1fr}}

/* Documentos comerciales: marca, selección visual de plantilla y vista imprimible. */
:root{--vf-border:var(--line);--vf-radius-lg:14px;--vf-radius-card:16px;--vf-space-2:.5rem;--vf-space-3:.75rem;--vf-space-4:1rem;--vf-surface:#fff;--vf-surface-soft:#f3f8f5;--vf-text:#08213c;--vf-text-muted:#607169;--vf-shadow-card:0 7px 20px rgba(8,33,60,.06);--vf-shadow-sm:0 7px 18px rgba(13,45,29,.1)}
.company-branding-layout{display:grid;grid-template-columns:minmax(180px,280px) 1fr;gap:var(--vf-space-4);align-items:center}.company-branding-preview{min-height:132px;display:grid;place-items:center;border:1px dashed var(--vf-border);border-radius:var(--vf-radius-lg);background:var(--vf-surface-soft);padding:var(--vf-space-3);color:var(--muted);font-weight:700}.company-branding-preview img{display:block;max-width:100%;max-height:112px;object-fit:contain}.company-branding-actions{display:grid;gap:var(--vf-space-2)}.company-branding-actions form{display:flex;flex-wrap:wrap;align-items:end;gap:var(--vf-space-2)}.company-branding-actions label{flex:1 1 260px}
.document-template-choices{min-inline-size:0;margin:0;padding:0;border:0}.document-template-choices legend{font-weight:900;font-size:1rem;margin-bottom:.25rem}.field-help{display:block;margin:.15rem 0 .4rem;color:var(--muted);font-size:.78rem;font-weight:500;line-height:1.35}.document-template-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}.document-template-option{display:grid!important;grid-template-rows:auto auto 1fr;gap:.3rem;min-width:0;border:2px solid var(--vf-border);border-radius:var(--vf-radius-lg);background:#fff;padding:.65rem;cursor:pointer;transition:border-color .18s,box-shadow .18s,transform .18s}.document-template-option:hover{transform:translateY(-2px);box-shadow:var(--vf-shadow-sm)}.document-template-option.is-selected{border-color:var(--document-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--document-primary) 16%,transparent)}.document-template-option>input{position:absolute;opacity:0;pointer-events:none}.document-template-name{font-weight:900;color:var(--ink)}.document-template-description{min-height:2.2rem;color:var(--muted);font-size:.72rem;line-height:1.25}.document-template-sheet{display:grid;align-content:start;gap:.32rem;min-height:156px;border:1px solid #cfd9d3;border-radius:7px;background:#fff;padding:.55rem;box-shadow:0 5px 13px rgba(13,45,29,.08);overflow:hidden}.mini-document-header{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:.3rem;padding-bottom:.35rem;border-bottom:2px solid var(--document-primary)}.mini-document-header i{width:22px;height:18px;border-radius:3px;background:color-mix(in srgb,var(--document-primary) 18%,#fff)}.mini-document-header b,.mini-document-header em{font-size:.42rem;font-style:normal}.mini-document-client{display:block;width:62%;height:12px;border-radius:2px;background:#edf2ef}.mini-document-table{display:grid;gap:4px}.mini-document-table i{display:block;height:11px;border-bottom:1px solid #dce5df}.mini-document-total{justify-self:end;margin-top:auto;padding:.25rem .4rem;border-radius:3px;background:var(--document-accent);font-size:.45rem;font-weight:900}.template-modern .mini-document-header{margin:-.55rem -.55rem 0;padding:.5rem;background:var(--document-primary);color:#fff;border:0}.template-modern .mini-document-total{background:var(--document-primary);color:#fff}.template-minimal{border:0;box-shadow:none}.template-minimal .mini-document-header{border-bottom:1px solid #dce5df}.template-minimal .mini-document-header i{background:transparent;border:1px solid var(--document-primary)}.template-minimal .mini-document-total{background:transparent;color:var(--document-primary);border-bottom:2px solid var(--document-accent)}.template-compact{min-height:132px;padding:.35rem;gap:.18rem}.template-compact .mini-document-header{padding-bottom:.2rem}.template-compact .mini-document-table{gap:1px}.template-compact .mini-document-table i{height:7px}.document-colour-summary{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.7rem .8rem;border-left:7px solid var(--document-primary);border-radius:8px;background:color-mix(in srgb,var(--document-accent) 12%,#fff)}.document-colour-summary span{color:var(--muted);font-size:.75rem}.document-colour-summary strong{color:var(--document-primary)}.document-colour-summary em{margin-left:auto;padding:.3rem .5rem;border-radius:4px;background:var(--document-accent);color:#12251b;font-style:normal;font-weight:900}
.document-pdf-heading{display:flex;align-items:center;gap:.75rem;margin-top:.2rem;padding:.75rem;border:1px solid var(--vf-border);border-radius:var(--vf-radius-lg);background:var(--vf-surface-soft)}.document-pdf-heading>div{display:grid;gap:.2rem}.document-pdf-heading small{color:var(--muted)}.document-format-badge{flex:0 0 auto;padding:.4rem .55rem;border-radius:8px;background:var(--document-primary);color:#fff;font-weight:900}.sales-recent-documents{border-left:5px solid var(--vf-green-main)}.sales-recent-documents .section-heading{align-items:center}.sales-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.sales-recent-grid>div{display:grid;align-content:start;gap:.45rem;min-width:0;padding:.75rem;border:1px solid var(--vf-border);border-radius:12px;background:var(--vf-surface-soft)}.sales-recent-grid h3{margin:0;color:var(--vf-green-dark)}.sales-recent-link{display:grid;gap:.15rem;padding:.55rem;border-radius:8px;background:#fff;color:var(--ink);text-decoration:none}.sales-recent-link:hover{box-shadow:var(--vf-shadow-sm)}.sales-recent-link span{overflow:hidden;color:var(--muted);font-size:.76rem;text-overflow:ellipsis;white-space:nowrap}.commercial-document-print{position:fixed;inset:5dvh max(3vw,calc((100vw - 1100px)/2));z-index:3000;max-width:1100px;max-height:90dvh;margin:0 auto;overflow:auto;border-top:7px solid var(--document-primary);background:#fff;box-shadow:0 0 0 100vmax rgba(4,25,15,.58),0 24px 80px rgba(4,25,15,.35)}.commercial-document-actions{position:sticky;top:0;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;margin:-.25rem -.25rem 1rem;padding:.5rem;background:rgba(255,255,255,.96);border-bottom:1px solid #dbe5df}.commercial-document-header{display:grid;grid-template-columns:minmax(90px,150px) 1fr auto;gap:1rem;align-items:start;padding-bottom:1rem;border-bottom:3px solid var(--document-primary)}.commercial-document-header img{display:block;max-width:145px;max-height:74px;object-fit:contain}.commercial-document-header>div{display:grid;gap:.2rem}.commercial-document-header strong{font-size:1.2rem;color:var(--document-primary)}.commercial-document-header span{color:var(--muted);font-size:.82rem}.commercial-document-title{text-align:right}.commercial-document-title p{margin:0;color:var(--muted);font-weight:800;text-transform:uppercase}.commercial-document-title h2{margin:.2rem 0;color:var(--document-primary)}.commercial-document-customer{display:grid;grid-template-columns:auto 1fr auto;gap:.6rem;align-items:center;margin:1rem 0;padding:.65rem .75rem;border-radius:8px;background:color-mix(in srgb,var(--document-accent) 12%,#fff)}.commercial-document-customer>span{font-size:.72rem;text-transform:uppercase;color:var(--muted)}.commercial-document-lines{width:100%;border-collapse:collapse}.commercial-document-lines th,.commercial-document-lines td{padding:.65rem;border-bottom:1px solid #dbe5df;text-align:right}.commercial-document-lines th{background:color-mix(in srgb,var(--document-primary) 10%,#fff);color:var(--document-primary)}.commercial-document-lines th:first-child,.commercial-document-lines td:first-child{text-align:left}.commercial-document-totals{width:min(100%,340px);margin:1rem 0 0 auto}.commercial-document-totals div{display:flex;justify-content:space-between;gap:1rem;padding:.4rem .55rem}.commercial-document-totals .grand{border-top:2px solid var(--document-primary);background:color-mix(in srgb,var(--document-accent) 16%,#fff);font-size:1.15rem;font-weight:900}.commercial-document-print.template-modern .commercial-document-header{margin:-1rem -1rem 1rem;padding:1rem;background:var(--document-primary);color:#fff;border:0}.commercial-document-print.template-modern .commercial-document-header :is(strong,h2,span,p){color:#fff}.commercial-document-print.template-minimal{border-top:0;box-shadow:0 0 0 100vmax rgba(4,25,15,.58),0 24px 80px rgba(4,25,15,.35)}.commercial-document-print.template-minimal .commercial-document-header{border-bottom:1px solid #ccd8d1}.commercial-document-print.template-minimal .commercial-document-lines th{background:#fff;border-bottom:2px solid var(--document-primary)}.commercial-document-print.template-compact{font-size:.86rem}.commercial-document-print.template-compact :is(.commercial-document-lines th,.commercial-document-lines td){padding:.35rem .45rem}.commercial-document-print.template-compact .commercial-document-header{padding-bottom:.55rem}.sales-document-history .item-actions{align-items:center}
.sales-recent-link::after{content:'Abrir / imprimir →';justify-self:end;color:var(--vf-green-dark);font-size:.72rem;font-weight:900}
.sales-recent-accordions{display:grid;gap:.55rem}.sales-recent-accordions details{overflow:hidden;border:1px solid var(--vf-border);border-radius:12px;background:#fff}.sales-recent-accordions summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;background:var(--vf-surface-soft);color:var(--vf-green-dark);cursor:pointer;list-style:none}.sales-recent-accordions summary::-webkit-details-marker{display:none}.sales-recent-accordions summary::after{content:'+';display:grid;place-items:center;width:1.5rem;height:1.5rem;margin-left:auto;border-radius:50%;background:#fff;font-size:1.1rem;font-weight:900}.sales-recent-accordions details[open] summary::after{content:'−'}.sales-recent-accordions summary span{color:var(--muted);font-size:.75rem;font-weight:700}.sales-recent-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;padding:.65rem}
.sales-history-accordion{padding:0!important;overflow:hidden}.sales-history-accordion>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;background:var(--vf-surface-soft);color:var(--vf-green-dark);cursor:pointer;list-style:none}.sales-history-accordion>summary::-webkit-details-marker{display:none}.sales-history-accordion>summary::after{content:'+';display:grid;place-items:center;width:1.6rem;height:1.6rem;margin-left:auto;border-radius:50%;background:#fff;font-size:1.15rem;font-weight:900}.sales-history-accordion[open]>summary::after{content:'−'}.sales-history-accordion>summary span{color:var(--muted);font-size:.78rem}.sales-history-accordion>.sales-document-history{padding:1rem}
@media(max-width:900px){.document-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.company-branding-layout{grid-template-columns:1fr}.commercial-document-header{grid-template-columns:110px 1fr}.commercial-document-title{grid-column:1/-1;text-align:left}.sales-recent-grid{grid-template-columns:1fr}.commercial-document-print{inset:3dvh 2vw;max-height:94dvh}}
@media(max-width:560px){.document-template-grid{grid-template-columns:1fr}.commercial-document-customer{grid-template-columns:1fr}.commercial-document-lines{font-size:.78rem}.commercial-document-header{grid-template-columns:1fr}.commercial-document-header img{max-width:120px}.document-colour-summary em{margin-left:0}.commercial-document-actions>*{flex:1 1 100%}.document-pdf-heading{align-items:flex-start;flex-direction:column}.sales-documents-hero .planner-header-actions{width:100%;justify-content:flex-start}.sales-recent-list{grid-template-columns:1fr}.sales-recent-accordions summary{align-items:flex-start;flex-wrap:wrap}.sales-recent-accordions summary::after{order:2}.sales-recent-accordions summary span{order:3;width:100%}}
@media print{@page{size:A4 portrait;margin:12mm}body{background:#fff!important}.app-header,.context-nav,.flash,main.page-sales>.hero,main.page-sales>.card>.sales-recent-documents,main.page-sales>.card>.unified-sales-document,main.page-sales>.card>.detail-panel:not(.commercial-document-print){display:none!important}main.page-sales,main.page-sales>.card{display:block!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;background:#fff!important;box-shadow:none!important}.commercial-document-print{position:static!important;inset:auto!important;display:block!important;width:auto!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;background:#fff!important;box-shadow:none!important}.commercial-document-actions{display:none!important}.commercial-document-print.template-modern .commercial-document-header{print-color-adjust:exact;-webkit-print-color-adjust:exact}.commercial-document-lines th,.commercial-document-customer,.commercial-document-totals .grand{print-color-adjust:exact;-webkit-print-color-adjust:exact}}
/* TPV-BARRA-ACCESOS-VALES-Y-CLIENTES-ELIMINAR-001 */
.pos-quick-access-bar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--vf-space-2,8px);margin:0 0 var(--vf-space-2,8px)}
.pos-quick-access{display:flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:8px 12px;border:1px solid color-mix(in srgb,var(--vf-green-main,#158b4b) 38%,#fff);border-radius:var(--vf-radius-md,10px);background:#fff;color:var(--vf-green-dark,#076b3b);text-decoration:none;box-shadow:0 3px 10px rgba(5,67,39,.08)}
.pos-quick-access:hover,.pos-quick-access:focus-visible{background:var(--vf-green-soft,#edf8f1);border-color:var(--vf-green-main,#158b4b)}
.pos-quick-access span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--vf-green-soft,#edf8f1);font-size:15px}
.vouchers-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.voucher-return-list{display:grid;gap:8px}
.voucher-return-form{display:flex;align-items:flex-end;gap:8px;flex-wrap:wrap}
.voucher-return-form label{max-width:120px}
.voucher-return-form input{min-height:34px}
.positive{color:var(--vf-green-dark,#076b3b);font-weight:700}.negative{color:#a62d2d;font-weight:700}
.danger-zone{border-color:#d96b6b;background:#fffafa}
@media(max-width:720px){.pos-quick-access-bar{grid-template-columns:1fr}.pos-quick-access{justify-content:flex-start}.vouchers-hero{align-items:stretch;flex-direction:column}.voucher-return-form{align-items:stretch}.voucher-return-form label{max-width:none;width:100%}}
/* TPV-CANTIDAD-ENTERA-Y-COMPROBANTE-PUBLICO-001 */
.page-pos .pos-quantity-stepper{display:grid;grid-template-columns:32px minmax(48px,1fr) 32px;align-items:stretch;overflow:hidden;border:1px solid var(--vf-pos-border,var(--line));border-radius:8px;background:#fff}
.page-pos .pos-quantity-stepper input{width:100%;min-width:0;min-height:32px;padding:.25rem;border:0;border-radius:0;text-align:center}
.page-pos .pos-quantity-step{display:grid;place-items:center;min-width:32px;min-height:32px;padding:0;border:0;border-radius:0;background:var(--vf-green-soft,#edf8f1);color:var(--vf-green-dark,#076b3b);font-size:1rem;font-weight:900}
.page-pos .pos-quantity-step:hover,.page-pos .pos-quantity-step:focus-visible{background:var(--vf-green-main,#158b4b);color:#fff}
.page-pos .pos-ticket-notes{display:grid;gap:.3rem;margin:.55rem 0 0;color:var(--vf-green-dark,#076b3b);font-size:.72rem;font-weight:800}
.page-pos .pos-ticket-notes textarea{min-height:58px;resize:vertical}
.company-document-settings .return-conditions-field textarea{min-height:92px;resize:vertical}

/* TPV-REPORTE-VENTAS-Y-AJUSTES-VISUALES-001 */
.page-pos .pos-hero{padding:10px 14px;gap:10px}
.page-pos .pos-hero :is(h1,p){margin:0}
.page-pos .pos-hero-actions{gap:5px;max-width:min(100%,54rem)}
.page-pos .pos-hero-actions :is(.button,button){min-height:32px;padding:6px 9px;font-size:10px}
.page-pos .pos-checkout-panel{padding:7px}
.page-pos .tpv-ticket-strip{gap:7px;margin-bottom:7px}
.page-pos .ticket-strip-cell{min-height:48px;padding:6px 10px}
.page-pos .main-wrapper{gap:8px}
.page-pos .main-side,.page-pos .side-panel{gap:7px}
.page-pos .catalog-toolbar{min-height:42px}
.page-pos .pos-quick-product-tools{grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:6px}
.page-pos .pos-product-search{min-width:0}
.page-pos .pos-product-search input{min-height:34px}
.page-pos .pos-product-manual-select{grid-column:auto;width:min(100%,180px);padding:0;border:1px solid var(--vf-pos-border,var(--line));border-radius:8px;background:#fff}
.page-pos .pos-product-manual-select>summary{padding:8px 10px;color:var(--vf-green-dark,#076b3b);cursor:pointer;font-size:10px;font-weight:900;list-style:none;white-space:nowrap}
.page-pos .pos-product-manual-select>summary::-webkit-details-marker{display:none}
.page-pos .pos-product-manual-select>summary::after{content:' ▾'}
.page-pos .pos-product-manual-select[open]{grid-column:1/-1;width:100%}
.page-pos .pos-product-manual-select[open]>summary{border-bottom:1px solid var(--vf-pos-border,var(--line))}
.page-pos .pos-manual-product-hierarchy{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:7px}
.page-pos .pos-manual-product-hierarchy label{gap:3px;font-size:9px}
.page-pos .pos-manual-product-hierarchy select{min-height:34px;padding:5px 7px}
.page-pos .pos-category-grid{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:7px!important;max-height:none!important;overflow:visible!important;padding:7px!important}
.page-pos .pos-category-option{min-width:0!important;min-height:64px!important;padding:7px!important}
.page-pos .pos-category-option .pos-catalog-image{width:34px;height:34px}
.page-pos .pos-category-option .cat-name{font-size:.875rem}
.page-pos .pos-sale-context{padding:8px}
.page-pos .pos-cart-panel{min-height:170px}
.page-pos .cart-list{max-height:240px;margin:6px}
.page-pos .footer-total{justify-content:flex-end;min-height:50px;padding-block:6px}
.page-pos .pos-payment-dialog{width:min(690px,calc(100% - 18px))}
.page-pos .pos-mixed-payment-guide{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.page-pos .pos-mixed-payment-guide span{display:flex;align-items:center;gap:6px;padding:7px;border:1px solid var(--vf-green-border,var(--line));border-radius:8px;background:var(--vf-green-soft,#edf8f1);font-size:10px}
.page-pos .pos-mixed-payment-guide strong{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--vf-green-main,#158b4b);color:#fff}
.page-pos .pos-invoice-customer-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:7px;padding:8px;border:1px solid var(--vf-green-border,var(--line));border-radius:9px;background:#fff}
.page-pos .pos-invoice-customer-fields[hidden]{display:none!important}
.page-pos .pos-invoice-customer-fields label{display:grid;gap:3px;font-size:9px}
.page-pos .pos-invoice-customer-fields input{min-height:34px}
.page-pos .pos-invoice-customer-fields .notice{grid-column:1/-1;margin:0}

.page-pos-sales-report .pos-sales-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.page-pos-sales-report .pos-sales-report-hero :is(h1,p){margin-block:.15rem}
.page-pos-sales-report .pos-report-filters{display:grid;gap:10px}
.page-pos-sales-report .pos-report-periods{display:flex;flex-wrap:wrap;gap:6px}
.page-pos-sales-report .pos-report-periods .button{margin:0}
.page-pos-sales-report .pos-report-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:10px 0}
.page-pos-sales-report .pos-report-summary article{display:grid;gap:4px;padding:12px;border:1px solid var(--vf-green-border,var(--line));border-left:5px solid var(--vf-green-main,#158b4b);border-radius:10px;background:#fff;box-shadow:0 5px 15px rgba(5,67,39,.07)}
.page-pos-sales-report .pos-report-summary span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.page-pos-sales-report .pos-report-summary strong{color:var(--vf-green-dark,#076b3b);font-size:1.3rem}
.page-pos-sales-report .pos-report-breakdowns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.page-pos-sales-report .detail-panel{margin-block:10px}
.page-pos-sales-report .table-wrap{overflow:auto}
.page-pos-sales-report table{width:100%;border-collapse:collapse}
.page-pos-sales-report th,.page-pos-sales-report td{padding:7px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.page-pos-sales-report th{color:var(--vf-green-dark,#076b3b);font-size:.72rem;text-transform:uppercase}
.page-pos-sales-report .pos-report-history .inline-actions{display:flex;flex-wrap:wrap;gap:4px}
.page-pos-sales-report .pos-report-payment-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-bottom:10px}
.page-pos-sales-report .pos-report-payment-cards article{display:grid;gap:3px;padding:10px;border:1px solid var(--vf-green-border,var(--line));border-radius:9px;background:var(--vf-green-soft,#f2faf5)}
.page-pos-sales-report .pos-report-payment-cards span{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}
.page-pos-sales-report .pos-report-payment-cards strong{color:var(--vf-green-dark,#076b3b);font-size:1rem}
.page-pos-sales-report .total-row{background:var(--vf-green-soft,#f2faf5);font-weight:800}
.page-pos-sales-report .pos-report-category-list{display:grid;gap:7px}
.page-pos-sales-report .pos-report-category-list details{overflow:hidden;border:1px solid var(--vf-green-border,var(--line));border-radius:10px;background:#fff}
.page-pos-sales-report .pos-report-category-list summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;cursor:pointer;list-style:none;background:var(--vf-green-soft,#f2faf5)}
.page-pos-sales-report .pos-report-category-list summary::-webkit-details-marker{display:none}
.page-pos-sales-report .pos-report-category-list summary span{display:grid;gap:2px}
.page-pos-sales-report .pos-report-category-list summary small{color:var(--muted)}
.page-pos-sales-report .pos-report-category-list details[open] summary{border-bottom:1px solid var(--vf-green-border,var(--line))}
.page-pos-sales-report .selection-cell{width:38px;text-align:center!important}
.page-pos-sales-report .selection-cell input{width:18px;height:18px;accent-color:var(--vf-green-main,#158b4b)}
.page-pos-sales-report .products-cell{min-width:230px;white-space:normal}
.page-pos-sales-report .pos-report-export-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.page-pos-sales-report .pos-report-export-actions p{margin:.2rem 0 0;color:var(--muted)}
.page-pos-sales-report .pos-report-export-actions .inline-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
.page-pos-sales-report .pos-report-export-actions button{margin:0}
.page-pos-sales-report .pos-report-export-actions button:disabled{cursor:not-allowed;opacity:.55}
.page-pos-sales-report .pos-report-mobile-select-all{display:none;align-items:center;gap:7px;font-weight:800}
.page-pos-sales-report .pos-report-mobile-select-all input{width:20px;height:20px;accent-color:var(--vf-green-main,#158b4b)}
.page-pos-sales-report .pos-report-document-detail,.page-pos-sales-report .pos-report-trash{border-left:5px solid var(--vf-green-main,#158b4b)}
.page-pos-sales-report .pos-report-document-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0}
.page-pos-sales-report .pos-report-document-kpis article{display:grid;gap:3px;padding:10px;border:1px solid var(--vf-green-border,var(--line));border-radius:9px;background:var(--vf-green-soft,#f2faf5)}
.page-pos-sales-report .pos-report-document-kpis span,.page-pos-sales-report .pos-report-document-kpis small{color:var(--muted);font-size:.72rem}
.page-pos-sales-report .pos-report-document-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}
.page-pos-sales-report .pos-report-correction-form{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}
.page-pos-sales-report .pos-report-trash-item{align-items:center;gap:12px}
.page-pos-sales-report .pos-report-trash-item .item-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}
@media(max-width:1280px){.page-pos .pos-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:960px){.page-pos .pos-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.page-pos-sales-report .pos-report-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.page-pos-sales-report .pos-report-breakdowns{grid-template-columns:1fr}.page-pos-sales-report .pos-report-payment-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){.page-pos .pos-quick-product-tools{grid-template-columns:1fr}.page-pos .pos-product-manual-select{width:100%}.page-pos .pos-manual-product-hierarchy{grid-template-columns:1fr}.page-pos .pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-pos .pos-mixed-payment-guide,.page-pos .pos-invoice-customer-fields{grid-template-columns:1fr}.page-pos-sales-report .pos-sales-report-hero{align-items:stretch;flex-direction:column}.page-pos-sales-report .pos-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.page-pos-sales-report .pos-report-payment-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.page-pos-sales-report .pos-report-document-kpis{grid-template-columns:1fr}.page-pos-sales-report .pos-report-filters form{grid-template-columns:1fr}.page-pos-sales-report .pos-report-category-list summary{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.page-pos-sales-report .table-wrap{overflow:visible}.page-pos-sales-report .pos-report-payment-matrix table,.page-pos-sales-report .pos-report-category-list table,.page-pos-sales-report .pos-report-history table,.page-pos-sales-report .pos-report-payment-matrix tbody,.page-pos-sales-report .pos-report-category-list tbody,.page-pos-sales-report .pos-report-history tbody{display:block;width:100%}.page-pos-sales-report .pos-report-payment-matrix thead,.page-pos-sales-report .pos-report-category-list thead,.page-pos-sales-report .pos-report-history thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page-pos-sales-report .pos-report-payment-matrix tr,.page-pos-sales-report .pos-report-category-list tr,.page-pos-sales-report .pos-report-history tr{display:block;margin:0 0 9px;padding:8px;border:1px solid var(--vf-green-border,var(--line));border-radius:10px;background:#fff}.page-pos-sales-report .pos-report-payment-matrix td,.page-pos-sales-report .pos-report-category-list td,.page-pos-sales-report .pos-report-history td{display:grid;grid-template-columns:minmax(108px,38%) minmax(0,1fr);gap:8px;align-items:start;padding:6px 3px;border:0;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}.page-pos-sales-report .pos-report-payment-matrix td:last-child,.page-pos-sales-report .pos-report-category-list td:last-child,.page-pos-sales-report .pos-report-history td:last-child{border-bottom:0}.page-pos-sales-report .pos-report-payment-matrix td::before,.page-pos-sales-report .pos-report-category-list td::before,.page-pos-sales-report .pos-report-history td::before{color:var(--vf-green-dark,#076b3b);font-size:.7rem;font-weight:800;text-transform:uppercase}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(1)::before{content:'Establecimiento'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(2)::before{content:'Efectivo'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(3)::before{content:'Tarjeta'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(4)::before{content:'Bizum'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(5)::before{content:'Bancario'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(6)::before{content:'Otros'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(7)::before{content:'Sin método'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(8)::before{content:'Total'}.page-pos-sales-report .pos-report-category-list td:nth-child(1)::before{content:'Fecha'}.page-pos-sales-report .pos-report-category-list td:nth-child(2)::before{content:'Establecimiento'}.page-pos-sales-report .pos-report-category-list td:nth-child(3)::before{content:'Ticket'}.page-pos-sales-report .pos-report-category-list td:nth-child(4)::before{content:'Producto'}.page-pos-sales-report .pos-report-category-list td:nth-child(5)::before{content:'Unidades'}.page-pos-sales-report .pos-report-category-list td:nth-child(6)::before{content:'Importe'}.page-pos-sales-report .pos-report-history td:nth-child(1)::before{content:'Seleccionar'}.page-pos-sales-report .pos-report-history td:nth-child(2)::before{content:'Fecha'}.page-pos-sales-report .pos-report-history td:nth-child(3)::before{content:'Establecimiento'}.page-pos-sales-report .pos-report-history td:nth-child(4)::before{content:'Comprobante'}.page-pos-sales-report .pos-report-history td:nth-child(5)::before{content:'Total'}.page-pos-sales-report .pos-report-history td:nth-child(6)::before{content:'Método'}.page-pos-sales-report .pos-report-history td:nth-child(7)::before{content:'Productos'}.page-pos-sales-report td[colspan]{display:block;text-align:center}.page-pos-sales-report td[colspan]::before{content:none!important}.page-pos-sales-report .selection-cell{width:auto;text-align:left!important}.page-pos-sales-report .products-cell{min-width:0}.page-pos-sales-report .pos-report-export-actions{align-items:stretch;flex-direction:column}.page-pos-sales-report .pos-report-export-actions .inline-actions{display:grid;grid-template-columns:1fr 1fr}.page-pos-sales-report .pos-report-export-actions button{min-height:42px;width:100%}.page-pos-sales-report .pos-report-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.page-pos-sales-report .pos-report-periods .button{text-align:center}}
@media(max-width:720px){.page-pos-sales-report .pos-report-history td:nth-child(8)::before{content:'Acciones'}.page-pos-sales-report .pos-report-mobile-select-all{display:flex}}
@media(max-width:420px){.page-pos .pos-category-grid{grid-template-columns:1fr!important}.page-pos-sales-report .pos-report-summary{grid-template-columns:1fr}}
@media(min-width:721px) and (max-width:960px){.page-pos-sales-report .pos-report-mobile-select-all{display:flex}.page-pos-sales-report .table-wrap{overflow:visible}.page-pos-sales-report .pos-report-payment-matrix table,.page-pos-sales-report .pos-report-category-list table,.page-pos-sales-report .pos-report-history table,.page-pos-sales-report .pos-report-payment-matrix tbody,.page-pos-sales-report .pos-report-category-list tbody,.page-pos-sales-report .pos-report-history tbody{display:block;width:100%}.page-pos-sales-report .pos-report-payment-matrix thead,.page-pos-sales-report .pos-report-category-list thead,.page-pos-sales-report .pos-report-history thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page-pos-sales-report .pos-report-payment-matrix tr,.page-pos-sales-report .pos-report-category-list tr,.page-pos-sales-report .pos-report-history tr{display:block;margin:0 0 9px;padding:8px;border:1px solid var(--vf-green-border,var(--line));border-radius:10px;background:#fff}.page-pos-sales-report .pos-report-payment-matrix td,.page-pos-sales-report .pos-report-category-list td,.page-pos-sales-report .pos-report-history td{display:grid;grid-template-columns:minmax(150px,30%) minmax(0,1fr);gap:8px;align-items:start;padding:6px 3px;border:0;border-bottom:1px solid var(--line);white-space:normal;overflow-wrap:anywhere}.page-pos-sales-report .pos-report-payment-matrix td:last-child,.page-pos-sales-report .pos-report-category-list td:last-child,.page-pos-sales-report .pos-report-history td:last-child{border-bottom:0}.page-pos-sales-report .pos-report-payment-matrix td::before,.page-pos-sales-report .pos-report-category-list td::before,.page-pos-sales-report .pos-report-history td::before{color:var(--vf-green-dark,#076b3b);font-size:.7rem;font-weight:800;text-transform:uppercase}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(1)::before{content:'Establecimiento'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(2)::before{content:'Efectivo'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(3)::before{content:'Tarjeta'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(4)::before{content:'Bizum'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(5)::before{content:'Bancario'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(6)::before{content:'Otros'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(7)::before{content:'Sin método'}.page-pos-sales-report .pos-report-payment-matrix td:nth-child(8)::before{content:'Total'}.page-pos-sales-report .pos-report-category-list td:nth-child(1)::before{content:'Fecha'}.page-pos-sales-report .pos-report-category-list td:nth-child(2)::before{content:'Establecimiento'}.page-pos-sales-report .pos-report-category-list td:nth-child(3)::before{content:'Ticket'}.page-pos-sales-report .pos-report-category-list td:nth-child(4)::before{content:'Producto'}.page-pos-sales-report .pos-report-category-list td:nth-child(5)::before{content:'Unidades'}.page-pos-sales-report .pos-report-category-list td:nth-child(6)::before{content:'Importe'}.page-pos-sales-report .pos-report-history td:nth-child(1)::before{content:'Seleccionar'}.page-pos-sales-report .pos-report-history td:nth-child(2)::before{content:'Fecha'}.page-pos-sales-report .pos-report-history td:nth-child(3)::before{content:'Establecimiento'}.page-pos-sales-report .pos-report-history td:nth-child(4)::before{content:'Comprobante'}.page-pos-sales-report .pos-report-history td:nth-child(5)::before{content:'Total'}.page-pos-sales-report .pos-report-history td:nth-child(6)::before{content:'Método'}.page-pos-sales-report .pos-report-history td:nth-child(7)::before{content:'Productos'}.page-pos-sales-report .pos-report-history td:nth-child(8)::before{content:'Acciones'}.page-pos-sales-report td[colspan]{display:block;text-align:center}.page-pos-sales-report td[colspan]::before{content:none!important}.page-pos-sales-report .selection-cell{width:auto;text-align:left!important}.page-pos-sales-report .products-cell{min-width:0}}

/* TPV-GRID-ESCANER-PAGO-MIXTO-REAL-001 */
.page-pos .cat-list-container.pos-category-grid{
  width:100%!important;
  grid-auto-flow:row!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
}
.page-pos .pos-product-search{display:grid;gap:3px}

/* REPORTE-VENTAS-DEVOLUCION-BLOQUE3-007 · checkbox y fecha en una sola línea */
.page-pos-sales-report .pos-report-date-select{
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  margin:0;
  white-space:nowrap;
}
.page-pos-sales-report .pos-report-date-select input{
  flex:0 0 auto;
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--vf-green-main,#158b4b);
}

/* PANEL-FASE-1B-REPORTE-DIARIO */
.page-daily-report .daily-report-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:14px}
.page-daily-report .daily-report-filter form{grid-template-columns:minmax(190px,280px) auto;align-items:end}
.page-daily-report .daily-report-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:10px 0}
.page-daily-report .daily-report-summary article{display:grid;gap:4px;padding:13px;border:1px solid var(--vf-green-border,var(--line));border-left:5px solid var(--vf-green-main,#158b4b);border-radius:10px;background:#fff;box-shadow:0 5px 15px rgba(5,67,39,.07)}
.page-daily-report .daily-report-summary span{color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}
.page-daily-report .daily-report-summary strong{color:var(--vf-green-dark,#076b3b);font-size:1.28rem}
.page-daily-report .daily-report-summary small{color:var(--muted)}
.page-daily-report .daily-report-profit{background:var(--vf-green-soft,#f2faf5)!important}
.page-daily-report .daily-report-coverage-warning{display:flex;align-items:center;justify-content:space-between;gap:14px;border-left:5px solid #d39b16;background:#fffaf0}
.page-daily-report .daily-report-coverage-warning p,.page-daily-report .daily-report-coverage-ok p{margin:0}
.page-daily-report .daily-report-coverage-ok{border-left:5px solid var(--vf-green-main,#158b4b);background:var(--vf-green-soft,#f2faf5)}
.page-daily-report .daily-report-establishments table{width:100%;border-collapse:collapse}
.page-daily-report .daily-report-establishments th,.page-daily-report .daily-report-establishments td{padding:8px;border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.page-daily-report .daily-report-establishments th{color:var(--vf-green-dark,#076b3b);font-size:.72rem;text-transform:uppercase}
@media(max-width:900px){.page-daily-report .daily-report-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.page-daily-report .daily-report-coverage-warning{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.page-daily-report .daily-report-hero{align-items:stretch;flex-direction:column}.page-daily-report .daily-report-filter form,.page-daily-report .daily-report-summary{grid-template-columns:1fr}.page-daily-report .daily-report-establishments .table-wrap{overflow:auto}}
@media(max-width:960px){
  .page-pos-sales-report .pos-report-history td:nth-child(1)::before{content:'Fecha'}
  .page-pos-sales-report .pos-report-history td:nth-child(2)::before{content:'Establecimiento'}
  .page-pos-sales-report .pos-report-history td:nth-child(3)::before{content:'Comprobante'}
  .page-pos-sales-report .pos-report-history td:nth-child(4)::before{content:'Total'}
  .page-pos-sales-report .pos-report-history td:nth-child(5)::before{content:'Método'}
  .page-pos-sales-report .pos-report-history td:nth-child(n+6)::before{content:none}
}
.page-pos .pos-scanner-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}
.page-pos .pos-scanner-toolbar input{min-width:0}
.page-pos .pos-camera-trigger{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:94px;min-height:34px;padding:5px 9px;background:var(--vf-green-dark,#076b3b);color:#fff;font-size:10px;font-weight:900;white-space:nowrap}
.page-pos .pos-camera-trigger:hover,.page-pos .pos-camera-trigger:focus-visible{background:var(--vf-green-main,#158b4b);color:#fff}
.page-pos .pos-product-search>[data-scan-status]{color:var(--muted,#607168);font-size:9px}
.page-pos .pos-payment-next{margin:0;padding:8px 10px;border:1px solid var(--vf-green-border,var(--line));border-radius:8px;background:#f7fbf8;color:var(--vf-green-dark,#076b3b);font-size:11px;font-weight:850}
.page-pos .pos-payment-next.is-ready{border-color:#1f9d55;background:#e8f8ee;color:#08652f}
.page-pos .pos-payment-next.is-warning{border-color:#d99a2b;background:#fff8e8;color:#7a4b00}
.page-pos .pos-payment-methods button.is-selected{border-color:var(--vf-green-dark,#076b3b);background:var(--vf-green-dark,#076b3b);color:#fff;box-shadow:0 0 0 2px rgba(7,107,59,.14)}
@media(max-width:1280px){.page-pos .cat-list-container.pos-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}}
@media(max-width:760px){.page-pos .cat-list-container.pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.page-pos .pos-scanner-toolbar{grid-template-columns:1fr}.page-pos .pos-camera-trigger{width:100%}}
@media(max-width:420px){.page-pos .cat-list-container.pos-category-grid{grid-template-columns:1fr!important}}

/* TPV-PAGO-MIXTO-REDISENO-Y-AJUSTES-001 */
.page-pos .pos-quick-product-tools{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:6px;
  padding-bottom:6px;
}
.page-pos .pos-product-search{position:relative;gap:2px;margin:0}
.page-pos .pos-product-search>[data-scan-status]{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.page-pos .pos-product-manual-select{align-self:end;margin:0}
.page-pos .pos-product-manual-select[open]{grid-column:1/-1}
.page-pos .pos-terminal-readonly{
  display:grid;
  gap:2px;
  padding:8px 10px;
  border:1px solid var(--vf-pos-border,var(--line));
  border-radius:8px;
  background:#fff;
}
.page-pos .pos-terminal-readonly span{color:var(--muted,#607168);font-size:8px;font-weight:800;text-transform:uppercase}
.page-pos .pos-terminal-readonly strong{color:var(--vf-green-dark,#076b3b);font-size:11px}
.page-pos .pos-customer-entry{display:grid;gap:4px}
.page-pos .pos-customer-entry>p{margin:0;color:var(--muted,#607168);font-size:8px}
.page-pos .pos-customer-open{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:7px;
  width:100%;
  min-height:40px;
  padding:7px 9px;
  border:1px solid #d7ac32;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  text-align:left;
}
.page-pos .pos-customer-open span{color:#9b7000;font-size:9px;font-weight:900;text-transform:uppercase}
.page-pos .pos-customer-open strong{overflow:hidden;color:var(--vf-green-dark,#076b3b);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.page-pos .pos-customer-open small{color:var(--muted,#607168);font-size:8px}
.page-pos .pos-customer-dialog{
  width:min(720px,calc(100% - 18px));
  max-height:calc(100dvh - 18px);
  padding:0;
  overflow:auto;
  border:1px solid var(--vf-pos-border,var(--line));
  border-radius:12px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 24px 75px rgba(5,36,21,.35);
}
.page-pos .pos-customer-dialog::backdrop{background:rgba(4,28,17,.66);backdrop-filter:blur(2px)}
.page-pos .pos-customer-dialog-heading{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:11px 13px;border-bottom:1px solid var(--vf-pos-border,var(--line));background:linear-gradient(90deg,var(--vf-green-soft,#edf8f1),#fff)}
.page-pos .pos-customer-dialog-heading :is(p,h2){margin:0}.page-pos .pos-customer-dialog-heading h2{font-size:18px}
.page-pos .pos-customer-dialog-body{display:grid;gap:8px;padding:12px}
.page-pos .pos-customer-dialog .pos-customer-search-results{top:calc(100% + 2px)}
.page-pos .pos-payment-dialog{width:min(900px,calc(100% - 18px))}
.page-pos .pos-payment-methods{grid-template-columns:repeat(4,minmax(0,1fr))}
.page-pos .pos-payment-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.page-pos .pos-payment-line{display:grid;grid-template-columns:1fr;align-content:start;gap:6px;padding:9px}
.page-pos .pos-payment-line-heading{min-height:22px;padding-bottom:4px;border-bottom:1px solid var(--vf-pos-border,var(--line))}
.page-pos .pos-payment-line label{display:grid;gap:3px;margin:0;font-size:9px}
.page-pos .pos-payment-line input,.page-pos .pos-payment-line select{min-height:36px;width:100%}
.page-pos .pos-payment-line-change{align-self:auto;padding:2px 0;font-size:9px}
.page-pos .pos-payment-next{margin:0}
.page-pos .pos-payment-next.is-warning{border-color:#d05a5a;background:#fff1f1;color:#8f1d1d}
@media(max-width:800px){
  .page-pos .pos-payment-lines{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-pos .pos-payment-methods{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .page-pos .pos-quick-product-tools{grid-template-columns:1fr}
  .page-pos .pos-product-manual-select{width:100%}
  .page-pos .pos-payment-lines{grid-template-columns:1fr}
  .page-pos .pos-customer-open{grid-template-columns:1fr}
}

/* TPV-CLIENTES-CORRECCION-001 */
.page-pos .tpv-ticket-strip,
.page-pos .main-wrapper{
  width:min(1420px,calc(100% - 20px));
  max-width:1420px;
}
.page-pos .main-wrapper{margin:7px auto 64px}
.page-pos .main-wrapper>.container{gap:8px}
.page-pos .main-side{flex:1.65}
.page-pos .side-panel{flex:.85;gap:6px}
.page-pos .pos-product-picker{gap:0}
.page-pos .catalog-toolbar{
  grid-template-columns:minmax(150px,.5fr) minmax(430px,1.5fr) auto;
  align-items:center;
  gap:0;
  min-height:52px;
}
.page-pos .catalog-title-btn{min-height:52px;padding:0 12px;font-size:14px}
.page-pos .catalog-title-btn small{font-size:9px}
.page-pos .catalog-toolbar>.pos-quick-product-tools{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:6px;
  min-width:0;
  padding:5px 7px;
  border:0;
  border-left:1px solid var(--ticket-line,var(--line));
  background:#fff;
}
.page-pos .catalog-toolbar>.pos-quick-product-tools .pos-product-search{min-width:0;margin:0}
.page-pos .catalog-toolbar>.pos-quick-product-tools .pos-scanner-toolbar{grid-template-columns:minmax(0,1fr) auto}
.page-pos .catalog-toolbar>.pos-quick-product-tools .pos-product-manual-select{width:auto;min-width:132px;margin:0;padding:0}
.page-pos .catalog-toolbar>.pos-quick-product-tools .pos-product-manual-select[open]{grid-column:1/-1;width:100%}
.page-pos .catalog-toolbar>.pos-quick-product-tools .pos-search-results{grid-column:1/-1}
.page-pos .cat-list-container.pos-category-grid{
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:5px;
  max-height:540px;
  padding:6px;
}
.page-pos .cat-list-item{min-height:50px;height:50px;grid-template-columns:34px minmax(0,1fr) auto;padding:4px 7px;gap:0 6px}
.page-pos .cat-list-item .pos-catalog-image{width:34px;height:34px}
.page-pos .side-panel .pos-sale-context{gap:6px;padding:7px}
.page-pos .pos-terminal-switcher{display:grid;gap:4px}
.page-pos .pos-terminal-switcher>span{color:var(--muted,#607168);font-size:8px;font-weight:850;text-transform:uppercase}
.page-pos .pos-terminal-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:4px}
.page-pos .pos-terminal-choice{display:grid;gap:1px;min-height:38px;padding:5px 7px;border:1px solid var(--vf-pos-border,var(--line));border-radius:7px;background:#fff;color:var(--ink);text-align:left}
.page-pos .pos-terminal-choice strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.page-pos .pos-terminal-choice small{overflow:hidden;color:var(--muted,#607168);font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.page-pos .pos-terminal-choice.is-active{border-color:var(--vf-green-main,#158b4b);background:var(--vf-green-soft,#edf8f1);box-shadow:0 0 0 2px rgba(21,139,75,.12)}
.page-pos .pos-cart-panel{min-height:0}
.page-pos .pos-cart-heading{padding:7px 9px}
.page-pos .cart-list{max-height:510px;margin:5px}
.page-pos .pos-cart-empty{min-height:64px;padding:16px 8px}
.page-pos .pos-cart-lines{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.page-pos .pos-cart-line{
  grid-template-columns:28px minmax(0,1fr) auto auto;
  grid-template-rows:auto auto;
  gap:4px;
  min-width:0;
  min-height:70px;
  padding:5px;
  border:1px solid var(--vf-pos-border,var(--line));
  border-radius:8px;
  background:#fff;
}
.page-pos .pos-cart-line>.pos-catalog-image{grid-column:1;grid-row:1/3;width:28px;height:28px}
.page-pos .pos-cart-line-copy{grid-column:2;grid-row:1;align-self:center}
.page-pos .pos-cart-line-copy strong{font-size:10px}
.page-pos .pos-cart-line-copy small{font-size:7px}
.page-pos .pos-cart-line label{grid-column:2/5;grid-row:2;align-self:center;font-size:0}
.page-pos .pos-quantity-stepper{grid-template-columns:26px minmax(42px,1fr) 26px}
.page-pos .pos-quantity-stepper input,.page-pos .pos-quantity-step{min-height:28px}
.page-pos .pos-cart-line-price{grid-column:3;grid-row:1;align-self:center;text-align:right}
.page-pos .pos-cart-line-price strong{font-size:10px}
.page-pos .pos-cart-line-price small,.page-pos .pos-cart-line-price .link-button{font-size:7px}
.page-pos .pos-cart-remove{grid-column:4;grid-row:1;align-self:center;min-height:28px;padding:3px 6px;font-size:8px}

@media(max-width:1180px){
  .page-pos .catalog-toolbar{grid-template-columns:minmax(140px,.45fr) minmax(360px,1.55fr) auto}
  .page-pos .cat-list-container.pos-category-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .page-pos .pos-cart-lines{grid-template-columns:1fr}
  .page-pos .pos-cart-line{grid-template-columns:30px minmax(0,1fr) 105px auto}
  .page-pos .pos-cart-line label{grid-column:3;grid-row:1}
  .page-pos .pos-cart-line-price{grid-column:2;grid-row:2;text-align:left}
  .page-pos .pos-cart-remove{grid-column:4;grid-row:1/3}
}
@media(max-width:900px){
  .page-pos .main-wrapper>.container{display:grid;grid-template-columns:1fr}
  .page-pos .catalog-toolbar{grid-template-columns:1fr}
  .page-pos .catalog-toolbar>.pos-quick-product-tools{border-top:1px solid var(--ticket-line,var(--line));border-left:0}
  .page-pos .catalog-toolbar>.catalog-icon-btn{position:absolute;right:16px;margin-top:5px}
  .page-pos .cat-list-container.pos-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:620px){
  .page-pos .tpv-ticket-strip,.page-pos .main-wrapper{width:calc(100% - 10px)}
  .page-pos .catalog-toolbar>.pos-quick-product-tools{grid-template-columns:1fr}
  .page-pos .catalog-toolbar>.pos-quick-product-tools .pos-product-manual-select{width:100%}
  .page-pos .cat-list-container.pos-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .page-pos .pos-cart-line{grid-template-columns:30px minmax(0,1fr) auto;grid-template-rows:auto auto auto}
  .page-pos .pos-cart-line label{grid-column:2;grid-row:2}
  .page-pos .pos-cart-line-price{grid-column:2;grid-row:3}
  .page-pos .pos-cart-remove{grid-column:3;grid-row:1/4}
}

/* Directorio de clientes: tablet y móvil */
@media(max-width:920px){
  .page-customers .section-heading{display:grid;gap:10px}
  .page-customers .section-heading .item-actions{justify-content:flex-start}
  .page-customers .customer-directory .customer-row{flex-direction:column;align-items:stretch;min-width:0}
  .page-customers .customer-row-main{width:100%;grid-template-columns:1fr 1fr}
  .page-customers .customer-row-actions{width:100%;justify-content:flex-start}
}
@media(max-width:620px){
  .page-customers{width:calc(100% - 10px);max-width:1040px;margin:5px auto}
  .page-customers>.card{width:100%;max-width:100%;padding:10px;overflow:hidden}
  .page-customers .context-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;overflow:visible}
  .page-customers .context-nav-label{grid-column:1/-1;width:100%;border-right:0;border-bottom:1px solid var(--line);text-align:left}
  .page-customers .context-nav a{display:block;width:100%;min-width:0;text-align:center}
  .page-customers .customer-directory-filters{grid-template-columns:1fr;gap:7px}
  .page-customers .customer-directory-filters>*{min-width:0;width:100%}
  .page-customers .customer-row-main{grid-template-columns:1fr;gap:5px}
  .page-customers .customer-row-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px}
  .page-customers .customer-row-actions form,.page-customers .customer-row-actions :is(.button,button){width:100%;min-width:0;text-align:center}
  .page-customers .pagination{max-width:100%;overflow-x:auto;padding-bottom:4px}
}
/* PANEL-CLONACION-REAL-001: composición de los informes operativos reales. */
.report-real-hero{background:linear-gradient(135deg,var(--vf-green,#087a3e),#064f2b);color:#fff}
.report-real-hero .eyebrow,.report-real-hero p{color:#eafff2}.report-real-hero h1{color:#fff}
.report-filter{padding:var(--space-3,12px)}
.report-section,.report-accordions,.decision-panel,.cash-pressure{margin-top:12px;padding:14px;border:1px solid var(--vf-border,#b7dcc8);border-radius:14px;background:#fff}
.signal-grid,.quick-report-grid,.kpi-ribbon,.report-card-grid,.diagnostic-grid,.profit-side-grid{display:grid;gap:10px;margin-top:12px}
.signal-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.quick-report-grid,.kpi-ribbon{grid-template-columns:repeat(5,minmax(0,1fr))}.profitability-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.report-card-grid,.diagnostic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.profit-side-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.signal-card,.quick-report-grid>article,.kpi-ribbon>article,.report-card-grid>article,.diagnostic-grid>article,.profit-side-grid>article{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--vf-border,#b7dcc8);border-radius:12px;background:#fbfffc;box-shadow:0 7px 18px rgba(6,79,43,.06)}
.signal-card strong,.quick-report-grid strong,.kpi-ribbon strong,.report-card-grid strong,.diagnostic-grid strong,.profit-side-grid strong{font-size:1.22rem;color:var(--vf-green-dark,#064f2b)}
.signal-card.is-attention{border-color:#e3b341;background:#fff9e8}.signal-card.is-attention strong{color:#8a5b00}.accent{background:#eaf8f0!important;border-color:#15965a!important}
.report-warning{margin-top:12px;padding:12px 14px;border-left:5px solid #d69e00;border-radius:10px;background:#fff7dd;color:#573e00}
.report-accordions details{margin-top:9px;border:1px solid var(--vf-border,#b7dcc8);border-radius:11px;background:#fff;overflow:hidden}.report-accordions summary{display:flex;justify-content:space-between;gap:12px;padding:12px 14px;font-weight:800;color:#064f2b;background:#eff9f3;cursor:pointer}.report-accordions details>.table-wrap,.report-accordions details>article,.report-accordions details>ul{margin:0;padding:12px}
.category-profit h3{display:flex;justify-content:space-between}.decision-panel{border-left:5px solid #15965a}.decision-panel li{margin:.45rem 0}
.store-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.store-profit-card{padding:14px;border:1px solid var(--vf-border,#b7dcc8);border-radius:14px;background:#fff}.store-profit-card header{display:flex;justify-content:space-between;gap:12px}.store-profit-card header span{color:#087a3e;font-weight:800}.store-profit-card .positive{color:#087a3e}.store-profit-card .negative{color:#a32626}.store-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.store-metrics p{padding:9px;background:#f4faf6;border-radius:9px}.store-metrics span,.store-metrics strong{display:block}.pressure-track{height:14px;border-radius:999px;background:#e7efe9;overflow:hidden}.pressure-track span{display:block;height:100%;background:linear-gradient(90deg,#15965a,#d69e00)}
@media(max-width:900px){.signal-grid,.quick-report-grid,.kpi-ribbon,.profitability-kpis,.report-card-grid,.diagnostic-grid,.profit-side-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.store-card-grid{grid-template-columns:1fr}.store-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.signal-grid,.quick-report-grid,.kpi-ribbon,.profitability-kpis,.report-card-grid,.diagnostic-grid,.profit-side-grid{grid-template-columns:1fr}.store-metrics{grid-template-columns:1fr}}
@media (pointer: coarse), (max-width: 767px){
  .shell input,.shell select,.shell textarea,
  body.standalone-page input,body.standalone-page select,body.standalone-page textarea{font-size:16px}
}
.page-pos .pos-category-option,.page-pos .pos-subcategory-option,.page-pos .pos-catalog-product{aspect-ratio:1/1;min-height:0;height:auto;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto;align-content:center;justify-items:stretch;overflow:hidden}
.page-pos .pos-category-option .pos-catalog-image,.page-pos .pos-subcategory-option .pos-catalog-image,.page-pos .pos-catalog-product .pos-catalog-image{width:min(100%,5rem);height:auto;aspect-ratio:1/1;justify-self:center}
.page-pos .pos-category-option strong,.page-pos .pos-subcategory-option strong,.page-pos .pos-catalog-product strong,.page-pos .pos-category-option small,.page-pos .pos-subcategory-option small,.page-pos .pos-catalog-product small{min-width:0;overflow:hidden;text-align:center;text-overflow:clip;white-space:normal;overflow-wrap:break-word}
.page-pos .pos-category-option small,.page-pos .pos-subcategory-option small{grid-column:auto}

/* PRODUCT-PRICES-M31: precios masivos de productos vendibles. */
.page-product-prices .product-price-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--vf-space-3);margin:var(--vf-space-4) 0}
.page-product-prices .product-price-summary article{display:grid;gap:var(--vf-space-2);padding:var(--vf-space-4);border:1px solid var(--vf-green-border);border-radius:var(--vf-radius-card);background:var(--vf-green-soft);color:var(--vf-text)}
.page-product-prices .product-price-summary span{color:var(--vf-text-muted);font-weight:800}.page-product-prices .product-price-summary strong{color:var(--vf-green-dark);font-size:1.65rem}
.product-price-form{display:grid;gap:var(--vf-space-4)}.product-price-category{overflow:hidden;border:1px solid var(--vf-border);border-radius:var(--vf-radius-card);background:var(--vf-surface);box-shadow:var(--vf-shadow-card)}
.product-price-category h2{display:flex;justify-content:space-between;gap:var(--vf-space-3);margin:0;padding:var(--vf-space-3) var(--vf-space-4);background:var(--vf-green-soft);color:var(--vf-green-dark)}
.product-price-category h2 span{display:grid;place-items:center;min-width:2rem;border-radius:var(--vf-radius-card);background:var(--vf-surface);font-size:.85rem}.product-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vf-space-3);padding:var(--vf-space-4)}
.product-price-grid>label{grid-template-columns:minmax(0,1fr) minmax(9rem,12rem);align-items:center;gap:var(--vf-space-3);padding:var(--vf-space-3);border:1px solid var(--vf-border);border-radius:var(--vf-radius-card);background:var(--vf-surface)}
.product-price-grid>label>span:first-child{display:grid;gap:var(--vf-space-2);min-width:0}.product-price-grid strong{overflow-wrap:anywhere;color:var(--vf-text)}.product-price-grid small{color:var(--vf-text-muted)}
.product-price-input{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--vf-space-2)}.product-price-input b{color:var(--vf-green-dark)}
.product-price-save{position:sticky;bottom:var(--vf-space-3);display:flex;align-items:center;justify-content:space-between;gap:var(--vf-space-4);padding:var(--vf-space-4);border:1px solid var(--vf-green-border);border-radius:var(--vf-radius-card);background:var(--vf-surface);box-shadow:var(--vf-shadow-card)}.product-price-save p{margin:0;color:var(--vf-text-muted)}
@media(max-width:760px){.page-product-prices .product-price-summary,.product-price-grid{grid-template-columns:1fr}.product-price-grid>label{grid-template-columns:1fr}.product-price-save{position:static;display:grid}.product-price-save button{width:100%}}

/* PRODUCT-SALES-TAX-M43B: asignación fiscal masiva legible y operable. */
.tax-product-assignment-form{display:grid;gap:var(--vf-space-4)}
.tax-product-toolbar{position:sticky;top:var(--vf-space-2);z-index:10;border-color:var(--vf-green-border);box-shadow:var(--vf-shadow-card)}
.tax-product-toolbar .grid{align-items:end}.tax-product-filter,.tax-category-selector{display:flex;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--vf-space-2);font-size:1rem;color:var(--vf-text)}
.tax-product-category{overflow:hidden}.tax-product-category>.section-heading{padding-bottom:var(--vf-space-3);border-bottom:1px solid var(--vf-border)}
.tax-product-list{display:grid;gap:var(--vf-space-2)}
.tax-product-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--vf-space-3);min-width:0;padding:var(--vf-space-3);border:1px solid var(--vf-border);border-radius:var(--vf-radius-card);background:var(--vf-surface);color:var(--vf-text);font-size:1rem;cursor:pointer}
.tax-product-option:focus-within{outline:3px solid var(--vf-green-primary);outline-offset:2px}.tax-product-copy{display:grid;gap:var(--vf-space-2);min-width:0}.tax-product-name{color:var(--vf-text);font-size:1rem;line-height:1.35;overflow-wrap:anywhere}.tax-product-sku{color:var(--vf-text-muted);font-size:.875rem;line-height:1.35}
.tax-product-rate{justify-self:end;padding:var(--vf-space-2);border:1px solid var(--vf-green-border);border-radius:var(--vf-radius-lg);background:var(--vf-green-soft);color:var(--vf-green-dark);font-size:.875rem;font-weight:800;text-align:right}.tax-product-rate.is-unassigned{border-color:var(--vf-border);background:var(--vf-surface-soft);color:var(--vf-text)}
@media(max-width:700px){.tax-product-toolbar{position:static}.tax-product-option{grid-template-columns:auto minmax(0,1fr)}.tax-product-rate{grid-column:2;justify-self:start;text-align:left}}
.vf-product-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:inherit;border-radius:inherit;background:var(--vf-product-placeholder);color:#fff;font-weight:850;font-size:clamp(1.25rem,3vw,2.2rem);letter-spacing:.08em;line-height:1.2;text-align:center}
.vf-category-color{background:var(--vf-category-accent);color:#fff;border-color:var(--vf-category-accent)}.vf-category-color :is(strong,small,.cat-name,.meta,.eyebrow,.catalog-choice-stock){color:#fff}
.vf-category-swatch{display:block;width:100%;height:100%;min-height:2.75rem;border-radius:inherit;background:var(--vf-category-accent)}
.catalog-color-options{display:grid;grid-template-columns:repeat(10,minmax(44px,1fr));gap:.3rem}.catalog-color-option{min-width:44px;min-height:44px;background:var(--vf-category-accent);border:2px solid var(--vf-category-accent);border-radius:8px}.catalog-color-option input{width:auto}.catalog-color-option:has(input:checked){outline:3px solid var(--vf-text,#17231d);outline-offset:2px}
@media(max-width:700px){.catalog-color-options{grid-template-columns:repeat(6,minmax(44px,1fr))}}

.registration-actions{display:flex;gap:.75rem;justify-content:flex-end;align-items:center}.phone-field{display:grid;grid-template-columns:minmax(5rem,.35fr) minmax(10rem,1fr);gap:.5rem}.register-progress li[aria-current="step"]{background:var(--vf-green-primary);color:var(--vf-surface)}.official-registration [hidden]{display:none}.official-registration .legal-consent a{color:var(--vf-green-dark);font-weight:750}@media(max-width:680px){.registration-actions{display:grid}.registration-actions button{width:100%}.phone-field{grid-template-columns:1fr}}

/* M71: selector plegable de categorías a todo el ancho. */
.page-catalog .catalog-columns-single{display:block}
.page-catalog .catalog-category-selector{display:grid;gap:.65rem}
.page-catalog .catalog-category-current{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:54px;padding:.65rem .8rem;border:1px solid var(--vf-category-accent);border-left:8px solid var(--vf-category-accent);border-radius:14px;background:var(--vf-category-accent);color:#fff}
.page-catalog .catalog-category-current-main{display:grid;gap:.1rem;min-width:0}.page-catalog .catalog-category-current strong{overflow-wrap:anywhere;color:#fff;font-size:1rem}.page-catalog .catalog-category-current .eyebrow{margin:0;color:#fff;opacity:.85}
.page-catalog .catalog-category-current button{min-height:44px;flex:0 0 auto}
.page-catalog .catalog-category-current-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem;flex-wrap:wrap}
.page-catalog .catalog-category-create-panel{padding:.8rem;border:1px solid var(--vf-border);border-radius:14px;background:var(--vf-surface)}.page-catalog .catalog-category-create-panel[hidden]{display:none}.page-catalog .catalog-category-create-panel form{display:grid;grid-template-columns:minmax(12rem,1fr) auto;align-items:end;gap:.65rem}.page-catalog .catalog-category-create-panel label{margin:0}
.page-catalog .catalog-category-picker{display:grid;gap:.75rem;padding:.8rem;border:1px solid var(--vf-border);border-radius:14px;background:var(--vf-surface)}
.page-catalog .catalog-category-picker[hidden]{display:none}
.page-catalog .catalog-selector-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.page-catalog .catalog-selector-heading>div{display:flex;align-items:center;gap:.5rem}
.page-catalog .catalog-category-filter{width:min(24rem,100%);margin:0}
.page-catalog .catalog-category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr));gap:.55rem}
.page-catalog .catalog-category-grid .catalog-category-choice{width:100%;min-width:0;min-height:64px}
.page-catalog .catalog-empty-categories{padding:.25rem 0}.page-catalog .catalog-empty-categories>summary{min-height:44px;padding:.65rem .75rem;cursor:pointer;font-weight:800;color:var(--vf-green-dark)}
.page-catalog .catalog-empty-categories[open]>summary{margin-bottom:.55rem}.page-catalog [data-catalog-category-select][hidden]{display:none}
@media(max-width:620px){.page-catalog .catalog-category-current,.page-catalog .catalog-selector-heading{align-items:stretch}.page-catalog .catalog-category-current{display:grid}.page-catalog .catalog-category-current-actions,.page-catalog .catalog-category-create-panel form,.page-catalog .catalog-selector-heading{display:grid;grid-template-columns:1fr}.page-catalog .catalog-category-current button,.page-catalog .catalog-category-filter{width:100%}.page-catalog .catalog-category-grid{grid-template-columns:1fr}}
