:root{--azul: #0d387c;--azul-oscuro: #072a5e;--azul-claro: #1e56b0;--fondo: #f3f5fa;--superficie: #ffffff;--texto: #16202e;--muted: #545f70;--borde: #e3e8f0;--ok: #16a34a;--warn: #d97706;--err: #dc2626;--sombra: 0 1px 2px rgba(16, 32, 64, .06), 0 8px 24px rgba(16, 32, 64, .06);--radio: 14px}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:var(--fondo);color:var(--texto);font-size:15px;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.05rem}h3{font-size:.95rem}p{margin:.35rem 0 0}.muted{color:var(--muted)}.right{text-align:right}.center{text-align:center}.sub{color:var(--muted);font-size:.8rem;margin-top:2px}.link{color:var(--azul-claro);background:none;border:0;padding:0;font:inherit;cursor:pointer;text-decoration:none}.link:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;padding:11px 18px;font-size:.92rem;font-weight:650;letter-spacing:.01em;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease,color .16s ease;text-decoration:none;white-space:nowrap;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:3px solid rgba(30,86,176,.35);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--azul-claro) 0%,var(--azul) 100%);color:#fff;box-shadow:0 6px 16px #0d387c47,inset 0 1px #ffffff2e}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563c9 0%,var(--azul-claro) 100%);transform:translateY(-1px);box-shadow:0 10px 24px #0d387c52,inset 0 1px #ffffff2e}.btn-ghost{background:#fff;color:var(--texto);border-color:var(--borde);box-shadow:0 1px 2px #1020400f}.btn-ghost:hover:not(:disabled){border-color:#0d387c59;color:var(--azul);background:#f5f8ff;transform:translateY(-1px)}.btn-install{background:linear-gradient(135deg,#0ea5a4,#0d387c);color:#fff;box-shadow:0 6px 16px #0d387c38,inset 0 1px #fff3}.btn-install:hover:not(:disabled){background:linear-gradient(135deg,#14b8b6 0%,var(--azul-claro) 100%);transform:translateY(-1px);box-shadow:0 10px 24px #0d387c47}.btn-block{width:100%}.btn-lg{padding:14px 20px;font-size:1rem;border-radius:14px}.btn-sm{padding:8px 13px;font-size:.82rem;border-radius:10px}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--borde);background:#fff;border-radius:12px;width:36px;height:36px;cursor:pointer;color:var(--muted);font-size:.95rem;transition:.16s ease;box-shadow:0 1px 2px #1020400d}.icon-btn:hover{color:var(--err);border-color:var(--err);background:#fff5f5;transform:translateY(-1px)}.install-app{margin-bottom:10px}.install-help{margin-top:10px;border:1px solid var(--borde);background:#f7f9ff;border-radius:12px;padding:12px 14px}.install-help strong{display:block;font-size:.9rem}.install-help p{color:var(--muted);font-size:.82rem;margin:6px 0 10px}.install-help .actions{margin-top:0}.sidebar-foot .install-app .btn{width:100%}.page-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.input{width:100%;border:1px solid var(--borde);background:#fff;border-radius:10px;padding:11px 13px;font:inherit;color:var(--texto);outline:none;transition:.15s}.input:focus{border-color:var(--azul);box-shadow:0 0 0 3px #1d3c7b1f}.input-num{width:84px;text-align:center;padding:7px 6px}.input-price{width:110px;text-align:right}.no-price{color:var(--muted);font-size:.88rem;font-weight:600}.textarea{resize:vertical;min-height:80px}.select{width:auto;min-width:190px}.field{display:block;margin-bottom:16px}.field>span{display:block;font-size:.83rem;font-weight:600;color:var(--muted);margin-bottom:6px}.password{position:relative}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:none;color:var(--azul-claro);font-size:.8rem;font-weight:600;cursor:pointer}.check{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--muted)}.alert{border-radius:10px;padding:11px 14px;font-size:.9rem;margin:10px 0}.alert-error{background:#fee2e2;color:#991b1b;border:1px solid #fecaca}.alert-info{background:#eef3ff;color:#1d4ed8;border:1px solid #c7d7fe}.page-head-tags{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.toasts{position:fixed;right:18px;bottom:18px;display:flex;flex-direction:column;gap:10px;z-index:100}.toast{padding:12px 16px;border-radius:10px;color:#fff;font-size:.9rem;box-shadow:var(--sombra);animation:slidein .25s ease}.toast-ok{background:var(--ok)}.toast-error{background:var(--err)}@keyframes slidein{0%{transform:translateY(12px);opacity:0}}.splash{height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--muted)}.spinner{width:34px;height:34px;border:3px solid var(--borde);border-top-color:var(--azul);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.login{display:grid;grid-template-columns:1.05fr 1fr;grid-template-rows:1fr auto;min-height:100vh;position:relative}.login-status{position:absolute;top:18px;right:20px;z-index:5;background:#ffffffe6;border:1px solid var(--borde);border-radius:999px;padding:6px 12px;box-shadow:var(--sombra)}.login-brand{background:linear-gradient(150deg,var(--azul) 0%,var(--azul-oscuro) 100%);color:#fff;display:flex;align-items:center;padding:56px}.login-brand-inner{max-width:460px}.logo-tile{display:inline-flex;align-items:center;justify-content:center;background:#fff;border-radius:26px;padding:20px;box-shadow:0 18px 40px #06102659}.logo-tile .logo{display:block}.logo-tile-sm{padding:12px;border-radius:18px;box-shadow:0 8px 20px #1d3c7b29;margin-bottom:18px}.login-brand h1{font-size:2.4rem;margin-top:26px;letter-spacing:-.5px}.login-brand p{color:#ffffffd1;font-size:1.02rem;line-height:1.6}.login-points{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}.login-points li{position:relative;padding-left:26px;color:#ffffffe6;font-size:.95rem}.login-points li:before{content:"◆";position:absolute;left:0;color:#8fb3ff;font-size:.75rem;top:3px}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px 28px;background:var(--fondo)}.login-form{width:100%;max-width:400px;background:#fff;border:1px solid var(--borde);border-radius:20px;padding:34px 32px;box-shadow:var(--sombra)}.login-form h2{font-size:1.5rem;margin-bottom:4px}.demo-box{margin-top:18px;background:#eef3ff;border:1px dashed var(--azul);border-radius:10px;padding:12px 14px;display:grid;gap:4px;font-size:.83rem;color:var(--azul-oscuro)}.server-status{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:600;color:var(--muted);white-space:nowrap}.server-status-dot{width:8px;height:8px;border-radius:50%;background:var(--warn);flex-shrink:0}.server-status-ok .server-status-dot{background:var(--ok);box-shadow:0 0 0 3px #16a34a2e}.server-status-down .server-status-dot{background:var(--err);box-shadow:0 0 0 3px #dc262629}.server-status-check .server-status-dot{animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{opacity:.35}}.site-footer{border-top:1px solid var(--borde);background:var(--superficie);color:var(--muted);font-size:.78rem;letter-spacing:.02em;text-align:center;padding:13px 20px;margin-top:auto}.login .site-footer{grid-column:1 / -1;background:transparent;border-top:0}.shell{display:flex;min-height:100vh}.sidebar{width:250px;background:#fff;border-right:1px solid var(--borde);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;flex-shrink:0}.sidebar-brand{display:flex;align-items:center;gap:12px;padding:20px 18px;border-bottom:1px solid var(--borde)}.sidebar-brand strong{display:block;font-size:1rem}.sidebar-brand span{font-size:.76rem;color:var(--muted)}.nav{padding:14px 10px;display:grid;gap:4px;flex:1}.nav-link{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:10px;color:var(--texto);text-decoration:none;font-weight:500;font-size:.93rem}.nav-link{transition:.16s ease}.nav-link:hover{background:#f1f4fb;transform:translate(2px)}.nav-link.active{background:linear-gradient(135deg,var(--azul-claro),var(--azul));color:#fff;box-shadow:0 6px 14px #0d387c40}.nav-icon{width:20px;text-align:center;opacity:.85}.badge{margin-left:auto;background:var(--azul-claro);color:#fff;border-radius:999px;font-size:.72rem;font-weight:700;padding:2px 8px}.nav-link.active .badge{background:#ffffff47}.badge-light{background:#ffffff4d}.sidebar-foot{padding:14px;border-top:1px solid var(--borde)}.user-chip{display:flex;align-items:center;gap:10px;margin-bottom:12px}.avatar{width:38px;height:38px;border-radius:50%;background:var(--azul);color:#fff;display:grid;place-items:center;font-weight:700}.user-meta strong{display:block;font-size:.88rem}.user-meta span{font-size:.76rem;color:var(--muted)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:64px;background:#fff;border-bottom:1px solid var(--borde);display:flex;align-items:center;gap:14px;padding:0 22px;position:sticky;top:0;z-index:20}.topbar-title{font-weight:600;color:var(--muted);font-size:.9rem;flex:1}.content{padding:26px;max-width:1280px;width:100%;margin:0 auto;flex:1}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a122473;z-index:40}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px;flex-wrap:wrap}.toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.search{max-width:440px}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{border:1px solid var(--borde);background:#fff;border-radius:999px;padding:8px 15px;font-size:.85rem;font-weight:600;cursor:pointer;transition:.16s ease;box-shadow:0 1px 2px #1020400a}.chip:hover{border-color:#0d387c59;color:var(--azul);transform:translateY(-1px)}.chip.active{background:linear-gradient(135deg,var(--azul-claro),var(--azul));border-color:var(--azul);color:#fff;box-shadow:0 6px 14px #0d387c38}.cart-pill{background:#eef3ff;border:1px solid var(--borde);padding:10px 15px;border-radius:10px;cursor:pointer;font-size:.9rem}.card{background:var(--superficie);border:1px solid var(--borde);border-radius:var(--radio);padding:20px;box-shadow:var(--sombra);margin-bottom:18px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-bottom:6px}.stat span{color:var(--muted);font-size:.85rem}.stat strong{display:block;font-size:1.9rem;margin-top:6px;color:var(--azul)}.grid-2{display:grid;grid-template-columns:1.35fr 1fr;gap:18px}.quick{display:grid;gap:10px}.quick-item{display:block;padding:14px 16px;border:1px solid var(--borde);border-radius:12px;text-decoration:none;color:var(--texto);transition:.15s}.quick-item:hover{border-color:var(--azul);background:#f7f9ff}.quick-item span{display:block;color:var(--muted);font-size:.85rem;margin-top:3px}.empty,.empty-state{color:var(--muted);text-align:center;padding:24px}.empty-state{display:grid;gap:12px;justify-items:center}.table-wrap{overflow-x:auto;padding:0}.table{width:100%;border-collapse:collapse;font-size:.9rem}.table th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:13px 16px;border-bottom:1px solid var(--borde);background:#fafbfe}.table td{padding:13px 16px;border-bottom:1px solid var(--borde);vertical-align:middle}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:#f8faff}.row-click{cursor:pointer}.table .right,.table .center{text-align:right}.table .center{text-align:center}.tag{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.75rem;font-weight:600;text-transform:capitalize;background:#eef1f7;color:var(--muted)}.tag-borrador{background:#f1f5f9;color:#475569}.tag-enviado{background:#dbeafe;color:#1d4ed8}.tag-aprobado{background:#dcfce7;color:#15803d}.tag-facturado{background:#ede9fe;color:#6d28d9}.tag-rechazado{background:#fee2e2;color:#b91c1c}.tag-especial{background:#fff4d6;color:#92600a;margin-left:6px}.tag-procesada{background:#dcfce7;color:#15803d}.tag-pendiente{background:#fef9c3;color:#854d0e}.tag-eliminado{background:#f1f5f9;color:#475569}.tag-transito{background:#dbeafe;color:#1d4ed8}.tag-anulado{background:#fee2e2;color:#b91c1c}.tag-precio-cero{background:#fef3c7;color:#92400e}.alert-warn{background:#fef3c7;color:#92400e;border:1px solid #fde68a}.input-warn{border-color:#f59e0b;background:#fffbeb}.catalog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.cart-cta{display:flex;align-items:center;gap:14px;border:0;border-radius:16px;padding:12px 18px;background:linear-gradient(135deg,var(--azul-claro),var(--azul));color:#fff;cursor:pointer;text-align:left;box-shadow:0 10px 24px #0d387c3d;transition:transform .16s ease,box-shadow .16s ease}.cart-cta:hover{transform:translateY(-1px);box-shadow:0 14px 30px #0d387c4d}.cart-cta-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background:#ffffff2e;font-size:1.15rem}.cart-cta-info{display:flex;flex-direction:column;line-height:1.2}.cart-cta-info>span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;opacity:.8}.cart-cta-info strong{font-size:.92rem}.cart-cta-total{font-size:1.1rem;padding-left:16px;border-left:1px solid rgba(255,255,255,.28)}.cart-cta-arrow{font-size:1.1rem;opacity:.85}.catalog-filters{display:flex;flex-direction:column;gap:12px;padding:16px;margin-bottom:18px}.catalog-search{position:relative}.catalog-search .input{max-width:none;padding-left:40px;padding-right:38px}.search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:1.2rem;line-height:1;pointer-events:none}.search-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;background:#eef3ff;color:var(--azul);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.7rem}.chips-scroll{overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.chips-scroll .chips{flex-wrap:nowrap;width:max-content}.catalog-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.8rem;color:var(--muted);flex-wrap:wrap}.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(245px,1fr));gap:16px}.prod{margin-bottom:0;padding:16px;display:flex;flex-direction:column;border-radius:16px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.prod:hover{transform:translateY(-2px);border-color:#0d387c38;box-shadow:0 12px 28px #1020401a}.prod-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.prod-code{font-size:.74rem;color:var(--muted);font-weight:600;letter-spacing:.04em}.prod-cat{font-size:.68rem;font-weight:600;color:var(--azul-claro);background:#eef3ff;padding:3px 9px;border-radius:999px;white-space:nowrap}.prod h3{font-size:.98rem;line-height:1.3;margin:10px 0 0;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prod-stock{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:10px;font-size:.78rem;color:var(--texto)}.prod-stock .muted{font-size:.72rem}.stock-dot{width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 3px #16a34a24}.stock-dot.warn{background:var(--warn);box-shadow:0 0 0 3px #d9770624}.prod-prices{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.price-tile{border:1px solid var(--borde);border-radius:10px;padding:8px 10px;background:#fafbfe;display:flex;flex-direction:column;gap:2px}.price-tile span{font-size:.64rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.price-tile strong{font-size:.95rem;color:var(--texto)}.price-tile.active{border-color:var(--azul);background:#eef3ff;box-shadow:0 0 0 2px #0d387c14}.price-tile.active strong{color:var(--azul)}.prod>.tag-precio-cero{align-self:flex-start;margin-top:8px}.prod-actions{margin-top:auto;padding-top:14px;display:flex;flex-direction:column;gap:8px}.prod-in-cart{font-size:.74rem;font-weight:600;color:var(--azul)}.prod-disabled{opacity:.78}.clients-mobile{display:none}.clients-count{margin:0 0 10px;font-size:.8rem;color:var(--muted)}.client-card{border:1px solid var(--borde);border-radius:14px;background:#fff;padding:14px;box-shadow:var(--sombra)}.client-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.client-card-head strong{display:block;font-size:.95rem}.client-card-head span{display:block;font-size:.76rem;color:var(--muted);margin-top:2px}.client-card-meta{margin-top:10px;font-size:.8rem;color:var(--muted)}.client-card-actions{display:flex;gap:8px;margin-top:12px}.client-card-actions .btn{flex:1}.history-mobile{display:none}.history-card{display:block;width:100%;text-align:left;border:1px solid var(--borde);border-radius:14px;background:#fff;padding:14px;font:inherit;color:var(--texto);cursor:pointer;box-shadow:var(--sombra);transition:transform .16s ease,border-color .16s ease}.history-card:hover{border-color:#0d387c4d;transform:translateY(-1px)}.history-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.history-card-top strong{font-size:.95rem}.history-card-client{margin-top:6px;font-size:.88rem}.history-card-meta{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:.76rem;color:var(--muted)}.history-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed var(--borde)}.history-card-foot strong{color:var(--azul);font-size:1rem}.combo{position:relative}.combo-list{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#fff;border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra);max-height:300px;overflow-y:auto;z-index:30}.combo-item{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--borde);padding:12px 15px;cursor:pointer;font:inherit}.combo-item:last-child{border-bottom:0}.combo-item:hover,.combo-item.active{background:#f2f6ff}.combo-item span{display:block;color:var(--muted);font-size:.8rem;margin-top:2px}.combo-empty{padding:15px;color:var(--muted);font-size:.9rem}.cliente-selected{display:flex;align-items:center;justify-content:space-between;gap:14px;background:#f7f9ff;border:1px solid var(--borde);border-radius:12px;padding:13px 16px}.cliente-selected span{display:block;color:var(--muted);font-size:.83rem;margin-top:3px}.hint{color:var(--muted);font-size:.84rem;margin-top:10px}.builder{display:grid;grid-template-columns:1fr 330px;gap:18px;align-items:start}.builder-main .card{margin-bottom:16px}.builder-side{position:sticky;top:84px;align-self:start}.step-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.step-number{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--azul-claro),var(--azul));color:#fff;font-size:.9rem;font-weight:700;box-shadow:0 6px 14px #0d387c38}.step-copy{flex:1;min-width:0}.step-copy h2{font-size:1.02rem}.step-copy p{font-size:.8rem;margin-top:2px}.step-head>.tabs{margin-left:auto}.step-count{display:inline-flex;align-items:center;padding:5px 11px;border-radius:999px;background:#eef3ff;color:var(--azul);font-size:.74rem;font-weight:600;white-space:nowrap}.order-conditions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.condition-box{display:flex;flex-direction:column;gap:5px;padding:14px 16px;border:1px solid var(--borde);border-radius:12px;background:#f7f9ff}.condition-box>span:first-child{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.condition-box strong{font-size:1rem;color:var(--azul)}.condition-box small{font-size:.76rem;color:var(--muted)}.condition-box .tabs{align-self:flex-start;margin-top:2px}.summary-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}.summary-head h2{margin-bottom:0}.summary-type{display:inline-flex;padding:4px 10px;border-radius:999px;background:#eef3ff;color:var(--azul);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.summary-client{display:flex;flex-direction:column;gap:2px;padding:11px 13px;margin-bottom:10px;border:1px solid var(--borde);border-radius:10px;background:#f7f9ff}.summary-client>span{font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}.summary-client strong{font-size:.9rem}.summary-client small{font-size:.76rem;color:var(--muted)}.table-lines th{white-space:nowrap}.table-lines td{vertical-align:middle}.table-lines .input-price{width:100px}.totals h2{margin-bottom:14px}.total-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px dashed var(--borde);font-size:.94rem}.total-row .neg{color:var(--err)}.total-final{border-bottom:0;border-top:2px solid var(--texto);margin-top:6px;font-size:1.2rem;font-weight:700}.totals .btn{margin-top:12px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:6px}.kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.kv span{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.kv strong{font-size:.94rem}.obs{background:#f8faff;border:1px solid var(--borde);border-radius:10px;padding:12px 14px;font-size:.9rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a122480;display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}.modal{background:#fff;border-radius:18px;width:min(720px,100%);max-height:88vh;overflow:auto;box-shadow:0 30px 60px #0a12244d}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:22px 24px;border-bottom:1px solid var(--borde)}.modal-body{padding:22px 24px}.modal-body h3{margin:22px 0 10px}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;border-top:1px solid var(--borde);position:sticky;bottom:0;background:#fff}.tabs{display:inline-flex;background:#eef2f9;border:1px solid var(--borde);border-radius:12px;padding:4px;gap:4px}.tab{border:0;background:none;padding:8px 14px;border-radius:9px;font:inherit;font-size:.85rem;font-weight:600;color:var(--muted);cursor:pointer;transition:.16s ease}.tab:hover{color:var(--azul);background:#ffffffa6}.tab.active{background:#fff;color:var(--azul);box-shadow:0 2px 7px #10204024}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.form-grid .span-2{grid-column:span 2}.form-grid .field{margin-bottom:14px}.select.capitalize{text-transform:capitalize}.cliente-card{background:#f7f9ff;border:1px solid var(--borde);border-radius:12px;padding:15px 16px}.cliente-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.cliente-card-head strong{display:block;font-size:1rem}.cliente-card-head span{display:block;color:var(--muted);font-size:.83rem;margin-top:3px}.cliente-kv{border-top:1px dashed var(--borde);padding-top:14px}.cliente-kv .tag{margin-top:2px}.capitalize{text-transform:capitalize}.hint-error{color:var(--err)}.nowrap{white-space:nowrap}.moneda-box{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f7f9ff;border:1px solid var(--borde);border-radius:12px;padding:14px 16px}.moneda-box strong{display:block}.moneda-box span{display:block;color:var(--muted);font-size:.83rem;margin-top:3px}.moneda-symbol{font-size:1.6rem;font-weight:700;color:var(--azul)}.precio-box{margin-top:14px;border:1px solid var(--borde);border-radius:12px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.precio-box-head strong{display:block}.precio-box-head span{display:block;color:var(--muted);font-size:.83rem;margin-top:3px}.combo-item:disabled{opacity:.55;cursor:not-allowed}.comprobante-preview{display:block;width:100%;max-width:640px;margin:0 auto 16px;border:1px solid var(--borde);border-radius:12px;box-shadow:var(--sombra)}.report-filters{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.report-dates{display:flex;gap:12px;flex-wrap:wrap}.report-date{display:flex;flex-direction:column;gap:4px;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.report-date .input{min-width:150px}.report-chart{display:flex;align-items:flex-end;gap:8px;height:190px;overflow-x:auto;padding:8px 2px 0}.report-bar{flex:1 0 34px;min-width:34px;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px}.report-bar-track{width:100%;height:150px;display:flex;align-items:flex-end;background:#f1f4fb;border-radius:9px;overflow:hidden}.report-bar-fill{width:100%;min-height:4px;border-radius:9px 9px 0 0;background:linear-gradient(180deg,var(--azul-claro),var(--azul));transition:height .35s ease}.report-bar span{font-size:.67rem;color:var(--muted);white-space:nowrap}.report-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:16px 0;padding:14px 16px;background:#f7f9ff;border:1px solid var(--borde);border-radius:12px}.report-totals>div{display:flex;flex-direction:column;gap:3px}.report-totals span{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.report-totals strong{font-size:1.05rem;color:var(--azul)}.report-table{margin-top:8px}.informe-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;background:#0a12248c;overflow:auto;padding:24px 16px}.informe-shell{max-width:1000px;margin:0 auto}.informe-toolbar{display:flex;justify-content:flex-end;gap:10px;margin-bottom:12px;position:sticky;top:0;z-index:2}.informe{background:#fff;color:var(--texto);padding:30px 34px;border-radius:10px;box-shadow:0 30px 60px #0a12244d}.informe-head{display:flex;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:2px solid var(--azul)}.informe-brand{display:flex;gap:14px;align-items:flex-start}.informe-brand img{width:64px;height:auto;object-fit:contain}.informe-brand strong{display:block;font-size:1.05rem;color:var(--azul)}.informe-brand span{display:block;font-size:.74rem;color:var(--muted);margin-top:2px;max-width:380px}.informe-meta{display:flex;flex-direction:column;gap:2px;text-align:right}.informe-kicker{text-transform:uppercase;letter-spacing:.08em;font-size:.7rem;font-weight:700;color:var(--muted)}.informe-meta strong{font-size:1rem;color:var(--azul)}.informe-meta span{font-size:.74rem;color:var(--muted)}.informe-resumen{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:18px 0}.informe-resumen>div{background:#f7f9ff;border:1px solid var(--borde);border-radius:8px;padding:9px 10px}.informe-resumen span{display:block;font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.informe-resumen strong{display:block;font-size:.95rem;color:var(--azul);margin-top:2px}.informe-section{margin-top:18px;break-inside:avoid}.informe-section h2{font-size:.82rem;text-transform:uppercase;letter-spacing:.06em;color:var(--azul);margin-bottom:8px}.informe table{width:100%;border-collapse:collapse;font-size:.76rem}.informe th{text-align:left;background:var(--azul);color:#fff;padding:6px 8px;font-size:.64rem;text-transform:uppercase;letter-spacing:.04em}.informe td{padding:5px 8px;border-bottom:1px solid var(--borde)}.informe tbody tr:nth-child(2n) td{background:#f8faff}.informe tfoot td{font-weight:700;border-top:1.5px solid var(--azul);background:#f2f6ff}.informe .right{text-align:right}.informe-dos{display:grid;grid-template-columns:1fr 1fr;gap:24px}.informe-foot{margin-top:24px;padding-top:12px;border-top:1px solid var(--borde);display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.66rem;color:var(--muted);text-align:center}.mobile-lines,.mobile-order-bar,.mobile-nav{display:none}.dashboard-hero{position:relative;overflow:hidden;display:flex;align-items:stretch;justify-content:space-between;gap:24px;padding:26px;margin-bottom:18px;border-radius:18px;background:linear-gradient(135deg,#0d387c,#1e56b0);color:#fff;box-shadow:0 16px 36px #0d387c3d}.dashboard-hero:after{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:#ffffff14;top:-150px;right:-60px}.hero-copy,.hero-side{position:relative;z-index:1}.hero-kicker{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#ffffffb8}.hero-copy h1{margin-top:6px;font-size:1.9rem;color:#fff}.hero-copy p{max-width:520px;margin-top:6px;color:#ffffffd1;font-size:.92rem}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.btn-light{background:#fff;color:var(--azul);box-shadow:0 8px 18px #072a5e3d}.btn-light:hover:not(:disabled){background:#f1f5ff;transform:translateY(-1px)}.btn-hero-ghost{background:#ffffff14;border-color:#ffffff59;color:#fff}.btn-hero-ghost:hover:not(:disabled){background:#ffffff29;border-color:#fff;color:#fff;transform:translateY(-1px)}.hero-side{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;gap:10px;min-width:200px}.hero-cart{display:flex;flex-direction:column;gap:3px;min-width:190px;padding:14px 16px;border:1px solid rgba(255,255,255,.24);border-radius:14px;background:#ffffff1f}.hero-cart span{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffffb8}.hero-cart strong{font-size:1.1rem}.hero-cart span:last-child{font-size:.9rem;text-transform:none;letter-spacing:0;color:#fff}.dashboard-stats{margin-bottom:18px}.stat-card{display:flex;align-items:center;gap:14px;padding:18px}.stat-card>div{min-width:0}.stat-card>div>span{display:block;color:var(--muted);font-size:.8rem}.stat-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:42px;height:42px;border-radius:12px;font-size:1.15rem;font-weight:700}.stat-icon-blue{background:#e0eaff;color:#1d4ed8}.stat-icon-green{background:#dcfce7;color:#15803d}.stat-icon-amber{background:#fef3c7;color:#b45309}.stat-icon-violet{background:#ede9fe;color:#6d28d9}.recent-list{display:flex;flex-direction:column}.recent-item{display:flex;align-items:center;gap:12px;width:100%;padding:12px 2px;border:0;border-bottom:1px dashed var(--borde);background:none;text-align:left;font:inherit;color:var(--texto);cursor:pointer}.recent-item:last-child{border-bottom:0}.recent-main{flex:1;min-width:0}.recent-main strong{display:block}.recent-main span{display:block;margin-top:2px;color:var(--muted);font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-meta{display:flex;flex-direction:column;align-items:flex-end;gap:4px;font-size:.7rem;color:var(--muted)}.recent-total{color:var(--azul);font-size:.95rem;white-space:nowrap}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-grid .quick-item{display:flex;align-items:flex-start;gap:10px}.quick-item strong{display:block;font-size:.88rem}.quick-item>div>span{display:block;margin-top:2px;color:var(--muted);font-size:.78rem}.quick-item .quick-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:0;border-radius:10px;background:#eef3ff;color:var(--azul);font-size:1.05rem}@media (max-width: 1024px){.builder,.grid-2{grid-template-columns:1fr}.builder-side{position:static}.login{grid-template-columns:1fr;grid-template-rows:auto 1fr auto}.login-brand{padding:40px 28px}.login-brand h1{font-size:1.9rem}.login-points{display:none}}@media (max-width: 860px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);transition:transform .2s ease;z-index:50;box-shadow:0 0 40px #0003}.sidebar.is-open{transform:translate(0)}.backdrop{z-index:49}.content{padding:18px 14px calc(92px + env(safe-area-inset-bottom))}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:48;gap:6px;padding:6px 8px calc(6px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#fff,#f7f9ff);border-top:1px solid var(--borde);box-shadow:0 -8px 24px #1020401f}.mobile-nav-link{position:relative;flex:1 1 0;min-width:0;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:5px 3px;border-radius:14px;border:1px solid #e3e8f0;background:#f3f6fd;box-shadow:0 2px 8px #10204014,inset 0 1px #ffffffb3;color:#334155;text-decoration:none;font-size:.62rem;font-weight:700;line-height:1.1;text-align:center;white-space:nowrap;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease}.mobile-nav-link:active{transform:scale(.96)}.mobile-nav-link.active{color:#fff;background:linear-gradient(135deg,var(--azul-claro),var(--azul));border-color:var(--azul);box-shadow:0 8px 18px #0d387c52;transform:translateY(-2px)}.mobile-nav-icon{font-size:1.2rem;line-height:1}.mobile-nav-badge{position:absolute;top:3px;right:6px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--azul);color:#fff;border:2px solid #fff;font-size:.58rem;line-height:11px;font-weight:700}.topbar{padding:0 14px}.topbar .btn-primary{padding:9px 12px;font-size:.85rem}.page-head{flex-direction:column;align-items:stretch}.table th,.table td{padding:10px 12px}.login-form-wrap{padding:24px 16px}.login-brand-inner{text-align:center}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.card-head{flex-wrap:wrap}.order-page{padding-bottom:calc(172px + env(safe-area-inset-bottom))}.step-head{flex-wrap:wrap}.step-head>.tabs{margin-left:44px}.order-conditions{grid-template-columns:1fr}.input{font-size:16px}.btn{min-height:42px}.icon-btn{width:38px;height:38px}.combo-list{max-height:50vh}.desktop-lines{display:none}.mobile-lines{display:flex;flex-direction:column;gap:12px;margin-top:14px}.line-card{border:1px solid var(--borde);border-radius:12px;background:#fff;padding:12px 14px}.line-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.line-card-head strong{display:block;font-size:.95rem;margin-top:2px}.line-code{display:block;font-size:.74rem;font-weight:600;color:var(--muted);letter-spacing:.04em}.line-card-refs{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;font-size:.76rem;color:var(--muted)}.line-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:12px}.line-card-grid label>span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:4px}.line-card-grid .input,.line-card-grid .input-num,.line-card-grid .input-price{width:100%;text-align:center}.line-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px dashed var(--borde)}.line-card-foot strong{color:var(--azul);font-size:1.05rem}.enviar-aside{display:none}.mobile-order-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;position:fixed;left:0;right:0;bottom:calc(66px + env(safe-area-inset-bottom));z-index:45;background:#fff;border-top:1px solid var(--borde);padding:10px 14px;box-shadow:0 -10px 30px #1020401f}.mobile-order-bar-info{flex:1;min-width:120px}.mobile-order-bar-info span{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.mobile-order-bar-info strong{font-size:1.2rem;color:var(--azul)}.mobile-order-bar .btn{min-height:46px;padding:0 20px}.mobile-order-error{flex:0 0 100%;margin:0}.comprobante-preview{max-width:100%}.report-filters{align-items:stretch;flex-direction:column}.report-dates{flex-wrap:nowrap}.report-date{flex:1}.report-date .input{width:100%;min-width:0}.catalog-head{flex-direction:column;align-items:stretch}.cart-cta{width:100%;justify-content:space-between}.catalog-filters{padding:14px}.customers-page .toolbar .search{max-width:none;flex:1}.clients-desktop{display:none}.clients-mobile{display:flex;flex-direction:column;gap:12px}.history-desktop{display:none}.history-mobile{display:flex;flex-direction:column;gap:12px}.dashboard-hero{flex-direction:column;padding:20px}.hero-copy h1{font-size:1.55rem}.hero-side{align-items:stretch;min-width:0}.hero-cart{min-width:0}.dashboard-stats{grid-template-columns:1fr 1fr}.dashboard-stats .stat-card{padding:14px;gap:10px}.stat-icon{width:36px;height:36px;font-size:1rem}.dashboard-stats .stat strong{font-size:1.35rem}.quick-grid{grid-template-columns:1fr}.recent-item{flex-wrap:wrap}.recent-meta{flex-direction:row;align-items:center}.recent-total{margin-left:auto}.report-chart{height:170px}.report-bar-track{height:130px}.tabs{flex-wrap:wrap}.informe-overlay{padding:12px 8px}.informe{padding:18px 16px}.informe-head{flex-direction:column;gap:12px}.informe-meta{text-align:left}.informe-resumen{grid-template-columns:repeat(2,1fr)}.informe-dos{grid-template-columns:1fr;gap:0}.informe-toolbar{justify-content:space-between}}@media print{@page{size:A4 portrait;margin:10mm}html,body{height:auto!important;overflow:visible!important;background:#fff!important}body>:not(.informe-overlay){display:none!important}.informe-overlay{position:static;inset:auto;z-index:auto;padding:0;background:#fff;overflow:visible}.informe-shell{max-width:none;margin:0}.informe-toolbar{display:none!important}.informe{box-shadow:none;border-radius:0;padding:0}.informe-section{break-inside:avoid}.informe thead{display:table-header-group}.informe tr{break-inside:avoid}}
