:root { --ink:#17222b; --muted:#64727b; --line:#d9e0e4; --paper:#fff; --surface:#f4f7f7; --brand:#111820; --accent:#d27826; --danger:#b83b2e; --good:#177a54; }
* { box-sizing:border-box; }
.point-ticket-line.small { font-size:8px; }
#ticket-presupuesto .point-ticket-sheet { min-height:0; }
[hidden] { display:none!important; }
body { margin:0; color:var(--ink); font-family:Arial, Helvetica, sans-serif; background:var(--surface); font-size:16px; }
button,input,select { font:inherit; } button { cursor:pointer; }
.topbar { min-height:76px; padding:0 4.5vw; display:flex; align-items:center; gap:38px; background:var(--brand); color:#fff; box-shadow:0 2px 10px #0002; }
.brand { color:#fff; display:flex; align-items:center; gap:10px; text-decoration:none; font-family:"Arial Black",Arial,sans-serif; font-size:20px; letter-spacing:.4px; white-space:nowrap; }.brand img { width:37px; height:37px; object-fit:contain; filter:invert(1) contrast(2); }
nav { display:flex; align-self:stretch; gap:8px; }.nav-link { color:#dfe7ea; background:transparent; border:0; padding:0 13px; font-weight:bold; font-size:16px; border-bottom:4px solid transparent; }.nav-link:hover,.nav-link.active { color:#fff; border-color:var(--accent); }
.topbar-status { margin-left:auto; display:flex; gap:12px; align-items:center; }.online { color:#d6e4e1; font-size:14px; white-space:nowrap; }.online i { display:inline-block; width:9px; height:9px; margin-right:6px; background:#55c785; border-radius:50%; }.notification-button,.session-logout { border:1px solid #6d8490; background:transparent; color:#fff; border-radius:7px; padding:7px 9px; font-weight:bold; }.session-logout:hover { border-color:#d27826; background:#ffffff12; }.session-logout[hidden] { display:none; }.notification-button span { display:inline-grid; place-items:center; min-width:18px; height:18px; margin-left:3px; border-radius:999px; background:#d27826; font-size:11px; }.notification-button span[hidden] { display:none; }.notification-button .notification-pulse { animation:notificationPulse 1.65s ease-in-out infinite; } @keyframes notificationPulse { 0%,100% { transform:scale(1); box-shadow:0 0 0 0 #f29b4b00; } 50% { transform:scale(1.13); box-shadow:0 0 0 6px #f29b4b55; } } @media (prefers-reduced-motion: reduce) { .notification-button .notification-pulse { animation:none; } }
main { max-width:1440px; margin:auto; padding:38px 4.5vw 60px; }.screen { display:none; }.screen.active { display:block; }.screen-title { display:flex; justify-content:space-between; align-items:end; margin-bottom:23px; }.eyebrow { text-transform:uppercase; letter-spacing:1.5px; color:var(--muted); font-size:12px; font-weight:bold; margin:0 0 5px; }h1,h2,p { margin-top:0; } h1 { font-size:32px; margin-bottom:0; } h2 { font-size:22px; margin-bottom:0; }
.sales-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(360px,.88fr); gap:25px; align-items:start; }.card,.simple-screen { background:var(--paper); border:1px solid var(--line); box-shadow:0 2px 9px #17222b0b; border-radius:14px; }.card { padding:26px; }.simple-screen { padding:40px; }
.search-label { display:block; font-weight:bold; font-size:19px; margin-bottom:9px; }.search-box { border:2px solid #aebac0; display:flex; align-items:center; gap:10px; border-radius:9px; padding:0 13px; background:#fff; }.search-box:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px #d2782630; }.search-box span { font-size:29px; line-height:1; color:var(--muted); }.search-box input { width:100%; border:0; outline:0; padding:15px 0; font-size:18px; }.helper { color:var(--muted); font-size:14px; margin:9px 0 18px; line-height:1.35; }
.product-results { display:grid; gap:8px; }.product { width:100%; text-align:left; background:#fff; border:1px solid var(--line); border-radius:9px; padding:14px; display:grid; grid-template-columns:1fr auto; gap:8px; }.product:hover,.product:focus { border-color:var(--accent); box-shadow:0 2px 9px #d2782620; outline:0; }.product-name { font-weight:bold; font-size:17px; }.product-meta { color:var(--muted); font-size:13px; margin-top:4px; }.product-price { align-self:center; font-weight:bold; font-size:18px; color:#0a4b38; }.empty-list,.empty-cart { color:var(--muted); text-align:center; padding:30px 15px; }
.ticket-heading { display:flex; justify-content:space-between; gap:16px; align-items:start; border-bottom:1px solid var(--line); padding-bottom:17px; }.text-button { color:#075f8e; background:none; border:0; padding:4px; text-decoration:underline; font-weight:bold; }.cart-head,.cart-line { display:grid; grid-template-columns:minmax(0,1fr) 84px 106px 30px; gap:8px; align-items:center; }.cart-head { color:var(--muted); text-transform:uppercase; letter-spacing:.5px; font-size:11px; font-weight:bold; padding:15px 0 6px; }.cart-line { padding:11px 0; border-bottom:1px solid #e7ecee; }.cart-name { font-weight:bold; line-height:1.25; }.cart-price { color:var(--muted); font-size:13px; margin-top:3px; }.quantity { width:78px; min-height:44px; padding:8px 5px 8px 8px; border:1px solid #bcc7cc; border-radius:7px; text-align:right; font-size:16px; cursor:pointer; }.quantity::-webkit-inner-spin-button { width:20px; min-height:34px; opacity:1; cursor:pointer; }.quantity::-moz-number-spin-box { cursor:pointer; }.line-total { font-weight:bold; text-align:right; }.remove { border:0; color:#8e332b; background:transparent; font-size:23px; padding:0; }.total-box { padding:17px 0 5px; border-bottom:1px solid var(--line); }.total-box>div { display:flex; justify-content:space-between; padding:4px 0; }.grand-total { font-size:23px; padding-top:12px!important; }.ticket-actions { display:grid; grid-template-columns:1fr 1.25fr; gap:10px; margin-top:18px; }.button { border:0; border-radius:8px; padding:13px 17px; font-weight:bold; font-size:16px; min-height:48px; }.button:disabled { opacity:.45; cursor:not-allowed; }.button.primary { color:#fff; background:var(--accent); }.button.primary:hover:not(:disabled) { background:#ad5b16; }.button.secondary { color:#fff; background:#2d4e5c; }.button.danger { color:#fff; background:var(--danger); }.button.quiet { background:#e7edef; color:#273a43; }.button.small { align-self:end; min-height:42px; padding:8px 12px; }.status { min-height:20px; margin:13px 0 0; text-align:center; color:var(--muted); font-size:14px; }.status.good { color:var(--good); font-weight:bold; }.status.error { color:var(--danger); font-weight:bold; }
.ticket-actions { grid-template-columns:1fr; }
.cart-head,.cart-line { grid-template-columns:minmax(0,1fr) 84px 106px 38px; }
.cart-line .remove { display:inline-grid; place-items:center; width:34px; height:34px; min-height:34px; padding:0; border:0; border-radius:7px; color:#fff; background:var(--danger); font-size:22px; font-weight:900; line-height:1; box-shadow:0 1px 3px #0002; }
.cart-line .remove:hover:not(:disabled) { background:#922a22; }
.cart-line .remove:disabled { opacity:.45; cursor:not-allowed; }
.cart-line-mixed,.cart-line-weight { grid-template-columns:minmax(0,1fr) 140px 106px 38px; }.mixed-quantity-control { display:grid; gap:5px; }.mixed-mode-toggle,.cart-weight-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:3px; }.cart-weight-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }.mixed-mode-toggle button,.cart-weight-presets button { min-width:0; border:1px solid #c5d0d4; border-radius:6px; padding:5px 3px; background:#edf2f4; color:#263a43; font-family:inherit; font-size:10px; font-weight:700; line-height:1.1; cursor:pointer; }.mixed-mode-toggle button.active { border-color:var(--accent); color:#fff; background:var(--accent); }.cart-weight-presets button:hover:not(:disabled) { border-color:var(--accent); background:#fff4e9; }.mixed-quantity-control .quantity { width:100%; }.cart-line-mixed .cart-price,.cart-line-weight .cart-price { line-height:1.35; }
.cart-line-added { animation:cartAdded 1.45s ease-out; border-radius:7px; }
@keyframes cartAdded { 0%, 45% { background:#f7a326; box-shadow:0 0 0 5px #f7a32670; } 100% { background:transparent; box-shadow:0 0 0 0 transparent; } }
.customer-document { margin:4px 0 0; color:var(--muted); font-size:13px; }
.dialog { width:min(560px,calc(100vw - 28px)); border:0; border-radius:14px; padding:0; color:var(--ink); box-shadow:0 18px 50px #0006; }.dialog::backdrop { background:#14212aaa; }.dialog form { padding:26px; }.dialog-title { display:flex; justify-content:space-between; gap:18px; align-items:start; margin-bottom:22px; }.icon-button { width:35px; height:35px; border:0; border-radius:50%; background:#e8edef; font-size:25px; line-height:1; }.choice-row { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:18px; }.choice { padding:10px 12px; border:1px solid var(--line); border-radius:8px; font-weight:bold; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.form-grid label,.dialog label { display:grid; gap:6px; font-weight:bold; font-size:14px; }.form-grid .wide { grid-column:span 2; }.form-grid input,.form-grid select,.dialog>form>label input,.dialog>form>label select { border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; min-width:0; }.dialog>form>label { margin:12px 0; }.dialog-actions { margin-top:24px; display:flex; justify-content:flex-end; gap:10px; }.amount-summary { font-size:18px; padding:15px; background:#f1f5f5; border-radius:8px; }.warning { border-left:4px solid var(--accent); padding:8px 12px; background:#fff7ed; line-height:1.4; font-size:14px; }.toast { position:fixed; bottom:max(22px,env(safe-area-inset-bottom)); left:50%; width:max-content; max-width:calc(100vw - 32px); transform:translate3d(-50%,8px,0); opacity:0; visibility:hidden; pointer-events:none; contain:layout paint style; isolation:isolate; color:#fff; padding:13px 18px; border-radius:9px; box-shadow:0 5px 20px #0004; transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s; z-index:10000; }.toast[hidden] { display:none!important; }.toast.show { transform:translate3d(-50%,0,0); opacity:1; visibility:visible; transition-delay:0s; }.toast.success { background:var(--good); }.toast.error { background:#a52f27; }
#cerrar-cobro-arriba { background:#b82f24; color:#fff; box-shadow:0 3px 9px #8f1f1f55; }
#cerrar-cobro-arriba:hover,#cerrar-cobro-arriba:focus-visible { background:#982219; color:#fff; }
.helper.error { color:var(--danger); font-weight:bold; }.point-payment-help { margin:12px 0; padding:11px 13px; border-radius:8px; background:#edf6f8; border-left:4px solid #2d4e5c; color:#173d4d; line-height:1.4; font-size:14px; }.point-payment-status { margin:12px 0 0; padding:10px 12px; border-radius:8px; background:#fff7ed; color:#7b3b0b; font-weight:bold; }
.button.whatsapp { color:#fff; background:#25a865; }.button.whatsapp:hover:not(:disabled) { background:#18844c; }
.share-phone { display:grid; gap:6px; margin:16px 0 0; font-size:14px; font-weight:bold; }.share-phone input { border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; }.phone-prefix-field { display:grid; grid-template-columns:minmax(170px,.48fr) minmax(0,1fr); gap:8px; }.phone-prefix-field select,.phone-prefix-field input { width:100%; min-width:0; border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; }.phone-prefix-field:focus-within select,.phone-prefix-field:focus-within input { border-color:#d27826; }.client-result-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }
.header-actions { display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end; }.catalog-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr); gap:25px; align-items:start; }.catalog-results,.budget-list { margin-top:18px; display:grid; gap:8px; }.catalog-row,.budget-row { display:grid; gap:12px; padding:15px 0; border-bottom:1px solid var(--line); }.catalog-row { grid-template-columns:minmax(0,1fr) auto; }.catalog-row:last-child,.budget-row:last-child { border-bottom:0; }.catalog-title { font-weight:bold; font-size:17px; }.catalog-detail,.budget-detail { color:var(--muted); font-size:14px; margin-top:4px; }.catalog-price { align-self:center; text-align:right; font-weight:bold; color:#0a4b38; }.catalog-sale-label { color:var(--muted); font-size:12px; font-weight:normal; margin-top:2px; }.profile-actions { display:flex; gap:10px; }.profile-actions .button { flex:1; }.form-panel,.category-panel { position:sticky; top:18px; max-height:calc(100vh - 210px); max-height:max(320px,calc(100dvh - 210px)); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }.compact-form { margin-top:18px; }.compact-form .wide { grid-column:span 2; }.compact-form button.wide { grid-column:span 2; }.budget-row { grid-template-columns:minmax(0,1fr) auto; align-items:center; }.budget-number { color:#075f8e; font-weight:bold; }.budget-actions { display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end; }.button.tiny { min-height:36px; padding:7px 10px; font-size:14px; }.button.delete { color:#fff; background:#9d342a; }
.stock-mode-switch { min-height:48px; display:flex; align-items:center; gap:9px; padding:7px 13px; border:1px solid #b6c4ca; border-radius:9px; background:#fff; color:#2b414b; cursor:pointer; user-select:none; }.stock-mode-switch input { position:absolute; opacity:0; pointer-events:none; }.stock-mode-track { width:42px; height:24px; padding:3px; border-radius:999px; background:#9aaab1; transition:background .18s ease; }.stock-mode-track i { display:block; width:18px; height:18px; border-radius:50%; background:#fff; box-shadow:0 1px 4px #0004; transition:transform .18s ease; }.stock-mode-switch:has(input:checked) { border-color:#177a54; color:#0f6445; background:#eff9f4; }.stock-mode-switch input:checked + .stock-mode-track { background:#177a54; }.stock-mode-switch input:checked + .stock-mode-track i { transform:translateX(18px); }.stock-mode-switch:focus-within { outline:3px solid #d2782638; border-color:var(--accent); }.stock-mode-switch.busy { opacity:.55; pointer-events:none; }.stock-infinite-note { margin:8px 0; padding:7px 10px; border-radius:7px; color:#146443; background:#edf8f2; font-size:12px; font-weight:700; }
.catalog-row-hidden { opacity:.62; }
.product-price-preview { padding:14px; border:1px solid #b9d6c8; border-radius:9px; background:#f1faf5; }.product-price-preview-title { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-bottom:10px; border-bottom:1px solid #cfe3d8; font-weight:700; }.product-price-preview-title strong { color:#0a6544; font-size:23px; white-space:nowrap; }.product-price-preview-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px 14px; margin-top:11px; }.product-price-preview-grid span { display:flex; justify-content:space-between; gap:8px; color:var(--muted); font-size:12px; }.product-price-preview-grid strong { color:var(--ink); white-space:nowrap; }.product-price-preview>p { margin:11px 0 0; color:#476057; font-size:12px; line-height:1.35; }.product-price-preview.manual { border-color:#d9c39d; background:#fff8ec; }.product-price-preview.manual .product-price-preview-title strong { color:#8a4a12; }
.product-price-preview.incomplete { border-color:var(--line); background:#f7f9fa; }.product-price-preview.incomplete .product-price-preview-title strong { color:var(--muted); }
.catalog-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }.catalog-filter { border:0; border-radius:999px; padding:7px 11px; background:#edf2f4; color:var(--ink); font:inherit; font-size:13px; font-weight:bold; cursor:pointer; }.catalog-filter:hover { background:#d6e3e7; outline:2px solid var(--accent); }.catalog-filter.frequent { color:#9d4c11; }.catalog-filter.active,.catalog-filter.frequent.active { color:#fff; background:var(--accent); outline:0; box-shadow:0 2px 7px #9f571f40; }
#filtros-hojas-importacion.catalog-filters { display:block; margin-top:14px; }
.import-sheet-carousel { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; align-items:center; gap:7px; width:100%; }
.import-sheet-track { display:flex; flex-wrap:nowrap; gap:8px; min-width:0; overflow-x:auto; overflow-y:hidden; scroll-behavior:smooth; scrollbar-width:none; overscroll-behavior-inline:contain; }
.import-sheet-track::-webkit-scrollbar { display:none; }
.import-sheet-track .catalog-filter { flex:0 0 auto; white-space:nowrap; }
.import-sheet-arrow { display:grid; place-items:center; width:34px; height:34px; padding:0; border:1px solid #b7c5ca; border-radius:50%; color:#244653; background:#edf2f4; font:inherit; font-size:24px; font-weight:900; line-height:1; cursor:pointer; }
.import-sheet-arrow:hover:not(:disabled) { color:#fff; border-color:#2b5768; background:#2b5768; }
.import-sheet-arrow:disabled { opacity:.35; cursor:default; }
.summary-link { border:0; border-radius:999px; padding:7px 11px; background:#edf2f4; color:var(--ink); font:inherit; font-weight:bold; cursor:pointer; }.summary-link:hover,.summary-link.active { background:#d6e3e7; outline:2px solid var(--accent); }.stock-add { display:flex; justify-content:flex-end; gap:6px; margin:8px 0; }.stock-add input { width:105px; border:1px solid #aebbc1; border-radius:6px; padding:6px; text-align:right; }
.stock-flash { display:inline-block; margin-left:5px; font-weight:bold; opacity:0; }.stock-flash.positive,.stock-flash.negative,.stock-flash.neutral { animation:stockFlash 2.2s ease-out; }.stock-flash.positive { color:#18844c; }.stock-flash.negative { color:#a6332a; }.stock-flash.neutral { color:#075f8e; }@keyframes stockFlash { 0% { opacity:0; transform:translateY(4px); } 15%,70% { opacity:1; transform:translateY(0); } 100% { opacity:0; transform:translateY(-3px); } }
#movimientos-dialog { padding:26px; }.movement-list { display:grid; gap:8px; max-height:55vh; overflow:auto; }.movement-row { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:11px; border:1px solid var(--line); border-radius:8px; background:#f8fafb; }.movement-row>div:last-child { display:grid; justify-items:end; gap:6px; }
.category-manager { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }.category-manager-title { margin:0 0 10px; font-weight:bold; }.category-results { display:grid; gap:9px; }.category-row { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:11px; border:1px solid var(--line); border-radius:8px; background:#f8fafb; }.category-row label:first-child,.category-actions { grid-column:1 / -1; }.category-row label { display:grid; gap:4px; font-size:12px; font-weight:bold; color:var(--muted); }.category-row input,.category-row select { min-width:0; padding:8px; border:1px solid #aebbc1; border-radius:6px; background:#fff; color:var(--ink); font-size:13px; }.category-actions { display:flex; justify-content:flex-end; gap:8px; }
.client-list-card { max-width:820px; }.client-results { display:grid; gap:8px; }.client-result { width:100%; text-align:left; border:1px solid var(--line); border-radius:9px; background:#fff; padding:14px; display:flex; justify-content:space-between; align-items:center; gap:16px; }.client-result:hover,.client-result:focus { border-color:var(--accent); box-shadow:0 2px 9px #d2782620; outline:0; }.client-result-name { font-weight:bold; font-size:17px; }.client-result-meta { color:var(--muted); margin-top:4px; font-size:14px; }.client-result-action { color:#075f8e; font-weight:bold; white-space:nowrap; }
.client-suggestions { display:grid; gap:5px; padding:8px; border:1px solid var(--line); border-radius:8px; background:#f7fafb; }.client-suggestion { display:flex; justify-content:space-between; gap:10px; align-items:center; width:100%; padding:9px 10px; border:0; border-radius:6px; background:#fff; text-align:left; color:var(--ink); }.client-suggestion:hover,.client-suggestion:focus { background:#e9f0f2; outline:0; }.client-suggestion span { color:var(--muted); font-size:12px; text-align:right; }
.client-suggestions.attention { animation:clientSuggestionPulse 1.5s ease-in-out 3; }@keyframes clientSuggestionPulse { 0%,100% { border-color:var(--line); box-shadow:0 0 0 0 #d2782600; } 50% { border-color:var(--accent); box-shadow:0 0 0 5px #d2782630; } }
.document-input { position:relative; display:block; }.form-grid .document-input input { width:100%; padding-right:40px; }.document-input button { position:absolute; top:50%; right:6px; width:28px; height:28px; transform:translateY(-50%); border:0; border-radius:50%; background:#e7edef; color:#233944; font-size:22px; line-height:1; }.document-input button:hover { background:#d7e1e5; }
.budget-dialog { width:min(700px,calc(100vw - 28px)); max-height:calc(100vh - 28px); padding:26px; }.budget-dialog-title { margin-bottom:18px; }.ticket-preview-stage { min-height:0; max-height:calc(100vh - 245px); overflow:auto; display:flex; justify-content:center; align-items:flex-start; padding:24px; background:#e9eff1; border:1px solid var(--line); border-radius:9px; }.budget-ticket { width:58mm; min-height:130mm; flex:0 0 auto; padding:5mm 4mm; color:#000; background:#fff; border:1px solid #9ca8ad; font-family:"Courier New",monospace; font-size:11px; line-height:1.35; box-shadow:0 4px 14px #17222b35; }.budget-ticket-header { text-align:center; border-bottom:1px dashed #000; padding-bottom:3mm; }.budget-ticket-logo { width:30px; height:30px; object-fit:contain; display:block; margin:0 auto 2px; }.budget-ticket-brand { font-family:"Arial Black",Arial,sans-serif; font-size:14px; letter-spacing:.3px; }.budget-ticket-title { font-weight:bold; margin-top:3px; }.budget-ticket-meta { margin:3mm 0; }.budget-ticket-meta div { display:flex; justify-content:space-between; gap:8px; }.budget-ticket-customer { border-top:1px dashed #000; border-bottom:1px dashed #000; padding:3mm 0; margin:3mm 0; overflow-wrap:anywhere; }.budget-ticket-items { width:100%; border-collapse:collapse; margin:3mm 0; }.budget-ticket-items th { text-align:left; font-size:10px; border-bottom:1px solid #000; }.budget-ticket-items th:last-child,.budget-ticket-items td:last-child { text-align:right; }.budget-ticket-items td { vertical-align:top; padding:2px 0; }.budget-ticket-items .item-quantity { color:#333; }.budget-ticket-total { border-top:1px dashed #000; padding-top:3mm; text-align:right; font-weight:bold; font-size:14px; }.budget-ticket-note { margin-top:6mm; font-size:10px; text-align:center; font-weight:bold; }.budget-ticket-header-point { padding-bottom:2mm; }.budget-ticket-point-content { margin:3mm 0 0; white-space:pre-wrap; overflow-wrap:anywhere; font:inherit; line-height:1.35; }.ticket-preview-note { margin:14px 0 0; text-align:center; }.budget-dialog-actions { margin-top:18px; flex-wrap:wrap; }.factura-actions { flex-wrap:wrap; }
.factura-preview-dialog { width:min(900px,calc(100vw - 28px)); max-height:calc(100vh - 28px); padding:26px; }.factura-preview-stage { height:min(720px,calc(100vh - 245px)); min-height:420px; overflow:auto; display:flex; justify-content:center; align-items:flex-start; padding:24px; background:#202426; border-radius:9px; }.factura-a4-preview { width:min(100%,620px); min-height:877px; flex:0 0 auto; padding:38px 50px; background:#fff; color:#000; box-shadow:0 4px 18px #0006; font-family:Arial,sans-serif; font-size:12px; }.factura-a4-brand { display:flex; justify-content:center; align-items:center; gap:10px; margin-bottom:22px; font-size:27px; letter-spacing:.4px; }.factura-a4-brand img { width:48px; height:48px; object-fit:contain; filter:grayscale(1) contrast(2); }.factura-a4-header { display:grid; grid-template-columns:1fr 106px 1.1fr; gap:14px; border-bottom:1px solid #000; padding-bottom:6px; min-height:135px; }.factura-a4-header h3 { margin:0 0 8px; font-size:22px; font-weight:normal; }.factura-a4-header p { margin:0; line-height:1.35; }.factura-a4-letter { border:1px solid #000; height:max-content; text-align:center; padding:8px; }.factura-a4-letter strong { display:block; font-size:30px; font-weight:normal; }.factura-a4-letter small { white-space:nowrap; }.factura-a4-document { text-align:right; line-height:1.35; }.factura-a4-items { width:100%; border-collapse:collapse; margin-top:0; }.factura-a4-items th,.factura-a4-items td { padding:5px 2px; text-align:right; vertical-align:top; }.factura-a4-items th:first-child,.factura-a4-items td:first-child { text-align:left; }.factura-a4-items thead { border-bottom:1px solid #000; }.factura-a4-footer { margin:310px 0 0 auto; width:285px; text-align:right; }.factura-a4-footer p { margin:6px 0; }.factura-a4-footer p:first-child { border-bottom:1px solid #000; padding-bottom:7px; overflow-wrap:anywhere; }.factura-a4-total { font-size:15px; font-weight:bold; }.factura-a4-pending { border-top:1px solid #000; padding-top:10px; margin-top:16px; text-align:left; font-weight:bold; }.factura-a4-pending small { font-weight:normal; }
.invoice-type-field { display:flex; gap:18px; margin:14px 0; padding:10px 12px; border:1px solid var(--line); border-radius:8px; }.invoice-type-field legend { padding:0 5px; font-weight:700; }.invoice-type-field label { display:flex; align-items:center; gap:7px; margin:0; }.invoice-zoom-controls { display:flex; justify-content:center; gap:8px; margin:-4px 0 10px; }.invoice-zoom-controls .button { min-width:44px; padding:7px 12px; }.invoice-zoom-controls [data-invoice-zoom="reset"] { min-width:74px; }
.budget-ticket-fiscal-preview { display:grid; grid-template-columns:22mm 1fr; gap:4mm; align-items:center; border-top:1px dashed #000; border-bottom:1px dashed #000; margin-top:4mm; padding:3mm 0; font-size:9px; }.ticket-qr-placeholder,.a4-qr-placeholder { display:grid; place-items:center; background:repeating-conic-gradient(#000 0 25%,#fff 0 50%) 50% / 6px 6px; color:#fff; font-family:Arial,sans-serif; font-weight:bold; text-shadow:0 1px #000; }.ticket-qr-placeholder { width:20mm; height:20mm; }.factura-a4-client { margin-top:42px; text-align:left; }.factura-a4-fiscal-preview { border-top:1px solid #000; padding-top:10px; margin-top:12px; display:grid; grid-template-columns:32mm 1fr; align-items:center; gap:12px; line-height:1.4; }.a4-qr-placeholder { width:32mm; height:32mm; font-size:14px; }.a4-qr-placeholder small { font-size:8px; }.factura-a4-fiscal-preview span { font-size:11px; }
.fiscal-preview-host { width:100%; min-height:0; padding:0; background:transparent; box-shadow:none; color:var(--ink); }.fiscal-preview-host.a4 { display:flex; justify-content:center; }.fiscal-preview-scaler { position:relative; flex:0 0 auto; overflow:hidden; }.fiscal-preview-frame { display:block; border:0; background:#fff; box-shadow:0 4px 14px #17222b35; transform-origin:top left; }.fiscal-preview-frame.ticket { width:58mm; height:820px; }.fiscal-preview-frame.a4 { width:794px; height:1123px; max-width:none; }.point-ticket-preview { width:58mm; max-width:100%; flex:0 0 auto; color:#000; background:#fff; border:1px solid #9ca8ad; box-shadow:0 4px 14px #17222b35; font-family:"Courier New",monospace; font-size:9px; line-height:1.35; }.point-ticket-sheet { width:58mm; min-height:128mm; padding:5mm 3mm; overflow:hidden; }.point-ticket-line { width:32ch; max-width:100%; min-height:1.35em; margin-inline:auto; white-space:pre-wrap; overflow-wrap:break-word; }.point-ticket-line.centered { text-align:center; }.point-ticket-line.strong { font-weight:700; }
@media (max-width:900px) { .topbar { padding:0 20px; gap:12px; }.topbar nav { order:3; width:100%; height:48px; }.topbar { flex-wrap:wrap; padding-top:12px; }.online { font-size:12px; }.sales-layout,.catalog-layout { grid-template-columns:1fr; }.ticket-panel { order:-1; }.form-panel,.category-panel { position:static; } main { padding:25px 16px 45px; }.brand { font-size:17px; } }
@media (max-width:520px) { h1 { font-size:27px; }.screen-title { align-items:start; gap:14px; }.card { padding:17px; }.cart-head,.cart-line { grid-template-columns:minmax(0,1fr) 66px 82px 25px; }.quantity { width:62px; }.ticket-actions { grid-template-columns:1fr; }.form-grid { grid-template-columns:1fr; }.form-grid .wide { grid-column:auto; }.form-grid .button { align-self:auto; }.phone-prefix-field { grid-template-columns:1fr; }.category-row { grid-template-columns:1fr 1fr; }.category-row label:first-child,.category-actions { grid-column:1 / -1; }.nav-link { font-size:14px; padding:0 8px; }.online { display:none; } }
.supplier-layout { display:grid; grid-template-columns:minmax(260px,.32fr) minmax(0,1fr); gap:25px; align-items:start; }.supplier-sidebar { position:sticky; top:18px; }.supplier-sidebar h2 { margin-bottom:12px; }.supplier-select { display:grid; gap:6px; font-weight:bold; font-size:14px; margin:20px 0 10px; }.supplier-select select,.import-actions select { border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; min-width:0; }.supplier-list { display:grid; gap:7px; }.supplier-item { width:100%; border:1px solid var(--line); background:#fff; border-radius:8px; padding:10px; text-align:left; color:var(--ink); }.supplier-item.active { border-color:var(--accent); box-shadow:0 0 0 3px #d2782624; }.supplier-item small { display:block; color:var(--muted); margin-top:3px; }.supplier-workspace { display:grid; gap:20px; }.import-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }.file-button { display:inline-flex!important; align-items:center; justify-content:center; cursor:pointer; }.import-actions select { flex:1 1 230px; }.check-label { display:flex!important; align-items:center; gap:8px!important; }.import-card { overflow:hidden; padding-top:12px; }.import-summary { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin:0 0 10px; }.import-summary>span { background:#edf2f3; border-radius:999px; padding:7px 10px; font-size:13px; font-weight:bold; }.prestige-price-tools { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-left:auto; }.prestige-web-toggle { min-height:36px; padding:7px 12px; border:1px solid #9badb5; border-radius:999px; background:#edf2f3; color:#29434f; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }.prestige-web-toggle.active { border-color:#2b5768; color:#fff; background:#2b5768; }.prestige-discount-tool { display:flex; align-items:center; overflow:hidden; border:1px solid #c8d2d6; border-radius:8px; background:#fff; }.prestige-discount-tool>span { padding:0 7px; color:#435a65; font-size:12px; }.prestige-discount-tool strong { min-width:28px; color:#ef6900; text-align:right; }.prestige-discount-tool button { width:36px; height:36px; padding:0; border:0; border-left:1px solid #c8d2d6; background:#edf2f3; color:#29434f; font-size:20px; font-weight:900; cursor:pointer; }.prestige-discount-tool button:first-of-type { border-right:1px solid #c8d2d6; border-left:0; }.prestige-discount-tool button:hover:not(:disabled),.prestige-web-toggle:hover { filter:brightness(.95); }.prestige-discount-tool button:disabled { opacity:.4; cursor:not-allowed; }.import-rows { display:grid; gap:8px; margin-top:16px; max-height:62vh; overflow:auto; padding-right:3px; }.import-row { display:grid; grid-template-columns:auto minmax(160px,1fr) minmax(120px,.65fr) minmax(120px,.65fr) minmax(180px,.9fr); align-items:center; gap:10px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#fff; }.import-row.muted { opacity:.58; }.import-row.error { border-color:#dca49e; background:#fff9f8; }.import-row strong { display:block; }.import-row small { display:block; color:var(--muted); margin-top:3px; }.import-row label { display:grid; gap:5px; font-size:12px; font-weight:bold; }.import-row select { min-width:0; border:1px solid #aebbc1; background:#fff; border-radius:6px; padding:8px; }.import-delta.up { color:#b34710; font-weight:bold; }.import-delta.same { color:var(--muted); }.import-confirm { display:flex; justify-content:flex-end; margin-top:18px; }.import-warning { margin:14px 0 0; padding:11px; border-left:4px solid var(--accent); background:#fff7ed; font-size:14px; }
.supplier-sidebar > .supplier-select { margin-top:0; }.supplier-heading { margin-top:22px; }.supplier-heading h2 { margin-bottom:0; }.supplier-create-form { margin-top:18px; }
.supplier-chooser-heading { display:none; margin-bottom:20px; }.supplier-chooser-heading h2 { margin-bottom:5px; }.supplier-layout.choosing-supplier { grid-template-columns:1fr; }.supplier-layout.choosing-supplier .supplier-sidebar { position:static; }.supplier-layout.choosing-supplier .supplier-chooser-heading { display:block; }.supplier-layout.choosing-supplier .supplier-list { grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:14px; }.supplier-layout.choosing-supplier .supplier-row { min-width:0; }.supplier-layout.choosing-supplier .supplier-item { min-height:92px; padding:18px; font-size:18px; box-shadow:0 2px 8px #17222b0b; }.supplier-layout.choosing-supplier .supplier-item:hover,.supplier-layout.choosing-supplier .supplier-item:focus { border-color:var(--accent); box-shadow:0 4px 15px #d2782630; outline:0; transform:translateY(-1px); }.supplier-layout.choosing-supplier .supplier-heading { max-width:420px; }
#perfil-importacion-panel { order:2; }.supplier-workspace > .import-card { order:1; }
.import-controls-footer { margin-top:22px; padding-top:20px; border-top:1px solid var(--line); }.import-controls-footer .ticket-heading { margin-bottom:0; }
.import-row.added { border-color:#9cccae; background:#f4fbf6; }.import-delta.added { color:#227446; font-weight:bold; }
.import-new-product-options { display:grid; gap:7px; align-content:start; }.import-new-product-options>small { line-height:1.3; }.import-row .import-manual-toggle { display:flex!important; flex-direction:row!important; grid-template-columns:none!important; align-items:center!important; justify-content:flex-start; gap:8px!important; width:100%; margin:6px 0 0; color:#75400f; line-height:1.25; cursor:pointer; }.import-row .import-manual-toggle input[type="checkbox"] { display:inline-block; flex:0 0 17px; width:17px; min-width:17px; height:17px; margin:0; padding:0; accent-color:var(--accent); }.import-row .import-manual-toggle span { display:inline-block; min-width:0; }.import-manual-price input { width:100%; min-width:0; padding:8px; border:1px solid #aebbc1; border-radius:6px; background:#fff; }.import-final-price { display:block; margin-top:6px; color:#17603f!important; line-height:1.35; }.import-final-price.manual { color:#8a4309!important; }
.import-delta { font-weight:800; }.import-delta.down { color:#17603f; }.import-delta.same { color:#435a65; }.import-percent { font-weight:900; }.import-price { color:#17603f; font-weight:900; font-size:1.08em; }.import-final-price { font-weight:700; }.import-sheet-group { display:grid; gap:8px; }.import-sheet-heading { position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center; gap:12px; margin:6px 0 0; padding:9px 12px; border-left:4px solid var(--accent); border-radius:6px; background:#edf2f3; color:var(--ink); font-size:15px; }.import-sheet-heading small { color:var(--muted); font-size:12px; font-weight:700; }
.supplier-row { display:flex; gap:7px; align-items:stretch; }.supplier-row .supplier-item { flex:1; }.supplier-row.active .supplier-item { border-color:var(--accent); color:#fff; background:var(--accent); box-shadow:0 2px 7px #9f571f40; }.supplier-row.active .supplier-item small { color:#fff; }.supplier-row.active .supplier-item:hover,.supplier-row.active .supplier-item:focus { background:#ad5b16; outline:0; }.supplier-row .button { min-height:0; padding:8px; }.import-sample { margin-top:16px; border:1px solid var(--line); border-radius:8px; padding:12px; background:#f8fafb; font-size:13px; }.import-sample code { display:block; margin-top:7px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--muted); }
.automatic-source { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0 0; padding:16px; border:1px solid var(--line); border-radius:9px; background:#f8fbfc; }.automatic-source h3,.automatic-source .helper,.automatic-source > label:first-of-type { grid-column:1 / -1; margin:0; }.automatic-source label { display:grid; gap:6px; font-weight:bold; font-size:14px; }.automatic-source input[type="url"] { border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; }.automatic-source .profile-actions { grid-column:1 / -1; }.notifications-dialog { width:min(640px,calc(100vw - 28px)); }.notification-list { display:grid; gap:9px; max-height:55vh; overflow:auto; }.notification-row { padding:12px; border:1px solid var(--line); border-radius:8px; background:#f8fafb; }.notification-row.unread { border-left:4px solid var(--accent); background:#fffaf5; }.notification-row p,.notification-row small { display:block; margin:5px 0 0; color:var(--muted); font-size:14px; }.notification-row small { font-size:12px; }
@media (max-width:900px) { .supplier-layout { grid-template-columns:1fr; }.supplier-sidebar { position:static; }.topbar-status { margin-left:0; } }
@media (max-width:520px) { .import-row { grid-template-columns:auto 1fr; }.import-row > :not(:first-child) { grid-column:2; } }
@media (max-width:520px) { .product-price-preview-grid { grid-template-columns:1fr; } }
@media (max-width:520px) { .automatic-source { grid-template-columns:1fr; }.topbar-status .notification-button { font-size:12px; }.topbar-status { gap:5px; } }
.automatic-source select { border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; min-width:0; }
.notifications-dialog .notification-select-all { display:flex; align-items:center; gap:8px; margin:0 0 10px; font-size:14px; font-weight:bold; }.notifications-dialog .notification-row { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }.notifications-dialog .notification-check { display:flex; align-items:flex-start; gap:9px; flex:1; cursor:pointer; }.notifications-dialog .notification-select-all input,.notifications-dialog .notification-check input { appearance:auto; width:16px; height:16px; min-width:16px; padding:0!important; margin:2px 0 0; border:1px solid #87979e; border-radius:3px; background:initial; }.notification-delete-one { flex:0 0 auto; color:#9d342a; }
.outlook-source { grid-column:1 / -1; border-top:1px solid var(--line); padding-top:12px; }.outlook-source summary { cursor:pointer; color:#075f8e; font-weight:bold; }.outlook-source[open] { display:grid; grid-template-columns:1fr 1fr; gap:12px; }.outlook-source[open] summary,.outlook-source .helper,.outlook-source .profile-actions { grid-column:1 / -1; }.outlook-source label { display:grid; gap:6px; font-size:14px; font-weight:bold; }.outlook-source input { border:1px solid #aebbc1; padding:11px; border-radius:7px; background:#fff; }
.import-cache-meta { margin:10px 0; padding:10px 12px; border-left:4px solid var(--accent); border-radius:4px; background:#fff7ed; color:#593313; font-weight:700; overflow-wrap:anywhere; }
.import-progress { display:grid; grid-template-columns:minmax(100px, 1fr) auto; gap:10px; align-items:center; margin:12px 0; padding:10px 12px; border:1px solid var(--line); border-radius:8px; background:#f5f8f9; color:var(--muted); font-size:14px; }
.import-progress[hidden] { display:none; }
.import-progress-bar { height:8px; border-radius:999px; background:linear-gradient(90deg,#d4e0e4 0%,#d4e0e4 25%,#2b5768 45%,#d4e0e4 65%,#d4e0e4 100%); background-size:200% 100%; animation:importProgress 1.15s linear infinite; }
.source-scan-progress { display:grid; gap:7px; margin-top:10px; color:#2b5768; font-size:13px; }.source-scan-progress[hidden] { display:none; }.source-scan-track { height:10px; overflow:hidden; border-radius:999px; background:#dbe5e8; }.source-scan-fill { width:0; height:100%; border-radius:inherit; background:#2b5768; transition:width .35s ease; }
@keyframes importProgress { to { background-position:-200% 0; } }
@media (max-width: 640px) { .import-progress { grid-template-columns:1fr; } }
dialog[open] .toast { z-index:9999; }
.point-technical-response { box-sizing:border-box; width:100%; max-width:100%; max-height:220px; margin:8px 0 0; padding:10px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; word-break:break-word; border:1px solid var(--line); border-radius:7px; background:#f5f8f9; font:12px/1.45 ui-monospace, SFMono-Regular, Consolas, monospace; }
.online.disconnected { color:#ffc4bb; }.online.disconnected i { background:#e16b5e; box-shadow:0 0 0 3px #e16b5e33; }.online.reconnecting i { background:#e5ae48; animation:connectionPulse 1s ease-in-out infinite; }@keyframes connectionPulse { 50% { opacity:.35; transform:scale(.72); } }
.invoice-history-detail { margin-top:12px; padding:12px; border:1px solid var(--line); border-radius:9px; background:#f8fbfc; color:var(--ink); font-size:14px; }.invoice-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:12px; }.invoice-detail-lines { margin:7px 0 0; padding-left:18px; }.invoice-detail-lines li { margin:5px 0; }.invoice-detail-lines span { white-space:nowrap; }@media (max-width:650px) { .invoice-detail-grid { grid-template-columns:1fr; } }
.installment-calculator { margin-top:18px; padding:15px; border:1px solid var(--line); border-radius:9px; background:#f8fbfc; }.installment-heading { display:flex; align-items:start; justify-content:space-between; gap:10px; }.installment-heading h3 { margin:0; font-size:17px; }.installment-heading .eyebrow { margin-bottom:3px; }.installment-switch { display:flex; gap:5px; flex-wrap:wrap; justify-content:flex-end; }.installment-switch .catalog-filter { padding:6px 9px; }.installment-switch .catalog-filter.selected-mode,.installment-switch .catalog-filter.selected-mode:hover { color:#fff; background:var(--accent); outline:0; }.installment-cash { margin:13px 0 0; font-size:15px; }.installment-rates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }.installment-rates label { display:grid; gap:4px; font-weight:bold; font-size:12px; }.installment-rates input { min-width:0; border:1px solid #aebbc1; border-radius:6px; padding:8px; background:#fff; }.installment-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:12px; }.installment-option { display:grid; grid-template-columns:1fr auto; gap:3px 8px; padding:10px; border:1px solid #dbe4e7; border-radius:7px; background:#fff; }.installment-option span { font-weight:bold; color:#0a4b38; text-align:right; }.installment-option small { grid-column:1 / -1; color:var(--muted); }.installment-option.muted { opacity:.72; }.installment-note { margin:11px 0 0; }@media (max-width:520px) { .installment-heading { display:grid; }.installment-switch { justify-content:flex-start; }.installment-rates,.installment-options { grid-template-columns:1fr; } }
.stock-add input { width:126px; min-height:44px; padding:8px 7px; font-size:16px; cursor:pointer; }.stock-add input::-webkit-inner-spin-button { width:24px; min-height:38px; opacity:1; cursor:pointer; }.stock-add input::-moz-number-spin-box { cursor:pointer; }
.checkout-total-amounts { display:flex; flex-direction:column; align-items:flex-end; gap:2px; line-height:1.08; }.checkout-cash-total { color:#7b878d; font-size:15px; font-weight:600; text-decoration:line-through; text-decoration-color:#7b878d; text-decoration-thickness:1.5px; }.checkout-cash-total[hidden] { display:none; }.checkout-price-note { margin:0; text-align:right; color:var(--muted); font-size:13px; }.payment-status { display:flex; align-items:baseline; gap:6px; width:fit-content; max-width:100%; margin:7px 0 0 auto; padding:7px 11px; border:1px solid transparent; border-radius:999px; font-size:14px; font-weight:500; line-height:1.2; }.payment-status strong { font-size:15px; font-weight:900; letter-spacing:.2px; }.payment-status span { font-weight:500; }.payment-status-cash { color:#17603f; background:#e8f6ee; border-color:#b9dfc9; }.payment-status-debit { color:#075b83; background:#e7f4fa; border-color:#afd6e8; }.payment-status-credit { color:#8a4309; background:#fff1e2; border-color:#efc08f; }.payment-status-transfer { color:#5a4385; background:#f1edfa; border-color:#cfc3e9; }.installment-option { width:100%; border:1px solid #dbe4e7; font:inherit; text-align:left; cursor:pointer; }.installment-option:hover { border-color:#d8781d; }.installment-option.selected { border:2px solid #d8781d; background:#fff9f2; }.installment-option.selected span { color:#8a4309; }
.quantity { width:82px; min-height:46px; }.quantity::-webkit-inner-spin-button { width:24px; min-height:38px; cursor:pointer; }
.weight-dialog { width:min(480px,calc(100vw - 28px)); }.weight-presets { display:grid; grid-template-columns:repeat(3,1fr); gap:9px; margin:16px 0; }.weight-presets:has(#agregar-unidad-producto:not([hidden])) { grid-template-columns:repeat(2,1fr); }.weight-custom { display:grid; gap:7px; font-weight:700; }.weight-custom input { width:100%; min-height:48px; padding:10px 12px; border:1px solid #aebbc1; border-radius:8px; font-size:18px; }.weight-total { margin:16px 0 0; padding:12px; border-radius:8px; background:#eef5f2; color:#0a4b38; text-align:right; font-size:20px; font-weight:900; }@media (max-width:420px) { .weight-presets,.weight-presets:has(#agregar-unidad-producto:not([hidden])) { grid-template-columns:1fr; } }
.point-ticket-qr { min-height:38mm; margin:4mm 0; text-align:center; }.point-ticket-qr img { display:inline-block; width:38mm; height:38mm; padding:1mm; background:#fff; image-rendering:pixelated; }.point-ticket-qr span { display:inline-grid; place-items:center; width:38mm; height:38mm; border:1px dashed #000; font-size:9px; }
.point-ticket-image-preview { width:58mm; max-width:100%; flex:0 0 auto; background:#fff; border:1px solid #9ca8ad; box-shadow:0 4px 14px #17222b35; }
.point-ticket-image-preview img { display:block; width:100%; height:auto; image-rendering:pixelated; }
#ticket-cobro-dialog { width:min(500px,calc(100vw - 28px)); }
#ticket-cobro-dialog .ticket-preview-stage { width:min(100%,390px); margin-inline:auto; padding:18px; }
.login-page { min-height:100vh; background:linear-gradient(135deg,#0d151c 0%,#172731 58%,#263d47 100%); display:grid; place-items:center; padding:24px; }.login-shell { width:min(940px,100%); min-height:560px; margin:0; padding:0; display:grid; grid-template-columns:1.05fr .95fr; overflow:hidden; border-radius:20px; background:#fff; box-shadow:0 24px 70px #0007; }.login-brand-panel { padding:54px; color:#fff; background:linear-gradient(145deg,#111820,#294652); display:flex; flex-direction:column; justify-content:space-between; }.login-brand { display:flex; align-items:center; gap:14px; font:24px/1 "Arial Black",Arial,sans-serif; letter-spacing:.4px; }.login-brand img { width:58px; height:58px; object-fit:contain; filter:invert(1) contrast(2); }.login-brand-copy h1 { margin:0 0 14px; font-size:38px; line-height:1.08; }.login-brand-copy p { margin:0; max-width:36ch; color:#d9e5e8; line-height:1.55; }.login-brand-panel>small { color:#9fb1b8; }.login-form-panel { display:grid; align-content:center; padding:58px; }.login-form-panel .eyebrow { color:#9a571b; }.login-form-panel h2 { margin-bottom:9px; font-size:29px; }.login-intro { margin-bottom:28px; color:var(--muted); line-height:1.45; }.login-form { display:grid; gap:17px; }.login-form label { display:grid; gap:7px; font-weight:700; }.login-form input { width:100%; min-height:49px; padding:11px 13px; border:1px solid #aebbc1; border-radius:8px; background:#fff; outline:0; }.login-form input:focus { border-color:var(--accent); box-shadow:0 0 0 3px #d2782630; }.login-form .button { margin-top:4px; }.login-error { min-height:20px; margin:0; color:var(--danger); font-size:14px; font-weight:700; }.login-error:empty { min-height:0; }.login-security { margin:20px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }@media (max-width:720px) { .login-shell { grid-template-columns:1fr; min-height:0; }.login-brand-panel { min-height:190px; padding:30px; }.login-brand-copy h1 { font-size:28px; margin-top:30px; }.login-brand-copy p,.login-brand-panel>small { display:none; }.login-form-panel { padding:34px 28px 38px; } }
.ticket-zoom-controls { margin:-5px 0 10px; }
.factura-dialog { width:min(620px,calc(100vw - 28px)); max-height:calc(100vh - 28px); padding:26px; overflow:auto; }
.factura-dialog .factura-actions { display:grid; grid-template-columns:1fr 1fr; }
.invoice-result-heading { display:grid; gap:7px; }
.invoice-result-heading p,.invoice-result-heading h2 { display:flex; align-items:center; gap:9px; margin:0; }
.invoice-result-heading p { font-size:14px; font-weight:700; }
.invoice-result-heading span { display:inline-grid; place-items:center; flex:0 0 auto; width:23px; height:23px; border-radius:50%; color:#fff; font-size:15px; font-weight:800; line-height:1; }
.invoice-result-heading h2 span { width:27px; height:27px; font-size:17px; }
.invoice-result-ok { color:var(--good); }
.invoice-result-ok span { background:var(--good); }
.invoice-result-error { color:var(--danger); }
.invoice-result-error span { background:var(--danger); }
.invoice-result-heading-compact { margin:14px 0; padding:12px 14px; border:1px solid var(--line); border-radius:10px; background:#f8fafb; }
.invoice-format-picker { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; padding:0; border:0; }
.invoice-format-picker legend { grid-column:1 / -1; margin-bottom:8px; font-weight:700; }
.invoice-format-card { position:relative; display:grid!important; grid-template-columns:auto 1fr; align-items:center; gap:14px!important; min-width:0; padding:14px; border:2px solid var(--line); border-radius:12px; background:#f8fafb; cursor:pointer; }
.invoice-format-card:hover { border-color:#9babb2; }
.invoice-format-card:has(input:checked) { border-color:var(--accent); background:#fff8f1; box-shadow:0 0 0 3px #d2782624; }
.invoice-format-card input { position:absolute; top:10px; right:10px; width:18px; height:18px; accent-color:var(--accent); }
.invoice-format-card > span:last-child { display:grid; gap:4px; }
.invoice-format-card small { color:var(--muted); font-weight:normal; }
.invoice-format-visual { position:relative; display:block; flex:0 0 auto; background:#fff; border:1px solid #91a0a7; box-shadow:0 3px 8px #17222b24; overflow:hidden; }
.invoice-format-visual.a4 { width:84px; height:112px; }
.invoice-format-visual.ticket { width:84px; height:112px; border-bottom-style:dashed; }
.invoice-format-visual.a4 iframe { width:794px; height:1123px; border:0; pointer-events:none; transform:scale(.1058); transform-origin:top left; }
.invoice-format-visual.ticket img { display:block; width:100%; height:100%; object-fit:contain; object-position:top center; image-rendering:auto; }
.invoice-thumbnail-loading,.invoice-thumbnail-error { display:grid; place-items:center; width:100%; height:100%; padding:4px; color:var(--muted); font-size:10px; text-align:center; }
.invoice-format-visual i { display:block; height:3px; margin:10px 8px 0; background:#aab5ba; border-radius:2px; }
.invoice-format-visual i:nth-child(2) { width:60%; margin-top:7px; }
.invoice-format-visual i:nth-child(3) { margin-top:12px; }
.invoice-format-visual b { position:absolute; left:8px; bottom:8px; width:18px; height:18px; background:repeating-conic-gradient(#17222b 0 25%,#fff 0 50%) 50% / 4px 4px; }
.invoice-format-visual.a4 b { left:auto; right:8px; }
.invoice-history-actions { margin-top:10px; display:flex; flex-wrap:wrap; gap:7px; }
.invoice-arca-error { margin:7px 0; padding:8px 10px; border-left:4px solid var(--danger); background:#fff3f1; color:#8d2d25; font-size:13px; line-height:1.35; }
@media (max-width:520px) { .invoice-format-picker,.factura-dialog .factura-actions { grid-template-columns:1fr; }.invoice-format-card { grid-template-columns:82px 1fr; } }
@media (max-width:520px) { .cart-head,.cart-line { grid-template-columns:minmax(0,1fr) 66px 82px 34px; }.cart-line .remove { width:30px; height:32px; min-height:32px; } }
@media (max-width:520px) { .cart-line-mixed,.cart-line-weight { grid-template-columns:minmax(0,1fr) 82px 34px; }.cart-line-mixed .mixed-quantity-control,.cart-line-weight .mixed-quantity-control { grid-column:1 / -1; grid-row:2; }.cart-line-mixed .line-total,.cart-line-weight .line-total { grid-column:2; grid-row:1; }.cart-line-mixed .remove,.cart-line-weight .remove { grid-column:3; grid-row:1; }.mixed-mode-toggle button,.cart-weight-presets button { font-size:11px; padding:7px 5px; } }
.installment-calculator { scroll-margin-top:16px; }
.import-row strong { color:#000; }
.import-rows { container-type:inline-size; gap:12px; padding:4px 7px 4px 3px; }
.import-row { position:relative; min-height:108px; padding:45px 14px 12px; gap:10px; border-color:#d5e0e4; border-radius:11px; box-shadow:0 2px 8px #20343e0a; transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .2s ease; }
.import-row,.catalog-row { content-visibility:auto; contain-intrinsic-size:auto 122px; }
.import-virtual-spacer { width:1px; min-height:0; pointer-events:none; }
.import-pagination-status { margin:0; padding:8px 11px; border-radius:7px; color:var(--muted); background:#f7fafb; font-size:14px; }
.import-confirm { align-items:center; justify-content:space-between; gap:14px; }
.import-confirm .button { margin-left:auto; }
@media (max-width:620px) { .import-confirm { align-items:stretch; flex-direction:column; }.import-confirm .button { width:100%; margin-left:0; }.import-pagination-status { text-align:center; } }
.import-row:hover { border-color:#9fb4bc; box-shadow:0 6px 18px #20343e14; transform:translateY(-1px); }
.import-row:has(> input[data-import-select]:checked) { border-color:#d27826; background:#fffaf5; box-shadow:0 0 0 3px #d2782620,0 6px 18px #20343e12; }
.import-row > input[type="checkbox"] { appearance:auto; width:19px; height:19px; min-width:19px; margin:0; accent-color:var(--accent); cursor:pointer; }
.import-row > input[type="checkbox"]:focus-visible { outline:3px solid #d2782645; outline-offset:3px; }
.import-row > div:first-of-type > strong { margin-bottom:6px; font-size:15px; line-height:1.22; }
.import-row label { gap:7px; color:#29434f; font-size:12px; letter-spacing:.01em; }
.import-row select,.import-row input[type="text"],.import-row input[type="number"] { min-height:40px; border-color:#b8c7cd; border-radius:9px; padding:9px 11px; color:#172830; background:#fbfcfc; font-weight:650; }
.import-row select:hover { border-color:#7895a1; background:#fff; }
.import-row select:focus,.import-row input:focus { border-color:#d27826; outline:3px solid #d2782625; }
.import-row.decision-row { grid-template-columns:24px minmax(220px,1fr) minmax(180px,.48fr); grid-template-areas:"select product decision"; align-items:center; }
.import-row.decision-row > input { grid-area:select; }
.import-row.decision-row > .import-product-data { grid-area:product; }
.import-row.decision-row > .import-category-control { grid-area:category; width:100%; }
.import-row.decision-row > .import-new-product-options { grid-area:decision; }
.import-row.decision-row.expanded { grid-template-columns:24px minmax(240px,1.1fr) minmax(180px,.72fr) minmax(180px,.72fr); grid-template-areas:"select product category decision"; align-items:start; }
.import-row .import-new-product-options { min-height:0; align-content:center; padding:8px 10px; border:1px solid #e0e8eb; border-radius:9px; background:#f7fafb; }
.import-row .import-new-product-options > .import-delta.up { display:inline-flex; width:max-content; max-width:100%; padding:6px 10px; border-radius:999px; color:#a9490e; background:#ffead9; font-size:13px; }
.import-row.existing { grid-template-columns:24px minmax(190px,1.2fr) minmax(155px,.85fr) minmax(135px,.72fr) minmax(155px,.8fr); }
.import-row.error,.import-row.added { align-items:center; }
.import-row .import-pdf-view { min-height:37px; padding:7px 14px; border-radius:9px; box-shadow:0 2px 5px #24414d26; }
.import-row:has(> .import-product-thumb) { min-height:132px; padding-left:122px; }
.import-product-thumb { position:absolute; left:14px; top:47px; display:grid; place-items:center; width:92px; height:72px; overflow:hidden; border:1px solid #d9e2e5; border-radius:10px; background:#fff; box-shadow:0 2px 7px #20343e14; }
.import-product-thumb img { display:block; width:100%; height:100%; object-fit:contain; }
.import-product-summary,.import-product-copy { min-width:0; }
.import-product-copy > strong { display:block; margin-bottom:6px; font-size:15px; line-height:1.22; }
@container (max-width:820px) {
  .import-row.decision-row,.import-row.decision-row.expanded { grid-template-columns:24px minmax(0,1fr) minmax(200px,.72fr); grid-template-areas:"select product decision" ". category decision"; align-items:start; }
  .import-row.existing { grid-template-columns:24px minmax(0,1fr) minmax(145px,.72fr); }
  .import-row.existing > :nth-child(n+4) { grid-column:2 / -1; }
}
@container (max-width:540px) {
  .import-row.decision-row,.import-row.decision-row.expanded { grid-template-columns:24px minmax(0,1fr); grid-template-areas:"select product" ". category" ". decision"; }
  .import-row.existing { grid-template-columns:24px minmax(0,1fr); }
  .import-row.existing > :not(.prestige-source-badge):not(:first-of-type) { grid-column:2; }
  .prestige-source-badge { left:12px; right:auto; max-width:calc(100% - 24px); }
  .import-row:has(> .import-product-thumb) { padding-left:96px; }
  .import-product-thumb { left:12px; width:70px; height:62px; }
}
.import-price-iva { color:#2d4e5c; font-weight:700; }
.prestige-web-price { color:#e96800; font-size:1.08em; font-weight:900; }.prestige-iva-line { color:#000; font-weight:900; }.prestige-iva-price { display:inline!important; color:#000; font-size:1.08em; font-weight:900; }.prestige-iva-price.discounted { color:#16834f; }.comsa-list-price { color:#e96800; }.pereira-iva-line,.pereira-iva-line .prestige-iva-price { color:#16834f; font-weight:900; }.import-row.source-meta-row { position:relative; padding-top:45px; }.prestige-source-badge { position:absolute; top:8px; right:10px; max-width:calc(100% - 24px); overflow:hidden; padding:6px 10px; border-radius:999px; color:#fff; background:#2b5768; font-size:11px; font-weight:800; line-height:1.1; text-overflow:ellipsis; white-space:nowrap; pointer-events:none; }

/* Listas sube como bloque, pero conserva la misma jerarquía visual del resto de las pantallas. */
#proveedores { margin-top:-22px; }
#proveedores > .screen-title { align-items:end; margin-bottom:14px; }
#proveedores > .screen-title > div { display:block; }
#proveedores > .screen-title .eyebrow { margin:0 0 5px; }
#proveedores > .screen-title h1 { font-size:32px; }
#actualizar-proveedores { display:none!important; }

/* Con un proveedor elegido, la revisión ocupa el espacio libre a la derecha
   del título en vez de comenzar recién debajo de él. */
#proveedores .supplier-layout:not(.choosing-supplier) .supplier-workspace { margin-top:-71px; }
@media (max-width:520px) {
  #proveedores { margin-top:-14px; }
  #proveedores > .screen-title { align-items:start; }
  #proveedores > .screen-title h1 { font-size:27px; }
}
@media (max-width:900px) {
  #proveedores .supplier-layout:not(.choosing-supplier) .supplier-workspace { margin-top:0; }
}
.import-rows .import-row.muted { opacity:1; }
.prestige-discount-fix { min-height:36px; padding:7px 12px; border:1px solid #9badb5; border-radius:8px; color:#29434f; background:#edf2f3; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }.prestige-discount-fix:hover { filter:brightness(.95); }.prestige-discount-fix.fixed { border-color:#17603f; color:#fff; background:#17603f; }
.import-pdf-view { margin-top:7px; opacity:1!important; color:#fff!important; background:#2d4e5c!important; border:1px solid #24414d!important; }
.import-pdf-view:hover:not(:disabled) { background:#1f3d4a!important; }
.import-pdf-dialog { width:min(1120px,96vw); height:calc(100dvh - 24px); min-width:min(560px,calc(100vw - 16px)); min-height:min(360px,calc(100dvh - 16px)); max-width:none; max-height:calc(100dvh - 16px); padding:0; overflow:hidden; }
.import-pdf-dialog[open] { display:flex; flex-direction:column; }
.import-pdf-dialog .dialog-title { flex:0 0 auto; margin:0; padding:18px 22px 14px; align-items:center; }
.import-pdf-dialog .dialog-title h2 { font-size:21px; line-height:1.15; }
.import-pdf-dialog .dialog-title .eyebrow { margin-bottom:4px; }
.import-pdf-dialog #cerrar-import-pdf { color:#fff; background:#b52f27; box-shadow:0 3px 10px #8f211f55; cursor:pointer; font-weight:800; }
.import-pdf-dialog #cerrar-import-pdf:hover { background:#d43a30; transform:scale(1.06); }
.import-pdf-frame { display:block; width:100%; height:min(70dvh,700px); min-height:300px; flex:1 1 auto; border:0; border-top:1px solid var(--line); background:#eef2f3; }
.preview-resize-handle { position:absolute; z-index:10; display:block; touch-action:none; user-select:none; }
.preview-resize-handle.north,.preview-resize-handle.south { left:12px; right:12px; height:10px; cursor:ns-resize; }
.preview-resize-handle.east,.preview-resize-handle.west { top:12px; bottom:12px; width:10px; cursor:ew-resize; }
.preview-resize-handle.north { top:-3px; }.preview-resize-handle.east { right:-3px; }.preview-resize-handle.south { bottom:-3px; }.preview-resize-handle.west { left:-3px; }
.preview-resize-handle.north-east,.preview-resize-handle.south-east,.preview-resize-handle.south-west,.preview-resize-handle.north-west { width:18px; height:18px; }
.preview-resize-handle.north-east { top:-3px; right:-3px; cursor:nesw-resize; }.preview-resize-handle.south-east { right:-3px; bottom:-3px; cursor:nwse-resize; }.preview-resize-handle.south-west { bottom:-3px; left:-3px; cursor:nesw-resize; }.preview-resize-handle.north-west { top:-3px; left:-3px; cursor:nwse-resize; }
.import-pdf-dialog.resizing,.import-pdf-dialog.resizing * { user-select:none; }
.import-pdf-dialog.resizing .import-pdf-frame { pointer-events:none; }
.innova-pdf-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 0; }
.innova-pdf-summary div { display:grid; gap:4px; }
.innova-pdf-summary small { color:var(--muted); }
@media (max-width:620px) { .innova-pdf-summary { align-items:stretch; flex-direction:column; }.innova-pdf-summary .button { width:100%; } }
@media (max-width:700px) { .import-pdf-dialog { width:calc(100vw - 16px); height:calc(100dvh - 16px); min-width:0; max-height:calc(100dvh - 16px); }.import-pdf-dialog .dialog-title { padding:14px 16px 11px; }.import-pdf-frame { height:min(66dvh,620px); min-height:240px; } }

/* Transición del selector en mosaico al espacio de listas del proveedor. */
.supplier-layout { display:flex; gap:25px; align-items:flex-start; transition:gap .42s cubic-bezier(.22,.8,.25,1); }
.supplier-sidebar { flex:0 0 clamp(260px,30%,370px); min-width:0; transition:flex-basis .42s cubic-bezier(.22,.8,.25,1); }
.supplier-workspace { flex:1 1 0; min-width:0; opacity:1; transform:translateX(0); transition:opacity .32s ease .08s,transform .42s cubic-bezier(.22,.8,.25,1); }
.supplier-item { transition:border-color .25s ease,box-shadow .25s ease,transform .25s ease,background-color .25s ease; }
.supplier-layout.choosing-supplier { gap:0; }
.supplier-layout.choosing-supplier .supplier-sidebar { flex-basis:100%; }
.supplier-layout.choosing-supplier .supplier-workspace { flex:0 1 0; width:0; opacity:0; transform:translateX(20px); overflow:hidden; }
.supplier-layout:not(.choosing-supplier) .supplier-row { animation:supplierCardSettle .38s cubic-bezier(.22,.8,.25,1) both; }
.supplier-layout .supplier-row.active .supplier-item { border-color:var(--accent); color:#fff; background:var(--accent); box-shadow:0 3px 12px #9f571f55; }
.supplier-layout .supplier-row.active .supplier-item small { color:#fff; }
.supplier-layout .supplier-row.active .supplier-item:hover,.supplier-layout .supplier-row.active .supplier-item:focus { border-color:#ad5b16; color:#fff; background:#ad5b16; }
@keyframes supplierCardSettle { from { opacity:.65; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
@media (max-width:900px) {
  .supplier-layout { flex-direction:column; }
  .supplier-sidebar,.supplier-layout.choosing-supplier .supplier-sidebar { position:static; flex:0 0 auto; width:100%; }
  .supplier-workspace { width:100%; }
}
@media (prefers-reduced-motion:reduce) {
  .supplier-sidebar,.supplier-workspace,.supplier-item { transition:none; }
  .supplier-layout:not(.choosing-supplier) .supplier-row { animation:none; }
}
.import-section-title { position:sticky; top:0; z-index:3; padding:10px 14px; border-radius:9px; color:#fff; background:#2b5768; box-shadow:0 3px 9px #20343e24; font-size:14px; font-weight:900; letter-spacing:.02em; text-transform:uppercase; }
