:root{--h-primary:217;--h-accent:250;--bg-main:hsl(var(--h-primary), 33%, 8%);--bg-card:hsl(var(--h-primary), 33%, 12%);--bg-card-glass:hsla(var(--h-primary), 33%, 15%, .7);--text-main:#f8fafc;--text-muted:#8fa2bc;--primary:hsl(var(--h-primary), 91%, 60%);--secondary:hsl(var(--h-accent), 89%, 65%);--danger:#ef4343;--success:#2ced8c;--glass-border:#ffffff14;--glass-shadow:0 8px 32px 0 #0006;--font-main:"Inter", system-ui, sans-serif;--font-display:"Outfit", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{background-color:var(--bg-main);background:radial-gradient(circle at top right, hsla(var(--h-primary), 91%, 20%, .4), var(--bg-main) 70%);color:var(--text-main);font-family:var(--font-main);-webkit-font-smoothing:antialiased;justify-content:center;min-height:100vh;display:flex;overflow-x:hidden}#root{background:var(--bg-main);width:100%;max-width:500px;min-height:100vh;position:relative;box-shadow:0 0 100px #000c}h1,h2,h3,.title{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.title{background:linear-gradient(135deg, #fff 0%, var(--text-muted) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:1.8rem}.glass-panel{background:var(--bg-card-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:20px;padding:16px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),border-color .3s}.glass-panel:hover{border-color:hsla(var(--h-primary), 91%, 60%, .3)}input,select{background:hsla(var(--h-primary), 33%, 5%, .5);border:1px solid var(--glass-border);width:100%;color:var(--text-main);border-radius:14px;outline:none;margin-bottom:20px;padding:14px 18px;font-family:inherit;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1)}input:focus,select:focus{border-color:var(--primary);background:hsla(var(--h-primary), 33%, 5%, .8);box-shadow:0 0 0 4px hsla(var(--h-primary), 91%, 60%, .15)}.btn{font-weight:600;font-family:var(--font-display);cursor:pointer;border:none;border-radius:14px;justify-content:center;align-items:center;gap:10px;width:100%;padding:16px 24px;font-size:1rem;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.btn:active{transform:scale(.96)}.expense-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px;display:grid}.expense-card{text-align:center;background:var(--bg-card-glass);border:1px solid var(--glass-border);border-radius:12px;flex-direction:column;align-items:center;padding:8px 4px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.expense-card:before{content:"";background:linear-gradient(225deg,#0000 50%,#ffffff08 50%);width:40px;height:40px;transition:all .3s;position:absolute;top:0;right:0}.expense-card.paid{opacity:.6}.expense-card.paid:after{content:"✓";background:var(--success);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:8px;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 4px 10px #10b9814d}.expense-card:active{transform:scale(.95)}.expense-icon-wrapper{background:#ffffff08;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;margin-bottom:6px;font-size:14px;display:flex}.chart-container{width:80px;height:80px;margin:0 auto;position:relative}.chart-svg{transform:rotate(-90deg)}.chart-bg{fill:none;stroke:#ffffff0d;stroke-width:8px}.chart-progress{fill:none;stroke:var(--primary);stroke-width:8px;stroke-linecap:round;transition:stroke-dasharray 1.2s cubic-bezier(.65,0,.35,1)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}.animate-slide-up{animation:.6s cubic-bezier(.22,1,.36,1) forwards slideUp}.animate-pulse{animation:2s ease-in-out infinite pulse}@media print{body{color:#000;background:#fff}.btn,.floating-button{display:none!important}.glass-panel{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;border:1px solid #eee}}.bottom-sheet-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.bottom-sheet{background:hsla(var(--h-primary), 33%, 8%, .95);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border-top:1px solid var(--glass-border);border-radius:32px 32px 0 0;width:100%;max-width:500px;padding:32px 24px 48px;box-shadow:0 -10px 40px #00000080}.action-item{border:1px solid var(--glass-border);color:#fff;cursor:pointer;background:#ffffff08;border-radius:16px;align-items:center;gap:16px;width:100%;margin-bottom:12px;padding:16px;font-size:1rem;font-weight:600;transition:all .2s;display:flex}.action-item:active{background:#ffffff14;transform:scale(.98)}.action-item.danger{color:var(--danger);border-color:#ef444433}.bottom-sheet{animation:.3s cubic-bezier(.4,0,.2,1) slideUp}.fixed-footer-bar{background:linear-gradient(to top, hsla(var(--h-primary), 33%, 5%, .98) 0%, hsla(var(--h-primary), 33%, 5%, .8) 50%, transparent 100%);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:100;justify-content:center;padding:24px 20px 32px;display:flex;position:fixed;bottom:0;left:0;right:0}.pill-nav{border:1px solid var(--glass-border);background:#ffffff0a;border-radius:100px;gap:6px;width:100%;max-width:450px;padding:4px;display:flex;box-shadow:0 10px 30px #0000004d}.pill-action{color:#fff9;cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;border-radius:100px;flex:1;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-size:.8rem;font-weight:700;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.pill-action:active{color:#fff;background:#ffffff1a;transform:scale(.96)}.pill-action.danger{color:#ff8080b3}.pill-action.danger:active{color:#ff8080;background:#ef444426}@media print{@page{size:4in 6in;margin:.25in}body,html,#root{color:#000;box-shadow:none;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#fff;height:auto;min-height:0}.no-print{display:none!important}.print-only{color:#000;background:#fff;width:100%;font-family:monospace;font-size:12px;display:block!important}.print-only h1,.print-only h2{margin:0;font-family:sans-serif;font-size:1.2rem}.print-only span{display:block}.print-only>div>div>span:first-child{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}}.print-only{display:none}
