﻿:root{--blue:#12428b;--blue-dark:#102e5c;--blue-soft:#edf3fe;--red:#e82832;--yellow:#ffd523;--ink:#1b283b;--muted:#6a7689;--line:#e1e7f0;--bg:#f3f6fa;--green:#17754d;--shadow:0 12px 36px #17365b0b;font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible{outline:3px solid #679cf1;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 3px #12428b12}a{color:var(--blue)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}svg{display:block;width:20px;height:20px;flex-shrink:0}small{font-size:12px}.muted{color:var(--muted)}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--muted);margin-bottom:7px}.full{width:100%}.field{display:flex;flex-direction:column;gap:7px}.field label{font-size:12px;font-weight:650}.field input,.field select,.field textarea{width:100%;min-width:0;border:1px solid #ccd5e3;border-radius:8px;background:#fff;color:var(--ink);padding:11px 12px}.field textarea{min-height:74px;resize:vertical}.field small{color:var(--muted);line-height:1.5}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 16px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);font-size:13px;font-weight:650;line-height:1.25;white-space:nowrap;text-decoration:none}.button:hover:not(:disabled){background:#f2f5f9}.button.primary{background:var(--blue);border-color:var(--blue);color:#fff}.button.primary:hover:not(:disabled){background:#0c3472}.button.red{background:var(--red);border-color:var(--red);color:#fff}.button.ghost{background:transparent;border-color:transparent;color:var(--blue)}.button.small{padding:7px 10px;font-size:12px}.icon-button{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);flex-shrink:0}.icon-button:hover{color:var(--red);background:#fff4f4}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.alert{padding:12px 14px;border-radius:8px;font-size:13px;line-height:1.5;background:#edf3fe;color:var(--blue)}.alert.danger{background:#fff0f0;color:#b4232a;border:1px solid #f6ced0}.alert.warning{background:#fff9e5;border:1px solid #f3e3ac;color:#796014}.alert.success{background:#edf8f1;color:var(--green)}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:#fff}.auth-brand{position:relative;overflow:hidden;background:#f1f5fc;padding:8vh 8vw;display:flex;flex-direction:column;justify-content:center}.brand-kicker{font-size:11px;font-weight:800;letter-spacing:3px;color:var(--blue);margin-bottom:22px}.auth-logo{width:210px;height:210px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:28px}.auth-brand h1{font-size:clamp(28px,3vw,43px);line-height:1.15;font-weight:750;letter-spacing:-1.5px}.auth-brand p{margin-top:20px;line-height:1.8;color:var(--muted);font-size:14px}.brand-stripes{position:absolute;left:0;bottom:0;display:flex;width:100%;height:7px}.brand-stripes i:nth-child(1){background:var(--red);width:30%}.brand-stripes i:nth-child(2){background:var(--blue);width:55%}.brand-stripes i:nth-child(3){background:var(--yellow);width:15%}.auth-panel{padding:42px;display:grid;place-items:center}.auth-card{width:100%;max-width:370px;display:flex;flex-direction:column;gap:20px}.auth-card h2{font-size:28px;letter-spacing:-.7px}.auth-card .eyebrow{margin-bottom:-9px}.auth-card>p.muted{font-size:14px;line-height:1.6}.auth-foot{font-size:11px;color:var(--muted);text-align:center;margin-top:4px}.app-layout{display:grid;grid-template-columns:232px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;height:100dvh;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:25px 16px 18px;z-index:4}.sidebar-brand{display:flex;align-items:center;gap:10px;color:var(--blue-dark);font-weight:800;font-size:15px;text-decoration:none;padding:0 3px 28px;letter-spacing:-.3px}.sidebar-brand img{height:62px;width:62px;object-fit:contain}.sidebar-brand small{display:block;font-size:8px;letter-spacing:1px;font-weight:650;margin-top:6px;color:var(--muted)}.nav-label{font-size:9px;color:#98a3b3;font-weight:750;letter-spacing:1.5px;padding:0 13px 12px}nav{display:flex;flex-direction:column;gap:5px}.nav-button{width:100%;border:0;background:transparent;display:flex;gap:12px;align-items:center;padding:12px 13px;border-radius:8px;text-align:left;color:#62718a;font-size:13px;font-weight:600}.nav-button svg{width:19px;height:19px}.nav-button:hover{background:#f4f7fc}.nav-button.active{background:var(--blue-soft);color:var(--blue)}.nav-button.active:before{content:"";position:absolute;left:0;width:3px;height:25px;background:var(--blue);border-radius:0 3px 3px 0}.nav-badge{margin-left:auto;background:var(--red);color:#fff;border-radius:5px;font-size:10px;padding:2px 6px;font-variant-numeric:tabular-nums}.sidebar-bottom{margin-top:auto;display:flex;gap:9px;align-items:center;padding:18px 12px 2px;color:#728098;font-size:11px}.sidebar-bottom small{display:block;font-size:9px;margin-top:4px;max-width:155px;line-height:1.5}.connection-dot{width:6px;height:6px;border-radius:100%;background:#3a9b72;flex-shrink:0}.workspace{min-width:0}.topbar{height:91px;background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:19px 32px;gap:16px}.topbar h1{font-size:22px;letter-spacing:-.6px}.topbar .eyebrow{font-size:9px}.topbar-right{display:flex;gap:20px;align-items:center}.keyboard-hint{border:1px solid var(--line);padding:6px 8px;border-radius:5px;font-size:10px;color:#8a96a8}.user-chip{display:flex;flex-direction:column;gap:3px;font-size:12px}.user-chip span{font-size:10px;color:var(--muted)}.historical-note{display:flex;gap:9px;align-items:center;margin:18px 32px 0;background:#fffaf0;border:1px solid #f1e6c7;color:#8c753c;border-radius:7px;padding:10px 12px;font-size:11px;line-height:1.5}.note-mark{font-family:Georgia,serif;font-weight:bold;font-style:italic;display:grid;place-items:center;width:16px;height:16px;border:1px solid #c2a455;border-radius:50%;flex-shrink:0}main{padding:23px 32px 38px;min-height:70vh}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.section-heading h2{font-size:17px;letter-spacing:-.3px}.section-heading p{font-size:12px;color:var(--muted);margin-top:6px;line-height:1.5}.card{background:#fff;border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:22px}.toolbar{display:flex;gap:12px;align-items:center;padding:19px;border-bottom:1px solid var(--line);flex-wrap:wrap}.search-field{position:relative;flex:1;min-width:220px}.search-field>svg{position:absolute;left:14px;top:13px;color:#8492a8;width:19px;height:19px}.search-field input{width:100%;border:1px solid #d6dfeb;border-radius:8px;padding:12px 13px 12px 42px;font-size:13px;background:#f9fbfe;color:var(--ink)}.check{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);white-space:nowrap}.check input{accent-color:var(--blue);width:15px;height:15px}.search-help{padding:12px 20px;font-size:11px;color:var(--muted);display:flex;gap:18px;flex-wrap:wrap;border-bottom:1px solid var(--line)}.search-help b{color:#52647f;font-weight:600}.table-wrap{overflow:auto;width:100%}table{border-collapse:collapse;width:100%;font-size:12px;white-space:nowrap}th{background:#f8fafc;color:#8390a4;font-weight:700;font-size:9px;text-transform:uppercase;letter-spacing:.8px;text-align:left;padding:13px 15px;border-bottom:1px solid var(--line)}td{padding:14px 15px;border-bottom:1px solid #edf0f5;vertical-align:middle}tbody tr:last-child td{border-bottom:0}.clickable:hover{background:#f8fbff;cursor:pointer}td.numeric,th.numeric{text-align:right;font-variant-numeric:tabular-nums}.product-code{color:var(--blue);font-size:12px;font-weight:750}.product-desc{max-width:260px;overflow:hidden;text-overflow:ellipsis;display:block;font-size:11px;margin-top:4px;color:var(--muted)}.product-brand{font-size:10px;color:var(--muted);margin-top:4px}.stock{display:inline-flex;align-items:center;gap:5px;font-weight:750;font-variant-numeric:tabular-nums}.stock.low{color:#b33e45}.stock.good{color:var(--green)}.stock-dot{height:5px;width:5px;border-radius:50%;background:currentColor}.pill{display:inline-block;border-radius:4px;font-size:9px;letter-spacing:.2px;font-weight:650;padding:4px 6px;background:#edf3fe;color:var(--blue)}.pill.warning{background:#fff2cc;color:#946300}.table-footer{border-top:1px solid var(--line);padding:12px 18px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px}.empty{padding:58px 24px;text-align:center;color:var(--muted);white-space:normal}.empty svg{margin:0 auto 15px;color:#a5b5cb;width:34px;height:34px}.empty strong{color:#5d6c81;display:block;margin-bottom:8px;font-size:14px}.empty p{font-size:12px;line-height:1.6}.loading{padding:45px;text-align:center;color:var(--muted);font-size:13px}.status-line{font-size:12px;padding:12px 18px;line-height:1.5;color:var(--muted)}.sale-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:20px;align-items:start}.sale-search-results{max-height:235px;overflow:auto}.sale-search-results td{padding:9px 12px}.sale-search-results .product-desc{max-width:210px}.cart-header{display:flex;justify-content:space-between;align-items:center;padding:18px;border-bottom:1px solid var(--line);gap:12px}.cart-header h3{font-size:14px}.cart-empty{min-height:200px}.checkout{padding:22px;position:sticky;top:20px}.checkout h3{font-size:15px;margin-bottom:20px}.checkout .field{margin-top:15px}.checkout .field label{font-size:11px}.checkout input,.checkout select{font-size:12px;padding:10px}.money-lines{display:flex;flex-direction:column;gap:10px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.money-lines>div{display:flex;justify-content:space-between}.money-lines strong{font-variant-numeric:tabular-nums}.money-lines .grand-total{font-size:22px;color:var(--blue);font-weight:800;margin-top:5px}.payment-status{display:flex;justify-content:space-between;gap:10px;padding:14px 0;font-size:12px;color:var(--muted)}.payment-status b{color:var(--ink)}.checkout .button.primary{padding:14px;margin-top:8px}.mini-input{width:78px;padding:8px;border:1px solid var(--line);border-radius:6px;font-size:12px;text-align:right}.price-input{width:90px}.cart-description{max-width:190px;white-space:normal;font-size:10px;color:var(--muted);margin-top:5px}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin-bottom:22px}.stat{padding:23px;position:relative}.stat span{font-size:11px;color:var(--muted);display:block;line-height:1.5}.stat strong{display:block;font-size:27px;letter-spacing:-.8px;margin:11px 0 3px;color:var(--blue-dark);font-variant-numeric:tabular-nums}.stat small{font-size:9px;color:var(--muted)}.stat.accent{border-top:3px solid var(--blue)}.stat.warning{border-top:3px solid var(--yellow)}.stat.red{border-top:3px solid var(--red)}.report-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.report-tabs .active{background:var(--blue);border-color:var(--blue);color:#fff}.filter-row{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.filter-row .field input{padding:9px 10px;font-size:12px}.details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px 0}.detail-label{display:block;color:var(--muted);font-size:10px;margin-bottom:6px}.detail-value{font-size:13px;line-height:1.5;overflow-wrap:anywhere}.detail-value.large{font-size:23px;font-weight:750;color:var(--blue)}.form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.form-grid .wide{grid-column:1/-1}.form-grid .field input,.form-grid .field select{font-size:12px;padding:10px}.form-section{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;font-size:12px;font-weight:750;margin-top:7px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px;padding-top:18px;border-top:1px solid var(--line)}.modal-subtitle{font-size:12px;color:var(--muted);margin-bottom:15px;line-height:1.5}.record-block{padding:17px 20px;border-bottom:1px solid var(--line)}.record-block summary{cursor:pointer;font-size:12px;font-weight:650}.record-block pre{font-size:11px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:15px;background:#f7f9fc;padding:15px;border-radius:6px;max-height:350px;overflow:auto}.hash{font-family:Consolas,monospace;font-size:11px;overflow-wrap:anywhere;color:#7a8699}.modal-alert{margin:15px 0}.subheading{font-size:13px;margin:22px 0 12px}.toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:min(600px,90vw);padding:14px 20px;background:#183355;color:#fff;border-radius:9px;box-shadow:0 8px 40px #0a234933;font-size:12px;line-height:1.5;z-index:20}.toast.error{background:#a42834}dialog{width:min(900px,calc(100vw - 32px));max-height:90dvh;border:0;border-radius:13px;padding:0;box-shadow:0 30px 100px #0d284a44;color:var(--ink)}dialog::backdrop{background:#11254070;backdrop-filter:blur(3px)}.dialog-header{padding:19px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#fff;z-index:2}.dialog-header h2{font-size:18px;letter-spacing:-.4px}.dialog-header .icon-button{border:0}#modalBody{padding:22px 24px}.receipt-preview{background:#f3f5f8;padding:20px;border-radius:8px;max-height:62vh;overflow:auto}.receipt{background:#fff;max-width:302px;margin:auto;padding:20px 13px;font-family:Arial,sans-serif;font-size:11px;color:#000}.receipt-logo{display:block;width:105px;height:105px;object-fit:contain;margin:0 auto 9px}.receipt-center{text-align:center;line-height:1.6}.receipt h3{font-size:16px}.receipt-rule{border:0;border-top:1px dashed #555;margin:12px 0}.receipt table{font-size:10px;white-space:normal}.receipt th{font-size:9px;background:#fff;color:#000;letter-spacing:0;padding:7px 2px;border-bottom:1px dashed #555}.receipt td{padding:7px 2px;vertical-align:top;border:0}.receipt .receipt-line{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.receipt .receipt-total{font-size:15px;font-weight:800;margin:10px 0}.receipt-note{font-size:10px;white-space:pre-wrap;line-height:1.5}#printArea{display:none}
@media(min-width:1500px){main{max-width:1580px;margin:auto}.sale-layout{grid-template-columns:minmax(0,1fr) 350px}}
@media(max-width:1150px){.app-layout{grid-template-columns:195px minmax(0,1fr)}.sidebar{padding-left:10px;padding-right:10px}.sidebar-brand{font-size:12px;gap:6px}.sidebar-brand img{width:48px;height:48px}.sidebar-brand small{font-size:7px}.nav-button{font-size:12px;padding:12px 10px}.topbar{padding-left:22px;padding-right:22px}main{padding:22px}.historical-note{margin-left:22px;margin-right:22px}.sale-layout{grid-template-columns:minmax(0,1fr) 280px;gap:14px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.checkout{padding:18px}.keyboard-hint{display:none}}
@media(max-width:900px){.sale-layout{grid-template-columns:1fr}.checkout{position:static;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.checkout h3,.checkout .money-lines,.checkout .payment-status,.checkout .full,.checkout .alert,.checkout .checkout-note{grid-column:1/-1}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.auth-brand{padding:7vw}.auth-logo{width:160px;height:160px}}
@media(max-width:680px){.app-layout{display:block}.sidebar{height:auto;position:sticky;top:0;padding:8px 10px;border-right:0;border-bottom:1px solid var(--line)}.sidebar-brand{padding:0;margin-right:12px;display:none}.nav-label,.sidebar-bottom{display:none}nav{flex-direction:row;overflow:auto;gap:3px;scrollbar-width:none}.nav-button{width:auto;flex-direction:column;gap:5px;padding:7px 12px;font-size:9px;white-space:nowrap;position:relative}.nav-button svg{width:18px;height:18px}.nav-button.active:before{display:none}.nav-badge{position:absolute;right:2px;top:0;font-size:8px;padding:1px 4px}.topbar{height:73px;padding:14px 16px}.topbar h1{font-size:19px}.topbar-right{gap:10px}.user-chip strong{font-size:11px;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-chip span{font-size:9px}.historical-note{margin:12px 14px 0;padding:9px 10px;font-size:10px;align-items:flex-start}main{padding:18px 14px 28px}.section-heading{align-items:flex-start;margin-bottom:15px}.section-heading h2{font-size:15px}.section-heading p{font-size:11px}.section-heading>.button{font-size:11px;padding:9px 10px}.toolbar{padding:14px;gap:11px}.search-field{min-width:180px;width:100%;flex:auto}.search-field input{font-size:12px}.search-help{padding:10px 14px;font-size:10px;gap:8px 15px}.check{font-size:11px}th{padding:12px 10px}td{padding:12px 10px}.product-desc{max-width:180px}.table-footer{padding:11px 13px;line-height:1.5}.stats-grid{gap:11px}.stat{padding:17px}.stat strong{font-size:23px}.stat span{font-size:10px}.auth-layout{display:block}.auth-brand{padding:25px 28px;display:flex;align-items:center;text-align:center}.brand-kicker{font-size:8px;margin-bottom:10px;letter-spacing:2px}.auth-logo{width:110px;height:110px;margin-bottom:12px}.auth-brand h1{font-size:24px;letter-spacing:-.6px}.auth-brand h1 br{display:none}.auth-brand p{display:none}.brand-stripes{height:4px}.auth-panel{padding:30px 25px}.auth-card{gap:17px;max-width:400px}.auth-card h2{font-size:23px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-actions{flex-wrap:wrap}.details-grid{gap:14px}.dialog-header{padding:16px}.dialog-header h2{font-size:16px}#modalBody{padding:17px 16px}.checkout{padding:18px;gap:0 12px}.checkout .field label{font-size:10px}.receipt-preview{padding:12px}.mobile-hide{display:none}.filter-row{gap:9px}.filter-row .field{flex:1;min-width:115px}.toast{bottom:14px;width:calc(100vw - 28px);max-width:unset;font-size:12px}.button-row{gap:7px}}
@page{size:80mm 297mm;margin:3mm}
@media print{html,body{background:#fff!important;width:74mm!important;margin:0!important;padding:0!important}body>*{display:none!important}#printArea{display:block!important;width:74mm!important}.receipt{max-width:74mm!important;width:74mm!important;padding:0!important;margin:0!important;font-size:10px!important;box-shadow:none!important}.receipt-logo{width:33mm;height:33mm}.receipt table{width:100%;font-size:9px}.receipt th,.receipt td{padding:4px 1px}.receipt tr{break-inside:avoid}.receipt-total{break-inside:avoid}dialog{display:none!important}}
/* Proformas de MAXI RETÉN: hoja A4 limpia y legible. */
@page maxiret-proforma{size:A4 portrait;margin:12mm}
.proforma{page:maxiret-proforma;background:#fff;width:100%;max-width:190mm;margin:0 auto;padding:0;color:#16233a;font:12px/1.5 Arial,sans-serif}
.proforma-head{display:grid;grid-template-columns:92px minmax(0,1fr) auto;gap:16px;align-items:center;padding:0 0 18px;border-bottom:3px solid #17458d}
.proforma-head img{width:88px;height:88px;object-fit:contain}
.proforma-brand{font-size:10px;color:#59677c;line-height:1.55;overflow-wrap:anywhere}
.proforma-brand h1{font-size:22px;line-height:1.2;color:#173e79;margin:0 0 4px;letter-spacing:.2px}
.proforma-title{display:flex;flex-direction:column;align-items:flex-end;text-align:right;gap:4px;color:#5c6878;font-size:10px;white-space:nowrap}
.proforma-title strong{font-size:16px;color:#173e79;letter-spacing:1.2px}
.proforma-client{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;padding:18px 0 22px}
.proforma-client div{display:flex;flex-direction:column;gap:3px;overflow-wrap:anywhere}
.proforma-client span{font-size:9px;font-weight:750;color:#75839a;letter-spacing:.7px}
.proforma-client b{font-size:11px;color:#1b2b45}
.proforma table{width:100%;border-collapse:collapse;white-space:normal;font-size:10px}
.proforma th{background:#edf2f8;color:#264267;border-bottom:1px solid #cbd5e1;text-align:left;font-size:9px;letter-spacing:.5px;padding:9px 7px}
.proforma td{padding:9px 7px;border-bottom:1px solid #e5eaf0;vertical-align:top;overflow-wrap:anywhere}
.proforma td small{display:block;color:#6c7889;margin-top:2px}
.proforma .numeric{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.proforma-totals{width:min(100%,78mm);margin:18px 0 0 auto;display:grid;gap:7px}
.proforma-totals div{display:flex;justify-content:space-between;gap:14px;color:#536177}
.proforma-totals b{color:#172944;font-variant-numeric:tabular-nums}
.proforma-totals .proforma-grand{border-top:2px solid #173e79;padding-top:9px;font-size:15px;font-weight:800;color:#173e79}
.proforma-totals .proforma-grand b{font-size:16px;color:#173e79}
.proforma-note{margin-top:22px;padding:12px;background:#f5f7fa;border-left:3px solid #17458d;font-size:10px}
.proforma-note p{margin:5px 0 0;white-space:pre-wrap}
.proforma footer{display:flex;flex-direction:column;gap:4px;margin-top:28px;padding-top:12px;border-top:1px solid #d7dee8;color:#69778c;font-size:9px}
.proforma footer strong{color:#5a6574;letter-spacing:.4px}
.proforma-preview{max-height:62vh;overflow:auto}
tr[data-action="product"]:focus{outline:2px solid #17458d;outline-offset:-2px;background:#f3f7fc}
@media(max-width:680px){.proforma-head{grid-template-columns:64px minmax(0,1fr);gap:10px}.proforma-head img{width:62px;height:62px}.proforma-brand h1{font-size:17px}.proforma-title{grid-column:1/-1;align-items:flex-start;text-align:left}.proforma-client{gap:10px 14px}.proforma table{font-size:9px}.proforma th,.proforma td{padding:7px 4px}.proforma-totals{width:100%}}
@media print{html[data-print-mode="a4"],html[data-print-mode="a4"] body{width:auto!important;margin:0!important;padding:0!important}html[data-print-mode="a4"] body>*{display:none!important}html[data-print-mode="a4"] body #printArea{display:block!important;width:auto!important;max-width:none!important}html[data-print-mode="a4"] body .proforma{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;box-shadow:none!important;background:#fff!important}.proforma{page:maxiret-proforma}}
/* Impresora de tickets y caja */
.check-list{display:grid;gap:10px;margin:6px 0 4px}.check-line{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer}.check-line input{width:18px;height:18px;accent-color:#123e82}#openDrawer svg{width:16px;height:16px}@media print{#openDrawer{display:none!important}}
/* Firma de Ensigna */
.dev-credit{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-size:11.5px;color:#5b6475}.dev-credit img{width:26px;height:auto}.dev-credit b{color:#1b1f3b;letter-spacing:.04em}.sidebar-credit{justify-content:flex-start;padding:10px 18px 14px;margin:0;opacity:.85;color:inherit}.sidebar-credit b{color:inherit}.receipt .dev-credit,.proforma .dev-credit{margin-top:10px;font-size:10px}.receipt .dev-credit img{width:22px}@media print{.receipt .dev-credit img,.proforma .dev-credit img{filter:grayscale(1)}}
/* 23/10 v2: firma chica y terminos de la tienda */
.dev-credit{gap:6px;margin-top:10px;font-size:10.5px;color:#7a8394}.dev-credit img{width:16px}.receipt .dev-credit img,.proforma .dev-credit img{width:14px}.receipt-terms{margin:10px 0 8px;padding:8px 0;border-top:2px solid #111;border-bottom:2px solid #111;font-size:11px;line-height:1.35}.receipt-terms strong{display:block;text-align:center;margin-bottom:4px;letter-spacing:.04em}.receipt-terms p{margin:0 0 3px;padding-left:10px;text-indent:-10px}.receipt-terms p::before{content:'* '}
/* ===== 24/10: Inicio, menú retráctil, íconos 3D y botones con relieve ===== */
.app-layout{transition:grid-template-columns .28s ease}
.topbar-left{display:flex;align-items:center;gap:14px;min-width:0}
.menu-toggle{width:40px;height:40px;border-radius:12px;box-shadow:0 3px 0 #d5ddeb;transition:transform .12s,box-shadow .12s}
.menu-toggle:active{transform:translateY(3px);box-shadow:0 0 0 #d5ddeb}
.menu-toggle svg{width:20px;height:20px}
.ico3d{width:28px;height:28px;object-fit:contain;flex-shrink:0;filter:drop-shadow(0 2px 2px #0b1f4426);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.nav-button{position:relative;transition:background .15s,transform .12s}
.nav-button:hover .ico3d{transform:scale(1.14) rotate(-4deg)}
.nav-button:active{transform:scale(.97)}
.nav-button.active{background:linear-gradient(180deg,#f2f6ff,#e6eeff);box-shadow:inset 0 0 0 1px #d7e3fb,0 2px 0 #d7e3fb}
.menu-veil{display:none}
/* Menú como en Itamar e iCamba: escondido de entrada en compu y teléfono; ☰ lo abre encima y se cierra solo */
.app-layout{grid-template-columns:minmax(0,1fr)}
.sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;height:100dvh;flex-direction:column;padding:18px 12px;border-right:1px solid var(--line);border-bottom:0;overflow-y:auto;transform:translateX(-105%);visibility:hidden;transition:transform .26s ease,visibility 0s .26s;z-index:30;box-shadow:12px 0 40px #0b1f4430}
.sidebar-brand{display:flex;padding:0 3px 18px}
nav{flex-direction:column;overflow:visible;gap:4px}
.nav-button{width:100%;flex-direction:row;gap:12px;padding:11px 12px;font-size:13px}
.nav-button.active:before{display:block}
.sidebar-bottom{display:flex}
body.menu-abierto .sidebar{transform:none;visibility:visible;transition:transform .26s ease,visibility 0s}
body.menu-abierto .menu-veil{display:block;position:fixed;inset:0;background:#0b1f4459;z-index:25}
/* botones con relieve 3D */
.button{transition:transform .12s ease,box-shadow .12s ease,background .15s;box-shadow:0 3px 0 #d5ddeb}
.button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 0 #d5ddeb,0 8px 18px #12428b14}
.button:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 #d5ddeb}
.button.primary{background:linear-gradient(180deg,#1d55ad,var(--blue));box-shadow:0 3px 0 #0a2a5c}
.button.primary:hover:not(:disabled){box-shadow:0 4px 0 #0a2a5c,0 10px 20px #12428b30}
.button.primary:active:not(:disabled){box-shadow:0 0 0 #0a2a5c}
.button.red{background:linear-gradient(180deg,#f04049,var(--red));box-shadow:0 3px 0 #a3141c}
.button.ghost,.button.small{box-shadow:none}
/* Inicio */
.home-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:24px 26px;margin-bottom:22px;border-radius:18px;color:#fff;background:linear-gradient(120deg,#102e5c 0%,#12428b 55%,#1d55ad 100%);box-shadow:0 14px 34px #12428b33;position:relative;overflow:hidden}
.home-hero:after{content:"";position:absolute;right:-60px;top:-70px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,#ffd52333,transparent 70%)}
.home-hero .eyebrow{color:#ffd523;text-transform:none;letter-spacing:.5px;margin:0 0 4px}.home-hero .eyebrow::first-letter{text-transform:uppercase}
.home-hero h2{margin:0 0 4px;font-size:26px;letter-spacing:-.5px}
.home-hero p{margin:0;opacity:.85;font-size:13px}
.home-stats{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}
.home-stats .loading{color:#fff;opacity:.8}
.home-stat{background:#ffffff1a;border:1px solid #ffffff2b;border-radius:12px;padding:10px 14px;min-width:120px;backdrop-filter:blur(4px)}
.home-stat span{display:block;font-size:10px;letter-spacing:.6px;text-transform:uppercase;opacity:.8}
.home-stat strong{font-size:18px}
.tiles3d{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:16px}
.tile3d{display:grid;justify-items:center;gap:4px;padding:20px 12px 18px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f6f9ff);box-shadow:0 5px 0 #dde5f2,0 12px 24px #17365b0d;cursor:pointer;text-align:center;color:var(--ink);transition:transform .16s ease,box-shadow .16s ease;animation:tileIn .45s ease both;animation-delay:calc(var(--i) * 45ms)}
.tile3d img{width:84px;height:84px;object-fit:contain;filter:drop-shadow(0 6px 6px #0b1f4426);transition:transform .25s cubic-bezier(.3,1.6,.5,1)}
.tile3d b{font-size:15px;margin-top:4px}
.tile3d small{font-size:11px;color:var(--muted)}
.tile3d:hover{transform:translateY(-4px);box-shadow:0 9px 0 #dde5f2,0 18px 30px #12428b1f}
.tile3d:hover img{transform:scale(1.1) rotate(-5deg)}
.tile3d:active{transform:translateY(4px);box-shadow:0 1px 0 #dde5f2,0 4px 10px #17365b14}
.tile3d.tile-caja{background:linear-gradient(180deg,#fff9df,#fff3bf);border-color:#f3dd86;box-shadow:0 5px 0 #e8cf6a,0 12px 24px #a0780014}
@keyframes tileIn{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:680px){.home-hero{grid-template-columns:1fr;padding:18px}.home-hero h2{font-size:21px}.tiles3d{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile3d{padding:14px 8px}.tile3d img{width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.tile3d,.ico3d,.button,.nav-button{animation:none;transition:none}}
@media print{.menu-toggle,.menu-veil{display:none!important}}
