@charset "UTF-8";:root{--primary: hsl(217, 91%, 50%);--primary-rgb: 37, 99, 235;--primary-dark: hsl(217, 91%, 40%);--primary-light: hsl(217, 91%, 75%);--accent: hsl(217, 80%, 56%);--accent-light: rgba(37, 99, 235, .1);--accent-border: rgba(37, 99, 235, .25);--bg-main: #f5f6f8;--bg-card: #ffffff;--bg-sidebar: hsl(217, 80%, 15%);--bg-input: #f8fafc;--text-main: hsl(210, 40%, 15%);--text-muted: hsl(210, 20%, 45%);--text-on-sidebar: hsl(200, 20%, 95%);--text-input: hsl(210, 40%, 15%);--border: #d1d5db;--border-input: #c5cad2;--positive: #2563eb;--negative: #93c5fd;--color-blue: #2563eb;--color-blue-soft: #3b82f6;--color-blue-bg: rgba(37, 99, 235, .08);--color-blue-soft-bg: rgba(59, 130, 246, .08);--color-red: #dc2626;--color-red-bg: rgba(220, 38, 38, .08);--color-green: #16a34a;--color-green-bg: rgba(22, 163, 74, .1);--color-amber: #b45309;--color-amber-bg: rgba(180, 83, 9, .08);--radius: 4px;--shadow: 0 1px 3px rgba(0, 0, 0, .08);--glass: none;--transition: all .15s ease}body.dark-mode{--primary: hsl(217, 91%, 60%);--primary-light: hsl(217, 80%, 70%);--accent-light: rgba(59, 130, 246, .15);--accent-border: rgba(59, 130, 246, .35);--bg-main: #1a1d23;--bg-card: #23272f;--bg-sidebar: hsl(217, 50%, 8%);--bg-input: #1e2229;--text-main: hsl(210, 20%, 92%);--text-muted: hsl(210, 15%, 70%);--text-input: hsl(210, 20%, 95%);--border: #374151;--border-input: #4b5563;--positive: #3b82f6;--negative: #93c5fd;--color-blue: #60a5fa;--color-blue-soft: #93c5fd;--color-blue-bg: rgba(59, 130, 246, .12);--color-blue-soft-bg: rgba(147, 197, 253, .12);--color-red: #f87171;--color-red-bg: rgba(248, 113, 113, .15);--color-green: #4ade80;--color-green-bg: rgba(74, 222, 128, .15);--color-amber: #fbbf24;--color-amber-bg: rgba(251, 191, 36, .15);--shadow: 0 1px 3px rgba(0, 0, 0, .3)}*{margin:0;padding:0;box-sizing:border-box;font-family:Outfit,sans-serif}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}body{background:var(--bg-main);color:var(--text-main);transition:var(--transition);overflow:auto;min-height:100vh;scroll-behavior:smooth}.app-container{display:grid;grid-template-columns:260px 1fr;height:100vh;overflow:hidden}.sidebar{background:var(--bg-sidebar);color:var(--text-on-sidebar);padding:2.5rem 1.25rem;display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.08);z-index:100;height:100vh;overflow-y:auto}.logo{display:flex;justify-content:center;margin-bottom:2rem;padding:0 1rem}.logo img{width:100%;max-width:180px;height:auto;border-radius:var(--radius)}.main-nav{flex-grow:1}.main-nav ul{list-style:none}.main-nav li{padding:.8rem 1rem;margin-bottom:.5rem;border-radius:var(--radius);cursor:pointer;display:flex;align-items:center;transition:var(--transition);opacity:.7}.main-nav li:hover{background-color:#ffffff0d;opacity:1}.main-nav li.active{background-color:var(--primary);color:#fff;opacity:1}.main-nav .sub-item{margin-left:1.8rem;padding:.5rem 1rem;font-size:.85rem;font-weight:500;border-left:2px solid rgba(255,255,255,.1);border-radius:0 8px 8px 0;opacity:.85}.main-nav .sub-item:hover{opacity:1;background-color:#ffffff0a;border-left-color:var(--primary)}.main-nav .sub-item.nested{margin-left:3.8rem;font-size:.8rem;font-weight:400;opacity:.65;border-left:1px solid rgba(255,255,255,.05)}.main-nav .sub-item.nested:hover{opacity:1;border-left-color:var(--primary)}.submenu{list-style:none;max-height:2000px;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:1}.submenu.collapsed,.submenu.collapsed-submenu{max-height:0;opacity:0;pointer-events:none}.has-submenu:after{content:"\25be";margin-left:auto;font-size:.8rem;transition:transform .3s ease;opacity:.5}.has-submenu.collapsed:after,.has-submenu.collapsed-parent:after{transform:rotate(-90deg)}.main-content{display:flex;flex-direction:column;overflow-y:auto;height:100vh;scroll-behavior:smooth}.top-bar{padding:1.25rem 2.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-card);z-index:10}.search-bar input{background-color:var(--bg-card);border:1px solid var(--border);padding:.6rem 1rem;border-radius:var(--radius);color:var(--text-main);width:300px;transition:var(--transition)}.search-bar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #3b82f633}.top-actions{display:flex;gap:1rem}#content-area,.content-area{padding:2rem}.view-header{margin-bottom:2rem}.view-header h1{font-size:1.8rem;margin-bottom:.5rem}.view-header p{color:var(--text-muted)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2rem}.stat-card,.card{background:var(--bg-card);padding:1.75rem;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow);transition:var(--transition)}.stat-card:hover{border-color:var(--primary)}.stat-card h3{font-size:.9rem;color:var(--text-muted);margin-bottom:1rem}.stat-card .amount{font-size:2rem;font-weight:700;margin-bottom:.5rem}.card{padding:2rem;margin-bottom:2rem}.btn-primary{background:var(--primary);color:#fff;border:none;padding:.85rem 1.75rem;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:var(--transition)}.btn-primary:hover{background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--bg-card);border:1px solid var(--border);color:var(--text-main);padding:.75rem 1.5rem;border-radius:var(--radius);font-weight:600;cursor:pointer;transition:var(--transition)}.btn-secondary:hover{background-color:#f0f1f3}body.dark-mode .btn-secondary:hover{background-color:#2d3340}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;color:var(--text-main);padding:.5rem;border-radius:var(--radius);transition:var(--transition)}.btn-icon:hover{background-color:var(--border)}.table-container{background-color:var(--bg-card);border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto;overflow-y:hidden;margin-top:1rem}table{width:100%;border-collapse:collapse}th{background-color:#f0f1f3;text-align:left;padding:1rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:2px solid var(--border)}body.dark-mode th{background-color:#1e2229}td{padding:1rem;border-bottom:1px solid var(--border);font-size:.95rem}tr:last-child td{border-bottom:none}tr:hover{background-color:#f7f8f9}body.dark-mode tr:hover{background-color:#1e2229}.badge{padding:.25rem .6rem;border-radius:3px;font-size:.75rem;font-weight:600}.badge.success,.badge.pagado{background-color:#2563eb1f;color:#1d4ed8}.badge.warning{background-color:#f59e0b1f;color:#b45309}.badge.error{background-color:#ef44441f;color:#dc2626}.badge.pending{background-color:#f59e0b1f;color:#b45309}body.dark-mode .badge.success,body.dark-mode .badge.pagado{background-color:#3b82f633;color:#60a5fa}body.dark-mode .badge.warning{background-color:#f59e0b26;color:#fbbf24}body.dark-mode .badge.error{background-color:#ef444426;color:#f87171}body.dark-mode .badge.pending{background-color:#f59e0b26;color:#fbbf24}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-size:.85rem;margin-bottom:.6rem;color:var(--text-muted);font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.6rem 1rem;border-radius:var(--radius);border:1px solid var(--border-input);background-color:var(--bg-input);color:var(--text-input);font-size:1rem;transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.2)}.form-group input option,.form-group select option,.form-group textarea option{background-color:var(--bg-input);color:var(--text-input);padding:.5rem}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23333' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--bg-card);padding:2.5rem;border-radius:var(--radius);width:450px;max-width:90%;border:1px solid var(--border);box-shadow:var(--shadow);animation:slideUp .3s ease-out}.modal-content.large{width:700px;max-height:90vh;overflow-y:auto}.modal-content h2{margin-bottom:2rem;font-size:1.5rem;font-weight:700}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.login-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-main);display:flex;align-items:center;justify-content:center;z-index:9999}.login-card{background:var(--bg-card);padding:3rem;border-radius:var(--radius);border:1px solid var(--border);width:100%;max-width:450px;box-shadow:var(--shadow);text-align:center}.login-brand{font-size:2rem;font-weight:700;margin-bottom:2rem;color:var(--primary);display:flex;flex-direction:column;align-items:center;gap:.5rem}.filter-bar{display:flex;gap:1rem;margin-bottom:1rem;background:var(--bg-card);border:1px solid var(--border);padding:.75rem;border-radius:var(--radius);align-items:center;flex-wrap:wrap}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.8rem;font-weight:600}.button-group{display:flex;gap:2px}.filter-btn{padding:.3rem .6rem;font-size:.75rem;border-radius:4px;background:transparent;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:var(--transition)}.filter-btn:hover{background:var(--border)}.filter-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.compact-workspace{max-width:1200px;margin:0 auto;background:var(--bg-card);padding:1.5rem;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow)}.text-center{text-align:center}.text-right{text-align:right}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mb-2{margin-bottom:1rem}.mb-4{margin-bottom:2rem}.flex{display:flex}.gap-2{gap:.5rem}.gap-4{gap:1rem}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.spinner{border:3px solid var(--border);border-top:3px solid var(--primary);border-radius:50%;width:24px;height:24px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-muted)}.autocomplete-dropdown{position:absolute;top:100%;left:0;right:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius);max-height:300px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #0000001a}.autocomplete-dropdown .autocomplete-item{padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--border);transition:background .2s;color:var(--text-main)}.autocomplete-dropdown .autocomplete-item:hover{background:rgba(var(--primary-rgb),.15)}.autocomplete-dropdown .autocomplete-item strong{color:var(--text-main)}.autocomplete-dropdown .autocomplete-item .item-secondary{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.autocomplete-dropdown .autocomplete-item .item-amount{color:var(--primary);font-weight:700}.autocomplete-dropdown .no-results{padding:1rem;text-align:center;color:var(--text-muted)}.print-report{display:none}.rpt-page{padding:0;font-family:Arial,Helvetica,sans-serif;font-size:9pt;color:#000;-webkit-print-color-adjust:exact}.rpt-page *{font-family:Arial,Helvetica,sans-serif}.rpt-header{display:flex;align-items:flex-start;border-bottom:2px solid #000;padding-bottom:4px;margin-bottom:8px}.rpt-header-logo{border:1px solid #999;padding:3px 6px;font-size:8pt;line-height:1.4;margin-right:12px;min-width:100px}.rpt-header-center{flex:1;text-align:center}.rpt-header-center .rpt-company{font-size:11pt;font-weight:700}.rpt-header-center .rpt-title{font-size:9pt;font-weight:700}.rpt-header-center .rpt-subtitle{font-size:8pt;color:#444}.rpt-header-right{text-align:right;font-size:8pt;line-height:1.5;min-width:120px}.rpt-table{width:100%;border-collapse:collapse;font-size:8pt;margin-top:4px}.rpt-table th{text-align:left;font-size:7.5pt;font-weight:700;border-bottom:1.5px solid #000;border-top:1.5px solid #000;padding:2px 4px;text-transform:uppercase;letter-spacing:.3px;color:#333}.rpt-table th.num{text-align:right}.rpt-table td{padding:2px 4px;border-bottom:.5px solid #ddd;line-height:1.3;font-size:7.5pt}.rpt-table td.num{text-align:right;font-family:Consolas,monospace;font-size:7pt}.rpt-table td.bold{font-weight:700}.rpt-table .row-section td{font-weight:700;background:#f0f0f0;border-bottom:1px solid #ccc;font-size:8pt}.rpt-table .row-subtotal td{font-weight:700;border-top:1px solid #999}.rpt-table .row-titulo td{font-weight:700;background:#f0f0f0}.rpt-table .row-mayor td{font-weight:600}.rpt-table .row-subcuenta td:nth-child(2){padding-left:12px}.rpt-table tfoot td{border-top:1.5px solid #000;border-bottom:1.5px solid #000;padding:3px 4px;font-weight:700;font-size:8pt}.rpt-table tfoot td.num{text-align:right;font-family:Consolas,monospace}.rpt-footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:4px;border-top:1px solid #999;font-size:7pt;color:#666}@media (max-width: 768px){.app-container{grid-template-columns:1fr}.sidebar{position:fixed;top:0;left:0;width:280px;height:100vh;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);z-index:1000}.sidebar.mobile-open{transform:translate(0)}.sidebar-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:999}.sidebar-overlay.active{display:block}.top-bar{padding:.75rem 1rem;gap:.5rem}.search-bar input{width:100%;max-width:200px}#content-area,.content-area{padding:1rem}.view-header{margin-bottom:1rem}.view-header h1{font-size:1.3rem}.stats-grid{grid-template-columns:1fr;gap:.75rem}.stat-card{padding:1.25rem}.stat-card .amount{font-size:1.5rem}.stat-card:hover{transform:none}.card{padding:1.25rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-group{margin-bottom:1rem}.form-group input,.form-group select,.form-group textarea{font-size:16px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}table{min-width:600px}th,td{padding:.6rem .5rem;font-size:.8rem;white-space:nowrap}.modal-content{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0;padding:1.5rem;animation:slideUpMobile .3s ease-out}.modal-content.large{width:100%;max-height:100%}.modal-overlay{align-items:flex-end}@keyframes slideUpMobile{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.btn-primary,.btn-secondary{padding:.75rem 1.25rem;font-size:.9rem;width:100%}.modal-actions{flex-direction:column-reverse}.modal-actions .btn-primary,.modal-actions .btn-secondary{width:100%;text-align:center}.filter-bar{flex-direction:column;align-items:stretch;gap:.5rem}.filter-group{flex-wrap:wrap}.compact-workspace{padding:1rem}.login-card{padding:2rem 1.5rem;margin:1rem;max-width:calc(100% - 2rem)}.login-brand{font-size:1.5rem}.hamburger-btn{display:flex!important;align-items:center;justify-content:center;background:none;border:none;color:var(--text-main);font-size:1.5rem;padding:.5rem;cursor:pointer;border-radius:8px;transition:var(--transition);min-width:44px;min-height:44px}.hamburger-btn:hover{background:var(--border)}.autocomplete-dropdown{max-height:200px}.btn-icon{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.top-actions{gap:.5rem}}.hamburger-btn,.sidebar-overlay{display:none}@media print{.no-print,.report-actions,.sidebar{display:none!important}.app-container{display:block}body,html{background:#fff!important;color:#000!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.main-content,.compact-workspace{padding:0!important;margin:0!important;max-width:100%!important;background:#fff!important}.print-report{display:block!important}.compact-workspace>*:not(.print-report){display:none!important}.rpt-footer{display:none!important}*,*:before,*:after{box-shadow:none!important;text-shadow:none!important}.card,.glass-card,[class*=card]{box-shadow:none!important;border:none!important;background:transparent!important}@page{size:letter;margin:0}.rpt-page{padding:12mm 10mm!important}}
