body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:#f7f7f8;color:#1f2937}.page{max-width:1200px;margin:0 auto;padding:32px}.subtitle{margin-top:-8px;color:#6b7280;font-size:14px}.error{color:#b91c1c;font-weight:600}.table-wrap{margin-top:16px;overflow-x:auto;background:#fff;border-radius:10px;border:1px solid #e5e7eb}table{width:100%;border-collapse:collapse;min-width:760px}th,td{padding:12px 14px;border-bottom:1px solid #f0f0f0;text-align:left;font-size:14px}th{background:#f9fafb;font-weight:600}tbody tr:hover{background:#fafafa}.amount-col{text-align:right;font-variant-numeric:tabular-nums}button{padding:8px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.pagination{margin-top:12px;display:flex;align-items:center;justify-content:flex-end;gap:10px}.navbar{display:flex;justify-content:space-between;align-items:center;padding:12px 32px;background:#fff;border-bottom:1px solid #e5e7eb;position:sticky;top:0;z-index:10}.nav-links{display:flex;gap:24px;align-items:center}.nav-link{color:#6b7280;text-decoration:none;font-size:15px;font-weight:500;transition:all .2s ease;padding:8px 0;border-bottom:2px solid transparent;cursor:pointer}.nav-link:hover{color:#1f2937}.nav-link.active{color:#0f172a;border-bottom-color:#0f172a;font-weight:600}.app-name{font-size:18px;font-weight:700;letter-spacing:-.5px;color:#0f172a;text-decoration:none;cursor:pointer}.theme-toggle{background:none;border:none;font-size:20px;cursor:pointer;padding:5px 10px;border-radius:4px;transition:background-color .2s ease;display:flex;align-items:center;color:#1f2937}.theme-toggle:hover{background-color:#e5e7eb}[data-theme=dark] .theme-toggle{color:#e2e8f0}[data-theme=dark] .theme-toggle:hover{background-color:#334155}.filter-panel{background-color:#f8fafc!important;border:1px solid #e5e7eb}.filter-panel>div,.filter-panel>div>div{min-width:0}.filter-panel>div>div{background-color:#fff!important;border-color:#d1d5db!important;box-shadow:0 2px 4px #0f172a14!important}.filter-panel label{color:#4b5563!important}.filter-panel .filter-input{box-sizing:border-box;min-width:0;max-width:100%;border-color:#d1d5db!important;background-color:#fff!important;color:#1f2937!important}.filter-panel .filter-text{color:#6b7280!important}.filter-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:20px}.multi-select-filter{position:relative;display:inline-flex;align-items:center}.filter-chip{display:inline-flex;align-items:center;gap:10px;min-height:38px;padding:8px 12px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:13px;white-space:nowrap}.filter-chip:hover,.filter-chip.is-open{border-color:#2563eb;background:#eff6ff}.filter-chip strong{color:#1d4ed8;font-weight:600}.filter-chip-chevron{color:#64748b;font-size:12px}.filter-chip-clear{min-width:24px;min-height:24px;margin-left:-34px;padding:0;border:0;background:transparent;color:#64748b;font-size:18px;line-height:1;z-index:1}.filter-chip-clear:hover{color:#1d4ed8}.multi-select-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:20;width:min(360px,calc(100vw - 48px));padding:14px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;box-shadow:0 12px 28px #0f172a33}.multi-select-popover-header,.multi-select-footer{display:flex;align-items:center;justify-content:space-between}.multi-select-popover-header{margin-bottom:12px;color:#1e293b;font-size:14px}.popover-close{padding:0 4px;border:0;background:transparent;color:#64748b;font-size:22px;line-height:1}.multi-select-search{box-sizing:border-box;width:100%;min-height:36px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:4px;color:#1e293b;font-size:13px}.multi-select-options{max-height:240px;margin:8px 0;overflow-y:auto;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}.multi-select-option{display:flex;align-items:center;gap:9px;min-height:34px;padding:4px 6px;color:#334155;cursor:pointer;font-size:13px}.multi-select-option:hover{background:#f1f5f9}.multi-select-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multi-select-option input{width:16px;height:16px;flex:0 0 auto;accent-color:#2563eb}.select-all-option{margin-top:8px;font-weight:600}.multi-select-empty{padding:14px 6px;color:#64748b;font-size:13px;text-align:center}.multi-select-footer{justify-content:flex-end;gap:8px}.filter-action{min-width:74px;padding:7px 12px;font-size:13px}.filter-action.primary{border-color:#2563eb;background:#2563eb;color:#fff}.filter-action.secondary{background:#fff;color:#334155}.filter-row-primary,.filter-row-text{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filter-row-controls{grid-template-columns:repeat(4,minmax(0,1fr))!important}.filter-checkbox-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;color-scheme:light;scrollbar-color:#9ca3af #f3f4f6;scrollbar-width:thin}.filter-checkbox-list>label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-checkbox-list::-webkit-scrollbar{width:10px}.filter-checkbox-list::-webkit-scrollbar-track{background:#f3f4f6}.filter-checkbox-list::-webkit-scrollbar-thumb{background:#9ca3af;border:2px solid #f3f4f6;border-radius:6px}.filter-checkbox-list::-webkit-scrollbar-thumb:hover{background:#6b7280}.filter-checkbox{width:16px;height:16px;margin:0;accent-color:#3b82f6;color-scheme:light}@media(max-width:1024px){.filter-panel{overflow-x:hidden!important}.filter-panel>div{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))!important}.filter-row-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important}.filter-panel input[type=date]{width:100%!important;min-width:0!important;max-width:100%!important;appearance:none;-webkit-appearance:none}}.subtabs{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}.subtab{display:inline-block;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#374151;text-decoration:none;font-weight:600}.subtab:hover{color:#111827}.subtab.active{color:#0f172a;border-bottom-width:2px}.tab-panel{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.tab-panel h4{margin:0 0 8px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:10px;box-shadow:0 10px 40px #0003;max-width:500px;width:90%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-content.link-modal{max-width:600px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #e5e7eb}.modal-header h3{margin:0;font-size:18px}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:#6b7280}.modal-close:hover{color:#111827}.modal-body{padding:20px}.modal-body label{display:block;font-weight:600;margin-bottom:8px}.modal-body select{border:1px solid #d1d5db;border-radius:6px;background:#fff;font-size:14px}.modal-footer{display:flex;gap:10px;justify-content:flex-end;padding:16px 20px;border-top:1px solid #e5e7eb}.modal-footer button{padding:10px 16px;border-radius:6px;font-weight:600;cursor:pointer}.modal-footer button:last-child{background:#0f172a;color:#fff;border:none}.modal-footer button:last-child:hover:not(:disabled){background:#1e293b}.modal-footer button:disabled{opacity:.5;cursor:not-allowed}.transaction-row-clickable{cursor:pointer}.transaction-row-clickable:hover{background:#f0f0f0!important}[data-theme=dark]{color-scheme:dark}[data-theme=dark] body{background:#0f172a;color:#e5e7eb}[data-theme=dark] .page{background:#0f172a}[data-theme=dark] .navbar{background:#1e293b;border-bottom-color:#334155}[data-theme=dark] .nav-link{color:#94a3b8}[data-theme=dark] .nav-link:hover{color:#e2e8f0}[data-theme=dark] .nav-link.active{color:#e2e8f0;border-bottom-color:#e2e8f0}[data-theme=dark] .app-name{color:#e2e8f0}[data-theme=dark] .tab-panel{background:#1e293b;border-color:#334155}[data-theme=dark] .tab-panel h4{color:#e2e8f0}[data-theme=dark] .subtab{background:#334155;border-color:#475569;color:#cbd5e1}[data-theme=dark] .subtab:hover{color:#e2e8f0}[data-theme=dark] .subtab.active{background:#94a3b8;color:#0f172a}[data-theme=dark] .table-wrap{background:#1e293b;border-color:#334155}[data-theme=dark] table{background:#1e293b;color:#e5e7eb}[data-theme=dark] th{background:#334155;color:#e2e8f0;border-bottom-color:#475569}[data-theme=dark] td{border-bottom-color:#334155}[data-theme=dark] tbody tr:hover{background:#334155}[data-theme=dark] .subtitle{color:#94a3b8}[data-theme=dark] button{background:#334155;border-color:#475569;color:#e2e8f0}[data-theme=dark] button:hover{background:#475569}[data-theme=dark] .modal-overlay{background:#000c}[data-theme=dark] .modal-content{background:#1e293b;color:#e5e7eb}[data-theme=dark] .modal-header{border-bottom-color:#334155;color:#e2e8f0}[data-theme=dark] .modal-body{color:#e5e7eb}[data-theme=dark] .modal-body label{color:#cbd5e1}[data-theme=dark] .modal-body select{background:#334155;color:#e2e8f0;border-color:#475569}[data-theme=dark] .modal-footer{border-top-color:#334155}[data-theme=dark] .modal-footer button:last-child{background:#64748b;border-color:#64748b}[data-theme=dark] .modal-footer button:last-child:hover:not(:disabled){background:#78909c}[data-theme=dark] .transaction-row-clickable:hover{background:#334155!important}.filter-panel{background:#f9f9f9;border:1px solid #e0e0e0}.filter-input{border:1px solid #ccc;background:#fff;color:#1f2937}.filter-input::placeholder{color:#999}.filter-text{color:#666}.filter-panel label{color:#1f2937}[data-theme=dark] .filter-panel{background:#1e293b;border-color:#334155}[data-theme=dark] .filter-input{background:#334155;color:#e2e8f0;border-color:#475569}[data-theme=dark] .filter-input::placeholder{color:#94a3b8}[data-theme=dark] .filter-text{color:#cbd5e1}[data-theme=dark] .filter-panel label{color:#e2e8f0}[data-theme=dark] .filter-panel>div>div{background-color:#334155!important;border-color:#475569!important;box-shadow:0 2px 4px #0000004d!important}[data-theme=dark] .filter-panel{background-color:#1e293b!important;border-color:#334155!important}[data-theme=dark] .filter-panel label,[data-theme=dark] .filter-panel .filter-text{color:#cbd5e1!important}[data-theme=dark] .filter-panel .filter-checkbox-list{background-color:#1e293b!important;border-color:#475569!important;color:#e2e8f0;color-scheme:dark;scrollbar-color:#64748b #1e293b}[data-theme=dark] .filter-panel .filter-input{background-color:#1e293b!important;border-color:#475569!important;color:#e2e8f0!important}[data-theme=dark] .filter-panel .filter-chip{border-color:#475569;background:#334155;color:#e2e8f0}[data-theme=dark] .filter-panel .filter-chip:hover,[data-theme=dark] .filter-panel .filter-chip.is-open{border-color:#60a5fa;background:#1e3a8a}[data-theme=dark] .filter-panel .filter-chip strong{color:#bfdbfe}[data-theme=dark] .filter-panel .filter-chip-chevron,[data-theme=dark] .filter-panel .filter-chip-clear{color:#cbd5e1}[data-theme=dark] .filter-panel .multi-select-popover{border-color:#475569;background:#1e293b;color:#e2e8f0;box-shadow:0 12px 28px #00000073}[data-theme=dark] .filter-panel .multi-select-popover-header{color:#f1f5f9}[data-theme=dark] .filter-panel .popover-close{color:#cbd5e1}[data-theme=dark] .filter-panel .multi-select-search{border-color:#64748b;background:#334155;color:#f1f5f9}[data-theme=dark] .filter-panel .multi-select-search::placeholder{color:#cbd5e1}[data-theme=dark] .filter-panel .multi-select-options{border-color:#475569}[data-theme=dark] .filter-panel .multi-select-option{color:#e2e8f0!important}[data-theme=dark] .filter-panel .multi-select-option:hover{background:#334155}[data-theme=dark] .filter-panel .multi-select-empty{color:#cbd5e1}[data-theme=dark] .filter-panel .filter-action.secondary{border-color:#64748b;background:#334155;color:#f1f5f9}[data-theme=dark] table tr{background-color:#1e293b!important;color:#e2e8f0}[data-theme=dark] table thead tr{background-color:#334155!important}[data-theme=dark] table th,[data-theme=dark] table td{border-color:#475569!important;color:#e2e8f0}[data-theme=dark] table tbody tr[style*="#bbdefb"]{background-color:#1e40af!important}.dedup-panel{background:#fff3cd;border:1px solid #ffc107}.dedup-title,.dedup-text{color:#856404}.dedup-stat-box{background:#fff;border:1px solid #e0e0e0}.stat-label{font-size:12px;color:#666}.dedup-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.dedup-summary{background:#f5f5f5;border:1px solid #ddd}.dedup-group{background:#fafafa}[data-theme=dark] .dedup-panel{background:#2d3e4f;border-color:#475569}[data-theme=dark] .dedup-title{color:#fbbf24}[data-theme=dark] .dedup-text{color:#cbd5e1}[data-theme=dark] .dedup-stat-box{background:#334155;border-color:#475569}[data-theme=dark] .stat-label{color:#94a3b8}[data-theme=dark] .dedup-success{background:#065f46;border-color:#3d6f59;color:#a7f3d0}[data-theme=dark] .dedup-summary{background:#334155;border-color:#475569}[data-theme=dark] .dedup-group{background:#2c3e50}.budget-card{border:1px solid #ddd;background:#fff}.budget-card-income{background:#f0f8f0}.budget-card-expense{background:#f8f0f0}.budget-card-positive{background:#f0f8f0}.budget-card-negative{background:#f8f0f0}.budget-value.income{color:#22c55e}.budget-value.expense{color:#ef4444}.budget-value.positive{color:#22c55e}.budget-value.negative{color:#ef4444}.budget-label{color:#666}[data-theme=dark] .budget-card{border-color:#475569;background:#334155}[data-theme=dark] .budget-card-income{background:#064e3b;border-color:#059669}[data-theme=dark] .budget-card-expense{background:#7f1d1d;border-color:#dc2626}[data-theme=dark] .budget-card-positive{background:#064e3b;border-color:#059669}[data-theme=dark] .budget-card-negative{background:#7f1d1d;border-color:#dc2626}[data-theme=dark] .budget-label{color:#94a3b8}.trend-table-wrapper{border:1px solid #ddd;background:#fff}.trend-table-header,.trend-table-header-cell{background:#f5f5f5}.trend-table-row-even{background:#f9f9f9}.trend-table-row-odd{background:#fff}.trend-table-cell{border-bottom:1px solid #eee}.trend-table-category{background:inherit;border-bottom:1px solid #eee}.trend-positive{color:#22c55e}.trend-negative{color:#ef4444}.trend-neutral{color:#999}.trend-link{color:inherit}[data-theme=dark] .trend-table-wrapper{border-color:#475569;background:#1e293b}[data-theme=dark] .trend-table-header,[data-theme=dark] .trend-table-header-cell{background:#334155}[data-theme=dark] .trend-table-row-even{background:#2c3e50}[data-theme=dark] .trend-table-row-odd{background:#1e293b}[data-theme=dark] .trend-table-cell{border-bottom-color:#334155}[data-theme=dark] .trend-table-category{color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .trend-positive{color:#4ade80}[data-theme=dark] .trend-negative{color:#f87171}[data-theme=dark] .trend-neutral{color:#64748b}.add-modal{background-color:#fff;color:#1f2937}.add-modal-title{font-size:20px;font-weight:600;margin:0;color:#1f2937}.add-modal-label{display:block;font-weight:500;font-size:14px;color:#1f2937;margin-bottom:5px}.add-modal-input{border:1px solid #ddd;background-color:#fff;color:#1f2937;width:100%;box-sizing:border-box}.add-modal-input:focus{outline:none;border-color:#64b5f6;box-shadow:0 0 0 3px #64b5f61a}.add-modal-hint{font-size:12px;color:#666}.add-modal-close{color:#666}.add-modal-close:hover{color:#1f2937}.add-modal-cancel-btn{background-color:#64748b;color:#fff;transition:background-color .2s}.add-modal-cancel-btn:hover:not(:disabled){background-color:#475569}.add-modal-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.add-modal-submit-btn{background-color:#64b5f6;color:#fff;transition:background-color .2s}.add-modal-submit-btn:hover:not(:disabled){background-color:#42a5f5}.add-modal-submit-btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .add-modal{background-color:#1e293b;color:#e2e8f0}[data-theme=dark] .add-modal-title,[data-theme=dark] .add-modal-label{color:#e2e8f0}[data-theme=dark] .add-modal-input{border:1px solid #475569;background-color:#334155;color:#e2e8f0}[data-theme=dark] .add-modal-input:focus{border-color:#64b5f6;box-shadow:0 0 0 3px #64b5f633}[data-theme=dark] .add-modal-hint,[data-theme=dark] .add-modal-close{color:#94a3b8}[data-theme=dark] .add-modal-close:hover{color:#e2e8f0}[data-theme=dark] .add-modal-cancel-btn{background-color:#64748b}[data-theme=dark] .add-modal-cancel-btn:hover:not(:disabled){background-color:#78909c}[data-theme=dark] .add-modal-submit-btn{background-color:#64b5f6}[data-theme=dark] .add-modal-submit-btn:hover:not(:disabled){background-color:#42a5f5}.reports-table{border-color:#ddd;background:#fff}.reports-table table{background:#fff;color:#1f2937}.reports-table thead tr{background-color:#f5f5f5}.reports-table th{color:#1f2937;border-bottom-color:#ddd}.reports-table td{border-bottom-color:#eee;color:#1f2937}.reports-table-percent{color:#1f2937}[data-theme=dark] .reports-table{border-color:#475569;background:#1e293b}[data-theme=dark] .reports-table table{background:#1e293b;color:#e2e8f0}[data-theme=dark] .reports-table thead tr{background-color:#334155}[data-theme=dark] .reports-table th{color:#e2e8f0;border-bottom-color:#475569}[data-theme=dark] .reports-table td{border-bottom-color:#334155;color:#e2e8f0}[data-theme=dark] .reports-table-percent{color:#4ade80}@media(max-width:640px){.filter-row-primary,.filter-row-controls,.filter-row-text{grid-template-columns:minmax(0,1fr)!important}.filter-checkbox-list{grid-template-columns:minmax(0,1fr)}}.auth-loading,.login-page{min-height:100vh;display:grid;place-items:center}.login-page{background:#f7f7f8;color:#0f172a;color-scheme:light}.login-panel{width:min(100% - 40px,380px);padding:32px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 18px 45px #0f172a1a;color:#0f172a}.login-panel h1{margin:0 0 8px}.eyebrow{margin:0 0 8px;color:#64748b;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.login-subtitle{margin:0 0 24px;color:#64748b}.login-panel label{display:grid;gap:6px;margin-top:16px;color:#334155;font-size:14px;font-weight:600}.login-panel input{box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid #cbd5e1;background:#fff;color:#0f172a;border-radius:6px;font:inherit}.login-panel input:focus{outline:2px solid #0f766e;outline-offset:1px;border-color:#0f766e}.login-submit{width:100%;margin-top:24px;background:#0f172a;color:#fff;border-color:#0f172a}.login-error{padding:10px 12px;background:#fef2f2;color:#b91c1c;border-radius:6px}.logout-button{margin-left:12px;white-space:nowrap}.settings-grid{display:grid;grid-template-columns:1fr;gap:32px;margin-bottom:32px}.upload-section{margin-bottom:32px;padding:20px;border:1px solid #e5e7eb;border-radius:10px;background:#fff}.upload-section h2{margin:0 0 4px;font-size:18px;font-weight:600;color:#0f172a}.csv-upload-form{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.csv-upload-form input[type=file]{min-width:min(100%,360px);padding:8px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937}.csv-upload-form select{min-width:min(100%,260px);min-height:38px;padding:8px 10px;border:1px solid #d1d5db;border-radius:6px;background:#fff;color:#1f2937;font:inherit}.csv-format-guide{display:grid;gap:6px;margin-top:12px;color:#334155;font-size:13px}.csv-format-guide code{display:block;overflow-x:auto;padding:9px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#f8fafc;color:#0f172a;font-size:12px;white-space:nowrap}.upload-file-name{margin:10px 0 0;color:#475569;font-size:13px}.upload-result{display:flex;gap:12px;flex-wrap:wrap;margin-top:14px;padding:12px;border:1px solid #bbf7d0;border-radius:6px;background:#f0fdf4;color:#166534;font-size:13px}.csv-preview{margin-top:20px;padding:16px;border:1px solid #cbd5e1;border-radius:8px;background:#f8fafc}.csv-preview-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.csv-preview h3,.csv-preview h4{margin:0 0 6px;color:#0f172a}.csv-preview h3{font-size:16px}.csv-preview h4{font-size:14px}.csv-preview-header p{margin:0;color:#475569;font-size:13px}.csv-duplicate-warning{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:10px 12px;border-left:4px solid #c62828;background:#fff3e0;color:#6d2c00}.csv-duplicate-warning a{color:#8d1d1d;font-weight:600}.csv-preview-actions{display:flex;gap:8px;flex-shrink:0}.csv-schema{margin-bottom:16px;color:#334155;font-size:13px}.csv-schema-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.csv-schema-list span{padding:4px 8px;border:1px solid #cbd5e1;border-radius:4px;background:#fff;color:#334155;font-size:12px}.csv-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.csv-table-wrap{overflow-x:auto;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.csv-table-wrap table{width:max-content;min-width:100%;border-collapse:collapse;table-layout:auto;font-size:12px}.csv-table-wrap th,.csv-table-wrap td{max-width:220px;overflow:hidden;padding:7px 9px;border-bottom:1px solid #e2e8f0;color:#334155;text-align:left;text-overflow:ellipsis;white-space:nowrap}.csv-table-wrap td:first-child,.csv-table-wrap th:first-child{min-width:92px}.csv-table-wrap td:nth-child(2),.csv-table-wrap th:nth-child(2){min-width:150px}.csv-table-wrap td:nth-child(3),.csv-table-wrap th:nth-child(3){min-width:120px}.csv-table-wrap th{background:#f1f5f9;color:#0f172a;font-weight:600}.csv-table-wrap tr:last-child td{border-bottom:0}@media(max-width:1024px){.settings-grid{grid-template-columns:1fr}}.settings-section{display:flex;flex-direction:column}.settings-section h2{font-size:18px;font-weight:600;color:#0f172a;margin:0 0 4px}.section-description{font-size:13px;color:#6b7280;margin-bottom:16px}.add-item-form{margin-bottom:20px;display:flex;gap:8px}.add-item-form>div{display:flex;gap:8px;width:100%}.input-field{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;color:#1f2937}.input-field:focus{outline:none;border-color:#0f172a;box-shadow:0 0 0 2px #0f172a1a}.input-field::placeholder{color:#9ca3af}.items-table{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.items-table table{width:100%;border-collapse:collapse;table-layout:fixed}.items-table th{background:#f9fafb;padding:12px 14px;text-align:left;font-size:13px;font-weight:600;color:#0f172a;border-bottom:1px solid #f0f0f0}.items-table th:last-child{text-align:right}.items-table td{padding:12px 14px;border-bottom:1px solid #f0f0f0;font-size:14px;color:#1f2937}.items-table td:last-child{text-align:right}.items-table tbody tr:hover{background:#fafafa}.items-table tbody tr:last-child td{border-bottom:none}.empty-state{text-align:center;color:#9ca3af;font-style:italic;padding:30px 14px!important}.actions-cell{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.btn{padding:8px 12px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;cursor:pointer;transition:all .15s ease;font-weight:600;white-space:nowrap}.btn:hover:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#0f172a;color:#fff;border:none}.btn-primary:hover:not(:disabled){background:#1e293b;border-color:#1e293b}.btn-secondary{background:#fff;color:#1f2937;border:1px solid #d1d5db}.btn-secondary:hover:not(:disabled){background:#f9fafb}.btn-success{background:#16a34a;color:#fff;border:none}.btn-success:hover:not(:disabled){background:#15803d}.btn-danger{background:#fff;color:#dc2626;border:1px solid #fca5a5}.btn-danger:hover:not(:disabled){background:#fee2e2;border-color:#f87171}.error-message{padding:12px 14px;margin-bottom:20px;background-color:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:6px;font-size:13px}.settings-info{padding:16px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;margin-top:32px}.settings-info h3{margin:0 0 12px;color:#0f172a;font-size:15px}.settings-info ul{margin:0;padding-left:20px}.settings-info li{margin:6px 0;color:#4b5563;font-size:13px}[data-theme=dark] .settings-section h2{color:#e2e8f0}[data-theme=dark] .section-description{color:#94a3b8}[data-theme=dark] .upload-section{background:#1e293b;border-color:#334155}[data-theme=dark] .upload-section h2{color:#e2e8f0}[data-theme=dark] .csv-upload-form input[type=file],[data-theme=dark] .csv-upload-form select{background:#334155;border-color:#475569;color:#e2e8f0}[data-theme=dark] .upload-file-name{color:#cbd5e1}[data-theme=dark] .upload-result{background:#14532d;border-color:#166534;color:#bbf7d0}[data-theme=dark] .csv-preview{border-color:#475569;background:#0f172a}[data-theme=dark] .csv-preview h3,[data-theme=dark] .csv-preview h4{color:#e2e8f0}[data-theme=dark] .csv-preview-header p,[data-theme=dark] .csv-schema{color:#cbd5e1}[data-theme=dark] .csv-schema-list span{border-color:#475569;background:#334155;color:#e2e8f0}[data-theme=dark] .csv-table-wrap{border-color:#475569;background:#1e293b}[data-theme=dark] .csv-table-wrap th,[data-theme=dark] .csv-table-wrap td{border-bottom-color:#334155;color:#cbd5e1}[data-theme=dark] .csv-table-wrap th{background:#334155;color:#f1f5f9}[data-theme=dark] .input-field{background:#1e293b;border-color:#334155;color:#e2e8f0}[data-theme=dark] .input-field::placeholder{color:#64748b}[data-theme=dark] .input-field:focus{border-color:#64748b;box-shadow:0 0 0 2px #64748b1a}[data-theme=dark] .items-table{background:#1e293b;border-color:#334155}[data-theme=dark] .items-table th{background:#0f172a;color:#e2e8f0;border-bottom-color:#334155}[data-theme=dark] .items-table th:last-child{text-align:right}[data-theme=dark] .items-table td{color:#cbd5e1;border-bottom-color:#334155}[data-theme=dark] .items-table td:last-child{text-align:right}[data-theme=dark] .items-table tbody tr:hover{background:#334155}[data-theme=dark] .empty-state{color:#64748b}[data-theme=dark] .btn{background:#334155;border-color:#475569;color:#e2e8f0}[data-theme=dark] .btn:hover:not(:disabled){background:#475569;border-color:#64748b}[data-theme=dark] .btn-primary{background:#0f172a;color:#e2e8f0;border-color:#334155}[data-theme=dark] .btn-primary:hover:not(:disabled){background:#1e293b;border-color:#475569}[data-theme=dark] .btn-secondary{background:#334155;color:#e2e8f0;border-color:#475569}[data-theme=dark] .btn-secondary:hover:not(:disabled){background:#475569}[data-theme=dark] .btn-success{background:#16a34a;color:#fff;border:none}[data-theme=dark] .btn-success:hover:not(:disabled){background:#15803d}[data-theme=dark] .btn-danger{background:#7f1d1d;color:#fecaca;border-color:#991b1b}[data-theme=dark] .btn-danger:hover:not(:disabled){background:#991b1b;border-color:#dc2626}[data-theme=dark] .error-message{background-color:#7f1d1d;color:#fecaca;border-color:#991b1b}[data-theme=dark] .settings-info{background:#1e293b;border-color:#334155}[data-theme=dark] .settings-info h3{color:#e2e8f0}[data-theme=dark] .settings-info li{color:#cbd5e1}.lookup-rules-page{max-width:1120px}.lookup-rules-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.lookup-rules-heading h1{margin:0 0 8px;color:#0f172a}[data-theme=dark] .lookup-rules-heading h1,[data-theme=dark] .rule-editor h2,[data-theme=dark] .rule-form label,[data-theme=dark] .rules-table td,[data-theme=dark] .rules-table code{color:#e2e8f0}.eyebrow{margin:0 0 8px;color:#0f766e;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.rule-count{padding:8px 12px;border:1px solid #99f6e4;border-radius:999px;background:#f0fdfa;color:#115e59;font-size:13px;font-weight:700}.rule-editor,.rules-table-section{margin-bottom:24px;padding:22px;border:1px solid #dbe4e8;border-radius:10px;background:#fff}.rule-editor h2{margin:0 0 4px;color:#0f172a;font-size:18px}.rule-form{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.7fr) auto;align-items:end;gap:14px;margin-top:18px}.rule-form label{display:grid;gap:7px;color:#334155;font-size:12px;font-weight:700}.rule-form input,.rule-form select{min-height:40px;box-sizing:border-box;padding:9px 11px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#0f172a;font:inherit}.rule-form input:focus{outline:2px solid rgba(13,148,136,.22);border-color:#0f766e}.rule-form-actions{display:flex;gap:8px}.rules-table-wrap{overflow-x:auto}.rules-table{width:100%;min-width:620px;border-collapse:collapse}.rules-table th,.rules-table td{padding:12px 10px;border-bottom:1px solid #edf2f4;text-align:left}.rules-table th{color:#64748b;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.rules-table td{color:#1e293b;font-size:14px}.rules-table tbody tr:hover{background:#f8fafc}.rules-table code{color:#0f172a;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.priority-cell{width:70px;color:#64748b!important;font-variant-numeric:tabular-nums}.category-tag{display:inline-block;padding:4px 8px;border-radius:4px;background:#ecfeff;color:#155e75;font-size:12px;font-weight:700}.rule-actions{width:160px;text-align:right!important;white-space:nowrap}.rule-actions .btn{margin-left:6px}[data-theme=dark] .rule-editor,[data-theme=dark] .rules-table-section{border-color:#334155;background:#1e293b}[data-theme=dark] .rule-form input,[data-theme=dark] .rule-form select{border-color:#475569;background:#334155;color:#e2e8f0}[data-theme=dark] .rule-form input::placeholder{color:#94a3b8}[data-theme=dark] .rules-table th,[data-theme=dark] .rules-table td{border-bottom-color:#334155}[data-theme=dark] .rules-table th{background:#334155;color:#f1f5f9}[data-theme=dark] .rules-table tbody tr:hover{background:#334155}[data-theme=dark] .priority-cell{color:#94a3b8!important}[data-theme=dark] .btn-secondary{background:#334155;border-color:#475569;color:#e2e8f0}@media(max-width:760px){.lookup-rules-heading{align-items:flex-start;flex-direction:column}.rule-form{grid-template-columns:1fr}.rule-form-actions{justify-content:flex-start}}
