@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-primary:#0a0f0d;--bg-secondary:#121a17;--bg-card:#16221e99;--bg-card-hover:#1c2c27cc;--border-color:#2e4c424d;--border-hover:#4c7e6d80;--accent-hue:145;--accent:hsl(var(--accent-hue), 65%, 45%);--accent-light:hsl(var(--accent-hue), 70%, 55%);--accent-glow:#2ec48326;--income-color:#34d399;--expense-color:#f87171;--cost-color:#fb923c;--neutral-muted:#9ca3af;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--sidebar-width:260px;--header-height:70px;--radius-lg:16px;--radius-md:10px;--radius-sm:6px;--transition:all .3s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 8px 24px #0006;--shadow-lg:0 16px 40px #0009}.light-mode{--bg-primary:#f4f6f5;--bg-secondary:#fff;--bg-card:#f0f4f2cc;--bg-card-hover:#e6edeae6;--border-color:#2e4c4226;--border-hover:#2e4c424d;--text-primary:#1f2937;--text-secondary:#4b5563;--shadow-sm:0 2px 8px #0000000d;--shadow-md:0 8px 24px #00000014;--shadow-lg:0 16px 40px #0000001f}.light-mode .page-title{background:linear-gradient(135deg, var(--text-primary) 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}*{box-sizing:border-box;margin:0;padding:0}html,body{touch-action:pan-y;width:100%;max-width:100%;overflow-x:clip}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;transition:var(--transition);-webkit-font-smoothing:antialiased;font-family:Inter,sans-serif}#root,.app-container{width:100%;max-width:100%;overflow-x:clip}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:600}.glass{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);box-shadow:var(--shadow-md);border-radius:var(--radius-lg);transition:var(--transition)}.glass:hover{border-color:var(--border-hover);background:var(--bg-card-hover)}.app-container{min-height:100vh;display:flex}.main-content{margin-left:var(--sidebar-width);max-width:1600px;min-height:100vh;width:calc(100% - var(--sidebar-width));flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex}@media (width<=1024px){.main-content{width:100%;padding:1.25rem 1rem calc(95px + env(safe-area-inset-bottom,0px)) 1rem;padding-top:calc(var(--header-height) + 1rem);min-height:calc(100dvh - var(--header-height));margin-left:0}}.content-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.filters-container{z-index:35;-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0e1612f0;transition:all .2s;position:sticky;top:.5rem;box-shadow:0 10px 25px -5px #00000080,0 0 0 1px #ffffff0d}@media (width<=1024px){.filters-container{top:calc(var(--header-height) + .5rem)}}.page-title{background:linear-gradient(135deg, #fff 0%, var(--text-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2rem;font-weight:700}.filters-bar{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}select,input,textarea{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-radius:var(--radius-sm);transition:var(--transition);outline:none;padding:.6rem 1rem;font-family:inherit;font-size:.9rem}select:focus,input:focus,textarea:focus{border-color:var(--accent-light);box-shadow:0 0 0 3px var(--accent-glow)}button{cursor:pointer;border-radius:var(--radius-sm);transition:var(--transition);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.6rem 1.2rem;font-family:Outfit,sans-serif;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);color:#050807;font-weight:600;box-shadow:0 4px 14px #2ec4834d}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px #2ec48380}.btn-secondary{color:var(--text-primary);border:1px solid var(--border-color);background:#ffffff0d}.btn-secondary:hover{border-color:var(--border-hover);background:#ffffff1a}.btn-danger{color:var(--expense-color);background:#f871711a;border:1px solid #f8717133}.btn-danger:hover{background:var(--expense-color);color:#fff;box-shadow:0 4px 14px #f871714d}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;display:grid}.metric-card{flex-direction:column;gap:.5rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.metric-card:before{content:"";width:4px;height:100%;position:absolute;top:0;left:0}.metric-card.income:before{background-color:var(--income-color)}.metric-card.expense:before{background-color:var(--expense-color)}.metric-card.cost:before{background-color:var(--cost-color)}.metric-card.net:before{background-color:var(--accent-light)}.metric-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;font-weight:500}.metric-value{margin:.25rem 0;font-family:Outfit,sans-serif;font-size:1.8rem;font-weight:700}.metric-subtext{color:var(--text-secondary);font-size:.8rem}.table-container{scrollbar-width:thin;-webkit-overflow-scrolling:touch;width:100%;min-height:380px;max-height:calc(100vh - 240px);margin-top:.75rem;position:relative;overflow:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:.8rem}th{z-index:10;color:var(--text-secondary);border-bottom:2px solid var(--border-color);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap;background:#0f1814;padding:.6rem .25rem;font-family:Outfit,sans-serif;font-size:.71rem;font-weight:600;position:sticky;top:0;box-shadow:0 2px 4px #00000059}td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:.6rem .25rem}tr:hover td{background:#ffffff04}.badge{text-transform:uppercase;border-radius:50px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge.income{color:var(--income-color);background:#34d3991a;border:1px solid #34d39933}.badge.expense{color:var(--expense-color);background:#f871711a;border:1px solid #f8717133}.badge.cost{color:var(--cost-color);background:#fb923c1a;border:1px solid #fb923c33}.badge.active{color:var(--accent-light);background:#2ec4831a;border:1px solid #2ec48333}.badge.closed{color:var(--neutral-muted);background:#9ca3af1a;border:1px solid #9ca3af33}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}body.modal-open{overflow:hidden!important}html:has(.modal-overlay){overflow:hidden!important}body:has(.modal-overlay){overflow:hidden!important}html:has(.print-modal-overlay){overflow:hidden!important}body:has(.print-modal-overlay){overflow:hidden!important}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;overscroll-behavior:contain;background:#000000bf;justify-content:center;align-items:flex-start;padding:2rem 1rem;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{overscroll-behavior:contain;flex-direction:column;gap:1.5rem;width:100%;max-width:550px;padding:2rem;display:flex}.print-modal-overlay{overscroll-behavior:contain}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-close{color:var(--text-secondary);background:0 0;border-radius:50%;width:32px;height:32px;padding:.25rem;font-size:1.5rem}.modal-close:hover{color:var(--text-primary);background:#ffffff0d}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.2rem;display:flex}.form-group label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-row .form-group label{align-items:flex-end;min-height:38px;display:flex}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeIn}@media print{@page{size:auto;margin:12mm 10mm}html,body{color:#000!important;background:#fff!important;width:100%!important;height:auto!important;font-size:10pt!important;overflow:visible!important}#root,.app-container,.main-content,.report-card,.table-container{width:100%!important;height:auto!important;max-height:none!important;margin-left:0!important;padding:0!important;display:block!important;overflow:visible!important}.sidebar-container,.sidebar,.filters-bar,.filters-container,button,.btn-primary,.btn-secondary,.tabs-container,.no-print{display:none!important}.modal-overlay:not(:has(#account-report-print-canvas)):not(:has(#print-receipt-content)){display:none!important}.glass{box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;padding:0!important}table{border-collapse:collapse!important;break-inside:auto!important;page-break-inside:auto!important;width:100%!important}thead{break-inside:avoid!important;page-break-inside:avoid!important;display:table-header-group!important}tbody{display:table-row-group!important}tr{break-inside:avoid!important;page-break-inside:avoid!important}td,th{break-inside:avoid!important;page-break-inside:avoid!important;word-wrap:break-word!important;vertical-align:middle!important}th{color:#000!important;background:#f0f0f0!important;border-bottom:2px solid #000!important}td{color:#000!important;border-bottom:1px solid #ddd!important}.badge{color:#000!important;background:0 0!important;border:1px solid #000!important;padding:0 4px!important}.page-title{-webkit-text-fill-color:#000!important;color:#000!important;background:0 0!important;border-bottom:3px double #000!important;margin-bottom:20px!important;padding-bottom:10px!important}.print-only{display:block!important}}.custom-dropdown-container{width:100%;position:relative}.custom-dropdown-trigger{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:#ffffff08;justify-content:space-between;align-items:center;padding:.6rem .75rem;font-size:.9rem;transition:all .2s;display:flex}.custom-dropdown-trigger:hover:not(:disabled){border-color:var(--border-hover);background:#ffffff0f}.custom-dropdown-trigger:disabled{opacity:.5;cursor:not-allowed}.custom-dropdown-trigger .arrow{color:var(--text-secondary);font-size:.7rem}.custom-dropdown-menu{z-index:1000;border:1px solid var(--border-color);border-radius:var(--radius-sm);flex-direction:column;gap:.5rem;max-height:270px;margin-top:.25rem;padding:.5rem;display:flex;position:absolute;top:100%;left:0;right:0;box-shadow:0 8px 24px #00000080;background:var(--bg-secondary)!important}.custom-dropdown-search{border-radius:var(--radius-sm);color:var(--text-primary);outline:none;width:100%;padding:.55rem;font-size:.85rem;transition:border-color .2s;border:1px solid var(--border-color)!important;background:#ffffff0a!important}.custom-dropdown-search:focus{border-color:var(--accent-light)!important}.custom-dropdown-options{flex-direction:column;gap:.15rem;max-height:190px;display:flex;overflow-y:auto}.custom-dropdown-options::-webkit-scrollbar{width:5px}.custom-dropdown-options::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.custom-dropdown-option{width:100%;color:var(--text-primary);text-align:left;white-space:pre;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.5rem .75rem;font-size:.85rem;transition:background .15s;display:block}.custom-dropdown-option:hover:not(.disabled){background:#ffffff0f}.custom-dropdown-option.disabled{cursor:not-allowed;opacity:.5}.no-options{color:var(--text-secondary);text-align:center;padding:1rem;font-size:.85rem}.toast-container{z-index:999999;pointer-events:none;flex-direction:column;gap:.75rem;width:calc(100% - 3rem);max-width:400px;display:flex;position:fixed;top:1.5rem;right:1.5rem}.toast-item{pointer-events:auto;border-radius:var(--radius-md);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);color:var(--text-primary);background:#121a17d9;align-items:flex-start;gap:.85rem;padding:1rem 1.25rem;transition:transform .3s,opacity .3s;animation:.35s cubic-bezier(.16,1,.3,1) forwards toast-slide-in;display:flex;position:relative;overflow:hidden}.toast-item.success{border-left:4px solid var(--accent-light);box-shadow:0 8px 30px #2ec48326}.toast-item.error{border-left:4px solid var(--expense-color);box-shadow:0 8px 30px #f8717126}.toast-item.info{border-left:4px solid #38bdf8;box-shadow:0 8px 30px #38bdf826}.toast-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:.1rem;display:flex}.toast-icon.success{color:var(--accent-light);background:#2ec48326}.toast-icon.error{color:var(--expense-color);background:#f8717126}.toast-icon.info{color:#38bdf8;background:#38bdf826}.toast-content{flex:1}.toast-message{font-size:.9rem;font-weight:500;line-height:1.4}.toast-close{color:var(--text-secondary);cursor:pointer;opacity:.6;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:.1rem;transition:opacity .2s;display:flex}.toast-close:hover{opacity:1;color:var(--text-primary);background:#ffffff0d}.toast-progress{transform-origin:0;background:#ffffff26;width:100%;height:3px;animation:4s linear forwards toast-progress-bar;position:absolute;bottom:0;left:0}.toast-item.success .toast-progress{background:linear-gradient(90deg, var(--accent) 0%, var(--accent-light) 100%)}.toast-item.error .toast-progress{background:linear-gradient(90deg, #ef4444 0%, var(--expense-color) 100%)}.toast-item.info .toast-progress{background:linear-gradient(90deg,#0284c7 0%,#38bdf8 100%)}@keyframes toast-slide-in{0%{opacity:0;transform:translate(120%)scale(.9)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes toast-progress-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.visor-header-filters{display:none}@media (width<=1024px){.visor-header-filters{flex-wrap:wrap;align-items:center;gap:1rem;display:flex!important}}.capture-mode-toggle{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000040;gap:4px;margin-bottom:1.25rem;padding:4px;display:flex}.capture-mode-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:1px solid #0000;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1rem;font-size:.88rem;font-weight:600;transition:all .2s;display:flex}.capture-mode-btn:hover:not(.active):not(:disabled){color:var(--text-primary);background:#ffffff0d}.capture-mode-btn.active{color:var(--accent-light);background:linear-gradient(135deg,#2ec48333 0%,#2ec48314 100%);border-color:#2ec48366;box-shadow:0 2px 8px #0003}.capture-mode-btn.active.caja-chica{color:#fb923c;background:linear-gradient(135deg,#fb923c33 0%,#fb923c14 100%);border-color:#fb923c66}.capture-mode-btn.active.ingreso{color:#34d399;background:linear-gradient(135deg,#34d39938 0%,#34d39914 100%);border-color:#34d39973;box-shadow:0 2px 8px #34d39926}.cajachica-dropzone{border-radius:var(--radius-md);text-align:center;cursor:pointer;background:#fb923c08;border:2px dashed #fb923c59;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding:1.25rem;transition:all .25s;display:flex}.cajachica-dropzone:hover{background:#fb923c12;border-color:#fb923c;transform:translateY(-1px)}.cajachica-dropzone-icon{color:#fb923c;background:#fb923c26;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.cajachica-section{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#00000026;margin-bottom:1.25rem;padding:1.25rem}.cajachica-header-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.cajachica-item-card{border:1px solid var(--border-color);border-radius:var(--radius-sm);box-sizing:border-box;background:#ffffff05;width:100%;margin-bottom:.85rem;padding:1rem 1.1rem;transition:border-color .2s;position:relative;overflow:hidden}.cajachica-item-card:hover{border-color:#ffffff26}.cajachica-item-card .form-group{min-width:0}.cajachica-item-card .form-group input,.cajachica-item-card .form-group select,.cajachica-item-card .custom-dropdown-trigger{box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important}.file-chip-selected,.file-chip-existing{box-sizing:border-box;max-width:100%;overflow:hidden}.file-chip-selected span,.file-chip-existing a{text-overflow:ellipsis;white-space:nowrap;max-width:320px;display:inline-block;overflow:hidden}.cajachica-item-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem;display:flex}.cajachica-badge-xml{color:#34d399;background:#34d39926;border:1px solid #34d3994d;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.cajachica-badge-nota{color:#fb923c;background:#fb923c26;border:1px solid #fb923c4d;border-radius:4px;align-items:center;gap:.35rem;padding:.2rem .55rem;font-size:.75rem;font-weight:700;display:inline-flex}.cajachica-totals-summary{border-radius:var(--radius-md);box-sizing:border-box;background:linear-gradient(135deg,#16221ee6 0%,#121a17e6 100%);border:1px solid #2ec4834d;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));align-items:center;gap:1rem;width:100%;margin-top:1rem;padding:1rem 1.25rem;display:grid}.cajachica-total-stat{flex-direction:column;gap:.2rem;min-width:0;display:flex}.cajachica-total-stat .stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.cajachica-total-stat .stat-val{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700;overflow:hidden}.cajachica-total-stat.grand-total .stat-val{color:#34d399;font-size:1.35rem;font-weight:800}.multi-account-badge{border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffff08;flex-direction:column;gap:.2rem;width:fit-content;max-width:100%;padding:.4rem .65rem;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.multi-account-badge:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000040}.multi-account-badge.cajachica{background:linear-gradient(135deg,#fb923c1f 0%,#ea580c0f 100%);border-color:#fb923c59}.multi-account-badge.cajachica:hover{background:linear-gradient(135deg,#fb923c33 0%,#ea580c1f 100%);border-color:#fb923c}.multi-account-badge.prorrateo{background:linear-gradient(135deg,#2ec4831f 0%,#10b9810f 100%);border-color:#2ec48359}.multi-account-badge.prorrateo:hover{border-color:var(--accent-light);background:linear-gradient(135deg,#2ec48333 0%,#10b9811f 100%)}.multi-account-badge .badge-top{white-space:nowrap;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;display:flex}.multi-account-badge.cajachica .badge-top{color:#fb923c}.multi-account-badge.prorrateo .badge-top{color:var(--accent-light)}.multi-account-badge .badge-count-pill{background:#0000004d;border-radius:10px;padding:.1rem .4rem;font-size:.68rem;font-weight:700}.multi-account-badge.cajachica .badge-count-pill{color:#fed7aa;border:1px solid #fb923c59}.multi-account-badge.prorrateo .badge-count-pill{color:#a7f3d0;border:1px solid #2ec48359}.multi-account-badge .badge-action-link{color:#93c5fd;opacity:.9;align-items:center;gap:.25rem;font-size:.72rem;font-weight:500;display:inline-flex}.multi-account-badge:hover .badge-action-link{opacity:1;text-decoration:underline}.btn-adjunto-summary{border-radius:var(--radius-sm);color:#93c5fd;cursor:pointer;white-space:nowrap;background:#60a5fa1f;border:1px solid #60a5fa4d;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.78rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-adjunto-summary:hover{color:#fff;background:#60a5fa38;border-color:#60a5fa;transform:translateY(-1px)}.btn-adjunto-summary.xml{color:#38bdf8;background:#38bdf81f;border-color:#38bdf84d;padding:.22rem .48rem;font-size:.72rem;text-decoration:none}.btn-adjunto-summary.xml:hover{color:#fff;background:#38bdf840;border-color:#38bdf8}.btn-adjunto-summary.pdf{color:#f87171;background:#f871711f;border-color:#f871714d;padding:.22rem .48rem;font-size:.72rem}.btn-adjunto-summary.pdf:hover{color:#fff;background:#f8717140;border-color:#f87171}@media (width<=960px){.filters-container{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important;padding:.85rem!important}.filters-container>div:first-child{flex-wrap:wrap;gap:.4rem;width:100%;display:flex}.filters-container .search-box{width:100%!important;max-width:100%!important}.filters-container .results-count{text-align:right;font-size:.75rem}}@media (width<=768px){.content-header{flex-direction:column!important;align-items:stretch!important;gap:.75rem!important}.content-header>div:last-child{flex-wrap:wrap;gap:.5rem;width:100%;display:flex}.content-header button,.content-header .btn-primary,.content-header .btn-secondary{flex:auto;justify-content:center;padding:.6rem .8rem}.page-title{font-size:1.4rem!important}.modal-overlay{align-items:flex-end!important;padding:.5rem!important}.modal-content{border-radius:var(--radius-md) var(--radius-md) 0 0!important;gap:1rem!important;width:100%!important;max-width:100%!important;max-height:92vh!important;padding:1.25rem 1rem!important}.form-row{grid-template-columns:1fr!important;gap:.65rem!important}.cajachica-totals-summary{grid-template-columns:repeat(2,1fr)!important;gap:.5rem!important}.cajachica-item-card{padding:.75rem!important}.capture-mode-toggle{flex-direction:row!important;gap:2px!important}.capture-mode-btn{padding:.5rem .4rem!important;font-size:.75rem!important}.actions-wrapper .btn-icon{min-width:30px;min-height:30px;padding:.35rem!important}}@media (width<=480px){.cajachica-totals-summary{grid-template-columns:1fr!important}.modal-header h3{font-size:1rem!important}}
