.dashboard{max-width:1200px}.page-header{margin-bottom:32px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:32px}.stat-card{background:var(--bg-secondary);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:8px}.stat-label{font-size:14px;color:var(--text-secondary)}.stat-value{font-size:32px;font-weight:600}.stat-value.earned{color:var(--success)}.stat-value.missed{color:var(--warning)}.optimization-score-card{margin-bottom:32px}.score-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.score-header h3{font-size:18px}.score{font-size:24px;font-weight:700}.score.good{color:var(--success)}.score.okay{color:var(--warning)}.score.poor{color:var(--error)}.score-message{color:var(--text-secondary);margin-bottom:16px}.progress-bar{height:8px;background:var(--bg-card);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--warning),var(--success));border-radius:4px;transition:width .3s ease}.wallet-section,.recommendations-section{margin-bottom:32px}.wallet-section h2,.recommendations-section h2{font-size:20px;margin-bottom:16px}.wallet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.wallet-card{padding:20px}.wallet-card h4{font-size:16px;margin-bottom:12px}.best-for .label{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.best-for ul{list-style:none;margin-top:8px}.best-for li{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--bg-card)}.best-for li:last-child{border-bottom:none}.best-for .category{text-transform:capitalize}.best-for .rate{color:var(--accent);font-weight:600}.no-bonuses{color:var(--text-secondary);font-size:14px}.recommendations-list{display:flex;flex-direction:column;gap:16px}.recommendation-card{padding:20px}.rec-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.rec-category{font-size:16px;font-weight:600;text-transform:capitalize}.rec-missed{color:var(--warning);font-size:14px;font-weight:500}.rec-advice{color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.rec-advice strong{color:var(--text-primary)}.rec-stats{display:flex;gap:20px;font-size:13px;color:var(--text-secondary)}.empty-state,.success-state{text-align:center;padding:40px}.empty-state p,.success-state p{color:var(--text-secondary);margin-bottom:16px}.success-state{background:#22c55e1a;border:1px solid var(--success)}.success-state p{color:var(--success);margin-bottom:0}.cards-page{max-width:1200px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px}.header-actions{display:flex;gap:12px}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}.add-card-placeholder{border:2px dashed var(--bg-card);min-height:200px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.add-card-placeholder:hover{border-color:var(--accent);background:#3b82f61a}.placeholder-content{text-align:center;color:var(--text-secondary)}.plus-icon{font-size:48px;display:block;margin-bottom:12px;color:var(--accent)}.credit-card{min-height:200px;display:flex;flex-direction:column;justify-content:space-between}.card-header{display:flex;justify-content:space-between;align-items:flex-start}.card-issuer{font-size:12px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px}.card-actions{display:flex;gap:4px}.icon-btn{background:none;border:none;padding:4px 8px;cursor:pointer;opacity:.6;transition:opacity .2s}.icon-btn:hover{opacity:1}.card-name{font-size:18px;font-weight:600;margin-top:8px}.rewards-preview{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.reward-tag{background:var(--bg-card);padding:4px 10px;border-radius:4px;font-size:12px;text-transform:capitalize}.reward-tag.default{background:var(--bg-primary);border:1px solid var(--bg-card)}.loading{text-align:center;padding:40px;color:var(--text-secondary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-secondary);border-radius:12px;padding:24px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}.modal h2{margin-bottom:20px;font-size:20px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-size:14px;color:var(--text-secondary)}.form-group input[type=text],.form-group input[type=number]{width:100%;padding:10px 12px;background:var(--bg-card);border:1px solid transparent;border-radius:6px;color:var(--text-primary);font-size:14px}.form-group input:focus{outline:none;border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.rewards-editor{display:flex;flex-direction:column;gap:8px}.reward-row{display:flex;align-items:center;gap:8px;padding:8px;background:var(--bg-card);border-radius:6px}.reward-row .category-name{flex:1;text-transform:capitalize;font-weight:500}.reward-row input[type=number]{width:60px;padding:6px 8px;background:var(--bg-secondary);border:1px solid transparent;border-radius:4px;color:var(--text-primary);text-align:center}.reward-row input:focus{outline:none;border-color:var(--accent)}.remove-btn{background:none;border:none;color:var(--error);font-size:18px;cursor:pointer;padding:0 4px}.add-reward-row{display:flex;gap:8px;margin-top:8px}.add-reward-row input{flex:1;padding:8px 12px;background:var(--bg-card);border:1px solid transparent;border-radius:6px;color:var(--text-primary)}.add-reward-row input:focus{outline:none;border-color:var(--accent)}.add-reward-row button{padding:8px 16px;background:var(--accent);color:#fff;border:none;border-radius:6px;cursor:pointer}.add-reward-row button:hover{background:var(--accent-hover)}.transactions-page{max-width:1200px}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.page-header h1{font-size:28px;font-weight:600;margin-bottom:8px}.page-header p{color:var(--text-secondary)}.filters{display:flex;gap:12px;margin-bottom:20px}.filter-select{padding:10px 16px;background:var(--bg-secondary);border:1px solid var(--bg-card);border-radius:8px;color:var(--text-primary);font-size:14px;cursor:pointer;min-width:150px}.filter-select:focus{outline:none;border-color:var(--accent)}.category-summary{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.category-chip{display:flex;align-items:center;gap:8px;padding:8px 14px;background:var(--bg-secondary);border-radius:20px;font-size:13px}.cat-name{color:var(--text-secondary);text-transform:capitalize}.cat-amount{font-weight:600;color:var(--text-primary)}.transactions-table{overflow:hidden}.loading,.empty-state{padding:60px 20px;text-align:center;color:var(--text-secondary)}.table-header{display:grid;grid-template-columns:80px 2fr 1fr 1fr 100px;padding:12px 16px;background:var(--bg-card);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.table-header .amount-col{text-align:right}.transaction-row{display:grid;grid-template-columns:80px 2fr 1fr 1fr 100px;padding:16px;border-bottom:1px solid var(--bg-card);align-items:center}.transaction-row:last-child{border-bottom:none}.transaction-row:hover{background:#ffffff05}.transaction-date{color:var(--text-secondary);font-size:14px}.transaction-merchant{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-category{font-size:12px;background:var(--bg-card);padding:4px 8px;border-radius:4px;width:fit-content;text-transform:capitalize}.transaction-card{font-size:12px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-amount{text-align:right;font-weight:600;font-variant-numeric:tabular-nums}@media (max-width: 768px){.table-header{display:none}.transaction-row{grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:4px 12px}.transaction-date{grid-column:1;grid-row:1}.transaction-merchant{grid-column:1;grid-row:2}.transaction-amount{grid-column:2;grid-row:1 / 3;align-self:center}.transaction-category,.transaction-card{display:none}}.layout{display:flex;min-height:100vh}.sidebar{width:240px;background:var(--bg-secondary);padding:20px;position:fixed;height:100vh;border-right:1px solid var(--bg-card)}.logo h1{font-size:24px;font-weight:700;color:var(--accent);margin-bottom:40px}.nav-links{list-style:none}.nav-links li{margin-bottom:8px}.nav-links a{display:block;padding:12px 16px;border-radius:8px;color:var(--text-secondary);transition:all .2s}.nav-links a:hover{background:var(--bg-card);color:var(--text-primary)}.nav-links a.active{background:var(--accent);color:#fff}.content{flex:1;margin-left:240px;padding:32px}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-card: #334155;--text-primary: #f8fafc;--text-secondary: #94a3b8;--accent: #3b82f6;--accent-hover: #2563eb;--success: #22c55e;--warning: #f59e0b;--error: #ef4444}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:14px;font-weight:500;transition:all .2s}button.primary{background:var(--accent);color:#fff}button.primary:hover{background:var(--accent-hover)}button.secondary{background:var(--bg-card);color:var(--text-primary)}button.secondary:hover{background:var(--bg-secondary)}.card{background:var(--bg-secondary);border-radius:12px;padding:20px}
