:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;--bg-color: #ffffff;--text-color: #213547;--link-color: #646cff;--link-hover: #747bff;--button-bg: #f9f9f9}[data-theme=dark]{--bg-color: #0f172a;--text-color: #f1f5f9;--link-color: #4dabf7;--link-hover: #82cfff;--button-bg: #1e293b}html,body{margin:0;padding:0;width:100%;height:100%;background-color:var(--bg-color);color:var(--text-color);display:flex;flex-direction:column}#root{display:flex;flex-direction:column;min-height:100vh}a{font-weight:500;color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-bg);cursor:pointer;transition:border-color .25s,background-color .25s}button:hover{border-color:var(--link-color)}button:focus,button:focus-visible{outline:3px auto -webkit-focus-ring-color}header{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;background-color:var(--header-bg);color:var(--header-text);border-bottom:1px solid var(--header-border);transition:background-color .3s ease,color .3s ease}header h1{font-size:1.4rem;font-weight:700;margin:0}nav{display:flex;align-items:center;justify-content:flex-end;gap:1.2rem}nav a{text-decoration:none;color:var(--header-text);font-weight:500;transition:color .3s ease}nav a:hover{color:var(--header-accent)}:root[data-theme=light]{--header-bg: #f9f9f9;--header-text: #222;--header-border: #ddd;--header-accent: #0066ff}:root[data-theme=dark]{--header-bg: #0f172a;--header-text: #f1f1f1;--header-border: #1e293b;--header-accent: #4dabf7}.app-footer{width:100vw;text-align:center;padding:16px 0;background-color:var(--footer-bg);color:var(--footer-text);border-top:1px solid var(--footer-border);font-size:.9rem;transition:background-color .3s ease,color .3s ease;box-shadow:0 -2px 6px #0000001a;display:flex;flex-direction:column;align-items:center;gap:4px;position:relative;left:0;right:0}.app-footer p{margin:0;font-weight:500}.footer-signature{font-size:.8rem;opacity:.8;font-style:italic;color:var(--footer-text-secondary)}:root[data-theme=light]{--footer-bg: #f9f9f9;--footer-text: #333;--footer-border: #ddd;--footer-text-secondary: #555}:root[data-theme=dark]{--footer-bg: #1f1f1f;--footer-text: #f1f1f1;--footer-border: #333;--footer-text-secondary: #bbb}.app-footer.fixed{position:fixed;bottom:0}main .movements-page{max-width:900px;margin:0 auto;padding:24px;display:flex;flex-direction:column;gap:24px;min-height:100vh;background-color:var(--page-bg);color:var(--page-text);transition:background-color .3s ease,color .3s ease;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.movements-header h2{font-size:2rem;font-weight:700;margin-bottom:12px}.movements-filters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.movements-filters input,.movements-filters select{padding:8px 12px;border-radius:12px;border:1px solid #bbb;font-size:.95rem;background-color:var(--card-bg);color:var(--page-text);transition:all .25s ease,box-shadow .25s ease}.movements-filters input:focus,.movements-filters select:focus{border-color:#007bff;box-shadow:0 0 6px #007bff4d;outline:none}.movements-content{display:flex;flex-direction:column;gap:12px}.movements-empty{text-align:center;font-style:italic;opacity:.7;padding:20px 0}.movement-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-radius:12px;box-shadow:0 3px 8px #0000000f;background-color:var(--card-bg);transition:transform .3s ease,box-shadow .3s ease,background-color .3s ease;flex-wrap:wrap}.movement-item:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 10px 20px #00000026;background-color:#fffffff2}.movement-item>div:first-child{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.movement-item strong{font-size:1.05rem}.movement-item span{font-weight:600}.movement-item .gasto{color:#dc3545}.movement-item .ingreso{color:#28a745}.movement-item button{margin-left:6px;padding:6px 12px;border:none;border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .25s ease}.movement-item button:hover{transform:translateY(-2px) scale(1.05);box-shadow:0 4px 8px #0003}.movement-item button.edit{background:linear-gradient(135deg,#ffc107,#ffdd57);color:#222}.movement-item button.delete{background:linear-gradient(135deg,#dc3545,#e6676b);color:#fff}.movement-item button.save{background:linear-gradient(135deg,#28a745,#51c465);color:#fff}.movement-item button.cancel{background:linear-gradient(135deg,#6c757d,#9a9fa5);color:#fff}.movement-item.editing{flex-direction:column;gap:10px}.movement-item.editing .edit-fields{display:flex;flex-wrap:wrap;gap:8px;max-width:100%}.movement-item.editing .edit-fields input,.movement-item.editing .edit-fields select{flex:1 1 120px;max-width:160px;font-size:.9rem;padding:6px 10px;border-radius:12px;border:1px solid #bbb;background-color:var(--card-bg);color:var(--page-text);box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.movement-item.editing .edit-fields input:focus,.movement-item.editing .edit-fields select:focus{border-color:#007bff;box-shadow:0 0 8px #007bff59;outline:none}.movement-item.editing .edit-buttons{display:flex;gap:8px;flex-wrap:wrap}:root[data-theme=light]{--page-bg: #f8f9fa;--page-text: #212529;--card-bg: #fff}:root[data-theme=dark]{--page-bg: #121212;--page-text: #f5f5f5;--card-bg: #1e1e1e}body,:root[data-theme=light],:root[data-theme=dark]{transition:background-color .4s ease,color .4s ease}.movement-form{max-width:500px;margin:2rem auto;padding:2rem;background-color:#f9f9f9;border-radius:12px;box-shadow:0 4px 10px #0000001a;font-family:Arial,sans-serif}.movement-form h2{text-align:center;margin-bottom:1.5rem;color:#333}.movement-form label{display:block;margin-top:1rem;margin-bottom:.3rem;font-weight:700;color:#555}.movement-form input,.movement-form select{width:100%;padding:.6rem .8rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;box-sizing:border-box}.movement-form input:focus,.movement-form select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 5px #4a90e280}.movement-form .error{color:#e74c3c;font-size:.9rem;margin-top:.2rem}.movement-form button{margin-top:1.5rem;width:100%;padding:.8rem;background-color:#4a90e2;color:#fff;font-size:1rem;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease}.movement-form button:hover{background-color:#357abd;transform:translateY(-2px)}.movement-form button:active{transform:translateY(0)}.summary-page{padding:2rem;text-align:center}.summary-page h2{margin-bottom:1.5rem;color:#333}.no-data{color:#888;font-size:1.1rem}.chart-container{max-width:800px;margin:0 auto;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 15px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.chart-container:hover{transform:translateY(-3px);box-shadow:0 6px 20px #00000026}.summary-page{padding:20px;max-width:1100px;margin:0 auto;color:#222}.summary-page h2{text-align:left;margin-bottom:18px;font-size:1.6rem}.summary-empty{color:#777;font-style:italic}.charts-row{display:grid;grid-template-columns:1fr;gap:18px}@media (min-width: 900px){.charts-row{grid-template-columns:1fr 1fr;align-items:start}}.chart-card{background:#fafafa;padding:18px;border-radius:12px;box-shadow:0 6px 18px #0000000f;min-height:320px;display:flex;align-items:center;justify-content:center}.chart-card canvas{max-width:100%}.footnote{margin-top:12px;color:#666;font-size:.95rem;text-align:left}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;background-color:var(--color-surface);border:1px solid var(--color-muted);border-radius:var(--radius);color:var(--color-text);box-shadow:var(--shadow);cursor:pointer;transition:all var(--transition)}.theme-toggle:hover{transform:translateY(-2px);background-color:var(--color-secondary);color:#fff}.theme-toggle svg{transition:transform .4s ease}.theme-toggle.sun svg{transform:rotate(360deg)}.theme-toggle.moon svg{transform:rotate(-360deg)}.settings-page{padding:2rem;text-align:center}.settings-section{margin-top:2rem;background:#f8f9fa;border-radius:10px;padding:1.5rem;box-shadow:0 2px 6px #0000001a}.reset-btn{background-color:#d62828;color:#fff;border:none;border-radius:8px;padding:.8rem 1.5rem;font-size:1rem;cursor:pointer;transition:background-color .2s ease-in-out;margin-top:1rem}.reset-btn:hover{background-color:#b71c1c}:root{--color-primary: #1e40af;--color-secondary: #3b82f6;--color-accent: #f43f5e;--color-bg: #f9fafb;--color-surface: #ffffff;--color-text: #1e293b;--color-muted: #94a3b8;--radius: 12px;--shadow: 0 4px 8px rgba(0, 0, 0, .1);--transition: .3s ease}body{margin:0;padding:0;font-family:Inter,system-ui,sans-serif;background-color:var(--color-bg);color:var(--color-text);transition:background-color var(--transition),color var(--transition)}h1,h2,h3{color:var(--color-primary);margin-bottom:.5rem}button{cursor:pointer;border-radius:var(--radius);transition:var(--transition)}a{color:var(--color-secondary);text-decoration:none}a:hover{text-decoration:underline}:root[data-theme=dark]{--color-primary: #60a5fa;--color-secondary: #3b82f6;--color-accent: #fb7185;--color-bg: #0f172a;--color-surface: #1e293b;--color-text: #f1f5f9;--color-muted: #94a3b8}
