.app{max-width:1200px;margin:0 auto;padding:24px 20px 48px}.header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:28px}.header h1{margin:0;font-size:1.75rem;font-weight:600;color:#f3f4f6}.subtitle{margin:4px 0 0;color:#9aa0a6;font-size:.95rem}.header-controls{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.section-tabs{display:flex;gap:6px;flex-wrap:wrap}.section-tab{padding:8px 18px;border:1px solid #2a2f3a;border-radius:8px;background:#1a1f2b;color:#9aa0a6;cursor:pointer;font-size:.9rem;font-weight:500;transition:background .15s,color .15s,border-color .15s}.section-tab:hover{border-color:#3b4252;color:#e8eaed}.section-tab.active{background:#2563eb;border-color:#2563eb;color:#fff}.date-picker{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.preset-group{display:flex;gap:6px;flex-wrap:wrap}.preset{padding:6px 14px;border:1px solid #2a2f3a;border-radius:8px;background:#1a1f2b;color:#9aa0a6;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.preset:hover{border-color:#3b4252;color:#e8eaed}.preset.active{background:#2563eb;border-color:#2563eb;color:#fff}.custom-range{display:flex;gap:12px}.custom-range label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#9aa0a6}.custom-range input{padding:6px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#1a1f2b;color:#e8eaed}.range-label{font-size:.8rem;color:#6b7280}.month-picker{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.month-picker-controls{display:flex;align-items:flex-end;gap:8px}.month-input-label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;color:#9aa0a6}.month-input-label input{padding:6px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#1a1f2b;color:#e8eaed}.expenses-layout{display:grid;grid-template-columns:minmax(260px,1fr) minmax(280px,1.2fr) minmax(260px,1fr);grid-template-rows:auto auto auto auto;gap:16px;align-items:stretch}.expenses-layout>*{min-width:0}.expenses-hero-row{grid-column:1 / -1;grid-row:1;display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.expenses-hero-row .summary-card--highlight .summary-value{font-size:1.5rem}.expenses-table-card{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:16px;overflow:hidden}.income-layout{display:flex;flex-direction:column;gap:20px;min-width:0}.income-hero-row{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:12px}.income-hero-row .summary-card--highlight .summary-value{font-size:1.5rem;color:#34d399}.income-main-grid{display:grid;grid-template-columns:1fr;gap:16px;min-width:0}.income-main-left,.income-main-right{min-width:0}.income-main-left{display:flex;flex-direction:column;gap:16px}.income-main-right{display:flex;flex-direction:column;gap:12px}.income-day-header{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2a2f3a}.income-day-header h3{margin:0 0 8px;font-size:.95rem;font-weight:500;color:#d1d5db}.income-day-header .day-detail-stat{margin:0 0 4px;color:#34d399}.income-transactions-card .section-header-row{margin-top:0}.income-day-meta{margin:0 0 10px;font-size:.85rem}.income-day-categories{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.income-day-category-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;background:#161b26;border:1px solid #2a2f3a;border-radius:8px;font-size:.85rem}.income-day-category-name{color:#9aa0a6}.income-day-category-amount{color:#e8eaed;font-weight:500}.income-section-card{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:16px;min-width:0;overflow:hidden}.setup-layout{display:flex;flex-direction:column;gap:1.25rem}.meals-setup-panel .section-header-row{margin-bottom:.25rem}.meals-setup-hint{margin:0 0 12px;font-size:.85rem}.meals-setup-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.income-section-card h3{margin:0 0 12px;font-size:.95rem;font-weight:500;color:#d1d5db}.payment-accounts-panel h3{margin:0 0 16px;font-size:.95rem;font-weight:500;color:#d1d5db}.payment-accounts-split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.payment-accounts-column{background:#161b26;border:1px solid #2a2f3a;border-radius:10px;padding:14px 16px;min-width:0;display:flex;flex-direction:column;gap:12px}.payment-accounts-column-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-accounts-column-header h4{margin:0;font-size:.85rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.payment-accounts-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.payment-account-card{display:flex;align-items:stretch;gap:8px;background:#1a1f2b;border:1px solid #2a2f3a;border-radius:8px;overflow:hidden}.payment-account-card .row-actions{align-self:center;padding-right:8px;flex-shrink:0}.payment-account-card:hover{border-color:#3a4150}.payment-account-card-main{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;background:transparent;border:none;cursor:pointer;text-align:left;font:inherit;color:inherit}.payment-account-card-main:hover{background:#ffffff05}div.payment-account-card-main{cursor:default}div.payment-account-card-main:hover{background:transparent}.payment-account-stats{display:flex;flex-wrap:wrap;gap:6px 10px}.payment-account-stat{font-size:.75rem;color:#9aa0a6}.payment-account-balance{font-size:.875rem;font-weight:600}.payment-account-balance.positive,.account-balance-positive{color:#34d399}.payment-account-balance.negative,.account-balance-negative{color:#f87171}.account-activity-header{margin:0 0 12px;flex-shrink:0}.account-activity-header-top{display:flex;align-items:center;gap:12px;margin-bottom:4px}.account-activity-header-top h4{margin:0;flex:1;min-width:0}.account-activity-summary{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 6px;margin:0;font-size:.8rem;color:#9ca3af}.account-activity-sep{color:#4b5563}.account-activity-period-range{margin:4px 0 0;font-size:.75rem;color:#6b7280}.account-activity-tabs{display:flex;gap:4px;margin:0;flex-shrink:0}.rebate-tier-badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#60a5fa33;color:#93c5fd;font-size:.75rem;font-weight:600}.rebate-default-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#9ca3af40;color:#d1d5db;font-size:.65rem;font-weight:600;vertical-align:middle}.rebate-status-unlimited{color:#93c5fd;font-weight:600}.rebate-requirement-unmet{color:#f87171;font-weight:600}.rebate-requirement-note{display:block;font-size:.7rem;color:#9ca3af;margin-top:2px}.rebate-requirement-row-unmet{background:#f8717114}.rebate-tier-editor,.rebate-category-editor{margin-top:8px}.rebate-category-def-header,.rebate-tier-header{display:grid;gap:6px;margin-bottom:4px;padding:0 8px;font-size:.7rem;color:#9ca3af;font-weight:600}.rebate-category-def-header{grid-template-columns:1.6fr .8fr .7fr .5fr 1fr 1fr auto}.rebate-category-def-header.simple{grid-template-columns:1.6fr .8fr .7fr .5fr auto}.rebate-tier-header{grid-template-columns:1.2fr repeat(auto-fit,minmax(90px,1fr)) auto}.rebate-tier-row,.rebate-category-def-row{display:grid;align-items:end;gap:6px;margin-bottom:8px;padding:8px;border-radius:6px;background:#ffffff08}.rebate-category-def-row{grid-template-columns:1.6fr .8fr .7fr .5fr 1fr 1fr auto}.rebate-category-def-row.simple{grid-template-columns:1.6fr .8fr .7fr .5fr auto}.rebate-default-check{display:flex;align-items:center;justify-content:center;margin:0;padding-bottom:6px}.rebate-tier-row{grid-template-columns:1.2fr repeat(auto-fit,minmax(90px,1fr)) auto}.rebate-tier-row label{font-size:.75rem;min-width:0}.rebate-tier-row label input,.rebate-category-def-row input{display:block;width:100%;margin-top:2px}.rebate-summary{margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#ffffff0a}.rebate-summary-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.rebate-summary-header h5{margin:0;font-size:.9rem}.rebate-summary-header .btn-primary{flex-shrink:0;padding:4px 10px;font-size:.75rem}.rebate-summary-note{font-size:.75rem;margin:0 0 8px}.rebate-summary-threshold{margin:0 0 8px;font-size:.8rem;color:#d1d5db}.rebate-summary-table{font-size:.8rem}.rebate-summary-table th,.rebate-summary-table td{padding:6px 8px}.rebate-not-maxed{background:#fbbf2414}.rebate-status-maxed{color:#86efac;font-weight:600}.rebate-status-remaining{color:#fbbf24;font-weight:600}.rebate-summary-total{margin:8px 0 0;font-size:.875rem}.rebate-settings-fields{margin-top:8px}.rebate-settings-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.rebate-enable-label{display:flex;align-items:center;gap:8px;cursor:pointer}.rebate-mappings{margin-top:8px}.rebate-mappings-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:.875rem}.rebate-mapping-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.rebate-mapping-row select{flex:1;min-width:0}.rebate-mapping-arrow{color:#9ca3af;flex-shrink:0}.rebate-mapping-remove{flex-shrink:0;padding:4px 8px;font-size:.75rem}.rebate-description-rules{margin-top:12px}.rebate-description-rule-row{display:flex;align-items:center;gap:6px;margin-bottom:6px}.rebate-description-rule-row select{flex:0 1 140px;min-width:120px}.rebate-description-keywords{flex:2;min-width:180px}.account-activity-period-summary{display:flex;flex-wrap:wrap;gap:12px 20px;margin:0 0 12px;padding:10px 12px;border-radius:8px;background:#ffffff0a;font-size:.875rem;color:#d1d5db}.account-activity-period-summary strong{font-weight:600}.account-activity-baseline-note{margin:-4px 0 12px;font-size:.8rem}.account-activity-body{flex:1 1 auto;min-height:0;overflow-y:auto}.record-modal.account-activity-modal>.account-activity-footer{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-top:12px}.record-modal.account-activity-modal>.account-activity-footer .table-pagination{flex:1;margin-top:0;min-width:0}.record-modal.account-activity-modal>.account-activity-footer>.btn-secondary:last-child{margin-left:auto}.account-activity-table{table-layout:fixed}.account-activity-table th:nth-child(1),.account-activity-table td:nth-child(1){width:110px;white-space:nowrap}.account-activity-table th:nth-child(2),.account-activity-table td:nth-child(2){width:110px;white-space:nowrap}.account-activity-table th:nth-child(3),.account-activity-table td:nth-child(3){width:auto;overflow:hidden}.account-activity-table th:nth-child(4),.account-activity-table td:nth-child(4),.account-activity-table th:nth-child(5),.account-activity-table td:nth-child(5){width:130px;white-space:nowrap;text-align:right}.account-activity-table .account-activity-desc{display:block;color:#e8eaed;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-activity-table .account-activity-category{display:block;font-size:.75rem;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-activity-table tr.account-activity-before-baseline td{opacity:.55}.account-activity-in{color:#34d399}.account-activity-out{color:#f87171}.income-calendar .activity-calendar-cell.selected{background:#1a3d2e;border-color:#059669}.payment-account-name{font-size:.875rem;font-weight:500;color:#e8eaed;min-width:0;word-break:break-word}.income-transactions-list{display:flex;flex-direction:column;gap:8px}.income-entry-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:.75rem;color:#9aa0a6}.income-entry-date{display:inline-block;padding:2px 8px;background:#252b38;border:1px solid #3a4150;border-radius:999px;color:#d1d5db;font-size:.7rem;white-space:nowrap}.income-entry-amount{font-weight:600;color:#e8eaed}.income-entry-accounts{padding:2px 8px;background:#252b38;border:1px solid #3a4150;border-radius:999px;color:#93c5fd;font-size:.7rem;white-space:nowrap}.form-hint{font-size:.75rem}@media(max-width:1100px){.payment-accounts-split{grid-template-columns:1fr}.income-hero-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:768px){.payment-accounts-split{grid-template-columns:1fr}}@media(min-width:768px){.income-main-grid{grid-template-columns:minmax(380px,1.35fr) minmax(300px,1fr);align-items:start}}.expenses-variable-table{grid-column:1 / -1;grid-row:2;display:flex;flex-direction:column;height:100%}.expenses-calendar{grid-column:1;grid-row:3;min-width:0}.expenses-day-panel{grid-column:1 / -1;grid-row:4;min-width:0;align-self:start}.expenses-fixed-expenses{grid-column:1 / -1;grid-row:5}.fixed-expense-filters{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex:1;min-width:0;justify-content:flex-end}.fixed-expense-filters select{max-width:180px;min-width:0;padding:6px 8px;font-size:.85rem;border-radius:6px;border:1px solid #3c4043;background:#202124;color:#e8eaed}.expenses-table-card h3{margin:0 0 12px;font-size:.95rem;font-weight:500;color:#d1d5db}.chart-card-body{flex:1;min-height:280px;min-width:0}.expense-day-summary{margin-bottom:16px}.expense-day-total{margin:0 0 12px;font-size:.9rem;color:#d1d5db}.expense-day-categories{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.expense-day-categories li{display:flex;justify-content:space-between;gap:12px;font-size:.85rem;color:#9aa0a6}.expense-day-categories li span:last-child{color:#e8eaed;font-variant-numeric:tabular-nums}@media(min-width:768px){.expenses-calendar{grid-column:1;grid-row:3}.expenses-day-panel{grid-column:2 / -1;grid-row:3}.expenses-fixed-expenses{grid-row:4}}.transactions-toolbar{margin-bottom:12px}.data-table td.over-budget{background:#f8717126;color:#f87171;font-weight:500}.data-table td.near-budget{background:#fbbf241f;color:#fbbf24;font-weight:500}.over-budget-text{color:#f87171;font-weight:500}.near-budget-text{color:#fbbf24;font-weight:500}.budget-alert-banner{padding:8px 12px;margin-bottom:12px;border-radius:6px;background:#422006;border:1px solid #92400e;color:#fcd34d;font-size:.8rem}.spending-cell{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.budget-badge{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;padding:2px 6px;border-radius:4px}.budget-badge--warning{background:#fbbf2433;color:#fbbf24}.budget-badge--over{background:#f8717133;color:#f87171}.budget-usage{display:flex;align-items:center;gap:8px;min-width:100px}.budget-usage-bar{flex:1;height:6px;background:#2a2f3a;border-radius:3px;overflow:hidden;display:flex}.budget-usage-fill{height:100%;border-radius:3px 0 0 3px;transition:width .2s}.budget-usage-fill--ok{background:#34d399}.budget-usage-fill--warning{background:#fbbf24}.budget-usage-fill--over{background:#f87171}.budget-usage-overflow{height:100%;background:repeating-linear-gradient(45deg,#f87171,#f87171 2px,#991b1b 2px,#991b1b 4px)}.budget-usage-pct{font-size:.75rem;color:#9aa0a6;white-space:nowrap;min-width:32px}.banner{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.banner.warning{background:#422006;border:1px solid #92400e;color:#fcd34d}.main{display:flex;flex-direction:column;gap:0}.panel{background:#161b26;border:1px solid #2a2f3a;border-radius:12px;padding:20px 24px}.panel h2{margin:0 0 16px;font-size:1.2rem;color:#f3f4f6}.summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}.summary-card{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:4px}.summary-label{font-size:.75rem;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.summary-value{font-size:1.25rem;font-weight:600;color:#f3f4f6}.summary-sub{font-size:.8rem;color:#6b7280}.summary-card--highlight{border-color:#2563eb;background:#1e293b}.summary-card--highlight .summary-value{color:#93c5fd}.summary-card--warning{border-color:#92400e;background:#fbbf240f}.summary-card--warning .summary-value{color:#fbbf24}.summary-card--danger{border-color:#991b1b;background:#f8717114}.summary-card--danger .summary-value{color:#f87171}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px}.chart-card{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:16px;overflow:hidden}.chart-card.full-width{margin-top:16px}.chart-select{display:block;width:100%;max-width:280px;margin-bottom:12px;padding:6px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#161b26;color:#e8eaed;font-size:.9rem}.table-scroll{overflow-x:auto;scrollbar-width:none}.table-scroll::-webkit-scrollbar{display:none}.data-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:.875rem}.data-table th,.data-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #2a2f3a}.data-table th{color:#9aa0a6;font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.data-table td{color:#e8eaed}.data-table tbody tr:hover{background:#1f2430}.data-table .notes-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9aa0a6}.chart-card h3{margin:0 0 12px;font-size:.95rem;font-weight:500;color:#d1d5db}.muted{color:#9aa0a6}.error{color:#f87171}.empty-chart{color:#6b7280;text-align:center;padding:40px 0;margin:0}@media(max-width:1100px){.expenses-layout{grid-template-columns:1fr;grid-template-rows:auto}.expenses-hero-row,.expenses-variable-table,.expenses-calendar,.expenses-day-panel,.expenses-fixed-expenses,.trips-panel{grid-column:1;grid-row:auto}.expenses-hero-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:900px){.expenses-layout{grid-template-columns:1fr;grid-template-rows:auto}.expenses-hero-row,.expenses-variable-table,.expenses-calendar,.expenses-day-panel,.expenses-fixed-expenses,.trips-panel{grid-column:1;grid-row:auto}.expenses-hero-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}}@media(max-width:640px){.header-controls,.date-picker{align-items:stretch;width:100%}.section-tabs{width:100%}.section-tab{flex:1;text-align:center}.header{flex-direction:column}}.row-actions{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.btn-link{background:none;border:none;color:#93c5fd;cursor:pointer;font-size:.8rem;padding:0}.btn-link:hover{text-decoration:underline}.btn-danger-link{color:#f87171}.btn-primary,.btn-secondary{padding:8px 14px;border-radius:6px;font-size:.875rem;cursor:pointer;border:1px solid #2a2f3a}.btn-primary{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary:disabled,.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{background:#161b26;color:#e8eaed}.btn-danger{padding:8px 14px;border-radius:6px;font-size:.875rem;cursor:pointer;background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-danger:hover{background:#b91c1c;border-color:#b91c1c}.confirm-dialog{max-width:380px}.confirm-dialog h4{margin-bottom:8px}.confirm-dialog-message{margin:0;font-size:.9rem;line-height:1.5;color:#9aa0a6}.btn-add{padding:5px 12px;border:1px solid #2a2f3a;border-radius:8px;background:#1a1f2b;color:#9aa0a6;font-size:.8rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s,border-color .15s;white-space:nowrap}.btn-add:hover{border-color:#3b4252;color:#e8eaed;background:#222836}.record-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:16px}.record-modal{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:20px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto}.record-modal.payment-account-modal{width:max(720px,min(960px,96vw));max-width:96vw;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.record-modal.payment-account-modal .record-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto}.record-modal.payment-account-modal .record-modal-actions{flex-shrink:0;margin-top:12px}.record-modal.payment-account-modal input:not([type=checkbox]),.record-modal.payment-account-modal select,.record-modal.payment-account-modal textarea{padding:8px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#161b26;color:#e8eaed;font-size:.875rem}.record-modal.payment-account-modal input::placeholder{color:#6b7280}.record-modal.payment-account-modal input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#2563eb;flex-shrink:0}.credit-account-form{display:flex;flex-direction:column;gap:12px}.pa-settings-tabs{display:flex;gap:4px;flex-wrap:wrap;position:sticky;top:0;z-index:1;padding-bottom:8px;background:#1a1f2b;border-bottom:1px solid #2a2f3a;margin-bottom:4px}.pa-settings-panel{display:flex;flex-direction:column;gap:12px}.pa-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.pa-settings-grid .form-field:first-child{grid-column:1 / -1}.pa-section-title{display:block;font-size:.875rem;font-weight:600;color:#e8eaed}.pa-cashback-toggle{margin-top:4px;padding:10px 12px;border-radius:8px;background:#ffffff0a}.record-modal.account-activity-modal{width:max(50vw,min(960px,96vw));max-width:96vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.portfolio-header-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.portfolio-summary-chips{flex-wrap:wrap;row-gap:4px}.portfolio-holdings-table{width:100%}.portfolio-instrument-name{font-weight:600}.portfolio-instrument-meta{font-size:.85em;margin-top:2px}.portfolio-row-actions{display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:flex-end}.portfolio-events-heading{margin:1.25rem 0 .5rem;font-size:.95rem}.btn-link.danger{color:#e57373}.form-field-checkbox label{display:flex;align-items:center;gap:8px;font-weight:400}.record-modal.portfolio-form-modal{z-index:30}.record-modal.workout-record-modal,.detail-modal.workout-session-modal{max-width:min(720px,96vw)}.workout-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.workout-form-grid .span-full{grid-column:1 / -1}.segment-toggle{display:flex;border:1px solid #2a2f3a;border-radius:6px;overflow:hidden}.segment-toggle button{flex:1;padding:8px 12px;border:none;background:transparent;color:#9aa0a6;font-size:.875rem;cursor:pointer}.segment-toggle button:hover:not(.active){background:#222733}.segment-toggle button.active{background:#2a2f3a;color:#e8eaed}.workout-session-block{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid #2a2f3a;border-radius:8px;background:#151922}.workout-more-options{margin-top:4px}.workout-more-options summary{cursor:pointer;color:#9aa0a6;font-size:.875rem;-webkit-user-select:none;user-select:none}.workout-more-options[open] summary{margin-bottom:12px}.workout-more-options .workout-form-grid{margin-top:0}.record-modal h4{margin:0 0 16px;font-size:1rem;font-weight:500;color:#e8eaed}.record-modal-body{display:flex;flex-direction:column;gap:12px}.record-modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.detail-modal{max-width:520px}.detail-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.detail-modal-header h4{margin:0;flex:1}.detail-modal-close{flex-shrink:0;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:#9aa0a6;font-size:1.5rem;line-height:1;cursor:pointer}.detail-modal-close:hover{background:#2a2f3a;color:#e8eaed}.detail-modal-body{min-width:0}.form-field{display:flex;flex-direction:column;gap:4px}.form-field label{font-size:.8rem;color:#9aa0a6}.form-field input,.form-field select,.form-field textarea{padding:8px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#161b26;color:#e8eaed;font-size:.875rem}.form-field textarea{min-height:60px;resize:vertical}.reimbursement-rows{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.reimbursement-row{display:flex;gap:.5rem;align-items:center}.reimbursement-row input,.reimbursement-row select{flex:1;min-width:0}.reimbursement-row .btn-icon{flex:0 0 auto;padding:.25rem .5rem}.workout-session-summary-card .day-entry-main{width:100%}.workout-session-modal-list{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:8px}.workout-session-modal-item{margin:0}.workout-session-superset-preview{margin:0 0 12px;font-size:.9rem}.workout-session-edit-rows{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.workout-session-edit-row{padding:12px;border:1px solid var(--border, #ddd);border-radius:8px;display:flex;flex-direction:column;gap:8px}.workout-session-edit-row-header{display:flex;justify-content:space-between;align-items:center}.form-row-inline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.workout-session-delete-confirm{margin-top:16px}.workout-session-edit-table-wrap{overflow-x:auto;margin-bottom:12px}.workout-session-edit-table{width:100%;border-collapse:collapse;font-size:.875rem}.workout-session-edit-table th{text-align:left;padding:6px 8px;color:#9aa0a6;font-weight:500;border-bottom:1px solid #2a2f3a;white-space:nowrap}.workout-session-edit-table td{padding:6px 4px;vertical-align:middle}.workout-session-edit-table input{width:100%;min-width:0;padding:6px 8px;border:1px solid #2a2f3a;border-radius:4px;background:#151922;color:#e8eaed;font-size:.875rem}.workout-session-edit-table .col-exercise input{min-width:120px}.workout-session-edit-table .col-weight input{min-width:72px}.workout-session-edit-table .col-num input{min-width:48px}.workout-session-edit-table .col-actions{width:56px;text-align:right}.workout-session-edit-table .row-notes td{padding-top:0;padding-bottom:8px}.workout-session-edit-table .row-notes input{font-size:.8125rem}@media(max-width:640px){.form-row-inline,.workout-form-grid{grid-template-columns:1fr}}.data-table .actions-col{width:56px}.health-section{display:flex;flex-direction:column;gap:16px}.health-layout{display:grid;gap:16px;grid-template-columns:1fr}.health-layout .chart-card.full-width{margin-top:0}.health-calendar,.health-day-panel,.health-summary-row,.health-volume-chart,.health-weight-trend,.health-pr-table,.health-macros-chart{min-width:0}.health-day-panel{align-self:start}.health-summary-row{grid-column:1 / -1;grid-row:1}.health-calendar{grid-column:1 / -1;grid-row:2}.health-workout-parts,.health-nutrition-parts{display:contents}@media(min-width:768px){.health-layout{grid-template-columns:3fr 2fr}.health-summary-row{grid-column:1 / -1;grid-row:1}.health-calendar{grid-column:1;grid-row:2}.health-day-panel{grid-column:2;grid-row:2}.health-volume-chart{grid-column:1;grid-row:3}.health-weight-trend{grid-column:1 / -1;grid-row:4}.health-pr-table{grid-column:1 / -1;grid-row:5}.health-macros-chart{grid-column:1 / -1;grid-row:6}}@media(min-width:1024px){.health-layout{grid-template-columns:2fr 1fr 1fr}.health-summary-row{grid-column:1 / -1;grid-row:1}.health-calendar{grid-column:1;grid-row:2}.health-day-panel{grid-column:2 / -1;grid-row:2}.health-volume-chart{grid-column:1;grid-row:3}.health-weight-trend{grid-column:2 / -1;grid-row:3}.health-pr-table{grid-column:1 / -1;grid-row:4}.health-macros-chart{grid-column:1 / -1;grid-row:5}}.activity-calendar{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:16px}.activity-calendar-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.activity-calendar-header h3{margin:0;font-size:.95rem;font-weight:500;color:#d1d5db}.activity-calendar-legend{display:flex;gap:16px;font-size:.8rem;color:#9aa0a6}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.workout{background:#a78bfa}.legend-dot.meal{background:#34d399}.legend-dot.expense{background:#fbbf24}.legend-dot.income{background:#34d399}.activity-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:4px}.activity-calendar-weekday{text-align:center;font-size:.7rem;font-weight:500;color:#6b7280;text-transform:uppercase;letter-spacing:.04em;padding:4px 0}.activity-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.activity-calendar-cell{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;min-height:52px;padding:6px 4px;border:1px solid transparent;border-radius:8px;background:#161b26;cursor:pointer;font:inherit;color:inherit;transition:background .15s,border-color .15s}.activity-calendar-cell.empty{background:transparent;cursor:default;pointer-events:none}.activity-calendar-cell:not(.empty):hover{background:#1f2430;border-color:#3b4252}.activity-calendar-cell.today .activity-calendar-day{color:#93c5fd;font-weight:600}.activity-calendar-cell.selected{background:#1e3a5f;border-color:#2563eb}.activity-calendar-day{font-size:.85rem;color:#e8eaed;line-height:1}.activity-calendar-badges{display:flex;gap:3px;flex-wrap:wrap;justify-content:center}.activity-badge{font-size:.65rem;font-weight:600;line-height:1;padding:2px 4px;border-radius:4px;min-width:14px;text-align:center;border:none;cursor:pointer;font-family:inherit}.activity-badge.workout{background:#a78bfa40;color:#a78bfa}.activity-badge.meal{background:#34d39940;color:#34d399}.activity-badge.expense{background:#fbbf2440;color:#fbbf24;font-size:.6rem;padding:2px 3px}.activity-badge.income{background:#34d39940;color:#34d399;font-size:.6rem;padding:2px 3px}.day-detail-panel{background:#1a1f2b;border:1px solid #2a2f3a;border-radius:10px;padding:16px;min-width:0;overflow:hidden}.day-detail-panel h3{margin:0 0 16px;font-size:.95rem;font-weight:500;color:#d1d5db}.day-detail-columns{display:grid;grid-template-columns:1fr;gap:16px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.section-header-row h3,.section-header-row h4{margin:0;font-size:.85rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.day-detail-section h4{margin:0 0 12px;font-size:.85rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.day-detail-stat{margin:0 0 8px;font-size:.9rem;color:#e8eaed}.detail-field-list{display:flex;flex-direction:column;gap:10px;margin:0}.detail-field{display:grid;grid-template-columns:120px 1fr;gap:8px 12px;align-items:baseline}.detail-field dt{margin:0;font-size:.75rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.detail-field dd{margin:0;font-size:.9rem;color:#e8eaed;word-break:break-word}.variable-expense-summary{display:flex;flex-wrap:wrap;gap:12px 24px;margin-bottom:16px;padding:12px 14px;background:#161b26;border:1px solid #2a2f3a;border-radius:8px}.variable-expense-summary-item{display:flex;flex-direction:column;gap:4px;min-width:100px}.variable-expense-summary-item--alert .variable-expense-summary-value{color:#fbbf24}.variable-expense-summary-label{font-size:.7rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.variable-expense-summary-value{font-size:.95rem;font-weight:600;color:#e8eaed;font-variant-numeric:tabular-nums}.variable-expense-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;flex:1}.variable-expense-card{background:#161b26;border:1px solid #2a2f3a;border-radius:8px;padding:14px 16px}.variable-expense-card--clickable{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;transition:background .15s,border-color .15s}.variable-expense-card--clickable:hover{background:#1a2030;border-color:#3b4252}.variable-expense-card--clickable:hover .variable-expense-card-header h4{color:#93c5fd}.category-detail-summary{margin-bottom:16px;padding:12px 14px;background:#161b26;border:1px solid #2a2f3a;border-radius:8px}.category-detail-summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0}.category-detail-transactions-heading{margin:0 0 10px;font-size:.8rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.category-detail-search{margin-bottom:12px}.category-detail-search input{width:100%;box-sizing:border-box;padding:8px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#1a1f2b;color:#e8eaed;font-size:.875rem}.category-detail-search input::placeholder{color:#6b7280}.category-detail-transactions{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.category-detail-transaction{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 12px;background:#161b26;border:1px solid #2a2f3a;border-radius:6px}.category-detail-transaction-main{display:flex;flex-direction:column;gap:4px;min-width:0}.category-detail-transaction-desc{font-size:.875rem;color:#e8eaed}.category-detail-transaction-date{font-size:.75rem;color:#9aa0a6}.category-detail-transaction-amount{font-size:.875rem;font-weight:500;color:#e8eaed;font-variant-numeric:tabular-nums;flex-shrink:0}.variable-expense-card.budget-row--ok{border-left:3px solid #34d399}.variable-expense-card.budget-row--warning{border-left:3px solid #fbbf24}.variable-expense-card.budget-row--over{border-left:3px solid #f87171}.variable-expense-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.variable-expense-card-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;min-width:0}.variable-expense-card-header h4{margin:0;font-size:.9rem;font-weight:500;color:#e8eaed}.variable-expense-card-amount{font-size:1.1rem;font-weight:600;color:#e8eaed;font-variant-numeric:tabular-nums;flex-shrink:0}.variable-expense-card-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;font-size:.8rem;color:#e8eaed;margin-bottom:12px}.variable-expense-meta-label{display:block;font-size:.65rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.variable-expense-card .budget-usage{width:100%}.day-entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.day-entry-card{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:10px 12px;background:#161b26;border:1px solid #2a2f3a;border-radius:8px}.day-entry-card:hover{border-color:#3a4150}.day-entry-main{display:flex;flex-direction:column;gap:2px;min-width:0}.day-entry-main--clickable{cursor:pointer;text-align:left;background:none;border:none;padding:0;font:inherit;color:inherit;flex:1}.day-entry-main--clickable:hover .day-entry-title{color:#fff}.day-entry-title{font-size:.875rem;font-weight:500;color:#e8eaed;word-break:break-word}.day-entry-sub{font-size:.75rem;color:#9aa0a6}.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;flex-wrap:wrap;min-width:0}.table-pagination-label{font-size:.8rem;color:#9aa0a6}.table-pagination-controls{display:flex;gap:8px}@media(max-width:768px){.data-table--workouts .col-duration,.data-table--workouts .col-notes,.data-table--meals .col-carbs,.data-table--meals .col-fat{display:none}}@media(min-width:1200px){.day-detail-columns{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.activity-calendar-cell{min-height:44px;padding:4px 2px}.activity-calendar-day{font-size:.75rem}.activity-badge{font-size:.6rem;padding:1px 3px}}.trips-panel.expenses-table-card{grid-column:1 / -1;display:flex;flex-direction:column;gap:14px}.trips-layout{display:grid;grid-template-columns:minmax(160px,200px) 1fr;gap:16px;align-items:start}.trips-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.trips-empty{padding:8px 0;font-size:.875rem}.trips-list-item{width:100%;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;background:#1a1f2b;border:none;border-radius:6px;color:#e8eaed;cursor:pointer}.trips-list-item:hover,.trips-list-item.active{background:#161b26}.trips-list-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trips-detail{display:flex;flex-direction:column;gap:14px;min-width:0}.trips-detail-title h4{margin:0 0 4px}.trips-detail-title .muted{margin:0;font-size:.8rem}.trips-detail-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.trips-delete-trip{margin-left:auto}.trips-summary-strip{display:flex;flex-wrap:wrap;gap:12px 24px;padding:12px 14px;background:#161b26;border:1px solid #2a2f3a;border-radius:8px}.trips-summary-item{display:flex;flex-direction:column;gap:4px;min-width:100px}.trips-summary-label{font-size:.7rem;font-weight:500;color:#9aa0a6;text-transform:uppercase;letter-spacing:.04em}.trips-summary-value{font-size:.95rem;font-weight:600;color:#e8eaed;font-variant-numeric:tabular-nums}.trips-summary-item--total .trips-summary-value{font-size:1.05rem}.trips-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px 12px;padding:12px 14px;background:#161b26;border:1px solid #2a2f3a;border-radius:8px}.trips-form label{display:flex;flex-direction:column;gap:4px;font-size:.8rem;color:#9aa0a6}.trips-form input,.trips-form select{padding:8px 10px;border:1px solid #2a2f3a;border-radius:6px;background:#12161f;color:#e8eaed;font-size:.875rem}.trips-form input:focus,.trips-form select:focus{outline:none;border-color:#5b8def}.trips-form .span-full{grid-column:1 / -1}.trips-form-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.trips-table-wrap{overflow-x:auto}.trips-expenses-table .trips-col-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.trips-expenses-table .actions-col{width:1%;white-space:nowrap;text-align:right}.trip-leg-badge{display:inline-block;font-size:.7rem;padding:2px 6px;border-radius:4px;background:#2a2f3a;color:#9aa0a6;white-space:nowrap}@media(max-width:900px){.trips-layout{grid-template-columns:1fr}.trips-summary-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.trips-delete-trip{margin-left:0}}:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;color:#e8eaed;background-color:#0f1117;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh}#root{min-height:100vh}button,input{font:inherit}
