@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#dbeafe;--primary-foreground:#fff;--background:#f8fafc;--foreground:#0f172a;--card:#fff;--card-hover:#fafafa;--border:#e2e8f0;--border-light:#f1f5f9;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--success:#22c55e;--success-bg:#f0fdf4;--warning:#eab308;--warning-bg:#fefce8;--danger:#ef4444;--danger-bg:#fef2f2;--radius:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.5}#root{width:100%;min-height:100vh}.min-h-screen{min-height:100vh}.p-4{padding:16px}.p-6{padding:24px}.p-8{padding:32px}.py-8{padding-top:32px;padding-bottom:32px}.py-16{padding-top:64px;padding-bottom:64px}.px-4{padding-left:16px;padding-right:16px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mt-4{margin-top:16px}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.ml-4{margin-left:16px}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-1{flex:1}.items-center{align-items: center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.space-y-3>*+*{margin-top:12px}.w-full{width:100%}.w-80{width:320px}.w-1\/2{width:50%}.max-w-2xl{max-width:672px}.mx-auto{margin-left:auto;margin-right:auto}.h-full{height:100%}.flex-shrink-0{flex-shrink:0}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.transition-all{transition:all .2s}.duration-300{transition-duration:.3s}.cursor-pointer{cursor:pointer}.whitespace-nowrap{white-space:nowrap}.text-xs{font-size:12px}.text-sm{font-size:14px}.text-lg{font-size:18px}.text-xl{font-size:20px}.text-2xl{font-size:24px}.text-3xl{font-size:30px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.font-mono{font-family:SF Mono,Monaco,monospace}.text-gray-400{color:var(--text-muted)}.text-gray-500,.text-gray-600{color:var(--text-secondary)}.text-gray-700{color:var(--text-primary)}.text-green-600{color:var(--success)}.text-red-600,.text-red-500{color:var(--danger)}.text-red-700{color:#b91c1c}.bg-gray-50{background:var(--background)}.btn{display:inline-flex;border-radius:var(--radius);cursor:pointer;white-space:nowrap;text-decoration:none;border:none;justify-content:center;align-items: center;gap:6px;padding:10px 16px;transition:all .15s;font-size:14px;font-weight:500}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:var(--primary-foreground)}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-secondary{background:var(--border-light);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--border)}.btn-outline{border:1px solid var(--border);color:var(--text-primary);background:#fff}.btn-outline:hover:not(:disabled){background:var(--border-light);border-color:var(--text-muted)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--border-light);color:var(--text-primary)}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:12px 24px;font-size:16px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{border-bottom:1px solid var(--border-light);padding:20px 24px}.card-title{color:var(--text-primary);font-size:16px;font-weight:600}.card-content{padding:20px 24px}.nav-tabs{display:flex;background:var(--border-light);border-radius:var(--radius);gap:4px;padding:4px}.nav-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:8px 16px;transition:all .15s;font-size:14px;font-weight:500}.nav-tab:hover{color:var(--text-primary);background:#ffffff80}.nav-tab.active{color:var(--primary);box-shadow:var(--shadow-sm);background:#fff}.status-badge{display:inline-flex;background:var(--success-bg);color:var(--success);border-radius:20px;align-items: center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500}.account-card{text-align:left;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;width:100%;padding:16px;transition:all .15s}.account-card:hover{border-color:var(--text-muted);background:var(--card-hover)}.account-card.selected{border-color:var(--primary);background:var(--primary-light);box-shadow:0 0 0 3px #2563eb1a}table{border-collapse:collapse;width:100%}thead{position:sticky;z-index:10;top:0}thead tr{background:var(--border-light)}th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);border-bottom:1px solid var(--border);padding:12px 16px;font-size:11px;font-weight:600}th:last-child{text-align:right}tbody tr{border-bottom:1px solid var(--border-light);transition:background .1s}tbody tr:hover{background:var(--border-light)}td{color:var(--text-primary);padding:14px 16px;font-size:14px}td:last-child{text-align:right}.amount{font-family:SF Mono,Monaco,monospace;font-size:14px;font-weight:600}.amount.positive{color:var(--success)}.amount.negative{color:var(--danger)}.subscription-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}.stat-card{border:1px solid var(--border);border-radius:var(--radius-lg);text-align:center;background:#fff;padding:24px}.stat-value{color:var(--primary);margin-bottom:4px;font-size:28px;font-weight:700}.stat-label{color:var(--text-secondary);font-size:13px;font-weight:500}.subscription-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:16px}.subscription-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:#fff;padding:20px;transition:all .2s}.subscription-card:hover{border-color:var(--text-muted);box-shadow:var(--shadow-md)}.subscription-header{display:flex;justify-content:space-between;align-items: flex-start;margin-bottom:16px}.subscription-name{color:var(--text-primary);font-size:16px;font-weight:600}.subscription-badge{display:inline-flex;border-radius:20px;align-items: center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500}.subscription-badge.monthly{background:var(--primary-light);color:var(--primary)}.subscription-badge.yearly{background:var(--success-bg);color:var(--success)}.subscription-badge.weekly{background:var(--warning-bg);color:#b45309}.subscription-amount{color:var(--text-primary);font-size:32px;font-weight:700;line-height:1}.subscription-frequency{color:var(--text-secondary);margin-top:4px;font-size:14px}.subscription-details{border-top:1px solid var(--border-light);margin-top:20px;padding-top:16px}.subscription-detail{display:flex;justify-content:space-between;padding:8px 0;font-size:13px}.subscription-detail-label{color:var(--text-secondary)}.subscription-detail-value{color:var(--text-primary);font-weight:500}.empty-state{display:flex;text-align:center;flex-direction:column;justify-content:center;align-items: center;padding:64px 24px}.empty-state-icon{opacity:.8;margin-bottom:16px;font-size:48px}.empty-state-title{color:var(--text-primary);margin-bottom:8px;font-size:18px;font-weight:600}.empty-state-description{color:var(--text-secondary);max-width:360px;font-size:14px;line-height:1.6}.bg-red-50{background:var(--danger-bg)}.border-red-200{border-color:#fecaca}.rounded-lg{border-radius:var(--radius)}.border{border:1px solid var(--border)}.border-2{border:2px solid var(--border)}.border-gray-200{border-color:var(--border)}.border-gray-300{border-color:var(--text-muted)}.border-blue-500{border-color:var(--primary)}.bg-blue-50{background:var(--primary-light)}.bg-gray-100{background:var(--border-light)}.bg-white{background:#fff}.rounded{border-radius:var(--radius)}.shadow-md{box-shadow:var(--shadow-md)}.sticky{position:sticky}.top-0{top:0}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .3s ease-out}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:pulse 1.5s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--border-light);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}
