:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{min-height:100vh;background:#0a0a0a;color:#fafafa}.app{max-width:480px;margin:0 auto;padding:1.5rem 1rem;min-height:100vh}.header{margin-bottom:1.5rem}.header h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em}.date-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;background:#ffffff0a;border-radius:.75rem;padding:.5rem .75rem}.nav-btn{background:none;border:none;color:#fafafa;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:background .15s}.nav-btn:hover{background:#ffffff14}.date-display{display:flex;align-items:center;gap:.5rem}.date-text{font-weight:600;font-size:1rem}.today-badge{font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:#10b981;border:1px solid rgba(16,185,129,.3);padding:.15rem .4rem;border-radius:.25rem}.summary{background:#ffffff0a;border-radius:.75rem;padding:1rem;margin-bottom:1rem}.summary-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.summary-label{font-size:.85rem;color:#ffffff80;text-transform:uppercase;letter-spacing:.08em}.summary-amount{font-size:1.75rem;font-weight:700;letter-spacing:-.02em}.category-breakdown{display:flex;flex-wrap:wrap;gap:.5rem}.category-pill{display:flex;align-items:center;gap:.35rem;font-size:.75rem;background:#ffffff0d;padding:.25rem .5rem;border-radius:1rem}.category-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.category-name{color:#fff9}.category-amount{font-weight:600}.add-btn{width:100%;padding:.75rem;background:#ffffff0f;border:1px dashed rgba(255,255,255,.15);border-radius:.75rem;color:#fff9;font-size:.95rem;cursor:pointer;margin-bottom:1rem;transition:all .15s}.add-btn:hover{background:#ffffff14;border-color:#ffffff40;color:#fafafa}.form{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:.75rem;padding:1rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.75rem}.input{width:100%;padding:.65rem .75rem;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#fafafa;font-size:.95rem;font-family:inherit;outline:none;transition:border-color .15s}.input:focus{border-color:#ffffff4d}.input::placeholder{color:#ffffff4d}.category-select{display:flex;flex-wrap:wrap;gap:.4rem}.cat-btn{padding:.3rem .6rem;font-size:.75rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:1rem;color:#ffffff80;cursor:pointer;transition:all .15s;font-family:inherit}.cat-btn:hover{background:#ffffff14}.cat-btn.active{background:#ffffff14;font-weight:600}.form-actions{display:flex;gap:.5rem;justify-content:flex-end}.cancel-btn{padding:.5rem 1rem;background:none;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;color:#ffffff80;cursor:pointer;font-size:.85rem;font-family:inherit;transition:all .15s}.cancel-btn:hover{background:#ffffff0d}.save-btn{padding:.5rem 1.25rem;background:#3b82f6;border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit;transition:background .15s}.save-btn:hover{background:#2563eb}.list{display:flex;flex-direction:column;gap:.5rem}.empty{text-align:center;color:#ffffff4d;font-size:.9rem;padding:2rem 0}.expense-item{display:flex;align-items:center;justify-content:space-between;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:.625rem;padding:.75rem;transition:background .15s}.expense-item:hover{background:#ffffff0d}.expense-left{display:flex;align-items:center;gap:.6rem;min-width:0}.expense-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.expense-info{display:flex;flex-direction:column;min-width:0}.expense-desc{font-weight:500;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.expense-meta{font-size:.72rem;color:#ffffff59}.expense-right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.expense-amount{font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums}.delete-btn{background:none;border:none;color:#fff3;font-size:1.2rem;cursor:pointer;padding:.1rem .3rem;border-radius:.25rem;transition:all .15s;line-height:1}.delete-btn:hover{color:#ef4444;background:#ef44441a}
