@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/bank-transactions-summarizer/assets/inter-latin-300-normal-BVlfKGgI.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-300-normal-i8F0SvXL.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/bank-transactions-summarizer/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/bank-transactions-summarizer/assets/inter-latin-500-normal-Cerq10X2.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-500-normal-BL9OpVg8.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/bank-transactions-summarizer/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/bank-transactions-summarizer/assets/inter-latin-700-normal-Yt3aPRUw.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-700-normal-BLAVimhd.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:300;src:url(/bank-transactions-summarizer/assets/inter-latin-ext-300-normal-CPgO9Ksf.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-ext-300-normal-Dp1L8vcn.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/bank-transactions-summarizer/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/bank-transactions-summarizer/assets/inter-latin-ext-500-normal-CV4jyFjo.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-ext-500-normal-BxGbmqWO.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/bank-transactions-summarizer/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/bank-transactions-summarizer/assets/inter-latin-ext-700-normal-Ca8adRJv.woff2)format("woff2"),url(/bank-transactions-summarizer/assets/inter-latin-ext-700-normal-TidjK2hL.woff)format("woff")}:root{--primary-color:#3b4a6b;--primary-hover:#2d3a56;--primary-light:#f0f2f8;--accent-color:#6366f1;--accent-hover:#4f46e5;--secondary-color:#64748b;--background:#f5f5f7;--surface:#fff;--text-primary:#1a1a2e;--text-secondary:#6b7280;--border-color:#e5e7eb;--success:#22c55e;--danger:#ef4444;--shadow-sm:0 1px 2px #0000000a;--shadow:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius:10px;--radius-lg:16px;--transition:.2s cubic-bezier(.4, 0, .2, 1);--table-font-size:.75rem;--table-header-font-size:.65rem;--table-cell-padding:.4rem .5rem}[data-theme=dark]{--primary-color:#8b9dc3;--primary-hover:#a3b5d6;--primary-light:#6366f114;--accent-color:#818cf8;--accent-hover:#6366f1;--secondary-color:#94a3b8;--background:#13131f;--surface:#1e1e2e;--text-primary:#e2e8f0;--text-secondary:#94a3b8;--border-color:#2e2e42;--success:#34d399;--danger:#f87171;--shadow-sm:0 1px 2px #0003;--shadow:0 1px 3px #0000004d, 0 1px 2px #0003;--shadow-md:0 4px 6px -1px #0000004d, 0 2px 4px -2px #0003;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -4px #0003}*{box-sizing:border-box}body{background-color:var(--background);color:var(--text-primary);margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5}.app{min-height:100vh}.app-header{color:#fff;text-align:center;background:linear-gradient(135deg,#1e1b4b 0%,#312e81 50%,#3730a3 100%);padding:1.25rem 1.5rem;position:relative}.app-header:after{content:"";background:linear-gradient(90deg,#6366f1,#a78bfa,#6366f1);height:3px;position:absolute;bottom:0;left:0;right:0}.app-header h1{letter-spacing:-.03em;margin:0 0 .25rem;font-size:1.5rem;font-weight:700}.app-subtitle{opacity:.8;letter-spacing:.01em;margin:0;font-size:.875rem;font-weight:300}.app-content{max-width:95%;margin:0 auto;padding:2rem}section{margin-bottom:2.5rem}section h2{color:var(--text-primary);letter-spacing:-.02em;align-items:center;gap:.5rem;margin:0 0 1.25rem;font-size:1.25rem;font-weight:600;display:flex}section h2:before{content:"";background:linear-gradient(180deg, var(--accent-color), #a78bfa);border-radius:2px;flex-shrink:0;width:4px;height:1.2em;display:inline-block}section h2 .count{color:var(--text-secondary);font-size:.875rem;font-weight:500}.controls-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);padding:2rem}.file-upload-section{border:2px dashed var(--border-color);border-radius:var(--radius-lg);transition:all var(--transition);background:linear-gradient(135deg,#6366f108 0%,#8b5cf608 100%);flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:1.5rem;display:flex}.file-upload-section:hover{border-color:var(--accent-color);background:linear-gradient(135deg,#6366f10f 0%,#8b5cf60f 100%)}.file-upload-section.dragging{border-color:var(--accent-color);background:linear-gradient(135deg,#6366f114 0%,#8b5cf614 100%);border-style:solid;box-shadow:0 0 0 4px #6366f11a}.upload-icon{color:var(--accent-color);flex-shrink:0}.upload-helper-text{color:var(--text-secondary);text-align:center;width:100%;margin:0;font-size:.75rem}.drop-hint{color:var(--text-secondary);font-size:.875rem}#fileInput{display:none}.file-upload-label{background:linear-gradient(135deg, var(--accent-color) 0%, #818cf8 100%);color:#fff;border-radius:var(--radius);cursor:pointer;letter-spacing:.01em;transition:all var(--transition);align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;display:inline-flex;box-shadow:0 2px 4px #6366f140,0 1px 2px #0000001a}.file-upload-label:hover{background:linear-gradient(135deg, var(--accent-hover) 0%, #6366f1 100%);transform:translateY(-2px);box-shadow:0 4px 8px #6366f159,0 2px 4px #0000001a}.file-upload-label:active{transform:translateY(0);box-shadow:0 1px 2px #6366f133}.current-file-display{background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-sm);align-items:center;padding:.5rem 1rem;display:flex}.file-icon{margin-right:.5rem;font-size:1.125rem}.file-name{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:300px;font-size:.875rem;overflow:hidden}.search-container{flex-direction:column;gap:1rem;padding:0;display:flex}.search-wrapper{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.search-input{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface);min-width:200px;max-width:400px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;flex:1;padding:.625rem 1rem;font-family:inherit;font-size:.9375rem}.search-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f126}.search-input::placeholder{color:var(--text-secondary)}.regular-button{background:linear-gradient(135deg, var(--accent-color) 0%, #818cf8 100%);color:#fff;letter-spacing:.01em;cursor:pointer;border-radius:var(--radius);transition:all var(--transition);border:none;padding:.75rem 1.5rem;font-family:inherit;font-size:.875rem;font-weight:600;box-shadow:0 2px 4px #6366f140,0 1px 2px #0000001a}.regular-button:hover{background:linear-gradient(135deg, var(--accent-hover) 0%, #6366f1 100%);transform:translateY(-2px);box-shadow:0 4px 8px #6366f159,0 2px 4px #0000001a}.regular-button:active{transform:translateY(0);box-shadow:0 1px 2px #6366f133}.search-button{background:linear-gradient(135deg, var(--secondary-color) 0%, #94a3b8 100%);box-shadow:0 2px 4px #64748b40,0 1px 2px #0000001a}.search-button:hover{background:linear-gradient(135deg,#475569 0%,#64748b 100%);box-shadow:0 4px 8px #64748b59,0 2px 4px #0000001a}.randomize-button{background:linear-gradient(135deg,#8b5cf6 0%,#a78bfa 100%);box-shadow:0 2px 4px #8b5cf640,0 1px 2px #0000001a}.randomize-button:hover{background:linear-gradient(135deg,#7c3aed 0%,#8b5cf6 100%);box-shadow:0 4px 8px #8b5cf659,0 2px 4px #0000001a}.period-fields-wrapper{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.period-text{color:var(--text-secondary);white-space:nowrap;font-size:.875rem;font-weight:500}.period-input{border:1px solid var(--border-color);border-radius:var(--radius);background:var(--surface);width:140px;color:var(--text-primary);transition:border-color var(--transition), box-shadow var(--transition);outline:none;padding:.625rem 1rem;font-family:inherit;font-size:.9375rem}.period-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f126}.period-button{background:linear-gradient(135deg, var(--secondary-color) 0%, #94a3b8 100%);box-shadow:0 2px 4px #64748b40,0 1px 2px #0000001a}.period-button:hover{background:linear-gradient(135deg,#475569 0%,#64748b 100%);box-shadow:0 4px 8px #64748b59,0 2px 4px #0000001a}.statistics-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:box-shadow var(--transition);padding:2rem}.statistics-section:hover{box-shadow:var(--shadow-lg)}.transactions-section{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:box-shadow var(--transition);padding:2rem}.transactions-section:hover{box-shadow:var(--shadow-lg)}.table-wrapper{border-radius:var(--radius);margin:0 -.5rem;padding:0 .5rem;overflow-x:auto}.statistics-section table{border-collapse:separate;border-spacing:2px;width:100%;font-size:var(--table-font-size);box-shadow:none;background-color:#0000;margin:0}.statistics-section table th,.statistics-section table td{padding:var(--table-cell-padding);text-align:left;border-bottom:none;border-radius:4px}.statistics-section table th{background-color:var(--background);color:var(--text-secondary);font-weight:600;font-size:var(--table-header-font-size);text-transform:uppercase;letter-spacing:.05em;z-index:10;position:sticky;top:0}.statistics-section table th:first-child,.statistics-section table td:first-child{white-space:nowrap;z-index:5;position:sticky;left:0}.statistics-section table th:first-child{z-index:15}.statistics-section table td:first-child{background-color:var(--surface);font-weight:500}.statistics-section table tbody tr{transition:none}.statistics-section table tr.sum{background-color:#0000!important}.statistics-section table tr.sum td{color:#fff;border-bottom:none;font-weight:600;background-color:var(--primary-color)!important}.statistics-section table tr.sum:hover td{background-color:var(--primary-hover)!important}table{border-collapse:collapse;width:100%;font-size:var(--table-font-size);background-color:var(--surface);box-shadow:none;margin:0}table th,table td{padding:var(--table-cell-padding);text-align:left;border-bottom:1px solid var(--border-color)}table th{background-color:var(--background);color:var(--text-secondary);font-weight:600;font-size:var(--table-header-font-size);text-transform:uppercase;letter-spacing:.05em;z-index:10;position:sticky;top:0}table th:first-child,table td:first-child{white-space:nowrap;background-color:var(--surface);z-index:5;position:sticky;left:0}table th:first-child{background-color:var(--background);z-index:15}.transactions-section table tbody tr{transition:background-color var(--transition)}.transactions-section table tbody tr:hover{background-color:var(--primary-light)}.transactions-section table tbody tr:nth-child(2n){background-color:var(--background)}.transactions-section table tbody tr:nth-child(2n):hover{background-color:var(--primary-light)}table tr.sum{color:#fff;font-weight:600;background-color:var(--primary-color)!important}table tr.sum td{border-bottom:none;background-color:var(--primary-color)!important}table tr.sum:hover,table tr.sum:hover td{background-color:var(--primary-hover)!important}.statistics-controls-bar{background:var(--background);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1.5rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.statistics-controls-bar .control-group{align-items:center;gap:.5rem;display:flex}.statistics-controls-bar button{border:1px solid var(--border-color);background:var(--surface);cursor:pointer;color:var(--text-secondary);border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:all .15s}.statistics-controls-bar button:hover{background:var(--primary-light);border-color:#94a3b8}.statistics-controls-bar button.active{background:var(--text-primary);color:#fff;border-color:var(--text-primary)}.statistics-controls-bar button.active:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.statistics-section td.num-cell{text-align:right;white-space:nowrap;font-family:SF Mono,Fira Code,Cascadia Code,Consolas,monospace}.statistics-section tr.depth-0{background:#e2e8f0;font-size:.85rem;font-weight:700}.statistics-section tr.depth-0 td{border-bottom:2px solid #cbd5e1}.statistics-section tr.depth-0 td:first-child{background:#e2e8f0}.statistics-section tr.depth-1{background:#f1f5f9;font-size:.8rem;font-weight:600}.statistics-section tr.depth-1 td{border-bottom:1px solid #e2e8f0}.statistics-section tr.depth-1 td:first-child{background:#f1f5f9}.statistics-section tr.depth-2{background:#f8fafc;font-size:.78rem;font-weight:400}.statistics-section tr.depth-2 td{border-bottom:1px solid #f1f5f9}.statistics-section tr.depth-2 td:first-child{background:#f8fafc}.statistics-section tr.depth-3{color:#64748b;background:#fff;font-size:.75rem;font-weight:400}.statistics-section tr.depth-3 td{border-bottom:1px solid #f8fafc}.statistics-section tr.depth-3 td:first-child{background:#fff}[data-theme=dark] .statistics-section tr.depth-0{background:#2a2a3e}[data-theme=dark] .statistics-section tr.depth-0 td{border-bottom:2px solid #3e3e56}[data-theme=dark] .statistics-section tr.depth-0 td:first-child{background:#2a2a3e}[data-theme=dark] .statistics-section tr.depth-1{background:#232336}[data-theme=dark] .statistics-section tr.depth-1 td{border-bottom:1px solid #2a2a3e}[data-theme=dark] .statistics-section tr.depth-1 td:first-child{background:#232336}[data-theme=dark] .statistics-section tr.depth-2{background:#1e1e2e}[data-theme=dark] .statistics-section tr.depth-2 td{border-bottom:1px solid #232336}[data-theme=dark] .statistics-section tr.depth-2 td:first-child{background:#1e1e2e}[data-theme=dark] .statistics-section tr.depth-3{color:#94a3b8;background:#1a1a2a}[data-theme=dark] .statistics-section tr.depth-3 td{border-bottom:1px solid #1e1e2e}[data-theme=dark] .statistics-section tr.depth-3 td:first-child{background:#1a1a2a}td.cat-cell-parent{cursor:pointer;-webkit-user-select:none;user-select:none}td.cat-cell-parent:hover{filter:brightness(.95)}.cat-content{align-items:center;gap:4px;display:flex}.indent{flex-shrink:0}.chevron{color:#94a3b8;text-align:center;flex-shrink:0;width:14px;font-size:.6rem;transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(90deg)}.no-chevron{flex-shrink:0;width:14px;display:inline-block}@media (width<=768px){.app-header{padding:.75rem 1rem}.app-header h1{font-size:1.25rem}.app-subtitle{font-size:.8125rem}.app-content,.controls-section,.statistics-section,.transactions-section{padding:1rem}.search-wrapper,.period-fields-wrapper{flex-direction:column;align-items:stretch}.search-input,.period-input{width:100%;max-width:none}.regular-button{width:100%}.display-settings{flex-direction:column;align-items:stretch;gap:.75rem}.display-settings-group{flex-direction:column;align-items:stretch;gap:.5rem}.display-settings-label{font-size:.875rem}.segmented-control{width:100%}.segmented-control-button{flex:1;padding:.5rem;font-size:.8125rem}.statistics-section table th:not(:first-child):not(:nth-last-child(-n+2)),.statistics-section table td:not(:first-child):not(:nth-last-child(-n+2)){display:none}table th,table td{padding:.5rem .4rem;font-size:.8125rem}table th{font-size:.75rem}table th:first-child,table td:first-child{min-width:120px;max-width:180px}section h2{font-size:1.125rem}section h2 .count{font-size:.8125rem}}.display-settings{background:var(--background);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding:.75rem 1rem;display:flex}.display-settings-group{align-items:center;gap:.5rem;display:flex}.display-settings-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.segmented-control{background:var(--border-color);border-radius:var(--radius);gap:2px;padding:3px;display:inline-flex}.segmented-control-button{border-radius:calc(var(--radius) - 2px);cursor:pointer;color:var(--text-secondary);transition:all var(--transition);background:0 0;border:none;padding:.375rem .75rem;font-family:inherit;font-size:.75rem}.segmented-control-button:hover{color:var(--text-primary)}.segmented-control-button.active{background:var(--surface);color:var(--text-primary);box-shadow:0 1px 3px #0000001a}.theme-toggle{align-items:center;gap:.5rem;margin-left:auto;display:inline-flex}.theme-toggle-label{color:var(--text-secondary);font-size:.75rem;font-weight:500}.theme-toggle-button{border:1px solid var(--border-color);background:var(--surface);border-radius:var(--radius);cursor:pointer;width:36px;height:36px;transition:all var(--transition);color:var(--text-primary);justify-content:center;align-items:center;font-size:1.1rem;display:inline-flex}.theme-toggle-button:hover{border-color:var(--accent-color);box-shadow:0 0 0 3px #6366f11a}[data-theme=dark] .app-header{background:linear-gradient(135deg,#0f0e26 0%,#1e1b4b 50%,#252366 100%)}[data-theme=dark] .file-upload-label,[data-theme=dark] .regular-button{box-shadow:0 2px 4px #0000004d,0 1px 2px #0003}[data-theme=dark] .file-upload-label:hover,[data-theme=dark] .regular-button:hover{box-shadow:0 4px 8px #0006,0 2px 4px #0003}[data-theme=dark] .search-input,[data-theme=dark] .period-input{background:var(--surface);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] table tbody tr:nth-child(2n) td:first-child{background-color:var(--background)}[data-theme=dark] .statistics-section table td:first-child{background-color:var(--surface)}[data-theme=dark] input[type=date]::-webkit-calendar-picker-indicator{filter:invert()}
