:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f6f8fc;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #172033;--soft-ink: #40506a;--muted: #708098;--line: rgba(119, 137, 164, .22);--panel: rgba(255, 255, 255, .82);--panel-strong: rgba(255, 255, 255, .94);--blue: #286df1;--teal: #17a7a2;--green: #18a56f;--red: #e05260;--amber: #eea83b;--coral: #f1665d;--shadow: 0 22px 60px rgba(43, 56, 86, .13);--shadow-soft: 0 14px 36px rgba(43, 56, 86, .09)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% 8%,rgba(40,109,241,.18),transparent 30rem),radial-gradient(circle at 92% 4%,rgba(23,167,162,.2),transparent 28rem),linear-gradient(135deg,#fbfdff,#eef6ff 44%,#fff7f0)}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.68}a{color:inherit;text-decoration:none}.public-shell{min-height:100vh;overflow:hidden;background:linear-gradient(rgba(40,109,241,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(23,167,162,.05) 1px,transparent 1px),radial-gradient(circle at 50% 0%,rgba(255,255,255,.88),transparent 36rem),linear-gradient(135deg,#f8fbff,#eef7ff 48%,#fff6f2);background-size:72px 72px,72px 72px,auto,auto}.landing-page{position:relative;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 34px}.landing-page:before,.landing-page:after{content:"";position:absolute;z-index:0;pointer-events:none;filter:blur(48px);opacity:.54}.landing-page:before{top:100px;right:14%;width:34rem;height:12rem;background:linear-gradient(90deg,#286df140,#17a7a23d);transform:rotate(-12deg)}.landing-page:after{bottom:28px;left:4%;width:28rem;height:12rem;background:linear-gradient(90deg,#f1665d2e,#eea83b33);transform:rotate(8deg)}.landing-nav,.landing-hero,.auth-card,.app-header,.dashboard-grid,.main-layout,.error-message,.success-message,.loading-state{position:relative;z-index:1}.landing-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:64px}.brand-lockup{display:inline-flex;align-items:center;gap:10px;color:var(--ink);font-size:1rem}.brand-mark{width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,#286df1f2,#17a7a2eb),#286df1;box-shadow:0 12px 26px #286df13d}.nav-signin,.hero-secondary,.secondary-button,.ghost-button,.logout-button{min-height:42px;border:1px solid rgba(119,137,164,.26);border-radius:999px;background:#ffffffc7;color:var(--ink);font-weight:800;box-shadow:0 10px 24px #2b38560f;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.nav-signin,.hero-secondary,.logout-button{padding:0 18px}.nav-signin:hover,.hero-secondary:hover,.secondary-button:hover,.ghost-button:hover,.logout-button:hover{border-color:#286df152;box-shadow:0 14px 28px #2b38561a;transform:translateY(-1px)}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.88fr);align-items:center;gap:52px;min-height:680px;padding:48px 0 92px}.hero-copy{max-width:680px}.hero-kicker,.eyebrow{display:inline-flex;align-items:center;width:fit-content;min-height:28px;padding:5px 10px;border-radius:999px;background:#286df11a;color:var(--blue);font-size:.74rem;font-weight:900;letter-spacing:0;text-transform:uppercase}.hero-copy h1{margin:18px 0;color:#101827;font-size:5.8rem;line-height:.95;letter-spacing:0}.hero-copy p{max-width:620px;margin:0;color:var(--soft-ink);font-size:1.22rem;line-height:1.65}.hero-actions,.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:28px}.hero-primary,.primary-button,.auth-submit{min-height:46px;border-radius:999px;background:linear-gradient(135deg,#286df1,#17a7a2),#286df1;color:#fff;font-weight:900;box-shadow:0 18px 38px #286df13d;transition:transform .18s ease,box-shadow .18s ease}.hero-primary{padding:0 24px}.primary-button,.secondary-button{padding:0 18px}.hero-primary:hover,.primary-button:hover,.auth-submit:hover{box-shadow:0 20px 42px #17a7a242;transform:translateY(-1px)}.hero-visual{position:relative;min-height:520px;border-radius:34px;background:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px),linear-gradient(145deg,#286df1d1,#17a7a2bd 52%,#f1665d94);background-size:44px 44px,44px 44px,auto;box-shadow:0 34px 90px #286df13b;overflow:hidden}.hero-visual:before{content:"";position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:1px solid rgba(255,255,255,.32);border-radius:28px;background:#ffffff1a;transform:rotate(-8deg)}.float-card{position:absolute;display:grid;gap:7px;width:190px;min-height:128px;padding:18px;border:1px solid rgba(255,255,255,.56);border-radius:22px;background:#ffffffc7;box-shadow:0 22px 44px #1b263d2e;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:floatCard 6s ease-in-out infinite alternate}.float-card span{color:var(--muted);font-size:.8rem;font-weight:900;text-transform:uppercase}.float-card strong{color:var(--ink);font-size:1.45rem}.float-card small{color:var(--soft-ink);line-height:1.35}.balance-card{top:62px;left:34px}.expense-card{top:180px;right:32px;animation-delay:-1.8s}.habit-card{left:64px;bottom:72px;animation-delay:-3s}.category-card{right:70px;bottom:42px;animation-delay:-4s}.mini-bars{display:grid;gap:8px}.mini-bars i{display:block;height:10px;border-radius:999px;background:linear-gradient(90deg,var(--blue),var(--teal))}.mini-bars i:nth-child(2){width:72%;background:linear-gradient(90deg,var(--coral),var(--amber))}.mini-bars i:nth-child(3){width:48%;background:linear-gradient(90deg,var(--green),var(--teal))}@keyframes floatCard{0%{transform:translateZ(0)}to{transform:translate3d(0,-14px,0)}}.auth-section{width:min(980px,calc(100% - 32px));margin:-82px auto 72px;padding-top:24px}.auth-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:26px;padding:28px;border:1px solid rgba(255,255,255,.72);border-radius:30px;background:radial-gradient(circle at 12% 12%,rgba(40,109,241,.14),transparent 22rem),radial-gradient(circle at 96% 18%,rgba(238,168,59,.16),transparent 18rem),#ffffffc2;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px)}.auth-copy{align-self:center;padding:10px}.auth-copy h2,.section-heading h2{margin:10px 0 8px;color:var(--ink);font-size:1.55rem;line-height:1.1;letter-spacing:0}.auth-copy p{margin:0;color:var(--soft-ink);line-height:1.65}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-self:start;padding:5px;border-radius:999px;background:#dfe7f3bd}.auth-tabs button{min-height:40px;border-radius:999px;background:transparent;color:var(--soft-ink);font-weight:900;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.auth-tabs button.active{background:#fff;color:var(--ink);box-shadow:0 10px 24px #2b38561a}.auth-error,.error-message{display:grid;gap:4px;padding:14px 16px;border:1px solid rgba(224,82,96,.24);border-radius:18px;background:#fff1f2e0;color:#9c2635}.auth-error span,.error-message span{color:#b23945}.auth-form,.transaction-form{display:grid;gap:16px}.auth-form{grid-column:2}label{display:grid;gap:7px;color:var(--soft-ink);font-size:.9rem;font-weight:800}input,select{width:100%;min-height:46px;border:1px solid rgba(119,137,164,.28);border-radius:15px;padding:0 14px;background:#ffffffe6;color:var(--ink);outline:none;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}input:focus,select:focus{border-color:#286df19e;background:#fff;box-shadow:0 0 0 4px #286df11f}.auth-submit{width:100%;margin-top:2px}.dashboard-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 10% 6%,rgba(40,109,241,.18),transparent 32rem),radial-gradient(circle at 86% 12%,rgba(23,167,162,.18),transparent 30rem),radial-gradient(circle at 72% 88%,rgba(241,102,93,.12),transparent 26rem),linear-gradient(135deg,#f9fcff,#eef7ff 48%,#fffaf4)}.background-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(rgba(40,109,241,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(23,167,162,.052) 1px,transparent 1px);background-size:76px 76px;-webkit-mask-image:linear-gradient(to bottom,black 0%,black 62%,transparent 94%);mask-image:linear-gradient(to bottom,black 0%,black 62%,transparent 94%)}.background-glow{position:absolute;width:52rem;height:18rem;filter:blur(56px);opacity:.34;animation:softGlow 10s ease-in-out infinite alternate}.background-glow-one{top:3%;left:-12%;background:linear-gradient(90deg,#286df185,#17a7a261)}.background-glow-two{top:7%;right:-14%;background:linear-gradient(90deg,#17a7a26b,#eea83b47);animation-delay:-4s}.background-glow-three{bottom:-4%;left:24%;background:linear-gradient(90deg,#f1665d3d,#286df152);animation-delay:-7s}.background-noise{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#ffffff0d,#ffffffb8)}@keyframes softGlow{0%{transform:translateZ(0) rotate(-6deg)}to{transform:translate3d(28px,-14px,0) rotate(4deg)}}.app-shell{position:relative;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:32px 0 56px}.app-shell>:not(.dashboard-background){position:relative;z-index:2}.app-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:210px;padding:34px;border:1px solid rgba(255,255,255,.74);border-radius:28px;background:radial-gradient(circle at 88% 12%,rgba(23,167,162,.2),transparent 20rem),radial-gradient(circle at 14% 18%,rgba(40,109,241,.18),transparent 20rem),#ffffffc7;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.app-header h1{margin:12px 0 8px;color:#111827;font-size:4rem;line-height:1;letter-spacing:0}.app-header p{max-width:560px;margin:0;color:var(--soft-ink);font-size:1.06rem;line-height:1.55}.dashboard-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0}.metric-card,.panel,.success-message,.loading-state{border:1px solid rgba(255,255,255,.74);border-radius:22px;background:var(--panel);box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.metric-card{display:grid;gap:9px;min-height:156px;padding:20px}.metric-card span{color:var(--muted);font-size:.78rem;font-weight:900;text-transform:uppercase}.metric-card strong{color:var(--ink);font-size:1.65rem;line-height:1.05}.metric-card small{color:var(--soft-ink);line-height:1.35}.metric-card.income{border-color:#18a56f3d}.metric-card.expense{border-color:#e052603d}.metric-card.balance{border-color:#286df13d}.metric-card.average{border-color:#17a7a23d}.metric-card.highest{border-color:#eea83b47}.main-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:18px}.left-column,.right-column{display:grid;align-content:start;gap:18px}.panel{padding:22px}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.section-heading strong{color:var(--ink);font-size:1rem}.filters-grid,.form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.filters-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{display:grid;justify-items:start;gap:8px;padding:18px;border:1px dashed rgba(119,137,164,.34);border-radius:18px;background:#ffffff85}.empty-mark{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#286df11a;color:var(--blue);font-weight:900}.empty-state h3,.empty-state p{margin:0}.empty-state h3{color:var(--ink);font-size:1rem}.empty-state p{color:var(--soft-ink);line-height:1.45}.success-message{margin:18px 0;padding:14px 16px;color:#126c4b;background:#ebfff7e0;border-color:#18a56f3d;font-weight:800}.error-message{margin:18px 0}.loading-state{display:flex;align-items:center;justify-content:center;gap:12px;min-height:220px;color:var(--soft-ink);font-weight:900}.spinner{width:26px;height:26px;border:3px solid rgba(40,109,241,.16);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.transaction-list,.category-list{display:grid;gap:12px}.transaction-card{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px;border:1px solid rgba(119,137,164,.18);border-radius:18px;background:#ffffffa8}.transaction-main{display:flex;align-items:center;gap:12px;min-width:0}.transaction-main h3{margin:0 0 4px;color:var(--ink);font-size:1rem;overflow-wrap:anywhere}.transaction-main p{margin:0;color:var(--muted);font-size:.9rem}.type-pill{flex:0 0 auto;min-width:82px;padding:7px 9px;border-radius:999px;text-align:center;font-size:.72rem;font-weight:900}.income-pill{background:#18a56f1f;color:#14734f}.expense-pill{background:#e052601f;color:#a73543}.transaction-actions{display:flex;align-items:center;gap:14px;flex:0 0 auto}.transaction-actions>div{display:flex;gap:8px}.transaction-actions strong{white-space:nowrap}.amount-income{color:var(--green)}.amount-expense{color:var(--red)}.ghost-button,.danger-button{min-height:36px;padding:0 12px;border-radius:999px;font-weight:900}.danger-button{background:#e052601f;color:#9c2635}.danger-button:hover{background:#e052602e}.category-row{display:grid;gap:10px}.category-meta{display:flex;justify-content:space-between;gap:12px;color:var(--soft-ink);font-weight:800}.category-meta strong{color:var(--ink)}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#7789a424}.progress-fill{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--blue),var(--teal),var(--green))}.percent-0{width:0%}.percent-5{width:5%}.percent-10{width:10%}.percent-15{width:15%}.percent-20{width:20%}.percent-25{width:25%}.percent-30{width:30%}.percent-35{width:35%}.percent-40{width:40%}.percent-45{width:45%}.percent-50{width:50%}.percent-55{width:55%}.percent-60{width:60%}.percent-65{width:65%}.percent-70{width:70%}.percent-75{width:75%}.percent-80{width:80%}.percent-85{width:85%}.percent-90{width:90%}.percent-95{width:95%}.percent-100{width:100%}@media(max-width:980px){.landing-hero,.main-layout,.auth-card{grid-template-columns:1fr}.landing-hero{gap:32px;min-height:auto;padding:46px 0 112px}.hero-copy h1{font-size:4.2rem}.hero-visual{min-height:430px}.auth-form{grid-column:auto}.auth-section{margin-top:-70px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.landing-page,.app-shell,.auth-section{width:min(100% - 22px,1180px)}.landing-nav{min-height:56px}.hero-copy h1,.app-header h1{font-size:3rem}.hero-copy p{font-size:1rem}.hero-actions,.button-row,.transaction-actions,.transaction-actions>div{width:100%}.hero-primary,.hero-secondary,.primary-button,.secondary-button,.ghost-button,.danger-button{width:100%}.hero-visual{min-height:360px;border-radius:24px}.float-card{width:158px;min-height:112px;padding:14px}.float-card strong{font-size:1.1rem}.balance-card{top:28px;left:16px}.expense-card{top:112px;right:14px}.habit-card{left:16px;bottom:42px}.category-card{right:18px;bottom:18px}.auth-card,.panel,.app-header{border-radius:22px;padding:18px}.app-header,.section-heading,.transaction-card,.transaction-actions{align-items:stretch;flex-direction:column}.dashboard-grid,.filters-grid,.form-pair{grid-template-columns:1fr}.metric-card{min-height:132px}.transaction-main{align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}}
