.page{width:100%;max-width:920px;margin:0 auto;padding:40px 20px 64px}.page-head{margin-bottom:28px}.page-head h1{margin:0;font-size:2rem;letter-spacing:-.02em}.export-panel{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:24px}.export-panel p{flex:1 1 320px;margin:0;color:var(--ink-soft);line-height:1.5}.export-panel button:disabled{opacity:.55;cursor:not-allowed}.page-head p{margin:6px 0 0;color:var(--ink-soft);font-size:1rem}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.summary-card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:20px 22px;display:flex;flex-direction:column;gap:8px}.summary-label{color:var(--ink-soft);font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.summary-value{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}.summary-value.is-negative{color:var(--danger)}.summary-note{font-size:.8rem;color:var(--danger)}.forms{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.card-head h2{margin:0;font-size:1.15rem}.budget-current{color:var(--ink-soft);font-size:.85rem}.budget-form,.expense-form{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.field{display:flex;flex-direction:column;gap:7px;flex:1 1 140px;min-width:0}.field-grow{flex:1 1 100%}.field-label{font-size:.85rem;font-weight:600;color:var(--ink-soft)}.field input,.field select,.amount-input{border:1px solid var(--line);border-radius:var(--radius-sm);background:#fbfbfe;font-size:.98rem;color:var(--ink)}.field input,.field select{padding:11px 13px;transition:border-color .15s ease,box-shadow .15s ease}.field input:focus,.field select:focus,.amount-input:focus-within{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px #5b5bd626}.amount-input{display:flex;align-items:center;padding-left:12px}.amount-symbol{color:var(--ink-soft);font-weight:600;margin-right:2px}.amount-input input{border:none;background:transparent;box-shadow:none;flex:1;width:100%}.amount-input input:focus{outline:none;box-shadow:none}.btn{border:none;border-radius:var(--radius-sm);padding:12px 20px;font-size:.95rem;font-weight:600;transition:transform .12s ease,background-color .15s ease,box-shadow .15s ease}.btn-primary{background:var(--brand);color:#fff;box-shadow:0 8px 18px #5b5bd640}.btn-primary:hover{background:var(--brand-strong);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.expense-submit{flex:1 1 100%}.form-error{margin:14px 0 0;color:var(--danger);background:var(--danger-soft);padding:10px 14px;border-radius:var(--radius-sm);font-size:.9rem}.count-pill{background:#eef0fb;color:var(--brand-strong);border-radius:999px;padding:2px 12px;font-size:.85rem;font-weight:700}.expense-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.expense-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:var(--radius-sm);transition:box-shadow .15s ease,transform .12s ease,border-color .15s ease}.expense-row:hover{box-shadow:var(--shadow-soft);transform:translateY(-1px);border-color:#dcdef0}.expense-main{display:flex;align-items:center;gap:12px;min-width:0}.expense-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tag{font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap}.tag-food{background:#fff1e6;color:#b5651d}.tag-transport{background:#e6f2ff;color:#1f6fb2}.tag-entertainment{background:#f1e9ff;color:#7a4ad1}.tag-shopping{background:#e8f8f0;color:#1c8b6b}.expense-side{display:flex;align-items:center;gap:14px;flex-shrink:0}.expense-amount{font-weight:700}.btn-remove{border:none;background:transparent;color:var(--ink-soft);font-size:.85rem;font-weight:600;padding:6px 10px;border-radius:8px;transition:color .15s ease,background-color .15s ease}.btn-remove:hover{color:var(--danger);background:var(--danger-soft)}.empty-state{text-align:center;padding:36px 16px;color:var(--ink-soft)}.empty-title{margin:0 0 6px;font-weight:700;color:var(--ink)}.empty-sub{margin:0;font-size:.92rem}@media(max-width:760px){.summary,.forms{grid-template-columns:1fr}}@media(max-width:480px){.page{padding:28px 16px 48px}.page-head h1{font-size:1.6rem}.expense-row{flex-direction:column;align-items:stretch}.expense-side{justify-content:space-between}}:root{--bg: #f4f5fb;--surface: #ffffff;--ink: #1f2330;--ink-soft: #6b7081;--line: #e8e9f1;--brand: #5b5bd6;--brand-strong: #4a4ac4;--danger: #d7263d;--danger-soft: #fdecef;--good: #1c8b6b;--shadow: 0 14px 40px rgba(40, 44, 80, .08);--shadow-soft: 0 6px 18px rgba(40, 44, 80, .06);--radius: 18px;--radius-sm: 12px;font-family:Segoe UI,system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}
