.dynamic-amount-input-container{display:flex;align-items:center;position:relative;overflow:visible}.dynamic-amount-input{display:flex;align-items:center;position:relative;flex:1}.dynamic-amount-input input{width:100%;padding:8px 12px;border-radius:4px;font-size:3rem;transition:all .2s ease;text-align:left}.dynamic-amount-input.calculator-mode input{background-color:#ffff001a}.expression-highlight{background-color:#4287f51a}.calculator-tooltip{position:absolute;top:-24px;left:50%;transform:translate(-50%);border:white 1px dotted;background-color:#333333fa;padding:.5rem 4rem;border-radius:1rem;font-size:.9rem;white-space:nowrap;cursor:pointer;box-shadow:0 2px 8px #0003;z-index:100000;color:#fff}.calculator-tooltip:after{content:"";position:absolute;top:100%;left:50%;margin-left:-5px;border-width:5px;border-style:solid;border-color:#333 transparent transparent transparent}.equals-button{margin:0!important}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(-10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.calculator-tooltip{animation:fadeIn .2s ease-out}.calculator-buttons{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap;justify-content:center}.calculator-buttons button{width:40px;height:40px;border-radius:50%;border:1px solid #ddd;background-color:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:18px;cursor:pointer;transition:all .2s ease}.calculator-buttons button:hover{background-color:#e9e9e9}.calculator-buttons button:active{transform:scale(.95);background-color:#e0e0e0}.calculator-buttons .equals-button{width:auto;padding:0 12px;border-radius:20px;background-color:#f0f7ff;color:#06c;font-weight:500;border-color:#c0d8f0}.expression-highlight{color:#06c;font-weight:500}@media (max-width: 480px){.calculator-buttons{justify-content:space-between}.calculator-buttons button{width:36px;height:36px;font-size:16px}.calculator-buttons .equals-button{flex-grow:1;margin-top:8px}}@font-face{font-family:Baggy;src:url(../fonts/BagossStandardTRIAL-Medium.woff2);font-weight:400}@font-face{font-family:Elegant;src:url(../fonts/NType82-Regular.otf);font-weight:300}@font-face{font-family:Elegant;src:url(../fonts/NType82-Headline.otf);font-weight:400}:root{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #fffff9;--surface-color: #ffffff;--text-color: #333;--text-secondary: #777;--text-tertiary: #555;--text-subtle: #dbdbdb;--text-placeholder: #c6c6c6;--text-on-primary: #333;--text-on-secondary: #333;--text-on-dark: white;--text-label: #444;--text-error: red;--text-tag: #5b5b5b;--text-tag-remove: #5f5f5f;--amount-label-color:#d6d6d6;--payment-mode-label-color:#d6d6d6;--category-label-color:#d6d6d6;--location-label-color:#d6d6d6;--description-label-color:#d6d6d6;--necessity-label-color:#d6d6d6;--border-color: black !important;--border-strong: rgba(0, 0, 0, 1);--border-medium: rgba(0, 0, 0, .304);--border-light: #ddd;--border-default: #ccc;--border-dark: rgb(84, 84, 84);--border-medium-light: rgb(211, 211, 211);--border-light-alt: rgb(220, 220, 220);--shadow-color: rgba(0, 0, 0, .1);--shadow-strong-color: rgba(0,0,0,.2);--overlay-bg: rgba(0, 0, 0, .5);--charcoal: #635b65;--icon-color: #aaa;--focus-ring-color: #2196F3;--navbar-bg: var(--surface-color);--dashboard-bg: var(--surface-color);--modal-bg: var(--surface-color);--total-expense-bg: var(--background-color);--category-expense-bg: var(--background-color);--budget-bg: var(--background-color);--weekly-chart-bg: var(--background-color);--cat-analysis-bg: var(--background-color);--min-max-expenses-bg: var(--background-color);--settings-page-bg: var(--background-color);--currency-chooser-bg: var(--surface-color);--custom-tags-bg: var(--surface-color);--footer-bg: #eee;--loader-overlay-bg: white;--danger-btn-color: #f89292;--danger-bg-color:#ffbdbd;--danger-title:firebrick;--toast-bg: #1e1e1e;--navbar-mobile-bg: #f7f7f7;--mobile-top-bg: #ffffff;--budget-info-box-bg: white;--sub-budget-bg: #f4f4f4;--progress-bar-bg: #fff9f9;--category-chips-bg: white;--min-max-span-bg: white;--loader-container-bg: rgba(255, 255, 255, .321);--edit-budget-modal-bg: var(--surface-color);--add-expense-modal-bg: var(--surface-color);--navbar-border-bottom: var(--border-light);--dashboard-border: var(--border-color);--total-expense-border: var(--border-color);--category-expense-border: var(--border-color);--budget-border: var(--border-color);--weekly-chart-border: var(--border-color);--cat-analysis-border: var(--border-color);--min-max-expenses-border: var(--border-color);--currency-chooser-border: var(--border-color);--custom-tags-border: var(--border-dark);--footer-border-top: var(--border-light);--budget-info-box-border: var(--border-default);--progress-bar-border: var(--border-color);--progress-fill-border: var(--border-color);--input-border: var(--border-light);--select-border: var(--border-default);--tab-border: var(--border-default);--tab-active-border: var(--text-color);--min-max-span-border: var(--border-color);--tag-item-border-bottom: var(--border-medium-light);--tag-item-span-border: var(--border-light-alt);--category-chips-border: var(--border-default);--switch-border: #565656;--switch-slider-border: #000;--switch-checked-border: #000;--loader-border: #538a2d;--button-primary-bg: var(--primary-color);--button-primary-text: var(--text-color);--button-primary-border: var(--text-color);--button-primary-hover-bg: var(--secondary-color);--button-primary-hover-text: var(--text-color);--button-secondary-bg: #f0f0f0;--button-secondary-text: var(--text-color);--button-secondary-border: var(--border-medium);--button-secondary-hover-bg: var(--border-light);--button-tertiary-bg: #f3f3f3;--button-tertiary-text: var(--text-color);--button-tertiary-border: none;--button-tertiary-hover-bg: #ddd;--button-active-bg: var(--charcoal);--button-active-text: white;--button-active-border: var(--border-strong);--button-period-active-bg-1: rgb(239, 255, 196);--button-period-active-bg-2: rgb(233, 255, 171);--button-period-active-bg-3: rgb(217, 249, 131);--button-period-active-bg-4: rgb(208, 255, 78);--button-period-text: var(--text-color);--button-period-border: var(--border-strong);--button-datepicker-bg: var(--primary-color);--button-datepicker-border: var(--border-color);--button-datepicker-hover-bg: rgb(255, 255, 0);--button-datepicker-cancel-bg: rgb(244, 170, 169);--button-datepicker-cancel-text: var(--text-color);--button-submit-bg: #28a745;--button-submit-text: white;--button-submit-hover-bg: #218838;--button-cancel-bg: #dc3545;--button-cancel-text: white;--button-cancel-hover-bg: #401a28;--button-save-bg: var(--charcoal);--button-save-text: white;--button-save-hover-bg: rgb(251, 58, 155);--button-disabled-bg: #e0e0e0;--button-disabled-text: var(--text-secondary);--button-disabled-border: var(--border-default);--button-budget-save-bg: #f2ff91;--button-budget-save-text: var(--text-color);--button-budget-save-border: var(--border-color);--button-budget-cancel-bg: #ff8e9a;--button-budget-cancel-text: white;--button-budget-cancel-border: var(--border-color);--button-edit-bg: #e8f3ff;--button-edit-text: var(--text-color);--button-edit-border: var(--border-color);--button-tag-add-bg: rgb(218, 213, 213);--button-tag-add-text: var(--text-color);--button-tag-add-border: var(--border-color);--button-tag-remove-bg: rgb(239, 239, 239);--button-tag-remove-text: var(--text-tag-remove);--button-tag-remove-border: var(--border-light-alt);--button-mobile-nav-alt-bg: rgb(255, 174, 174);--button-mobile-nav-alt-text: var(--text-color);--add-btn-bg: var(--primary-color);--add-btn-text: var(--text-color);--add-btn-border: var(--border-color);--add-btn-hover-bg: var(--charcoal);--add-btn-hover-text: white;--tab-bg: white;--tab-text: #333;--tab-active-bg: var(--charcoal);--tab-active-text: white;--tab-hover-bg: rgb(118, 118, 118);--tab-hover-text: white;--slider-thumb-bg: #000;--slider-thumb-moz-bg: #333;--switch-bg: #ccc;--switch-slider-bg: #fff;--switch-checked-bg: #000;--total-expense-amount-color: var(--primary-color);--progress-bar-fill: #ff7e6a;--no-expenses-bg: rgba(119, 119, 119, .255);--loader-bg-color: #ff1643;--loader-radial-1: #e7ef9d;--loader-radial-2: #5c4037;--loader-mask-color: #000}[data-theme=dark]{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #121212;--surface-color: #1e1e1e;--text-color: #e0e0e0;--text-secondary: #aaa;--text-tertiary: #d2d2d2;--text-subtle: #a0a0a0;--text-placeholder: #666;--text-on-primary: #333;--text-on-secondary: #333;--text-on-dark: #e0e0e0;--text-label: #bbb;--text-error: #ff4d4d;--text-tag: #ccc;--text-tag-remove: #bbb;--amount-label-color:#4b3434;--payment-mode-label-color:#3e3e3b;--category-label-color:#353a43;--location-label-color:#433a47;--description-label-color:#35473d;--necessity-label-color:#464735;--border-color: #555 !important;--border-strong: #888;--border-medium: rgba(255, 255, 255, .2);--border-light: #444;--border-default: #555;--border-dark: #aaa;--border-medium-light: #444;--border-light-alt: #555;--shadow-color: rgba(255, 255, 255, .05);--shadow-strong-color: rgba(255,255,255,.1);--overlay-bg: rgba(0, 0, 0, .7);--charcoal: #a9a1ab;--icon-color: #777;--focus-ring-color: #4a90e2;--danger-title:rgb(255, 210, 210);--danger-bg-color:#772f2f;--danger-btn-color:#501212;--navbar-bg: var(--surface-color);--dashboard-bg: var(--surface-color);--modal-bg: var(--surface-color);--total-expense-bg: var(--background-color);--category-expense-bg: var(--background-color);--budget-bg: var(--background-color);--weekly-chart-bg: var(--background-color);--cat-analysis-bg: var(--background-color);--min-max-expenses-bg: var(--background-color);--settings-page-bg: var(--background-color);--currency-chooser-bg: var(--surface-color);--custom-tags-bg: var(--surface-color);--footer-bg: #1f1f1f;--loader-overlay-bg: var(--background-color);--toast-bg: #e0e0e0;--navbar-mobile-bg: #2a2a2a;--mobile-top-bg: var(--surface-color);--budget-info-box-bg: var(--surface-color);--sub-budget-bg: #2a2a2a;--progress-bar-bg: #333;--category-chips-bg: var(--surface-color);--min-max-span-bg: var(--surface-color);--loader-container-bg: var(--background-color);--edit-budget-modal-bg: var(--surface-color);--add-expense-modal-bg: var(--surface-color);--navbar-border-bottom: var(--border-light);--dashboard-border: var(--border-color);--total-expense-border: var(--border-color);--category-expense-border: var(--border-color);--budget-border: var(--border-color);--weekly-chart-border: var(--border-color);--cat-analysis-border: var(--border-color);--min-max-expenses-border: var(--border-color);--currency-chooser-border: var(--border-color);--custom-tags-border: var(--border-dark);--footer-border-top: var(--border-light);--budget-info-box-border: var(--border-default);--progress-bar-border: var(--border-color);--progress-fill-border: var(--border-color);--input-border: var(--border-light);--select-border: var(--border-default);--tab-border: var(--border-default);--tab-active-border: var(--text-color);--min-max-span-border: var(--border-color);--tag-item-border-bottom: var(--border-medium-light);--tag-item-span-border: var(--border-light-alt);--category-chips-border: var(--border-default);--switch-border: #aaa;--switch-slider-border: #eee;--switch-checked-border: #eee;--loader-border: #a8cca3;--button-primary-bg: var(--primary-color);--button-primary-text: var(--text-on-primary);--button-primary-border: var(--text-color);--button-primary-hover-bg: var(--secondary-color);--button-primary-hover-text: var(--text-on-secondary);--button-secondary-bg: #333;--button-secondary-text: var(--text-color);--button-secondary-border: var(--border-medium);--button-secondary-hover-bg: var(--border-light);--button-tertiary-bg: #444;--button-tertiary-text: var(--text-color);--button-tertiary-border: none;--button-tertiary-hover-bg: #555;--button-active-bg: var(--charcoal);--button-active-text: #121212;--button-active-border: var(--border-strong);--button-period-active-bg-1: #4a5c1f;--button-period-active-bg-2: #44591d;--button-period-active-bg-3: #3e5416;--button-period-active-bg-4: #38590f;--button-period-text: var(--text-on-dark);--button-period-border: var(--border-strong);--button-datepicker-bg: var(--primary-color);--button-datepicker-border: var(--border-color);--button-datepicker-hover-bg: #ffff33;--button-datepicker-cancel-bg: rgb(100, 50, 50);--button-datepicker-cancel-text: var(--text-on-dark);--button-submit-bg: #2a8a3e;--button-submit-text: var(--text-on-dark);--button-submit-hover-bg: #34a853;--button-cancel-bg: #a82a38;--button-cancel-text: var(--text-on-dark);--button-cancel-hover-bg: #602f41;--button-save-bg: var(--charcoal);--button-save-text: #121212;--button-save-hover-bg: rgb(255, 80, 170);--button-disabled-bg: #444;--button-disabled-text: var(--text-secondary);--button-disabled-border: var(--border-default);--button-budget-save-bg: #4a5c1f;--button-budget-save-text: var(--text-on-dark);--button-budget-save-border: var(--border-color);--button-budget-cancel-bg: #8a3a43;--button-budget-cancel-text: var(--text-on-dark);--button-budget-cancel-border: var(--border-color);--button-edit-bg: #2c3e50;--button-edit-text: var(--text-on-dark);--button-edit-border: var(--border-color);--button-tag-add-bg: #555;--button-tag-add-text: var(--text-on-dark);--button-tag-add-border: var(--border-color);--button-tag-remove-bg: #444;--button-tag-remove-text: var(--text-tag-remove);--button-tag-remove-border: var(--border-light-alt);--button-mobile-nav-alt-bg: rgb(100, 50, 50);--button-mobile-nav-alt-text: var(--text-on-dark);--add-btn-bg: var(--primary-color);--add-btn-text: var(--text-on-primary);--add-btn-border: var(--border-color);--add-btn-hover-bg: var(--charcoal);--add-btn-hover-text: #121212;--tab-bg: var(--surface-color);--tab-text: var(--text-color);--tab-active-bg: var(--charcoal);--tab-active-text: #121212;--tab-hover-bg: #555;--tab-hover-text: var(--text-on-dark);--slider-thumb-bg: #eee;--slider-thumb-moz-bg: #eee;--switch-bg: #555;--switch-slider-bg: #333;--switch-checked-bg: #eee;--total-expense-amount-color: var(--primary-color);--progress-bar-fill: #c75e4f;--no-expenses-bg: rgba(180, 180, 180, .2);--loader-bg-color: #b33e5b;--loader-radial-1: #c5cfa0;--loader-radial-2: #a89085;--loader-mask-color: #eee;--toast-text: #121212}body{font-family:Baggy,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;margin:0;font-weight:400;padding:0;color:var(--text-color);background-color:var(--background-color);box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}h1,h2,h3{font-family:Elegant;font-weight:600}h1,h2,h3,p,div,strong{font-weight:400!important}button{cursor:pointer;font-weight:300;font-family:Baggy,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif}.no-select{font-family:Elegant!important;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.recharts-sector:focus{outline:none}.app-container{display:flex;flex-direction:column;background-color:var(--background-color);min-height:100vh}.navbar{z-index:100;position:sticky;top:0;background-color:var(--navbar-bg);padding:15px 20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 3px var(--shadow-color);border-bottom:1px solid var(--navbar-border-bottom)}.logo{font-size:1.5em;font-weight:700;color:var(--text-color)}.logo svg{height:2rem;width:fit-content;margin:0;padding:0;fill:var(--text-color)}.nav-links button{margin-left:1rem;padding:8px 1rem;border:1px solid var(--border-color)!important;border-radius:.4rem;background-color:var(--primary-color)!important;color:#333;cursor:pointer;font-size:1em;transition:background-color .3s,color .3s}.nav-links button:hover{background-color:var(--secondary-color)!important}.main-content{padding:1rem;display:flex;flex-direction:column;align-items:center;background-color:var(--background-color);flex-grow:1}.dashboard,.calendar-section,.auth-prompt{background-color:var(--dashboard-bg);width:100%;padding:1rem;border-radius:1rem!important;box-shadow:0 2px 5px var(--shadow-color);margin-bottom:20px;max-width:800px;text-align:center}.dashboard{min-width:calc(100vw - 2rem);border-radius:1rem;border:1px solid var(--dashboard-border);margin:0rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(1,1fr);flex-wrap:wrap}.period-selector{display:flex;gap:10px;margin-bottom:16px}.period-selector b{color:#28a745}.period-selector button{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border);padding:8px 16px;border-radius:.6rem;cursor:pointer;transition:background .2s ease,border-color .2s ease}.period-selector button:hover:not(.active){background-color:var(--button-secondary-hover-bg)}.period-selector button.active{border:1px solid var(--secondary-color);font-weight:700;color:var(--text-on-primary)}.period-selector button.active:nth-child(1){background:var(--button-period-active-bg-1)}.period-selector button.active:nth-child(2){background:var(--button-period-active-bg-2)}.period-selector button.active:nth-child(3){background:var(--button-period-active-bg-3)}.period-selector button.active:nth-child(4){background:var(--button-period-active-bg-4)}.date-picker button{border:1px solid var(--button-datepicker-border);border-radius:.3rem;padding:.45rem;background-color:var(--button-datepicker-bg);color:var(--text-on-primary);transition:.3s ease;cursor:pointer;margin-left:1rem}.date-picker button:hover{background-color:var(--button-datepicker-hover-bg)}.show-range-button.disabled{cursor:not-allowed;background-color:var(--button-disabled-bg);color:var(--button-disabled-text);border-color:var(--button-disabled-border)}.toast-notification{position:absolute;top:4rem;left:50%;transform:translate(-50%);background-color:#ff6b6b;color:#fff;padding:10px 20px;border-radius:1rem;width:max-content;z-index:10000;box-shadow:0 4px 10px #ff313188}main section{width:100%}.auth-prompt{padding:40px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1.2em;color:var(--text-secondary);border:1px solid var(--auth-prompt-border)}.login-page{display:flex;justify-content:center;align-items:center;place-content:center;height:90vh;width:100%}.auth-prompt button{margin-top:1rem;padding:8px 1rem;border:1px solid var(--button-primary-border);border-radius:8px;background-color:var(--progress-bar-fill);color:var(--text-color);cursor:pointer;font-size:1rem;transition:background-color .3s,color .3s}.auth-prompt button:hover{background-color:var(--secondary-color);color:var(--button-primary-hover-text)}.dashboard h2,.calendar-section h2,.modal h2{margin-top:0;color:var(--text-color);text-align:left}.app-container h2{padding:0;margin:1rem 0rem 0rem 1rem;font-size:1.2rem;color:var(--text-color)}.analytics{display:flex;gap:5rem;margin-bottom:20px;justify-content:space-between}.total-expense{display:flex;flex-direction:column;align-items:center;border-radius:1rem;background-color:var(--total-expense-bg);padding:1rem;border:1px solid var(--total-expense-border);grid-column:1;grid-row:1}.total-expenses-div{display:flex;flex-direction:column;align-items:center;gap:1rem}.total-expense p{font-size:3rem;font-weight:600;margin:0;color:var(--text-color)}.total-expense h3{margin-top:0;color:var(--text-tertiary);font-size:1.2em}.category-expense{display:flex;gap:.5rem;flex-direction:column;padding:1rem;border:1px solid var(--category-expense-border);border-radius:1rem;background-color:var(--category-expense-bg);align-items:center;grid-column:3;grid-row:1}.category-expense p,.category-expense h3{margin:0;color:var(--text-color)}.category-expense p{text-align:left}#total-expense-amount{font-size:1.8em;font-weight:700;color:var(--total-expense-amount-color)}.add-btn{position:fixed;bottom:30px;border:solid 1px var(--add-btn-border);right:30px;background-color:var(--add-btn-bg);color:var(--add-btn-text);border-radius:50%;width:60px;height:60px;font-size:2em;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 3px 6px var(--shadow-strong-color);transition:background-color .3s,transform .3s,color .3s}.add-btn:hover{background-color:var(--add-btn-hover-bg);color:var(--add-btn-hover-text);transform:scale(1.05)}.close-button{color:var(--icon-color);position:absolute;top:10px;right:10px;font-size:28px;font-weight:700;cursor:pointer}.close-button:hover,.close-button:focus{color:var(--modal-close-icon-hover);text-decoration:none}.form-group{margin-bottom:15px;text-align:left}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:var(--text-label)}.form-group input[type=text],.form-group input[type=number],.form-group input[type=date],.form-group select{width:100%;padding:10px;border:1px solid var(--input-border);border-radius:5px;font-size:1em;background-color:var(--input-bg);color:var(--input-text)}.form-group input::placeholder,.form-group select::placeholder{color:var(--text-placeholder)}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}#expense-form button[type=submit]{background-color:var(--button-submit-bg);color:var(--button-submit-text);padding:10px 20px;border:none;border-radius:5px;cursor:pointer;font-size:1em;transition:background-color .3s;width:100%;margin-top:10px}#expense-form button[type=submit]:hover{background-color:var(--button-submit-hover-bg)}footer{text-align:center;padding:20px;background-color:var(--footer-bg);border-top:1px solid var(--footer-border-top);color:var(--footer-text)}@media (max-width: 480px){#calendar-container{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.modal{margin-top:5%;margin-bottom:5%}}.modal-overlay,.edit-modal-overlay,.add-expense-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000;transition:background-color .3s ease-in-out}.modal,.edit-budget-modal,.add-expense-modal{background:var(--modal-bg);color:var(--modal-text);padding:20px;border-radius:10px;width:90%;max-width:400px;box-shadow:var(--shadow-color);text-align:center;z-index:1001}.add-expense-modal{background:var(--add-expense-modal-bg);display:flex;flex-direction:column;gap:.4rem}.edit-modal-overlay{position:fixed;background-color:#11100ebe}.edit-budget-modal{background:var(--edit-budget-modal-bg);position:fixed;top:35%;box-shadow:#636363e6 0 0 1rem}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.date-selector{margin-bottom:15px}.date-options{display:flex;gap:5px;justify-content:center;flex-wrap:wrap}.date-options button{background:var(--button-tertiary-bg);color:var(--button-tertiary-text);border:var(--button-tertiary-border);padding:5px 10px;border-radius:5px;cursor:pointer;transition:background .2s ease}.date-options button.selected{background:var(--button-active-bg);color:var(--button-active-text);font-weight:700}.date-options button:hover:not(.selected){background:var(--button-tertiary-hover-bg)}input[type=date]{margin-top:5px;border:1px solid var(--select-border);border-radius:5px;padding:5px;background-color:var(--input-bg);color:var(--input-text);color-scheme:light dark}.input-group{display:flex;flex-direction:column;margin-bottom:1rem;text-align:left;width:100%;overflow:hidden}.input-group label{margin-bottom:5px;color:var(--text-label)}.input-group input{margin:0;padding:8px;width:100%!important}.slider{display:flex;flex-wrap:wrap}.slider input{padding:0!important;margin:0!important;min-width:100%!important}input,select{padding:8px;border:1px solid var(--select-border);border-radius:5px;font-size:14px;background-color:var(--input-bg);color:var(--input-text)}input::placeholder,select::placeholder{color:var(--text-placeholder)}input:focus,select:focus{border-color:var(--input-focus-border);outline:none}input[type=range]{width:100%}.amount-spent{display:flex!important;flex-direction:column!important;align-items:center;overflow:visible}.amount-spent input{font-size:3rem;border:none!important;background:transparent;box-shadow:none;text-align:center;max-width:10rem;letter-spacing:-1px;color:var(--text-color);font-weight:500;font-family:Bricolage Grotesque}.currency-symbol{font-size:2rem;font-weight:300!important;color:var(--text-color)}.amount-spent input::placeholder{color:var(--text-placeholder)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.payment-tabs{display:flex;gap:8px;margin-top:4px;flex-wrap:wrap}.tab{font-size:.9rem!important;flex-grow:1;padding:6px 16px;border:1px solid var(--tab-border);border-radius:6px;background-color:var(--tab-bg);color:var(--tab-text);font:inherit;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}.tab.active{background-color:var(--tab-active-bg);color:var(--tab-active-text);border-color:var(--tab-active-border)}.tab:hover:not(.active){background-color:var(--tab-hover-bg);color:var(--tab-hover-text)}.necessity-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%!important;flex-grow:1;height:8px;border-radius:4px;background:linear-gradient(to right,#f694e6,#f694e6 32.9%,#fff 32.9%,#fff 33.1%,#5873e9 33.1%,#5873e9 65.9%,#fff 65.9%,#fff 66.1%,#eb8c11 66.1%,#eb8c11);outline:none;margin-top:8px;cursor:pointer;transition:background .3s ease}.necessity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:var(--text-color);border-radius:50%;border:none;cursor:pointer;position:relative;z-index:2;box-shadow:var(--text-color) 0 0 8px}.necessity-slider::-moz-range-thumb{width:16px;height:16px;background:#333;border-radius:50%;cursor:pointer;border:none;border:1px solid #fff}.modal-actions{display:flex;justify-content:space-between;margin-top:15px}.modal-actions button{padding:10px;border:none;border-radius:5px;cursor:pointer;font-size:14px;transition:background .2s ease}.modal-actions button:first-child{background:var(--button-cancel-bg);color:var(--button-cancel-text)}.modal-actions button:first-child:hover{background:var(--button-cancel-hover-bg)}.modal-actions button:last-child{background:var(--button-save-bg);color:var(--button-save-text)}.modal-actions button:last-child:hover{background:var(--button-save-hover-bg)}.chart-navigation{display:flex;align-items:center;justify-content:center;gap:8px}.chart-navigation button{background:var(--button-secondary-bg);color:var(--button-secondary-text);border:1px solid var(--button-secondary-border);border-radius:4px;padding:4px 8px;cursor:pointer;font-size:16px;transition:background .2s ease}.chart-navigation button:hover:not(:disabled){background-color:var(--button-secondary-hover-bg)}.chart-navigation button:disabled{background:var(--button-disabled-bg);color:var(--button-disabled-text);border-color:var(--button-disabled-border);cursor:not-allowed}.mobile-top{display:none}.set-budget{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.set-budget label{font-size:.9rem;color:var(--text-label);flex-grow:1}.button-container button{border:1px solid var(--button-budget-save-border);border-radius:.5rem;padding:.3rem .5rem;width:4rem;background-color:var(--button-budget-save-bg);color:var(--button-budget-save-text)}.button-container button:first-child{background-color:var(--button-budget-cancel-bg);color:var(--button-budget-cancel-text);border-color:var(--button-budget-cancel-border)}.set-budget input,.set-budget select{padding:8px;margin:5px 0;border:1px solid var(--select-border);border-radius:4px;background-color:var(--input-bg);color:var(--input-text);width:10rem}.budget-bar{margin:20px 0}.progress-bar{width:100%;height:1rem;background:var(--progress-bar-bg);border-radius:1rem;position:relative;border:1px solid var(--progress-bar-border);align-items:center;display:flex;justify-content:flex-start;overflow:hidden}.edit-btn{background-color:transparent!important;border:none!important}.edit-btn button{background:var(--button-edit-bg);color:var(--button-edit-text);border:1px solid var(--button-edit-border);border-radius:1rem;padding:.3rem 1rem}.no-expenses{background-color:var(--no-expenses-bg);color:var(--text-secondary);padding:.4rem .6rem;border-radius:.5rem}.progress{height:100%;background:var(--progress-bar-fill);border:1px solid var(--progress-fill-border);border-radius:1rem;align-self:center;padding:0}.sub-budgets{margin-top:20px}.sub-budget{background:var(--sub-budget-bg);color:var(--sub-budget-text);padding:10px;border-radius:4px;margin:5px 0}.error-message{color:var(--text-error);font-size:14px;margin-bottom:10px}.button-container{display:flex;justify-content:space-between}.budget{border:1px solid var(--budget-border);display:flex;flex-direction:column;align-items:center;border-radius:1rem;padding:1rem;background-color:var(--budget-bg);grid-column:2;grid-row:1}.budget-tracker{display:flex;flex-direction:column;align-items:center}.budget-tracker h2{margin:.5rem 0rem 0rem;color:var(--budget-text-color)}.budget-tracker p{margin:0;color:var(--budget-text-color)}.donut-container{position:relative;display:flex;align-items:center;justify-content:center}.donut-text{position:absolute;font-size:1.4rem;font-weight:700;color:var(--budget-donut-text);text-align:center}.donut-text p{margin:0;padding:0;font-size:1rem;color:var(--budget-donut-text)}.budget-info-box{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--budget-info-box-bg);border:1px solid var(--budget-info-box-border);padding:10px;border-radius:5px;box-shadow:var(--shadow-color);opacity:0;transition:opacity .3s ease-in-out;pointer-events:none;color:var(--text-color)}.donut-container:hover .budget-info-box{opacity:1}.weekly-chart{background-color:var(--weekly-chart-bg);border:1px solid var(--weekly-chart-border);border-radius:1rem;grid-column:1/3;grid-row:2}.insight-banner{border-radius:"8px";padding:"12px 15px";box-shadow:"0 2px 4px rgba(0,0,0,0.05)";display:"flex";align-items:"center";justify-content:"space-between"}.insight-wrapper p{font-size:.8rem!important;text-align:center!important;justify-content:center;display:flex;align-items:center;margin:0}.date-picker{display:flex;flex-direction:column;width:80%;justify-self:center;margin:1rem 0rem}.date-inputs{display:flex;justify-content:center;gap:1rem}.date-inputs input{width:100%;background-color:var(--input-bg);color:var(--input-text);border-color:var(--input-border)}.date-picker-actions{display:flex;justify-content:center;margin-top:1rem;flex-wrap:wrap;gap:1rem}.date-picker-actions button{margin:0;width:40%}.date-picker-actions button:first-child{background-color:var(--button-datepicker-cancel-bg);color:var(--button-datepicker-cancel-text)}.settings-full-page{margin:0;margin-bottom:4rem;padding:0;min-height:100vh;background-color:var(--settings-page-bg)}.settings-page{margin:0rem 1rem;display:flex;flex-direction:column;gap:1rem}.settings-page h2{padding:0rem 0;color:var(--text-color)}.settings-content{display:flex;gap:1rem;flex-wrap:wrap}.settings-actions{display:flex;flex-direction:column;gap:1rem;flex-grow:1}.currency-chooser{border:1px solid var(--custom-tags-border);border-radius:1rem;background-color:var(--custom-tags-bg);padding:.5rem 1rem;display:flex;align-items:center;justify-content:space-between;color:var(--text-color)}.currency-chooser label{font-size:1.2rem;font-family:Elegant}.cat-analysis{border:1px solid var(--cat-analysis-border);border-radius:1rem;padding:1rem;background-color:var(--cat-analysis-bg);grid-column:3;grid-row:2;color:var(--text-color)}.category-input-container input{width:100%}.category-input-container{position:relative;justify-content:left;flex-direction:column;align-items:flex-start;display:flex;width:100%}.category-input-container label{color:var(--text-label);font-size:.8rem;padding:.4rem}.category-chips{position:absolute;top:100%;left:0;width:100%;display:flex;flex-wrap:wrap;gap:5px;background:var(--category-chips-bg);border:1px solid var(--border-color);padding:5px;box-shadow:var(--shadow-color);z-index:10;border-radius:5px}.category-chip{background:var(--background-color);color:var(--text-color);border:1px solid var(--border-medium)!important;padding:5px 10px;border-radius:15px;cursor:pointer;font-size:.7rem}.category-chip:hover{background:var(--category-chip-hover-bg)}.min-max-expenses{grid-column:3;grid-row:3!important;padding:1rem;border:1px solid var(--min-max-expenses-border);border-radius:1rem;background-color:var(--min-max-expenses-bg);color:var(--text-color);place-content:center}.min-expenses span,.max-expenses span{background-color:var(--min-max-span-bg);padding:.3rem .5rem;border-radius:.8rem;border:1px solid var(--min-max-span-border);color:var(--text-color)}.min-expenses,.max-expenses{display:flex;padding:0 1rem;gap:1rem;align-items:center;color:var(--text-color)}.min-exp span,.max-exp span{background-color:unset;padding:0;border-radius:0;border:none;color:var(--text-color)}.min-exp,.max-exp{display:flex;padding:0 1rem;gap:.2rem;align-items:center;color:var(--text-color)}.loader-container{position:fixed;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;z-index:1000;top:0;left:0;background-color:var(--loader-container-bg);pointer-events:none}.loader{width:80px;height:40px;border-radius:0 0 100px 100px;border:5px solid var(--loader-border);border-top:0;background:radial-gradient(farthest-side at top,#0000 calc(100% - 5px),var(--loader-radial-1) calc(100% - 4px)),radial-gradient(2px 3px,var(--loader-radial-2) 89%,#0000) 0 0/17px 12px,var(--loader-bg-color);--c:radial-gradient(farthest-side, var(--loader-mask-color) 94%,#0000);-webkit-mask:linear-gradient(#0000 0 0),var(--c) 12px -8px,var(--c) 29px -8px,var(--c) 45px -6px,var(--c) 22px -2px,var(--c) 34px 6px,var(--c) 21px 6px,linear-gradient(var(--loader-mask-color) 0 0);mask:linear-gradient(#000 0 0),var(--c) 12px -8px,var(--c) 29px -8px,var(--c) 45px -6px,var(--c) 22px -2px,var(--c) 34px 6px,var(--c) 21px 6px,linear-gradient(#0000 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude,add,add,add,add,add,add;-webkit-mask-repeat:no-repeat;animation:l8 3s infinite}@keyframes l8{0%{-webkit-mask-size:auto,0 0,0 0,0 0,0 0,0 0,0 0}15%{-webkit-mask-size:auto,20px 20px,0 0,0 0,0 0,0 0,0 0}30%{-webkit-mask-size:auto,20px 20px,20px 20px,0 0,0 0,0 0,0 0}45%{-webkit-mask-size:auto,20px 20px,20px 20px,20px 20px,0 0,0 0,0 0}60%{-webkit-mask-size:auto,20px 20px,20px 20px,20px 20px,20px 20px,0 0,0 0}75%{-webkit-mask-size:auto,20px 20px,20px 20px,20px 20px,20px 20px,20px 20px,0 0}90%,to{-webkit-mask-size:auto,20px 20px,20px 20px,20px 20px,20px 20px,20px 20px,20px 20px}}.loader-overlay{position:fixed;top:0;left:0;width:100dvw;height:100dvh;background:var(--loader-overlay-bg);display:flex;justify-content:center;align-items:center;z-index:999;pointer-events:none}.toast-popup{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:var(--toast-bg);color:var(--toast-text);padding:12px 24px;border-radius:8px;opacity:0;animation:fadeInOut 4s forwards;font-weight:500;z-index:9999;pointer-events:none}.custom-tags-section,.user-preferences-section{background-color:var(--custom-tags-bg);border:1px solid var(--custom-tags-border);padding:0rem 1rem;border-radius:1rem;color:var(--text-color)}.custom-tags-section h3{font-size:1.2rem}.user-preferences-section{padding:1rem}.tags-list{padding:0;margin:1rem 0}.tag-input{display:flex;flex-wrap:wrap;width:100%;margin:0;gap:.5rem}.tag-input input{flex-grow:1}.tag-input button{border:1px solid var(--button-tag-add-border);background-color:var(--button-tag-add-bg);color:var(--button-tag-add-text);border-radius:.5rem;width:10rem;padding:8px}.tag-item{display:grid;align-items:center;grid-template-columns:repeat(2,1fr);border-bottom:1px solid var(--tag-item-border-bottom);padding:.4rem 0rem}.tag-item span{border:1px solid var(--tag-item-span-border);padding:.2rem .4rem;width:max-content;border-radius:.5rem;color:var(--text-tag);background-color:var(--surface-color)}.tag-item button{background-color:var(--button-tag-remove-bg);border:1px solid var(--button-tag-remove-border);width:max-content;border-radius:.5rem;padding:.2rem .4rem;color:var(--button-tag-remove-text);place-self:end}.light-mode-toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem}.light-mode-toggler{display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--text-color);background-color:var(--custom-tags-bg);border:1px solid var(--custom-tags-border);padding:0rem 1rem;border-radius:1rem}.light-mode-toggler h2{font-size:1.2rem}.switch{font-size:.5rem;position:relative;display:inline-block;width:3.5em;height:1em}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:var(--switch-bg);border:2px solid var(--switch-border);transition:.4s;border-radius:1px}.switch-slider:before{position:absolute;content:"";height:1.3em;width:1.2em;border-radius:2px;left:.2em;bottom:.3em;background-color:var(--switch-slider-bg);border:2px solid var(--switch-slider-border);transition:.5s}.switch input:checked+.switch-slider{background-color:var(--switch-checked-bg);border-color:var(--switch-checked-border)}.switch input:focus+.switch-slider{box-shadow:0 0 1px var(--focus-ring-color)}.switch input:checked+.switch-slider:before{transform:translate(1.3em)}.user-profile-section{flex-grow:1;display:flex;justify-content:space-around;align-items:center;background-color:var(--custom-tags-bg, #f8f9fa);border-radius:1rem;border:1px solid var(--custom-tags-border)}.user-profile-section button{border-radius:.5rem;padding:.5rem .8rem;border:1px solid var(--button-secondary-border);font-size:.9rem}.profile-details{display:flex;align-items:center;gap:1rem;justify-self:center}.profile-photo-container{width:4rem;height:4rem;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;border:2px solid var(--primary-color, #4285f4)}.profile-photo{width:100%;height:100%;object-fit:cover}.profile-photo-placeholder{width:100%;height:100%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:700}.user-info h4{margin:0 0 8px;font-size:20px;color:var(--text-color)}.user-join-date{margin:0;color:var(--secondary-text-color, #666);font-size:14px}@keyframes fadeInOut{0%{opacity:0;transform:translate(-50%) translateY(10px)}10%{opacity:1;transform:translate(-50%) translateY(0)}90%{opacity:1}to{opacity:0;transform:translate(-50%) translateY(10px)}}.recharts-surface,.recharts-wrapper,.expenses-piechart{overflow:visible!important}.add-expense-modal{box-shadow:#636363e6 0 0 1rem;max-height:var(100dvh - 1rem)}.input-group,textarea{margin:0}.input-group label,.category-input-container label{margin:0;font-size:.7rem!important;padding:.2rem .6rem;width:fit-content;border-radius:.3rem;border-bottom-left-radius:0;border-bottom-right-radius:0}.input-group input,.category-input-container input,textarea{margin:0;border-top-left-radius:0}.payment-tabs{margin:0}.amount-spent label{background-color:var(--amount-label-color)}.amount-spent input{border-color:var(--amount-label-color)}.payment-mode input{border-color:var(--payment-mode-label-color)}.payment-mode label{background-color:var(--payment-mode-label-color)}.category-input-container label{background-color:var(--category-label-color)}.category-input-container input{border-color:var(--category-label-color)}.location-input input{border-color:var(--location-label-color)}.location-input label{background-color:var(--location-label-color)}.description-input label{background-color:var(--description-label-color)}.description-input textarea{border-color:var(--description-label-color);background-color:transparent;border-radius:.5rem;border-top-left-radius:0!important;margin:0;font-family:Arial,Helvetica,sans-serif;font-weight:100;padding:5px;color:var(--input-text);font-size:14px;background-color:var(--input-bg)!important}.description-input textarea::placeholder{color:var(--text-placeholder)}.date-options input{margin:0;border-color:var(--button-datepicker-border)}.slider label{background-color:var(--necessity-label-color)}.slider p{margin:.5rem 0 0;font-size:.8rem}.settings-danger-zone{border:1px solid var(--border-color);padding:1rem;border-radius:1rem;background-color:var(--danger-bg-color)}.settings-danger-zone h3{margin:0;margin-bottom:1rem;font-size:1.2rem;color:var(--danger-title)}.settings-danger-zone p{margin:0;margin-bottom:.5rem;color:var(--text-color)}.danger-actions{display:flex;justify-content:space-between;align-items:center}.danger-actions button{border:1px solid var(--danger-title);border-radius:.5rem;padding:.5rem 1rem;color:var(--text-color);background-color:var(--danger-btn-color)}.preferences-collapsible-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer}.preferences-chevron{font-size:1.2rem;transform:rotate(0);transition:transform .2s ease-in-out;margin-left:.5rem}.preferences-chevron.expanded{transform:rotate(90deg)}.period-selector{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-color);border-radius:2rem;overflow:hidden;width:fit-content;padding:.2rem .4rem}.period-selector button{background:transparent;border:none;font-weight:500;cursor:pointer;position:relative;z-index:1;transition:color .3s ease;width:100%;text-align:center;padding:.5rem;background-color:transparent!important;border:none!important;border-radius:1rem}.period-selector .slider-background{position:absolute;top:2px;left:2px;width:24.6%;height:calc(100% - 4px);background:#54da97;background:var(--primary-color);border:1px solid var(--border-color);border-radius:1rem;z-index:0;transition:transform .3s ease}.total-expenses-div b{transition:all .3s ease;color:#3e9851}.total-expense canvas{font-family:Baggy}.total-expenses-div b:hover{color:#2c883b;transition:all .3s ease}.show-summary-button{display:none;position:fixed;bottom:2.5%;left:33%;z-index:103;padding:8px 16px;font-size:.9rem;font-weight:500;background-color:var(--surface-color);color:var(--text-color);border:1px solid var(--border-color);border-radius:20px;box-shadow:var(--shadow-strong-color);cursor:pointer;transition:background-color .2s ease;font-family:inherit}.show-summary-button:hover{background-color:var(--background-color)}[data-theme=dark] .show-summary-button{background-color:var(--surface-color);color:var(--text-color);border-color:var(--border-color)}[data-theme=dark] .show-summary-button:hover{background-color:var(--background-color)}.fbl-minmax-container{grid-row:3;grid-column:2}.settings-export-csv-button{padding:1rem;border:1px solid var(--custom-tags-border);border-radius:1rem;background-color:var(--custom-tags-bg);color:var(--text-color);font-size:1.1rem;font-weight:700;text-align:left;font-family:Elegant}@media (max-width: 768px){.show-summary-button{display:block}}@media (max-width: 768px){.light-mode-toggler{padding:1rem;align-items:center}.light-mode-toggler h2{margin:0}.navbar{flex-direction:column;align-items:flex-start}.logo{margin-bottom:10px}.nav-links button{margin-left:0;margin-bottom:5px;width:5rem;text-align:center}.dashboard,.calendar-section,.auth-prompt{width:100%;margin-left:auto;margin-right:auto;padding:15px}.analytics{flex-direction:column;align-items:center}.total-expense{grid-row:1;grid-column:1;margin-bottom:15px;width:auto}.navbar{top:unset;right:unset;bottom:0;left:0;position:fixed;width:100dvw;z-index:100;border-top-left-radius:1rem;border-top-right-radius:1rem}.logo{display:none}.nav-links{display:flex;width:100%;justify-content:space-between!important}.nav-links button{width:fit-content}.logo{position:absolute}.nav-links button:last-child{background-color:#ffaeae!important}#calendar-container{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.calendar-day{padding:8px}.day-header{font-size:.9em}.add-expense-modal{position:absolute;top:0;left:0;min-width:100vw;gap:.2rem;border-radius:0}.add-expense-modal h2{margin:.2rem .8rem .8rem!important}.add-btn{z-index:99;bottom:30px;right:20px;width:50px;height:50px;font-size:1.5em}.dashboard{display:grid;grid-template-columns:repeat(1,1fr);grid-template-rows:repeat(1,1fr);margin:1rem 1rem 4.5rem;padding:.8rem;align-items:center}.date-picker{display:flex;flex-direction:column;justify-self:center}.date-inputs{display:flex;justify-content:center;gap:1rem}.date-inputs input{width:100%}.date-picker-actions{display:flex;justify-content:center;margin-top:1rem;flex-wrap:wrap;gap:1rem}.date-picker-actions button{flex-grow:1;margin:0;width:40%}.date-picker-actions button:first-child{background-color:var(--button-datepicker-bg);color:var(--text-placeholder)}.user-profile-section{padding:1rem}.user-profile-section button{border-radius:.5rem;padding:.5rem .8rem;border:1px solid var(--button-secondary-border);font-size:.7rem}.modal-content{width:95%}.expense-category-text{display:none}.mobile-top{display:flex;padding:1rem;background-color:var(--dashboard-bg);position:fixed;width:100%;z-index:100;box-shadow:#110c2e26 0 2px 10px}.mobile-top svg{width:4rem;height:2rem;margin:0;padding:0;fill:var(--text-color)}.home-page-content{margin-top:4rem}.period-selector{justify-content:center}.expenses-piechart{align-self:center}.recharts-legend-wrapper{width:100%}.recharts-legend-wrapper ul li{font-size:.8rem}.add-btn{position:fixed;bottom:9%;left:44%;right:unset;z-index:104!important;scale:1.3}.statistics-container{margin-top:3rem;margin-bottom:5rem}.form-group label,.form-group input,#expense-form button[type=submit]{font-size:.95em}.total-expense{padding:1rem 0rem;margin:0;grid-column:1;grid-row:1}.modal-actions{margin-top:.2rem}.necessity-display{margin-top:.4rem!important;place-self:center}.category-expense{padding:1rem 0rem;width:100%;grid-row:2}.category-expense{grid-row:2;grid-column:1}.danger-actions{flex-direction:column;flex-wrap:wrap}.danger-actions button{flex-grow:1;width:100%}.budget{grid-row:4;grid-column:1}.weekly-chart{width:100%;grid-row:6;grid-column:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.weekly-chart .recharts-surface{margin-left:-2rem}.weekly-chart tspan{font-size:.7rem}.weekly-chart .recharts-legend-item-text{margin-left:2rem}.income-widget-container{grid-row:5!important;grid-column:1!important}.payment-mode-chart-container{grid-row:7!important;grid-column:1!important}.fbl-minmax-container{grid-column:1;grid-row:8}.cat-analysis{grid-row:3;grid-column:1}.main-content{padding-top:0}.settings-page{margin-top:3.5rem}.settings-page h2{margin-bottom:0}.mobile-top{position:fixed;top:0}.slider{min-width:100%;display:flex;flex-wrap:wrap}.tag-input{display:flex;flex-wrap:nowrap}.tag-input input{flex-grow:0}.min-expenses span,.max-expenses span{font-size:.7rem}.custom-tags-section{margin-bottom:3rem}.login-page{display:flex;justify-content:center;align-items:center;height:100dvh;width:100%}.auth-prompt button{margin-top:2rem;padding:8px 15px;border:1px solid var(--button-primary-border);border-radius:5px;background-color:var(--button-primary-bg);color:var(--button-primary-text);cursor:pointer;font-size:1em;transition:background-color .3s,color .3s}.auth-prompt button:hover{background-color:var(--button-primary-hover-bg);color:var(--button-primary-hover-text)}.dashboard-widget{max-width:calc(100dvw - 3.5rem)!important}}:root{--calendar-header-text: hotpink;--calendar-weekday-bg: #f0f0f0;--calendar-weekday-text: var(--text-color);--calendar-day-border: var(--border-light);--calendar-day-selected-bg: #007bff;--calendar-day-selected-text: white;--calendar-day-selected-border: #0056b3;--calendar-day-hover-opacity: .8;--calendar-day-disabled-cursor: not-allowed;--calendar-expense-no-bg: #f8f9fa;--calendar-expense-no-text: #6c757d;--calendar-expense-low-bg: #c3e6cb;--calendar-expense-low-text: #155724;--calendar-expense-moderate-bg: #ffeeba;--calendar-expense-moderate-text: #856404;--calendar-expense-high-bg: #fbd5d8;--calendar-expense-high-text: #721c24;--calendar-expense-very-high-bg: #d9534f;--calendar-expense-very-high-text: white;--calendar-popup-bg: rgb(255, 255, 255);--calendar-popup-border: gray;--calendar-popup-shadow: 0px 4px 6px rgba(0, 0, 0, .2);--calendar-popup-text: var(--text-color);--calendar-popup-item-border: #eaeaea;--calendar-button-nav-bg: hotpink;--calendar-button-nav-text: white;--calendar-button-close-bg: red;--calendar-button-close-text: white;--calendar-button-delete-bg: #ff7878;--calendar-button-delete-border: black;--calendar-button-delete-text: var(--text-color);--calendar-button-delete-icon: red;--calendar-button-delete-icon-hover: darkred;--calendar-button-add-bg: var(--primary-color);--calendar-button-add-border: black;--calendar-button-add-text: var(--text-color);--calendar-button-add-hover-bg: hotpink}[data-theme=dark]{--calendar-header-text: hotpink;--calendar-weekday-bg: #333;--calendar-weekday-text: var(--text-color);--calendar-day-border: var(--border-light);--calendar-day-selected-bg: #0056b3;--calendar-day-selected-text: white;--calendar-day-selected-border: #003f7f;--calendar-day-hover-opacity: .7;--calendar-expense-no-bg: #2a2a2a;--calendar-expense-no-text: #888;--calendar-expense-low-bg: #2a4a34;--calendar-expense-low-text: #c3e6cb;--calendar-expense-moderate-bg: #5c4d21;--calendar-expense-moderate-text: #ffeeba;--calendar-expense-high-bg: #632930;--calendar-expense-high-text: #fbd5d8;--calendar-expense-very-high-bg: #a33f3c;--calendar-expense-very-high-text: white;--calendar-popup-bg: var(--surface-color);--calendar-popup-border: var(--border-color);--calendar-popup-shadow: 0px 4px 6px rgba(255, 255, 255, .1);--calendar-popup-text: var(--text-color);--calendar-popup-item-border: var(--border-light);--calendar-button-nav-bg: hotpink;--calendar-button-nav-text: white;--calendar-button-close-bg: #a82a38;--calendar-button-close-text: white;--calendar-button-delete-bg: #a35050;--calendar-button-delete-border: var(--border-color);--calendar-button-delete-text: var(--text-color);--calendar-button-delete-icon: #ff4d4d;--calendar-button-delete-icon-hover: #ff8080;--calendar-button-add-bg: var(--primary-color);--calendar-button-add-border: var(--border-color);--calendar-button-add-text: var(--text-on-primary);--calendar-button-add-hover-bg: hotpink}.calendar-grid{display:flex;flex-direction:column;align-items:center;width:100%}.calendar-header h2{color:var(--calendar-header-text)!important}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);font-weight:700;text-align:center;background:var(--calendar-weekday-bg);color:var(--calendar-weekday-text);padding:5px 0;width:100%}.weekday-label{padding:10px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;width:100%;margin-top:.3rem}.calendar-day{padding:1rem;border:1px solid var(--calendar-day-border);min-height:32px;min-width:48px;text-align:center;cursor:pointer;border-radius:1rem;transition:background .3s ease,color .3s ease,border-color .3s ease;font-weight:700;color:var(--text-color);background-color:transparent;transition:.3s ease}.calendar-day.selected{background:var(--calendar-day-selected-bg);color:var(--calendar-day-selected-text);border-color:var(--calendar-day-selected-border)}.no-expense{background-color:var(--calendar-expense-no-bg)!important;color:var(--calendar-expense-no-text);height:4.5rem}.low-expense{background-color:var(--calendar-expense-low-bg)!important;color:var(--calendar-expense-low-text)}.moderate-expense{background-color:var(--calendar-expense-moderate-bg)!important;color:var(--calendar-expense-moderate-text)}.high-expense{background-color:var(--calendar-expense-high-bg)!important;color:var(--calendar-expense-high-text)}.very-high-expense{background-color:var(--calendar-expense-very-high-bg)!important;color:var(--calendar-expense-very-high-text)}.day-header{display:flex;flex-direction:column}.expense-popup{position:fixed;bottom:50px;right:50px;background:var(--calendar-popup-bg);color:var(--calendar-popup-text);padding:1rem;border-radius:1rem;box-shadow:var(--calendar-popup-shadow);text-align:left;border:1px solid var(--calendar-popup-border);font-size:.8rem;display:flex;flex-direction:column}.expense-popup h3{margin-bottom:10px;color:var(--calendar-popup-text)}.popup-contents ul{padding:0;margin-bottom:.5rem}.expense-item{list-style:none;padding:0;display:grid;grid-template-columns:3rem 8rem 4rem 12rem 8rem 4.5rem;grid-template-rows:auto;border:1px solid var(--calendar-popup-item-border);color:var(--calendar-popup-text)}.expense-item.no-description{grid-template-columns:3rem 8rem 4rem auto 4.5rem}.expense-item.no-location{grid-template-columns:3rem 7rem 4rem 12rem 4.5rem}.expense-item.no-description.no-location{grid-template-columns:3rem 8rem 4rem 4rem 4.5rem}.expense-amount{grid-column:1;grid-row:1;border-right:1px solid var(--calendar-popup-item-border);padding:.5rem}.expense-category{grid-column:2;grid-row:1;white-space:normal;overflow-wrap:break-word;border-right:1px solid var(--calendar-popup-item-border);padding:.5rem;word-break:break-word}.expense-mode{grid-column:3;grid-row:1;border-right:1px solid var(--calendar-popup-item-border);padding:.5rem}.expense-description{grid-column:4;grid-row:1;white-space:normal;overflow-wrap:break-word;border-left:1px solid var(--calendar-popup-item-border);border-right:1px solid var(--calendar-popup-item-border);padding:.5rem;word-break:break-word}.expense-location{grid-column:5;grid-row:1;white-space:normal;overflow-wrap:break-word;border-left:1px solid var(--calendar-popup-item-border);border-right:1px solid var(--calendar-popup-item-border);padding:.5rem}.expense-actions{grid-column:6;grid-row:1;display:flex;justify-content:center;align-items:center;gap:5px;width:max-content;padding:0rem .4rem;border-left:1px solid var(--calendar-popup-item-border)}.expense-actions button{height:2rem;width:1.8rem}.no-description .expense-actions{grid-column:6;padding:0rem 1rem}.no-location .expense-actions{grid-column:5}.no-description.no-location .expense-actions{grid-column:4}.close-btn{display:block;margin-top:10px;padding:5px 10px;background-color:var(--calendar-button-close-bg);color:var(--calendar-button-close-text);border:none;cursor:pointer;border-radius:5px}.expense-actions{display:flex;justify-content:center;align-items:center}.delete-btn{border:1px solid var(--calendar-button-delete-border);border-radius:30%;background-color:var(--calendar-button-delete-bg)!important;color:var(--calendar-button-delete-text);text-align:center}.edit-btn{border:1px solid var(--calendar-button-delete-border);border-radius:30%;background-color:var(--primary-color);color:var(--calendar-button-delete-text);padding:.2rem}.calendar-day:hover:not(.selected){opacity:var(--calendar-day-hover-opacity);transition:.3s ease;border-radius:100%}.disabled{cursor:var(--calendar-day-disabled-cursor)!important;opacity:.6}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.calendar-header button{background:none;border:none;font-size:1.2em;cursor:pointer;background-color:var(--calendar-button-nav-bg);color:var(--calendar-button-nav-text);padding:5px 10px;border-radius:5px;transition:background-color .3s}.delete-button{background:none;border:none;color:var(--calendar-button-delete-icon);cursor:pointer;margin-left:8px;font-size:14px}.delete-button:hover{color:var(--calendar-button-delete-icon-hover)}.expense-add-btn{border:solid 1px var(--calendar-button-add-border)!important;color:var(--calendar-button-add-text)!important;background-color:var(--calendar-button-add-bg)!important;border-radius:50%!important;width:3rem;height:3rem;font-size:2rem;justify-content:center;align-items:center;display:flex;cursor:pointer;line-height:0;margin:0;transition:background-color .3s,transform .3s}.expense-add-btn:hover{background-color:var(--calendar-button-add-hover-bg)!important;transform:scale(1.05)}.popup-actions{display:flex;justify-content:space-between;align-items:center;margin:0}@media (max-width: 768px){.calendar-days{overflow:hidden;margin-top:.5rem}.calendar-day{height:4rem}.calendar-day,.empty-cell{min-width:.5rem!important;padding:.5rem .2rem!important;min-height:2.5rem!important;font-size:.8rem;border-radius:.5rem}.calendar-page{margin-top:5rem}.expense-popup{bottom:calc(60px + 1rem);left:.8rem;right:.8rem;width:auto;padding:.8rem;max-height:40vh;overflow-y:auto}.expense-item{list-style:none;padding:0;display:grid;grid-template-columns:3rem 4rem 3rem 4rem 3rem 3rem;grid-template-rows:auto;border:1px solid var(--calendar-popup-item-border);color:var(--calendar-popup-text)}.expense-item.no-description,.expense-item.no-location{grid-template-columns:3rem 6rem 3.5rem 4rem 4.5rem}.expense-item.no-description.no-location{grid-template-columns:3rem 8rem 5rem 4.5rem}.expense-amount{grid-column:1;grid-row:1;border-right:1px solid var(--calendar-popup-item-border);padding:.5rem}.expense-category{grid-column:2;grid-row:1;white-space:normal;overflow-wrap:break-word;border-right:1px solid var(--calendar-popup-item-border);padding:.5rem;word-break:break-word}.expense-mode{grid-column:3;grid-row:1;border-right:1px solid var(--calendar-popup-item-border);padding:.2rem}.expense-description{grid-column:4;grid-row:1;white-space:normal;overflow-wrap:break-word;border-right:1px solid var(--calendar-popup-item-border);padding:.2rem;word-break:break-word}.expense-location{grid-column:5;grid-row:1;white-space:normal;overflow-wrap:break-word;border-right:1px solid var(--calendar-popup-item-border);padding:.2rem}.expense-actions{grid-column:6;grid-row:1;display:flex;justify-content:center;align-items:center;gap:.3rem;padding:0rem .3rem}.expense-actions button{height:2rem;width:1.5rem;padding:0;margin:0}.no-description .expense-actions{grid-column:5;padding:0rem .5rem}.no-location .expense-actions{grid-column:5}.no-description.no-location .expense-actions,.no-description .expense-location{grid-column:4}.close-btn{display:block;margin-top:10px;padding:5px 10px;background-color:var(--calendar-button-close-bg);color:var(--calendar-button-close-text);border:none;cursor:pointer;border-radius:5px}.expense-actions{display:flex;justify-content:center;align-items:center}.popup-contents h3{margin:0}.close-btn{margin:0;height:2rem;padding:.3rem .6rem}.expense-add-btn{scale:.9;line-height:0}.day-header{font-size:1rem!important;margin-top:.5rem;gap:.2rem}.day-overview-expense{margin-top:.5rem;font-size:.6rem!important}.expense-actions button{height:1.5rem}.day-total{font-size:.6rem}}.fbl-minmax-container{padding:1rem;border-radius:12px;background-color:var(--background-color);box-shadow:0 2px 6px #0000000d;border-radius:1rem;border:1px solid var(--border-color);display:flex;justify-content:center;align-items:unset!important}.fbl-minmax-content{display:flex;flex-direction:row;gap:1rem;align-self:center;place-self:center}.fbl-section{flex:1;padding:1rem;text-align:center;display:flex;flex-direction:column;align-items:center}.fbl-title{font-size:1rem;font-weight:600;margin-bottom:.5rem;text-align:center;padding-bottom:.3rem;border-radius:1rem;border:1px solid var(--border-color);width:max-content;padding:.2rem .5rem;place-self:center}.fbl-divider{width:1px;background-color:#ddd;height:auto}.fbl-text{font-size:.95rem;line-height:1.5;color:var(--text-color)}.fbl-category,.fbl-date{font-weight:500;color:var(--text-color);text-decoration:underline}.fbl-no-expenses{text-align:center;color:#999}.fbl-loading{text-align:center;color:#888}@media (max-width: 640px){.fbl-section{border-bottom:none}.fbl-section:last-child{border-bottom:none;border-right:none}}.payment-mode-chart-container{display:flex;gap:.5rem;flex-direction:column;padding:1rem;border:1px solid var(--border-color);border-radius:1rem;background-color:var(--surface-color);align-items:center;grid-column:1;grid-row:3;background-color:var(--background-color)}.payment-mode-chart-container h3{margin:0;color:var(--text-color);font-size:1.2rem;text-align:center}.payment-chart-visual{width:100%;height:max-content;display:flex;justify-content:center;align-items:center}.payment-chart-empty-message{color:var(--text-secondary);font-style:italic;text-align:center;margin-top:3rem;font-size:1rem}:root{--chart-color-cash: #03c695;--chart-color-online: #7983eb;--chart-color-other: #cccccc}[data-theme=dark]{--chart-color-cash: #90ffc4;--chart-color-online: #6c9bff;--chart-color-other: #555555}:root{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #fffef8;--surface-color: #ffffff;--text-color: #333;--text-secondary: #777;--text-on-primary: #333;--text-on-dark: white;--border-color: black;--border-light: #ddd;--border-default: #ccc;--chart-legend-text-color: var(--text-color);--chart-tooltip-bg: var(--surface-color);--chart-tooltip-text-color: var(--text-color);--chart-tooltip-title-color: var(--text-color);--chart-tooltip-border-color: var(--border-color);--chart-axis-tick-color: var(--text-secondary);--chart-grid-line-color: rgba(200, 200, 200, .2);--chart-bar-border-color: var(--border-color);--chart-bar-bg-1: #D3F8E2;--chart-bar-bg-2: #E4C1F9;--chart-bar-bg-3: #F694C1;--chart-bar-bg-4: rgb(255, 242, 130);--chart-bar-bg-5: #A9DEF9}[data-theme=dark]{--background-color: #121212;--surface-color: #1e1e1e;--text-color: #e0e0e0;--text-secondary: #aaa;--border-color: #555;--border-light: #444;--chart-legend-text-color: var(--text-color);--chart-tooltip-bg: var(--surface-color);--chart-tooltip-text-color: var(--text-color);--chart-tooltip-title-color: var(--text-color);--chart-tooltip-border-color: var(--border-color);--chart-axis-tick-color: var(--text-secondary);--chart-grid-line-color: rgba(100, 100, 100, .3);--chart-bar-border-color: var(--border-color);--chart-bar-bg-1: #52a36b;--chart-bar-bg-2: #9d72b0;--chart-bar-bg-3: #c76a91;--chart-bar-bg-4: #b3a650;--chart-bar-bg-5: #5c96b8}.chart-container.top-categories-chart{width:100%;max-width:600px;margin:0 auto;padding:1rem}.chart-wrapper{position:relative;width:100%;height:100%;min-height:300px}@media (max-width: 600px){.chart-wrapper{min-height:200px}}.income-widget-container{border:1px solid var(--budget-border, black);display:flex;flex-direction:column;align-items:center;border-radius:1rem;padding:1rem;background-color:var(--budget-bg, var(--background-color));grid-column:3;grid-row:3;gap:.5rem}.income-widget-sub{font-size:.9rem;color:var(--text-tertiary)}.income-widget-header{font-size:1.2rem;font-weight:700;color:var(--text-color);margin-bottom:.5rem}.income-widget-savings{font-size:2rem;font-weight:600;color:var(--button-submit-bg, #28a745);margin:.5rem 0}.income-widget-details{font-size:.9rem;color:var(--text-secondary);text-align:center}.income-widget-modify-button{margin-top:1rem;padding:6px 12px;font-size:.9rem;border-radius:6px;cursor:pointer;background-color:var(--button-secondary-bg, #f0f0f0);color:var(--button-secondary-text, #333);border:1px solid var(--button-secondary-border, black);transition:background-color .2s ease;font-family:inherit}.income-widget-modify-button:hover{background-color:var(--button-secondary-hover-bg, #ddd)}.income-page-container{padding:1rem;background-color:var(--background-color);color:var(--text-color)}.income-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.income-page-header h2{margin:0;color:var(--text-color)}.income-total-display{font-size:1.2rem;font-weight:700;color:var(--text-primary, var(--text-color));text-align:right}.income-period-selector-container{display:flex;justify-content:center;margin-bottom:1rem}.income-list-container{margin-top:1.5rem;max-height:60vh;overflow-y:auto;border:1px solid var(--border-color);border-radius:8px;background-color:var(--surface-color);padding:.5rem}.income-list-loading,.income-list-empty{text-align:center;padding:2rem;color:var(--text-secondary);font-style:italic}.income-list-date-header{font-weight:700;color:var(--text-tertiary);padding:.8rem .5rem .4rem;margin-top:.5rem;border-bottom:1px dashed var(--border-light)}.income-list-date-header:first-child{margin-top:0;border-top:none}.income-list-item{display:grid;grid-template-columns:1fr auto auto;gap:1rem;padding:.8rem .5rem;border-bottom:1px solid var(--border-light);align-items:center}.income-list-item:last-child{border-bottom:none}.income-item-source{font-weight:500;color:var(--text-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.income-item-amount{font-weight:700;color:var(--button-submit-bg);text-align:right;white-space:nowrap}.income-item-actions{display:flex;gap:.5rem}.income-item-actions button{background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:1rem;padding:.2rem;line-height:1}.income-item-actions button:hover{color:var(--text-color)}.income-item-actions .delete-btn:hover{color:var(--danger, red)}.income-add-button-container{position:fixed;bottom:10%;right:1.5rem;z-index:50}.income-add-button{background-color:var(--add-btn-bg, var(--primary-color));color:var(--add-btn-text, var(--text-color));border:solid 1px var(--add-btn-border, black);border-radius:50%;width:50px;height:50px;font-size:1.8em;display:flex;justify-content:center;align-items:center;cursor:pointer;box-shadow:0 3px 6px var(--shadow-strong-color);transition:background-color .3s,transform .3s}.income-add-button:hover{background-color:var(--add-btn-hover-bg, var(--charcoal));color:var(--add-btn-hover-text, white);transform:scale(1.05)}.income-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000}.income-modal{background-color:var(--modal-bg, var(--surface-color));color:var(--modal-text, var(--text-color));width:90%;max-width:450px;border-radius:10px;box-shadow:var(--shadow-strong-color);display:flex;flex-direction:column;padding:0}.income-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color)}.income-modal-header h3{margin:0;font-size:1.3rem}.income-modal-close-button{background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--button-modal-close-text, var(--text-secondary));padding:0;line-height:1}.income-modal-close-button:hover{color:var(--button-modal-close-hover-text, red)}.income-modal-content{padding:1.5rem;overflow-y:auto}.income-form-group{margin-bottom:1rem}.income-form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-label)}.income-form-group input,.income-form-group select{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border-default);background-color:var(--bg-input, var(--surface-color));color:var(--text-primary, var(--text-color));font-size:1rem;font-family:inherit}.income-form-group input:focus,.income-form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color),.2);outline:none}.income-form-group input::placeholder{color:var(--text-placeholder)}.income-modal-footer{display:flex;justify-content:flex-end;gap:.8rem;padding:1rem 1.5rem;border-top:1px solid var(--border-color)}.income-modal-footer button{padding:8px 16px;font-size:.95rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s ease;font-family:inherit}.income-cancel-button{background-color:var(--button-modal-cancel-bg, var(--bg-secondary));color:var(--button-modal-cancel-text, var(--text-primary));border:1px solid var(--button-modal-cancel-border, var(--border-default))}.income-cancel-button:hover{background-color:var(--button-modal-cancel-hover-bg, var(--bg-hover))}.income-save-button{background-color:var(--button-modal-update-bg, var(--primary-color));color:var(--button-modal-update-text, var(--text-on-primary));border:none}.income-save-button:hover{background-color:var(--button-modal-update-hover-bg, var(--secondary-color))}.income-widget-warning{font-size:.8rem;color:var(--text-tertiary, #888);font-style:italic;text-align:center;margin-top:.5rem;padding:.5rem .5rem 0;border-top:1px dashed var(--border-light)}[data-theme=dark] .income-widget-warning{color:var(--text-tertiary);border-top-color:var(--border-light)}@media (max-width: 768px){.income-page-container{padding:1rem}.income-page-header{flex-direction:column;align-items:stretch;gap:.5rem}.income-total-display{text-align:center;margin-top:.5rem}.income-list-item{grid-template-columns:1fr auto;gap:.5rem}.income-item-amount{grid-column:2}.income-item-actions{grid-column:3}.income-add-button-container{right:1rem}.income-add-button{width:45px;height:45px;font-size:1.6em}.income-modal{max-width:95%;max-height:90vh}.income-modal-content{padding:1rem}.income-modal-header,.income-modal-footer{padding:.8rem 1rem}}.period-selector-container{display:flex;gap:10px;margin-bottom:1rem;flex-wrap:wrap;justify-content:center}.period-selector-button{background-color:var(--button-secondary-bg, #f0f0f0);color:var(--button-secondary-text, #333);border:1px solid var(--button-secondary-border);padding:8px 16px;border-radius:.6rem;cursor:pointer;transition:background-color .2s ease,border-color .2s ease,color .2s ease;font-family:inherit;font-size:.9rem}.period-selector-button:hover:not(.active){background-color:var(--button-secondary-hover-bg, #e0e0e0)}.period-selector-button.active{border:1px solid var(--button-period-border, black);font-weight:700;color:var(--button-period-text, black)}.period-selector-button.active:first-child{background:var(--button-period-active-bg-1, rgb(239, 255, 196))}.period-selector-button.active:nth-child(2){background:var(--button-period-active-bg-2, rgb(233, 255, 171))}.period-selector-button.active:nth-child(3){background:var(--button-period-active-bg-3, rgb(217, 249, 131))}.period-selector-button.active:nth-child(4){background:var(--button-period-active-bg-4, rgb(208, 255, 78))}[data-theme=dark] .period-selector-button.active:first-child{background:var(--button-period-active-bg-1)}[data-theme=dark] .period-selector-button.active:nth-child(2){background:var(--button-period-active-bg-2)}[data-theme=dark] .period-selector-button.active:nth-child(3){background:var(--button-period-active-bg-3)}[data-theme=dark] .period-selector-button.active:nth-child(4){background:var(--button-period-active-bg-4)}:root{--landing-font-primary: "Baggy", system-ui, sans-serif;--landing-font-secondary: system-ui, sans-serif;--landing-primary-color: #3b82f6;--landing-secondary-color: #10b981;--landing-accent-color: hotpink;--landing-text-dark: #1f2937;--landing-text-light: #f9fafb;--landing-bg-light: #f9fafb;--landing-bg-dark: #111827;--landing-border-color: #e5e7eb;--landing-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--landing-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--landing-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--landing-section-padding: 4rem 0}[data-theme=dark] .landing-page{--landing-primary-color: #60a5fa;--landing-secondary-color: #34d399;--landing-accent-color: #fBBf24;--landing-text-dark: #f9fafb;--landing-text-light: #1f2937;--landing-bg-light: #1f2937;--landing-bg-dark: #000000;--landing-border-color: #374151}.landing-page{font-family:var(--landing-font-secondary);color:var(--landing-text-dark);background-color:var(--landing-bg-light);line-height:1.6}.landing-container{width:90%;max-width:1100px;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}.section-title{font-family:var(--landing-font-primary);font-size:2.5rem;font-weight:700;text-align:center;margin-bottom:1rem;color:var(--landing-text-dark)}.section-subtitle{font-size:1.1rem;text-align:center;color:var(--landing-text-secondary, #4b5563);max-width:600px;margin:0 auto 3rem}[data-theme=dark] .section-subtitle{color:var(--landing-text-secondary, #d1d5db)}.landing-nav{background-color:var(--surface-color);padding:1rem 0;box-shadow:var(--landing-shadow-md);position:sticky;top:0;z-index:1000;border-bottom:2px solid var(--landing-border-color)}.nav-container{display:flex;justify-content:space-between;align-items:center}.landing-logo{font-family:var(--landing-font-primary);font-size:1.8rem;font-weight:700;color:var(--text-color);text-decoration:none}.nav-links{display:flex;align-items:center;gap:1rem}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;padding:.5rem .25rem;border-bottom:2px solid transparent;transition:color .2s ease,border-color .2s ease}.nav-link:hover{color:var(--landing-primary-color);border-bottom-color:var(--landing-primary-color)}.nav-button{padding:.5rem 1rem;border-radius:6px;border:2px solid var(--text-color);font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,transform .1s ease;box-shadow:2px 2px 0 var(--text-color)}.nav-button:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 var(--text-color)}.nav-button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--text-color)}.nav-button.primary{background-color:var(--primary-color);color:var(--text-on-primary)}.nav-button.primary:hover{background-color:var(--secondary-color)}.nav-button.secondary{background-color:transparent;color:var(--text-color)}[data-theme=dark] .nav-button.secondary{border-color:var(--text-on-dark);color:var(--text-on-dark)}[data-theme=dark] .nav-button.secondary:hover{background-color:#ffffff1a}.hero-section{padding:var(--landing-section-padding);background-color:var(--background-color);text-align:center}.hero-text{flex:1}.hero-title{font-family:var(--landing-font-primary);font-size:3rem;font-weight:800;margin-bottom:1rem;line-height:1.2;color:var(--text-color)}.hero-subtitle{font-size:1.25rem;color:var(--text-secondary);margin-bottom:2rem;max-width:600px;margin-left:auto;margin-right:auto}.cta-button{padding:.75rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;border:2px solid var(--text-color);box-shadow:3px 3px 0 var(--text-color);text-decoration:none}.cta-button:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--text-color)}.cta-button:active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--text-color)}.primary-cta{background-color:var(--primary-color);color:var(--text-on-primary)}.primary-cta:hover{background-color:var(--secondary-color)}.secondary-cta{background-color:var(--surface-color);color:var(--text-color)}[data-theme=dark] .secondary-cta{background-color:var(--surface-color);color:var(--text-color);border-color:var(--text-color)}[data-theme=dark] .secondary-cta:hover{background-color:var(--background-color)}.hero-subtext{margin-top:1rem;font-size:.9rem;color:var(--text-secondary)}.hero-image-container{flex:1;margin-top:2rem}.hero-image{max-width:100%;height:auto;border-radius:8px;box-shadow:var(--landing-shadow-lg);border:3px solid var(--text-color)}.features-section{padding:var(--landing-section-padding);background-color:var(--surface-color)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.feature-card{background-color:var(--background-color);padding:2rem;border-radius:8px;border:2px solid var(--text-color);box-shadow:4px 4px 0 var(--text-color);text-align:center}.feature-card svg{margin:0 auto 1rem;stroke:var(--primary-color)}.feature-title{font-family:var(--landing-font-primary);font-size:1.5rem;margin-bottom:.5rem;color:var(--text-color)}.feature-description{font-size:1rem;color:var(--text-secondary)}.demo-section{padding:var(--landing-section-padding);background-color:var(--landing-bg-dark);color:var(--landing-text-light)}.demo-section .section-title,.demo-section .section-subtitle{color:var(--landing-text-light)}.demo-video-container{margin-top:2rem;position:relative;padding-bottom:56.25%;height:0;overflow:hidden;max-width:800px;margin-left:auto;margin-right:auto;border:3px solid var(--landing-text-light);border-radius:8px;box-shadow:5px 5px 0 var(--landing-text-light)}.demo-video{position:absolute;top:0;left:0;width:100%;height:100%}.showcase-section{padding:var(--landing-section-padding);background-color:var(--surface-color)}.showcase-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-top:2rem}.showcase-item{text-align:center}.showcase-item img{width:100%;border-radius:8px;border:2px solid var(--landing-border-color);box-shadow:var(--landing-shadow-lg);margin-bottom:1rem}.showcase-caption{font-size:.9rem;color:var(--text-secondary);font-weight:500}.testimonials-section{padding:var(--landing-section-padding);background-color:var(--landing-bg-dark);color:var(--landing-text-light)}.testimonials-section .section-title,.testimonials-section .section-subtitle{color:var(--landing-text-light)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem}.testimonial-card{background-color:var(--landing-bg-light);color:var(--landing-text-dark);padding:2rem;border-radius:8px;border:2px solid var(--landing-text-light);box-shadow:4px 4px 0 var(--landing-text-light)}.testimonial-text{font-style:italic;margin-bottom:1rem;font-size:1.1rem}.testimonial-author{font-weight:600;text-align:right;color:var(--landing-primary-color)}.pricing-section{padding:var(--landing-section-padding);background-color:var(--surface-color)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:2rem;align-items:stretch}.pricing-card{background-color:var(--background-color);padding:2rem;border-radius:8px;border:2px solid var(--text-color);box-shadow:4px 4px 0 var(--text-color);display:flex;flex-direction:column;text-align:center}.pricing-card.featured{border-color:var(--landing-primary-color);box-shadow:4px 4px 0 var(--landing-primary-color);position:relative}.featured-badge{position:absolute;top:-15px;left:50%;transform:translate(-50%);background-color:var(--landing-primary-color);color:var(--text-on-primary);padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:700;border:2px solid var(--text-color)}.pricing-tier-name{font-family:var(--landing-font-primary);font-size:1.8rem;margin-bottom:.5rem}.pricing-price{font-size:1.2rem;margin-bottom:1.5rem;color:var(--text-secondary)}.pricing-price .price-amount{font-size:2.5rem;font-weight:700;color:var(--text-color);display:block}.pricing-features{list-style:none;padding:0;margin-bottom:2rem;flex-grow:1}.pricing-features li{margin-bottom:.5rem}.pricing-card .cta-button{margin-top:auto;width:100%}.cta-final-section{padding:var(--landing-section-padding);background-color:var(--landing-accent-color);text-align:center}.cta-final-section .section-title{color:var(--text-on-primary)}.cta-final-section .large-cta{padding:1rem 2.5rem;font-size:1.25rem;background-color:var(--surface-color);color:var(--text-color)}[data-theme=dark] .cta-final-section .large-cta{background-color:var(--landing-bg-dark);color:var(--text-on-dark);border-color:var(--text-on-dark)}.landing-footer{background-color:var(--landing-bg-dark);color:var(--landing-text-light);padding-top:3rem;border-top:3px solid var(--landing-accent-color)}.footer-content{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;margin-bottom:2rem}.footer-logo-social{max-width:250px}.footer-logo{color:var(--landing-text-light)}.social-links{display:flex;gap:1rem;margin-top:1rem}.social-links svg{width:24px;height:24px;stroke:var(--landing-text-light)}.footer-links{display:flex;flex-wrap:wrap;gap:2rem;flex-grow:1;justify-content:space-around}.footer-links h4{font-family:var(--landing-font-primary);font-size:1.1rem;margin-bottom:.75rem;color:var(--landing-primary-color)}.footer-links ul{list-style:none;padding:0;margin:0}.footer-links li{margin-bottom:.4rem}.footer-links a{color:var(--landing-text-light);text-decoration:none;font-size:.9rem}.footer-links a:hover{text-decoration:underline;color:var(--landing-accent-color)}.footer-bottom{text-align:center;padding:1.5rem 0;border-top:1px solid var(--landing-border-color);font-size:.85rem}[data-theme=dark] .footer-bottom{border-top-color:var(--landing-border-color)}@media (max-width: 768px){.landing-nav .nav-links{flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;margin-top:1rem}.landing-nav .nav-container{flex-direction:column;align-items:flex-start}.hero-title{font-size:2.5rem}.hero-subtitle{font-size:1.1rem}.footer-content{flex-direction:column}.footer-links{justify-content:flex-start}}:root{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #fffef8;--surface-color: #ffffff;--text-color: #333;--text-secondary: #777;--text-tertiary: #555;--text-subtle: #dbdbdb;--text-placeholder: #c6c6c6;--text-on-primary: #333;--text-on-secondary: #333;--text-on-dark: white;--text-label: #444;--text-error: red;--border-color: black;--border-strong: rgba(0, 0, 0, 1);--border-medium: rgba(0, 0, 0, .304);--border-light: #ddd;--border-default: #ccc;--shadow-color: rgba(0, 0, 0, .1);--shadow-strong-color: rgba(0,0,0,.2);--overlay-bg: rgba(0, 0, 0, .5);--charcoal: #635b65;--focus-ring-color: #2196F3;--progress-bar-bg: #e9ecef;--progress-bar-fill: var(--primary-color);--button-primary-bg: var(--charcoal);--button-primary-text: var(--text-on-dark);--button-primary-border: var(--charcoal);--button-primary-hover-bg: #4a424d;--button-secondary-bg: var(--surface-color);--button-secondary-text: var(--text-color);--button-secondary-border: var(--border-default);--button-secondary-hover-bg: #f8f9fa;--button-text-bg: transparent;--button-text-text: var(--charcoal);--button-text-border: transparent;--button-text-hover-bg: rgba(0,0,0,.05);--category-item-bg: var(--surface-color);--category-item-border: var(--border-default);--category-item-text: var(--text-color);--category-item-selected-bg: var(--primary-color);--category-item-selected-border: var(--primary-color);--category-item-selected-text: var(--text-on-primary)}[data-theme=dark]{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #121212;--surface-color: #1e1e1e;--text-color: #e0e0e0;--text-secondary: #aaa;--text-tertiary: #888;--text-subtle: #a0a0a0;--text-placeholder: #666;--text-on-primary: #333;--text-on-secondary: #333;--text-on-dark: #e0e0e0;--text-label: #bbb;--text-error: #ff4d4d;--border-color: #555;--border-strong: #888;--border-medium: rgba(255, 255, 255, .2);--border-light: #444;--border-default: #555;--shadow-color: rgba(255, 255, 255, .05);--shadow-strong-color: rgba(255,255,255,.1);--overlay-bg: rgba(0, 0, 0, .7);--charcoal: #a9a1ab;--focus-ring-color: #4a90e2;--progress-bar-bg: #333;--progress-bar-fill: var(--primary-color);--button-primary-bg: var(--charcoal);--button-primary-text: #121212;--button-primary-border: var(--charcoal);--button-primary-hover-bg: #918a93;--button-secondary-bg: var(--surface-color);--button-secondary-text: var(--text-color);--button-secondary-border: var(--border-default);--button-secondary-hover-bg: #2a2a2a;--button-text-bg: transparent;--button-text-text: var(--charcoal);--button-text-border: transparent;--button-text-hover-bg: rgba(255,255,255,.1);--category-item-bg: var(--surface-color);--category-item-border: var(--border-default);--category-item-text: var(--text-color);--category-item-selected-bg: var(--primary-color);--category-item-selected-border: var(--primary-color);--category-item-selected-text: var(--text-on-primary)}.onboarding-container{display:flex;flex-direction:column;min-height:100vh;background-color:var(--background-color);color:var(--text-color)}.onboarding-container *,.onboarding-container *:before,.onboarding-container *:after{box-sizing:border-box}.onboarding-content{max-width:700px;width:90%;margin:2rem auto;padding:2rem;background-color:var(--surface-color);border-radius:1rem;box-shadow:0 2px 8px var(--shadow-color);flex-grow:1}.onboarding-progress-indicator{margin-bottom:2rem;text-align:center}.onboarding-progress-text{font-size:.9rem;color:var(--text-secondary);margin-bottom:.5rem}.onboarding-progress-bar{width:100%;height:8px;background-color:var(--progress-bar-bg);border-radius:4px;overflow:hidden}.onboarding-progress-fill{height:100%;background-color:var(--progress-bar-fill);border-radius:4px;transition:width .3s ease-in-out}.onboarding-step-content h2{color:var(--text-color);margin-bottom:.5rem;text-align:center}.onboarding-step-description{color:var(--text-secondary);margin-bottom:2rem;text-align:center}.onboarding-step-inner{margin-bottom:1.5rem}.onboarding-form-group{margin-bottom:1.5rem;text-align:left}.onboarding-form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-label)}.onboarding-form-group input[type=text],.onboarding-form-group input[type=number],.onboarding-form-group select,.onboarding-form-group textarea{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;font-size:1rem;background-color:var(--input-bg, var(--surface-color));color:var(--input-text, var(--text-color));transition:border-color .2s ease,box-shadow .2s ease}.onboarding-form-group input::placeholder,.onboarding-form-group select::placeholder,.onboarding-form-group textarea::placeholder{color:var(--text-placeholder);opacity:.7}.onboarding-form-group input:focus,.onboarding-form-group select:focus,.onboarding-form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color),.2);outline:none}.onboarding-form-group small{font-size:.8rem;color:var(--text-secondary);margin-top:.3rem;display:block}.onboarding-checkbox-group,.onboarding-radio-group{display:flex;flex-direction:column;gap:.8rem}.onboarding-radio-group.horizontal{flex-direction:row;flex-wrap:wrap;gap:1.5rem}.onboarding-checkbox-item,.onboarding-radio-item{display:flex;align-items:center;gap:.6rem}.onboarding-checkbox-item label,.onboarding-radio-item label{cursor:pointer;color:var(--text-color);flex-grow:1}.onboarding-checkbox-item input[type=checkbox],.onboarding-radio-item input[type=radio]{cursor:pointer;accent-color:var(--primary-color);width:1.1em;height:1.1em}.onboarding-category-selector{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.5rem}.onboarding-category-item{padding:6px 12px;border:1px solid var(--category-item-border);border-radius:1rem;cursor:pointer;background-color:var(--category-item-bg);color:var(--category-item-text);font-size:.9rem;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.onboarding-category-item:hover{border-color:var(--primary-color);background-color:rgba(var(--primary-color),.1)}.onboarding-category-item.selected{background-color:var(--category-item-selected-bg);border-color:var(--category-item-selected-border);color:var(--category-item-selected-text);font-weight:700}.onboarding-button-group{display:flex;justify-content:space-between;align-items:center;margin-top:2.5rem;flex-wrap:wrap;gap:1rem}.onboarding-button-group button{padding:10px 20px;font-size:1rem;border-radius:6px;cursor:pointer;font-weight:500;transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;border:1px solid transparent;font-family:inherit}.onboarding-button-primary{background-color:var(--button-primary-bg);color:var(--button-primary-text);border-color:var(--button-primary-border)}.onboarding-button-primary:hover{background-color:var(--button-primary-hover-bg);box-shadow:0 2px 4px #0000001a}.onboarding-button-secondary{background-color:var(--button-secondary-bg);color:var(--button-secondary-text);border-color:var(--button-secondary-border)}.onboarding-button-secondary:hover{background-color:var(--button-secondary-hover-bg)}.onboarding-button-text{background-color:var(--button-text-bg);color:var(--button-text-text);border-color:var(--button-text-border);padding:10px}.onboarding-button-text:hover{background-color:var(--button-text-hover-bg);text-decoration:underline}@media (max-width: 600px){.onboarding-content{width:95%;padding:1.5rem;margin-top:1rem}.onboarding-step-content h2{font-size:1.5rem}.onboarding-button-group{flex-direction:column-reverse;align-items:stretch}.onboarding-button-group button{width:100%}}.preferences-modal{top:0}.radio-group-horizontal{display:flex;flex-wrap:wrap;gap:10px}.radio-group-horizontal label{display:flex;align-items:center;cursor:pointer;font-weight:400;color:var(--text-color)}.radio-group-horizontal input[type=radio]{margin-right:5px;accent-color:var(--primary-color);cursor:pointer}.custom-range-inputs{display:flex;flex-direction:column;gap:15px}.custom-range-inputs label{font-weight:500;color:var(--text-label)}.custom-range-inputs input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:6px;background-color:var(--input-bg, var(--surface-color));color:var(--input-text, var(--text-color));font-family:inherit;font-size:1rem;cursor:pointer}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(var(--theme-is-dark, 0))}:root{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #fffef8;--surface-color: #ffffff;--text-color: #333;--text-primary: var(--text-color);--text-secondary: #777;--text-tertiary: #555;--text-subtle: #dbdbdb;--text-placeholder: #c6c6c6;--text-on-primary: #333;--text-on-secondary: #333;--text-on-dark: white;--text-label: #444;--text-error: red;--danger: red;--border-color: #ccc;--border-light: #ddd;--border-default: #ccc;--shadow-color: rgba(0, 0, 0, .1);--shadow-strong-color: rgba(0,0,0,.2);--overlay-bg: rgba(0, 0, 0, .6);--bg-card: var(--surface-color);--bg-input: var(--surface-color);--bg-secondary: #f8f9fa;--bg-hover: #e9ecef;--charcoal: #635b65;--focus-ring-color: #2196F3;--button-edit-pref-bg: var(--primary-color);--button-edit-pref-text: var(--text-on-primary);--button-edit-pref-hover-bg: var(--secondary-color);--button-modal-cancel-bg: var(--bg-secondary);--button-modal-cancel-text: var(--text-primary);--button-modal-cancel-border: var(--border-default);--button-modal-cancel-hover-bg: var(--bg-hover);--button-modal-update-bg: var(--primary-color);--button-modal-update-text: var(--text-on-primary);--button-modal-update-hover-bg: var(--secondary-color);--button-modal-close-text: var(--text-secondary);--button-modal-close-hover-text: var(--danger)}[data-theme=dark]{--primary-color: #fff398;--secondary-color: #ffbcfe;--background-color: #121212;--surface-color: #1e1e1e;--text-color: #e0e0e0;--text-primary: var(--text-color);--text-secondary: #aaa;--text-tertiary: #888;--text-subtle: #a0a0a0;--text-placeholder: #666;--text-on-primary: #333;--text-on-secondary: #333;--text-on-dark: #e0e0e0;--text-label: #bbb;--text-error: #ff4d4d;--danger: #ff4d4d;--border-color: #555;--border-light: #444;--border-default: #555;--shadow-color: rgba(255, 255, 255, .05);--shadow-strong-color: rgba(255,255,255,.1);--overlay-bg: rgba(0, 0, 0, .7);--bg-card: var(--surface-color);--bg-input: var(--surface-color);--bg-secondary: #333;--bg-hover: #444;--charcoal: #a9a1ab;--focus-ring-color: #4a90e2;--button-edit-pref-bg: var(--primary-color);--button-edit-pref-text: var(--text-on-primary);--button-edit-pref-hover-bg: var(--secondary-color);--button-modal-cancel-bg: var(--bg-secondary);--button-modal-cancel-text: var(--text-primary);--button-modal-cancel-border: var(--border-default);--button-modal-cancel-hover-bg: var(--bg-hover);--button-modal-update-bg: var(--primary-color);--button-modal-update-text: var(--text-on-primary);--button-modal-update-hover-bg: var(--secondary-color);--button-modal-close-text: var(--text-secondary);--button-modal-close-hover-text: var(--danger)}.preferences-user-preferences-section{border:1px solid var(--border-color);color:var(--text-primary);border-radius:1rem;padding:1rem;background-color:var(--surface-color);border:1px solid var(--custom-tags-border)}.preferences-user-preferences-section h3{margin:0;font-size:1.3rem;color:var(--text-primary)}.preferences-details{margin-top:16px;display:flex;flex-direction:column;gap:12px}.preferences-preference-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--border-color)}.preferences-preference-label{font-weight:500;color:var(--text-secondary)}.preferences-preference-value{color:var(--text-primary)}.preferences-edit-preferences-button{margin-top:16px;background-color:var(--button-edit-pref-bg);color:var(--button-edit-pref-text);border:none;border-radius:6px;padding:10px 16px;cursor:pointer;font-weight:500;transition:background-color .2s;align-self:flex-end;font-family:inherit}.preferences-edit-preferences-button:hover{background-color:var(--button-edit-pref-hover-bg)}.preferences-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--overlay-bg);display:flex;justify-content:center;align-items:center;z-index:1000}.preferences-modal{background-color:var(--bg-card);color:var(--text-primary);width:90%;max-width:600px;max-height:90vh;border-radius:12px;box-shadow:0 4px 24px var(--shadow-strong-color);display:flex;flex-direction:column}.preferences-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid var(--border-color)}.preferences-modal-header h3{margin:0;font-size:1.4rem;color:var(--text-primary)}.preferences-close-modal{background:none;border:none;font-size:1.8rem;color:var(--button-modal-close-text);cursor:pointer;transition:color .2s;padding:0;line-height:1}.preferences-close-modal:hover{color:var(--button-modal-close-hover-text)}.preferences-modal-content{padding:24px;overflow-y:auto;flex-grow:1}.preferences-modal .onboarding-form-group{margin-bottom:20px}.preferences-modal .onboarding-form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.preferences-modal .onboarding-form-group input[type=text],.preferences-modal .onboarding-form-group input[type=number],.preferences-modal .onboarding-form-group select,.preferences-modal .onboarding-form-group textarea{width:100%;padding:10px 12px;border-radius:6px;border:1px solid var(--border-color);background-color:var(--bg-input);color:var(--text-primary);font-size:1rem;font-family:inherit}.preferences-modal .onboarding-form-group input::placeholder,.preferences-modal .onboarding-form-group select::placeholder,.preferences-modal .onboarding-form-group textarea::placeholder{color:var(--text-placeholder)}.preferences-modal .onboarding-form-group input:focus,.preferences-modal .onboarding-form-group select:focus,.preferences-modal .onboarding-form-group textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 2px rgba(var(--primary-color),.2);outline:none}.preferences-checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.preferences-checkbox-group label{display:flex;align-items:center;font-weight:400;cursor:pointer;color:var(--text-primary)}.preferences-checkbox-group input[type=checkbox]{margin-right:8px;cursor:pointer;accent-color:var(--primary-color)}.preferences-modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid var(--border-color)}.preferences-cancel-button{background-color:var(--button-modal-cancel-bg);color:var(--button-modal-cancel-text);border:1px solid var(--button-modal-cancel-border);border-radius:6px;padding:10px 16px;cursor:pointer;font-weight:500;transition:background-color .2s;font-family:inherit}.preferences-cancel-button:hover{background-color:var(--button-modal-cancel-hover-bg)}.preferences-update-button{background-color:var(--button-modal-update-bg);color:var(--button-modal-update-text);border:none;border-radius:6px;padding:10px 20px;cursor:pointer;font-weight:500;transition:background-color .2s;font-family:inherit}.preferences-update-button:hover{background-color:var(--button-modal-update-hover-bg)}@media (max-width: 768px){.preferences-checkbox-group{grid-template-columns:1fr}.preferences-preference-item{flex-direction:column;align-items:flex-start;gap:4px}.preferences-preference-value{font-weight:700}.preferences-modal{width:95%;max-height:95vh}.preferences-modal-footer{flex-direction:column-reverse;gap:10px}.preferences-modal-footer button{width:100%}}:root{--chart-color-1: #8884d8;--chart-color-2: #82ca9d;--chart-color-3: #ffc658;--chart-color-4: #ff8042;--chart-color-5: #0088FE;--chart-color-6: #00C49F;--chart-color-7: #FFBB28;--chart-color-8: #FF8042;--chart-color-9: #A4DE6C;--chart-color-10: #D0ED57;--chart-color-11: #FF7F0E;--chart-color-12: #FF3E96;--chart-fallback-color: var(--text-subtle, #cccccc);--chart-label-text: var(--text-tertiary);--tab-inactive-bg: transparent;--tab-inactive-text: var(--text-secondary);--tab-active-bg: var(--primary-color);--tab-active-text: var(--text-primary);--tab-group-bg: var(--surface-color);--tab-group-border: var(--border-color);--tab-hover-bg: rgba(128, 128, 128, .1);--donut-stroke-color: black}[data-theme=dark]{--chart-fallback-color: #555555;--chart-label-text: var(--text-secondary);--tab-inactive-text: var(--text-secondary);--tab-active-bg: var(--surface-color);--tab-active-text: var(--text-primary);--tab-group-bg: #2a2a2a;--tab-group-border: var(--border-color);--tab-hover-bg: rgba(255, 255, 255, .1);--donut-stroke-color: var(--background-color)}.statistics-container{padding:1rem;background-color:var(--background-color);color:var(--text-color);min-height:calc(100vh - 60px);display:flex;flex-direction:column}.statistics-container *,.statistics-container *:before,.statistics-container *:after{box-sizing:border-box}.statistics-header{padding:.5rem 0}.statistics-title-container{display:flex;align-items:center;margin-bottom:1rem;position:relative;justify-content:center}.statistics-back-button{background:none;border:none;font-size:1.8rem;cursor:pointer;color:var(--text-color);padding:0 .5rem;position:absolute;left:0;line-height:1}.statistics-back-button:hover{opacity:.7}.statistics-title{flex-grow:1;text-align:center;font-size:1.2rem;font-weight:600;margin:0;padding:0 2.5rem}.statistics-filters{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem}.statistics-type-selector select{padding:6px 12px;border-radius:6px;border:1px solid var(--border-default);background-color:var(--surface-color);color:var(--text-color);font-family:inherit;font-size:.9rem;cursor:pointer}.statistics-type-selector span{font-size:1.5rem;margin-left:.5rem}.statistics-period-tabs{display:flex;background-color:var(--tab-group-bg);border-radius:2rem;padding:4px;border:1px solid var(--tab-group-border);box-shadow:inset 0 1px 2px #0000000d}.statistics-period-tabs .period-tab-button{flex-grow:1;padding:6px 12px;border:none;background-color:var(--tab-inactive-bg);color:var(--tab-inactive-text);font-size:.9rem;font-weight:500;cursor:pointer;border-radius:1rem;transition:background-color .2s ease,color .2s ease,box-shadow .2s ease;white-space:nowrap}.statistics-period-tabs .period-tab-button:hover:not(.active){background-color:var(--tab-hover-bg)}.statistics-period-tabs .period-tab-button.active{background-color:var(--tab-active-bg);border:1px solid var(--border-color);color:var(--tab-active-text);box-shadow:0 1px 3px #0000001a}[data-theme=dark] .statistics-period-tabs .period-tab-button.active{box-shadow:0 1px 2px #0000004d}.statistics-period-navigator{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 .5rem;overflow:hidden;position:relative}.statistics-period-navigator button{background:none;border:none;padding:.5rem;cursor:pointer;color:var(--text-color);font-size:1.8rem;line-height:1;flex-shrink:0;z-index:1}.statistics-period-navigator button:hover{opacity:.7}.period-scroller-content{flex-grow:1;text-align:center;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.period-scroller-content:active{cursor:grabbing}.period-label{display:inline-block;font-size:1.5rem;font-weight:600;color:var(--text-primary);padding:0 .5rem}.statistics-chart-area{margin-top:-1.5rem;position:relative;width:100%;max-width:320px;height:320px;display:flex;justify-content:center;align-items:center}.chart-center-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.statistics-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1.2rem;padding:0 .5rem;max-width:500px;margin:0 auto}.legend-item{display:flex;align-items:center;font-size:.9rem;overflow:hidden}.legend-color-dot{width:10px;height:10px;border-radius:50%;margin-right:.6rem;flex-shrink:0;border:1px solid var(--border-color)}.legend-name{flex-grow:1;flex-shrink:1;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:.75rem}.legend-amount{font-weight:500;color:var(--text-secondary);white-space:nowrap;margin-left:auto}.statistics-loading,.statistics-empty{text-align:center;padding:3rem 1rem;color:var(--text-secondary);font-style:italic;min-height:300px;display:flex;justify-content:center;align-items:center}.recharts-pie-sector path{stroke:var(--donut-stroke-color);stroke-width:1.5px}.recharts-default-tooltip{background-color:var(--surface-color)!important;border:1px solid var(--border-color)!important;border-radius:4px!important;box-shadow:var(--shadow-strong-color)!important;padding:5px 10px!important;font-size:.9rem!important;color:var(--text-color)!important}.recharts-tooltip-item,.recharts-tooltip-item-name,.recharts-tooltip-item-separator,.recharts-tooltip-item-value{color:var(--text-color)!important}.statistics-container button{font-family:inherit}.statistics-content-wrapper.slide-out-left{transform:translate(-40%);opacity:0}.statistics-content-wrapper.slide-out-right{transform:translate(40%);opacity:0}.statistics-content-wrapper.slide-in{opacity:1}.statistics-period-navigator button:disabled{opacity:.3;cursor:not-allowed}.statistics-period-navigator{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:0 .5rem;position:relative}.period-scroller-content{flex-grow:1;text-align:center;overflow:hidden;height:2.5rem;display:flex;align-items:center;justify-content:center;position:relative}.period-label{display:block;font-size:1.5rem;font-weight:600;color:var(--text-primary);padding:0 .5rem;white-space:nowrap;position:absolute}.statistics-content-wrapper{opacity:1;transition:opacity .2s ease-in-out;width:100%;display:flex;flex-direction:column;align-items:center}.statistics-content-wrapper.loading-new-data{opacity:.7}
