@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";
:root{--primary-50:#f2f6fd;--primary-100:#d4e0f7;--primary-200:#a8c0f0;--primary-500:#2662d9;--primary-600:#1f4ead;--primary-700:#173b82;--category-food:#ee7c2b;--category-transport:#2badee;--category-entertainment:#b642f0;--category-bills:#dd3c3c;--category-shopping:#f0427c;--category-health:#26d962;--category-education:#eebd2b;--category-other:gray;--success:#26d962;--error:#dd3c3c;--warning:#eebd2b;--info:#2badee;--gray-50:#fafafa;--gray-100:#f2f2f2;--gray-200:#e6e6e6;--gray-300:#ccc;--gray-400:#999;--gray-500:gray;--gray-600:#666;--gray-700:#4d4d4d;--gray-800:#333;--gray-900:#1a1a1a;--background:var(--gray-50);--foreground:var(--gray-900);--card-bg:#fff;--border:var(--gray-200);--input-bg:#fff;--input-border:var(--gray-300);--hover-bg:var(--gray-100);--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px #0000001a;--shadow-xl:0 20px 25px #00000026;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--spacing-2xl:32px;--spacing-3xl:48px;--spacing-4xl:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px;--transition-fast:.15s ease-in-out;--transition-base:.2s ease-in-out;--transition-slow:.3s ease-in-out}[data-theme=dark]{--gray-50:#1a1a1a;--gray-100:#262626;--gray-200:#333;--gray-300:#4d4d4d;--gray-400:gray;--gray-500:#999;--gray-600:#b3b3b3;--gray-700:#ccc;--gray-800:#e6e6e6;--gray-900:#fafafa;--background:#141414;--foreground:var(--gray-900);--card-bg:#1f1f1f;--border:var(--gray-200);--input-bg:#262626;--input-border:var(--gray-300);--hover-bg:var(--gray-200);--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px #0006;--shadow-lg:0 10px 15px #00000080;--shadow-xl:0 20px 25px #0009}*{box-sizing:border-box;margin:0;padding:0}html,body{scroll-behavior:smooth;max-width:100vw;overflow-x:hidden}body{color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transition:background-color var(--transition-base),color var(--transition-base);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{margin-bottom:var(--spacing-md);font-weight:700;line-height:1.2}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{margin-bottom:var(--spacing-md)}a{color:var(--primary-500);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--primary-600)}button{cursor:pointer;transition:all var(--transition-base);border:none;outline:none;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{transition:all var(--transition-base);outline:none;font-family:inherit;font-size:1rem}input:focus,textarea:focus,select:focus{outline:2px solid var(--primary-500);outline-offset:2px}.container{max-width:1200px;padding:0 var(--spacing-lg);margin:0 auto}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:var(--spacing-xl);box-shadow:var(--shadow-md);transition:box-shadow var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fade-in{animation:fadeIn var(--transition-slow)ease-out}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--gray-100)}::-webkit-scrollbar-thumb{background:var(--gray-400);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--gray-500)}@media (max-width:768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.container{padding:0 var(--spacing-md)}.card{padding:var(--spacing-lg)}}.skeleton{background:linear-gradient(90deg,var(--gray-200)25%,var(--gray-300)50%,var(--gray-200)75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.5s ease-in-out infinite loading}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}
