:root{
  --bg:#06111f; --bg2:#0a1628; --panel:#10233b; --panel2:#153052; --line:#244564;
  --text:#f6fbff; --muted:#9db3cc; --primary:#20d39b; --primary2:#2e8cff;
  --danger:#ef4f6f; --warn:#f7b731; --shadow:0 18px 40px rgba(0,0,0,.32);
  --radius:18px; --sidebar:250px;
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box} html,body{margin:0;min-height:100%;background:linear-gradient(135deg,var(--bg),#030812 70%);color:var(--text);font-size:14px} body{overflow-x:hidden}
button,input,select,textarea{font:inherit} button{cursor:pointer} .hidden{display:none!important}
.app-shell{display:grid;grid-template-columns:var(--sidebar) minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;height:100vh;padding:18px 14px;background:rgba(5,13,25,.92);border-right:1px solid rgba(65,118,160,.35);backdrop-filter:blur(16px);z-index:10}.brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}.brand img{width:46px;height:46px;border-radius:13px}.brand-title{font-size:28px;font-weight:900;letter-spacing:-.04em}.brand-sub{font-size:12px;color:#bde4ff}.nav{display:grid;gap:9px}.nav-btn{border:1px solid rgba(80,145,190,.35);background:linear-gradient(145deg,#173653,#10243e);color:var(--text);border-radius:15px;padding:12px 14px;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:center;text-align:left;font-weight:850;box-shadow:0 6px 16px rgba(0,0,0,.18)}.nav-btn small{display:block;color:#c1d5e8;font-weight:650;font-size:11px}.nav-btn.active,.nav-btn:hover{border-color:rgba(32,211,155,.72);background:linear-gradient(135deg,#1d6a57,#228ce0);transform:translateY(-1px)}.sidebar-card{margin-top:16px;padding:14px;border:1px solid rgba(80,145,190,.35);border-radius:15px;background:rgba(8,20,35,.86);color:#d9efff}.content{min-width:0;padding:24px 28px 36px}.topbar{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-bottom:18px}.pill{border:1px solid rgba(80,145,190,.40);background:rgba(17,36,62,.88);border-radius:16px;padding:10px 14px;color:#e9f8ff;font-weight:800}.pill small{display:block;color:#a8bfd5;font-size:10px;text-transform:uppercase}.status-dot{display:inline-block;width:10px;height:10px;border-radius:99px;background:#16e085;box-shadow:0 0 12px rgba(22,224,133,.9);margin-right:7px}.page-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:18px}.page-title{display:flex;gap:12px;align-items:center}.page-title h1{font-size:28px;line-height:1;margin:0}.page-title p{margin:8px 0 0;color:#b7d5ec}.card{border:1px solid rgba(80,145,190,.35);border-radius:var(--radius);background:linear-gradient(155deg,rgba(20,45,75,.94),rgba(11,25,43,.96));box-shadow:var(--shadow);padding:18px}.card.green{background:linear-gradient(155deg,rgba(14,74,53,.96),rgba(6,44,33,.96));border-color:rgba(32,211,155,.35)}.grid{display:grid;gap:14px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;font-weight:850;margin-bottom:7px}.field input,.field select,.field textarea,.search-input{width:100%;border:1px solid rgba(100,160,205,.35);background:rgba(255,255,255,.07);color:var(--text);border-radius:13px;padding:12px 14px;outline:none}.field textarea{min-height:84px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(32,211,155,.14)}.btn{border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:11px 15px;color:white;background:linear-gradient(135deg,#19405f,#13243a);font-weight:900}.btn.primary{background:linear-gradient(135deg,#27dba5,#1c8de4)}.btn.danger{background:linear-gradient(135deg,#ef5170,#b02d4c)}.btn.warn{background:linear-gradient(135deg,#f8b22f,#d97b19)}.btn.ghost{background:rgba(255,255,255,.06)}.btn:active{transform:scale(.98)}.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}.tabbar{display:flex;gap:10px;flex-wrap:wrap;border:1px solid rgba(80,145,190,.35);background:rgba(10,22,38,.75);padding:10px;border-radius:17px;margin-bottom:14px}.tabbar .btn.active{background:linear-gradient(135deg,#27dba5,#2e8cff)}.kpi{display:flex;gap:14px;align-items:center}.kpi .icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(46,140,255,.16);font-size:24px}.kpi strong{font-size:24px;display:block}.kpi span{color:#b8cee2;font-weight:750}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}.product-card{display:flex;flex-direction:column;gap:10px;min-height:100%;border:1px solid rgba(80,145,190,.32);border-radius:18px;background:rgba(9,22,38,.78);padding:12px}.product-card img{width:100%;height:150px;object-fit:contain;background:white;border-radius:14px}.product-card h3{font-size:15px;line-height:1.18;margin:0;text-transform:uppercase}.muted{color:var(--muted)}.price{font-size:20px;font-weight:950}.badge{display:inline-flex;border:1px solid rgba(32,211,155,.35);background:rgba(32,211,155,.12);color:#86ffd7;border-radius:999px;padding:5px 9px;font-weight:900;font-size:12px}.table-wrap{overflow:auto;border:1px solid rgba(80,145,190,.30);border-radius:16px}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th,.data-table td{padding:11px;border-bottom:1px solid rgba(80,145,190,.22);text-align:left}.data-table th{color:#b7d5ec;font-size:12px;text-transform:uppercase}.data-table input{width:90px;border:1px solid rgba(100,160,205,.35);background:rgba(255,255,255,.08);color:white;border-radius:10px;padding:8px}.cart-fab{position:fixed;right:24px;bottom:24px;width:62px;height:62px;border-radius:20px;border:1px solid rgba(32,211,155,.55);background:linear-gradient(135deg,#27dba5,#1c8de4);box-shadow:0 18px 30px rgba(0,0,0,.40);display:grid;place-items:center;z-index:50;font-size:28px}.cart-count{position:absolute;right:-6px;top:-7px;background:#ef4f6f;color:white;border-radius:99px;min-width:24px;height:24px;display:grid;place-items:center;font-size:12px;font-weight:950}.drawer-mask{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:60}.cart-drawer{position:fixed;right:0;top:0;height:100vh;width:min(430px,92vw);background:#081729;border-left:1px solid rgba(80,145,190,.42);box-shadow:-20px 0 50px rgba(0,0,0,.45);z-index:70;padding:18px;display:flex;flex-direction:column;gap:12px}.cart-line{display:grid;grid-template-columns:1fr auto;gap:10px;border:1px solid rgba(80,145,190,.25);border-radius:14px;padding:10px;background:rgba(255,255,255,.04)}.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.68);z-index:90;display:grid;place-items:center;padding:22px}.modal{width:min(760px,96vw);max-height:90vh;overflow:auto;background:#0b1b31;border:1px solid rgba(80,145,190,.45);border-radius:22px;box-shadow:var(--shadow);padding:18px}.modal img{width:100%;max-height:360px;object-fit:contain;background:white;border-radius:16px}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,94vw)}.alert{border:1px solid rgba(247,183,49,.4);background:rgba(247,183,49,.11);color:#ffe7a5;border-radius:14px;padding:12px}.success{border-color:rgba(32,211,155,.4);background:rgba(32,211,155,.10);color:#bbffe9}.mobile-menu{display:none}.purchase-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;max-height:280px;overflow:auto;padding:8px;border:1px solid rgba(80,145,190,.25);border-radius:14px}.pick-card{border:1px solid rgba(80,145,190,.28);border-radius:14px;padding:10px;background:rgba(255,255,255,.05);text-align:left;color:white}.pick-card:hover{border-color:var(--primary);background:rgba(32,211,155,.12)}
@media (max-width:900px){.app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-280px;width:250px;transition:.22s;z-index:100}.sidebar.open{left:0}.content{padding:16px}.mobile-menu{display:inline-flex}.topbar{justify-content:space-between}.form-grid,.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.products-grid{grid-template-columns:1fr}.product-card{display:grid;grid-template-columns:96px 1fr}.product-card img{height:96px}.page-head{display:block}.cart-drawer{width:100vw}.table-wrap{max-width:100%}}

/* v3.5.0 Phase 4 — Catalog modal stable */
:root{ --cartWidth: min(520px, 96vw); }
.btn[disabled]{opacity:.45;cursor:not-allowed;filter:grayscale(.35)}
.btn.small{padding:7px 10px;border-radius:10px;font-size:12px}
.btn.active{background:linear-gradient(135deg,#27dba5,#2e8cff);border-color:rgba(32,211,155,.75)}
.pos-head{align-items:center}.pos-command{margin-bottom:14px}.pos-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px}.pos-hint{margin-top:9px;color:#acc6da;font-size:12px;font-weight:700}.pos-cats{position:sticky;top:0;z-index:4;background:rgba(6,17,31,.82);padding:10px;border:1px solid rgba(80,145,190,.22);border-radius:16px;backdrop-filter:blur(10px)}.pos-grid{align-items:stretch}.pos-card{position:relative;transition:transform .16s ease,border-color .16s ease,background .16s ease}.pos-card:hover{transform:translateY(-2px);border-color:rgba(32,211,155,.62);background:rgba(12,32,54,.92)}.pos-card.out-stock{opacity:.72}.pos-card-body{display:grid;gap:7px}.pos-card-top{display:flex;gap:8px;align-items:flex-start;justify-content:space-between}.pos-stock-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.pos-actions{margin-bottom:0}.danger-badge{border-color:rgba(239,79,111,.4);background:rgba(239,79,111,.14);color:#ffc6d1}
.cart-fab{isolation:isolate}.cart-fab:hover{filter:brightness(1.08);transform:translateY(-1px)}.cart-drawer.v2{width:var(--cartWidth);background:linear-gradient(155deg,#0a182b,#06111f 82%);padding:0}.cart-head{padding:18px;border-bottom:1px solid rgba(80,145,190,.28);display:flex;justify-content:space-between;align-items:flex-start}.cart-head h2{margin:0 0 4px}.cart-lines{padding:14px;display:grid;gap:10px;overflow:auto;flex:1}.cart-empty{min-height:190px;border:1px dashed rgba(80,145,190,.42);border-radius:18px;display:grid;place-items:center;text-align:center;padding:22px;color:#e9f8ff;background:rgba(255,255,255,.035)}.cart-empty div{font-size:40px}.cart-line.v2{grid-template-columns:minmax(0,1fr) auto;background:rgba(255,255,255,.045);border-color:rgba(80,145,190,.30)}.cart-line-main{min-width:0;display:grid;gap:5px}.cart-line-main b{line-height:1.2}.cart-line-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:end;margin-top:4px}.cart-line-controls label{display:grid;gap:4px;color:#adc7de;font-size:11px;font-weight:850}.cart-line-controls input{width:84px;border:1px solid rgba(100,160,205,.35);background:rgba(255,255,255,.08);color:white;border-radius:10px;padding:7px 8px}.cart-line-side{display:grid;gap:8px;justify-items:end;align-content:start}.cart-payment{border-radius:0;border-left:0;border-right:0;box-shadow:none;background:rgba(20,45,75,.68)}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cart-payment .field label{font-size:12px}.cart-payment .field input,.cart-payment .field select{padding:10px 11px}.cart-summary{margin:0 14px 0;box-shadow:none;background:rgba(255,255,255,.04)}.cart-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cart-summary-grid div{border:1px solid rgba(80,145,190,.22);border-radius:13px;background:rgba(0,0,0,.12);padding:10px;display:flex;justify-content:space-between;gap:10px}.cart-summary-grid span{color:#adc7de;font-weight:800}.cart-summary-grid b{font-size:16px}.cart-total-row{grid-column:1/-1;background:linear-gradient(135deg,rgba(32,211,155,.16),rgba(46,140,255,.16))!important;border-color:rgba(32,211,155,.42)!important}.cart-total-row b{font-size:26px;color:#b8ffe9}.cart-actions{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:14px;border-top:1px solid rgba(80,145,190,.28)}
@media (max-width:900px){.pos-search-row{grid-template-columns:1fr}.pos-cats{position:relative}.cart-actions{grid-template-columns:1fr}.cart-summary-grid{grid-template-columns:1fr}.form-grid.compact{grid-template-columns:1fr}.cart-line.v2{grid-template-columns:1fr}.cart-line-side{justify-items:stretch}.cart-line-controls input{width:100%}.cart-line-controls label{flex:1 1 120px}}

/* v3.5.0 Phase 4 — Catálogo y ficha modal robusta */
body.modal-open{overflow:hidden}.catalog-toolbar{position:sticky;top:0;z-index:5;background:rgba(6,17,31,.86);backdrop-filter:blur(14px);padding:10px;border:1px solid rgba(80,145,190,.25);border-radius:16px}.catalog-grid .catalog-card{cursor:pointer;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.catalog-grid .catalog-card:hover,.catalog-grid .catalog-card:focus{transform:translateY(-2px);border-color:rgba(32,211,155,.72);box-shadow:0 14px 34px rgba(0,0,0,.34);outline:none}.compact-actions{margin-top:10px;margin-bottom:0}.catalog-modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:1000;display:grid;place-items:center;padding:22px}.catalog-modal{width:min(980px,96vw);max-height:92vh;overflow:auto;background:linear-gradient(155deg,rgba(15,34,58,.98),rgba(7,19,33,.98));border:1px solid rgba(80,145,190,.55);border-radius:24px;box-shadow:0 28px 80px rgba(0,0,0,.62);padding:18px}.catalog-modal-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid rgba(80,145,190,.25);padding-bottom:12px;margin-bottom:14px}.catalog-modal-head h2{margin:0;font-size:23px}.catalog-modal-head p{margin:6px 0 0;color:#b7d5ec}.catalog-modal-body{display:grid;grid-template-columns:minmax(280px,420px) 1fr;gap:18px;align-items:start}.catalog-gallery{display:grid;gap:12px}.catalog-gallery>img{width:100%;height:390px;object-fit:contain;background:white;border-radius:18px;border:1px solid rgba(255,255,255,.12)}.catalog-thumbs{display:flex;gap:10px;overflow:auto;padding-bottom:4px}.catalog-thumb{flex:0 0 78px;height:78px;border:2px solid rgba(80,145,190,.35);border-radius:13px;background:white;padding:4px;cursor:pointer}.catalog-thumb.active{border-color:#20d39b;box-shadow:0 0 0 3px rgba(32,211,155,.18)}.catalog-thumb img{width:100%;height:100%;object-fit:contain;border-radius:9px}.catalog-info{display:grid;gap:14px}.catalog-product-title{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;border:1px solid rgba(80,145,190,.28);border-radius:18px;padding:14px;background:rgba(255,255,255,.045)}.catalog-product-title h1{font-size:24px;margin:0;line-height:1.1;text-transform:uppercase}.catalog-product-title p{margin:8px 0 0;color:#b7d5ec}.catalog-product-title strong{font-size:22px;color:#9effd8;white-space:nowrap}.catalog-badges{display:flex;gap:9px;flex-wrap:wrap}.badge.warn-soft{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.16);color:#ffd887}.badge.danger-soft{border-color:rgba(239,81,112,.5);background:rgba(239,81,112,.16);color:#ffb6c5}.catalog-description{border:1px solid rgba(80,145,190,.28);border-radius:18px;padding:14px;background:rgba(255,255,255,.04)}.catalog-description h3{margin:0 0 8px}.catalog-description p{margin:0;line-height:1.55;color:#e7f5ff}.catalog-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.catalog-meta div{border:1px solid rgba(80,145,190,.25);border-radius:14px;padding:10px;background:rgba(255,255,255,.035)}.catalog-meta dt{font-size:11px;text-transform:uppercase;color:#9eb8cf;font-weight:900}.catalog-meta dd{margin:5px 0 0;color:#f4fbff;font-weight:800}.catalog-actions{display:flex;gap:10px;flex-wrap:wrap}.public-catalog .page-head{margin-top:12px}@media (max-width:860px){.catalog-modal-mask{padding:10px}.catalog-modal{max-height:94vh;padding:14px;border-radius:18px}.catalog-modal-body{grid-template-columns:1fr}.catalog-gallery>img{height:280px}.catalog-product-title{display:grid}.catalog-product-title strong{font-size:20px}.catalog-meta{grid-template-columns:1fr}.catalog-thumb{flex-basis:66px;height:66px}.catalog-actions .btn{flex:1 1 130px}}

/* ARDAT POS v3.5.0 Phase 4 - Products Modular Workspace */
.module-shell{display:grid;gap:14px}.module-panel{min-height:320px}.products-head{align-items:center}.product-kpis{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.module-switch{display:flex;gap:10px;flex-wrap:wrap;border:1px solid rgba(80,145,190,.35);background:rgba(10,22,38,.78);padding:10px;border-radius:18px;margin-bottom:14px}.module-tab{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(135deg,#142a43,#0d1b2c);color:#eaf7ff;border-radius:999px;padding:12px 18px;font-weight:950;box-shadow:0 8px 20px rgba(0,0,0,.18)}.module-tab.active{background:linear-gradient(135deg,#23d69e,#2e8cff);border-color:rgba(255,255,255,.28);box-shadow:0 12px 28px rgba(46,140,255,.26)}.module-tab:active{transform:scale(.98)}.products-workspace{display:grid;grid-template-columns:minmax(320px,420px) minmax(0,1fr);gap:16px;align-items:start}.product-list-card,.product-form-card{min-width:0}.panel-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-title h2{margin:0 0 6px;font-size:20px}.panel-title p{margin:0}.compact-toolbar{margin-bottom:10px}.small-select{max-width:160px}.product-admin-list{display:grid;gap:10px;max-height:calc(100vh - 330px);min-height:240px;overflow:auto;padding-right:4px}.product-admin-card{display:grid;grid-template-columns:62px 1fr;gap:12px;align-items:center;border:1px solid rgba(80,145,190,.24);background:rgba(255,255,255,.045);border-radius:15px;padding:10px;cursor:pointer}.product-admin-card:hover,.product-admin-card.selected{border-color:rgba(32,211,155,.62);background:rgba(32,211,155,.085);transform:translateY(-1px)}.product-admin-card img{width:62px;height:62px;object-fit:contain;border-radius:13px;background:#fff}.product-admin-card h3{margin:0 0 5px;font-size:13px;line-height:1.18;text-transform:uppercase}.product-mini-meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;color:#dff5ff;font-size:12px;font-weight:850}.product-form-sections{display:grid;gap:14px}.mini-card{border:1px solid rgba(80,145,190,.25);background:rgba(255,255,255,.035);border-radius:18px;padding:16px}.mini-card h3{margin:0 0 12px;font-size:16px;color:#eaf8ff}.form-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.span-2{grid-column:span 2}.actions-field .toolbar{margin:0}.image-admin-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:16px;align-items:start}.product-image-preview{border:1px solid rgba(80,145,190,.30);background:#fff;border-radius:18px;padding:10px;min-height:190px;display:grid;place-items:center}.product-image-preview img{max-width:100%;max-height:170px;object-fit:contain}.sticky-actions{position:sticky;bottom:12px;z-index:5;margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;border:1px solid rgba(80,145,190,.35);background:rgba(6,17,31,.88);backdrop-filter:blur(16px);border-radius:18px;padding:12px;box-shadow:0 14px 36px rgba(0,0,0,.32)}.empty-state{border:1px dashed rgba(120,170,210,.35);border-radius:16px;padding:18px;text-align:center;color:#b7d5ec;background:rgba(255,255,255,.025)}.danger-badge{border-color:rgba(239,79,111,.5);background:rgba(239,79,111,.15);color:#ffb6c4}.warn-badge{border-color:rgba(247,183,49,.55);background:rgba(247,183,49,.14);color:#ffd98a}.inventory-layout,.promos-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:16px;align-items:start}.kardex-list{display:grid;gap:9px;max-height:330px;overflow:auto}.kardex-item,.promo-product-row{display:flex;justify-content:space-between;gap:10px;align-items:center;border:1px solid rgba(80,145,190,.22);border-radius:14px;padding:10px;background:rgba(255,255,255,.035)}.kardex-item span,.promo-product-row span{color:#b7d5ec;font-size:12px}.combo-admin-grid{align-items:end}.footer-toolbar{margin-top:14px}
@media (max-width: 1180px){.products-workspace,.inventory-layout,.promos-layout{grid-template-columns:1fr}.product-admin-list{max-height:none}.form-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 720px){.module-tab{flex:1 1 calc(50% - 8px);justify-content:center}.form-grid,.form-grid-2,.form-grid-4{grid-template-columns:1fr}.span-2{grid-column:auto}.image-admin-layout{grid-template-columns:1fr}.product-kpis{justify-content:flex-start}.product-admin-card{grid-template-columns:54px 1fr}.sticky-actions{position:relative;bottom:auto}.sticky-actions .btn{flex:1 1 45%}}

/* ARDAT POS v3.5.0 Phase 5 - Purchases Modular Complete */
.purchases-head{align-items:center}.purchase-workspace{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:16px;align-items:start}.purchase-main,.purchase-side{display:grid;gap:16px;min-width:0}.purchase-document-card,.purchase-search-card,.purchase-lines-card,.purchase-history-card{min-width:0}.purchase-search-row{display:grid;grid-template-columns:minmax(280px,1fr) 120px 150px 150px;gap:12px;align-items:end}.purchase-picker-v2{display:grid;gap:9px;margin-top:12px;max-height:320px;overflow:auto;padding-right:4px}.purchase-pick-card{display:grid;grid-template-columns:minmax(0,1.4fr) 76px 96px 96px;gap:10px;align-items:center;text-align:left;border:1px solid rgba(80,145,190,.25);border-radius:15px;background:rgba(255,255,255,.045);color:var(--text);padding:11px}.purchase-pick-card:hover,.purchase-pick-card.selected{border-color:rgba(32,211,155,.65);background:rgba(32,211,155,.09)}.purchase-pick-card b{display:block}.purchase-pick-card small{display:block;color:#adc7de;font-weight:800;font-size:11px}.purchase-total-box{border:1px solid rgba(32,211,155,.35);background:linear-gradient(135deg,rgba(32,211,155,.14),rgba(46,140,255,.14));border-radius:16px;padding:10px 14px;text-align:right;min-width:190px}.purchase-total-box span{display:block;color:#adc7de;font-weight:850;font-size:11px;text-transform:uppercase}.purchase-total-box strong{font-size:24px;color:#b8ffe9}.purchase-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px}.purchase-summary-grid div{border:1px solid rgba(80,145,190,.25);border-radius:14px;background:rgba(255,255,255,.035);padding:12px}.purchase-summary-grid span{display:block;color:#adc7de;font-weight:850;font-size:11px;text-transform:uppercase}.purchase-summary-grid b{display:block;margin-top:4px;font-size:18px;color:#f6fbff}.purchase-table input{width:96px}.quick-create-box{border:1px solid rgba(80,145,190,.28);border-radius:18px;background:rgba(255,255,255,.035);padding:14px;margin-top:14px}.quick-create-box h3{margin:0 0 12px}.file-btn{position:relative;overflow:hidden}.report-number{display:block;font-size:26px;color:#b8ffe9;margin:8px 0}.purchase-history-card .data-table{min-width:620px}@media (max-width:1180px){.purchase-workspace{grid-template-columns:1fr}.purchase-search-row{grid-template-columns:1fr 1fr}.purchase-side{order:2}}@media (max-width:720px){.purchase-search-row{grid-template-columns:1fr}.purchase-pick-card{grid-template-columns:1fr 1fr}.purchase-summary-grid{grid-template-columns:1fr 1fr}.purchase-total-box{text-align:left;width:100%}.purchase-table input{width:82px}.file-btn,.footer-toolbar .btn{flex:1 1 100%}}

/* ARDAT POS v3.5.0 Phase 6 - Configuración modular + permisos */
.config-layout{display:grid;grid-template-columns:minmax(250px,320px) minmax(0,1fr);gap:16px;align-items:start}.config-menu{position:sticky;top:18px;display:grid;gap:10px;padding:14px}.config-card-btn{width:100%;display:grid;grid-template-columns:42px 1fr auto;gap:11px;align-items:center;text-align:left;border:1px solid rgba(80,145,190,.28);background:rgba(255,255,255,.04);color:var(--text);border-radius:16px;padding:12px}.config-card-btn:hover,.config-card-btn.active{border-color:rgba(32,211,155,.68);background:linear-gradient(135deg,rgba(32,211,155,.14),rgba(46,140,255,.13));transform:translateY(-1px)}.config-card-btn.is-locked{opacity:.74}.config-card-btn em{font-size:10px;color:#ffd887;font-style:normal;font-weight:950;text-transform:uppercase}.config-card-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(46,140,255,.14);font-size:22px}.config-card-btn b{display:block;font-size:14px}.config-card-btn small{display:block;margin-top:4px;color:#abc4da;font-weight:760}.config-panel{min-width:0}.config-section-card{animation:configFade .12s ease-out}.config-lock{margin-bottom:14px}.config-actions{justify-content:flex-end}.config-user-form{margin-bottom:14px}.diagnostic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.diagnostic-grid div{border:1px solid rgba(80,145,190,.26);border-radius:14px;padding:12px;background:rgba(255,255,255,.035)}.diagnostic-grid span{display:block;color:#a9c1d8;font-size:11px;font-weight:900;text-transform:uppercase}.diagnostic-grid b{display:block;margin-top:5px;font-size:16px;color:#f3fbff;word-break:break-word}.diag-pre{max-height:430px;overflow:auto;white-space:pre-wrap;border:1px solid rgba(80,145,190,.25);border-radius:14px;background:#04101d;color:#cae9ff;padding:12px}.permission-table td,.permission-table th{text-align:center}.permission-table td:first-child,.permission-table th:first-child{text-align:left}.permission-table code{color:#b9ffe7;background:rgba(32,211,155,.10);border:1px solid rgba(32,211,155,.18);border-radius:8px;padding:3px 6px}.perm-ok{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:99px;background:rgba(32,211,155,.15);color:#8dffd9;border:1px solid rgba(32,211,155,.35);font-weight:950}.perm-no{color:#7892aa;font-weight:950}.field input:disabled,.field select:disabled,.field textarea:disabled,.btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.25)}@keyframes configFade{from{opacity:.7;transform:translateY(4px)}to{opacity:1;transform:none}}@media(max-width:980px){.config-layout{grid-template-columns:1fr}.config-menu{position:relative;top:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.config-card-btn{grid-template-columns:36px 1fr}.config-card-btn em{display:none}}@media(max-width:640px){.config-menu{grid-template-columns:1fr}.diagnostic-grid{grid-template-columns:1fr}.config-actions .btn{width:100%}}

/* ARDAT POS v3.5.0 Phase 7 - Caja + Reportes modular */
.cash-head,.reports-head{align-items:center}.cash-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;align-items:start}.cash-main,.cash-side{display:grid;gap:16px;min-width:0}.cash-panel{min-width:0}.cash-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:end}.cash-form-grid .span-2{grid-column:span 2}.cash-kpis .kpi small,.report-kpis .kpi small{display:block;color:#abc4da;font-weight:760;margin-top:3px}.warn-card{border-color:rgba(247,183,49,.55)!important;background:linear-gradient(155deg,rgba(85,58,18,.82),rgba(22,31,44,.96))!important}.payment-breakdown{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}.payment-breakdown div{border:1px solid rgba(80,145,190,.27);background:rgba(255,255,255,.04);border-radius:15px;padding:12px}.payment-breakdown span{display:block;color:#acc7db;font-size:11px;font-weight:900;text-transform:uppercase}.payment-breakdown b{display:block;margin-top:5px;font-size:19px;color:#caffee}.payment-breakdown small{display:block;margin-top:3px;color:#91aec7}.cash-moves-list{display:grid;gap:9px;max-height:360px;overflow:auto}.cash-move-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid rgba(80,145,190,.24);background:rgba(255,255,255,.035);border-radius:14px;padding:11px}.cash-move-row b{display:block;text-transform:uppercase;font-size:12px}.cash-move-row span{display:block;color:#abc4da;font-size:12px;margin-top:3px}.cash-move-row strong{white-space:nowrap;color:#e9fff8}.closure-card{border-color:rgba(32,211,155,.38)}.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.report-bars{display:grid;gap:12px}.report-bar{display:grid;gap:7px;border:1px solid rgba(80,145,190,.24);background:rgba(255,255,255,.035);border-radius:14px;padding:11px}.report-bar>div{display:flex;justify-content:space-between;gap:10px}.report-bar span{color:#abc4da;font-size:12px}.report-bar strong{color:#dffdf3}.report-bar meter{width:100%;height:9px}.text-warn{color:#ffd887!important}.text-ok{color:#8dffd9!important}.no-print{margin-top:16px}@media(max-width:1180px){.cash-layout,.reports-grid{grid-template-columns:1fr}.cash-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.cash-form-grid{grid-template-columns:1fr}.cash-form-grid .span-2{grid-column:auto}.cash-head .toolbar,.reports-head .toolbar{margin-top:12px}.cash-head .toolbar .btn,.reports-head .toolbar .btn{flex:1 1 100%}}@media print{.sidebar,.topbar,.no-print,.toolbar,.cart-fab,.drawer-mask,.cart-drawer{display:none!important}.app-shell{display:block}.content{padding:0}.card{box-shadow:none;background:#fff!important;color:#111!important;border-color:#ddd}.muted,.data-table th{color:#555!important}body{background:#fff!important;color:#111!important}.page-title h1,.page-title p,.kpi strong,.kpi span{color:#111!important}}

/* ARDAT POS v3.5.0 Phase 8 - Sync avanzada + reconciliación */
.sync-head{align-items:center}.sync-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:16px;align-items:start}.sync-main,.sync-side{display:grid;gap:16px;min-width:0}.sync-kpis .kpi small{display:block;color:#abc4da;font-weight:760;margin-top:3px}.sync-table .badge{white-space:nowrap}.badge.pending{border-color:rgba(46,140,255,.45);background:rgba(46,140,255,.14);color:#bbdcff}.badge.scheduled{border-color:rgba(247,183,49,.45);background:rgba(247,183,49,.13);color:#ffd98a}.badge.running{border-color:rgba(32,211,155,.55);background:rgba(32,211,155,.16);color:#a8ffe3}.badge.failed,.badge.manual{border-color:rgba(239,79,111,.5);background:rgba(239,79,111,.16);color:#ffc0cc}.alert.danger{border-color:rgba(239,79,111,.52);background:rgba(239,79,111,.14);color:#ffd1d9}.sync-log-list{display:grid;gap:9px;max-height:360px;overflow:auto;margin-bottom:12px}.sync-log{border:1px solid rgba(80,145,190,.24);background:rgba(255,255,255,.035);border-radius:14px;padding:10px}.sync-log b{display:block;color:#b8d5eb;font-size:11px}.sync-log span{display:block;margin-top:4px}.sync-log.error{border-color:rgba(239,79,111,.45);background:rgba(239,79,111,.10)}.sync-log.warn{border-color:rgba(247,183,49,.45);background:rgba(247,183,49,.10)}.sync-log.success{border-color:rgba(32,211,155,.45);background:rgba(32,211,155,.10)}.sync-side .alert{margin-bottom:10px}.sync-side .alert .btn{margin-top:9px}.sync-table td:nth-child(6){max-width:280px;white-space:normal;color:#ffd7df;font-size:12px}.sync-table .btn+.btn{margin-left:6px}@media(max-width:1180px){.sync-layout{grid-template-columns:1fr}}@media(max-width:720px){.sync-head .toolbar .btn{flex:1 1 100%}.sync-table{min-width:900px}}

/* ARDAT POS v3.5.0 Phase 10 - UX hardening, responsive, selects, cards, scanner */
html{color-scheme:dark}select option,select optgroup{background:#10233b!important;color:#f6fbff!important}.field select,.search-input,select{appearance:auto;background-color:rgba(255,255,255,.075);color:var(--text)}
.products-grid{align-items:stretch}.product-card,.catalog-card,.pos-card{height:100%;display:grid;grid-template-rows:auto 1fr}.product-card>div,.catalog-card>div,.pos-card-body{min-height:0;display:flex;flex-direction:column;gap:9px}.product-card h3,.catalog-card h3,.pos-card h3{min-height:3.5em;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.product-card .toolbar,.catalog-card .toolbar,.pos-card .toolbar{margin-top:auto}.product-card .btn,.catalog-card .btn,.pos-card .btn{min-height:44px}.pos-stock-row,.product-mini-meta{margin-top:auto}.compact-actions{align-items:flex-end}.catalog-toolbar{align-items:stretch}.catalog-toolbar .search-input{flex:1 1 440px}.catalog-toolbar .btn{white-space:nowrap}.cart-drawer.v2{width:min(640px,96vw)!important}.cart-lines{min-height:180px;max-height:38vh;overflow:auto;padding:4px}.cart-lines-expanded{max-height:46vh}.cart-line.v2{grid-template-columns:minmax(0,1fr) 120px}.cart-line-main{min-width:0}.cart-line-main b{display:block;white-space:normal;overflow:visible}.cart-line-controls{display:grid;grid-template-columns:88px 110px minmax(120px,auto);gap:8px;align-items:end}.cart-line-controls label{font-size:12px;color:#b7d5ec;font-weight:850}.cart-line-controls input{width:100%;border:1px solid rgba(100,160,205,.35);background:rgba(255,255,255,.08);color:white;border-radius:10px;padding:8px}.cart-line-side{display:grid;gap:10px;justify-items:end;align-content:center}.cart-payment.card{padding:12px}.cart-payment .form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.cart-actions{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:0 0 10px}.purchase-workspace,.products-workspace{align-items:start}.purchase-table input,.data-table input{background:#233c58;color:#fff;border-color:#4d7ca8}.purchase-table select,.data-table select{background:#233c58;color:#fff}.purchase-lines-card .table-wrap{max-height:440px}.image-capture-tools{margin-top:12px;border:1px solid rgba(80,145,190,.26);background:rgba(255,255,255,.035);border-radius:16px;padding:12px}.image-capture-report{border:1px solid rgba(80,145,190,.25);border-radius:12px;padding:10px;color:#cde6fa}.image-capture-report.success{border-color:rgba(32,211,155,.45);background:rgba(32,211,155,.10);color:#bfffe9}.image-capture-report.warn{border-color:rgba(247,183,49,.45);background:rgba(247,183,49,.11);color:#ffdf99}.scanner-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:200;display:grid;place-items:center;padding:18px}.scanner-box{position:relative;width:min(620px,96vw);border:1px solid rgba(80,145,190,.42);border-radius:22px;background:#081729;box-shadow:0 24px 70px rgba(0,0,0,.55);padding:16px;overflow:hidden}.scanner-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.scanner-head h2{margin:0}.scanner-head p{margin:4px 0 0;color:#adc7de}.scanner-video{width:100%;height:min(52vh,420px);object-fit:cover;background:#020812;border-radius:16px;border:1px solid rgba(80,145,190,.25)}.scanner-frame{position:absolute;left:12%;right:12%;top:42%;height:90px;border:2px solid rgba(32,211,155,.72);border-radius:14px;box-shadow:0 0 0 999px rgba(0,0,0,.15);pointer-events:none}.scanner-frame span{position:absolute;left:10px;right:10px;top:50%;border-top:2px solid rgba(255,255,255,.75)}.scanner-actions{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:12px}.scanner-status{margin:10px 2px 0}.config-logo-preview{width:120px;height:120px;border-radius:18px;background:white;object-fit:contain;padding:8px;border:1px solid rgba(80,145,190,.35)}.config-doc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.phase10-badge{border-color:rgba(46,140,255,.45);background:rgba(46,140,255,.15);color:#cfe8ff}
@media(max-width:1180px){.products-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.cart-drawer.v2{width:min(580px,98vw)!important}.config-doc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.content{padding:12px 12px 96px}.topbar{position:sticky;top:0;z-index:20;background:rgba(6,17,31,.88);backdrop-filter:blur(12px);padding:8px;border-radius:16px;overflow:auto;justify-content:flex-start}.topbar .pill{white-space:nowrap}.page-title h1{font-size:24px}.products-grid,.pos-grid,.catalog-grid{grid-template-columns:1fr!important}.product-card,.catalog-card,.pos-card{grid-template-columns:116px minmax(0,1fr);grid-template-rows:auto;display:grid}.product-card img,.catalog-card img,.pos-card img{width:116px;height:116px}.product-card h3,.catalog-card h3,.pos-card h3{min-height:0;-webkit-line-clamp:2}.pos-actions,.compact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pos-actions .btn:last-child,.compact-actions .btn:first-child:nth-last-child(1){grid-column:1/-1}.cart-drawer.v2{width:100vw!important}.cart-line.v2{grid-template-columns:1fr}.cart-line-side{justify-items:stretch}.cart-line-controls{grid-template-columns:1fr 1fr}.cart-line-controls .btn{grid-column:1/-1}.cart-payment .form-grid.compact{grid-template-columns:1fr}.cart-actions{grid-template-columns:1fr}.scanner-actions{grid-template-columns:1fr}.catalog-toolbar{display:grid;grid-template-columns:1fr}.catalog-toolbar .btn{width:100%}.config-doc-grid{grid-template-columns:1fr}.btn{min-height:46px}}
@media(max-width:420px){.product-card,.catalog-card,.pos-card{grid-template-columns:96px minmax(0,1fr);padding:10px}.product-card img,.catalog-card img,.pos-card img{width:96px;height:96px}.price{font-size:18px}.toolbar{gap:8px}.btn{padding:10px 12px}}
