html,body,#root{min-height:100%}body{margin:0}*{box-sizing:border-box}body{margin:0;font-family:Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}.app{color:#222;background:#f5f6f8;min-height:100vh}.app.dark{color:#f5f5f5;background:#181a1f}.header{background:#fff;border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding:24px 40px;display:flex}.dark .header{background:#202329;border-color:#333}.header h1{margin:0}.header p{opacity:.7;margin:6px 0 0}.theme-button{background:#fff;border:1px solid #ccc;border-radius:8px;padding:10px 16px}.dark .theme-button{color:#fff;background:#2c3038;border-color:#555}.dashboard{max-width:1100px;margin:auto;padding:32px}.summary-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 15px #0000000f}.dark .summary-card,.dark .form-section,.dark .transaction-section{background:#24272e}.summary-card h3{opacity:.7;margin-top:0}.summary-card p{font-size:28px;font-weight:700}.form-section,.transaction-section{background:#fff;border-radius:12px;margin-top:28px;padding:24px;box-shadow:0 4px 15px #0000000d}.transaction-form{grid-template-columns:2fr 1fr 1fr 1fr auto;gap:10px;display:grid}.transaction-form input,.transaction-form select,.transaction-controls input,.transaction-controls select,.edit-form input{border:1px solid #ccc;border-radius:8px;padding:11px}.transaction-form button{border:none;border-radius:8px;padding:11px 16px}.section-header{justify-content:space-between;align-items:center;gap:15px;display:flex}.transaction-controls{gap:10px;display:flex}.transaction-list{margin-top:20px}.transaction-item{border-bottom:1px solid #ddd;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:16px 0;display:grid}.transaction-item small{opacity:.6;margin-top:5px;display:block}.transaction-actions{gap:8px;display:flex}.transaction-actions button,.edit-form button{background:0 0;border:1px solid #ccc;border-radius:6px;padding:7px 10px}.edit-form{gap:10px;width:100%;display:flex}.empty-message{text-align:center;opacity:.6;padding:40px}.auth-page{background:#f5f6f8;justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:#fff;border-radius:14px;width:100%;max-width:420px;padding:35px;box-shadow:0 10px 35px #00000014}.auth-card h1{margin-bottom:8px}.auth-card p{opacity:.7;margin-bottom:25px}.auth-card form{flex-direction:column;gap:12px;display:flex}.auth-card input{border:1px solid #ccc;border-radius:8px;padding:13px}.auth-card form button{cursor:pointer;border:none;border-radius:8px;padding:13px}.auth-error{background:#ffe5e5;border-radius:8px;margin-bottom:15px;padding:10px}.switch-auth{cursor:pointer;background:0 0;border:none;width:100%;margin-top:18px}.header-actions{gap:10px;display:flex}.logout-button{cursor:pointer;background:#fff;border:1px solid #ccc;border-radius:8px;padding:10px 16px}.loading-page{place-items:center;min-height:100vh;font-size:20px;display:grid}.guest-section{text-align:center;margin:30px 0;padding:40px 20px}.guest-section h2{margin-bottom:10px}.guest-section p{margin-bottom:20px}.add-transaction-button{cursor:pointer;border:none;border-radius:8px;padding:12px 22px;font-size:15px}.auth-modal{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.auth-modal-content{width:100%;max-width:430px;position:relative}.auth-modal-close{cursor:pointer;z-index:2;border:none;border-radius:50%;width:32px;height:32px;font-size:22px;position:absolute;top:12px;right:12px}.auth-modal .auth-card{width:100%;margin:0}@media (width<=800px){.header{flex-direction:column;align-items:flex-start;gap:15px;padding:20px}.dashboard{padding:20px}.summary-grid,.transaction-form{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:stretch}.transaction-controls{flex-direction:column}.transaction-item{grid-template-columns:1fr}.edit-form{flex-direction:column}}
