*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;color:#333}.app{max-width:1200px;margin:0 auto;padding:20px;position:relative}.app-header{text-align:center;margin-bottom:30px}.app-header h1{margin:0;color:#1a73e8}.app-header p{color:#666;margin-top:5px}.auth-container{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:600px;margin:0 auto 20px}.auth-container h2{margin-top:0}.auth-instructions{color:#666}.auth-steps{text-align:left;line-height:1.8}.auth-steps code{background:#f0f0f0;padding:2px 6px;border-radius:3px;font-size:.9em}.auth-form{margin-top:20px}.auth-status{display:flex;justify-content:center;align-items:center;gap:15px;padding:15px;background:#e8f5e9;border-radius:8px;margin-bottom:20px}.auth-status--floating{position:absolute;top:8px;right:8px;margin-bottom:0;justify-content:flex-end;background:transparent}.status-connected{color:#2e7d32;font-weight:500}.auth-menu{position:relative}.gear-button{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #cfd8dc;background:#fff;cursor:pointer;padding:0;transition:background .2s,border-color .2s}.gear-button svg{width:18px;height:18px;fill:#2e7d32}.gear-button:hover{background:#f5f5f5;border-color:#b0bec5}.auth-menu-popover{position:absolute;right:0;top:calc(100% + 8px);background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:8px;box-shadow:0 6px 16px #0000001f;z-index:2}.auth-menu-popover .btn-secondary{width:100%;text-align:left}.input-text{width:100%;padding:12px;font-size:16px;border:1px solid #ddd;border-radius:4px;margin-bottom:10px}.btn-primary{background:#1a73e8;color:#fff;border:none;padding:12px 24px;font-size:16px;border-radius:4px;cursor:pointer;transition:background .2s}.btn-primary:hover{background:#1557b0}.btn-secondary{background:#f5f5f5;color:#333;border:1px solid #ddd;padding:8px 16px;font-size:14px;border-radius:4px;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#e8e8e8}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.tab-nav{display:flex;gap:5px;margin-bottom:20px;border-bottom:2px solid #e0e0e0;padding-bottom:5px}.tab-nav button{background:none;border:none;padding:10px 20px;font-size:16px;cursor:pointer;color:#666;border-radius:4px 4px 0 0;transition:all .2s}.tab-nav button:hover:not(:disabled){background:#f0f0f0}.tab-nav button.active{background:#2e7d32;color:#fff;font-weight:600}.tab-nav button:focus{outline:none}.tab-nav button.active:focus{background:#2e7d32;color:#fff;outline:none}.tab-nav button:disabled{opacity:.5;cursor:not-allowed}.main-content{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.budget-selector h3{margin-top:0}.budget-list{display:flex;flex-wrap:wrap;gap:10px}.budget-item{padding:12px 24px;border:2px solid #e0e0e0;background:#fff;border-radius:8px;cursor:pointer;font-size:16px;transition:all .2s}.budget-item:hover{border-color:#1a73e8}.budget-item.selected{border-color:#1a73e8;background:#e3f2fd}.account-config{margin-top:30px;padding-top:20px;border-top:1px solid #e0e0e0}.help-text{color:#666;font-size:14px}.account-list{margin-top:15px}.account-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.account-name{font-weight:500}.account-type{color:#999;font-weight:400;margin-left:8px;font-size:.9em}.cashback-input{display:flex;align-items:center;gap:5px}.cashback-input input{width:60px;padding:6px 10px;border:1px solid #ddd;border-radius:4px;text-align:right;font-size:14px}.payee-mapper{min-height:400px}.mapper-header{margin-bottom:20px}.mapper-header h3{margin:0}.mapper-controls{display:flex;flex-wrap:wrap;gap:15px;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid #e0e0e0}.search-input{flex:1;min-width:200px;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.filter-buttons{display:flex;gap:5px}.filter-buttons button{padding:6px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:13px;transition:all .2s}.filter-buttons button:hover{background:#f5f5f5}.filter-buttons button.active{background:#1a73e8;color:#fff;border-color:#1a73e8}.payee-list{max-height:500px;overflow-y:auto}.payee-item{display:flex;justify-content:space-between;align-items:center;padding:12px;border-bottom:1px solid #f0f0f0;gap:15px}.payee-item:hover{background:#fafafa}.payee-name{flex:1;font-weight:500;min-width:200px}.mapping-info{display:flex;align-items:center;gap:10px;background:#e8f5e9;padding:6px 12px;border-radius:4px}.brand-name{color:#2e7d32;font-weight:500}.rebate-percent{background:#2e7d32;color:#fff;padding:2px 8px;border-radius:12px;font-size:12px}.btn-remove{background:none;border:none;color:#999;cursor:pointer;font-size:16px;padding:0 5px}.btn-remove:hover{color:#d32f2f}.brand-search{position:relative;min-width:250px}.brand-search-input{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.search-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 8px #00000026;z-index:100;max-height:250px;overflow-y:auto}.search-result{display:flex;justify-content:space-between;padding:10px 12px;cursor:pointer;transition:background .1s}.search-result:hover{background:#f5f5f5}.result-name{color:#333}.result-percent{color:#2e7d32;font-weight:500}.date-range-picker{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e0e0e0}.date-range-picker h3{margin-top:0}.preset-buttons{display:flex;flex-wrap:wrap;gap:8px}.preset-buttons button{padding:8px 16px;border:1px solid #ddd;background:#fff;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.preset-buttons button:hover{background:#f5f5f5}.preset-buttons button.active{background:#1a73e8;color:#fff;border-color:#1a73e8}.custom-date{margin-top:15px}.custom-date input{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;margin-left:10px}.earnings-report h3{margin-top:0}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:25px}.summary-card{background:#f5f5f5;padding:20px;border-radius:8px;text-align:center}.summary-card.highlight-green{background:#e8f5e9}.card-label{font-size:14px;color:#444;margin-bottom:8px}.card-value{font-size:24px;font-weight:700;color:#333}.summary-card.highlight-green .card-value{color:#2e7d32}.card-detail{font-size:12px;color:#999;margin-top:5px}.transactions-table-container{overflow-x:auto}.transactions-table{width:100%;border-collapse:collapse;font-size:14px}.transactions-table th,.transactions-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #e0e0e0}.transactions-table th{background:#f5f5f5;font-weight:600;position:sticky;top:0}.transactions-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.transactions-table th.sortable:hover{background:#e8e8e8}.transactions-table tbody tr:hover{background:#fafafa}.transactions-table tbody tr.row-positive{background:#f1f8e9}.transactions-table tfoot{background:#f5f5f5}.rate-badge{background:#e3f2fd;color:#1565c0;padding:2px 6px;border-radius:10px;font-size:11px;margin-left:6px}.earnings-cell{color:#666}.positive{color:#2e7d32;font-weight:500}.negative{color:#c62828}.app-footer{margin-top:30px;text-align:center;color:#999;font-size:14px}.app-footer a{color:#1a73e8}.loading{padding:40px;text-align:center;color:#666}.error{padding:15px;background:#ffebee;color:#c62828;border-radius:4px;margin:10px 0}.transaction-cards{display:none}.transaction-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:15px;margin-bottom:12px}.transaction-card.positive{background:#f1f8e9;border-color:#c5e1a5}.transaction-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.transaction-card-payee{font-weight:600;font-size:15px;flex:1}.transaction-card-amount{font-weight:600;font-size:16px;text-align:right}.transaction-card-details{display:grid;grid-template-columns:1fr 1fr;gap:8px;font-size:13px;color:#666}.transaction-card-row{display:flex;justify-content:space-between}.transaction-card-label{color:#999}.transaction-card-value{font-weight:500}.transaction-card-footer{display:flex;justify-content:space-between;margin-top:12px;padding-top:10px;border-top:1px solid #e0e0e0;font-size:14px}.transaction-card-earning{text-align:center}.transaction-card-earning-label{font-size:11px;color:#999;margin-bottom:2px}.transaction-card-earning-value{font-weight:600}.transaction-card-earning-value.highlight{color:#2e7d32}.transaction-card-diff{text-align:center;padding:5px 10px;border-radius:4px;font-weight:600}.transaction-card-diff.positive{background:#e8f5e9;color:#2e7d32}.transaction-card-diff.negative{background:#ffebee;color:#c62828}.mobile-totals{background:#f5f5f5;border-radius:8px;padding:15px;margin-top:15px}.mobile-totals-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e0e0e0}.mobile-totals-row:last-child{border-bottom:none;font-weight:600;font-size:16px}.mobile-totals-row.highlight{color:#2e7d32}@media (max-width: 768px){.app{padding:10px}.mapper-controls{flex-direction:column;align-items:stretch}.search-input{width:100%}.payee-item{flex-direction:column;align-items:flex-start}.brand-search{width:100%;margin-top:10px}.summary-cards{grid-template-columns:1fr 1fr}.transactions-table-container{display:none}.transaction-cards{display:block}.summary-cards{grid-template-columns:1fr}.summary-card{padding:15px}.card-value{font-size:20px}.tab-nav{flex-wrap:wrap}.tab-nav button{flex:1;min-width:80px;padding:8px 10px;font-size:14px}.preset-buttons{gap:5px}.preset-buttons button{padding:6px 10px;font-size:12px}}
