*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif}body{background:#f5f7fb;color:#111827}a{color:inherit}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh;background:#f5f7fb}.sidebar{background:linear-gradient(180deg,#081225,#0b1730);color:#fff;padding:24px 16px;min-height:100vh}.sidebar-brand{font-size:24px;font-weight:800;margin-bottom:28px}.sidebar-nav{display:flex;flex-direction:column;gap:12px}.nav-link{color:#d7e3ff;text-decoration:none;padding:14px 16px;border-radius:14px;transition:.2s ease;font-size:16px;font-weight:500}.nav-link:hover{background:#ffffff14;color:#fff}.nav-link.active{background:#ffffff1a;color:#fff}.app-main{display:flex;flex-direction:column;min-width:0;min-height:100vh}.topbar{background:#fff;border-bottom:1px solid #e5e7eb;padding:20px 28px;display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar-title{margin:0;font-size:34px;line-height:1.1;font-weight:800;color:#0f172a}.topbar-subtitle{margin:6px 0 0;color:#64748b;font-size:18px}.app-content{padding:34px 28px}.page{display:grid;gap:22px}.page-header h2{margin:0 0 8px;font-size:32px;color:#0f172a}.page-header p{margin:0;color:#64748b;font-size:18px}.card{background:#fff;border-radius:22px;padding:24px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a14}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:linear-gradient(135deg,#0f172a,#1e293b)}.login-card{width:100%;max-width:420px;background:#fff;border-radius:18px;padding:28px;box-shadow:0 20px 60px #00000040;display:grid;gap:14px}.login-card h1{margin:0;font-size:32px;color:#0f172a}.login-card p{margin:0 0 10px;color:#64748b}.login-card label{font-weight:600;color:#0f172a}.login-card input{width:100%;border:1px solid #dbe2ea;border-radius:12px;padding:12px 14px;font-size:15px;outline:none}.login-card input:focus{border-color:#2563eb}.login-card button{border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;background:#2563eb;color:#fff;cursor:pointer}.login-card button:disabled{opacity:.7;cursor:not-allowed}.error-box{background:#fee2e2;color:#991b1b;border-radius:12px;padding:12px;font-size:14px}.topbar-actions{display:flex;align-items:center;gap:12px}.btn-logout{border:none;background:#0f172a;color:#fff;padding:10px 14px;border-radius:12px;cursor:pointer;font-weight:600}.btn-logout:hover{opacity:.92}.user-pill{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:10px 14px;display:grid;gap:2px;min-width:210px}.user-pill-label{font-size:12px;color:#64748b}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.stat-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e5e7eb;border-radius:22px;padding:22px;box-shadow:0 10px 30px #0f172a0f}.stat-card-label{color:#64748b;font-size:14px;margin-bottom:10px}.stat-card-value{font-size:34px;font-weight:800;color:#0f172a;margin-bottom:6px}.stat-card-meta{color:#2563eb;font-size:14px;font-weight:600}.dashboard-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:18px}.panel{background:#fff;border:1px solid #e5e7eb;border-radius:22px;padding:22px;box-shadow:0 10px 30px #0f172a0f}.panel-large{min-height:320px}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.panel-head h3{margin:0 0 6px;font-size:22px;color:#0f172a}.panel-head p{margin:0;color:#64748b}.sales-placeholder{display:grid;gap:12px;padding-top:10px}.bars{height:220px;display:flex;align-items:end;gap:14px;padding:18px;border-radius:18px;background:linear-gradient(180deg,#f8fbff,#eef4ff);border:1px solid #e5e7eb}.bar{flex:1;border-radius:14px 14px 6px 6px;background:linear-gradient(180deg,#3b82f6,#1d4ed8);min-height:30px}.h-45{height:45%}.h-52{height:52%}.h-60{height:60%}.h-70{height:70%}.h-76{height:76%}.h-85{height:85%}.h-92{height:92%}.bars-labels{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;color:#64748b;font-size:14px;padding:0 8px}.quick-list{display:grid;gap:12px}.quick-item{display:flex;justify-content:space-between;gap:16px;padding:16px;border-radius:16px;background:#f8fafc;border:1px solid #e5e7eb}.quick-item span{color:#64748b}.quick-item strong{color:#0f172a}.mini-table{display:grid;gap:10px}.mini-table-head,.mini-table-row{display:grid;grid-template-columns:2fr 1fr .8fr;gap:12px;align-items:center}.sales-head,.sales-row{grid-template-columns:1fr 1.5fr 1fr 1fr}.mini-table-head{color:#64748b;font-size:13px;font-weight:700;padding:0 8px}.mini-table-row{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;padding:14px 12px;color:#0f172a}.badge-stock{display:inline-flex;min-width:34px;justify-content:center;padding:7px 10px;border-radius:999px;background:#fee2e2;color:#991b1b}.badge-status{display:inline-flex;justify-content:center;padding:7px 12px;border-radius:999px;font-size:13px}.badge-status.success{background:#dcfce7;color:#166534}.badge-status.warning{background:#fef3c7;color:#92400e}@media (max-width: 1200px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}}@media (max-width: 860px){.app-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.topbar{flex-direction:column;align-items:flex-start}.topbar-actions{width:100%;flex-direction:column;align-items:stretch}.user-pill{min-width:auto}.stats-grid{grid-template-columns:1fr}}.products-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:end;flex-wrap:wrap}.products-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;width:100%}.filter-field,.form-field{display:grid;gap:8px}.filter-field label,.form-field label{font-size:14px;color:#475569;font-weight:600}.filter-field input,.filter-field select,.form-field input,.form-field select{border:1px solid #dbe2ea;border-radius:12px;padding:10px 12px;min-height:42px;font-size:14px;outline:none;background:#fff;width:100%}.filter-field input:focus,.filter-field select:focus,.form-field input:focus,.form-field select:focus{border-color:#2563eb}.filter-grow{flex:1 1 340px}.filter-actions{display:flex;gap:10px}.btn-primary,.btn-secondary,.btn-table{border:none;border-radius:12px;padding:12px 16px;cursor:pointer;font-weight:700;transition:.2s ease}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{opacity:.94}.btn-secondary,.btn-table.secondary{background:#e2e8f0;color:#0f172a}.btn-table{padding:9px 12px;background:#0f172a;color:#fff;font-size:13px}.table-card{background:#fff;border-radius:22px;border:1px solid #e5e7eb;box-shadow:0 10px 30px #0f172a0f;overflow:hidden}.products-table-wrap{overflow:auto}.products-table{width:100%;border-collapse:collapse;min-width:1300px}.products-table thead th{text-align:left;padding:16px 14px;font-size:13px;color:#64748b;background:#f8fafc;border-bottom:1px solid #e5e7eb}.products-table tbody td{padding:15px 14px;border-bottom:1px solid #eef2f7;vertical-align:top;color:#0f172a;font-size:14px}.cell-title{font-weight:700}.cell-subtitle{font-size:12px;color:#64748b;margin-top:4px}.table-actions{display:flex;gap:8px;flex-wrap:wrap}.badge-neutral{display:inline-flex;min-width:34px;justify-content:center;padding:7px 10px;border-radius:999px;background:#e2e8f0;color:#0f172a;font-weight:700}.badge-status.danger{background:#fee2e2;color:#991b1b}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:grid;place-items:center;padding:16px;z-index:50}.modal-card{width:min(1100px,96vw);max-height:92vh;background:#fff;border-radius:24px;box-shadow:0 20px 80px #00000040;overflow:hidden;display:flex;flex-direction:column}.modal-xl{max-width:1100px}.modal-header{display:flex;justify-content:space-between;gap:12px;align-items:start;padding:18px 20px 0;flex-shrink:0}.modal-header h3{margin:0 0 6px;font-size:24px}.modal-header p{margin:0;color:#64748b}.icon-close{border:none;background:#f1f5f9;width:40px;height:40px;border-radius:12px;cursor:pointer;font-size:18px}.product-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:20px;overflow-y:auto;min-height:0}.form-field-span-2{grid-column:span 2}.checkbox-field{align-content:end}.checkbox-field label{display:flex;align-items:center;gap:10px}.form-field small{color:#b91c1c;font-size:12px}.form-actions{display:flex;justify-content:end;gap:12px;margin-top:4px;position:sticky;bottom:0;background:#fff;padding-top:8px}@media (max-width: 860px){.product-form-grid{grid-template-columns:1fr}.form-field-span-2{grid-column:span 1}.products-toolbar{align-items:stretch}.filter-actions{width:100%}}.modal-header-pro{padding:18px 22px 0}.modal-kicker{display:inline-block;margin-bottom:8px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#2563eb}.product-form-pro{overflow-y:auto;padding:0 22px 22px}.form-section{background:#f8fafc;border:1px solid #e5e7eb;border-radius:20px;padding:16px;margin-top:16px}.form-section-head{margin-bottom:14px}.form-section-head h4{margin:0 0 4px;font-size:18px;color:#0f172a}.form-section-head p{margin:0;font-size:13px;color:#64748b}.compact-grid{gap:12px;padding:0}.checkbox-card{display:flex;align-items:stretch}.checkbox-card-label{width:100%;display:flex;align-items:flex-start;gap:12px;padding:14px;background:#fff;border:1px solid #dbe2ea;border-radius:14px;cursor:pointer}.checkbox-card-label input{margin-top:3px}.checkbox-card-label span{display:grid;gap:4px}.checkbox-card-label strong{color:#0f172a;font-size:14px}.checkbox-card-label small{color:#64748b;font-size:12px}.form-actions-pro{margin-top:16px;padding:16px 0 0;border-top:1px solid #e5e7eb;background:#fff;position:sticky;bottom:0}.modal-card.modal-xl{width:min(1100px,96vw);max-height:92vh}@media (max-width: 860px){.product-form-pro{padding:0 16px 16px}.form-section{padding:14px}.modal-header-pro{padding:16px 16px 0}}.success-box{background:#dcfce7;color:#166534;border-radius:12px;padding:12px;font-size:14px;margin-top:12px}.pos-layout{display:grid;grid-template-columns:1.3fr .9fr;gap:18px}.pos-search-grid{display:grid;grid-template-columns:1fr 320px;gap:14px;margin-bottom:16px}.pos-products-list,.pos-cart-list{display:grid;gap:12px}.pos-product-card,.pos-cart-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;border:1px solid #e5e7eb;border-radius:18px;background:#f8fafc}.pos-product-side{display:grid;gap:10px;justify-items:end}.pos-cart-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.pos-cart-controls input{width:90px;border:1px solid #dbe2ea;border-radius:10px;padding:8px 10px;min-height:40px}.pos-summary{display:grid;gap:10px;margin-top:16px}.pos-checkout-btn{width:100%;margin-top:16px;min-height:48px;font-size:16px}@media (max-width: 1100px){.pos-layout,.pos-search-grid{grid-template-columns:1fr}}.weight-modal{max-width:520px}.weight-form{display:grid;gap:14px;padding:0 22px 22px}.ticket-modal{max-width:520px}.ticket-paper{background:#fff;padding:22px;font-family:Courier New,monospace;font-size:14px}.ticket-center{text-align:center}.ticket-row{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.ticket-item{margin:10px 0}.ticket-total{font-size:16px;font-weight:700}@media print{body *{visibility:hidden}.ticket-modal,.ticket-modal *{visibility:visible}.ticket-modal{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;max-width:100%;box-shadow:none;border-radius:0}.no-print{display:none!important}.ticket-paper{padding:0}}.sales-filters{display:flex;gap:14px;align-items:end;flex-wrap:wrap;width:100%}.sale-detail-body{padding:0 22px 22px;overflow-y:auto}.sale-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}.sale-totals-box{display:grid;gap:10px;margin-top:16px}@media (max-width: 860px){.sale-detail-grid{grid-template-columns:1fr}}.kardex-page{padding:24px}.filters-grid{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end}.filters-grid select,.filters-grid input{width:100%;padding:10px 12px;border:1px solid #dbe2ea;border-radius:12px;font-size:14px}.filters-actions{display:flex;gap:10px}.filters-actions button{border:none;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;background:#0f172a;color:#fff}.filters-actions .btn-secondary{background:#e2e8f0;color:#0f172a}.badge.movement{text-transform:capitalize}.badge.entrada,.badge.ajuste_entrada,.badge.compra,.badge.traspaso_entrada,.badge.devolucion_proveedor{background:#dcfce7;color:#166534}.badge.salida,.badge.ajuste_salida,.badge.venta,.badge.merma,.badge.traspaso_salida,.badge.devolucion_cliente{background:#fee2e2;color:#991b1b}
