:root{--color-primary-50: #e6f0ff;--color-primary-100: #b3d1ff;--color-primary-200: #80b3ff;--color-primary-300: #4d94ff;--color-primary-400: #1a75ff;--color-primary-500: #0066cc;--color-primary-600: #0052a3;--color-primary-700: #003d7a;--color-primary-800: #002952;--color-primary-900: #001429;--color-success-50: #f0fff0;--color-success-100: #c6f6c6;--color-success-200: #9cec9c;--color-success-300: #72e272;--color-success-400: #48d848;--color-success-500: #008800;--color-success-600: #006600;--color-success-700: #004d00;--color-success-800: #003300;--color-success-900: #001a00;--color-error-50: #fff0f0;--color-error-100: #ffcccc;--color-error-200: #ff9999;--color-error-300: #ff6666;--color-error-400: #ff3333;--color-error-500: #cc0000;--color-error-600: #a30000;--color-error-700: #7a0000;--color-error-800: #520000;--color-error-900: #290000;--color-warning-50: #fffbf0;--color-warning-100: #fff0cc;--color-warning-200: #ffe699;--color-warning-300: #ffdb66;--color-warning-400: #ffd133;--color-warning-500: #cc9900;--color-warning-600: #a37a00;--color-warning-700: #7a5c00;--color-warning-800: #523d00;--color-warning-900: #291f00;--color-info-50: #f8f9ff;--color-info-100: #e6eeff;--color-info-200: #d0d7ff;--color-info-300: #a6b4ff;--color-info-400: #7c91ff;--color-info-500: #526eff;--color-info-600: #3d5ccc;--color-info-700: #294a99;--color-info-800: #1a3866;--color-info-900: #0d2633;--color-neutral-0: #ffffff;--color-neutral-50: #fafafa;--color-neutral-100: #f5f5f5;--color-neutral-150: #f0f0f0;--color-neutral-200: #e5e5e5;--color-neutral-250: #e0e0e0;--color-neutral-300: #ddd;--color-neutral-400: #ccc;--color-neutral-500: #999;--color-neutral-600: #666;--color-neutral-700: #4a4a4a;--color-neutral-800: #333;--color-neutral-900: #1a1a1a;--color-neutral-1000: #000000;--bg-body: var(--color-neutral-100);--bg-card: var(--color-neutral-0);--bg-elevated: var(--color-neutral-0);--bg-muted: var(--color-neutral-100);--bg-hover: var(--color-neutral-50);--bg-active: var(--color-neutral-150);--text-primary: var(--color-neutral-800);--text-secondary: var(--color-neutral-600);--text-muted: var(--color-neutral-500);--text-placeholder: var(--color-neutral-500);--text-inverse: var(--color-neutral-0);--border-default: var(--color-neutral-300);--border-muted: var(--color-neutral-250);--border-strong: var(--color-neutral-400);--border-focus: var(--color-primary-500);--interactive-primary: var(--color-primary-500);--interactive-primary-hover: var(--color-primary-600);--interactive-secondary: var(--color-neutral-100);--interactive-secondary-hover: var(--color-neutral-200);--amount-positive: var(--color-success-500);--amount-negative: var(--color-error-500);--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-mono: "SF Mono", Monaco, "Courier New", monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1rem;--text-xl: 1.125rem;--text-2xl: 1.25rem;--text-3xl: 1.5rem;--text-4xl: 2rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.75;--tracking-tight: -.025em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em;--tracking-widest: .1em;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-full: 9999px;--shadow-none: none;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .15);--shadow-xl: 0 8px 24px rgba(0, 0, 0, .2);--shadow-focus: 0 0 0 3px rgba(0, 102, 204, .1);--transition-fast: .1s ease;--transition-base: .15s ease;--transition-slow: .2s ease;--transition-slower: .3s ease;--z-base: 0;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--card-padding: var(--space-8);--card-radius: var(--radius-lg);--card-shadow: var(--shadow-md);--table-cell-padding-x: var(--space-2);--table-cell-padding-y: var(--space-3);--table-header-color: var(--text-secondary);--input-padding-x: var(--space-4);--input-padding-y: var(--space-3);--input-border-width: 1px;--input-radius: var(--radius-sm);--button-padding-x: var(--space-6);--button-padding-y: var(--space-3);--button-radius: var(--radius-sm);--report-card-padding: var(--space-4);--report-grid-gap: var(--space-4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);line-height:var(--leading-relaxed);color:var(--text-primary);background-color:var(--bg-body)}.container{max-width:400px;margin:0 auto;padding:var(--card-padding)}.card{background:var(--bg-card);border-radius:var(--card-radius);padding:var(--card-padding);box-shadow:var(--card-shadow)}h1{font-size:var(--text-3xl);margin-bottom:var(--space-4);text-align:center}.form-group{margin-bottom:var(--space-4)}label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-medium)}input[type=email]{width:100%;padding:var(--space-3);border:var(--input-border-width) solid var(--border-default);border-radius:var(--input-radius);font-size:var(--text-lg)}input[type=email]:focus{outline:none;border-color:var(--border-focus)}button{width:100%;padding:var(--space-3);background-color:var(--interactive-primary);color:var(--text-inverse);border:none;border-radius:var(--button-radius);font-size:var(--text-lg);cursor:pointer}button:hover{background-color:var(--interactive-primary-hover)}button:disabled{background-color:var(--color-neutral-500);cursor:not-allowed}.error{color:var(--color-error-500);background-color:var(--color-error-50);padding:var(--space-3);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.success{color:var(--color-success-500);background-color:var(--color-success-50);padding:var(--space-3);border-radius:var(--radius-sm);text-align:center}.text-center{text-align:center}.mt-1{margin-top:var(--space-4)}.dashboard-container{max-width:900px}.tabs{margin-top:var(--space-6)}.tabs-header{display:flex;border-bottom:2px solid var(--border-muted);margin-bottom:var(--space-4)}.tab-button{flex:1;padding:var(--space-4) var(--space-5);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font-size:var(--text-lg);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-slow),border-color var(--transition-slow)}.tab-button:hover{color:var(--interactive-primary);background:none}.tab-button.active{color:var(--interactive-primary);border-bottom-color:var(--interactive-primary);font-weight:var(--font-medium);background:none}.tabs-content{padding:var(--space-6) 0}.profile-info{background:var(--bg-muted);padding:var(--space-4);border-radius:var(--radius-sm)}.drop-zone{border:2px dashed var(--border-strong);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-8);text-align:center;cursor:pointer;transition:border-color var(--transition-slow),background-color var(--transition-slow)}.drop-zone:hover{border-color:var(--interactive-primary);background-color:var(--color-primary-50)}.drop-zone.dragging{border-color:var(--interactive-primary);background-color:var(--color-primary-100)}.drop-zone.disabled{opacity:.5;cursor:not-allowed}.drop-zone-content{pointer-events:none}.drop-zone-icon{color:var(--text-muted);margin-bottom:var(--space-4)}.drop-zone.dragging .drop-zone-icon{color:var(--interactive-primary)}.drop-zone-text{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-2)}.drop-zone-subtext{font-size:var(--text-base);color:var(--text-secondary)}.upload-status{text-align:center;padding:var(--space-12) var(--space-8);color:var(--text-secondary)}.upload-error{text-align:center;padding:var(--space-8)}.csv-preview{margin-top:var(--space-4)}.csv-preview-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.csv-preview-header h3{margin:0;font-size:var(--text-xl)}.csv-preview-count{color:var(--text-secondary);font-size:var(--text-base)}.csv-preview-selector{margin-bottom:var(--space-4)}.csv-preview-selector label{display:inline;margin-right:var(--space-2)}.csv-preview-selector select{padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-base);max-width:100%}.csv-preview-table-wrapper{overflow-x:auto;margin-bottom:var(--space-4)}.csv-preview-table{width:100%;border-collapse:collapse;font-size:var(--text-base)}.csv-preview-table th,.csv-preview-table td{padding:var(--space-3) var(--space-4);text-align:left;border:1px solid var(--border-muted);white-space:nowrap}.csv-preview-table th{background-color:var(--bg-muted);font-weight:var(--font-semibold)}.csv-preview-table tr:nth-child(2n){background-color:var(--bg-hover)}.csv-preview-more{text-align:center;color:var(--text-secondary);font-size:var(--text-base);margin-bottom:var(--space-4)}.csv-preview-actions{display:flex;gap:var(--space-4);justify-content:flex-end}.btn-secondary{padding:var(--space-3) var(--space-6);background-color:var(--interactive-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-lg);cursor:pointer;width:auto}.btn-secondary:hover{background-color:var(--interactive-secondary-hover)}.btn-primary{padding:var(--space-3) var(--space-6);background-color:var(--interactive-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size:var(--text-lg);cursor:pointer;width:auto}.btn-primary:hover{background-color:var(--interactive-primary-hover)}.transactions-tab{min-height:200px}.transactions-tab .loading-state,.transactions-tab .error-state,.transactions-tab .empty-state{text-align:center;padding:var(--space-12) var(--space-4);color:var(--text-secondary)}.transactions-tab .error-state{color:var(--color-error-500)}.transactions-tab .empty-state p:first-child{font-size:var(--text-xl);margin-bottom:var(--space-2)}.transactions-table{width:100%;border-collapse:collapse;font-size:var(--text-base);margin-bottom:var(--space-4)}.transactions-table th,.transactions-table td{padding:var(--space-4) var(--space-3);text-align:left;border-bottom:1px solid var(--border-muted)}.transactions-table th{font-weight:var(--font-semibold);color:var(--table-header-color);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.transactions-table tbody tr:hover{background-color:var(--bg-hover)}.transactions-table .col-date{width:100px;white-space:nowrap}.transactions-table .col-description{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transactions-table .col-amount{width:100px;text-align:right;font-family:var(--font-mono)}.transactions-table .col-category{width:120px}.amount-negative{color:var(--amount-negative)}.amount-positive{color:var(--amount-positive)}.pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4) 0}.pagination-btn{padding:var(--space-2) var(--space-4);background-color:var(--interactive-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;width:auto}.pagination-btn:hover:not(:disabled){background-color:var(--interactive-secondary-hover)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{font-size:var(--text-base);color:var(--text-secondary)}.upload-success{text-align:center;padding:var(--space-8)}.upload-success p:first-child{font-size:var(--text-2xl);color:var(--color-success-500);margin-bottom:var(--space-4)}.text-muted{color:var(--text-secondary);font-size:var(--text-base)}.summary-reports{margin-bottom:var(--space-8)}.date-range-controls{margin-bottom:var(--space-6)}.date-range-inputs{display:flex;gap:var(--space-4);align-items:flex-end;flex-wrap:wrap}.date-range-inputs label{display:flex;flex-direction:column;gap:var(--space-1)}.date-range-inputs label span{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.date-range-inputs input[type=date]{padding:var(--space-2);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-base)}.date-range-inputs button{padding:var(--space-2) var(--space-4);width:auto;font-size:var(--text-base)}.date-range-error{color:var(--color-error-500);font-size:var(--text-base);margin-top:var(--space-2)}.reports-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}@media(max-width:768px){.reports-grid{grid-template-columns:1fr}}.report-card{background:var(--bg-card);border:1px solid var(--border-muted);border-radius:var(--radius-lg);padding:var(--space-6)}.report-card h3{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.report-loading,.report-empty{text-align:center;padding:var(--space-8) var(--space-4);color:var(--text-secondary);font-size:var(--text-base)}.reports-error{text-align:center;margin-bottom:var(--space-4)}.reports-error button{width:auto;padding:var(--space-2) var(--space-4)}.cash-flow-chart .chart-container{height:250px}.category-summary-table .table-container{max-height:200px;overflow-y:auto}.category-summary-table table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.category-summary-table th,.category-summary-table td{padding:var(--space-3) var(--space-2);text-align:left;border-bottom:1px solid var(--border-muted)}.category-summary-table th{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase;position:sticky;top:0;background:var(--bg-card)}.category-summary-table .amount-col{text-align:right;font-family:var(--font-mono)}.category-summary-table .count-col{text-align:center;color:var(--text-secondary)}.category-summary-table .positive{color:var(--amount-positive)}.category-summary-table .negative{color:var(--amount-negative)}.category-summary-table .income-row{background-color:var(--color-success-50)}.category-totals{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-muted)}.total-row{display:flex;justify-content:space-between;font-size:var(--text-base);padding:var(--space-1) 0}.total-row span:first-child{font-weight:var(--font-medium)}.total-row .positive{color:var(--amount-positive);font-family:var(--font-mono)}.total-row .negative{color:var(--amount-negative);font-family:var(--font-mono)}.command-bar-container{margin-bottom:var(--space-6)}.command-bar-form{display:flex;gap:var(--space-2)}.command-bar-input{flex:1;padding:var(--space-4) var(--space-5);border:2px solid var(--border-muted);border-radius:var(--radius-lg);font-size:var(--text-md);transition:border-color var(--transition-slow),box-shadow var(--transition-slow)}.command-bar-input:focus{outline:none;border-color:var(--border-focus);box-shadow:var(--shadow-focus)}.command-bar-input:disabled{background-color:var(--bg-muted);cursor:not-allowed}.command-bar-input::placeholder{color:var(--text-placeholder)}.command-bar-submit{padding:var(--space-4) var(--space-6);background-color:var(--interactive-primary);color:var(--text-inverse);border:none;border-radius:var(--radius-lg);font-size:var(--text-md);font-weight:var(--font-medium);cursor:pointer;transition:background-color var(--transition-slow);width:auto}.command-bar-submit:hover:not(:disabled){background-color:var(--interactive-primary-hover)}.command-bar-submit:disabled{background-color:var(--color-neutral-400);cursor:not-allowed}.command-bar-error{margin-top:var(--space-4);padding:var(--space-4);background-color:var(--color-error-50);border:1px solid var(--color-error-100);border-radius:var(--radius-lg)}.command-bar-error>p{color:var(--color-error-500);margin-bottom:var(--space-2)}.command-bar-suggestions{margin-top:var(--space-3)}.command-bar-suggestions>p{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-1)}.command-bar-suggestions ul{list-style:none;padding:0;margin:0}.command-bar-suggestions li{margin-bottom:var(--space-1)}.command-bar-suggestions button{background:none;border:none;color:var(--interactive-primary);cursor:pointer;font-size:var(--text-base);padding:var(--space-1) 0;text-align:left;width:auto}.command-bar-suggestions button:hover{text-decoration:underline;background:none}.command-bar-dismiss{margin-top:var(--space-3);padding:var(--space-2) var(--space-4);background-color:var(--interactive-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;width:auto}.command-bar-dismiss:hover{background-color:var(--interactive-secondary-hover)}.clarifying-question{margin-top:var(--space-4);padding:var(--space-5);background-color:var(--color-info-50);border:1px solid var(--color-info-200);border-radius:var(--radius-lg)}.clarifying-question-text{font-size:var(--text-md);color:var(--text-primary);margin-bottom:var(--space-4)}.clarifying-question-options{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.clarifying-option-btn{padding:var(--space-2) var(--space-4);background-color:var(--bg-card);color:var(--interactive-primary);border:1px solid var(--interactive-primary);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;transition:background-color var(--transition-slow),color var(--transition-slow);width:auto}.clarifying-option-btn:hover{background-color:var(--interactive-primary);color:var(--text-inverse)}.clarifying-cancel-btn{padding:var(--space-2) var(--space-4);background-color:transparent;color:var(--text-secondary);border:none;font-size:var(--text-base);cursor:pointer;width:auto}.clarifying-cancel-btn:hover{color:var(--text-primary);background-color:transparent}.preview-panel{margin-top:var(--space-4);padding:var(--space-5);background-color:var(--color-success-50);border:1px solid var(--color-success-100);border-radius:var(--radius-lg)}.preview-header h4{font-size:var(--text-md);font-weight:var(--font-medium);color:var(--text-primary);margin-bottom:var(--space-4)}.preview-header strong{color:var(--color-success-500)}.preview-transactions{margin-bottom:var(--space-4)}.preview-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.preview-table th,.preview-table td{padding:var(--space-3) var(--space-2);text-align:left;border-bottom:1px solid var(--border-muted)}.preview-table th{font-weight:var(--font-semibold);color:var(--text-secondary);font-size:var(--text-xs);text-transform:uppercase}.preview-date{white-space:nowrap;width:70px}.preview-description{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-amount{text-align:right;font-family:var(--font-mono);white-space:nowrap}.preview-amount.negative{color:var(--amount-negative)}.preview-amount.positive{color:var(--amount-positive)}.preview-more{font-size:var(--text-sm);color:var(--text-secondary);text-align:center;margin-top:var(--space-2)}.preview-empty{font-size:var(--text-base);color:var(--text-secondary);text-align:center;padding:var(--space-4)}.preview-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}.preview-cancel-btn{padding:var(--space-2) var(--space-4);background-color:var(--interactive-secondary);color:var(--text-primary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;width:auto}.preview-cancel-btn:hover:not(:disabled){background-color:var(--interactive-secondary-hover)}.preview-cancel-btn:disabled{opacity:.5;cursor:not-allowed}.preview-confirm-btn{padding:var(--space-2) var(--space-4);background-color:var(--color-success-500);color:var(--text-inverse);border:none;border-radius:var(--radius-sm);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;width:auto}.preview-confirm-btn:hover:not(:disabled){background-color:var(--color-success-600)}.preview-confirm-btn:disabled{background-color:var(--color-neutral-400);cursor:not-allowed}.preview-pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-4);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-muted)}.preview-page-btn{padding:var(--space-2) var(--space-3);background-color:var(--interactive-secondary);border:1px solid var(--border-default);border-radius:var(--radius-sm);font-size:var(--text-sm);cursor:pointer;color:var(--text-primary)}.preview-page-btn:hover:not(:disabled){background-color:var(--interactive-secondary-hover)}.preview-page-btn:disabled{color:var(--text-muted);cursor:not-allowed}.preview-page-info{font-size:var(--text-sm);color:var(--text-secondary);min-width:100px;text-align:center}.undo-toast{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);background-color:var(--color-neutral-800);color:var(--text-inverse);border-radius:var(--radius-lg);animation:slideIn var(--transition-slower) ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.undo-toast-message{flex:1;font-size:var(--text-md)}.undo-toast-btn{padding:var(--space-2) var(--space-4);background-color:transparent;color:var(--color-primary-300);border:1px solid var(--color-primary-300);border-radius:var(--radius-sm);font-size:var(--text-base);cursor:pointer;width:auto}.undo-toast-btn:hover{background-color:#66b3ff1a}.undo-toast-dismiss{padding:var(--space-1) var(--space-2);background-color:transparent;color:var(--color-neutral-500);border:none;font-size:var(--text-2xl);cursor:pointer;line-height:1;width:auto}.undo-toast-dismiss:hover{color:var(--text-inverse);background-color:transparent}.category-list{margin-top:var(--space-4);padding:var(--space-5);background-color:var(--color-info-50);border:1px solid var(--color-info-200);border-radius:var(--radius-lg)}.category-list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4)}.category-list-message{font-size:var(--text-md);color:var(--text-primary);font-weight:var(--font-medium)}.category-list-dismiss{padding:var(--space-1) var(--space-2);background-color:transparent;color:var(--text-secondary);border:none;font-size:var(--text-2xl);cursor:pointer;line-height:1;width:auto}.category-list-dismiss:hover{color:var(--text-primary);background-color:transparent}.category-list-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4)}.category-group{min-width:0}.category-group-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--text-secondary);text-transform:uppercase;letter-spacing:var(--tracking-wider);margin-bottom:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border-muted)}.category-group-list{list-style:none;padding:0;margin:0}.category-item{font-size:var(--text-base);color:var(--text-primary);padding:var(--space-1) 0}.category-dropdown{position:relative;display:inline-block}.category-dropdown-trigger{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background-color:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-base);color:var(--text-primary);cursor:pointer;transition:all var(--transition-base);width:100%;text-align:left}.category-dropdown-trigger:hover{background-color:var(--color-info-100);border-color:var(--color-info-200)}.category-dropdown-trigger:disabled{cursor:wait;opacity:.7}.category-dropdown-trigger.saving{background-color:var(--bg-hover)}.category-dropdown-trigger.success{background-color:var(--color-success-100);border-color:var(--color-success-200)}.category-dropdown-trigger.error{background-color:var(--color-error-50);border-color:var(--color-error-200)}.category-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-chevron{font-size:.625rem;color:var(--text-secondary);transition:transform var(--transition-base)}.category-dropdown-trigger:hover .category-chevron{color:var(--text-primary)}.category-spinner{width:12px;height:12px;border:2px solid var(--border-muted);border-top-color:var(--text-secondary);border-radius:var(--radius-full);animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.category-check{color:var(--color-success-400);font-size:var(--text-base);font-weight:var(--font-bold)}.category-dropdown-menu{position:absolute;top:100%;left:0;z-index:var(--z-dropdown);min-width:160px;max-height:280px;overflow-y:auto;background-color:var(--bg-card);border:1px solid var(--color-info-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);margin-top:2px}.category-dropdown-loading,.category-dropdown-error{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary)}.category-dropdown-error{color:var(--color-error-500)}.category-dropdown-list{list-style:none;padding:var(--space-1) 0;margin:0}.category-dropdown-item{display:block;width:100%;padding:var(--space-3) var(--space-4);background-color:transparent;border:none;font-size:var(--text-base);color:var(--text-primary);text-align:left;cursor:pointer;transition:background-color var(--transition-fast)}.category-dropdown-item:hover{background-color:var(--color-info-100)}.category-dropdown-item.selected{background-color:var(--color-primary-100);color:var(--color-primary-600);font-weight:var(--font-medium)}.category-dropdown-item.selected:hover{background-color:var(--color-primary-200)}
