.month-slider{width:100%;min-width:0;padding:4px 0}.month-slider-track{scrollbar-width:none;gap:4px;width:100%;min-width:0;padding:4px 0;display:flex;overflow-x:auto}.month-slider-track::-webkit-scrollbar{display:none}.month-item{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:6px 12px;font-size:13px;transition:all .2s}.month-item:hover{color:var(--text-primary);background:#ffffff0d}.month-item.active{background:var(--brand-primary);color:#fff;font-weight:500}.nav-bar{scrollbar-width:none;gap:12px;padding:4px 0;display:flex;overflow-x:auto}.nav-bar::-webkit-scrollbar{display:none}.nav-link{color:var(--text-secondary);border-radius:var(--radius-sm);white-space:nowrap;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-link:hover{color:var(--text-primary);background:#ffffff0d}.nav-link.active{background:var(--brand-primary);color:#fff}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out modalFadeIn;display:flex;position:fixed;inset:0}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-card{border:1px solid var(--border-color);border-radius:var(--radius-lg);background:#1e293b;flex-direction:column;gap:18px;width:100%;max-width:460px;padding:24px;display:flex;box-shadow:0 20px 40px #00000080}.modal-header{justify-content:space-between;align-items:center;display:flex}.modal-title-wrapper{align-items:center;gap:10px;display:flex}.modal-title-icon{color:var(--brand-secondary)}.modal-header h2{color:var(--text-primary);font-size:1.2rem;font-weight:600}.modal-close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.modal-close-btn:hover{color:var(--text-primary);background:#ffffff14}.modal-tabs{border-radius:var(--radius-md);background:#0f172a99;gap:4px;padding:4px;display:flex}.tab-btn{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:500;transition:all .2s;display:flex}.tab-btn.active{background:var(--brand-primary);color:#fff}.modal-description{color:var(--text-secondary);margin-bottom:6px;font-size:.82rem;line-height:1.4}.modal-form{flex-direction:column;gap:16px;display:flex}.form-group{flex-direction:column;gap:6px;display:flex}.form-group label{color:var(--text-secondary);font-size:.8rem;font-weight:500}.modal-select,.modal-input{color:var(--text-primary);border-radius:var(--radius-md);background:#0f172a;border:1px solid #ffffff1a;outline:none;padding:10px 12px;font-size:.88rem;transition:border-color .2s}.modal-select:focus,.modal-input:focus{border-color:var(--brand-secondary)}.modal-footer{justify-content:flex-end;align-items:center;gap:10px;margin-top:8px;display:flex}.btn-secondary{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #ffffff1a;padding:8px 16px;font-size:.85rem;transition:all .2s}.btn-secondary:hover{color:var(--text-primary);background:#ffffff0d}.btn-primary{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:.85rem;font-weight:500;transition:background .2s}.btn-primary:hover:not(:disabled){background:var(--brand-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.modal-warning{color:#f87171;border-radius:var(--radius-sm);background:#ef44441a;border:1px solid #ef444433;padding:8px 12px;font-size:.8rem}.notifications-wrapper{position:relative}.bell-button{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:#0f172ab3;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex;position:relative}.bell-button:hover{color:var(--text-primary);border-color:var(--brand-secondary)}.bell-button.has-unread{color:var(--brand-secondary)}.unread-badge{background:var(--error-color);color:#fff;border:2px solid #0f172a;border-radius:50%;justify-content:center;align-items:center;width:17px;height:17px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-4px;right:-4px}.notifications-dropdown{border:1px solid var(--border-color);border-radius:var(--radius-md);z-index:999;background:#1e293b;width:320px;animation:.15s ease-out dropIn;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 10px 25px #0006}@keyframes dropIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.notifications-header{background:#0f172a66;border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.notifications-header h4{color:var(--text-primary);font-size:.85rem;font-weight:600}.notifications-count{color:var(--text-secondary);font-size:.75rem}.notifications-list{flex-direction:column;gap:8px;max-height:340px;padding:8px;display:flex;overflow-y:auto}.empty-notifications{text-align:center;color:var(--text-secondary);padding:24px 16px;font-size:.82rem}.invite-item-card{border-radius:var(--radius-sm);background:#0f172a99;border:1px solid #ffffff0d;gap:12px;padding:10px;display:flex}.invite-item-avatar{flex-shrink:0}.invite-item-avatar img,.avatar-placeholder{object-fit:cover;border-radius:50%;width:32px;height:32px}.avatar-placeholder{background:var(--brand-primary);color:#fff;justify-content:center;align-items:center;display:flex}.invite-item-info{flex-direction:column;flex:1;gap:4px;display:flex}.invite-text{color:var(--text-secondary);font-size:.78rem;line-height:1.3}.invite-text strong{color:var(--text-primary)}.invite-ws-name{color:#38bdf8;margin-bottom:4px;font-size:.82rem;font-weight:600}.invite-actions{gap:6px;margin-top:4px;display:flex}.btn-accept,.btn-reject{border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 8px;font-size:.74rem;font-weight:500;transition:all .2s;display:flex}.btn-accept{background:var(--brand-primary);color:#fff}.btn-accept:hover:not(:disabled){background:var(--brand-primary-hover)}.btn-reject{color:var(--error-color);background:#ef444426}.btn-reject:hover:not(:disabled){background:#ef444440}.user-workspace-controls{align-items:center;gap:12px;display:flex}.workspace-dropdown-wrapper{position:relative}.workspace-badge{border:1px solid var(--border-color);border-radius:var(--radius-md);background:#0f172ab3;align-items:center;gap:8px;padding:6px 12px;transition:all .2s;display:flex;position:relative}.workspace-badge:hover{border-color:var(--brand-secondary)}.ws-icon{color:var(--text-secondary)}.ws-icon.ws-shared{color:#38bdf8}.workspace-select{color:var(--text-primary);cursor:pointer;appearance:none;text-overflow:ellipsis;background:0 0;border:none;outline:none;max-width:100%;padding-right:18px;font-size:.85rem;font-weight:500}.workspace-select option{color:#f8fafc;background:#1e293b}.select-arrow{pointer-events:none;color:var(--text-secondary);position:absolute;right:10px}.user-profile-widget{border-left:1px solid #ffffff1a;align-items:center;gap:8px;padding-left:8px;display:flex}.user-avatar{border:1px solid var(--brand-secondary);object-fit:cover;border-radius:50%;width:28px;height:28px}.user-avatar-fallback{background:var(--brand-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:.8rem;font-weight:600;display:flex}.user-name{color:var(--text-primary);font-size:.85rem;font-weight:500}.logout-button{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:all .2s;display:flex}.logout-button:hover{color:var(--error-color);background:#ef44441a}.action-icon-button{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:#0f172ab3;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.action-icon-button:hover{color:var(--brand-secondary);border-color:var(--brand-secondary)}@media (width<=768px){.user-workspace-controls{flex-wrap:wrap;justify-content:space-between;width:100%}.workspace-dropdown-wrapper{flex:auto;min-width:0}}.app-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);width:100%;padding:8px 0}.header-container{box-sizing:border-box;flex-direction:column;gap:4px;width:100%;max-width:none;margin:0;padding:0 24px;display:flex}.header-top-row{flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.header-slider-col{flex:auto;width:100%;min-width:0}.header-user-col{flex:none;align-items:center;display:flex}.header-nav-row{width:100%;margin-top:2px}@media (width<=768px){.header-container{padding:0 16px}.header-top-row{flex-direction:column;align-items:stretch;gap:8px}.header-slider-col,.header-user-col{width:100%}.header-user-col{justify-content:space-between}}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-container{background:var(--bg-secondary);border-radius:var(--radius-lg);border:1px solid var(--border-color);width:90%;max-width:480px;box-shadow:var(--shadow-md);overflow:hidden}.modal-header{background:var(--bg-card);border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-title{color:var(--text-primary);font-size:18px;font-weight:600}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:24px;line-height:1;transition:color .2s}.modal-close:hover{color:var(--error-color)}.modal-body{padding:20px}.select-wrapper{align-items:center;display:flex;position:relative}.select-wrapper select{appearance:none;cursor:pointer;background:var(--bg-secondary);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);border:1px solid #ffffff1a;outline:none;padding:10px 36px 10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.select-wrapper select:focus{border-color:var(--brand-primary)}.select-wrapper select option{background:var(--bg-secondary);color:var(--text-primary)}.select-chevron{color:var(--text-secondary);pointer-events:none;align-items:center;display:flex;position:absolute;right:15px}.paid-toggle{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;line-height:1;transition:transform .15s,box-shadow .15s,background .18s,border-color .18s;display:inline-flex}.paid-toggle--paid{color:#34d399;background:#04785726;border-color:#04785766}.paid-toggle--paid:hover:not(:disabled){background:#04785740;border-color:#34d39999;transform:translateY(-2px);box-shadow:0 4px 12px #0478574d}.paid-toggle--paid:active:not(:disabled){box-shadow:none;transform:scale(.95)}.paid-toggle--pending{color:#facc15;background:#eab3081f;border-color:#eab30859}.paid-toggle--pending:hover:not(:disabled){background:#eab30838;border-color:#facc1599;transform:translateY(-2px);box-shadow:0 4px 12px #eab30840}.paid-toggle--pending:active:not(:disabled){box-shadow:none;transform:scale(.95)}.paid-toggle--today{color:#fb923c;background:#f973161f;border-color:#f9731666}.paid-toggle--today:hover:not(:disabled){background:#f9731638;border-color:#fb923c99;transform:translateY(-2px);box-shadow:0 4px 12px #f9731640}.paid-toggle--today:active:not(:disabled){box-shadow:none;transform:scale(.95)}.paid-toggle--past{color:#f87171;background:#ef44441f;border-color:#ef444459}.paid-toggle--past:hover:not(:disabled){background:#ef444438;border-color:#f8717199;transform:translateY(-2px);box-shadow:0 4px 12px #ef444440}.paid-toggle--past:active:not(:disabled){box-shadow:none;transform:scale(.95)}.paid-toggle--later{color:var(--text-secondary);background:#94a3b81a;border-color:#94a3b840}.paid-toggle--later:hover:not(:disabled){background:#94a3b82e;border-color:#94a3b873;transform:translateY(-2px);box-shadow:0 4px 12px #94a3b826}.paid-toggle--later:active:not(:disabled){box-shadow:none;transform:scale(.95)}.paid-toggle:disabled{opacity:.45;cursor:not-allowed}.due-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);border-left:3px solid var(--text-secondary);box-shadow:var(--shadow-sm);margin-bottom:12px;padding:16px}.due-card.due-today{border-left-color:var(--error-color)}.due-card.due-soon{border-left-color:var(--warning-color)}.due-card.due-later{border-left-color:var(--text-secondary)}.due-card.due-paid{border-left-color:var(--brand-primary);opacity:.6}.due-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px;display:flex}.due-card-name-wrapper{align-items:center;gap:8px;display:flex}.due-card-name{color:var(--text-primary);font-size:16px;font-weight:600}.due-card.due-expense .due-icon{color:var(--error-color)}.due-card.due-income .due-icon{color:var(--success-color)}.due-card-info{justify-content:space-between;margin-top:6px;display:flex}.due-card-label{color:var(--text-secondary);font-size:13px}.due-card-value{color:var(--text-primary);font-size:14px;font-weight:500}.info-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-direction:column;flex:1;gap:8px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.info-card:hover{box-shadow:var(--shadow-md)}.info-card-header{justify-content:space-between;align-items:center;display:flex}.info-card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600}.info-card-percentage{color:var(--text-secondary);background:#ffffff0d;border:1px solid #ffffff14;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.info-card-value{color:var(--text-primary);letter-spacing:-.5px;font-size:26px;font-weight:700}.info-card-breakdown{flex-direction:column;gap:8px;margin-top:6px;display:flex}.info-card-progress-bar{background:#ffffff14;border-radius:999px;width:100%;height:6px;overflow:hidden}.info-card-progress-fill{border-radius:999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.info-card-progress-fill.fill-income{background:linear-gradient(90deg,#059669,#10b981)}.info-card-progress-fill.fill-expense{background:linear-gradient(90deg,#0284c7,#38bdf8)}.info-card-details{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding-top:2px;font-size:12px;display:flex}.info-card-subitem{align-items:center;gap:6px;display:flex}.subitem-indicator{border-radius:50%;width:7px;height:7px;display:inline-block}.indicator-paid{background-color:#10b981;box-shadow:0 0 6px #10b98166}.indicator-unpaid{opacity:.8;background-color:#94a3b8}.indicator-estimate{background-color:#f59e0b;box-shadow:0 0 6px #f59e0b66}.subitem-label{color:var(--text-secondary)}.subitem-value{color:var(--text-primary);font-weight:600}.info-card-secondary-footer{border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;font-size:13px;display:flex}.secondary-label{color:var(--text-secondary);font-weight:500}.secondary-value{color:var(--text-primary);font-weight:700}.secondary-value.positive{color:#10b981}.secondary-value.negative{color:var(--error-color)}.form-field .currency-input,.currency-input{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);font-variant-numeric:tabular-nums;letter-spacing:.02em;border:1px solid #ffffff1a;outline:none;padding:10px 12px;font-size:16px;transition:border-color .2s}.form-field .currency-input:focus,.currency-input:focus{border-color:var(--brand-primary)}.currency-input[aria-invalid=true]{border-color:var(--error-color)}.confirm-dialog{flex-direction:column;gap:16px;display:flex}.confirm-dialog-message{color:var(--text-primary);font-size:14px;line-height:1.5}.btn-danger{background:var(--error-color);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-danger:hover{opacity:.85}.expense-item-row{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:12px 16px;transition:opacity .2s;display:flex}.expense-item-row.unpaid{opacity:.6}.expense-icon{color:var(--error-color);flex-shrink:0}.item-value-cell,.item-date-cell,.item-wallet-cell,.item-category-cell{color:var(--text-secondary);flex:1}@media (width<=768px){.expense-item-row{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.item-cell{justify-content:space-between;width:100%}.item-name-cell{border-bottom:1px solid var(--border-color);justify-content:flex-start;margin-bottom:4px;padding-bottom:8px}.item-label-mobile{display:inline}.item-actions-cell{border-top:1px solid var(--border-color);justify-content:flex-start;margin-top:8px;padding-top:12px}}.primary-button{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.primary-button:hover{background:var(--brand-primary-hover)}.total-card{background:var(--bg-card);border-radius:var(--radius-sm);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);align-items:center;gap:8px;padding:10px 20px;display:inline-flex}.total-card-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.total-card-value{color:var(--text-primary);font-size:15px;font-weight:700}.total-card.total-card-detailed{border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:20px;padding:12px 24px;display:inline-flex;position:relative;overflow:hidden}.total-card-section{flex-direction:column;gap:3px;display:flex}.total-card-divider{background:#ffffff1a;width:1px;height:28px}.total-card-subitem{align-items:center;gap:6px;display:flex}.total-dot{border-radius:50%;width:6px;height:6px;display:inline-block}.total-dot-paid{background-color:#10b981;box-shadow:0 0 5px #10b98180}.total-dot-unpaid{background-color:#94a3b8}.total-card-subvalue{font-size:14px;font-weight:600}.text-paid{color:#10b981}.text-unpaid{color:var(--text-primary)}.total-card-progress{background:#ffffff0f;height:3px;position:absolute;bottom:0;left:0;right:0}.total-card-progress-bar{background:linear-gradient(90deg,#059669,#10b981);height:100%;transition:width .4s}.wallet-filter{min-width:200px}.wallet-filter select{background:var(--bg-secondary);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);border:1px solid #ffffff1a;outline:none;padding:10px 36px 10px 12px;font-size:14px;transition:border-color .2s}.wallet-filter select:focus{border-color:var(--brand-primary)}.category-filter{min-width:200px}.category-filter select{background:var(--bg-secondary);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);border:1px solid #ffffff1a;outline:none;padding:10px 36px 10px 12px;font-size:14px;transition:border-color .2s}.category-filter select:focus{border-color:var(--brand-primary)}.form-field input[type=text],.form-field input[type=number],.form-field input[type=date]{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);border:1px solid #ffffff1a;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-field select{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);border:1px solid #ffffff1a;outline:none;width:100%;padding:10px 36px 10px 12px;font-size:14px;transition:border-color .2s}.income-item-row{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:8px;padding:12px 16px;transition:opacity .2s;display:flex}.income-item-row.unpaid{opacity:.6}.item-cell{text-align:left;color:var(--text-primary);justify-content:flex-start;align-items:center;font-size:14px;display:flex}.item-name-cell{flex:2;gap:8px;min-width:150px;font-weight:500}.income-icon{color:var(--brand-primary);flex-shrink:0}.item-value-cell,.item-date-cell,.item-wallet-cell{color:var(--text-secondary);flex:1}.item-value{color:var(--text-primary);font-weight:500}.item-actions-cell{flex:0 0 64px;justify-content:flex-end;gap:4px}.item-status-cell{flex:0 0 110px;justify-content:flex-start}.item-label-mobile{color:var(--text-secondary);margin-right:6px;font-size:12px;display:none}.item-action-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px;transition:all .2s;display:flex}.item-action-btn:hover{background:var(--bg-body)}.item-action-btn.edit-btn:hover{color:var(--brand-primary)}.item-action-btn.delete-btn:hover{color:var(--error-color)}.item-action-btn:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.income-item-row{flex-direction:column;align-items:flex-start;gap:10px;padding:16px}.item-cell{justify-content:space-between;width:100%}.item-name-cell{border-bottom:1px solid var(--border-color);justify-content:flex-start;margin-bottom:4px;padding-bottom:8px}.item-label-mobile{display:inline}.item-actions-cell{border-top:1px solid var(--border-color);justify-content:flex-start;margin-top:8px;padding-top:12px}}.item-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.item-delete-btn,.item-edit-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.recurring-item-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);border-left:4px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;padding:14px 18px;transition:all .2s;display:flex}.recurring-item-card:hover{border-color:#ffffff26;transform:translateY(-1px)}.recurring-item-card.recurring-income{border-left-color:var(--success-color,#10b981)}.recurring-item-card.recurring-expense{border-left-color:var(--error-color,#ef4444)}.recurring-item-main{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.recurring-type-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.recurring-type-icon.income-icon{color:var(--success-color,#10b981);background:#10b9811f}.recurring-type-icon.expense-icon{color:var(--error-color,#ef4444);background:#ef44441f}.recurring-item-content{flex-direction:column;gap:4px;min-width:0;display:flex}.recurring-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.recurring-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.recurring-type-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:600}.recurring-type-badge.badge-income{color:#34d399;background:#10b98126}.recurring-type-badge.badge-expense{color:#f87171;background:#ef444426}.recurring-category-badge{color:var(--text-secondary);border-radius:var(--radius-sm);background:#ffffff0d;border:1px solid #ffffff14;align-items:center;gap:4px;padding:2px 8px;font-size:.75rem;display:inline-flex}.recurring-meta-row{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;font-size:.8rem;display:flex}.recurring-recurrence{color:var(--text-secondary);align-items:center;gap:5px;display:inline-flex}.recurring-start-date{color:#ffffff73}.recurring-item-amount-wrapper{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;display:flex}.recurring-item-amount{font-size:1.05rem;font-weight:700}.recurring-item-amount.amount-income{color:var(--success-color,#10b981)}.recurring-item-amount.amount-expense{color:var(--error-color,#ef4444)}.recurring-indicator{color:var(--text-secondary);border-radius:var(--radius-sm);background:#ffffff0a;align-items:center;gap:4px;padding:2px 6px;font-size:.72rem;display:inline-flex}@media (width<=640px){.recurring-item-card{flex-direction:column;align-items:flex-start;gap:12px}.recurring-item-amount-wrapper{border-top:1px solid #ffffff0d;flex-direction:row;justify-content:space-between;align-items:flex-start;width:100%;padding-top:8px}}.recurring-section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.recurring-section-title{color:var(--text-primary);font-size:1.25rem;font-weight:600}.recurring-indicator{color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:#0f172a99;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;display:inline-flex}.recurring-list-section{flex-direction:column;display:flex}.form{flex-direction:column;gap:16px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.field-error{color:var(--error-color);font-size:12px}.form-field label{color:var(--text-secondary);font-size:13px}.form-field input[type=text],.form-field input[type=number],.form-field input[type=date],.form-field select{background:var(--bg-secondary);border-radius:var(--radius-sm);color:var(--text-primary);border:1px solid #ffffff1a;outline:none;padding:10px 12px;font-size:14px;transition:border-color .2s}.form-field input:focus,.form-field select:focus{border-color:var(--brand-primary)}.form-field-checkbox label{cursor:pointer;color:var(--text-primary);align-items:center;gap:8px;font-size:14px;display:flex}.form-field-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-primary)}.wallet-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px;display:flex}.wallet-card-name-wrapper{align-items:center;gap:12px;display:flex}.wallet-icon{color:var(--brand-primary);background:#10b9811a;border-radius:50%;padding:8px;display:flex}.wallet-card-name{color:var(--text-primary);font-size:16px;font-weight:600}.wallet-card-value{color:var(--text-primary);font-size:18px;font-weight:700}.item-actions{align-items:center;gap:4px;display:flex}.item-delete-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.item-delete-btn:hover{color:var(--error-color)}.item-edit-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;transition:color .2s;display:flex}.item-edit-btn:hover{color:var(--brand-primary)}.transfer-wallets-row{align-items:flex-end;gap:10px;display:flex}.transfer-wallet-col{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.transfer-swap-btn{background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;border:1px solid #ffffff1a;justify-content:center;align-items:center;margin-bottom:2px;padding:10px;transition:all .2s;display:flex}.transfer-swap-btn:hover{color:var(--brand-secondary);border-color:var(--brand-secondary);background:#ffffff0d}@media (width<=600px){.transfer-wallets-row{flex-direction:column;align-items:stretch}.transfer-swap-btn{align-self:center;margin-bottom:0}}.field-hint{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.4;display:block}.category-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;padding:16px;display:flex}.category-card-main{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.category-estimate{flex-direction:column;gap:6px;display:flex}.category-estimate-meta{color:var(--text-secondary);flex-wrap:wrap;gap:8px 16px;font-size:12px;display:flex}.category-estimate-over{color:var(--error-color);font-weight:600}.category-card-name-wrapper{align-items:center;gap:12px;display:flex}.category-icon{color:var(--brand-primary);background:#10b9811a;border-radius:50%;padding:8px;display:flex}.category-card-name{color:var(--text-primary);font-size:16px;font-weight:600}.login-container{background:radial-gradient(circle at top right, #04785726, transparent 40%), radial-gradient(circle at bottom left, #0596691a, transparent 50%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:28px;width:100%;max-width:440px;padding:40px 32px;animation:.4s ease-out fadeIn;display:flex;box-shadow:0 20px 40px -15px #00000080}@keyframes fadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.login-logo-badge{background:linear-gradient(135deg, var(--brand-secondary), var(--brand-primary));color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:4px;display:flex;box-shadow:0 4px 14px #04785766}.login-header h1{color:var(--text-primary);letter-spacing:-.5px;font-size:1.8rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.9rem;line-height:1.4}.login-features{border-radius:var(--radius-md);background:#0f172a99;border:1px solid #ffffff0d;flex-direction:column;gap:16px;padding:18px;display:flex}.feature-item{align-items:flex-start;gap:12px;display:flex}.feature-icon{color:var(--brand-secondary);flex-shrink:0;margin-top:2px}.feature-item strong{color:var(--text-primary);margin-bottom:2px;font-size:.85rem;display:block}.feature-item p{color:var(--text-secondary);font-size:.78rem;line-height:1.3}.login-actions{justify-content:center;padding:4px 0;display:flex}.google-btn-wrapper{justify-content:center;width:100%;display:flex}.login-footer{text-align:center}.login-footer p{color:var(--text-secondary);opacity:.8;font-size:.75rem}.onboarding-container{background:radial-gradient(circle at top right, #04785726, transparent 40%), radial-gradient(circle at bottom left, #0596691a, transparent 50%), var(--bg-primary);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.onboarding-card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;gap:24px;width:100%;max-width:480px;padding:32px;animation:.3s ease-out fadeIn;display:flex;box-shadow:0 20px 40px -15px #00000080}.onboarding-top-nav{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.onboarding-user-info{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.onboarding-avatar,.onboarding-avatar-placeholder{object-fit:cover;border-radius:50%;width:24px;height:24px}.onboarding-avatar-placeholder{background:var(--brand-primary);color:#fff;justify-content:center;align-items:center;font-size:.75rem;font-weight:600;display:flex}.onboarding-logout-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:.8rem;transition:color .2s;display:flex}.onboarding-logout-btn:hover{color:var(--error-color)}.onboarding-header{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.onboarding-icon-badge{background:linear-gradient(135deg, var(--brand-secondary), var(--brand-primary));color:#fff;border-radius:14px;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:4px;display:flex;box-shadow:0 4px 14px #04785766}.onboarding-header h1{color:var(--text-primary);letter-spacing:-.4px;font-size:1.5rem;font-weight:700}.onboarding-subtitle{color:var(--text-secondary);font-size:.88rem;line-height:1.4}.onboarding-invites-section{flex-direction:column;gap:10px;display:flex}.onboarding-invites-title{color:#38bdf8;text-transform:uppercase;letter-spacing:.5px;font-size:.8rem;font-weight:600}.onboarding-invite-card{border-radius:var(--radius-md);background:#0f172a99;border:1px solid #38bdf833;align-items:center;gap:12px;padding:10px 14px;display:flex}.onboarding-invite-icon{color:#38bdf8}.onboarding-invite-details{flex:1}.onboarding-invite-details strong{color:var(--text-primary);font-size:.88rem;display:block}.onboarding-invite-details p{color:var(--text-secondary);font-size:.75rem}.onboarding-accept-btn{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;align-items:center;gap:4px;padding:6px 12px;font-size:.8rem;font-weight:500;transition:background .2s;display:flex}.onboarding-accept-btn:hover{background:var(--brand-primary-hover)}.onboarding-divider{text-align:center;align-items:center;margin:4px 0;display:flex}.onboarding-divider:before,.onboarding-divider:after{content:"";border-bottom:1px solid #ffffff1a;flex:1}.onboarding-divider span{color:var(--text-secondary);padding:0 10px;font-size:.75rem}.onboarding-form{flex-direction:column;gap:16px;display:flex}.onboarding-input{color:var(--text-primary);border-radius:var(--radius-md);background:#0f172a;border:1px solid #ffffff1f;outline:none;width:100%;padding:12px 14px;font-size:.95rem;transition:border-color .2s}.onboarding-input:focus{border-color:var(--brand-secondary)}.onboarding-submit-btn{background:var(--brand-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:12px;font-size:.92rem;font-weight:600;transition:background .2s;display:flex}.onboarding-submit-btn:hover:not(:disabled){background:var(--brand-primary-hover)}.onboarding-submit-btn:disabled{opacity:.6;cursor:not-allowed}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-primary:#0f172a;--bg-secondary:#1e293b;--bg-card:#1e293bb3;--text-primary:#f8fafc;--text-secondary:#94a3b8;--brand-primary:#047857;--brand-primary-hover:#064e3b;--brand-secondary:#059669;--border-color:#0478574d;--error-color:#ef4444;--warning-color:#eab308;--success-color:#047857;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--shadow-sm:0 1px 2px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif}#root{min-height:100vh}.page-container{width:80%;margin:0 auto;padding:24px 0}.page-header{justify-content:flex-end;align-items:center;margin-bottom:40px;display:flex}.page-header.with-total{justify-content:space-between}.page-header-actions{align-items:center;gap:12px;display:flex}.empty-state{text-align:center;color:var(--text-secondary);margin-top:64px;padding:24px;font-size:20px;font-weight:500}.dashboard-cards{gap:16px;width:100%;display:flex}.dashboard-dues,.dashboard-reserves{margin-top:32px}.reserve-card{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);flex-direction:column;gap:8px;margin-bottom:10px;padding:14px 16px;display:flex}.reserve-card-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.reserve-card-name{color:var(--text-primary);font-weight:600}.reserve-card-remaining{color:var(--text-secondary);font-size:13px}.reserve-card-over{color:var(--error-color);font-size:13px;font-weight:600}.reserve-card-meta{color:var(--text-secondary);font-size:12px}.category-estimate-bar{background:#ffffff14;border-radius:999px;width:100%;height:6px;overflow:hidden}.category-estimate-fill{background:linear-gradient(90deg,#0284c7,#38bdf8);border-radius:999px;height:100%}.category-estimate-fill.over{background:linear-gradient(90deg,#b91c1c,#ef4444)}.dashboard-section-title{color:var(--text-primary);margin-bottom:16px;font-size:18px;font-weight:600}.form-field label.required:after,.form-group label.required:after{content:" *";color:var(--error-color)}.form-actions{justify-content:flex-end;gap:12px;margin-top:16px;display:flex}.btn-cancel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:8px 16px;font-size:14px;transition:all .2s}.btn-cancel:hover{color:var(--text-primary);background:#ffffff1a}.btn-save{background:var(--brand-primary);border-radius:var(--radius-sm);color:#fff;cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.btn-save:hover{background:var(--brand-primary-hover)}.btn-save:disabled{opacity:.5;cursor:not-allowed}.items-list-container{flex-direction:column;display:flex}.items-list-header{border:1px solid #0000;border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:16px;margin-bottom:4px;padding:0 16px 12px;display:flex}.header-cell{text-align:left;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;flex:1;justify-content:flex-start;align-items:center;font-size:12px;font-weight:600;display:flex}.header-name-cell{flex:2;min-width:150px}.header-actions-cell{text-align:right;flex:0 0 64px}.header-status-cell{flex:0 0 110px}@media (width<=768px){.items-list-header{display:none}.page-header.with-total{flex-wrap:wrap;gap:16px}.page-header-actions{width:100%}.page-header-actions .wallet-filter{flex:1}}
