:root{--text:#52525b;--text-secondary:#71717a;--text-muted:#a1a1aa;--text-h:#18181b;--bg:#f7f8fa;--surface:#fff;--surface-raised:#fff;--border:#e4e4e7;--accent:#7c3aed;--accent-strong:#6d28d9;--accent-contrast:#fff;--accent-pastel-bg:#f5f3ff;--accent-pastel-text:#6d28d9;--accent-border:#ddd6fe;--success:#16a34a;--success-pastel-bg:#f0fdf4;--warning:#d97706;--warning-pastel-bg:#fffbeb;--danger:#dc2626;--danger-pastel-bg:#fef2f2;--table-header-bg:#f5f3ff;--table-row-hover:#f4f4f5;--shadow:#18181b14 0 1px 8px, #18181b1a 0 6px 16px -8px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{font:15px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{color:var(--text-h);margin:0 0 16px;font-weight:600}h1{font-size:24px}h2{font-size:18px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{background:var(--surface);border-bottom:1px solid var(--border);box-shadow:var(--shadow);z-index:10;align-items:center;gap:24px;padding:14px 24px;display:flex;position:sticky;top:0}.topbar .brand{color:var(--text-h);letter-spacing:-.01em;font-size:16px;font-weight:700}.topbar nav{flex:1;align-items:center;gap:4px;display:flex}.topbar nav a{color:var(--text-secondary);border-radius:6px;padding:6px 10px;font-size:14px;font-weight:500}.topbar nav a:hover{color:var(--text-h);background:var(--table-row-hover);text-decoration:none}.topbar .company-badge{color:var(--accent-pastel-text);background:var(--accent-pastel-bg);border-radius:999px;margin-left:auto;padding:5px 12px;font-size:13px;font-weight:500}.user-menu{margin-left:auto;position:relative}.user-menu-trigger{color:var(--text-h);background:0 0;border:1px solid #0000;align-items:center;gap:8px;padding:6px 10px;font-size:13px;font-weight:500;display:flex}.user-menu-trigger:hover{background:var(--table-row-hover);border-color:var(--border)}.user-menu-trigger i{color:var(--text-muted);font-size:11px}.user-menu-name{text-overflow:ellipsis;white-space:nowrap;max-width:200px;overflow:hidden}.user-menu-dropdown{background:var(--surface);border:1px solid var(--border);min-width:220px;box-shadow:var(--shadow);z-index:20;border-radius:10px;flex-direction:column;gap:2px;padding:8px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.user-menu-info{flex-direction:column;gap:2px;padding:6px 8px 8px;display:flex}.user-menu-info strong{color:var(--text-h);font-size:13px}.user-menu-info span{color:var(--text-muted);font-size:12px}.user-menu-dropdown hr{border:none;border-top:1px solid var(--border);width:100%;margin:4px 0}.user-menu-dropdown a,.user-menu-dropdown button{text-align:left;color:var(--text);background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px;font-size:13px;display:flex}.user-menu-dropdown a:hover,.user-menu-dropdown button:hover{background:var(--table-row-hover);text-decoration:none}.page{flex:1;width:100%;max-width:960px;margin:0 auto;padding:32px 24px}.page-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-header h1{margin:0}button,.button{font:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface-raised);color:var(--text);border-radius:7px;padding:8px 14px;font-weight:500;transition:background .12s,border-color .12s,transform 50ms}.button{align-items:center;gap:6px;display:inline-flex}button:hover,.button:hover{background:var(--table-row-hover);border-color:color-mix(in srgb, var(--border) 60%, var(--text-muted));text-decoration:none}button:active,.button:active{transform:translateY(1px)}button.primary,.button.primary{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}button.primary:hover,.button.primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-contrast)}button.danger,.button.danger{color:var(--danger);border-color:var(--danger);background:0 0}button:disabled{opacity:.5;cursor:not-allowed}form.card,div.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:12px;margin-bottom:20px;padding:20px;display:flex}form.card.narrow{max-width:360px}label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:13px;display:flex}input,select{font:inherit;border:1px solid var(--border);background:var(--surface);color:var(--text-h);border-radius:6px;padding:8px 10px}input::placeholder{color:var(--text-muted)}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-pastel-bg);outline:none}input[type=checkbox],input[type=radio]{accent-color:var(--accent)}.form-row{flex-wrap:wrap;gap:12px;display:flex}.form-row>*{flex:1;min-width:160px}.item-row{align-items:flex-end;gap:8px;display:flex}.item-row>label{flex:1;min-width:100px}table.data-table{border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:100%}.data-table thead tr:first-child th:first-child{border-top-left-radius:10px}.data-table thead tr:first-child th:last-child{border-top-right-radius:10px}.data-table tbody tr:last-child td:first-child{border-bottom-left-radius:10px}.data-table tbody tr:last-child td:last-child{border-bottom-right-radius:10px}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:10px 14px;font-size:14px}.data-table th{background:var(--table-header-bg);color:var(--accent-pastel-text);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.data-table tbody tr:hover{background:var(--table-row-hover)}.data-table tbody tr:last-child td{border-bottom:none}.dashboard-page{max-width:1200px;padding-top:24px}.dashboard-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.dashboard-header h1{text-transform:uppercase;letter-spacing:.01em;margin:0 0 4px;font-size:20px}.dashboard-subtitle{color:var(--text-muted);margin:0;font-size:13px}.stat-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:28px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:4px;padding:16px;display:flex}.stat-card .section-label{margin-bottom:4px}.stat-value{color:var(--text-h);font-size:26px;font-weight:700;line-height:1.1}.stat-sub{color:var(--text-muted);font-size:12px}.quick-actions{flex-wrap:wrap;gap:10px;margin-bottom:28px;display:flex}.dashboard-activity-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.dashboard-see-all{font-size:13px;font-weight:500}.table-scroll{overflow-x:auto}.empty-state{background:var(--surface);border:1px dashed var(--border);color:var(--text-muted);border-radius:10px;flex-direction:column;align-items:flex-start;gap:12px;padding:28px 20px;display:flex}@media (width<=900px){.stat-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.dashboard-header{flex-direction:column}.stat-grid{grid-template-columns:1fr}.quick-actions{flex-direction:column}.quick-actions .button{justify-content:center}}.badge{background:var(--table-row-hover);color:var(--text);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-block}.badge.authorized{color:var(--success);background:var(--success-pastel-bg)}.badge.rejected{color:var(--danger);background:var(--danger-pastel-bg)}.badge.failed{color:var(--text-muted);background:var(--table-row-hover);border:1px solid var(--border)}.badge.draft{color:var(--accent-strong);background:var(--accent-pastel-bg);border:1px solid var(--accent-border)}.badge.processing,.badge.xml_built,.badge.signed,.badge.sent_reception{color:var(--warning);background:var(--warning-pastel-bg)}.badge.pos-badge{color:var(--accent-strong);background:var(--accent-pastel-bg);vertical-align:middle;margin-left:8px;padding:2px 8px;font-size:10px}.row-actions{gap:4px;display:flex}.row-actions .icon-btn{color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:8px 10px}.row-actions .icon-btn:hover{background:var(--table-row-hover);color:var(--text-h)}.row-actions .icon-btn.delete:hover{color:var(--danger);background:var(--danger-pastel-bg)}.invoice-detail-row{background:var(--bg);padding:16px!important}.invoice-detail-panel{flex-wrap:wrap;gap:32px;display:flex}.invoice-detail-items{color:var(--text);flex-direction:column;gap:4px;margin:0;padding:0;font-size:13px;list-style:none;display:flex}.auth-page{flex:1;justify-content:center;align-items:center;padding:24px;display:flex}[role=alert]{color:var(--danger);margin:0;font-size:13px}.breadcrumb{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.breadcrumb .current{color:var(--text-h);font-weight:600}.invoice-doc{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:12px;flex-direction:column;gap:16px;padding:20px 24px;display:flex}.invoice-doc-header{border-bottom:1px solid var(--border);flex-direction:column;gap:12px;padding-bottom:14px;display:flex}.invoice-doc-toprow{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.issuer-block{flex-direction:column;gap:4px;display:flex}.issuer-block .issuer-name{color:var(--text-h);font-size:17px;font-weight:700}.issuer-block .contact-line{color:var(--text-muted);align-items:center;gap:8px;font-size:13px;display:flex}.issuer-block .contact-line i{color:var(--accent);width:14px}.contact-line-secondary{color:var(--text-muted);font-size:12px}.invoice-number-block{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.invoice-number-top{align-items:center;gap:10px;display:flex}.invoice-doc-title{letter-spacing:.04em;color:var(--text-h);text-transform:uppercase;font-size:13px;font-weight:700}.invoice-number-badge{font-family:var(--mono);color:var(--accent-strong);background:var(--accent-pastel-bg);border-radius:8px;padding:5px 12px;font-size:14px;font-weight:700}.invoice-number-block .issue-date{color:var(--text-muted);font-size:13px}.comprobante-fields-row{margin-top:2px}.comprobante-fields-row .checkbox-label{flex:none;align-self:center;min-width:auto}@media (width<=900px){.invoice-doc-toprow{flex-direction:column}.invoice-number-block{text-align:left;align-items:flex-start}}.checkbox-label{color:var(--text);align-items:center;font-size:13px;flex-direction:row!important;gap:8px!important}.checkbox-label input{width:auto}.section-label{text-transform:uppercase;letter-spacing:.06em;color:var(--accent-strong);margin-bottom:8px;font-size:12px;font-weight:700;display:block}.facturar-a-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.facturar-a-row .section-label{white-space:nowrap;margin-bottom:0}.facturar-a-row .search-field{flex:1;min-width:240px}.muted-inline{color:var(--text-muted);margin-top:6px;font-size:13px;display:inline-block}.detalle-header-row{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:8px;display:flex}.detalle-header-row .section-label{white-space:nowrap;margin-bottom:0}.detalle-header-row .search-field{flex:1;min-width:220px}.detalle-header-row button{white-space:nowrap}.search-field{position:relative}.search-input{border:1px solid var(--border);background:var(--surface);border-radius:7px;align-items:center;gap:8px;padding:0 10px;display:flex}.search-input i{color:var(--text-muted)}.search-input input{background:0 0;border:none;flex:1;padding:9px 0}.search-input input:focus{outline:none}.search-results{z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;max-height:240px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto}.search-results li{cursor:pointer;border-radius:6px;justify-content:space-between;gap:12px;padding:8px 10px;font-size:13px;display:flex}.search-results li:hover,.search-results li.active{background:var(--table-row-hover)}.search-results li span{color:var(--text-muted)}.search-no-results{flex-direction:column;gap:8px;padding:10px;display:flex}.search-no-results .muted-inline{margin:0}.search-create-new{justify-content:center;align-items:center;gap:6px;display:flex}.selected-card{border:1px solid var(--border);border-radius:10px;align-items:flex-start;gap:12px;margin-top:8px;padding:10px 14px;display:flex}.selected-card .avatar{background:var(--accent-pastel-bg);width:40px;height:40px;color:var(--accent-strong);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;display:flex}.selected-card .details{flex-direction:column;flex:1;gap:4px;display:flex}.selected-card .details .name{color:var(--text-h);font-weight:700}.selected-card .contact-row{color:var(--text-muted);flex-wrap:wrap;gap:16px;font-size:13px;display:flex}.selected-card .contact-row span{align-items:center;gap:6px;display:flex}.line-items-table input,.line-items-table select{min-width:70px;padding:6px 8px;font-size:13px}.line-items-table td{vertical-align:middle}.line-items-table th,.line-items-table td{padding:6px 10px}.line-items-table .icon-btn{color:var(--text-muted);background:0 0;border:none;padding:4px 6px}.line-items-table .icon-btn.delete:hover{color:var(--danger);background:var(--danger-pastel-bg)}.payment-methods-list{flex-direction:column;gap:10px;display:flex}.payment-methods-list .item-row{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-wrap:wrap;padding:10px}.summary-card{flex-direction:column;gap:6px;display:flex}.summary-row{color:var(--text);justify-content:space-between;font-size:13px;display:flex}.summary-row.muted{color:var(--text-muted)}.summary-row.total{border-top:1px solid var(--border);color:var(--text-h);margin-top:6px;padding-top:8px;font-size:22px;font-weight:700}.summary-row.total .value{color:var(--accent)}.invoice-actions-bar{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.invoice-actions-bar button i{margin-right:6px}.two-col{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=800px){.two-col{grid-template-columns:1fr}}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:20px;display:flex}.tab{color:var(--text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:10px 16px;font-weight:500}.tab:hover{background:var(--table-row-hover);border-bottom-color:#0000}.tab.active{color:var(--accent-strong);border-bottom-color:var(--accent)}.tab-panel .page{max-width:none;padding:0}.row-menu{display:inline-block;position:relative}.row-menu-trigger{color:var(--text-muted);background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:16px;line-height:1}.row-menu-trigger:hover{background:var(--table-row-hover);color:var(--text-h)}.row-menu-dropdown{z-index:20;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:2px;min-width:140px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0}.row-menu-dropdown button{width:100%;color:var(--text);text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;font-size:13px;display:flex}.row-menu-dropdown button:hover{background:var(--table-row-hover)}.row-menu-dropdown button.danger{color:var(--danger)}.row-menu-dropdown button.danger:hover{background:var(--danger-pastel-bg)}.pos-category-manager-list{flex-direction:column;gap:6px;max-width:360px;margin:0;padding:0;list-style:none;display:flex}.pos-category-manager-list li{border:1px solid var(--border);border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:14px;display:flex}.pos-page{background:var(--bg);flex-direction:column;min-height:100vh;display:flex}.pos-header{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:16px;padding:12px 20px;display:flex}.pos-header-brand{color:var(--text-h);flex-direction:column;font-weight:700;line-height:1.2;display:flex}.pos-header-company{color:var(--text-muted);font-size:12px;font-weight:500}.pos-search{background:var(--bg);border:1px solid var(--border);border-radius:10px;flex:1;align-items:center;gap:10px;max-width:480px;padding:10px 16px;display:flex}.pos-search i{color:var(--text-muted)}.pos-search input{background:0 0;border:none;flex:1;padding:0;font-size:16px}.pos-search input:focus{box-shadow:none;outline:none}.pos-back-link{white-space:nowrap;font-size:13px;font-weight:500}.pos-body{flex:1;gap:16px;min-height:0;padding:16px 20px;display:flex}.pos-catalog{flex-direction:column;flex:1;gap:12px;min-width:0;display:flex}.pos-categories{flex-wrap:wrap;gap:8px;display:flex}.pos-category-chip{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:999px;padding:12px 20px;font-size:15px;font-weight:600}.pos-category-chip.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.pos-product-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid;overflow-y:auto}.pos-product-tile{background:var(--surface);border:1px solid var(--border);min-height:100px;box-shadow:var(--shadow);text-align:center;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px 12px;display:flex}.pos-product-tile:active{background:var(--accent-pastel-bg);border-color:var(--accent-border)}.pos-product-name{color:var(--text-h);font-size:15px;font-weight:600}.pos-product-price{color:var(--accent-strong);font-size:16px;font-weight:700}.pos-cart{background:var(--surface);border:1px solid var(--border);border-radius:12px;flex-direction:column;flex-shrink:0;gap:12px;width:340px;padding:16px;display:flex}.pos-customer{position:relative}.pos-customer-pill{background:var(--bg);border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;display:inline-flex}.pos-popover{z-index:30;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0}.pos-cart-lines{flex-direction:column;flex:1;gap:10px;display:flex;overflow-y:auto}.pos-cart-line{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.pos-cart-line-info{color:var(--text-h);justify-content:space-between;font-size:14px;display:flex}.pos-cart-line-total{font-weight:600}.pos-cart-line-qty{align-items:center;gap:8px;display:flex}.pos-cart-line-qty button{width:32px;height:32px;padding:0;font-size:16px;font-weight:700}.pos-cart-line-qty span{text-align:center;min-width:20px;font-weight:600}.pos-cart-line-qty .icon-btn{margin-left:auto}.pos-totals{border-top:1px solid var(--border);padding-top:10px}.pos-large-button{justify-content:center;width:100%;padding:16px;font-size:17px;font-weight:700}button.primary.pos-charge-button,.button.primary.pos-charge-button{background:var(--success);border-color:var(--success);color:#fff}button.primary.pos-charge-button:hover,.button.primary.pos-charge-button:hover{background:color-mix(in srgb, var(--success) 85%, black);border-color:color-mix(in srgb, var(--success) 85%, black);color:#fff}.pos-overlay{z-index:100;background:#18181b73;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pos-overlay-panel{background:var(--surface);width:100%;max-width:420px;box-shadow:var(--shadow);border-radius:14px;max-height:90vh;padding:20px;overflow-y:auto}.pos-drawer-overlay{justify-content:flex-end;padding:0}.pos-drawer-panel{background:var(--surface);width:420px;max-width:100%;height:100%;box-shadow:var(--shadow);padding:20px;overflow-y:auto}@media (width<=640px){.pos-drawer-panel{width:100%}}.pos-payment-options{gap:8px;display:flex}.pos-payment-option{border-radius:10px;flex:1;padding:14px;font-size:14px;font-weight:600}.pos-payment-option.active{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.pos-quick-cash{gap:8px;margin-top:8px;display:flex}.pos-quick-cash button{flex:1}.pos-result-page{justify-content:center;align-items:center}.pos-result-card{text-align:center;background:var(--surface);border:1px solid var(--border);border-radius:16px;flex-direction:column;align-items:center;max-width:420px;margin:auto;padding:40px;display:flex}.pos-result-doc{color:var(--text-muted);margin:4px 0 12px;font-size:15px}@media (width<=900px){.pos-body{flex-direction:column}.pos-cart{width:auto}.pos-search{max-width:none}}@media (width<=600px){.pos-header{flex-wrap:wrap}.pos-back-link{order:3;width:100%}}.ticket-page-wrap{background:var(--bg);flex-direction:column;align-items:center;gap:16px;min-height:100vh;padding:24px;display:flex}.ticket-page-toolbar{justify-content:space-between;align-items:center;width:100%;max-width:340px;display:flex}.ticket-80mm{background:var(--surface);border:1px solid var(--border);width:80mm;max-width:100%;box-shadow:var(--shadow);font-family:var(--mono);color:var(--text-h);flex-direction:column;gap:4px;padding:10px 12px;font-size:12px;display:flex}.ticket-center{text-align:center;flex-direction:column;align-items:center;gap:2px;display:flex}.ticket-small{color:var(--text-muted);font-size:10px}.ticket-test-banner{color:var(--warning);font-weight:700}.ticket-rule{border-top:1px dashed var(--border);margin:4px 0}.ticket-row{justify-content:space-between;gap:8px;display:flex}.ticket-item-sub{color:var(--text-muted)}.ticket-total{font-size:13px;font-weight:700}.ticket-break{word-break:break-all;text-align:center}@media print{.ticket-page-toolbar{display:none}.ticket-page-wrap{background:0 0;min-height:0;padding:0}.ticket-80mm{box-shadow:none;border:none;width:100%}@page{size:80mm auto;margin:0}}
