:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#111827;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;color:inherit;background-color:#f9f9f9;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}:root{--color-income: #16a34a;--color-expense: #dc2626;--color-muted: #9ca3af;--color-border: #e5e7eb;--color-bg-alt: #f9fafb;--color-bg-hover: #f3f4f6;--color-badge-bg: #e5e7eb;--color-badge-text: #6b7280;--color-text: #111827;--color-text-secondary: #6b7280;--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-warning: #d97706;--color-warning-bg: #fef3c7;--color-error: #dc2626;--color-error-bg: #fef2f2;--color-success: #16a34a;--color-success-bg: #dcfce7}*,*:before,*:after{box-sizing:border-box}#root{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.app{min-height:100vh}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 0;border-bottom:1px solid var(--color-border);margin-bottom:1.5rem}.app-header h1{margin:0;font-size:1.5rem;font-weight:600;color:var(--color-text)}.app-main{display:flex;gap:1.5rem;padding-bottom:2rem}.transactions-panel{flex:1;min-width:0}.transactions-panel.with-sidebar{flex:1}.app-error{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin-bottom:1rem;background-color:var(--color-error-bg);border:1px solid #fecaca;border-radius:.5rem;color:var(--color-error);font-size:.875rem}.btn{display:inline-flex;align-items:center;gap:.375rem;padding:.5rem 1rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s,border-color .15s;background:#fff;color:var(--color-text)}.btn:hover:not(:disabled){background-color:var(--color-bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-secondary{background:#fff;border-color:var(--color-border);color:var(--color-text)}.btn-warning{background-color:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning)}.btn-active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-small{padding:.25rem .5rem;font-size:.75rem}.toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.plaid-link-wrapper{display:flex;align-items:center;gap:.75rem}.plaid-link-error{color:var(--color-error);font-size:.8125rem;max-width:400px}.plaid-link-info{color:var(--color-text-secondary);font-size:.8125rem;max-width:400px}.account-status{margin-bottom:1.5rem}.account-status-card{padding:1rem;border:1px solid var(--color-border);border-radius:.5rem;background:#fff}.account-status-card+.account-status-card{margin-top:.75rem}.account-status-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.account-status-info{display:flex;align-items:center;gap:.5rem}.account-status-institution{font-weight:600;color:var(--color-text)}.account-status-label{font-size:.8125rem;color:var(--color-text-secondary)}.account-status-actions{display:flex;align-items:center;gap:.75rem}.account-status-synced{font-size:.8125rem;color:var(--color-text-secondary)}.account-status-accounts{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.account-chip{display:inline-block;padding:.25rem .625rem;background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:9999px;font-size:.8125rem;color:var(--color-text)}.account-status-error{margin-top:.5rem;color:var(--color-error);font-size:.8125rem}.status-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background-color:var(--color-muted);flex-shrink:0}.status-dot-connected{background-color:var(--color-success)}.status-dot-warning{background-color:var(--color-warning)}.status-dot-error{background-color:var(--color-error)}.account-filter{margin-bottom:1rem}.account-filter-select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;color:var(--color-text);background:#fff;min-width:200px;cursor:pointer}.account-filter-select:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.transaction-table-wrapper{overflow-x:auto;-webkit-overflow-scrolling:touch}.transaction-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.5}.transaction-table th{text-align:left;padding:.75rem 1rem;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);white-space:nowrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.transaction-table td{padding:.75rem 1rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.transaction-table tbody tr:nth-child(2n){background-color:var(--color-bg-alt)}.transaction-table tbody tr:hover{background-color:var(--color-bg-hover)}.transaction-table th.col-amount,.transaction-table td.col-amount{text-align:right}.amount-income{color:var(--color-income);font-weight:500}.amount-expense{color:var(--color-expense);font-weight:500}.col-description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-uncategorized{color:var(--color-muted);font-style:italic}.status-badge{display:inline-block;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;line-height:1.5}.status-uncategorized{background-color:var(--color-badge-bg);color:var(--color-badge-text)}.status-manual{background-color:#dbeafe;color:#1d4ed8}.status-auto{background-color:#dcfce7;color:#15803d}.status-suggested{background-color:#fef3c7;color:#b45309}.confidence-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:1px 5px;border-radius:4px;margin-left:4px;vertical-align:middle}.confidence-high{background-color:var(--color-success-bg);color:var(--color-success)}.confidence-medium{background-color:var(--color-warning-bg);color:var(--color-warning)}.confidence-low{background-color:var(--color-error-bg);color:var(--color-error)}.row-pending{opacity:.65;font-style:italic}.categories-panel{width:320px;flex-shrink:0;border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;background:#fff;max-height:calc(100vh - 200px);overflow-y:auto;position:sticky;top:1rem}.category-browser-title{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--color-text)}.category-section+.category-section{margin-top:.5rem}.category-section-header{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--color-border)}.category-section-header:hover{background-color:var(--color-bg-hover)}.category-section-label{font-weight:600;font-size:.8125rem;color:var(--color-text);letter-spacing:.05em}.category-section-count{font-size:.75rem;color:var(--color-text-secondary);margin-left:auto}.category-section-body{padding:.25rem 0}.category-item{display:flex;align-items:center;gap:.375rem;padding:.3rem 0;font-size:.8125rem;color:var(--color-text)}.category-item-expandable{cursor:pointer;-webkit-user-select:none;user-select:none}.category-item-expandable:hover{background-color:var(--color-bg-hover);border-radius:.25rem}.category-toggle{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.category-name{flex:1}.category-line{font-size:.75rem;color:var(--color-text-secondary);white-space:nowrap}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.empty-state p{color:var(--color-text-secondary);font-size:1.125rem;margin:0}.loading-state{display:flex;align-items:center;justify-content:center;padding:4rem 2rem;color:var(--color-text-secondary);font-size:1rem}@media(max-width:768px){.app-header{flex-direction:column;align-items:flex-start;gap:.75rem}.app-main{flex-direction:column}.categories-panel{width:100%;position:static;max-height:400px}.account-status-header{flex-direction:column;align-items:flex-start}.account-status-actions{width:100%;justify-content:space-between}.col-description{max-width:180px}.dashboard-stats{grid-template-columns:repeat(2,1fr)}.filter-bar{flex-direction:column;align-items:stretch}}.dashboard-card{padding:1rem;border:1px solid var(--color-border);border-radius:.5rem;background:#fff;margin-bottom:1.5rem}.dashboard-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.dashboard-stat{display:flex;flex-direction:column}.dashboard-stat-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.25rem}.dashboard-stat-value{font-size:1.25rem;font-weight:700;color:var(--color-text)}.dashboard-uncategorized .dashboard-stat-value{cursor:pointer;color:var(--color-warning)}.dashboard-uncategorized .dashboard-stat-value:hover{text-decoration:underline}.filter-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.75rem 0;margin-bottom:1rem;border-bottom:1px solid var(--color-border)}.filter-bar select,.filter-bar input[type=date]{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;color:var(--color-text);background:#fff;cursor:pointer}.filter-bar select:focus,.filter-bar input:focus{outline:2px solid var(--color-primary);outline-offset:-1px}.category-picker{position:fixed;z-index:1000;background:#fff;border:1px solid var(--color-border);border-radius:.5rem;box-shadow:0 4px 12px #00000026;max-height:300px;overflow-y:auto;min-width:250px}.category-picker-section-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);padding:.5rem .75rem;font-weight:600;border-bottom:1px solid var(--color-border)}.category-picker-item{padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:var(--color-text)}.category-picker-item:hover{background-color:var(--color-bg-hover)}.category-picker-item-nested{padding-left:1.5rem}.category-picker-nondeductible .category-picker-section-label{background-color:#fef3c780;color:var(--color-warning)}.rule-prompt-overlay{position:fixed;inset:0;background:#0000004d;z-index:2000;display:flex;align-items:center;justify-content:center}.rule-prompt{background:#fff;border-radius:.5rem;padding:1.5rem;min-width:400px;max-width:500px;box-shadow:0 4px 24px #0003}.rule-prompt h3{margin:0 0 .75rem}.rule-prompt input{width:100%;padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;margin:.25rem 0 .75rem}.rule-prompt-category{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:.75rem}.rule-prompt-actions{display:flex;gap:.75rem;justify-content:flex-end}.rule-prompt-result{font-size:.875rem;color:var(--color-success);margin-top:.5rem;font-weight:500}.col-category-clickable{cursor:pointer;position:relative}.col-category-clickable:hover{background-color:var(--color-bg-hover);border-radius:.25rem}.view-tabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:1rem}.view-tab{padding:.75rem 1.5rem;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;font-weight:500;color:var(--color-text-secondary);background:none;border-top:none;border-left:none;border-right:none;font-size:.875rem}.view-tab:hover{color:var(--color-text)}.view-tab-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.view-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.25rem;height:1.25rem;padding:0 .375rem;border-radius:9999px;font-size:.75rem;background:var(--color-warning-bg);color:var(--color-warning);margin-left:.5rem;font-weight:600}.transfer-review{padding:0}.transfer-empty{text-align:center;padding:3rem 2rem;color:var(--color-text-secondary)}.transfer-card{border:1px solid var(--color-border);border-radius:.5rem;padding:1rem;margin-bottom:.75rem;background:#fff}.transfer-card-pair{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}.transfer-card-txn{padding:.5rem}.transfer-card-txn-label{font-size:.6875rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:.25rem;font-weight:600}.transfer-card-txn-desc{font-weight:500;margin-bottom:.25rem;font-size:.875rem}.transfer-card-txn-date{font-size:.8125rem;color:var(--color-text-secondary)}.transfer-card-txn-amount{font-size:1.125rem;font-weight:600}.transfer-card-arrow{font-size:1.5rem;color:var(--color-text-secondary);text-align:center}.transfer-card-meta{display:flex;align-items:center;gap:1rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border)}.transfer-confidence-high{color:var(--color-success);font-weight:500;font-size:.875rem}.transfer-confidence-medium{color:var(--color-warning);font-weight:500;font-size:.875rem}.transfer-card-actions{margin-left:auto;display:flex;gap:.5rem}.ai-toolbar{display:flex;align-items:center;gap:.75rem;padding:.5rem 0}.btn-ai-categorize{padding:.5rem 1rem;border-radius:6px;border:1px solid #7c3aed;background:#7c3aed;color:#fff;font-size:.875rem;font-weight:500;cursor:pointer}.btn-ai-categorize:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.btn-ai-categorize:disabled{opacity:.6;cursor:not-allowed}.ai-result-message{font-size:.875rem;color:var(--color-text-secondary)}.btn-confirm-suggestion{margin-left:.5rem;padding:.125rem .5rem;font-size:.75rem;border-radius:4px;border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer}.btn-confirm-suggestion:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.btn-confirm-suggestion:disabled{opacity:.5;cursor:not-allowed}.pnl-report{padding:0}.tax-heading,.tax-detail-summary,.tax-pagination{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.tax-heading h2{margin:0 0 .35rem}.tax-heading p,.tax-overview-note,.tax-detail-note{color:var(--color-text-secondary);margin:.5rem 0 1rem}.tax-period-controls{justify-content:flex-start;margin-top:1rem}.tax-period-controls label{display:flex;align-items:center;gap:.5rem;font-weight:600}.tax-period-controls select,.tax-transaction-table select{padding:.55rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-primary, white);color:inherit;font:inherit}.tax-current-period{color:var(--color-text-secondary);font-size:.875rem}.tax-category-table{table-layout:fixed}.tax-category-table th:first-child{width:72px}.tax-category-table th:nth-child(3){width:130px}.tax-category-table th:nth-child(4){width:60px}.tax-category-toggle{display:block;text-align:left;background:none;border:0;color:inherit;font:inherit;cursor:pointer;width:100%;padding:.25rem 0}.tax-category-toggle:hover{color:var(--color-primary, #2563eb)}.tax-category-toggle:focus-visible{outline:2px solid var(--color-primary, #2563eb);outline-offset:3px}.tax-category-toggle small{display:block;margin:.25rem 0 0 1.2rem;font-size:.75rem;font-weight:400;color:var(--color-text-secondary)}.pnl-row-child .tax-category-toggle{padding-left:1rem}.tax-amount,.tax-count{text-align:right!important;font-variant-numeric:tabular-nums}.tax-detail-cell{padding:0!important}.tax-transactions{padding:1rem;border-left:3px solid var(--color-primary, #2563eb);background:var(--color-bg-secondary, #f8fafc)}.tax-detail-summary{font-size:.875rem;margin:.75rem 0}.tax-transaction-table{width:100%;table-layout:fixed;border-collapse:collapse;background:var(--color-bg-primary, white)}.tax-transaction-table th,.tax-transaction-table td{padding:.7rem;vertical-align:top;text-align:left;border-bottom:1px solid var(--color-border);overflow-wrap:anywhere}.tax-transaction-table th:nth-child(1){width:17%}.tax-transaction-table th:nth-child(2){width:29%}.tax-transaction-table th:nth-child(3){width:12%}.tax-transaction-table th:nth-child(4){width:25%}.tax-transaction-table th:nth-child(5){width:17%}.tax-transaction-table small{display:block;margin-top:.3rem;color:var(--color-text-secondary);font-size:.75rem}.tax-transaction-table select{width:100%;max-width:100%;font-size:.8rem}.tax-transaction-table .btn{display:block;margin-top:.55rem;white-space:normal}.tax-save-message{color:var(--color-success, #15803d)}.tax-pagination{margin-top:1rem;font-size:.875rem}.tax-outside{border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1rem}.tax-outside>p{color:var(--color-text-secondary)}.tax-table-scroll{overflow-x:auto}.tax-workspace details>summary{cursor:pointer;padding:.75rem 0;font-weight:600}@media(max-width:768px){.tax-heading{align-items:flex-start}.tax-category-table th:first-child{width:42px}.tax-category-table th:nth-child(3){width:90px}.tax-category-table th:nth-child(4){width:42px}.tax-category-table th,.tax-category-table td{padding:.5rem .3rem;font-size:.8rem}.tax-transactions{padding:.65rem}.tax-transaction-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.tax-transaction-table,.tax-transaction-table tbody,.tax-transaction-table tr,.tax-transaction-table td{display:block;width:100%}.tax-transaction-table tr{border:1px solid var(--color-border);border-radius:6px;margin:.65rem 0;padding:.5rem}.tax-transaction-table td{border:0;text-align:left!important;padding:.35rem}.tax-transaction-table td:before{content:attr(data-label);display:block;font-size:.7rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.2rem}.tax-transaction-table select{font-size:1rem}.tax-transaction-table .btn{min-height:42px}.tax-pagination{justify-content:center}}.pnl-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.pnl-presets{display:flex;gap:.25rem}.pnl-preset-btn{border-color:var(--color-border);background:#fff}.pnl-preset-btn-active{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.pnl-custom-range{display:flex;align-items:center;gap:.5rem}.pnl-custom-range input[type=date]{padding:.375rem .5rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.8125rem}.pnl-custom-range span{color:var(--color-text-secondary);font-size:.875rem}.pnl-export-toolbar{display:flex;gap:.5rem;margin-left:auto}.pnl-error{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;margin-bottom:1rem;background-color:var(--color-error-bg);border:1px solid #fecaca;border-radius:.5rem;color:var(--color-error);font-size:.875rem}.pnl-warning{padding:.75rem 1rem;margin-bottom:1rem;background-color:var(--color-warning-bg);border:1px solid #fde68a;border-radius:.5rem;color:#92400e;font-size:.875rem}.pnl-section{margin-bottom:1.5rem}.pnl-section-header{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--color-text);text-transform:uppercase;letter-spacing:.05em}.pnl-table{width:100%;border-collapse:collapse;font-size:.875rem;line-height:1.5}.pnl-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.pnl-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.pnl-row-total{font-weight:700;background-color:var(--color-bg-alt)}.pnl-row-child td{color:var(--color-text-secondary);font-size:.8125rem}.pnl-net-income{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin:1.5rem 0;border:2px solid var(--color-border);border-radius:.5rem;font-size:1.125rem;font-weight:700}.pnl-net-positive{border-color:var(--color-income);color:var(--color-income)}.pnl-net-negative{border-color:var(--color-expense);color:var(--color-expense)}.pnl-net-amount{font-size:1.5rem}.pnl-mapping-section{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.pnl-mapping-toggle{margin-bottom:1rem}.pnl-mapping-table{margin-top:.5rem}@media(max-width:768px){.transfer-card-pair{grid-template-columns:1fr}.transfer-card-arrow{display:none}.transfer-card-meta{flex-wrap:wrap}.pnl-controls{flex-direction:column;align-items:stretch}.pnl-export-toolbar{margin-left:0}.pnl-net-income{flex-direction:column;gap:.5rem;text-align:center}}.scheduler-settings{padding:0}.scheduler-section{margin-bottom:2rem}.scheduler-section-title{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--color-text)}.scheduler-desc{font-size:.875rem;color:var(--color-text-secondary);margin:0 0 1.25rem;line-height:1.5}.scheduler-controls{display:flex;flex-direction:column;gap:1.25rem}.scheduler-toggle-row{display:flex;align-items:center}.scheduler-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.scheduler-toggle input[type=checkbox]{width:1.25rem;height:1.25rem;accent-color:var(--color-primary);cursor:pointer}.scheduler-toggle-label{font-weight:500;color:var(--color-text)}.scheduler-field{display:flex;flex-direction:column;gap:.375rem}.scheduler-field-label{font-size:.8125rem;font-weight:500;color:var(--color-text)}.scheduler-select{padding:.5rem .75rem;border:1px solid var(--color-border);border-radius:.375rem;font-size:.875rem;color:var(--color-text);background:#fff;max-width:200px;cursor:pointer}.scheduler-slider{width:100%;max-width:300px;accent-color:#7c3aed;cursor:pointer}.scheduler-slider-labels{display:flex;justify-content:space-between;max-width:300px;font-size:.75rem;color:var(--color-text-secondary)}.scheduler-hint{font-size:.8125rem;color:var(--color-text-secondary);margin:0;font-style:italic}.scheduler-actions{display:flex;gap:.75rem;align-items:center}.scheduler-message{font-size:.875rem;color:var(--color-text-secondary);padding:.5rem 0}.scheduler-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.scheduler-status-item{display:flex;flex-direction:column;gap:.25rem;padding:.75rem;border:1px solid var(--color-border);border-radius:.375rem;background:#fff}.scheduler-status-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);font-weight:600}.scheduler-status-value{font-size:.875rem;color:var(--color-text);font-weight:500}.scheduler-history-table-wrapper{overflow-x:auto}.scheduler-history-table{width:100%;border-collapse:collapse;font-size:.8125rem;line-height:1.5}.scheduler-history-table th{text-align:left;padding:.5rem .75rem;font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border);font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.scheduler-history-table td{padding:.5rem .75rem;border-bottom:1px solid var(--color-border);color:var(--color-text)}.scheduler-history-table tbody tr:nth-child(2n){background-color:var(--color-bg-alt)}@media(max-width:768px){.scheduler-status-grid{grid-template-columns:1fr}.scheduler-actions{flex-direction:column;align-items:stretch}}.login-loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.1rem;color:var(--color-text-secondary)}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:var(--color-bg-alt)}.login-card{background:#fff;border:1px solid var(--color-border);border-radius:12px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 4px 12px #00000014}.login-title{margin:0 0 .25rem;font-size:1.5rem;text-align:center}.login-subtitle{margin:0 0 2rem;text-align:center;color:var(--color-text-secondary);font-size:.9rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-field label{display:block;margin-bottom:.35rem;font-size:.85rem;font-weight:600;color:var(--color-text)}.login-field input{width:100%;padding:.65rem .75rem;border:1px solid var(--color-border);border-radius:6px;font-size:1rem;transition:border-color .15s}.login-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.login-error{padding:.6rem .75rem;background:var(--color-error-bg);color:var(--color-error);border-radius:6px;font-size:.85rem}.login-btn{padding:.7rem;font-size:1rem;font-weight:600;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background .15s}.login-btn:hover:not(:disabled){background:var(--color-primary-hover)}.login-btn:disabled{opacity:.6;cursor:not-allowed}.monthly-dashboard{padding:1rem}.monthly-table{width:100%;border-collapse:collapse}.monthly-table th,.monthly-table td{padding:.55rem .75rem;text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.monthly-table .col-amount{text-align:right;font-variant-numeric:tabular-nums}.monthly-month,.monthly-net{font-weight:600}.monthly-bars-col{width:30%;min-width:140px}.monthly-bars{display:flex;flex-direction:column;gap:3px}.monthly-bar{height:7px;border-radius:3px}.monthly-bar-income{background:var(--color-income, #2e7d32)}.monthly-bar-expense{background:var(--color-expense, #c62828)}.monthly-badge{display:inline-block;margin-right:.35rem;padding:.1rem .45rem;border-radius:999px;font-size:.72rem;font-weight:600;cursor:help}.monthly-badge-progress{background:var(--color-badge-info-bg, #e3f2fd);color:var(--color-badge-info-fg, #1565c0)}.monthly-badge-partial,.monthly-badge-uncat{background:var(--color-badge-warn-bg, #fff3e0);color:var(--color-badge-warn-fg, #e65100)}.monthly-note{margin-top:.9rem;font-size:.8rem;color:var(--color-text-secondary, #666)}
