.columns .column:nth-child(2):before,.columns .column:nth-child(4):before{content:"";background-color:var(--color-dark);width:100%;height:1px;position:absolute;left:0}:root{--color-background:#fffabf;--color-primary:#8220d6;--color-primary-hover:#6a1ab3;--color-dark:#333;--color-dark-hover:#555;--color-success:#16d995;--color-error:#d93b16;--color-error-hover:#b33110;--color-nav:#ede9b6;--color-focus-bg:#f3e9fa;--color-white:#fff;--color-grey-light:#f0f0f0;--color-grey-medium:#999;--color-grey-border:#ccc;--color-grey-text:#666;--color-grey-subtle:#ddd;--color-input-error:#e74c3c;--color-input-error-bg:#fff5f5;--color-overlay:#0006;--color-overlay-heavy:#00000080;--color-shadow:#0000001a;--color-shadow-medium:#00000026;--color-shadow-heavy:#0003;--color-shadow-strong:#00000040;--color-tooltip-bg:#333333e6;--color-spinner-track:#f3f3f3;--color-spinner-head:#3498db;--font-family:"itc-american-typewriter", serif;--font-size-base:19px;--font-size-sm:14px;--font-size-xs:12px;--font-size-caption:.7em;--font-size-input:18px;--font-weight-normal:500;--font-weight-bold:700;--line-height-base:1.35;--line-height-tight:1.15;--line-height-heading:1.15;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--spacing-2xl:45px;--radius-card:15px;--radius-input:15px;--radius-button:50px;--radius-bubble:25px;--radius-circle:50%;--radius-sm:8px;--radius-profile:10px;--transition-fast:.2s ease;--transition-base:.3s ease;--transition-slow:.4s ease;--container-max-width:600px;--form-max-width:440px;--nav-height:85px;--app-viewport:100vh;--keyboard-offset:0px;--bubble-height:clamp(220px, 38vh, 320px);--bubble-gap:16px;--safe-area-bottom:env(safe-area-inset-bottom,0px)}body{padding:env(safe-area-inset-top,0px) 0 115px 0;background-color:var(--color-background);font:normal var(--font-weight-normal) var(--font-size-base)/var(--line-height-base) var(--font-family);color:var(--color-dark);margin:0}.container{text-align:center;width:90%;max-width:600px;margin:0 auto}p{margin-top:0;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-xxl);margin:var(--spacing-md) 0}h2,h3,h4{font-family:var(--font-family);color:var(--color-dark)}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm);text-align:center}.header-container{text-align:center;display:block}.header-container h1,.header-container h2{font:normal var(--font-weight-bold) 1.85em/var(--line-height-heading) var(--font-family);border-bottom:3px solid var(--color-nav);display:inline-block}.header-container h2{margin-top:0}a{color:var(--color-dark);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}a:hover,a:focus{text-decoration:underline}sup{font-size:65%}form{max-width:var(--form-max-width);margin:0 auto}label{font:normal var(--font-weight-bold) 1em/var(--line-height-heading) var(--font-family);text-align:center;width:100%;margin:0 0 .5em;display:inline-block}input[type=text],input[type=email],input[type=password],textarea{border-radius:var(--radius-input);width:calc(100% - 40px);font:normal var(--font-weight-normal) var(--font-size-input)/var(--line-height-heading) var(--font-family);color:var(--color-dark);text-align:center;border:none;padding:12px 20px}textarea{text-align:left}input[type=text]:focus,input[type=email]:focus,input[type=password]:focus,textarea:focus{background-color:var(--color-focus-bg);outline:5px solid var(--color-primary);font-weight:var(--font-weight-bold);color:var(--color-primary)}textarea::placeholder,textarea[readonly]{font-family:var(--font-family);color:var(--color-grey-text)}input[type=checkbox]{opacity:0;width:0;height:0;margin:0;position:absolute}input[type=checkbox]+label,input[type=checkbox]+span{cursor:pointer;text-align:left;padding-left:35px;font-size:1rem;font-weight:400;line-height:28px;display:inline-block;position:relative}input[type=checkbox]+label:before,input[type=checkbox]+span:before{content:"";background:var(--color-white);border:1px solid var(--color-grey-border);width:25px;height:25px;transition:all var(--transition-fast);border-radius:25px;position:absolute;top:0;left:0}input[type=checkbox]+label:after,input[type=checkbox]+span:after{content:"";color:#fff;background:var(--color-dark);border:1px solid var(--color-dark);opacity:0;width:25px;height:25px;transition:all var(--transition-fast);border-radius:25px;justify-content:center;align-items:center;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;display:flex;position:absolute;top:0;left:0}input[type=checkbox]:checked+label:after,input[type=checkbox]:checked+span:after{opacity:1}*{-webkit-user-select:none;-webkit-touch-callout:none}img{-webkit-touch-callout:none;-webkit-user-drag:none;user-drag:none}.form-group{text-align:center;margin-bottom:1rem}.form-hint{font-size:var(--font-size-sm);margin-top:1rem}.error{color:red;font-size:var(--font-size-sm)}.input-error{background-color:var(--color-input-error-bg);border:5px solid var(--color-input-error)!important}.caption{font-size:var(--font-size-caption);font-style:italic}.hidden{display:none!important}.content-loading{visibility:hidden;opacity:0;transition:opacity var(--transition-base)}.content-loaded{visibility:visible;opacity:1}.recaptcha-wrapper{justify-content:center;align-items:center;display:flex}.bu-primary,.bu-secondary{background-color:var(--color-primary);border-radius:var(--radius-button);color:var(--color-white);font:normal var(--font-weight-bold) 1em/var(--line-height-heading) var(--font-family);cursor:pointer;transition:background-color var(--transition-base), padding var(--transition-base), transform var(--transition-fast);border:none;padding:15px 45px;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.bu-secondary{background-color:var(--color-dark);font-size:1em;font-weight:var(--font-weight-normal);padding:15px 25px}.bu-primary:after,.bu-secondary:after{content:"";opacity:0;transition:opacity var(--transition-base), transform var(--transition-base);font-family:"Font Awesome 6 Free",sans-serif;font-weight:900;position:absolute;right:45px;transform:translate(-10px)}.bu-secondary:after{right:25px}.bu-primary:hover,.bu-secondary:hover{background-color:var(--color-dark);padding-right:80px;text-decoration:none;transform:scale(1.02)}.bu-secondary:hover{background-color:var(--color-primary);padding-right:50px}.bu-primary:hover:after,.bu-secondary:hover:after{opacity:1;transform:translate(0)}.bu-social-login{background-color:var(--color-white);font:normal var(--font-weight-normal) var(--font-size-input)/var(--line-height-heading) var(--font-family);border-radius:var(--radius-input);padding:var(--spacing-lg);cursor:pointer;border:none;align-items:center;min-width:350px;display:inline-flex}.bu-social-login:hover{background-color:var(--color-focus-bg)}.bu-danger{background-color:var(--color-error);border-radius:var(--radius-button);color:var(--color-white);font:normal var(--font-weight-bold) 1em/var(--line-height-heading) var(--font-family);cursor:pointer;border:none;padding:15px 45px;display:inline-block}.bu-danger:hover{opacity:.85}.bu-danger-text{color:var(--color-error);font:normal var(--font-weight-bold) 1em/var(--line-height-heading) var(--font-family);cursor:pointer;background:0 0;border:none;padding:10px;text-decoration:underline}.modal-delete-section{text-align:center;margin-top:1.5rem}.social-login-icon{margin-right:var(--spacing-md)}.button-container{margin:0 auto 10px}.button-container-multiple{margin-top:var(--spacing-lg);justify-content:space-between;gap:16px;display:flex}#resetPasswordBtn{margin-left:auto}#saveprofilebtn,#resetPasswordBtn{min-width:150px}.container{max-width:var(--container-max-width);text-align:center;width:90%;margin:0 auto}.public-body{padding-top:calc(var(--nav-height) + 1em);padding-bottom:0}.private-body{padding-top:0;padding-bottom:var(--nav-height)}.main-content{text-align:center}main[role=main]{flex-direction:column;align-items:center;width:100%;display:flex}.bottom-menu{width:100%;height:calc(var(--nav-height) + var(--safe-area-bottom));background:var(--color-nav);color:var(--color-dark);box-sizing:border-box;padding-bottom:var(--safe-area-bottom);justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0}.menu-item{text-align:center;color:var(--color-dark);font-size:var(--font-size-xs);transition:color var(--transition-base);cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;padding:0;text-decoration:none;display:flex;position:relative;overflow:visible}.menu-item.active,.menu-item:hover{color:var(--color-dark);text-decoration:none}.menu-item i{margin-bottom:5px;font-size:30px}.menu-item.ai-highlight{background-color:var(--color-dark);color:var(--color-white);padding:var(--spacing-lg);border:none;border-radius:25px 25px 0 0;margin-top:-25px;margin-bottom:-20px}.menu-item.ai-highlight i,.menu-item.ai-highlight span{color:var(--color-white)}.nav-profile-icon{background-color:var(--color-dark);border-radius:var(--radius-circle);cursor:pointer;border:none;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.menu-item .tooltip{overflow-wrap:break-word;white-space:normal;background:var(--color-tooltip-bg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--color-white);text-align:center;z-index:10;box-shadow:0 8px 20px var(--color-shadow-strong);opacity:0;visibility:hidden;transition:opacity var(--transition-base), transform var(--transition-base);border-radius:12px;min-width:140px;max-width:250px;padding:14px 20px;font-size:15px;line-height:1.4;position:absolute;bottom:75px;transform:scale(.95)}.menu-item .tooltip:after{content:"";border-style:solid;border-width:8px;border-color:var(--color-tooltip-bg) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.menu-item:hover .tooltip{visibility:visible;opacity:1;transform:scale(1)}.public-menu{width:100%;height:var(--nav-height);background:var(--color-nav);z-index:1000;flex-direction:column;align-items:center;display:flex;position:fixed;top:0;left:0}.nav-inner{max-width:var(--container-max-width);width:100%;height:var(--nav-height);box-sizing:border-box;justify-content:space-between;align-items:center;margin:0 auto;padding:0 1rem;display:flex}.public-menu .logo{flex-shrink:0}#hamburger-toggle{cursor:pointer;color:var(--color-dark);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;font-size:2rem;display:flex}#hamburger-toggle i{font-size:2rem;line-height:1}.hamburger-label{margin-top:var(--spacing-xs);text-transform:uppercase;font-size:.75rem;font-weight:600}#public-links{top:var(--nav-height);background:var(--color-white);text-align:center;z-index:1001;opacity:0;width:100%;max-height:0;transition:max-height var(--transition-slow), opacity var(--transition-base);flex-direction:column;gap:1rem;padding:1rem 0;display:flex;position:absolute;left:0;overflow:hidden}#public-links a{color:var(--color-dark);font-weight:600;text-decoration:none}#public-links.show{opacity:1;max-height:400px}#menu-overlay{background:var(--color-overlay-heavy);z-index:900;width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}#menu-overlay.show{display:block}#nav-modal-profile-container{margin-bottom:1rem;display:block}#nav-modal-legal-container a{line-height:1.5em;display:block}#view-report{margin:0 auto}@media (width<=767px){.bottom-menu{padding:0 20px var(--safe-area-bottom) 20px;height:calc(var(--nav-height) + var(--safe-area-bottom));box-sizing:border-box;grid-template-columns:31fr max-content 55fr max-content 50fr max-content 45fr max-content;align-items:center;display:grid}.bottom-menu :first-child{grid-column:2}.bottom-menu :nth-child(2){grid-column:4}.bottom-menu :nth-child(3){grid-column:6}.bottom-menu :nth-child(4){grid-column:8}.bottom-menu .menu-item{justify-self:center}}.speech-bubble{background-color:var(--color-white);border-radius:var(--radius-bubble);box-shadow:0 4px 15px var(--color-shadow);text-align:left;min-height:4em;margin:1em;padding:1.25em;position:relative}.bubble-caret{border-left:10px solid #0000;border-right:10px solid #0000;border-top:10px solid var(--color-white);width:0;height:0;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.bubble-content{position:relative}.bubble-line{opacity:0;transition:opacity var(--transition-slow);position:absolute;left:0;right:0}.bubble-line.visible{opacity:1;position:relative}.character-with-bubble{width:100%;max-width:var(--container-max-width);flex-direction:column;align-items:center;margin:0 auto;display:flex}.character-container{margin-top:.5em}.img-header{margin:var(--spacing-xl) auto 0 auto}.img-header img{max-width:100%;height:auto}#toast-container{z-index:9999;pointer-events:none;width:100%;max-width:300px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.toast{background-color:var(--color-success);color:var(--color-white);border-radius:var(--radius-card);opacity:.95;box-shadow:0 4px 6px var(--color-shadow-heavy);text-align:center;transition:opacity var(--transition-base), transform var(--transition-base);margin-top:10px;padding:17px 23px}.spinner-overlay{z-index:9999;background-color:#fffc;justify-content:center;align-items:center;width:100vw;height:100vh;display:none;position:fixed;top:0;left:0}.loading-spinner{border:4px solid var(--color-spinner-track);border-top:4px solid var(--color-spinner-head);border-radius:var(--radius-circle);width:25px;height:25px;margin:10px auto;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.highlight-container{background-color:var(--color-dark);color:var(--color-white);border-radius:var(--radius-card);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.highlight-container a{color:var(--color-white)}.highlight-container a:hover{color:#bbb}.profile-mini-section,.dark-card{background:var(--color-dark);color:var(--color-white);padding:var(--spacing-md);gap:var(--spacing-md);border-radius:var(--radius-profile);margin-bottom:var(--spacing-md);display:flex}.dark-card{justify-content:space-between}.dark-card:last-child{margin-bottom:0}.profile-mini-section a,.dark-card a{color:var(--color-white)}.profile-info-container{width:100%;display:block}.profile-link-list{margin:var(--spacing-md) 0;padding:0;list-style:none}.profile-link-list li{margin-bottom:12px}.profile-link{color:var(--color-white);font:normal var(--font-weight-normal) 1em/1.25 var(--font-family);transition:color var(--transition-fast);align-items:center;gap:10px;text-decoration:none;display:flex}.profile-icon{background:var(--color-white);color:var(--color-dark);border-radius:var(--radius-circle);justify-content:center;align-items:center;width:35px;min-width:35px;height:35px;min-height:35px;font-size:16px;display:flex}.profile-icon svg{width:75px!important;height:75px!important}.user-info-row{justify-content:space-between;align-items:center;gap:10px;width:100%;margin-bottom:10px;display:flex}.user-info-row .user-name{font:normal var(--font-weight-bold) 1.2em/var(--line-height-heading) var(--font-family);text-align:left;flex:1}#avatar-preview{background-color:var(--color-dark);width:135px;height:135px;color:var(--color-white);object-fit:cover;border-radius:50% 50% 5px;justify-content:center;align-items:center;margin:0 auto;display:flex}.avatar-wrapper{margin-bottom:1em;display:inline-block;position:relative}#choose-avatar{cursor:pointer;color:var(--color-white);background:0 0;border:none;font-size:1.2rem;position:absolute;bottom:5px;right:0}#choose-avatar:hover{color:#bbb}.hr-with-text{text-align:center;width:100%;max-width:var(--form-max-width);align-items:center;margin:0 auto;display:flex}.hr-with-text:before,.hr-with-text:after{content:"";border-bottom:1px solid var(--color-dark);flex:1;margin:0 10px}.password-container{max-width:var(--form-max-width);align-items:center;margin:0 auto;display:flex;position:relative}.password-container input{width:100%;padding-right:40px}.password-container .toggle-password,.toggle-visibility{cursor:pointer;color:var(--color-grey-medium);background:0 0;border:none;font-size:1em;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.password-container input[type=password]{width:100%}.password-wrapper{width:100%;position:relative}.password-wrapper input{box-sizing:border-box;width:100%;padding-right:40px}.toggle-visibility{cursor:pointer;color:#555;-webkit-user-select:none;user-select:none;font-size:16px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle-visibility i{color:#555;font-size:18px}.input-prefix-wrapper{align-items:center;position:relative}.input-prefix{pointer-events:none;font:normal var(--font-weight-normal) 1.5rem/var(--line-height-heading) var(--font-family);color:var(--color-dark);vertical-align:super;z-index:1;position:absolute;top:25%;left:20px}.input-prefix-wrapper input{padding-left:20px}.date-input-wrapper{cursor:pointer;width:100%;max-width:100%;display:block;position:relative!important;overflow:visible!important}.date-input-wrapper input{border-radius:var(--radius-input);font:normal var(--font-weight-normal) var(--font-size-input)/var(--line-height-heading) var(--font-family);background-color:var(--color-white);color:var(--color-dark);appearance:none;z-index:1;cursor:pointer;border:none;padding:15px 20px;position:relative}.date-input-wrapper input::-webkit-calendar-picker-indicator{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;right:0}.date-input-wrapper input:focus{background-color:var(--color-focus-bg);outline:5px solid var(--color-primary);font-weight:var(--font-weight-bold);color:var(--color-primary)}.calendar-icon{all:unset;background:var(--color-primary);border-top-right-radius:var(--radius-input);border-bottom-right-radius:var(--radius-input);width:50px;height:51px;color:var(--color-white);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;right:0;cursor:pointer!important;z-index:3!important}.calendar-icon:after{color:var(--color-white);font-size:1.2em;font-weight:900}.calendar-icon i{pointer-events:none}.date-input-wrapper:has(input.input-error) .calendar-icon{background:var(--color-input-error);top:5px}.date-input{cursor:pointer;padding-right:2.5rem}input[type=date]::-webkit-calendar-picker-indicator{display:none}input[type=text].date-input::-webkit-calendar-picker-indicator{display:none}.report-date-wrapper{z-index:1;position:relative}#budget-start-date,#budget-end-date{cursor:pointer!important;z-index:5!important;position:relative!important}input[id*=date]{cursor:pointer!important;z-index:2!important;position:relative!important}.select-wrapper{width:100%;display:inline-block;position:relative}.select-wrapper select{appearance:none;border-radius:var(--radius-input);width:100%;font:normal var(--font-weight-normal) var(--font-size-input)/var(--line-height-heading) var(--font-family);color:var(--color-dark);background-color:var(--color-white);text-align:center;cursor:pointer;border:none;padding:12px 50px 12px 20px}.select-wrapper select:focus{background-color:var(--color-focus-bg);outline:5px solid var(--color-primary);font-weight:var(--font-weight-bold)}.select-wrapper:after{content:"";background-color:var(--color-primary);color:var(--color-white);border-top-right-radius:var(--radius-input);border-bottom-right-radius:var(--radius-input);pointer-events:none;justify-content:center;align-items:center;width:40px;height:100%;font-family:"Font Awesome 6 Free";font-weight:900;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.select-wrapper select::-ms-expand{display:none}.select-wrapper select.placeholder{color:var(--color-grey-text)!important}.select-wrapper select:not(.placeholder){color:var(--color-dark)}.autocomplete-wrapper{position:relative}.autocomplete-dropdown{background-color:var(--color-white);border:1px solid var(--color-grey-subtle);z-index:1000;width:100%;max-height:200px;box-shadow:0 4px 8px var(--color-shadow);border-top:none;display:none;position:absolute;overflow-y:auto}.autocomplete-item{cursor:pointer;padding:8px 12px}.autocomplete-item:hover,.autocomplete-item-selected{background-color:#f1f1f1}.checkbox-group{text-align:left;font-size:.9rem}.checkbox-group a{color:var(--color-primary);text-decoration:underline}.checkbox-group label{align-items:flex-start;gap:var(--spacing-sm);font:normal 400 .95rem/1.4 var(--font-family);text-align:left;width:100%;display:flex}.checkbox-group label span{text-align:left;flex:1;line-height:1.5}.checkbox-group input[type=checkbox]{cursor:pointer;flex-shrink:0;margin-top:3px;transform:scale(1.2)}.checkbox-group input[type=checkbox].input-error{outline:3px solid var(--color-input-error);outline-offset:3px}.checkbox-group.input-error{border:2px solid var(--color-input-error);border-radius:var(--radius-sm);padding:var(--spacing-sm);background-color:var(--color-input-error-bg)}.checkbox-group .error{margin-top:6px;margin-left:28px;font-size:.85rem;display:block}.legal-container,.legal-container h2{text-align:left}.budget-list-container{background-color:var(--color-white);border-radius:var(--radius-card);text-align:left;overflow:hidden}.previous-budgets-header{background-color:var(--color-grey-light);padding:var(--spacing-lg)}.previous-budgets-header strong{color:var(--color-dark);font-size:24px;font-weight:700}.budget-dates-grid{padding:var(--spacing-lg);margin:0;list-style:none}.budget-dates-grid-bottom{background-color:var(--color-grey-light);height:var(--spacing-md)}.budget-row{grid-template-columns:1fr auto;align-items:center;margin-bottom:10px;display:grid}.budget-row:last-child{margin:0}.budget-success-icon .fa-circle-check{color:var(--color-success);font-size:1.5rem}.budget-success-icon .fa-circle-xmark{color:var(--color-error);font-size:1.5rem}.budget-details{border-top:1px solid var(--color-grey-subtle);color:var(--color-dark);background-color:#f9f9f9;margin-top:10px;padding:10px;font-size:.9rem}.budget-detail-item{margin-bottom:5px}.intro-header[role=banner]{top:calc(var(--nav-height) + 2em);z-index:1;position:fixed;left:0;right:0}.intro-wrapper{position:relative;height:auto!important;padding-top:calc(var(--bubble-height) + var(--bubble-gap))!important}.scroll-steps{position:relative;height:300vh!important}.scroll-trigger{height:100vh!important}.intro-wrapper:after{content:none!important;height:0!important}.ai-instructions-container{justify-content:space-between;align-items:center;display:flex;margin:0 0 1em!important}.ai-character-container{height:auto;display:block}#register-success-message{margin-bottom:1rem}#voice-assistant-wrapper{z-index:1000;position:fixed;bottom:120px;right:20px}#voice-mic-button{border-radius:var(--radius-circle);cursor:pointer;background:#4285f4;border:none;justify-content:center;align-items:center;width:60px;height:60px;padding:0;display:flex;box-shadow:0 2px 5px #0000004d}#voice-mic-button:hover{background:#3b78e7}#voice-popup{background:var(--color-white);border-radius:var(--radius-profile);width:300px;max-width:calc(100vw - 20px);box-shadow:0 5px 15px var(--color-shadow-heavy);padding:var(--spacing-md);z-index:1001;box-sizing:border-box;position:fixed}#voice-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}#voice-close{cursor:pointer;background:0 0;border:none;font-size:24px}#voice-input-wrapper{box-sizing:border-box;width:100%;margin-bottom:.5em;position:relative}#voice-input{border-radius:var(--radius-card);background:var(--color-dark);width:100%;color:var(--color-white);resize:none;box-sizing:border-box;padding:1.25em 6em 1.25em 1.25em;font-size:1em}#voice-input::placeholder{color:var(--color-white)}#mic-inside-textarea{cursor:pointer;border-radius:var(--radius-circle);z-index:2;background-color:#f5f5f5;justify-content:center;align-items:center;width:25px;height:25px;padding:.75rem;display:flex;position:absolute;top:1.25em;right:1em}#mic-inside-textarea:active{background-color:#e0e0e0}#voice-suggestions{opacity:0;max-height:0;transition:max-height var(--transition-slow), opacity var(--transition-slow);margin:0;padding-left:0;font-size:.9em;font-style:italic;overflow:hidden}#voice-suggestions.show{opacity:1;max-height:300px;margin-top:10px}#voice-suggestions li{margin-bottom:8px;list-style:none}#status-indicator{text-align:center;margin:10px 0;font-weight:700}#ai-provider-container{text-align:center;margin-bottom:10px}#ai-provider{border:1px solid var(--color-grey-subtle);border-radius:5px;padding:5px}@media (width<=767px){#voice-popup{width:calc(100vw - 40px);max-height:calc(100vh - 200px);padding:12px;overflow-y:auto}#voice-suggestions{font-size:.8rem}#voice-suggestions li{margin-bottom:6px}#voice-assistant-wrapper{bottom:80px;right:10px}#voice-mic-button{width:50px;height:50px}}.columns{width:100%;max-width:var(--container-max-width);margin:var(--spacing-md) auto;display:flex}.column{justify-content:center;align-items:flex-end;display:flex;position:relative}.column:first-child,.column:last-child{flex:1}.column:nth-child(2),.column:nth-child(4){flex:0 0 30px;width:30px}.column:nth-child(3){flex:0 0 100px;width:100px}.column:first-child{justify-content:flex-end;align-items:flex-start}.column:first-child span{text-align:right;position:absolute;right:5px}.column:last-child{justify-content:flex-start;align-items:flex-start}.column:last-child span{text-align:left;position:absolute;left:5px}.columns .column:nth-child(2):before,.columns .column:nth-child(4):before{content:"";background-color:var(--color-dark);width:100%;height:1px;position:absolute;left:0}.bar-container{background-color:var(--color-grey-light);width:100%;height:250px;box-shadow:0 2px 5px var(--color-shadow);border-top:1px solid var(--color-dark);align-items:flex-end;display:flex;position:relative}.bar{border-top:1px solid var(--color-dark);width:100%;position:relative}#plan-summary-container{border-radius:var(--radius-card);margin-bottom:var(--spacing-xl);overflow:hidden}#plan-summary-header{background-color:var(--color-dark);color:var(--color-white);padding:var(--spacing-lg);justify-content:space-between;align-items:center;gap:15px;display:flex}#plan-summary-text{text-align:center;flex-grow:1;font-size:1.2rem;line-height:1.25em}.nav-arrow{color:#ffffffb3;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:8px 16px;font-size:1.5rem;text-decoration:none;transition:all .3s;display:inline-flex}.nav-arrow:hover{color:var(--color-white);background:#8220d61a;transform:scale(1.1);box-shadow:0 4px 12px #8220d64d}.nav-arrow:disabled{opacity:.2;cursor:default;box-shadow:none;background:0 0;transform:none}#plan-summary-bottom{background-color:var(--color-dark);color:var(--color-white);font-size:var(--font-size-input);padding:var(--spacing-md) var(--spacing-lg);flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}#plan-summary-text a,#plan-summary-bottom a{color:var(--color-white)}#plan-summary-text a:hover{color:var(--color-grey-medium)}#plan-summary-graph{background-color:var(--color-white);padding:var(--spacing-md) var(--spacing-xl)}.graph-values-text{font-size:1.2rem;font-weight:700}.graph-description-text{text-align:center}#edit-budget-inline{cursor:pointer}#edit-budget-inline:hover,#plan-summary-bottom a:hover{color:#bbb}.expenses-table{border-radius:var(--radius-card);margin-bottom:var(--spacing-xl);overflow:hidden}.expenses-table-title{background-color:var(--color-grey-light);padding:var(--spacing-md);display:flex}.expenses-table-title-icon{background-color:var(--color-dark);border-radius:var(--radius-circle);justify-content:center;align-items:center;width:35px;height:35px;margin-right:10px;display:flex}.expenses-table-title-icon i{color:var(--color-grey-text);margin-right:5px}.expenses-table-title-text{font:normal var(--font-weight-bold) 24px/var(--line-height-heading) var(--font-family);justify-content:center;align-items:center;display:flex}.expenses-table-list{background-color:var(--color-white);text-align:left;padding:var(--spacing-lg);margin:0}.expenses-table-list li{margin:0 0 var(--spacing-md) 0;padding:0;list-style-type:none}.expenses-table-list li:last-child{margin:0}.expenses-table-list li a{color:var(--color-dark)}.expense-detail-container{align-items:center;width:100%;display:flex}.expense-detail-container>div{text-underline-offset:3px;cursor:pointer;text-decoration:underline;text-decoration-thickness:1px}.expense-detail-text{width:calc(100% - 20px)}.expense-detail-delete{width:20px;margin-left:8px}.expense-detail-delete a{text-align:right;color:var(--color-grey-border)!important}.expense-date{text-align:left;flex:2;max-width:95px}.expense-store{text-align:left;flex:3;padding-left:10px}.expense-amount{text-align:right;flex:1}.expenses-grand-total{margin-top:var(--spacing-lg);border-top:2px solid var(--color-grey-subtle);padding-top:10px}.expenses-table-subtotal-container{background-color:var(--color-grey-light);width:calc(100% - 40px);padding:var(--spacing-lg);justify-content:space-between;font-size:1.1em;font-weight:700;display:flex}.expenses-table-subtotal-title{text-align:left}.expenses-table-subtotal-amount{text-align:right}.total-expenses{margin-top:var(--spacing-lg);border-top:2px solid var(--color-grey-subtle);border-radius:var(--radius-sm);background-color:#f9f9f9;padding:10px}#expense-amount,#budget-amount{box-sizing:border-box;border-radius:var(--radius-input);width:100%;font:normal var(--font-weight-normal) 2.5rem/var(--line-height-heading) var(--font-family);color:var(--color-dark);text-align:center;border:none;margin-bottom:.5rem;padding:12px 20px 12px 40px}#expense-amount:focus,#budget-amount:focus{background-color:var(--color-focus-bg);outline:5px solid var(--color-primary);font-weight:var(--font-weight-bold);color:var(--color-primary)}.sharing-section{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex}.sharing-header-row{align-items:center;gap:.5rem;display:flex}#sharing-link{color:#fff;text-decoration:underline}.sharing-icons-row{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.sharing-icons-row #invite-user,#invite-user-new{height:35px}.shared-users{align-items:center;gap:.5rem;margin:0 .5rem;display:inline-flex}.shared-user-icon{border-radius:var(--radius-circle);background-position:50%;background-size:cover;background-color:var(--color-grey-light);justify-content:center;align-items:center;width:25px;height:25px;padding:5px;display:flex}.shared-user-icon i{color:var(--color-grey-text);font-size:14px}.invite-container{text-align:right;margin:1rem 0}#invite-user,#invite-user-new{align-items:center;gap:.5rem;display:inline-flex}#invite-user i{font-size:.9em}.shared-user-item{align-items:center;display:flex}.shared-user-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.shared-user-item input[type=checkbox]{opacity:0;width:0;height:0;margin:0;position:absolute}.shared-user-item label{cursor:pointer;text-align:left;padding-left:35px;font-size:1rem;font-weight:400;line-height:28px;display:inline-block;position:relative}.shared-user-item input[type=checkbox]+label:before{content:"";background:var(--color-white);border:1px solid var(--color-grey-border);width:25px;height:25px;transition:all var(--transition-fast);border-radius:25px;position:absolute;top:0;left:0}.shared-user-item input[type=checkbox]+label:after{content:"";color:#fff;background:var(--color-dark);border:1px solid var(--color-dark);opacity:0;width:25px;height:25px;transition:all var(--transition-fast);border-radius:25px;justify-content:center;align-items:center;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;display:flex;position:absolute;top:0;left:0}.shared-user-item input[type=checkbox]:checked+label:after{opacity:1}.shared-user-item input[type=radio]{opacity:0;width:0;height:0;margin:0;position:absolute}.shared-user-item input[type=radio]+label{cursor:pointer;text-align:left;padding-left:35px;font-size:1rem;font-weight:400;line-height:28px;display:inline-block;position:relative}.shared-user-item input[type=radio]+label:before{content:"";background:var(--color-white);border:1px solid var(--color-grey-border);width:25px;height:25px;transition:all var(--transition-fast);border-radius:25px;position:absolute;top:0;left:0}.shared-user-item input[type=radio]+label:after{content:"";color:#fff;background:var(--color-dark);border:1px solid var(--color-dark);opacity:0;width:25px;height:25px;transition:all var(--transition-fast);border-radius:25px;justify-content:center;align-items:center;font-family:"Font Awesome 5 Free";font-size:14px;font-weight:900;display:flex;position:absolute;top:0;left:0}.shared-user-item input[type=radio]:checked+label:after{opacity:1}.shared-user-item input[type=radio]+label:hover:before{border-color:var(--color-grey-text)}#sharing-link{color:var(--color-white);cursor:pointer;text-decoration:underline}#sharing-link:hover{color:#bbb}.removal-confirmation{background-color:var(--color-dark);color:var(--color-white);text-align:center;border-radius:var(--radius-card);padding:var(--spacing-md);margin:var(--spacing-lg) 0}.removal-confirmation p{margin:0 0 10px}.users-to-remove{line-height:1.5;margin-bottom:0!important}#reports-amount{background-color:var(--color-dark);color:var(--color-white);border-radius:var(--radius-card);margin-bottom:1.5rem;padding:1rem;font-size:3rem}body.modal-open{overflow:hidden}.modal{position:fixed;inset:0}.modal-overlay{background-color:var(--color-overlay);z-index:1000;-webkit-overflow-scrolling:touch;justify-content:center;align-items:flex-start;padding:clamp(12px,6vh,32px) 0;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-content{background:var(--color-background);border-radius:var(--radius-card);box-shadow:0 8px 24px var(--color-shadow-medium);max-width:var(--form-max-width);text-align:center;width:calc(85% - 2rem);transition:box-shadow var(--transition-base), transform var(--transition-base);max-height:min(80vh, calc(var(--app-viewport,100vh) - 120px));overscroll-behavior:contain;padding:2rem 2rem calc(2rem + max(env(keyboard-inset,0px), var(--keyboard-offset,0px)));-webkit-overflow-scrolling:touch;position:relative;overflow:auto}@media (width<=600px){.modal-overlay{align-items:flex-start;padding-top:6vh;padding-bottom:6vh}.modal-content{max-height:calc(var(--app-viewport,100vh) - 96px);padding:1.3rem!important}}.modal-close{background:var(--color-dark);color:var(--color-white);border-radius:var(--radius-circle);cursor:pointer;border:none;justify-content:center;align-items:center;width:40px;height:40px;margin:0;padding:0;font-size:2rem;line-height:1;display:inline-flex;position:absolute;top:1rem;right:1rem}.modal-buttons{justify-content:center;width:100%;margin-top:1rem;display:flex}.modal-buttons:has(button:nth-child(2)){justify-content:space-between}.modal-link-list{text-align:center;margin-bottom:1rem}.modal-message{border-radius:4px;margin:10px 0;padding:10px}.modal-message.warning{color:#856404;background-color:#fff3cd;border:1px solid #ffeeba}.modal input:disabled{cursor:not-allowed;background-color:#f5f5f5}.delete-confirmation{margin:var(--spacing-md) 0;padding:var(--spacing-md);border:1px solid var(--color-error);border-radius:var(--radius-sm);text-align:center;background-color:#d93b161a}.delete-confirmation p{margin:0 0 var(--spacing-md) 0;color:var(--color-error);text-align:center;font-size:1.1rem;font-weight:700}.confirmation-buttons{justify-content:center;gap:10px;display:flex}.confirmation-buttons button{min-width:80px}.confirm-delete{background-color:var(--color-error);color:var(--color-white)}.confirm-delete:hover{background-color:var(--color-error-hover)}.input-with-prefix{align-items:center;position:relative}.input-with-prefix .prefix{pointer-events:none;font:normal var(--font-weight-normal) 1.5rem/var(--line-height-heading) var(--font-family);color:var(--color-dark);vertical-align:super;position:absolute;top:25%;left:20px}.input-with-prefix .prefix:focus{font-weight:var(--font-weight-bold);color:var(--color-primary)}.input-with-prefix input{padding-left:20px}#shared-modal{-webkit-overflow-scrolling:touch;overflow-y:auto}#shared-modal-form input[type=text]{box-sizing:border-box;width:100%;min-height:30px;display:block;visibility:visible!important}.flatpickr-calendar{z-index:9999!important;border-radius:var(--radius-card)!important;box-shadow:0 8px 24px var(--color-shadow-medium)!important;font-family:var(--font-family)!important;visibility:visible!important;transition:none!important;animation:none!important;inset:auto!important;overflow:hidden!important}.flatpickr-wrapper{width:100%}.flatpickr-calendar.open{display:block;z-index:99999!important}.flatpickr-months .flatpickr-month{border-top-left-radius:var(--radius-card);border-top-right-radius:var(--radius-card);background:var(--color-dark)!important;color:var(--color-white)!important;padding:8px 0!important}.flatpickr-current-month,.flatpickr-current-month input.cur-year{color:var(--color-white)!important}.flatpickr-weekdays{background:var(--color-nav)!important}.flatpickr-weekday{color:var(--color-dark)!important;font-weight:700!important}.flatpickr-day{border-radius:var(--radius-sm)!important}.flatpickr-day:hover{background:var(--color-focus-bg)!important}.flatpickr-day.today{background:var(--color-grey-light)!important;border:1px solid var(--color-primary)!important}.flatpickr-day.selected{background:var(--color-primary)!important;color:var(--color-white)!important}.flatpickr-prev-month svg,.flatpickr-next-month svg{width:16px;height:16px;stroke:var(--color-white)!important;fill:none!important}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{justify-content:center;align-items:center;display:flex}.expense-description{text-align:left;flex:2}.reports-amount-title{font-size:24px}.dropdown-wrapper{width:100%;margin-bottom:var(--spacing-md);position:relative}.dropdown-wrapper label{font:normal var(--font-weight-bold) 1em/var(--line-height-heading) var(--font-family);text-align:center;width:100%;margin:0 0 .5em;display:inline-block}.dropdown-wrapper select{width:100%;margin:0 0 var(--spacing-md) 0;border-radius:var(--radius-input);font:normal var(--font-weight-normal) var(--font-size-input)/var(--line-height-heading) var(--font-family);color:var(--color-dark);text-align:center;background-color:var(--color-white);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:calc(100% - 15px);background-repeat:no-repeat;background-size:12px;border:none;padding:12px 20px}.dropdown-wrapper select:focus{background-color:var(--color-focus-bg);outline:5px solid var(--color-primary);font-weight:var(--font-weight-bold);color:var(--color-primary)}
