:root{--green:#2d6a4f;--green-light:#52b788;--green-pale:#d8f3dc;--yellow:#f4a261;--red:#e63946;--blue:#457b9d;--bg:#f5f7fa;--card:#fff;--border:#e9ecef;--text:#212529;--muted:#868e96}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6}button{cursor:pointer;font:inherit;background:0 0;border:none}.app{flex-direction:column;min-height:100vh;display:flex}.header{color:#fff;background:linear-gradient(135deg,#1a1a2e,#16213e);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header h1{font-size:1.1rem;font-weight:600}.header .sub{opacity:.6;margin-top:2px;font-size:.78rem}.tabs{border-bottom:2px solid var(--border);background:#fff;gap:4px;padding:0 16px;display:flex}.tab-btn{color:var(--muted);border-bottom:3px solid #0000;padding:12px 16px;font-size:.88rem;font-weight:500;transition:all .15s}.tab-btn.active{color:var(--green);border-bottom-color:var(--green)}.tab-btn:hover:not(.active){color:var(--text)}.content{flex:1;width:100%;max-width:900px;margin:0 auto;padding:20px 16px}.card{background:var(--card);border:1px solid var(--border);border-radius:12px;margin-bottom:14px;padding:16px}.card-title{align-items:center;gap:6px;margin-bottom:12px;font-size:.9rem;font-weight:600;display:flex}.section-urgent .card-title{color:var(--red)}.section-important .card-title{color:#e67700}.section-later .card-title{color:var(--green)}.task-item{border-bottom:1px solid var(--border);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.task-item:last-child{border-bottom:none}.task-item.done .task-text{color:var(--muted);text-decoration:line-through}.task-check{cursor:pointer;flex-shrink:0;width:18px;height:18px;margin-top:2px}.task-text{flex:1;font-size:.88rem}.task-income{color:var(--green);background:var(--green-pale);border-radius:10px;flex-shrink:0;padding:1px 6px;font-size:.75rem;font-weight:600}.task-del{color:var(--muted);opacity:.4;padding:0 4px;font-size:1rem;transition:opacity .15s}.task-del:hover{opacity:1;color:var(--red)}.add-form{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.add-input{border:1px solid var(--border);min-width:160px;font:inherit;border-radius:8px;flex:1;padding:7px 10px;font-size:.88rem}.add-input:focus{border-color:var(--green-light);outline:none}.add-select{border:1px solid var(--border);font:inherit;background:#fff;border-radius:8px;padding:7px 10px;font-size:.88rem}.add-btn{background:var(--green);color:#fff;border-radius:8px;padding:7px 14px;font-size:.85rem;font-weight:600;transition:background .15s}.add-btn:hover{background:var(--green-light)}.month-selector{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.month-btn{border:1px solid var(--border);color:var(--muted);border-radius:20px;padding:6px 14px;font-size:.82rem;transition:all .15s}.month-btn.active{background:var(--green);color:#fff;border-color:var(--green)}.summary-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.summary-card{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.summary-card .label{color:var(--muted);margin-bottom:4px;font-size:.75rem}.summary-card .value{font-size:1.2rem;font-weight:700}.summary-card.green .value{color:var(--green)}.summary-card.red .value{color:var(--red)}.finance-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:7px 0;font-size:.87rem;display:flex}.finance-row:last-child{border-bottom:none}.finance-name{flex:1}.finance-plan{color:var(--muted);text-align:right;width:80px}.finance-actual{text-align:right;width:80px;font-weight:600}.finance-actual.over{color:var(--red)}.finance-del{color:var(--muted);opacity:.4;padding:0 4px;font-size:.9rem}.finance-del:hover{opacity:1;color:var(--red)}.shop-item{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:9px 0;display:flex}.shop-item:last-child{border-bottom:none}.shop-item.bought .shop-text{color:var(--muted);text-decoration:line-through}.shop-text{flex:1;font-size:.88rem}table{border-collapse:collapse;width:100%;font-size:.87rem}th{background:var(--green-pale);color:var(--green);text-align:left;padding:8px 10px;font-weight:600}td{border-bottom:1px solid var(--border);padding:8px 10px}tr:hover td{background:#f8f9fa}.empty{color:var(--muted);text-align:center;padding:12px 0;font-size:.85rem}.loading{color:var(--muted);text-align:center;padding:32px;font-size:.85rem}@media (width<=600px){.summary-row{grid-template-columns:1fr 1fr}.content{padding:14px 12px}.header{padding:14px 16px}}
