body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.menu{background:var(--color-menu-background);box-shadow:var(--shadow);box-sizing:border-box;color:var(--color-menu-text);display:flex;flex-direction:column;height:100vh;overflow-y:auto;padding:20px;width:var(--menu-width);z-index:1000}.title-bar{justify-content:flex-end;padding:5px;position:relative}.menu h1,.title-bar{align-items:center;display:flex}.menu h1{color:var(--color-menu-text);font-size:1.2rem;gap:6px;justify-content:center;margin-bottom:4px;text-align:center}.menu-app-icon{color:var(--color-primary);display:inline-flex;flex-shrink:0;height:1.1em;position:relative;width:1.1em}.menu-app-icon>svg{left:0;position:absolute;top:0}.menu-pin-button{align-items:center;background:#0000;border:none;border-radius:var(--border-radius);color:var(--color-menu-text);cursor:pointer;display:flex;justify-content:center;opacity:.6;padding:4px;transition:opacity .2s,background .2s}.menu-pin-button:hover{background:var(--color-menu-item-hover-background);opacity:1}.menu ul{flex:1 1 auto;list-style:none;overflow-y:auto;padding:0}.menu li{background:var(--color-menu-item-background);border-radius:var(--border-radius);box-shadow:var(--shadow);color:var(--color-menu-item-text);cursor:pointer;display:flex;margin:10px 0;padding:0;transition:background .3s,box-shadow .3s}.menu li:hover{background:var(--color-menu-item-hover-background)}.menu li a{align-items:center;box-sizing:border-box;color:var(--color-text);display:flex;flex:1 1;gap:8px;padding:12px;text-decoration:none}.menu li button{background:var(--color-menu-item-background);cursor:pointer;font-size:14px;padding:8px}.menu li button:hover,.menu li.active{background:var(--color-menu-item-hover-background)}.menu li.active{border-left:3px solid var(--color-menu-active-indicator)}.menu-footer{flex-shrink:0;padding-top:10px;text-align:center}.version-info{color:var(--color-menu-text);font-size:.8em;opacity:.7;text-align:center}@media (min-width:768px){.menu.pinned{transform:translateX(0)}.menu.overlay,.menu.pinned{left:0;position:fixed;top:0}.menu.overlay{transform:translateX(-100%);transition:transform .3s ease}.menu.overlay.expanded{transform:translateX(0)}}@media (max-width:767px){.menu{left:0;max-width:var(--menu-width);position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:80vw}.menu.expanded{transform:translateX(0)}.menu-pin-button{display:none}.menu h1{margin:initial}}.container{align-items:center;display:flex;flex-direction:column;font-family:Arial,sans-serif;justify-content:center;padding:20px;text-align:center}.card{background-color:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:10px;padding:2rem}.card,.card h1{animation:fadeIn 1s ease-in-out}.card h1{font-size:2.5rem}.card h2{font-size:1.5rem}.card h2,.card h3{animation:fadeIn 1s ease-in-out;color:var(--color-text);margin-bottom:1.5rem;margin-top:0;text-align:center}.card h3{font-size:1rem}.card p{color:var(--color-text);text-align:center}.card form{animation:slideUp 1s ease-in-out;display:flex;flex-direction:column;gap:15px}.card label{margin-bottom:.5rem;text-align:center}.card input,.card label{color:var(--color-text);font-size:1rem}.card input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--border-radius);outline:none;padding:12px}.card input::placeholder{color:var(--color-text-muted);opacity:.6}.card button{padding:10px}.card .button,.card button{background-color:var(--color-card-button-background);border:var(--color-card-button-border);border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;margin:5px;transition:background .2s ease}.card .button{text-align:center;text-decoration:none}.card .button:hover,.card button:hover{background-color:var(--color-hover-overlay)}.error{animation:fadeIn .5s ease-in-out;background-color:#ff5c5c14;border:1px solid var(--color-danger);border-radius:var(--radius-lg);color:var(--color-danger);margin-bottom:1rem;padding:10px}.form-group{display:flex;flex-direction:column;place-items:center;position:relative}.form-group label{color:var(--color-text);display:block;font-weight:700;margin-bottom:5px}.form-group input,.form-group select{border:var(--color-card-button-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-size:small;margin:0 16px 0 0;padding:var(--spacing-sm);width:100%}.form-group input,.form-group select{background-color:var(--color-card-input-background)}.form-group select>option,.form-group textarea{background-color:var(--color-card-input-background);color:var(--color-text)}.form-group textarea{border:var(--color-card-button-border);border-radius:var(--radius-sm);font-size:1rem;padding:var(--spacing-xs)}.form-group-row{display:flex;gap:10px}.form-group-row .form-group{flex:1 1}@media (max-width:600px){.form-group-row{flex-direction:column}}.dropdown{background:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);left:10px;list-style-type:none;margin:5px 0 0;max-height:150px;overflow-y:auto;padding:0;position:absolute;top:50px;z-index:1000}.dropdown li{background-color:var(--color-card-background);color:var(--color-text);cursor:pointer;padding:var(--spacing-sm);transition:background .3s}.dropdown li:hover{background-color:var(--color-hover-overlay)}.form-buttons{display:flex;gap:var(--spacing-sm);justify-content:center;margin-top:var(--spacing-sm)}.toggle-switch{display:inline-block;height:26px;margin-right:10px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:var(--color-border);border-radius:34px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;border-radius:50%;bottom:4px;content:"";height:18px;left:4px;position:absolute;transition:.4s;width:18px}input:checked+.toggle-slider{background-color:var(--color-primary)}input:checked+.toggle-slider:before{transform:translateX(24px)}.toggle-label{color:var(--color-text-muted);font-size:.9em;vertical-align:super}.radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.form-group .radio-option{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:.25rem;position:relative}.form-group .radio-option input[type=radio]{height:0;opacity:0;position:absolute;width:0}.form-group .radio-custom{align-items:center;background-color:var(--color-card-background);border:2px solid var(--color-primary);border-radius:50%;display:flex;height:1.25rem;justify-content:center;transition:all .2s ease;width:1.25rem}.form-group .radio-option:hover .radio-custom{border-color:var(--color-primary-hover);box-shadow:0 2px 8px #0000001a}.form-group .radio-option input:checked+.radio-custom{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.2)}.form-group .radio-option input:checked+.radio-custom:after{background:#fff;border-radius:50%;content:"";height:.6rem;width:.6rem}.form-group .radio-label{color:var(--color-text);font-weight:500;transition:color .2s ease}.form-group .checkbox-label{align-items:center;cursor:pointer;display:flex;gap:.25rem;margin-top:.5rem;position:relative}.form-group .checkbox-label input[type=checkbox]{height:0;opacity:0;position:absolute;width:0}.form-group .checkbox-custom{align-items:center;background-color:var(--color-card-background);border:2px solid var(--color-primary);border-radius:var(--radius-sm);display:flex;height:1.25rem;justify-content:center;transition:all .2s ease;width:1.25rem}.form-group .checkbox-label:hover .checkbox-custom{border-color:var(--color-primary-hover);box-shadow:0 2px 8px #0000001a}.form-group .checkbox-label input:checked+.checkbox-custom{background-color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 2px 8px rgba(var(--color-primary-rgb),.2)}.form-group .checkbox-label input:checked+.checkbox-custom:after{color:#fff;content:"✓";font-size:.9rem;font-weight:700;transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:767px){.card{font-size:small;padding:5px;text-align:center}.card h1{font-size:xx-large}.card h2{font-size:medium}.card input,.card label,.card select{font-size:small}.form-group{position:static}.dropdown{background-color:var(--color-background);display:flex;flex-direction:column;margin:0;min-height:100vh;position:fixed;width:90%}.dropdown li{font-size:medium}.error{position:relative;scroll-margin-top:60px}}.homepage-card{animation:fadeIn 1s ease-in-out;background-color:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);box-sizing:border-box;margin:10px auto;max-width:500px;padding:2rem;width:100%}.homepage-card p{font-size:16px;line-height:1.5}.homepage-card h2,.homepage-card p{color:var(--color-text);margin-bottom:1rem}.homepage-card h2{font-size:24px}.button-container{align-items:stretch;flex-direction:column;gap:12px;margin:1rem 0}.button-container,.login-button{display:flex;justify-content:center;width:100%}.login-button{align-items:center;-webkit-appearance:none;appearance:none;background-color:#fff;background-image:none;border:1px solid #747775;border-radius:20px;box-sizing:border-box;color:#1f1f1f;cursor:pointer;font-family:Roboto,arial,sans-serif;font-size:14px;height:auto;letter-spacing:.25px;min-height:44px;outline:none;overflow:hidden;padding:12px 16px;position:relative;text-align:center;transform-style:preserve-3d;transition:all .3s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;user-select:none;white-space:normal;will-change:transform,box-shadow}.login-button:hover{box-shadow:0 2px 4px 0 #3c40434d,0 3px 6px 2px #3c404326;transform:translateY(-2px)}.login-button:hover .button-icon{transform:scale(1.1);transition:transform .3s cubic-bezier(.4,0,.2,1)}@media (pointer:coarse){.login-button:hover,.login-button:hover .button-icon{transform:none}}.login-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.button-icon{flex-shrink:0;height:24px;margin-left:8px;margin-right:16px;transition:all .3s cubic-bezier(.4,0,.2,1);width:24px;will-change:transform}.signup-link,.signup-link:visited{color:var(--color-text);display:block;margin-top:1rem;text-align:center;text-decoration:none}.signup-link:hover{text-decoration:underline}@keyframes button-ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(2)}}.dashboard-container{color:var(--color-text);padding:20px}.dashboard-container h2{color:var(--color-text);margin-bottom:20px;text-align:center}.invitation-banner{align-items:center;background:var(--color-card-button-background);border:1px solid var(--color-border-strong);border-radius:8px;color:var(--color-text);display:flex;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.invitation-banner__content{align-items:center;display:flex;gap:10px}.invitation-banner__icon{color:var(--color-primary);flex-shrink:0}.invitation-banner__close{background:none;border:none;color:var(--color-text);cursor:pointer;font-size:20px;line-height:1;opacity:.6;padding:0 4px}.invitation-banner__close:hover{opacity:1}.loading-overlay{align-items:center;background-color:#fffc;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:2000}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #0000001a;border-radius:50%;border-top:4px solid var(--color-primary);height:40px;width:40px}.dashboard-header .header{align-items:center;background:var(--color-card-background);border:var(--color-group-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:var(--spacing-lg);padding:var(--spacing-xs) var(--spacing-sm);position:sticky;top:0;z-index:10}.dashboard-header .buttons-bar{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.charts-container{display:flex;justify-content:space-evenly;margin-bottom:20px}.chart-wrapper{background-color:var(--color-card-background);border:var(--color-group-border);border-radius:var(--border-radius);box-shadow:var(--shadow);color:var(--color-text);height:300px;overflow:hidden;padding:20px;position:relative;width:48%}.chart-wrapper h2{color:var(--color-text);font-size:small;margin-bottom:15px;margin-top:0;text-align:center}.chart-wrapper canvas{max-width:100%}.tables-container{display:flex;gap:20px;margin-top:20px}.balances-table-container{background-color:var(--color-card-background);border:var(--color-group-border);border-radius:var(--border-radius);box-shadow:var(--shadow);box-sizing:border-box;flex:1 1;font-size:small;min-width:0;overflow-x:auto;padding:20px;width:100%}.tables-container h2{font-size:small;margin-top:0;text-align:center}.tables-container table{min-width:600px;table-layout:auto}@media (max-width:767px){.balances-table-container table{min-width:100%}}.account-group-header{background-color:var(--color-card-background);color:var(--color-text);cursor:pointer;font-weight:700;padding:var(--spacing-sm)}.account-group-header:hover{background-color:var(--color-hover-overlay)}.tables-container table tbody tr.account-group-header{background-color:var(--color-card-background)}.balances-table-container table td:first-child,.balances-table-container table th:first-child{width:40%}.balances-table-container table td:nth-child(2),.balances-table-container table th:nth-child(2){width:5%}.balances-table-container table td:nth-child(3),.balances-table-container table th:nth-child(3){text-align:right;width:30%}.balances-table-container table td:nth-child(4),.balances-table-container table th:nth-child(4){text-align:right;width:25%}.upcoming-transactions-container{background-color:var(--color-card-background);border:var(--color-group-border);border-radius:var(--border-radius);box-shadow:var(--shadow);flex:1 1;font-size:small;min-width:0;padding:20px}.upcoming-transactions-container table td:first-child,.upcoming-transactions-container table th:first-child{width:10%}.upcoming-transactions-container table td:nth-child(2),.upcoming-transactions-container table th:nth-child(2){text-align:left;width:60%}.upcoming-transactions-container table td:nth-child(3),.upcoming-transactions-container table th:nth-child(3){width:20%}.upcoming-transactions-container table td:nth-child(4),.upcoming-transactions-container table th:nth-child(4){text-align:right;width:10%}.overdue-transaction{background-color:#ffa5001a!important}.warning-icon-yellow{color:var(--color-warning)}.warning-icon-red,.warning-icon-yellow{font-size:.9em;margin-right:var(--spacing-sm)}.warning-icon-red{color:var(--color-danger)}.overdue-transaction td:first-child{font-weight:700}[title]:hover:after{background:#000c;border-radius:var(--radius-sm);color:#fff;content:attr(title);font-size:.8em;margin-left:10px;margin-top:-25px;padding:var(--spacing-xs) var(--spacing-sm);position:absolute;z-index:1000}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:767px){.dashboard-container{padding:var(--spacing-sm)}.dashboard-header .header{margin:var(--spacing-sm)}.charts-container{flex-direction:column}.chart-wrapper{box-sizing:border-box;color:var(--color-text);font-size:smaller;padding:5px 5px 25px;place-content:center;width:100%}.chart-wrapper canvas{max-width:100%}.balances-table-container{overflow-x:auto}.tables-container table{border-radius:var(--border-radius);font-size:smaller;min-width:100%;table-layout:fixed}.tables-container table td,.tables-container table th{word-wrap:break-word;border-bottom:1px solid var(--color-border);padding:var(--spacing-xs);text-align:left;white-space:pre-wrap}.tables-container table tbody tr:not(.account-group-header):nth-child(odd){background-color:var(--color-hover-overlay)}.balances-table-container table td:first-child,.balances-table-container table th:first-child{max-width:50%;text-overflow:clip}.balances-table-container table td:nth-child(2),.balances-table-container table th:nth-child(2){text-align:right;width:25%}}@media (max-width:1199px){.tables-container{flex-direction:column}}.searchable-select{color:var(--color-text);position:relative;width:100%}.searchable-select input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--radius-sm);box-sizing:border-box;color:var(--color-text);font-size:1rem;padding:var(--spacing-sm);width:100%}.searchable-select input::placeholder{color:rgb(from var(--color-text) r g b/.5)}.searchable-select .dropdown{background:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);left:0;list-style-type:none;margin:0;max-height:150px;overflow-y:auto;padding:0;position:absolute;right:0;top:100%;z-index:1000}.searchable-select .dropdown li{color:var(--color-text);cursor:pointer;padding:var(--spacing-sm);transition:background .3s}.searchable-select .dropdown li:hover{background:var(--color-primary-highlight)}.mobile-modal{background:var(--color-background);bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0;z-index:1010}.modal-header{align-items:center;background:var(--color-card-background);border-bottom:var(--color-card-button-border);display:flex;padding:10px}.modal-header input{border:var(--color-card-button-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1;font-size:small;padding:var(--spacing-sm)}.modal-header .cancel-button{margin-left:var(--spacing-sm)}.modal-list{flex:1 1;list-style-type:none;margin:0;overflow-y:auto;padding:0}.modal-list li{border-bottom:var(--color-card-button-border);color:var(--color-text);cursor:pointer;padding:var(--spacing-md);transition:background .3s}.modal-list li:hover{background:var(--color-hover-overlay)}.input-with-clear{position:relative;width:100%}.input-with-clear input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:small;padding:var(--spacing-sm);padding-right:30px;width:100%}.searchable-select .input-with-clear .clear-button{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:flex;font-size:1rem;height:20px;justify-content:center;line-height:1;margin:0;padding:0;position:absolute;right:6px;top:50%;transform:translateY(-50%);transition:background .2s;width:20px}.searchable-select .input-with-clear .clear-button:hover{background:var(--color-hover-overlay);color:var(--color-text)}@media (pointer:coarse){.searchable-select .input-with-clear .clear-button{min-height:0;min-height:auto;min-width:0;min-width:auto}}.non-searchable-input{caret-color:#0000;cursor:pointer}.non-searchable-input::placeholder{color:var(--color-text)}.non-searchable-input{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b7280'%3E%3Cpath d='m7 10 5 5 5-5z'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;background-size:16px}.non-searchable-input+.clear-button{display:none!important}.mobile-modal .confirm-button{margin-left:var(--spacing-sm)}.mobile-modal .confirm-button:disabled{cursor:not-allowed;opacity:.5}@media (max-width:767px){.searchable-select,.searchable-select input{font-size:small}.searchable-select .input-with-clear .clear-button{display:none}.dropdown{background-color:var(--color-background);display:flex;flex-direction:column;margin:0;min-height:100vh;position:fixed;width:90%}.dropdown li{font-size:small}}.transaction-table{color:var(--color-text);flex:1 1;font-family:Arial,sans-serif;min-height:0;overflow:auto;padding:0 10px}.table-wrapper{background-color:var(--color-card-background);border-radius:var(--border-radius);box-shadow:var(--shadow);margin:0;overflow:hidden;padding:0}.transaction-table table{table-layout:fixed}.transaction-table th{cursor:pointer}.transaction-table td:nth-child(4),.transaction-table td:nth-child(6),.transaction-table th:nth-child(4),.transaction-table th:nth-child(6){min-width:120px;text-align:right}.transaction-table td:nth-child(7),.transaction-table th:nth-child(7){min-width:120px;text-align:center}.transaction-table td:nth-child(8),.transaction-table th:nth-child(8){min-width:120px;text-align:right}.transaction-table th:hover{background-color:var(--color-hover-overlay)}.transaction-table tr.first-of-date{border-top:2px solid var(--color-border-strong)}.transaction-table td{border-bottom:0 solid var(--color-border)}.transaction-table tr.date-header td{border-bottom:2px solid var(--color-border);padding:var(--spacing-sm)}.pagination-controls{align-items:center;background-color:var(--color-card-background);border:var(--color-group-border);border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;font-size:small;justify-content:space-between;margin:10px 0;padding:0 10px}.pagination-controls label{font-size:small}.pagination-controls button{background-color:var(--color-card-button-background);border:var(--color-card-button-border);border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm)}.pagination-controls button:disabled{background-color:var(--color-card-disabled-button-background);color:var(--color-card-disabled-button-color);cursor:not-allowed}.transaction-list{list-style-type:none;padding:0}.transaction-item{border-bottom:1px solid var(--color-border)}.transaction-item.first-of-date{border-top:2px solid var(--color-border-strong)}.transaction-summary{align-items:center;cursor:pointer;display:flex;gap:var(--spacing-xs);justify-content:space-between}.transaction-details,.transaction-summary{padding:var(--spacing-sm) var(--spacing-xs)}.transaction-details{animation:fadeIn .2s ease-in-out;background-color:var(--color-card-background);border-top:1px solid var(--color-border)}.transaction-details p{align-items:center;display:flex;gap:var(--spacing-xs);margin:4px 0;text-align:left}.detail-label{flex-shrink:0;font-weight:600;min-width:80px}.mobile-date,.mobile-subject{flex:1 1;text-align:left}.mobile-amount{flex-shrink:0;font-weight:600;min-width:80px;text-align:right}.amount-income{color:#2e7d32;color:var(--color-success,#2e7d32)}.amount-expense{color:#c62828;color:var(--color-danger,#c62828)}.mobile-expand-chevron{flex-shrink:0;opacity:.5}.mobile-balance{color:var(--color-primary);font-weight:700}.mobile-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xs);padding:var(--spacing-xs) 0}.reconciled-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:center;margin:0!important}.reconciled-checkbox input{cursor:pointer;height:0;opacity:0;position:absolute;width:0}.reconciled-checkbox:hover .custom-checkbox{background-color:var(--color-border)}.reconciled-checkbox input:checked~.custom-checkbox{background-color:var(--color-primary)}.custom-checkbox{background-color:var(--color-tab-background);border-radius:var(--radius-sm);height:24px;position:relative;transition:all .3s ease;width:24px}.custom-checkbox:after{border:solid #fff;border-width:0 2px 2px 0;content:"";display:none;height:10px;left:9px;position:absolute;top:5px;transform:rotate(45deg);width:5px}.reconciled-checkbox input:checked~.custom-checkbox:after{display:block}.transaction-table .mobile-expand-button{border-radius:var(--radius-sm);cursor:pointer;font-family:Courier New,Courier,monospace;font-size:small;margin:0;padding:5px}.transaction-table .mobile-expand-button:hover{transform:none}@media (max-width:767px){.transaction-table{font-size:small;margin:0;padding:0}.table-wrapper{padding:10px}.pagination-controls{flex-wrap:wrap;gap:var(--spacing-sm);margin:5px 0;padding:10px}.pagination-controls button{margin:0 5px;padding:8px}}.transactions-page{box-sizing:border-box;height:calc(100vh - var(--app-bar-height) - var(--spacing-sm)*2);margin:0;padding:0}.tabs-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.tabs-container h2{color:var(--color-text);margin-bottom:0;text-align:center}.tabs{-webkit-overflow-scrolling:touch;background:var(--color-card-background);border-bottom:1px solid var(--color-border);display:flex;overflow-x:auto;overflow-y:hidden;padding:0 var(--spacing-sm);scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}@media (max-width:768px){.tabs{white-space:nowrap}}.tabs-container .tab{align-items:center;background:var(--color-tab-background);border:var(--color-card-button-border);border-bottom:none;border-radius:var(--radius-sm) var(--radius-lg) 0 0;color:var(--color-tab-text);cursor:pointer;display:inline-flex;flex-shrink:0;font-size:14px;margin:0 -4px -4px 0;max-width:180px;overflow:hidden;padding:var(--spacing-xs) var(--spacing-md);transition:background .2s ease}.tabs-container .tab:hover{background:var(--color-tab-active-background)}.tabs-container .tab span{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabs-container .tab.active{background:var(--color-tab-active-background);box-shadow:var(--shadow-sm);color:var(--color-tab-active-text);font-weight:700;z-index:1}.tabs-container .new-tab-button{align-items:center;background:#0000;border:1px dashed var(--color-border);border-radius:var(--radius-sm) var(--radius-lg) 0 0;color:var(--color-text-muted);cursor:pointer;display:flex;margin:0 var(--spacing-xs) -4px var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md)}.tabs-container .new-tab-button:hover{background-color:var(--color-hover-overlay)}.tabs-container .tab-content{align-items:center;display:flex;gap:var(--spacing-sm)}.tabs-container .close-tab{border-radius:50%;color:var(--color-text-muted);flex-shrink:0;font-size:18px;line-height:1;padding:0 var(--spacing-xs);transition:all .2s}.tabs-container .close-tab:hover{background-color:var(--color-hover-overlay);color:var(--color-danger);transform:scale(1.1)}.tabs-container .tab:hover .close-tab{visibility:visible}.tabs-container .tab:not(:hover) .close-tab{visibility:hidden}.tabs-container .tab.active .close-tab{visibility:visible}.header{align-items:center;background:var(--color-card-background);border:var(--color-group-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--spacing-sm);margin:0;padding:var(--spacing-xs) var(--spacing-sm);position:sticky;top:0;z-index:10}.header>.account-selector-container{flex:1 1 240px;min-width:0}.header>.buttons-bar{flex:0 0 auto;flex-wrap:wrap}.filter-panel{align-items:center;animation:fadeIn .5s ease-in-out;background:var(--color-card-background);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text);display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--spacing-md);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm)}.filter-group{display:flex;flex-direction:column;gap:5px;min-width:140px}.filter-group-range{border:var(--color-group-border);border-radius:var(--border-radius);display:flex;flex-direction:row;gap:5px;height:45px;padding:5px}.filter-group label{color:var(--color-text);display:block;font-size:.9rem}.filter-group input{height:35px}.filter-group input[type=text]{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--border-radius);color:var(--color-text)!important;font-size:small;padding:.5rem;width:100%}.buttons-bar{gap:10px;justify-self:end}.account-selector-container,.buttons-bar{align-items:center;display:flex;flex-wrap:wrap}.account-selector-container{gap:20px}.account-selector{flex:1 1;max-width:300px}.balance-display{background-color:var(--color-card-background);border-radius:var(--border-radius);display:flex;gap:15px;padding:0}.balance-item{align-items:center;background-color:var(--color-hover-overlay);border-radius:calc(var(--radius-md) - 2px);display:flex;gap:var(--spacing-sm);padding:6px var(--spacing-md)}.balance-label{color:var(--color-text);font-weight:600}.balance-value{color:var(--color-text);font-family:monospace}.create-panel{z-index:1001}.edit-panel{background:var(--color-card-background);box-shadow:var(--shadow-sm);height:100vh;max-width:100%;overflow-y:auto;padding:var(--spacing-lg);position:fixed;right:0;top:0;width:450px;z-index:1000}.panel-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.panel-header h3{color:var(--color-text)}@media (max-width:768px){.edit-panel{padding:var(--spacing-md);width:100%}}@media (max-width:767px){.transactions-page{height:calc(100vh - var(--app-bar-height) - var(--spacing-xs)*2)}.account-selector-container{align-items:stretch;flex-direction:column}.balance-display{flex-wrap:wrap;justify-content:center}.header>.buttons-bar{justify-content:stretch;width:100%}.header>.buttons-bar .btn{flex:1 1 auto}}.mobile-toolbar-toggle{justify-content:center;width:100%}.mobile-buttons-bar{flex-wrap:wrap;width:100%}.mobile-buttons-bar .btn{flex:1 1 auto;justify-content:center}.settings{border:var(--color-group-border);border-radius:var(--border-radius);margin:0 auto;padding:20px}.import-results-table table{table-layout:fixed}.mappings-container{background-color:var(--color-card-background);border:var(--color-group-border);border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:10px;margin-bottom:20px;padding:10px}.mappings-list{margin-bottom:10px;max-height:300px;overflow-y:auto;padding:10px}.mappings-add-row,.mappings-list{border:1px solid var(--color-border)}.mappings-add-row{align-items:center;padding:5px}.mappings-intro{color:var(--color-text-muted);font-size:.9rem;margin-bottom:var(--spacing-md)}.mappings-saved{color:var(--color-success);font-size:.85rem;margin:0;text-align:center}.mapping-entry{align-items:center;border:var(--color-group-border);color:var(--color-text);margin-bottom:5px;padding:5px}.import-results-table table td:first-child,.import-results-table table th:first-child{width:10%}.import-results-table table td:nth-child(2),.import-results-table table th:nth-child(2){text-align:right;width:10%}.import-results-table table td:nth-child(3),.import-results-table table th:nth-child(3){width:20%}.import-results-table table td:nth-child(4),.import-results-table table th:nth-child(4){text-align:left;width:20%}.import-results-table table td:nth-child(5),.import-results-table table th:nth-child(5){width:20%}.import-results-table table td:only-child,.import-results-table table th:only-child{width:100%}.loading-panel{align-items:center;background:var(--color-card-background);border:var(--color-group-border);border-radius:var(--border-radius);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:12px;padding:24px}.loading-phase{color:var(--color-text);font-size:1rem;margin:0}.loading-progress-label{color:var(--color-text-muted);font-size:.85rem;margin:0}.progress-bar{background:var(--color-border);border-radius:5px;height:10px;overflow:hidden;width:240px}.progress-bar__fill{background:#007bff;background:var(--color-primary,#007bff);border-radius:5px;height:100%;transition:width .2s ease}.accounts-table h2{color:var(--color-text);margin-bottom:0;text-align:center}.accounts-table .header{margin-bottom:10px}.accounts-table td.num{font-family:monospace;text-align:right}.accounts-groups{gap:20px}.account-group,.accounts-groups{display:flex;flex-direction:column}.account-group{gap:8px}.account-group-title{color:var(--color-text);font-size:1rem;font-weight:600;margin:0 0 4px}.account-group-count{font-weight:400;opacity:.6}.accounts-table .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.accounts-table .sortable:hover{background-color:#0000000a;background-color:var(--primary-dark-hover,#0000000a)}.accounts-table .empty-row{color:var(--color-text);opacity:.7;padding:20px;text-align:center}.accounts-table .status-badge{border-radius:999px;display:inline-block;font-size:.75rem;font-weight:600;padding:2px 8px}.accounts-table .status-badge.open{background-color:#0c66e41f;color:var(--color-primary)}.accounts-table .status-badge.closed{background-color:#7a869a2e;color:var(--color-tab-text)}@media (max-width:767px){.accounts-table .table-wrapper{overflow-x:auto}.accounts-table td,.accounts-table th{padding:6px 8px}}.subjects-table h2{color:var(--color-text);margin-bottom:0;text-align:center}.subjects-table .header{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.subjects-filter{align-items:center;display:flex;flex:1 1;max-width:320px;position:relative}.subjects-filter .filter-input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--border-radius);color:var(--color-text);font-size:.9rem;outline:none;padding:8px;width:100%}.subjects-filter .filter-input::placeholder{color:var(--color-tab-text)}.subjects-table .empty-row{color:var(--color-text);opacity:.7;padding:20px;text-align:center}.subjects-table .sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.subjects-table .sortable:hover{background-color:var(--color-hover-overlay)}.subjects-table td.num{font-family:monospace;text-align:right}.subjects-table th.num{text-align:right}@media (max-width:767px){.subjects-table .table-wrapper{overflow-x:auto}.subjects-table td,.subjects-table th{padding:6px 8px}}.categories-table h2{color:var(--color-text);margin-bottom:0;text-align:center}.categories-table .header{flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:10px}.categories-filter{align-items:center;display:flex;flex:1 1;max-width:320px;position:relative}.categories-filter .filter-input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--border-radius);color:var(--color-text);font-size:.9rem;outline:none;padding:8px;width:100%}.categories-filter .filter-input::placeholder{color:var(--color-tab-text)}.categories-tree-wrapper{min-height:80px;padding:8px}.categories-tree-root,.category-children{list-style-type:none;margin:0;padding:0}.category-node{color:var(--color-text)}.category-row{align-items:center;border-radius:var(--radius-sm);display:flex;gap:6px;padding:var(--spacing-xs) var(--spacing-sm);transition:background .15s ease}.category-row:hover{background-color:rgb(from var(--color-text) r g b/.05)}.category-row .collapse-toggle{align-items:center;background:#0000;border:none;border-radius:0;color:var(--color-text);cursor:pointer;display:inline-flex;flex-shrink:0;height:20px;justify-content:center;margin:0;opacity:.7;padding:0;transition:opacity .15s ease;width:20px}.category-row .collapse-toggle:hover{opacity:1}.collapse-placeholder{display:inline-block;flex-shrink:0;width:20px}.category-name{flex:1 1;font-size:.9rem}.category-count{color:var(--color-primary);font-family:monospace;font-size:.8rem;min-width:24px;opacity:.85;text-align:right}.category-actions{align-items:center;display:inline-flex;gap:2px;opacity:0;transition:opacity .15s ease}.category-row:hover .category-actions{opacity:1}.categories-table .empty-row{color:var(--color-text);opacity:.7;padding:20px;text-align:center}@media (max-width:767px){.category-actions{opacity:1}.category-name{font-size:.85rem}}.edit-recurrence-form .section-header{border-bottom:1px solid var(--color-group-border);color:var(--color-tab-text);font-size:.85rem;font-weight:700;letter-spacing:.05em;margin:18px 0 8px;padding-bottom:4px;text-transform:uppercase}.edit-recurrence-form .section-header:first-of-type{margin-top:0}.edit-recurrence-form .form-group-row{gap:12px}.edit-recurrence-form .form-group label{font-size:.85rem;font-weight:600;text-align:left}@media (max-width:767px){.edit-recurrence-form .form-group-row{flex-direction:column;gap:8px}}.recurrences-table td:first-child,.recurrences-table td:nth-child(2),.recurrences-table td:nth-child(3),.recurrences-table td:nth-child(4),.recurrences-table td:nth-child(5),.recurrences-table th:first-child,.recurrences-table th:nth-child(2),.recurrences-table th:nth-child(3),.recurrences-table th:nth-child(4),.recurrences-table th:nth-child(5){max-width:120px;text-align:left}.recurrences-table td:nth-child(6),.recurrences-table th:nth-child(6){max-width:120px;text-align:right}.recurrences-table td:nth-child(7),.recurrences-table th:nth-child(7){min-width:120px;text-align:left}.recurrences-table td:nth-child(8),.recurrences-table td:nth-child(9),.recurrences-table th:nth-child(8),.recurrences-table th:nth-child(9){min-width:300px;text-align:left}.recurrences-table .panel-header button{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text);cursor:pointer;font-size:1.4rem;line-height:1;margin:0;padding:2px 8px}.recurrences-table .panel-header button:hover{background-color:var(--color-card-button-background)}.recurrence-list{display:flex;flex-direction:column;gap:var(--spacing-sm);list-style-type:none;margin:0;padding:0}.recurrence-item{background-color:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-sm) var(--spacing-md)}.recurrence-summary{align-items:center;display:flex;gap:var(--spacing-sm);justify-content:space-between}.recurrence-summary .recurrence-name{color:var(--color-text);flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recurrence-summary .recurrence-amount{color:var(--color-text);flex-shrink:0;font-family:monospace;text-align:right}.recurrence-details{margin-top:var(--spacing-xs)}.recurrence-details p{color:var(--color-text);font-size:small;margin:2px 0;text-align:left}.recurrence-item .mobile-actions{display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-top:var(--spacing-xs)}.investments-container{display:flex;flex-direction:column;gap:1rem}.investments-error{background:#fdecea;background:var(--color-danger-bg,#fdecea);color:#b3261e;color:var(--color-danger,#b3261e)}.investments-error,.price-refresh-panel{border-radius:8px;font-size:.9rem;padding:.6rem 1rem}.price-refresh-panel{align-items:center;display:flex;gap:.75rem;justify-content:space-between}.price-refresh-panel--ok{background:#e8f5e9;background:var(--color-positive-bg,#e8f5e9);color:#2e7d32;color:var(--color-positive,#2e7d32)}.price-refresh-panel--partial{background:#fff8e1;background:var(--color-warning-bg,#fff8e1);color:#9a6b00;color:var(--color-warning,#9a6b00)}.price-refresh-panel__close{background:none;border:none;color:inherit;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .25rem}.investments-empty{color:#666;color:var(--color-text-muted,#666);padding:2rem 1rem;text-align:center}.investments-empty a{color:#1976d2;color:var(--color-primary,#1976d2)}.portfolio-summary{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.summary-card{background:#00000008;background:var(--color-surface-alt,#00000008);border-radius:10px;display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1rem}.summary-card__label{color:#666;color:var(--color-text-muted,#666);font-size:.8rem}.summary-card__value{font-feature-settings:"tnum";font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:600}.cash-currency{display:inline-block;margin-right:.75rem}.cash-currency:last-child{margin-right:0}.account-currency{color:#666;color:var(--color-text-muted,#666);font-size:.8rem;font-weight:400}.dashboard-header .buttons-bar .btn.btn--ghost{font-size:14px;min-height:40px;min-width:40px;padding:var(--spacing-sm)}.dashboard-header .buttons-bar .btn.btn--ghost svg{height:1.35em;width:1.35em}.investment-account-section{border:1px solid #00000014;border:1px solid var(--color-border,#00000014);border-radius:10px;box-sizing:border-box;min-width:0;overflow:hidden}.card button.account-section-header{align-items:baseline;background:var(--color-surface-alt);border:none;box-sizing:border-box;color:inherit;cursor:pointer;display:flex;flex-wrap:wrap;font:inherit;gap:.5rem;justify-content:space-between;margin:0;min-width:0;padding:.75rem 1rem;text-align:left;width:100%}.card button.account-section-header:hover{background:#0000000f;background:var(--color-hover-overlay,#0000000f)}.account-section-header--plain{border:1px solid #00000014;border:1px solid var(--color-border,#00000014);border-radius:10px}.account-section-title{align-items:center;display:inline-flex;gap:.35rem;min-width:0}.account-section-title svg{flex:none;opacity:.7}.account-section-name{font-size:1rem;font-weight:600}.account-section-header .account-section-totals{cursor:default}.account-section-totals{color:#666;color:var(--color-text-muted,#666);display:flex;flex-wrap:wrap;font-size:.85rem;gap:1rem}.account-section-totals strong{font-feature-settings:"tnum";color:#222;color:var(--color-text,#222);font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}.holdings-table{border-collapse:collapse;font-size:.88rem;width:100%}.holdings-table td,.holdings-table th{border-top:1px solid #0000000f;border-top:1px solid var(--color-border,#0000000f);padding:.5rem .75rem;text-align:right;white-space:nowrap}.holdings-table td:first-child{overflow-wrap:anywhere;white-space:normal}.holdings-table thead th{border-top:none;color:#666;color:var(--color-text-muted,#666);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.holdings-table td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.holding-row{cursor:pointer}.holding-row:hover{background:#00000008;background:var(--color-hover-overlay,#00000008)}.holding-row.expanded{background:#0000000d;background:var(--color-hover-overlay,#0000000d)}.holding-name{align-items:center;display:flex;gap:.35rem;min-width:0}.holding-chevron{display:inline-flex;flex:none;opacity:.7}.holding-name-text{display:inline-flex;flex-direction:column;min-width:0}.holding-name-sub{color:#666;color:var(--color-text-muted,#666);font-size:.75rem;white-space:normal}.holdings-table thead th{text-align:right}.by-ticker-section .holdings-table td:nth-child(2),.by-ticker-section .holdings-table th:nth-child(2),.holdings-table td:first-child,.holdings-table th:first-child{text-align:left}.detail-stats{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:.75rem}.detail-stat{display:flex;flex-direction:column;gap:.1rem}.detail-stat__label{color:#666;color:var(--color-text-muted,#666);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.detail-stat__value{font-feature-settings:"tnum";font-size:.95rem;font-variant-numeric:tabular-nums;font-weight:600}.detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.detail-actions .btn.btn--ghost{border:1px solid #00000026;border:1px solid var(--color-border,#00000026)}.positive{color:#2e7d32;color:var(--color-positive,#2e7d32)}.negative{color:#c62828;color:var(--color-negative,#c62828)}.currency-group-row td{background:#0000000a;background:var(--color-surface-alt,#0000000a);color:#666;color:var(--color-text-muted,#666);font-size:.75rem;font-weight:700;letter-spacing:.05em;padding-bottom:.3rem;padding-top:.3rem;text-align:left!important;text-transform:uppercase}.detail-row td{padding:0}.detail-inner{background:var(--color-surface-alt);padding:.75rem 1rem}.detail-inner h4{font-size:.9rem;margin:0 0 .5rem}.detail-table{border-collapse:collapse;font-size:.82rem;margin-bottom:.5rem;width:100%}.detail-table td,.detail-table th{border-bottom:1px solid #0000000f;border-bottom:1px solid var(--color-border,#0000000f);padding:.35rem .5rem;text-align:right}.detail-table td:first-child,.detail-table td:nth-child(2),.detail-table th:first-child,.detail-table th:nth-child(2){text-align:left}.detail-table th{color:#666;color:var(--color-text-muted,#666);font-size:.72rem;text-transform:uppercase}.by-ticker-section{padding-top:.5rem}.by-ticker-section h3{font-size:1rem;margin:.5rem 0}.investments-chart{height:380px;padding:1rem}.investments-chart canvas{height:260px!important;max-height:260px}.form-hint{color:#666;color:var(--color-text-muted,#666);font-size:.82rem;margin:0 0 .5rem}.form-error{background:#fdecea;background:var(--color-danger-bg,#fdecea);border-radius:6px;color:#b3261e;color:var(--color-danger,#b3261e);font-size:.85rem;margin-bottom:.75rem;padding:.5rem .75rem}@media (max-width:768px){.card button.account-section-header{align-items:flex-start;flex-direction:column}.account-section-totals{gap:.35rem 1rem}.account-section-totals strong{color:#222;color:var(--color-text,#222)}.holdings-table td,.holdings-table th{font-size:.8rem;padding:.4rem}.summary-card__value{font-size:1.1rem}.detail-stats{gap:.5rem 1rem}}.investments-chart .chart-note{font-size:.85rem;margin:0 0 8px;opacity:.75}.family-header{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.family-header .page-title{margin:0}.family-header input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:1.2rem;font-weight:600;outline:none;padding:var(--spacing-xs) var(--spacing-sm)}.role-badge{border-radius:var(--radius-pill);display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.04em;padding:2px 10px;text-transform:uppercase;white-space:nowrap}.role-badge.role-admin{background:var(--color-primary);color:#fff}.role-badge.role-member{background:#0000;border:1px solid var(--color-border);color:var(--color-text-muted)}.family-section{border-top:1px solid var(--color-border);margin:var(--spacing-lg) 0;padding-top:var(--spacing-lg)}.family-section:first-of-type{border-top:none;padding-top:0}.family-section-title{color:var(--color-text);font-size:1rem;font-weight:600;margin-bottom:var(--spacing-sm)}.family-hint{color:var(--color-text-muted)}.family-hint,.family-saved{font-size:.85rem;margin:var(--spacing-xs) 0}.family-saved{color:var(--color-success)}.family-invite-form .form-group-row{align-items:flex-end}.family-invite-card .family-share-link{flex-basis:100%}.family-invite-list{display:flex;flex-direction:column;gap:var(--spacing-md);margin-top:var(--spacing-md)}.family-invite-card{align-items:center;background:var(--color-card-background);border:var(--color-group-border);border-radius:var(--radius-md);display:flex;flex-wrap:wrap;gap:var(--spacing-md);padding:var(--spacing-md)}.family-invite-info{color:var(--color-text);flex:1 1;font-size:.9rem;min-width:200px}.family-share-box{background:var(--color-card-input-background);border:1px dashed var(--color-border);border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg)}.family-share-link{align-items:center;display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-sm);width:100%}.family-share-link input{background-color:var(--color-card-input-background);border:var(--color-card-button-border);border-radius:var(--radius-sm);color:var(--color-text);flex:1 1 auto;font-family:monospace;font-size:.8rem;min-width:0;outline:none;padding:var(--spacing-xs) var(--spacing-sm)}.family-token code{color:var(--color-text-muted);font-size:.75rem;word-break:break-all}.family-account-checklist{background-color:var(--color-card-input-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-sizing:border-box;display:flex;flex-direction:column;gap:var(--spacing-sm);max-height:240px;overflow-y:auto;padding:var(--spacing-sm);width:100%}.family-join-form .form-group-row{align-items:flex-end}.family-modal-backdrop{background:#091e4240;inset:0;position:fixed;z-index:999}.family-modal .panel-header{margin-bottom:var(--spacing-lg)}.family-modal .form{gap:var(--spacing-md)}.family-modal .form-buttons{margin-top:var(--spacing-md)}.family-modal .btn--danger{margin-top:var(--spacing-lg);width:100%}.forgot-password-link{text-align:center}.forgot-password-link a{color:var(--color-primary);text-decoration:none}.recovery-section{margin-top:10px;text-align:center}.recovery-section input{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:10px;padding:var(--spacing-sm);width:100%}.recovery-section button{background-color:var(--color-primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;padding:var(--spacing-sm) var(--spacing-lg)}.recovery-section button.cancel{background-color:var(--color-card-button-background);color:var(--color-text);margin-left:10px}.account-panel-backdrop{background:#091e4240;inset:0;position:fixed;z-index:1000}.account-panel{animation:slide-in-right .3s ease;display:flex;flex-direction:column}@keyframes slide-in-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}.account-panel__user{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-sm)}.account-panel__avatar{align-items:center;background:var(--color-primary);border-radius:var(--radius-pill);color:#fff;display:flex;flex-shrink:0;font-size:1.4rem;font-weight:600;height:48px;justify-content:center;width:48px}.account-panel__user-info{min-width:0}.account-panel__name{color:var(--color-text);font-weight:600}.account-panel__email,.account-panel__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-panel__email{color:var(--color-text-muted);font-size:.9rem}.account-panel__section{display:flex;flex-direction:column;gap:var(--spacing-sm);margin:var(--spacing-sm) 0}.account-panel__label{color:var(--color-text);font-weight:600}.account-panel__hint{color:var(--color-text-muted);font-size:.85rem;margin:0}.account-panel__saved{color:var(--color-success);font-size:.85rem;margin:0;text-align:center}.account-panel__logout{margin-top:auto;width:100%}.account-panel__link{justify-content:flex-start;width:100%}.tour-overlay{inset:0;z-index:3000}.tour-overlay,.tour-spotlight{pointer-events:none;position:fixed}.tour-spotlight{border-radius:6px;box-shadow:0 0 0 9999px #091e428c;transition:top .25s ease,left .25s ease,width .25s ease,height .25s ease}.tour-spotlight:after{animation:tour-pulse 1.6s ease-out infinite;border:2px solid var(--color-primary);border-radius:8px;content:"";inset:-4px;position:absolute}.tour-shield{inset:0;pointer-events:auto;position:fixed}.tour-shield__part{background:#0000;inset:auto}@keyframes tour-pulse{0%{opacity:.9;transform:scale(1)}70%{opacity:0;transform:scale(1.06)}to{opacity:0;transform:scale(1.06)}}.tour-modal,.tour-tooltip{background:var(--color-card-background);border-radius:8px;box-shadow:var(--shadow-md);color:var(--color-text);pointer-events:auto}.tour-tooltip{padding:14px 16px;width:300px}.tour-modal,.tour-tooltip{position:fixed;z-index:3001}.tour-modal{left:50%;max-width:calc(100vw - 32px);padding:24px;text-align:center;top:50%;transform:translate(-50%,-50%);width:380px}.tour-modal__progress,.tour-tooltip__progress{color:var(--color-text-muted);font-size:12px;margin-bottom:6px}.tour-modal__title,.tour-tooltip__title{color:var(--color-text);font-size:16px;margin:0 0 6px}.tour-modal__text,.tour-tooltip__text{color:var(--color-text);font-size:14px;line-height:1.4;margin:0 0 14px}.tour-tooltip__actions{align-items:center;display:flex;gap:8px;justify-content:space-between}.tour-tooltip__nav{display:flex;gap:8px}.tour-modal__actions{display:flex;gap:8px;justify-content:flex-end}@media (max-width:480px){.tour-tooltip{left:12px!important;right:12px;width:auto}}:root{--color-primary:#0c66e4;--color-primary-hover:#0850c6;--color-primary-rgb:12,102,228;--color-primary-highlight:#e9f2ff;--color-background:#f7f8f9;--color-card-background:#fff;--color-card-button-background:#0c66e414;--color-card-disabled-button-background:#f0f1f3;--color-card-disabled-button-color:#758195;--color-card-button-border:1px solid #ced4de;--color-card-input-background:#ced4de1a;--color-tab-background:#f0f1f3;--color-tab-text:#44546f;--color-tab-active-background:#fff;--color-tab-active-text:#0c66e4;--color-text:#172b4d;--color-text-muted:#56575c;--color-group-border:1px solid #e5e7eb;--color-border:#e5e7eb;--color-border-strong:#ced4de;--color-hover-overlay:#091e420f;--color-danger:#ff5c5c;--color-danger-hover:#e04848;--color-success:#4caf50;--color-success-hover:#43a047;--color-warning:orange;--color-surface-alt:#f1f2f4;--color-positive:#2e7d32;--color-negative:#c62828;--color-positive-bg:#e8f5e9;--color-danger-bg:#fdecea;--color-warning-bg:#fff8e1;--color-menu-background:#fff;--color-menu-text:#56575c;--color-menu-item-background:#fff;--color-menu-item-text:#78797f;--color-menu-item-hover-background:#b7d1ff80;--color-menu-active-indicator:#0c66e4;--radius-sm:4px;--radius-md:6px;--radius-lg:12px;--radius-pill:999px;--border-radius:var(--radius-md);--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:20px;--spacing-xl:32px;--shadow-sm:0 2px 4px #091e4214;--shadow-md:0px 4px 8px #091e4226;--shadow:var(--shadow-md);--app-bar-height:44px;--menu-width:280px}*{box-sizing:border-box;margin:0;padding:0}.menu-backdrop{background:#091e4240;inset:0;position:fixed;z-index:999}h1{color:#172b4d;color:var(--color-text);font-size:1.5rem;margin-bottom:20px;margin-bottom:var(--spacing-lg);text-align:center}.separator{background-color:#f7f8f9;background-color:var(--color-background);border:none;height:1px;margin:8px 0;margin:var(--spacing-sm) 0}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-primary:#579dff;--color-primary-hover:#85b8ff;--color-primary-rgb:87,157,255;--color-primary-highlight:#579dff33;--color-background:#1d2125;--color-card-background:#22272b;--color-card-disabled-button-background:#2c333a;--color-card-disabled-button-color:#8c9bab;--color-card-button-background:#579dff1a;--color-card-button-border:1px solid #579dff;--color-card-input-background:#8c9bab1a;--color-tab-background:#2c333a;--color-tab-text:#b6c2cf;--color-tab-active-background:#1d2125;--color-tab-active-text:#579dff;--color-text:#cfcfcf;--color-text-muted:#b6c2cf;--color-group-border:1px solid #3d474f;--color-border:#3d474f;--color-border-strong:#579dff;--color-hover-overlay:#ffffff0f;--color-danger:#ff5c5c;--color-danger-hover:#ff7878;--color-success:#4caf50;--color-success-hover:#66bb6a;--color-warning:orange;--color-surface-alt:#2c333a;--color-positive:#66bb6a;--color-negative:#ff7b72;--color-positive-bg:#66bb6a29;--color-danger-bg:#ff5c5c29;--color-warning-bg:#ffa50029;--color-menu-background:#1d2125;--color-menu-text:#ebebeb;--color-menu-item-background:#22272b;--color-menu-item-text:#c5cedb;--color-menu-item-hover-background:#579dff26;--shadow-sm:0 2px 4px #0003;--shadow-md:0px 8px 16px #0000004d;--shadow:var(--shadow-md)}}:root[data-theme=dark]{--color-primary:#579dff;--color-primary-hover:#85b8ff;--color-primary-rgb:87,157,255;--color-primary-highlight:#579dff33;--color-background:#1d2125;--color-card-background:#22272b;--color-card-disabled-button-background:#2c333a;--color-card-disabled-button-color:#8c9bab;--color-card-button-background:#579dff1a;--color-card-button-border:1px solid #579dff;--color-card-input-background:#8c9bab1a;--color-tab-background:#2c333a;--color-tab-text:#b6c2cf;--color-tab-active-background:#1d2125;--color-tab-active-text:#579dff;--color-text:#cfcfcf;--color-text-muted:#b6c2cf;--color-group-border:1px solid #3d474f;--color-border:#3d474f;--color-border-strong:#579dff;--color-hover-overlay:#ffffff0f;--color-danger:#ff5c5c;--color-danger-hover:#ff7878;--color-success:#4caf50;--color-success-hover:#66bb6a;--color-warning:orange;--color-surface-alt:#2c333a;--color-positive:#66bb6a;--color-negative:#ff7b72;--color-positive-bg:#66bb6a29;--color-danger-bg:#ff5c5c29;--color-warning-bg:#ffa50029;--color-menu-background:#1d2125;--color-menu-text:#ebebeb;--color-menu-item-background:#22272b;--color-menu-item-text:#c5cedb;--color-menu-item-hover-background:#579dff26;--shadow-sm:0 2px 4px #0003;--shadow-md:0px 8px 16px #0000004d;--shadow:var(--shadow-md)}.app-shell{display:flex;min-height:100vh}.app-content{background:var(--color-background);box-sizing:border-box;display:flex;flex:1 1;flex-direction:column;min-width:0;transition:margin .3s ease}.app-content.with-menu{margin-left:0}.app-content.with-menu.menu-pinned{margin-left:var(--menu-width)}.app-content.without-menu{margin-left:0}.app-bar{background:var(--color-card-background);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-sm);gap:var(--spacing-md);height:var(--app-bar-height);padding:0 var(--spacing-sm);z-index:10}.app-bar,.app-bar__toggle{align-items:center;display:flex;flex-shrink:0}.app-bar__toggle{background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;font-size:20px;height:40px;justify-content:center;line-height:1;padding:0;transition:background .2s;width:40px}.app-bar__toggle:hover{background:var(--color-hover-overlay)}.app-bar__title{align-items:center;color:var(--color-text);display:flex;flex:1 1;font-size:1rem;font-weight:600;gap:var(--spacing-xs);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-bar__app-icon{align-items:center;color:var(--color-primary);display:none;flex-shrink:0;height:1.1em;justify-content:center;width:1.1em}.app-bar__app-icon>svg{height:100%;width:100%}.app-bar__account{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--color-text);cursor:pointer;display:flex;flex-shrink:0;height:40px;justify-content:center;margin-left:auto;padding:0;transition:background .2s;width:40px}.app-bar__account:hover{background:var(--color-hover-overlay)}.app-bar__title .app-bar__page-name{color:var(--color-text-muted);font-weight:400}.page-region{flex:1 1;overflow-y:auto;padding:var(--spacing-sm)}.page,.page-region{box-sizing:border-box}.page{background:var(--color-card-background);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);color:var(--color-text);padding:var(--spacing-lg)}.page--narrow{margin:var(--spacing-sm) auto;max-width:500px;width:100%}.page-header{background:var(--color-card-background);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);flex-wrap:wrap;margin-bottom:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);position:sticky;top:0;z-index:10}.button-row,.page-header{align-items:center;display:flex;gap:var(--spacing-sm)}.button-row{margin-left:auto}.page-title{color:var(--color-text);font-size:1.25rem;margin:0 0 var(--spacing-md);text-align:center}.page-region.with-topbar .page-title{display:none}@media (max-width:767px){.app-content.with-menu,.app-content.with-menu.menu-pinned,.app-content.without-menu{margin-left:0}.page-region{padding:var(--spacing-xs)}.page{padding:var(--spacing-md)}.app-bar__title{font-size:.9rem}}@media (max-width:420px){.app-bar__title .app-bar__app-name{display:none}.app-bar__app-icon{display:inline-flex}}.btn{align-items:center;border:none;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font:inherit;font-size:14px;font-weight:600;gap:var(--spacing-sm);justify-content:center;padding:var(--spacing-sm) var(--spacing-lg);text-decoration:none;transition:background .2s,box-shadow .2s,transform .1s;white-space:nowrap}.btn:disabled{cursor:not-allowed;opacity:.5}@media (pointer:coarse){.btn{min-height:40px;padding:var(--spacing-sm) var(--spacing-lg)}}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn--secondary{background:var(--color-card-button-background);border:var(--color-card-button-border);color:var(--color-text)}.btn--secondary:hover:not(:disabled){background:var(--color-hover-overlay)}.btn--danger{background:var(--color-danger);color:#fff}.btn--danger:hover:not(:disabled){background:var(--color-danger-hover)}.btn--success{background:var(--color-success);color:#fff}.btn--success:hover:not(:disabled){background:var(--color-success-hover)}.btn.btn--ghost{background:#0000;border-radius:var(--radius-sm);color:var(--color-text);font-size:small;padding:3px}.btn.btn--ghost:hover:not(:disabled){background:var(--color-hover-overlay)}@media (pointer:coarse){.btn.btn--ghost{min-height:36px;min-width:36px;padding:var(--spacing-sm)}}.btn--icon{align-items:center;background:#0000;border:none;border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background .2s;width:32px}.btn--icon:hover:not(:disabled){background:var(--color-hover-overlay)}.btn--pill{border-radius:var(--radius-pill);padding:var(--spacing-md) var(--spacing-lg)}.btn--block,.table{width:100%}.table{background-color:var(--color-card-background);border-collapse:collapse;font-size:small;table-layout:auto}.table td,.table th{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:2px 4px;text-align:left}.table th{background-color:var(--color-card-background);color:var(--color-text);font-weight:700;position:sticky;top:0;z-index:1}.table tbody tr:nth-child(odd){background-color:var(--color-hover-overlay)}.accounts-table table,.categories-table table,.recurrences-table table,.subjects-table table,.tables-container table,.transaction-table table{background-color:var(--color-card-background);border-collapse:collapse;font-size:small;table-layout:auto;width:100%}.accounts-table td,.accounts-table th,.categories-table td,.categories-table th,.recurrences-table td,.recurrences-table th,.subjects-table td,.subjects-table th,.tables-container table td,.tables-container table th,.transaction-table td,.transaction-table th{border-bottom:1px solid var(--color-border);color:var(--color-text);padding:2px 4px;text-align:left}.accounts-table th,.categories-table th,.recurrences-table th,.subjects-table th,.tables-container table thead th,.transaction-table th{background-color:var(--color-card-background);color:var(--color-text);font-weight:700;position:sticky;top:0;z-index:1}.accounts-table tbody tr:nth-child(odd),.categories-table tbody tr:nth-child(odd),.recurrences-table tbody tr:nth-child(odd),.subjects-table tbody tr:nth-child(odd),.tables-container table tbody tr:not(.account-group-header):nth-child(odd),.transaction-table tbody tr:nth-child(odd){background-color:var(--color-hover-overlay)}.num{font-family:monospace;text-align:right}.transaction-table .header{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}
/*# sourceMappingURL=main.af9a5e0d.css.map*/