:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#f5f5f5;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#4caf50;text-decoration:inherit}a:hover{color:#45a049}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:2.5em;line-height:1.1}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#4caf50;color:#fff;cursor:pointer;transition:background-color .25s}button:focus,button:focus-visible{outline:2px solid #45a049}#root{max-width:1280px;margin:0 auto;padding:2rem}.app{font-family:Arial,sans-serif;color:#333;max-width:1200px;margin:0 auto;padding:20px}.app-header{text-align:center;margin-bottom:30px}.app-header h1{color:#2c3e50}.app-main{display:flex;flex-direction:column;gap:30px}.app-row{display:flex;flex-wrap:wrap;gap:30px;width:100%}.income-section,.expense-section,.budget-section,.progress-section{flex:1;min-width:300px;background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.income-form,.expense-form,.budget-form{margin-bottom:20px;padding:20px;background-color:#f5f5f5;border-radius:8px}.income-form h2,.expense-form h2,.budget-form h2,.progress-display h2{margin-bottom:1rem;color:#2c3e50}.form-group{margin-bottom:15px;display:flex;flex-direction:column;align-items:flex-start}.form-group label{display:block;margin-bottom:5px;font-weight:700}.form-group input,.form-group select{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:1rem}button{background-color:#4caf50;color:#fff;border:none;padding:10px 15px;border-radius:4px;cursor:pointer;font-size:16px;margin-top:1rem}button:hover{background-color:#45a049}.error{color:#f44336;margin-bottom:15px;padding:.5rem;background-color:#fadbd8;border-radius:4px}.loading{color:#2196f3;margin:1rem 0}.income-list,.expense-list{margin-top:20px}.income-list h2,.expense-list h2{margin-bottom:1rem;color:#2c3e50}table{width:100%;border-collapse:collapse;margin-top:10px}th,td{padding:12px;text-align:left;border-bottom:1px solid #ddd}th{background-color:#f2f2f2;font-weight:700}tr:hover{background-color:#f5f5f5}.progress-display{margin-top:20px}.progress-item{margin-bottom:20px;padding:15px;background-color:#f9f9f9;border-radius:8px;box-shadow:0 1px 3px #0000001a}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.progress-header h3{margin:0;color:#2c3e50;font-size:1.1rem}.progress-amounts{font-size:.9rem;color:#555}.progress-bar-container{height:20px;background-color:#e0e0e0;border-radius:10px;overflow:hidden;margin:10px 0}.progress-bar{height:100%;background-color:#4caf50;border-radius:10px;position:relative;transition:width .3s ease}.progress-bar[data-percentage^="1"]:after{content:attr(data-percentage);position:absolute;right:5px;top:50%;transform:translateY(-50%);color:#fff;font-size:.8rem;font-weight:700}.progress-footer{font-size:.9rem;color:#555;text-align:right}.progress-bar[data-percentage^="8"],.progress-bar[data-percentage^="9"],.progress-bar[data-percentage="100%"]{background-color:#f44336}.progress-bar[data-percentage^="6"],.progress-bar[data-percentage^="7"]{background-color:#ff9800}
