@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap);:root{--color-bg:#f8f9fa;--color-surface:#fff;--color-border:#e1e4e8;--color-text:#24292e;--color-text-secondary:#586069;--color-primary:#0969da;--color-primary-hover:#0860ca;--color-success:#2da44e;--color-danger:#cf222e;--color-warning:#fb8500;--color-income:#2da44e;--color-expense:#cf222e;--radius:8px;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #0000001a;--shadow-lg:0 8px 24px #0000001f;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;background:var(--color-bg);color:#24292e;color:var(--color-text);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh}.loading{align-items:center;color:#586069;color:var(--color-text-secondary);display:flex;font-size:14px;justify-content:center;min-height:200px}.spinner{animation:spin .8s linear infinite;border:3px solid #e1e4e8;border-top-color:#0969da;border:3px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);height:32px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.login-container{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:100vh;padding:24px;padding:var(--spacing-lg);text-align:center}.login-container h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#0969da,#0860ca);background:linear-gradient(135deg,var(--color-primary) 0,#0860ca 100%);-webkit-background-clip:text;background-clip:text;font-size:32px;font-weight:700;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.login-container p{color:#586069;color:var(--color-text-secondary);margin-bottom:32px;margin-bottom:var(--spacing-xl)}.app-header{background:#fff;background:var(--color-surface);border-bottom:1px solid #e1e4e8;border-bottom:1px solid var(--color-border);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg)}.header-content h1{color:#24292e;color:var(--color-text);font-size:22px;font-weight:700}.header-controls{align-items:center;display:flex;gap:16px;gap:var(--spacing-md)}.month-picker{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);color:#24292e;color:var(--color-text);cursor:pointer;font-family:JetBrains Mono,monospace;font-size:14px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.month-picker:hover{border-color:#0969da;border-color:var(--color-primary)}.user-menu{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm)}.user-avatar{border:2px solid #e1e4e8;border:2px solid var(--color-border);border-radius:50%;height:32px;width:32px}.btn-logout{background:#0000;border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);color:#24292e;color:var(--color-text);cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.btn-logout:hover{background:#f8f9fa;background:var(--color-bg)}.tabs{display:flex;gap:0;margin:0 auto;max-width:1200px;padding:0 24px;padding:0 var(--spacing-lg);width:100%}.tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#586069;color:var(--color-text-secondary);cursor:pointer;font-size:14px;font-weight:500;padding:16px 24px;padding:var(--spacing-md) var(--spacing-lg);position:relative;transition:all .2s}.tab:hover{color:#24292e;color:var(--color-text)}.tab.active{border-bottom-color:#0969da;border-bottom-color:var(--color-primary);color:#0969da;color:var(--color-primary)}.app-main{flex:1 1;margin:0 auto;max-width:1200px;padding:24px;padding:var(--spacing-lg);width:100%}.page-actions{display:flex;flex-wrap:wrap}.page-actions,.summary-cards{gap:16px;gap:var(--spacing-md);margin-bottom:24px;margin-bottom:var(--spacing-lg)}.summary-cards{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-card{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:24px;padding:var(--spacing-lg)}.summary-label{color:#586069;color:var(--color-text-secondary);font-size:13px;font-weight:500;letter-spacing:.5px;margin-bottom:8px;margin-bottom:var(--spacing-sm);text-transform:uppercase}.summary-value{font-family:JetBrains Mono,monospace;font-size:28px;font-weight:700}.income-card .summary-value{color:#2da44e;color:var(--color-income)}.expense-card .summary-value{color:#cf222e;color:var(--color-expense)}.balance-card .summary-value{color:#24292e;color:var(--color-text)}.category-section{margin-bottom:32px;margin-bottom:var(--spacing-xl)}.category-section h2{color:#24292e;color:var(--color-text);font-size:18px;font-weight:600;margin-bottom:16px;margin-bottom:var(--spacing-md)}.categories-list{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md)}.category-item{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:16px;padding:var(--spacing-md);transition:all .2s}.category-item:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md)}.category-header{align-items:flex-start;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.category-header,.category-name-budget{display:flex;justify-content:space-between}.category-name-budget{align-items:center;flex:1 1;gap:16px;gap:var(--spacing-md)}.category-name{color:#24292e;color:var(--color-text);font-size:15px;font-weight:600}.category-name.clickable{cursor:pointer;transition:color .2s}.category-name.clickable:hover{color:#0969da;color:var(--color-primary);text-decoration:underline}.category-budget-only,.category-spent{color:#586069;color:var(--color-text-secondary);font-family:JetBrains Mono,monospace;font-size:14px;font-weight:500;white-space:nowrap}.category-actions{display:flex;gap:4px;gap:var(--spacing-xs)}.progress-bar{background:#e1e4e8;background:var(--color-border);border-radius:2px;height:4px;margin-bottom:8px;margin-bottom:var(--spacing-sm);overflow:hidden}.progress-fill{background:#2da44e;background:var(--color-success);height:100%;transition:width .3s ease}.progress-fill.over-budget{background:#cf222e;background:var(--color-danger)}.category-budget-input{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm);margin-bottom:8px;margin-bottom:var(--spacing-sm)}.category-budget-input label{color:#586069;color:var(--color-text-secondary);font-size:13px;font-weight:500}.input-budget{border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);flex:1 1;font-family:JetBrains Mono,monospace;font-size:14px;max-width:150px;padding:8px;padding:var(--spacing-sm)}.category-remaining{color:#2da44e;color:var(--color-success);font-size:13px;font-weight:500}.category-remaining.negative{color:#cf222e;color:var(--color-danger)}.transactions-list{grid-gap:8px;grid-gap:var(--spacing-sm);display:grid;gap:8px;gap:var(--spacing-sm)}.transaction-item{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:16px;padding:var(--spacing-md);transition:all .2s}.transaction-item:hover{box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md)}.transaction-main{grid-gap:16px;grid-gap:var(--spacing-md);align-items:start;display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:auto 1fr auto;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.transaction-date{color:#586069;color:var(--color-text-secondary);font-family:JetBrains Mono,monospace;font-size:13px;white-space:nowrap}.transaction-info{min-width:0}.transaction-merchant{color:#24292e;color:var(--color-text);font-size:14px;font-weight:600;margin-bottom:2px}.transaction-category{color:#586069;color:var(--color-text-secondary);font-size:13px}.split-indicator{color:#0969da;color:var(--color-primary);font-weight:500}.transaction-description{color:#586069;color:var(--color-text-secondary);font-size:13px;font-style:italic;margin-top:4px}.transaction-amount{font-family:JetBrains Mono,monospace;font-size:16px;font-weight:600;white-space:nowrap}.transaction-amount.income{color:#2da44e;color:var(--color-income)}.transaction-amount.expense{color:#cf222e;color:var(--color-expense)}.transaction-actions{align-items:center;display:flex;gap:8px;gap:var(--spacing-sm)}.btn-verify{align-items:center;background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:50%;color:#586069;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;height:24px;justify-content:center;transition:all .2s;width:24px}.btn-verify.verified,.btn-verify:hover{border-color:#2da44e;border-color:var(--color-success)}.btn-verify.verified{background:#2da44e;background:var(--color-success);color:#fff}.recurring-badge{color:#0969da;color:var(--color-primary);font-size:16px}.btn{border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.btn-primary{background:#0969da;background:var(--color-primary);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);color:#fff}.btn-primary:hover{background:#0860ca;background:var(--color-primary-hover);box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md)}.btn-primary:disabled{cursor:not-allowed;opacity:.5}.btn-secondary{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);color:#24292e;color:var(--color-text)}.btn-secondary:hover{background:#f8f9fa;background:var(--color-bg)}.btn-icon{align-items:center;background:#0000;border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);color:#586069;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:14px;height:28px;justify-content:center;padding:0;transition:all .2s;width:28px}.btn-icon:hover{background:#f8f9fa;background:var(--color-bg);border-color:#24292e;border-color:var(--color-text);color:#24292e;color:var(--color-text)}.modal-overlay{align-items:center;animation:fadeIn .2s;background:#00000080;display:flex;inset:0;justify-content:center;padding:24px;padding:var(--spacing-lg);position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{animation:slideUp .3s;background:#fff;background:var(--color-surface);border-radius:8px;border-radius:var(--radius);box-shadow:0 8px 24px #0000001f;box-shadow:var(--shadow-lg);max-height:90vh;max-width:500px;overflow:auto;width:100%}.modal-lg{max-width:600px}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e1e4e8;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:24px;padding:var(--spacing-lg)}.modal-header h2{font-size:18px;font-weight:600}.modal-subtitle{display:block;font-size:13px;font-weight:400;margin-top:2px}.modal-close,.modal-subtitle{color:#586069;color:var(--color-text-secondary)}.modal-close{align-items:center;background:#0000;border:none;border-radius:8px;border-radius:var(--radius);cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;padding:0;transition:all .2s;width:32px}.modal-close:hover{background:#f8f9fa;background:var(--color-bg);color:#24292e;color:var(--color-text)}.modal-body,.modal-footer{padding:24px;padding:var(--spacing-lg)}.modal-footer{border-top:1px solid #e1e4e8;border-top:1px solid var(--color-border);display:flex;gap:16px;gap:var(--spacing-md);justify-content:flex-end}.category-transactions-summary{background:#f8f9fa;background:var(--color-bg);border-radius:8px;border-radius:var(--radius);display:flex;gap:24px;gap:var(--spacing-lg);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.category-transactions-summary .summary-item{display:flex;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.category-transactions-summary .summary-label{color:#586069;color:var(--color-text-secondary);font-size:12px;letter-spacing:.5px;text-transform:uppercase}.category-transactions-summary .summary-value{font-family:JetBrains Mono,monospace;font-size:18px;font-weight:700}.category-transactions-summary .summary-value.income{color:#2da44e;color:var(--color-income)}.category-transactions-summary .summary-value.expense{color:#cf222e;color:var(--color-expense)}.transactions-list.compact{max-height:400px;overflow-y:auto}.transaction-item.compact{margin-bottom:4px;margin-bottom:var(--spacing-xs);padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:all .2s}.transaction-item.compact:hover{background:#f8f9fa;background:var(--color-bg)}.transaction-badge{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;margin-left:8px;margin-left:var(--spacing-sm);padding:2px 8px}.transaction-badge.verified{background:#2da44e;background:var(--color-success);color:#fff}.modal-actions{border-top:1px solid #e1e4e8;border-top:1px solid var(--color-border);display:flex;gap:16px;gap:var(--spacing-md);justify-content:flex-end;margin-top:24px;margin-top:var(--spacing-lg);padding-top:24px;padding-top:var(--spacing-lg)}.form-group{margin-bottom:16px;margin-bottom:var(--spacing-md)}.form-group label{color:#24292e;color:var(--color-text);display:block;font-size:13px;font-weight:500;margin-bottom:4px;margin-bottom:var(--spacing-xs)}.form-row{grid-gap:16px;grid-gap:var(--spacing-md);display:grid;gap:16px;gap:var(--spacing-md);grid-template-columns:1fr 1fr}.input-file,.input-select,.input-text,.input-textarea{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);color:#24292e;color:var(--color-text);font-family:inherit;font-size:14px;padding:8px;padding:var(--spacing-sm);transition:all .2s;width:100%}.input-select:focus,.input-text:focus,.input-textarea:focus{border-color:#0969da;border-color:var(--color-primary);box-shadow:0 0 0 3px #0969da1a;outline:none}.input-textarea{min-height:60px;resize:vertical}.form-group-checkbox{margin-bottom:16px;margin-bottom:var(--spacing-md)}.form-group-checkbox label{align-items:center;cursor:pointer;display:flex;font-size:14px;font-weight:400;gap:8px;gap:var(--spacing-sm)}.form-group-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.form-hint{color:#586069;color:var(--color-text-secondary);display:block;font-size:12px;margin-top:4px;margin-top:var(--spacing-xs)}.favicon-preview{align-items:center;background:#f8f9fa;background:var(--color-bg);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);display:flex;gap:16px;gap:var(--spacing-md);margin-bottom:16px;margin-bottom:var(--spacing-md);padding:16px;padding:var(--spacing-md)}.favicon-preview img{background:#fff;border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:4px;height:32px;object-fit:contain;padding:4px;width:32px}.favicon-preview span{color:#586069;color:var(--color-text-secondary);font-size:13px}.autocomplete-wrapper{position:relative}.autocomplete-suggestions{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:0 0 8px 8px;border-radius:0 0 var(--radius) var(--radius);border-top:none;box-shadow:0 4px 12px #0000001a;box-shadow:var(--shadow-md);left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:10}.autocomplete-item{cursor:pointer;font-size:14px;padding:8px 16px;padding:var(--spacing-sm) var(--spacing-md);transition:background .2s}.autocomplete-item:hover{background:#f8f9fa;background:var(--color-bg)}.checkbox-list{border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);max-height:200px;overflow-y:auto;padding:8px;padding:var(--spacing-sm)}.checkbox-item{align-items:center;border-radius:4px;cursor:pointer;display:flex;font-size:14px;gap:8px;gap:var(--spacing-sm);padding:4px;padding:var(--spacing-xs);transition:background .2s}.checkbox-item:hover{background:#f8f9fa;background:var(--color-bg)}.checkbox-item input[type=checkbox]{cursor:pointer;height:16px;width:16px}.settings-page h2{font-size:24px;font-weight:700}.settings-page h2,.settings-section{margin-bottom:24px;margin-bottom:var(--spacing-lg)}.settings-section{background:#fff;background:var(--color-surface);border:1px solid #e1e4e8;border:1px solid var(--color-border);border-radius:8px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014;box-shadow:var(--shadow-sm);padding:24px;padding:var(--spacing-lg)}.settings-section h3{font-size:16px;font-weight:600}.settings-hint,.settings-section h3{margin-bottom:16px;margin-bottom:var(--spacing-md)}.settings-hint{color:#586069;color:var(--color-text-secondary);font-size:14px}.settings-actions{display:flex;justify-content:flex-end;margin-bottom:24px;margin-bottom:var(--spacing-lg)}.instructions{font-size:14px;line-height:1.6}.instructions h4{font-size:15px;font-weight:600;margin-bottom:8px;margin-bottom:var(--spacing-sm)}.instructions ol{padding-left:24px;padding-left:var(--spacing-lg)}.instructions li{margin-bottom:4px;margin-bottom:var(--spacing-xs)}.instructions a{color:#0969da;color:var(--color-primary);text-decoration:none}.instructions a:hover{text-decoration:underline}.empty-state{color:#586069;color:var(--color-text-secondary);font-size:14px;padding:32px;padding:var(--spacing-xl);text-align:center}@media (max-width:768px){.header-content{align-items:stretch;flex-direction:column;gap:16px;gap:var(--spacing-md)}.header-controls{justify-content:space-between}.tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.tab{white-space:nowrap}.summary-cards,.transaction-main{grid-template-columns:1fr}.transaction-main{gap:8px;gap:var(--spacing-sm)}.transaction-date{order:-1}.transaction-amount{text-align:left}.form-row{grid-template-columns:1fr}.page-actions{flex-direction:column}.page-actions .btn{width:100%}.modal{border-radius:0;margin:0;max-height:100vh}}@media (max-width:480px){.app-main,.header-content{padding:16px;padding:var(--spacing-md)}.tabs{padding:0 16px;padding:0 var(--spacing-md)}.category-name-budget{align-items:flex-start;flex-direction:column;gap:4px;gap:var(--spacing-xs)}.modal-overlay{padding:0}}
/*# sourceMappingURL=main.b5f2ed60.css.map*/