*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--green-dark:#1a6b3c;--green-mid:#2d9e5f;--green-light:#e8f5ee;--red:#dc3545;--red-hover:#b02a37;--amber:#e07b22;--amber-hover:#c06a18;--gray-bg:#f4f6f5;--gray-border:#dde3df;--text-dark:#1c2b22;--text-mid:#4a5e52;--text-light:#7a9285;--white:#fff;--shadow:0 2px 8px #1a6b3c14;--radius:10px}body{background-color:var(--gray-bg);color:var(--text-dark);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.header{background-color:var(--green-dark);color:var(--white);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;box-shadow:0 2px 8px #00000026}.header-logo{letter-spacing:-.3px;align-items:center;gap:.5rem;font-size:1.4rem;font-weight:700;display:flex}.header-logo span{font-size:1.4rem}.btn{cursor:pointer;border:none;border-radius:6px;padding:.5rem 1.1rem;font-size:.875rem;font-weight:500;transition:background-color .15s}.btn-primary{background-color:var(--green-dark);color:var(--white)}.btn-primary:hover{background-color:var(--green-mid)}.btn-secondary{color:var(--white);background-color:#0000;border:1px solid #ffffff80}.btn-secondary:hover{background-color:#ffffff1a}.btn-danger{background-color:var(--red);color:var(--white);padding:.35rem .8rem;font-size:.8rem}.btn-danger:hover{background-color:var(--red-hover)}.btn-warning{background-color:var(--amber);color:var(--white);padding:.35rem .8rem;font-size:.8rem}.btn-warning:hover{background-color:var(--amber-hover)}.btn-outline{color:var(--green-dark);border:1px solid var(--green-dark);background-color:#0000}.btn-outline:hover{background-color:var(--green-light)}.main-container{flex-direction:column;gap:1.5rem;max-width:780px;margin:2rem auto;padding:0 1rem;display:flex}.card{background-color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.card-title{color:var(--text-mid);text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid var(--green-light);margin-bottom:1rem;padding-bottom:.6rem;font-size:1rem;font-weight:600}.summary-card{background:linear-gradient(135deg, var(--green-dark), var(--green-mid));color:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem 2rem}.summary-label{opacity:.85;text-transform:uppercase;letter-spacing:.5px;font-size:.85rem}.summary-value{margin-top:.25rem;font-size:2rem;font-weight:700}.expense-list{flex-direction:column;gap:.75rem;display:flex}.expense-item{background-color:var(--white);border-left:4px solid var(--green-mid);border-radius:8px;grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;padding:1rem 1.25rem;transition:box-shadow .15s;display:grid;box-shadow:0 1px 4px #0000000f}.expense-item:hover{box-shadow:0 3px 10px #1a6b3c1f}.expense-info{grid-column:1}.expense-description{color:var(--text-dark);font-size:.95rem;font-weight:600}.expense-meta{color:var(--text-light);gap:.75rem;margin-top:.25rem;font-size:.8rem;display:flex}.expense-category{background-color:var(--green-light);color:var(--green-dark);border-radius:4px;padding:.15rem .5rem;font-weight:500}.expense-amount{color:var(--green-dark);text-align:right;font-size:1.1rem;font-weight:700}.expense-actions{grid-column:1/-1;justify-content:flex-end;gap:.4rem;margin-top:.5rem;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.35rem;display:flex}.form-group.full-width{grid-column:1/-1}.form-label{color:var(--text-mid);text-transform:uppercase;letter-spacing:.4px;font-size:.8rem;font-weight:500}.form-input,.form-select{border:1.5px solid var(--gray-border);color:var(--text-dark);background-color:var(--white);border-radius:6px;outline:none;padding:.6rem .85rem;font-size:.9rem;transition:border-color .15s}.form-input:focus,.form-select:focus{border-color:var(--green-mid)}.form-actions{grid-column:1/-1;justify-content:flex-end;margin-top:.5rem;display:flex}.auth-page{background-color:var(--gray-bg);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-logo{color:var(--green-dark);align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:1.6rem;font-weight:700;display:flex}.auth-card{background-color:var(--white);border-radius:var(--radius);width:100%;max-width:380px;padding:2rem;box-shadow:0 4px 20px #1a6b3c1f}.auth-title{color:var(--text-dark);margin-bottom:1.5rem;font-size:1.25rem;font-weight:700}.auth-form{flex-direction:column;gap:1rem;display:flex}.auth-footer{text-align:center;color:var(--text-mid);margin-top:1.25rem;font-size:.875rem}.auth-footer button{color:var(--green-dark);cursor:pointer;background:0 0;border:none;font-size:.875rem;font-weight:600;text-decoration:underline}.empty-state{text-align:center;color:var(--text-light);padding:2rem;font-size:.9rem}.modal-overlay{z-index:100;background-color:#00000073;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background-color:var(--white);border-radius:var(--radius);width:90%;max-width:400px;padding:2rem;box-shadow:0 8px 32px #0000002e}.modal-title{color:var(--text-dark);margin-bottom:.5rem;font-size:1rem;font-weight:600}.modal-message{color:var(--text-mid);margin-bottom:1.5rem;font-size:.9rem;line-height:1.6}.modal-actions{justify-content:flex-end;gap:.75rem;display:flex}.logo-icon{background-color:var(--white);width:28px;height:28px;color:var(--green-dark);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:800;display:flex}.error-message{color:var(--red);margin-top:.25rem;font-size:.8rem}@media (width<=600px){.form-grid{grid-template-columns:1fr}.form-group.full-width{grid-column:1}.main-container{margin:1rem auto;padding:0 .75rem}.expense-item{grid-template-columns:1fr}.expense-amount{text-align:left}.summary-value{font-size:1.6rem}.auth-card{padding:1.5rem}}
