*,*::before,*::after{-webkit-tap-highlight-color:transparent}:focus:not(:focus-visible){outline:none !important}html{background-color:var(--color-bg-light);min-height:100%;height:100%;max-width:100%;overflow-x:hidden;overflow-x:clip}body{background-color:var(--color-bg-light);min-height:100%;margin:0;padding:0;max-width:100%;overflow-x:hidden;overflow-x:clip}html[data-theme="dark"],[data-theme="dark"] body{background-color:#0f172a !important}:root{--sidebar-width:260px;--sidebar-collapsed-width:68px}html.sidebar-collapsed{--sidebar-width:var(--sidebar-collapsed-width)}.dashboard-layout{display:flex;min-height:100vh;background-color:var(--color-bg-light);transition:background-color 0.3s ease}.sidebar{width:var(--sidebar-width);background-color:var(--color-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;height:100vh;height:100dvh;transition:width 0.2s cubic-bezier(0.16,1,0.3,1),background-color 0.3s ease,border-color 0.3s ease;z-index:100;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.sidebar-header{padding:0 16px;height:64px;min-height:64px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box}.logo-link{display:flex;align-items:center;gap:10px;font-size:1.15rem;font-weight:700;color:var(--color-primary);text-decoration:none;min-width:0;overflow:hidden;white-space:nowrap}.logo-text{transition:opacity 0.15s ease;display:inline-block}.sidebar-collapse-btn{background:transparent;border:none !important;outline:none;color:#94a3b8;width:32px;height:32px;min-width:32px;min-height:32px;padding:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color 0.18s ease,background-color 0.18s ease;flex-shrink:0;position:relative}.sidebar-collapse-btn:hover{color:#0f172a;background-color:rgba(15,23,42,0.06)}[data-theme="dark"] .sidebar-collapse-btn:hover{color:#ffffff;background-color:rgba(255,255,255,0.08)}.sidebar-collapse-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.sidebar-collapse-btn .sidebar-toggle-icon,.sidebar-collapse-btn svg,.sidebar-collapse-btn i{display:block;transition:transform 0.2s cubic-bezier(0.16,1,0.3,1);transform-origin:center center}.sidebar-nav{flex:1 1 auto;padding:16px 0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin}.nav-link{display:flex;align-items:center;gap:12px;height:44px;min-height:44px;padding:0 14px;margin:0 10px;color:var(--color-text-muted);text-decoration:none;font-weight:500;font-size:0.885rem;border-radius:8px;border-left:3px solid transparent;transition:background-color 0.18s ease,color 0.18s ease,border-color 0.18s ease;white-space:nowrap;box-sizing:border-box}.nav-link:hover{background-color:rgba(15,23,42,0.04);color:var(--color-text)}[data-theme="dark"] .nav-link:hover{background-color:rgba(255,255,255,0.06);color:#f8fafc}.nav-link.active{background-color:rgba(15,23,42,0.06);color:var(--color-primary);border-left:3px solid var(--color-primary) !important;font-weight:600}[data-theme="dark"] .nav-link.active{background-color:rgba(255,255,255,0.08);color:#ffffff;border-left:3px solid #ffffff !important}.nav-link:active{background-color:rgba(15,23,42,0.08);transform:scale(0.97);transition:transform 80ms ease,background-color 80ms ease}[data-theme="dark"] .nav-link:active{background-color:rgba(255,255,255,0.12)}.nav-link:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-link i,.nav-link svg{width:20px;font-size:1.15rem;text-align:center;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.sidebar-footer{padding:12px 10px 16px 10px;border-top:1px solid var(--color-border);margin-top:auto;box-sizing:border-box}.sidebar-footer .nav-link{margin:0}.sidebar-footer .nav-link:hover{color:var(--color-danger);background-color:rgba(244,63,94,0.08)}html.sidebar-collapsed .sidebar,.sidebar.collapsed{width:68px !important;background-color:#fafbfc;border-right:1px solid rgba(0,0,0,0.06);overflow:visible !important}[data-theme="dark"] html.sidebar-collapsed .sidebar,[data-theme="dark"] .sidebar.collapsed{background-color:#0b111e;border-right:1px solid rgba(255,255,255,0.06)}html.sidebar-collapsed .main-content{margin-left:68px !important}html.sidebar-collapsed .sidebar-header{padding:0;height:64px;min-height:64px;display:flex;align-items:center;justify-content:center}html.sidebar-collapsed .logo-link{display:none !important}html.sidebar-collapsed .sidebar-collapse-btn{margin:0 auto}html.sidebar-collapsed .sidebar-collapse-btn .sidebar-toggle-icon,html.sidebar-collapsed .sidebar-collapse-btn svg,html.sidebar-collapsed .sidebar-collapse-btn i{transform:rotate(180deg)}html.sidebar-collapsed .sidebar-nav{overflow:visible !important;padding:16px 0;gap:8px}html.sidebar-collapsed .nav-link{width:44px;height:44px;min-height:44px;padding:0;margin:0 auto;justify-content:center;border-radius:8px;gap:0;position:relative;border-left:3px solid transparent}html.sidebar-collapsed .nav-link span{display:none !important}html.sidebar-collapsed .nav-link i,html.sidebar-collapsed .nav-link svg{width:20px;font-size:1.15rem;margin:0}html.sidebar-collapsed .nav-link.active{background-color:rgba(15,23,42,0.06);color:var(--color-primary);border-left:3px solid var(--color-primary) !important}[data-theme="dark"] html.sidebar-collapsed .nav-link.active{background-color:rgba(255,255,255,0.08);color:#ffffff;border-left:3px solid #ffffff !important}html.sidebar-collapsed .sidebar-footer{padding:12px 0 16px 0;text-align:center;border-top:1px solid var(--color-border)}html.sidebar-collapsed .sidebar-footer .nav-link{width:44px;height:44px;min-height:44px;padding:0;margin:0 auto;justify-content:center;border-radius:8px;gap:0;position:relative;border-left:3px solid transparent}html.sidebar-collapsed .sidebar-footer .nav-link span{display:none !important}html.sidebar-collapsed .sidebar-collapse-btn[data-tooltip]::after,html.sidebar-collapsed .sidebar-nav .nav-link[data-tooltip]::after,html.sidebar-collapsed .sidebar-footer .nav-link[data-tooltip]::after{content:attr(data-tooltip);position:absolute;left:calc(100%+10px);top:50%;transform:translateY(-50%) translateX(-4px);background:#09090b;color:#ffffff;padding:6px 11px;border-radius:6px;font-size:0.775rem;font-weight:600;letter-spacing:0.01em;white-space:nowrap;box-shadow:0 4px 16px rgba(0,0,0,0.18);pointer-events:none;opacity:0;visibility:hidden;transition:opacity 0.18s cubic-bezier(0.16,1,0.3,1),transform 0.18s cubic-bezier(0.16,1,0.3,1);z-index:9999}[data-theme="dark"] html.sidebar-collapsed .sidebar-collapse-btn[data-tooltip]::after,[data-theme="dark"] html.sidebar-collapsed .sidebar-nav .nav-link[data-tooltip]::after,[data-theme="dark"] html.sidebar-collapsed .sidebar-footer .nav-link[data-tooltip]::after{background:#1e293b;border:1px solid rgba(255,255,255,0.1);color:#f8fafc;box-shadow:0 4px 20px rgba(0,0,0,0.4)}html.sidebar-collapsed .sidebar-collapse-btn[data-tooltip]:hover::after,html.sidebar-collapsed .sidebar-nav .nav-link[data-tooltip]:hover::after,html.sidebar-collapsed .sidebar-footer .nav-link[data-tooltip]:hover::after{opacity:1;visibility:visible;transform:translateY(-50%) translateX(0)}.main-content{flex:1;display:flex;flex-direction:column;min-width:0;margin-left:var(--sidebar-width);transition:margin-left 0.2s cubic-bezier(0.16,1,0.3,1)}.dashboard-header{display:flex;justify-content:space-between;align-items:center;padding:20px 32px;background-color:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:50}.header-left{display:flex;align-items:center;gap:16px}.header-left h1{margin:0;font-size:1.5rem;color:var(--color-text)}.subtitle{margin:4px 0 0;font-size:0.875rem;color:var(--color-text-muted)}.header-right{display:flex;align-items:center;gap:16px}.icon-btn{background:none;border:none;font-size:1.25rem;color:var(--color-text);cursor:pointer;padding:8px;border-radius:50%;transition:all 0.2s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background-color:var(--color-bg-light);color:var(--color-primary)}.icon-btn:active{background-color:rgba(15,23,42,0.08);transform:scale(0.97);transition:transform 80ms ease,background-color 80ms ease}[data-theme="dark"] .icon-btn:active{background-color:rgba(255,255,255,0.12)}.mobile-only{display:none !important}.hero-amount-wrapper{display:contents}.hero-currency-prefix{display:none !important}.user-avatar{width:36px;height:36px;border-radius:50%;background:#0f172a;color:#ffffff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:0.85rem;border:1.5px solid #cbd5e1;box-shadow:0 1px 3px rgba(0,0,0,0.1);flex-shrink:0}[data-theme="dark"] .user-avatar{background:#1e293b;color:#f8fafc;border-color:#475569}.profile-chip-wrapper{position:relative;display:inline-block}button.user-profile-chip,.user-profile-chip{display:flex;align-items:center;gap:8px;padding:5px 12px;background:var(--color-bg-alt);border-radius:30px;border:1px solid var(--color-border);cursor:pointer;outline:none;font-family:inherit;transition:all 0.2s ease}button.user-profile-chip:hover,button.user-profile-chip[aria-expanded="true"]{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(16,185,129,0.15)}button.user-profile-chip:active,.user-profile-chip:active{transform:scale(0.97);background-color:rgba(15,23,42,0.06);transition:transform 80ms ease,background-color 80ms ease}[data-theme="dark"] button.user-profile-chip:active,[data-theme="dark"] .user-profile-chip:active{background-color:rgba(255,255,255,0.1)}.user-name-text{font-size:0.875rem;font-weight:700;color:var(--color-text);max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-chevron{font-size:0.65rem;color:var(--color-text-muted);transition:transform 0.25s ease;margin-left:2px}button.user-profile-chip[aria-expanded="true"] .profile-chevron{transform:rotate(180deg)}.user-profile-dropdown{position:absolute;top:calc(100%+8px);right:0;width:270px;max-width:90vw;background:rgba(255,255,255,0.96);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 16px 36px -4px rgba(0,0,0,0.15),0 6px 12px -2px rgba(0,0,0,0.08);padding:8px;z-index:1050;transform-origin:top right;opacity:0;visibility:hidden;transform:scale(0.95) translateY(-6px);transition:opacity 0.2s cubic-bezier(0.16,1,0.3,1),transform 0.2s cubic-bezier(0.16,1,0.3,1),visibility 0.2s ease;pointer-events:none}.user-profile-dropdown:not(.open){display:none !important}.user-profile-dropdown.open{display:block !important;opacity:1;visibility:visible;transform:scale(1) translateY(0);pointer-events:auto}[data-theme="dark"] .user-profile-dropdown{background:rgba(15,23,42,0.96);border-color:#334155;box-shadow:0 16px 40px -4px rgba(0,0,0,0.55),0 8px 16px -2px rgba(0,0,0,0.35)}.profile-dropdown-header{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(148,163,184,0.08);border-radius:12px;margin-bottom:8px}[data-theme="dark"] .profile-dropdown-header{background:rgba(30,41,59,0.6)}.dropdown-avatar{width:38px;height:38px;border-radius:50%;background:var(--color-primary,#10b981);color:#ffffff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.95rem;flex-shrink:0}.dropdown-user-info{flex:1;min-width:0}.dropdown-user-name{font-size:0.92rem;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-user-email{font-size:0.75rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px}.profile-status-section{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.profile-status-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;background:transparent;border:1px solid transparent;border-radius:10px;cursor:pointer;transition:all 0.15s ease;font-family:inherit;text-align:left}.profile-status-row:hover{background:rgba(148,163,184,0.12)}[data-theme="dark"] .profile-status-row:hover{background:rgba(51,65,85,0.5)}.status-row-left{display:flex;align-items:center;gap:8px;min-width:0}.status-row-text{font-size:0.8rem;font-weight:600;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-row-arrow{font-size:0.65rem;color:var(--color-text-muted);opacity:0.7}.status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.online{background-color:#10b981;box-shadow:0 0 6px rgba(16,185,129,0.4)}.status-dot.syncing{background-color:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.4)}.status-dot.offline{background-color:#f43f5e;box-shadow:0 0 6px rgba(244,63,94,0.4)}.status-dot.local-only{background-color:#f59e0b;box-shadow:0 0 6px rgba(245,158,11,0.4)}.dropdown-divider{height:1px;background:var(--color-border);margin:4px 6px}.profile-menu-items{display:flex;flex-direction:column;gap:2px}.profile-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:transparent;border:none;border-radius:10px;color:var(--color-text);font-size:0.85rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all 0.15s ease;text-align:left}.profile-menu-item i{font-size:0.9rem;width:16px;text-align:center;color:var(--color-text-muted);transition:color 0.15s ease}.profile-menu-item:hover{background:rgba(148,163,184,0.12);color:var(--color-primary)}.profile-menu-item:hover i{color:var(--color-primary)}[data-theme="dark"] .profile-menu-item:hover{background:rgba(51,65,85,0.5)}.profile-menu-item.item-danger{color:#f43f5e}.profile-menu-item.item-danger i{color:#f43f5e}.profile-menu-item.item-danger:hover{background:rgba(244,63,94,0.12);color:#f43f5e}.profile-menu-item.item-danger:hover i{color:#f43f5e}#quick-currency-select{padding:6px 30px 6px 14px;border-radius:20px;border:1px solid var(--color-border);background:var(--color-bg-alt);color:var(--color-text);font-weight:700;font-size:0.85rem;cursor:pointer;outline:none;transition:border-color 0.2s;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2371717a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:10px 7px;color-scheme:light}.dashboard-main{padding:32px;flex:1;overflow-y:auto}.page-section{display:none;content-visibility:auto;contain-intrinsic-size:0 500px}.page-section.active{display:block}.card{background-color:var(--color-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border);margin-bottom:24px}.card h3{margin-top:0;margin-bottom:20px;color:var(--color-text);font-size:1.125rem}.net-worth-card{width:100%;margin-bottom:24px;padding:20px 24px;background:var(--color-card,#ffffff);border-radius:var(--radius-lg,16px);border:1px solid var(--color-border);border-left:4px solid var(--color-success,#10b981);box-shadow:0 4px 20px -2px rgba(16,185,129,0.08),0 2px 6px -1px rgba(0,0,0,0.04);position:relative;overflow:hidden;transition:all 0.25s ease;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.net-worth-card.negative{border-left-color:var(--color-danger,#f43f5e) !important;box-shadow:0 4px 20px -2px rgba(244,63,94,0.08),0 2px 6px -1px rgba(0,0,0,0.04)}[data-theme="dark"] .net-worth-card{background:rgba(24,24,27,0.85);border-color:rgba(255,255,255,0.1);box-shadow:0 4px 24px -2px rgba(0,0,0,0.45)}[data-theme="dark"] .net-worth-card.positive{border-left-color:#10b981;box-shadow:0 4px 24px -2px rgba(16,185,129,0.12),0 2px 8px rgba(0,0,0,0.4)}[data-theme="dark"] .net-worth-card.negative{border-left-color:#f43f5e !important;box-shadow:0 4px 24px -2px rgba(244,63,94,0.12),0 2px 8px rgba(0,0,0,0.4)}.net-worth-main{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.net-worth-header{display:inline-flex;align-items:center;gap:12px}.net-worth-icon{width:36px;height:36px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;font-size:1.05rem;background:rgba(16,185,129,0.12);color:#10b981;flex-shrink:0;transition:all 0.2s ease}.net-worth-card.negative .net-worth-icon{background:rgba(244,63,94,0.12);color:#f43f5e}.net-worth-label{font-size:1.05rem;font-weight:700;color:var(--color-text);letter-spacing:-0.01em}.net-worth-val{font-size:1.85rem;font-weight:800;font-family:var(--font-display,inherit);color:#10b981;line-height:1.2;letter-spacing:-0.02em;transition:color 0.2s ease}.net-worth-card.negative .net-worth-val{color:#f43f5e}.net-worth-breakdown{margin-top:10px;padding-top:10px;border-top:1px solid var(--color-border);display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:0.825rem;color:var(--color-text-muted)}[data-theme="dark"] .net-worth-breakdown{border-top-color:rgba(255,255,255,0.08)}.net-worth-breakdown strong{color:var(--color-text);font-weight:600}.breakdown-sep{opacity:0.45;user-select:none}.breakdown-icon{display:none}.breakdown-label{display:inline}.summary-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-bottom:32px}.summary-card{background-color:var(--color-card);border-radius:var(--radius-lg);padding:24px;display:flex;align-items:center;gap:16px;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.card-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.15rem;color:#ffffff;flex-shrink:0;transition:all var(--transition-fast)}.card-icon i{color:#ffffff !important}.card-icon.income{background-color:#10b981;color:#ffffff}.card-icon.expenses{background-color:#f43f5e;color:#ffffff}.card-icon.remaining{background-color:#0284c7;color:#ffffff}.card-icon.savings{background-color:#8b5cf6;color:#ffffff}.card-icon.neutral{background-color:#64748b;color:#ffffff}[data-theme="dark"] .card-icon i{color:#ffffff !important}[data-theme="dark"] .card-icon.income{background-color:rgba(16,185,129,0.22);color:#ffffff;border:1px solid rgba(16,185,129,0.4)}[data-theme="dark"] .card-icon.expenses{background-color:rgba(244,63,94,0.22);color:#ffffff;border:1px solid rgba(244,63,94,0.4)}[data-theme="dark"] .card-icon.remaining{background-color:rgba(56,189,248,0.22);color:#ffffff;border:1px solid rgba(56,189,248,0.4)}[data-theme="dark"] .card-icon.savings{background-color:rgba(168,85,247,0.22);color:#ffffff;border:1px solid rgba(168,85,247,0.4)}[data-theme="dark"] .card-icon.neutral{background-color:rgba(148,163,184,0.22);color:#ffffff;border:1px solid rgba(148,163,184,0.4)}.income-management-header{min-height:28px}.income-card-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--color-text);line-height:1.2}.income-tab-btn{background:transparent;color:var(--color-text-muted)}.income-tab-btn.active{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-sm)}[data-theme="dark"] .income-tab-btn.active{background:#334155;color:#ffffff}.income-chip-btn{padding:5px 12px;border-radius:16px;border:1px solid var(--color-border);background:var(--color-bg-light);color:var(--color-text);font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s ease}.income-chip-btn:hover{background:#0f172a;color:#ffffff !important;border-color:#0f172a;transform:translateY(-1px)}[data-theme="dark"] .income-chip-btn{background:#0f172a;border-color:#334155;color:#e2e8f0}[data-theme="dark"] .income-chip-btn:hover{background:#ffffff;color:#09090b !important;border-color:#ffffff}.card-info h3{margin:0 0 4px 0;font-size:0.875rem;color:var(--color-text-muted)}.card-info p{margin:0;font-size:1.5rem;font-weight:bold;color:var(--color-text)}.text-success{color:var(--color-success) !important}.text-danger{color:var(--color-danger) !important}.text-warning{color:var(--color-warning) !important}.text-primary{color:var(--color-primary) !important}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.reports-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.reports-grid>.card{min-width:0}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:var(--color-text);font-size:0.875rem}input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="search"],select,.form-control{width:100%;min-height:46px;padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-input-bg);color:var(--color-text);font-family:inherit;font-size:0.9rem;transition:border-color 0.2s,box-shadow 0.2s,background-color 0.2s;box-sizing:border-box}input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="search"],.form-control:not(select){background-image:none !important;cursor:text}input[type="number"]{-moz-appearance:textfield;appearance:textfield}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}select,.form-control select,.filter-group select,.modal-body select{padding-right:40px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2371717a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:12px 8px;color-scheme:light}input:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow)}.btn-block{width:100%;display:block}.expense-list{display:flex;flex-direction:column;gap:12px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.expense-item{display:flex;align-items:center;padding:12px;border-radius:var(--radius-sm);background-color:var(--color-bg-light);border:1px solid var(--color-border);min-width:0;max-width:100%;box-sizing:border-box}.expense-item-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:white;margin-right:16px;flex-shrink:0}.expense-item-details{flex:1;min-width:0;overflow:hidden}.expense-item-name{font-weight:500;color:var(--color-text);margin:0 0 4px 0;overflow-wrap:anywhere;word-break:break-word}.expense-item-date{font-size:0.75rem;color:var(--color-text-muted);margin:0;overflow-wrap:anywhere}.expense-item-amount{font-weight:bold;margin-right:16px;color:var(--color-text);flex-shrink:0;white-space:nowrap}.expense-item-actions{display:flex;gap:8px;flex-shrink:0}.action-btn{background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:6px;border-radius:4px;transition:all 0.2s}.action-btn:hover{background-color:var(--color-border)}.action-btn.edit:hover{color:var(--color-primary)}.action-btn.delete:hover{color:var(--color-danger)}.filter-bar{display:flex;gap:16px;margin-bottom:24px;flex-wrap:wrap}.search-input-wrapper{position:relative;flex:1;min-width:200px}.search-input-wrapper i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);font-size:0.95rem;pointer-events:none}.search-input-wrapper input{padding-left:44px !important}.filter-bar select{width:auto;min-width:150px}.table-responsive{overflow-x:auto}.expense-table{min-width:600px}.table-header{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 0.5fr;padding:12px 16px;background-color:var(--color-bg-light);border-radius:var(--radius-sm);font-weight:600;color:var(--color-text-muted);font-size:0.875rem;margin-bottom:8px;border:1px solid var(--color-border)}.table-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 0.5fr;padding:16px;border-bottom:1px solid var(--color-border);align-items:center}.table-row:last-child{border-bottom:none}.category-badge{display:inline-block;padding:4px 10px;border-radius:12px;font-size:0.75rem;font-weight:500;color:white}.budget-form-card{max-width:500px;margin-bottom:24px}.budget-form{display:grid;grid-template-columns:1fr 1fr auto;gap:16px;align-items:end}.budget-list{display:flex;flex-direction:column;gap:16px}.budget-item{padding:18px 20px;border-radius:var(--radius-md,12px);background-color:var(--color-bg-light);border:1px solid var(--color-border);display:flex;flex-direction:column;gap:12px;transition:border-color 0.2s ease,box-shadow 0.2s ease}.budget-item-header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.budget-item-title{display:flex;align-items:center;gap:10px;font-weight:600;font-size:0.95rem;color:var(--color-text)}.budget-item-title i{font-size:1.15rem;line-height:1}.budget-item-actions{display:flex;align-items:center;gap:12px}.budget-item-amounts{font-size:0.9rem;font-weight:600;color:var(--color-text-muted)}.budget-delete-btn{background:transparent;border:1px solid transparent;color:var(--color-text-muted);cursor:pointer;padding:6px 8px;border-radius:8px;font-size:0.85rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:all 0.2s ease}.budget-delete-btn:hover{color:#f43f5e;background:rgba(244,63,94,0.12);border-color:rgba(244,63,94,0.25);transform:translateY(-1px)}.budget-delete-btn:active{transform:translateY(0)}.budget-progress-bar{width:100%;height:8px;background-color:rgba(148,163,184,0.2);border-radius:999px;overflow:hidden}[data-theme="dark"] .budget-progress-bar{background-color:#334155}.budget-progress-fill{height:100%;border-radius:999px;transition:width 0.35s ease,background-color 0.35s ease}.budget-item-footer{display:flex;justify-content:space-between;align-items:center;font-size:0.8rem;color:var(--color-text-muted);font-weight:500}.chart-container{height:400px;position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box}.chart-container-sm{height:320px;position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box}#trend-chart-container,#spending-chart-container,#category-chart-container{position:relative;width:100%;max-width:100%;min-width:0;overflow:hidden;box-sizing:border-box}#dashboard-category-card{display:flex;flex-direction:column;justify-content:space-between}.category-center-label{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;z-index:2;user-select:none;max-width:150px}.category-center-sub{font-size:0.72rem;font-weight:600;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);line-height:1.2;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px;transition:color 0.15s ease}.category-center-val{font-size:1.35rem;font-weight:800;color:var(--color-text);line-height:1.1;white-space:nowrap;letter-spacing:-0.02em;transition:all 0.15s ease}.chart-container canvas,.chart-container-sm canvas,#trend-chart-container canvas,#spending-chart-container canvas,#category-chart-container canvas{width:100% !important;max-width:100% !important;height:100% !important;display:block;box-sizing:border-box}.chart-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;width:100%;text-align:center;color:var(--color-text-muted);padding:24px 16px;box-sizing:border-box}.chart-empty-state i{font-size:2.2rem;opacity:0.35;margin-bottom:10px;color:var(--color-text-muted)}.chart-empty-state p{margin:0;font-size:0.95rem;font-weight:500;color:var(--color-text-muted)}.reports-spending-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:12px;margin-bottom:12px;min-height:36px}#reports-spending-title{margin:0;font-size:1.05rem;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.reports-month-nav{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;margin-left:auto}#reports-reset-latest-btn{display:inline-flex;align-items:center;justify-content:center;gap:4px;font-size:0.75rem;padding:3px 8px;border-radius:6px;font-weight:600;white-space:nowrap;min-width:68px;transition:opacity 0.2s ease,background-color 0.15s ease,border-color 0.15s ease}.reports-month-stepper{display:inline-flex;align-items:center;gap:4px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:8px;padding:3px 6px;box-shadow:0 1px 2px rgba(0,0,0,0.04)}#reports-month-stepper-label{font-weight:600;font-size:0.85rem;min-width:130px;text-align:center;user-select:none;display:inline-block}[data-theme="dark"] .reports-month-stepper{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.12)}.reports-month-summary{margin-top:14px;padding-top:12px;border-top:1px solid var(--color-border);display:grid;grid-template-columns:repeat(3,1fr);gap:10px;text-align:center}.reports-summary-item{display:flex;flex-direction:column;gap:2px;overflow:hidden}.reports-summary-label{font-size:0.72rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:0.04em}.reports-summary-val{font-size:1rem;font-weight:700;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:480px){.reports-month-summary{gap:6px}.reports-summary-label{font-size:0.68rem}.reports-summary-val{font-size:0.88rem}.category-center-sub{font-size:0.65rem}.category-center-val{font-size:1.1rem}}@media (max-width:360px){.reports-month-summary{gap:4px}.reports-summary-label{font-size:0.62rem}.reports-summary-val{font-size:0.8rem}.category-center-sub{font-size:0.58rem}.category-center-val{font-size:0.95rem}}.settings-card{max-width:640px}.theme-card{transition:all 0.25s cubic-bezier(0.16,1,0.3,1) !important;user-select:none}.theme-card:hover{transform:translateY(-2px);border-color:#94a3b8 !important}.theme-card.active{border-color:#10b981 !important;box-shadow:0 0 0 2px rgba(16,185,129,0.35),var(--shadow-md);transform:translateY(-2px)}.theme-card.active .theme-radio-dot{border-color:#10b981 !important;background-color:#10b981 !important}.theme-card.active .theme-radio-dot::after{content:"";display:block;width:6px;height:6px;border-radius:50%;background:white}[data-theme="dark"] #theme-card-light{background:#0f172a !important;border-color:#334155 !important}[data-theme="dark"] #theme-card-light span{color:#e2e8f0 !important}[data-theme="dark"] #theme-card-dark{background:#1e293b !important;border-color:#334155 !important}[data-theme="dark"] .theme-card:hover{border-color:#64748b !important}[data-theme="dark"] .theme-card.active{border-color:#10b981 !important;box-shadow:0 0 0 2px rgba(16,185,129,0.4),var(--shadow-md)}.toggle-switch{position:relative;display:inline-block;width:48px;height:26px;vertical-align:middle;margin-left:12px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#cbd5e1;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);border-radius:26px;box-sizing:border-box}.slider:before{position:absolute;content:"";height:18px;width:18px;left:4px;top:4px;bottom:4px;background-color:#ffffff;transition:all 0.3s cubic-bezier(0.16,1,0.3,1);border-radius:50%;box-shadow:0 1px 4px rgba(0,0,0,0.2)}input:checked+.slider{background-color:#10b981}input:checked+.slider:before{transform:translateX(22px);background-color:#ffffff}[data-theme="dark"] .slider{background-color:#334155;border:1px solid rgba(255,255,255,0.15)}[data-theme="dark"] .slider:before{background-color:#94a3b8}[data-theme="dark"] input:checked+.slider{background-color:#10b981;border-color:#10b981}[data-theme="dark"] input:checked+.slider:before{background-color:#ffffff;box-shadow:0 1px 5px rgba(0,0,0,0.4)}.btn-danger{background:#f43f5e;color:#ffffff !important;border:1px solid #f43f5e;border-radius:var(--radius-sm);font-weight:600}.btn-danger:hover{background:#e11d48;border-color:#e11d48;color:#ffffff !important;transform:translateY(-1px)}[data-theme="dark"] .btn-danger{background:rgba(244,63,94,0.18);color:#fb7185 !important;border:1px solid rgba(244,63,94,0.4)}[data-theme="dark"] .btn-danger:hover{background:#f43f5e;color:#ffffff !important;border-color:#f43f5e}.data-actions{display:flex;flex-wrap:wrap;gap:12px}.modal-overlay{position:fixed;inset:0;background-color:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}#confirm-modal.modal-overlay{z-index:100000000}.modal{background-color:var(--color-card);border-radius:var(--radius-lg);padding:32px;width:100%;max-width:480px;box-shadow:var(--shadow-lg)}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.text-center{text-align:center}.justify-center{justify-content:center}.mt-3{margin-top:16px}.mt-4{margin-top:24px}#toast-container{position:fixed;bottom:24px;right:24px;z-index:100000001;display:flex;flex-direction:column;gap:12px;overflow:hidden;max-width:calc(100% - 48px)}.toast{background-color:var(--color-card);color:var(--color-text);padding:16px 20px;border-radius:var(--radius-sm);box-shadow:var(--shadow-md);display:flex;align-items:center;gap:12px;min-width:300px;border-left:4px solid var(--color-primary);animation:toast-slide-in 0.3s ease forwards}.toast.success{border-left-color:var(--color-success)}.toast.error{border-left-color:var(--color-danger)}.toast.info{border-left-color:var(--color-primary)}@keyframes toast-slide-in{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.empty-state{text-align:center;padding:40px 20px;color:var(--color-text-muted)}.empty-state i{font-size:3rem;margin-bottom:16px;opacity:0.5}.daily-nudge-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;margin-bottom:16px;background:rgba(99,102,241,0.08);border:1px solid rgba(99,102,241,0.25);border-radius:var(--radius-md,10px);color:var(--color-text);font-size:0.85rem;animation:nudge-fade-in 0.25s ease-out}[data-theme="dark"] .daily-nudge-banner{background:rgba(99,102,241,0.15);border-color:rgba(99,102,241,0.35);color:#f1f5f9}.daily-nudge-banner .nudge-content{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.daily-nudge-banner .nudge-text{font-weight:500;line-height:1.4}.daily-nudge-banner .nudge-action-btn{padding:5px 12px;border-radius:6px;background:#0f172a;color:#ffffff !important;border:1px solid rgba(255,255,255,0.15);font-size:0.75rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap}.daily-nudge-banner .nudge-action-btn:hover{background:#1e293b;color:#ffffff !important;opacity:0.95;transform:translateY(-1px)}[data-theme="dark"] .daily-nudge-banner .nudge-action-btn{background:#0f172a;color:#ffffff !important;border:1px solid rgba(255,255,255,0.2)}[data-theme="dark"] .daily-nudge-banner .nudge-action-btn:hover{background:#1e293b;color:#ffffff !important;border-color:rgba(255,255,255,0.35)}.daily-nudge-banner .nudge-dismiss-btn{background:none;border:none;color:var(--color-text-muted,#94a3b8);font-size:1.25rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:color 0.15s ease}.daily-nudge-banner .nudge-dismiss-btn:hover{color:var(--color-text)}@keyframes nudge-fade-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}[data-theme="dark"] .sidebar{background-color:#1e293b;border-color:#334155}[data-theme="dark"] .card{background-color:#1e293b;border-color:#334155}[data-theme="dark"] .dashboard-header{background-color:#1e293b;border-color:#334155}[data-theme="dark"] .dashboard-layout,[data-theme="dark"] .dashboard-main{background-color:#0f172a}[data-theme="dark"] .table-header{background-color:#0f172a;border-color:#334155}[data-theme="dark"] .expense-item,[data-theme="dark"] .budget-item{background-color:#0f172a;border-color:#334155}[data-theme="dark"] .modal,[data-theme="dark"] .toast,[data-theme="dark"] .summary-card{background-color:#1e293b;border-color:#334155}[data-theme="dark"] input[type="text"],[data-theme="dark"] input[type="email"],[data-theme="dark"] input[type="password"],[data-theme="dark"] input[type="number"],[data-theme="dark"] input[type="date"],[data-theme="dark"] select{background-color:#0f172a;border-color:#334155;color:#f8fafc;color-scheme:dark !important}[data-theme="dark"] select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");color-scheme:dark}[data-theme="dark"] select option{background-color:#0f172a !important;color:#f8fafc !important}[data-theme="dark"] .user-profile-chip{background-color:#0f172a !important;border-color:#334155 !important}[data-theme="dark"] #quick-currency-select{background-color:#0f172a !important;border-color:#334155 !important;color:#f8fafc !important;color-scheme:dark !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23a1a1aa' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 10px center !important;background-size:10px 7px !important}[data-theme="dark"] #quick-currency-select option{background-color:#0f172a !important;color:#f8fafc !important}[data-theme="light"] select{background-color:var(--color-input-bg) !important;color:var(--color-text) !important;color-scheme:light !important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2371717a' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;background-repeat:no-repeat !important;background-position:right 14px center !important;background-size:12px 8px !important}[data-theme="light"] select option{background-color:#ffffff !important;color:#09090b !important}[data-theme="dark"] .income-mode-selector{background:#0f172a !important;border-color:#334155 !important}[data-theme="dark"] #income-calc-preview{background:#0f172a !important;border-color:#334155 !important}[data-theme="dark"] .nav-link:hover{background-color:#0f172a}[data-theme="dark"] .icon-btn:hover{background-color:#334155}.sidebar-backdrop{display:none}@media (max-width:1024px){.dashboard-grid,.reports-grid{grid-template-columns:1fr}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:1023px){#net-worth-card,.net-worth-card{padding:14px 12px !important;padding-left:12px !important;padding-right:12px !important;border-radius:14px !important;margin-bottom:14px !important}.net-worth-main{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;flex-wrap:nowrap !important}.net-worth-header{gap:8px !important;flex-shrink:0 !important}.net-worth-icon{width:28px !important;height:28px !important;font-size:0.85rem !important;border-radius:8px !important}.net-worth-label{font-size:0.9rem !important}.net-worth-val{font-size:1.25rem !important;text-align:right !important;white-space:nowrap !important}.net-worth-breakdown{margin-top:8px !important;padding-top:8px !important;display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:space-between !important;flex-wrap:nowrap !important;gap:6px !important;line-height:1.25 !important;width:100% !important;box-sizing:border-box !important;white-space:nowrap !important;overflow:hidden !important}.breakdown-label{display:none !important}.breakdown-sep{display:none !important}.breakdown-part{flex:1 1 0 !important;min-width:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:5px !important;box-sizing:border-box !important;white-space:nowrap !important}.breakdown-part strong{font-size:clamp(12.5px,3.2vw,14.5px) !important;font-weight:600 !important;color:var(--color-text) !important;white-space:nowrap !important;line-height:1.2 !important}.breakdown-icon{display:inline-flex !important;width:24px !important;height:24px !important;border-radius:7px !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;transition:all 0.2s ease !important}.breakdown-icon i{font-size:12px !important;line-height:1 !important}.breakdown-icon.cash{background:rgba(16,185,129,0.14) !important;color:#10b981 !important}.breakdown-icon.lent{background:rgba(13,148,136,0.14) !important;color:#0d9488 !important}.breakdown-icon.borrowed{background:rgba(244,63,94,0.14) !important;color:#f43f5e !important}[data-theme="dark"] .breakdown-icon.cash{background:rgba(16,185,129,0.2) !important;color:#34d399 !important}[data-theme="dark"] .breakdown-icon.lent{background:rgba(20,184,166,0.22) !important;color:#2dd4bf !important}[data-theme="dark"] .breakdown-icon.borrowed{background:rgba(244,63,94,0.22) !important;color:#fb7185 !important}}@media (max-width:350px){.breakdown-icon{width:22px !important;height:22px !important;border-radius:6px !important}.breakdown-icon i{font-size:11px !important}.net-worth-breakdown{gap:4px !important}.breakdown-part{gap:3px !important}.breakdown-part strong{font-size:11.5px !important}.breakdown-label{display:none !important}}@media (max-width:320px){.breakdown-icon{width:22px !important;height:22px !important}.net-worth-breakdown{gap:3px !important}.breakdown-part{gap:2.5px !important}.breakdown-part strong{font-size:11px !important}}html.is-mobile-device,html.force-mobile-layout{max-width:100% !important;overflow-x:hidden !important;overflow-x:clip !important;-webkit-text-size-adjust:100%}html.is-mobile-device .dashboard-layout,html.force-mobile-layout .dashboard-layout{display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;overflow-x:hidden !important;overflow-x:clip !important}html.is-mobile-device .main-content,html.force-mobile-layout .main-content{width:100% !important;max-width:100% !important;min-width:0 !important;overflow-x:hidden !important;overflow-x:clip !important;margin-left:0 !important;transition:none !important}html.is-mobile-device .dashboard-header,html.force-mobile-layout .dashboard-header{padding:8px 10px !important;display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:space-between !important;gap:8px !important;position:sticky !important;top:0 !important;z-index:50 !important;box-sizing:border-box !important;width:100% !important;max-width:100% !important;overflow-x:clip !important}html.is-mobile-device .header-left,html.force-mobile-layout .header-left{display:flex !important;align-items:center !important;gap:6px !important;min-width:0 !important;flex:1 1 auto !important}html.is-mobile-device .header-titles,html.force-mobile-layout .header-titles{display:flex !important;flex-direction:column !important;min-width:0 !important;overflow:hidden !important}html.is-mobile-device .header-left h1,html.force-mobile-layout .header-left h1{font-size:1.05rem !important;line-height:1.2 !important;margin:0 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}html.is-mobile-device .subtitle,html.force-mobile-layout .subtitle{margin:1px 0 0 0 !important;font-size:0.7rem !important;color:var(--color-text-muted) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;line-height:1.2 !important}html.is-mobile-device .greeting-prefix,html.force-mobile-layout .greeting-prefix{display:none !important}html.is-mobile-device .dashboard-header .status-indicator-pill,html.force-mobile-layout .dashboard-header .status-indicator-pill{display:none !important}html.is-mobile-device .user-name-text,html.is-mobile-device .profile-chevron,html.force-mobile-layout .user-name-text,html.force-mobile-layout .profile-chevron{display:none !important}html.is-mobile-device .user-avatar,html.force-mobile-layout .user-avatar{width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important;font-size:0.75rem !important}html.is-mobile-device button.user-profile-chip,html.is-mobile-device .user-profile-chip,html.force-mobile-layout button.user-profile-chip,html.force-mobile-layout .user-profile-chip{padding:0 !important;background:transparent !important;border:none !important;gap:0 !important}html.is-mobile-device .sidebar-backdrop,html.force-mobile-layout .sidebar-backdrop{display:block !important;position:fixed !important;inset:0 !important;background:rgba(0,0,0,0.65) !important;z-index:150 !important;opacity:0 !important;visibility:hidden !important;transition:opacity 0.3s cubic-bezier(0.16,1,0.3,1),visibility 0.3s ease !important;pointer-events:none !important}html.is-mobile-device .sidebar-backdrop.active,html.force-mobile-layout .sidebar-backdrop.active{opacity:1 !important;visibility:visible !important;pointer-events:auto !important}html.is-mobile-device .sidebar,html.force-mobile-layout .sidebar{position:fixed !important;top:0 !important;left:0 !important;bottom:0 !important;height:100vh !important;height:100dvh !important;width:280px !important;max-width:85vw !important;z-index:200 !important;transform:translateX(-100%) !important;transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),visibility 0.3s ease !important;will-change:transform !important;visibility:hidden !important;contain:paint !important;box-shadow:none !important}html.is-mobile-device .sidebar.active,html.force-mobile-layout .sidebar.active{transform:translateX(0) !important;visibility:visible !important;contain:none !important;box-shadow:0 0 50px rgba(0,0,0,0.5) !important}html.is-mobile-device .sidebar-collapse-btn,html.is-mobile-device .desktop-only,html.force-mobile-layout .sidebar-collapse-btn,html.force-mobile-layout .desktop-only{display:none !important}html.is-mobile-device .mobile-only,html.force-mobile-layout .mobile-only{display:flex !important}html.is-mobile-device #mobile-sidebar-toggle,html.force-mobile-layout #mobile-sidebar-toggle{width:36px !important;height:36px !important;min-width:36px !important;min-height:36px !important;padding:0 !important;font-size:1rem !important;display:flex !important;align-items:center !important;justify-content:center !important;border-radius:10px !important}@media (max-width:768px){html,body{max-width:100% !important;overflow-x:hidden !important;overflow-x:clip !important;-webkit-text-size-adjust:100%}.dashboard-layout{display:block !important;width:100% !important;max-width:100% !important;min-width:0 !important;overflow-x:hidden !important;overflow-x:clip !important}.main-content{width:100% !important;max-width:100% !important;min-width:0 !important;overflow-x:hidden !important;overflow-x:clip !important;margin-left:0 !important;transition:none !important}.dashboard-header{padding:8px 10px !important;display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:8px !important;position:sticky;top:0;z-index:50;box-sizing:border-box;width:100% !important;max-width:100% !important;overflow-x:clip !important}.header-left{display:flex;align-items:center;gap:6px !important;min-width:0;flex:1 1 auto}.header-titles{display:flex;flex-direction:column;min-width:0;overflow:hidden}.header-left h1{font-size:1.05rem !important;line-height:1.2;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subtitle{margin:1px 0 0 0;font-size:0.7rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.greeting-prefix{display:none !important}.header-right{display:flex;align-items:center;gap:5px !important;flex-shrink:0;max-width:100%;min-width:0}.header-currency-wrapper{display:flex;align-items:center;min-width:0}.header-currency-wrapper select,#quick-currency-select,[data-theme="dark"] #quick-currency-select,[data-theme="light"] #quick-currency-select{padding:4px 22px 4px 8px !important;font-size:0.75rem !important;border-radius:12px !important;width:auto !important;min-width:0 !important;max-width:74px !important;height:32px !important;min-height:32px !important;font-weight:700 !important;text-align:left !important;-webkit-appearance:none !important;appearance:none !important;background-repeat:no-repeat !important;background-position:right 6px center !important;background-size:9px 6px !important;box-sizing:border-box !important}.dashboard-header .status-indicator-pill{display:none !important}.pwa-install-btn{padding:4px 8px !important;font-size:0.725rem !important;height:32px !important;min-width:0}@media (max-width:480px){.pwa-install-btn span{display:none !important}}.icon-btn,#mobile-sidebar-toggle{width:36px !important;height:36px !important;min-width:36px !important;min-height:36px !important;padding:0 !important;font-size:1rem !important;display:flex !important;align-items:center !important;justify-content:center !important;border-radius:10px !important}button.user-profile-chip,.user-profile-chip{padding:0 !important;background:transparent !important;border:none !important;gap:0 !important}.user-name-text,.profile-chevron{display:none !important}.user-avatar{width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important;font-size:0.75rem !important}.user-profile-dropdown{right:0 !important;width:260px !important;max-width:calc(100vw - 20px) !important}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,0.65);z-index:150;opacity:0;visibility:hidden;transition:opacity 0.3s cubic-bezier(0.16,1,0.3,1),visibility 0.3s ease;pointer-events:none}.sidebar-backdrop.active{opacity:1;visibility:visible;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;height:100dvh;width:280px;max-width:85vw;z-index:200;transform:translateX(-100%);transition:transform 0.3s cubic-bezier(0.16,1,0.3,1),visibility 0.3s ease;will-change:transform;visibility:hidden;contain:paint;box-shadow:none}.sidebar.active{transform:translateX(0);visibility:visible;contain:none;box-shadow:0 0 50px rgba(0,0,0,0.5)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}.mobile-only{display:flex}.sidebar-collapse-btn,.desktop-only{display:none !important}body.sidebar-open{overflow:hidden !important;touch-action:none}html.sidebar-collapsed .sidebar{width:280px !important;overflow-y:auto !important;overflow-x:hidden !important;background-color:var(--color-sidebar) !important}[data-theme="dark"] html.sidebar-collapsed .sidebar{background-color:#1e293b !important}html.sidebar-collapsed .main-content{margin-left:0 !important}html.sidebar-collapsed .sidebar-header{flex-direction:row !important;padding:18px 20px !important;justify-content:space-between !important;height:auto !important;min-height:64px !important}html.sidebar-collapsed .logo-link{display:flex !important}html.sidebar-collapsed .logo-text{display:inline-block !important}html.sidebar-collapsed .sidebar-nav{overflow-y:auto !important;overflow-x:hidden !important;padding:20px 0 10px 0 !important;gap:6px !important}html.sidebar-collapsed .nav-link{width:auto !important;justify-content:flex-start !important;padding:11px 24px !important;margin:0 !important;gap:12px !important}html.sidebar-collapsed .nav-link span{display:inline !important}html.sidebar-collapsed .nav-link i,html.sidebar-collapsed .nav-link svg{width:20px !important;font-size:1rem !important;margin:0 !important}html.sidebar-collapsed .sidebar-footer{padding:16px 24px !important;text-align:left !important}html.sidebar-collapsed .sidebar-footer .nav-link{width:auto !important;justify-content:flex-start !important;padding:11px 24px !important;margin:0 !important;gap:12px !important}html.sidebar-collapsed .sidebar-footer .nav-link span{display:inline !important}html.sidebar-collapsed .sidebar-collapse-btn[data-tooltip]::after,html.sidebar-collapsed .nav-link[data-tooltip]::after,html.sidebar-collapsed .sidebar-footer .nav-link[data-tooltip]::after{display:none !important}.dashboard-main{padding:16px 16px 36px 16px !important}.summary-cards{display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:12px !important;margin-bottom:18px !important;width:100% !important;max-width:100% !important;min-width:0 !important;align-items:stretch !important}.summary-card{padding:10px 8px !important;display:grid !important;grid-template-columns:auto 1fr auto !important;grid-template-rows:auto auto 1fr !important;column-gap:6px !important;row-gap:2px !important;align-items:center !important;border-radius:14px !important;min-height:110px !important;min-width:0 !important;max-width:100% !important;box-sizing:border-box !important;position:relative !important;transition:background-color 150ms ease,border-color 150ms ease,transform 150ms ease !important}.summary-card.stat-card-overspent,.summary-card.stat-card-negative{background-color:rgba(239,68,68,0.08) !important;border:1px solid rgba(239,68,68,0.28) !important}[data-theme="dark"] .summary-card.stat-card-overspent,[data-theme="dark"] .summary-card.stat-card-negative{background-color:rgba(239,68,68,0.12) !important;border-color:rgba(239,68,68,0.35) !important}.summary-card .card-icon{grid-column:1 !important;grid-row:1 !important;width:24px !important;height:24px !important;font-size:0.72rem !important;border-radius:6px !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important}.summary-card .card-info{display:contents !important}.summary-card .card-info h3{grid-column:2 !important;grid-row:1 !important;margin:0 !important;font-size:0.78rem !important;font-weight:600 !important;color:var(--color-text-muted) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;line-height:24px !important;letter-spacing:-0.01em !important}.summary-card .stat-card-qualifier .q-full{display:none !important}.summary-card .stat-card-qualifier .q-short{display:inline !important}.stat-card-toggle-icon{display:inline-flex !important;margin-left:5px !important;font-size:0.65rem !important;opacity:0.6 !important}.summary-card .card-info p{grid-column:1 / -1 !important;grid-row:2 !important;margin:4px 0 0 0 !important;font-size:clamp(1.25rem,5vw,1.6rem) !important;font-variant-numeric:tabular-nums !important;font-weight:800 !important;line-height:1.15 !important;letter-spacing:-0.02em !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.summary-card-subtext{grid-column:1 / -1 !important;grid-row:3 !important;margin-top:4px !important;font-size:0.69rem !important;line-height:1.25 !important;color:var(--color-text-muted) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;min-width:0 !important;width:100% !important;align-self:start !important}.summary-card-subtext .stat-card-qualifier{display:block !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:100% !important;font-size:0.69rem !important;color:var(--color-text-muted) !important}.summary-card-subtext .stat-card-footer{display:block !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:100% !important;font-size:0.69rem !important;color:var(--color-text-muted) !important;opacity:0.82 !important;margin-top:1px !important}.summary-card .leftover-quick-action{grid-column:1 / -1 !important;grid-row:3 !important;margin-top:4px !important}.dashboard-grid,.reports-grid{grid-template-columns:minmax(0,1fr) !important;gap:16px !important;margin-bottom:18px !important;width:100% !important;max-width:100% !important;min-width:0 !important}.dashboard-grid>*,.reports-grid>*,.card{min-width:0 !important;max-width:100% !important;box-sizing:border-box !important}.card{padding:18px 16px !important;border-radius:16px !important;margin-bottom:16px !important}.card h3{font-size:1.05rem !important;margin-bottom:16px !important}.form-group{margin-bottom:14px !important}.form-group label{font-size:0.825rem !important;margin-bottom:6px !important}input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="search"],select,.form-control,.form-control select,.filter-group select,.modal-body select{min-height:46px !important;padding:10px 14px !important;font-size:0.95rem !important;border-radius:var(--radius-sm) !important}input[type="text"],input[type="email"],input[type="password"],input[type="number"],input[type="date"],input[type="search"],.form-control:not(select){background-image:none !important;cursor:text !important}select,.form-control select,.filter-group select,.modal-body select{padding-right:40px !important;background-position:right 14px center !important;cursor:pointer !important}.search-input-wrapper input,.search-input-wrapper input[type="text"],#expense-search{padding-left:46px !important}.btn{min-height:44px !important;font-size:0.95rem !important}.income-mode-selector{margin-bottom:14px !important}.income-tab-btn{padding:8px 12px !important;font-size:0.8rem !important;min-height:36px !important}.income-chips-wrapper{display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin-bottom:14px !important}.income-chip-btn{padding:6px 10px !important;font-size:0.75rem !important;min-height:32px !important}.filter-bar{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px !important;margin-bottom:16px !important}.search-input-wrapper{grid-column:1 / -1 !important;width:100% !important;min-width:0 !important}.filter-bar select{width:100% !important;min-width:0 !important;min-height:44px !important;padding-right:40px !important;background-position:right 14px center !important}.table-responsive{overflow-x:visible !important}.expense-table{min-width:0 !important;width:100% !important}.table-header{display:none !important}.table-row{display:grid !important;grid-template-columns:1fr auto !important;grid-template-rows:auto auto !important;gap:8px 12px !important;padding:14px !important;background:var(--color-bg-light) !important;border:1px solid var(--color-border) !important;border-radius:14px !important;margin-bottom:10px !important;align-items:center !important}.table-row .col-name{font-weight:700 !important;font-size:0.95rem !important;color:var(--color-text) !important;grid-column:1 / 2 !important;grid-row:1 / 2 !important;line-height:1.3 !important;word-break:break-word !important}.table-row .col-amount{font-weight:800 !important;font-size:1.05rem !important;color:var(--color-text) !important;text-align:right !important;grid-column:2 / 3 !important;grid-row:1 / 2 !important}.table-row .col-category{grid-column:1 / 2 !important;grid-row:2 / 3 !important;display:flex !important;align-items:center !important;gap:8px !important;flex-wrap:wrap !important}.table-row .col-date{font-size:0.75rem !important;color:var(--color-text-muted) !important;display:inline-block !important}.table-row .col-actions{grid-column:2 / 3 !important;grid-row:2 / 3 !important;display:flex !important;justify-content:flex-end !important;gap:4px !important}.empty-state{width:100% !important;margin:0 auto !important;padding:40px 16px !important;text-align:center !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;grid-column:1 / -1 !important;box-sizing:border-box !important}.empty-state i{font-size:2.5rem !important;margin-bottom:12px !important}.empty-state p{font-size:0.95rem !important;margin:0 !important;color:var(--color-text-muted) !important}.expense-item{padding:10px 12px !important}.expense-item-icon{width:36px !important;height:36px !important;margin-right:10px !important;font-size:0.85rem !important}.expense-item-name{font-size:0.9rem !important}.expense-item-amount{font-size:0.95rem !important;margin-right:6px !important}.chart-container{height:240px !important}#trend-chart-container{height:240px !important}#spending-chart-container{height:280px !important;display:flex;align-items:center;justify-content:center}#category-chart-container{height:250px !important;display:flex;align-items:center;justify-content:center}.budget-form{grid-template-columns:1fr}.reports-spending-header{flex-direction:column !important;align-items:stretch !important;gap:12px !important;min-height:auto !important}#reports-spending-title{width:100% !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;text-align:left !important;flex:none !important;font-size:1.15rem !important;font-weight:700 !important;line-height:1.25 !important;margin:0 !important}.reports-month-nav{margin-left:0 !important;justify-content:center !important;width:100% !important;display:flex !important;align-items:center !important;gap:4px !important;flex-shrink:0 !important}#reports-reset-latest-btn{position:relative !important;padding:0 4px !important;font-size:0.75rem !important;font-weight:600 !important;width:52px !important;min-width:52px !important;max-width:52px !important;height:36px !important;min-height:36px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:2px !important;border-radius:var(--radius-md) !important;box-sizing:border-box !important}#reports-reset-latest-btn::before{content:'' !important;position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;min-width:44px !important;min-height:44px !important;width:100% !important;height:100% !important}.reports-month-stepper{display:flex !important;align-items:center !important;justify-content:space-between !important;width:186px !important;min-width:186px !important;max-width:186px !important;height:38px !important;min-height:38px !important;padding:0 1px !important;background:rgba(255,255,255,0.04) !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-md) !important;box-sizing:border-box !important}[data-theme="dark"] .reports-month-stepper{background:rgba(255,255,255,0.04) !important;border-color:rgba(255,255,255,0.12) !important}#reports-month-stepper-label{width:120px !important;min-width:120px !important;max-width:120px !important;font-size:0.88rem !important;font-weight:700 !important;color:var(--color-text) !important;white-space:nowrap !important;text-align:center !important;cursor:pointer !important;user-select:none !important}#reports-prev-month-btn,#reports-next-month-btn{position:relative !important;width:32px !important;min-width:32px !important;max-width:32px !important;height:34px !important;min-height:34px !important;padding:0 !important;font-size:0.95rem !important;border-radius:var(--radius-md) !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;touch-action:manipulation !important;color:var(--color-text) !important;background:transparent !important}#reports-prev-month-btn::before,#reports-next-month-btn::before{content:'' !important;position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;min-width:44px !important;min-height:44px !important;width:100% !important;height:100% !important}.reports-donut-center.mobile-only{position:absolute !important;top:50% !important;left:50% !important;transform:translate(-50%,-50%) !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;text-align:center !important;pointer-events:none !important;z-index:2 !important;user-select:none !important;max-width:150px !important}.reports-donut-sub{font-size:0.72rem !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:0.05em !important;color:var(--color-text-muted) !important;line-height:1.2 !important;margin-bottom:2px !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:140px !important}.reports-donut-val{font-size:1.35rem !important;font-weight:800 !important;color:var(--color-text) !important;line-height:1.2 !important;font-variant-numeric:tabular-nums !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:150px !important}.reports-custom-legend.mobile-only{display:flex !important;flex-direction:column !important;width:100% !important;margin-top:12px !important;gap:4px !important}.reports-legend-list{display:flex !important;flex-direction:column !important;gap:4px !important;width:100% !important}.reports-legend-row{min-height:44px !important;height:44px !important;display:flex !important;align-items:center !important;justify-content:space-between !important;padding:0 12px !important;border-radius:var(--radius-md) !important;cursor:pointer !important;touch-action:manipulation !important;background:rgba(255,255,255,0.03) !important;border:1px solid transparent !important;transition:background 0.15s ease,border-color 0.15s ease !important;box-sizing:border-box !important}[data-theme="dark"] .reports-legend-row{background:rgba(255,255,255,0.02) !important}.reports-legend-row:hover,.reports-legend-row:active{background:rgba(255,255,255,0.06) !important}.reports-legend-row.active-slice{background:rgba(99,102,241,0.12) !important;border-color:rgba(99,102,241,0.35) !important}.reports-legend-row-left{display:flex !important;align-items:center !important;gap:10px !important;min-width:0 !important;flex:1 1 auto !important;overflow:hidden !important}.reports-legend-row-left .legend-dot{width:10px !important;height:10px !important;min-width:10px !important;min-height:10px !important;border-radius:50% !important;flex-shrink:0 !important}.reports-legend-row-left .legend-label{font-size:0.88rem !important;font-weight:500 !important;color:var(--color-text) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}.reports-legend-row-right{display:flex !important;align-items:center !important;gap:10px !important;flex-shrink:0 !important;margin-left:8px !important}.reports-legend-row-right .legend-amount{font-size:0.88rem !important;font-weight:600 !important;color:var(--color-text) !important;font-variant-numeric:tabular-nums !important}.reports-legend-row-right .legend-pct{font-size:0.8rem !important;font-weight:600 !important;color:var(--color-text-muted) !important;min-width:36px !important;text-align:right !important;font-variant-numeric:tabular-nums !important}.reports-legend-expand-btn{min-height:44px !important;height:44px !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;width:100% !important;margin-top:6px !important;background:rgba(255,255,255,0.04) !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-md) !important;color:var(--color-text-muted) !important;font-size:0.85rem !important;font-weight:600 !important;cursor:pointer !important;touch-action:manipulation !important;transition:all 0.15s ease !important}[data-theme="dark"] .reports-legend-expand-btn{background:rgba(255,255,255,0.03) !important;border-color:rgba(255,255,255,0.1) !important}.reports-legend-expand-btn:active{background:rgba(255,255,255,0.08) !important;color:var(--color-text) !important}.reports-month-summary{margin-top:16px !important;padding:12px 10px !important;border-top:1px solid var(--color-border) !important;display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;background:rgba(255,255,255,0.03) !important;border:1px solid var(--color-border) !important;border-radius:var(--radius-md) !important;box-sizing:border-box !important}[data-theme="dark"] .reports-month-summary{background:rgba(255,255,255,0.02) !important;border-color:rgba(255,255,255,0.08) !important}.reports-summary-item{display:flex !important;flex-direction:column !important;align-items:center !important;text-align:center !important;gap:3px !important;overflow:hidden !important;min-width:0 !important}.reports-summary-label{font-size:clamp(0.62rem,2.2vw,0.72rem) !important;color:var(--color-text-muted) !important;font-weight:600 !important;text-transform:uppercase !important;letter-spacing:0.04em !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:100% !important}.reports-summary-val{font-size:clamp(0.82rem,3.2vw,1.05rem) !important;font-weight:700 !important;color:var(--color-text) !important;font-variant-numeric:tabular-nums !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;max-width:100% !important}.chart-empty-state .empty-state-subtitle.mobile-only{display:block !important;font-size:0.82rem !important;color:var(--color-text-muted) !important;opacity:0.85 !important;margin-top:4px !important}#toast-container{left:16px !important;right:16px !important;bottom:20px !important;max-width:calc(100% - 32px) !important;width:auto !important;overflow:hidden !important;pointer-events:none !important;align-items:center !important}.toast{min-width:0 !important;max-width:100% !important;width:100% !important;box-sizing:border-box !important;pointer-events:auto !important;animation:toast-slide-up 0.3s cubic-bezier(0.16,1,0.3,1) forwards !important}@keyframes toast-slide-up{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width:380px){.pwa-install-btn{display:none !important}#quick-currency-select{max-width:58px !important;min-width:0 !important;padding:4px 16px 4px 6px !important;font-size:0.7rem !important}.header-right{gap:4px !important}.card{padding:14px 12px !important}.dashboard-main{padding:12px 10px 32px 10px !important}}}@media (max-width:480px){.summary-cards{grid-template-columns:repeat(2,1fr) !important}}#stealth-mode-btn.active{color:#10b981 !important;border-color:rgba(16,185,129,0.4) !important;background:rgba(16,185,129,0.12) !important}.stealth-masked{letter-spacing:3px !important;font-family:system-ui,-apple-system,sans-serif !important;user-select:none !important;filter:drop-shadow(0 0 2px rgba(16,185,129,0.4));display:inline-block;transition:filter 0.2s ease}.vault-lock-overlay{inset:0;width:100%;max-width:100%;height:100vh;height:100dvh;min-height:100vh;min-height:100dvh;z-index:99999999;background:#09090b;display:flex;align-items:center;justify-content:center;padding:16px;overflow-y:auto;overscroll-behavior:none;-webkit-overflow-scrolling:touch}[data-theme="light"] .vault-lock-overlay{background:#f8fafc}.vault-lock-card{max-width:320px;width:100%;text-align:center;background:#141417;border:1px solid rgba(255,255,255,0.08);border-radius:24px;padding:26px 20px 20px;box-shadow:0 20px 45px rgba(0,0,0,0.5);color:#ffffff}[data-theme="light"] .vault-lock-card{background:#ffffff;border:1px solid #e2e8f0;box-shadow:0 15px 35px rgba(15,23,42,0.08);color:#0f172a}.vault-lock-icon{width:44px;height:44px;border-radius:12px;background:rgba(16,185,129,0.12);color:#10b981;font-size:1.25rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:1px solid rgba(16,185,129,0.2);box-shadow:none}.vault-lock-header h2{font-size:1.2rem;font-weight:700;margin:0 0 4px 0;letter-spacing:-0.01em;color:inherit}.vault-lock-header p{font-size:0.8rem;color:var(--color-text-muted);margin:0}.pin-indicator-dots{display:flex;justify-content:center;align-items:center;gap:14px;margin:18px 0}.pin-dot{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,0.15);border:1px solid rgba(255,255,255,0.25);transition:all 0.15s ease}[data-theme="light"] .pin-dot{background:#e2e8f0;border-color:#cbd5e1}.pin-dot.filled{background:#10b981 !important;border-color:#10b981 !important;box-shadow:0 0 8px rgba(16,185,129,0.4) !important;transform:scale(1.15)}.pin-dot.error{background:#f43f5e !important;border-color:#f43f5e !important;box-shadow:0 0 8px rgba(244,63,94,0.4) !important}.vault-error-banner{background:rgba(244,63,94,0.12);border:1px solid rgba(244,63,94,0.25);color:#fca5a5;font-size:0.8rem;font-weight:600;padding:6px 10px;border-radius:8px;margin-bottom:14px;display:flex;align-items:center;justify-content:center;gap:6px}[data-theme="light"] .vault-error-banner{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.vault-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:260px;margin:0 auto}.num-key{height:54px;min-height:54px;border-radius:14px;background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.08);color:inherit;font-size:1.25rem;font-weight:600;cursor:pointer;transition:all 0.1s ease;display:flex;align-items:center;justify-content:center;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}[data-theme="light"] .num-key{background:#f8fafc;border-color:#e2e8f0;color:#0f172a}.num-key:hover{background:rgba(255,255,255,0.1);border-color:rgba(255,255,255,0.18)}[data-theme="light"] .num-key:hover{background:#f1f5f9;border-color:#cbd5e1}.num-key:active{background:rgba(16,185,129,0.2) !important;border-color:#10b981 !important;transform:scale(0.94)}.num-key.action-key{font-size:1.05rem;color:var(--color-text-muted);background:transparent;border-color:transparent}.num-key.action-key:hover{background:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12)}.num-key.action-key:active{background:rgba(255,255,255,0.15) !important;transform:scale(0.94)}.num-key-placeholder{height:54px;visibility:hidden;pointer-events:none}.vault-lock-footer{margin-top:18px}.vault-footer-link{background:transparent;border:none;color:var(--color-text-muted);font-size:0.8rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color 0.2s ease}.vault-footer-link:hover{color:#f43f5e}@keyframes shakeVaultError{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-8px)}40%,80%{transform:translateX(8px)}}.shake{animation:shakeVaultError 0.35s ease-in-out}.vault-setup-modal{max-width:340px !important;border-radius:24px !important;padding:24px 20px !important}.vault-biometric-btn{width:100%;max-width:250px;margin:0 auto;padding:10px 16px;border-radius:12px;background:rgba(16,185,129,0.1);border:1px solid rgba(16,185,129,0.25);color:#10b981;font-family:inherit;font-size:0.85rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all 0.2s ease}.vault-biometric-btn:hover{background:rgba(16,185,129,0.18);border-color:#10b981;transform:translateY(-1px)}.vault-biometric-btn:active{transform:scale(0.96)}[data-theme="light"] .vault-biometric-btn{background:#ecfdf5;border-color:#a7f3d0;color:#059669}#currency-convert-modal.modal-overlay{z-index:2147483640 !important;position:fixed;inset:0;padding:16px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.currency-convert-card{max-width:440px !important;width:min(92vw,440px) !important;max-height:90dvh !important;overflow-y:auto !important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:24px !important;padding:24px 20px max(20px,env(safe-area-inset-bottom)) !important;text-align:center;margin:auto;box-sizing:border-box}.convert-modal-header{margin-bottom:16px}.convert-modal-icon{width:48px;height:48px;border-radius:14px;background:rgba(16,185,129,0.12);color:#10b981;font-size:1.3rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:1px solid rgba(16,185,129,0.25)}.convert-modal-header h3{font-size:1.3rem;font-weight:800;margin:0 0 4px 0;letter-spacing:-0.01em}.convert-modal-header p{font-size:0.85rem;color:var(--color-text-muted);margin:0}.convert-rate-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(16,185,129,0.12);border:1px solid rgba(16,185,129,0.25);color:#10b981;padding:6px 14px;border-radius:var(--radius-full);font-size:0.825rem;font-weight:700;margin-bottom:18px}.convert-preview-box{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:16px;padding:14px 12px;margin-bottom:18px;text-align:center}[data-theme="light"] .convert-preview-box{background:#f8fafc;border-color:#e2e8f0}.convert-preview-label{font-size:0.725rem;font-weight:700;text-transform:uppercase;letter-spacing:0.05em;color:var(--color-text-muted);margin-bottom:8px}.convert-preview-flow{display:flex;align-items:center;justify-content:center;gap:10px;font-size:1.2rem;font-weight:800;margin-bottom:6px}.preview-amount.old{color:var(--color-text-muted);text-decoration:line-through;opacity:0.75}.preview-amount.new{color:#10b981}.preview-arrow{color:var(--color-text-muted);font-size:0.85rem}.convert-preview-note{font-size:0.725rem;color:var(--color-text-muted);line-height:1.4}.convert-modal-actions{display:flex;flex-direction:column;gap:10px}.convert-btn-inner{display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;width:100%}.convert-rec-pill{background:rgba(255,255,255,0.2);border:1px solid rgba(255,255,255,0.35);color:#ffffff;font-size:0.675rem;font-weight:800;padding:2px 7px;border-radius:9999px;text-transform:uppercase;letter-spacing:0.04em;line-height:1.2}[data-theme="light"] .convert-rec-pill{background:rgba(15,23,42,0.1);border-color:rgba(15,23,42,0.2);color:#0f172a}.convert-action-btn{width:100%;min-height:46px;padding:10px 14px;font-size:0.875rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px;white-space:normal !important;word-break:break-word;line-height:1.3;box-sizing:border-box}.convert-cancel-link{background:transparent;border:none;color:var(--color-text-muted);font-size:0.825rem;font-weight:600;cursor:pointer;padding:6px;transition:color 0.2s ease}.convert-cancel-link:hover{color:var(--color-text)}@media (max-width:480px){.currency-convert-card{padding:18px 16px max(16px,env(safe-area-inset-bottom)) !important;border-radius:20px !important}.convert-modal-icon{width:40px;height:40px;font-size:1.15rem;margin:0 auto 8px}.convert-modal-header{margin-bottom:10px}.convert-modal-header h3{font-size:1.15rem;margin-bottom:2px}.convert-modal-header p{font-size:0.775rem}.convert-rate-badge{padding:4px 10px;font-size:0.75rem;margin-bottom:12px}.convert-preview-box{padding:10px 8px;margin-bottom:14px;border-radius:12px}.convert-preview-flow{font-size:1.05rem;gap:6px;margin-bottom:4px}.convert-preview-note{font-size:0.675rem}.convert-action-btn{min-height:44px;padding:8px 10px;font-size:0.825rem}}#sync-status-btn.status-indicator-pill{cursor:pointer;border:1px solid var(--color-border);outline:none;font-family:inherit;user-select:none;-webkit-tap-highlight-color:transparent;transition:all 0.2s cubic-bezier(0.16,1,0.3,1);display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);font-size:0.8rem;font-weight:700}#sync-status-btn.status-indicator-pill:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,0.08)}#sync-status-btn.status-indicator-pill:active{transform:scale(0.96)}#sync-status-btn.status-indicator-pill.online{background:rgba(16,185,129,0.12);color:#10b981;border-color:rgba(16,185,129,0.3)}#sync-status-btn.status-indicator-pill.syncing{background:rgba(56,189,248,0.12);color:#0284c7;border-color:rgba(56,189,248,0.35)}[data-theme="dark"] #sync-status-btn.status-indicator-pill.syncing{color:#38bdf8}#sync-status-btn.status-indicator-pill.offline{background:rgba(244,63,94,0.12);color:#f43f5e;border-color:rgba(244,63,94,0.3)}#sync-status-btn.status-indicator-pill.local-only{background:rgba(245,158,11,0.12);color:#f59e0b;border-color:rgba(245,158,11,0.35)}[data-theme="dark"] #sync-status-btn.status-indicator-pill.local-only{color:#fbbf24}.sync-diagnostics-card{max-width:480px !important;width:min(92vw,480px) !important;max-height:90dvh !important;overflow-y:auto !important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border-radius:24px !important;padding:24px 20px max(20px,env(safe-area-inset-bottom)) !important;box-sizing:border-box;margin:auto}.sync-modal-header{text-align:center;margin-bottom:16px}.sync-modal-icon{width:48px;height:48px;border-radius:14px;background:rgba(2,132,199,0.12);color:#0284c7;font-size:1.35rem;display:flex;align-items:center;justify-content:center;margin:0 auto 12px;border:1px solid rgba(2,132,199,0.25)}[data-theme="dark"] .sync-modal-icon{background:rgba(56,189,248,0.15);color:#38bdf8;border-color:rgba(56,189,248,0.3)}.sync-modal-header h3{font-size:1.25rem;font-weight:800;margin:0 0 4px 0;letter-spacing:-0.01em}.sync-modal-header p{font-size:0.8rem;color:var(--color-text-muted);margin:0}.sync-metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:18px 0}.sync-metric-tile{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:14px;padding:12px;text-align:left}.sync-metric-tile .metric-label{font-size:0.7rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-muted)}.sync-metric-tile .metric-value{font-size:0.925rem;font-weight:700;color:var(--color-text);margin-top:4px;display:flex;align-items:center;gap:6px;word-break:break-word}.sync-queue-breakdown,.sync-deadletter-breakdown{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:14px;padding:12px 14px;margin-bottom:16px;text-align:left}.sync-deadletter-breakdown{border-color:rgba(244,63,94,0.35);background:rgba(244,63,94,0.04)}.queue-breakdown-header{display:flex;justify-content:space-between;align-items:center;font-size:0.775rem;font-weight:700;color:var(--color-text)}.queue-clear-link{background:transparent;border:none;color:#f43f5e;font-size:0.725rem;font-weight:700;cursor:pointer;padding:2px 6px;border-radius:6px;transition:background 0.15s ease}.queue-clear-link:hover{background:rgba(244,63,94,0.12)}.queue-items-list,.deadletter-items-list{max-height:140px;overflow-y:auto;margin-top:8px;display:flex;flex-direction:column;gap:6px}.queue-item-row,.deadletter-item-row{display:flex;justify-content:space-between;align-items:center;font-size:0.775rem;color:var(--color-text);padding:6px 0;border-bottom:1px solid var(--color-border);gap:8px}.deadletter-item-row{flex-direction:column;align-items:flex-start;gap:4px;padding:8px 0}.deadletter-item-top{display:flex;justify-content:space-between;align-items:center;width:100%}.deadletter-error-text{font-size:0.7rem;color:#f43f5e;font-family:monospace;word-break:break-all}.deadletter-actions-group{display:flex;gap:6px;align-items:center}.btn-mini{padding:2px 8px;font-size:0.7rem;font-weight:700;border-radius:6px;cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg-light);color:var(--color-text)}.btn-mini.retry{color:#10b981;border-color:rgba(16,185,129,0.3);background:rgba(16,185,129,0.1)}.btn-mini.discard{color:#f43f5e;border-color:rgba(244,63,94,0.3);background:rgba(244,63,94,0.1)}.queue-item-badge{font-weight:700;padding:2px 6px;border-radius:4px;font-size:0.675rem;text-transform:uppercase}.queue-item-badge.upsert{background:rgba(16,185,129,0.12);color:#10b981}.queue-item-badge.delete{background:rgba(244,63,94,0.12);color:#f43f5e}.sync-modal-actions{display:flex;gap:10px;margin-top:16px}.sync-action-btn{flex:1;min-height:44px;border-radius:12px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:8px}@media (max-width:480px){.sync-diagnostics-card{padding:18px 16px max(16px,env(safe-area-inset-bottom)) !important;border-radius:20px !important}.sync-modal-icon{width:40px;height:40px;font-size:1.15rem}.sync-modal-header h3{font-size:1.15rem}.sync-metrics-grid{grid-template-columns:1fr;gap:8px}}.account-info-tile{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:12px 14px}[data-theme="dark"] .account-info-tile{background:#0f172a;border-color:#334155}.account-info-label{font-size:0.75rem;color:var(--color-text-muted);font-weight:600;display:flex;align-items:center;gap:6px;margin-bottom:4px}.account-info-value{font-size:0.925rem;font-weight:700;color:var(--color-text);word-break:break-all}.account-section-block{background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:20px;margin-bottom:18px}[data-theme="dark"] .account-section-block{background:#0f172a;border-color:#334155}.account-password-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:14px}.account-actions-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.account-actions-row .btn{min-height:44px;padding:10px 22px;font-weight:600;border-radius:var(--radius-sm)}.password-input-wrapper{position:relative;display:flex;align-items:center;width:100%}.password-input-wrapper input{width:100%;padding-right:44px !important}.btn-toggle-pw{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:6px;width:32px;height:32px;font-size:0.9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;transition:color 0.15s ease,background-color 0.15s ease;z-index:2}.btn-toggle-pw:hover{color:var(--color-text);background:rgba(0,0,0,0.05)}[data-theme="dark"] .btn-toggle-pw:hover{color:#f8fafc;background:rgba(255,255,255,0.08)}.account-feedback-msg{font-size:0.825rem;padding:10px 14px;border-radius:8px;display:flex;align-items:center;gap:8px;line-height:1.4}.account-feedback-msg.success{background:rgba(16,185,129,0.12);color:#10b981;border:1px solid rgba(16,185,129,0.3)}.account-feedback-msg.error{background:rgba(244,63,94,0.12);color:#f43f5e;border:1px solid rgba(244,63,94,0.3)}.account-feedback-msg.info{background:rgba(14,165,233,0.12);color:#0ea5e9;border:1px solid rgba(14,165,233,0.3)}@media (max-width:640px){.account-password-grid{grid-template-columns:1fr;gap:12px}.account-actions-row{flex-direction:column;align-items:stretch}.account-actions-row .btn{width:100%;margin-left:0 !important;justify-content:center}}.goals-toolbar{transition:background-color var(--transition-fast),border-color var(--transition-fast)}.goals-filter-group{display:flex;gap:8px;align-items:center}.goals-filter-btn{padding:10px 18px;border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:0.85rem;font-weight:600;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;transition:all 0.2s ease}.goals-filter-btn:hover{border-color:var(--color-text-muted);color:var(--color-text)}.goals-filter-btn.active{background:var(--color-primary);color:var(--color-bg);border-color:var(--color-primary)}[data-theme="dark"] .goals-filter-btn.active{background:#ffffff;color:#09090b;border-color:#ffffff}.goals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:22px;margin-top:10px}.goal-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:22px;display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--shadow-sm);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.goal-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:rgba(16,185,129,0.35)}.goal-card-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.goal-icon-badge{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.25rem;transition:transform 0.2s ease}.goal-card:hover .goal-icon-badge{transform:scale(1.05)}.goal-card-menu-btn{background:none;border:none;color:var(--color-text-muted);width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all 0.2s ease}.goal-card-menu-btn:hover{background:var(--color-bg-light);color:var(--color-text)}.goal-card-title{font-size:1.15rem;font-weight:700;color:var(--color-text);margin:0 0 6px 0;line-height:1.3}.goal-card-notes{font-size:0.825rem;color:var(--color-text-muted);margin:0 0 16px 0;line-height:1.4;min-height:1.4em}.goal-amount-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.goal-saved-amount{font-size:1.45rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em}.goal-target-amount{font-size:0.85rem;color:var(--color-text-muted);font-weight:500}.goal-progress-wrapper{position:relative;margin:12px 0 16px 0}.goal-progress-track{height:12px;background:var(--color-bg-alt);border-radius:var(--radius-full);overflow:hidden;position:relative;border:1px solid var(--color-border)}.goal-progress-fill{height:100%;border-radius:var(--radius-full);transition:width 0.5s cubic-bezier(0.16,1,0.3,1)}.goal-milestone-notches{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;justify-content:space-between;padding:0 4px;pointer-events:none}.goal-milestone-pip{width:2px;height:100%;background:rgba(255,255,255,0.3)}[data-theme="light"] .goal-milestone-pip{background:rgba(0,0,0,0.15)}.goal-stats-row{display:flex;justify-content:space-between;align-items:center;font-size:0.82rem;color:var(--color-text-muted);margin-bottom:18px}.goal-percentage-pill{font-weight:700;padding:2px 8px;border-radius:var(--radius-full);font-size:0.775rem}.goal-target-countdown{display:flex;align-items:center;gap:5px}.goal-card-footer{display:flex;gap:10px;margin-top:auto;align-items:center}.goal-add-funds-btn{flex:1;min-height:48px;border-radius:var(--radius-sm);font-weight:600;font-size:0.875rem;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all 0.2s ease}.goal-options-btn{width:48px;height:48px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease}.goal-options-btn:hover{background:var(--color-bg-light);border-color:var(--color-text-muted)}.goals-empty-state{grid-column:1 / -1;text-align:center;padding:64px 24px;background:var(--color-card);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.goals-empty-icon{width:68px;height:68px;border-radius:50%;background:rgba(16,185,129,0.12);color:var(--color-success);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px auto}.goals-empty-title{font-size:1.25rem;font-weight:700;color:var(--color-text);margin:0 0 8px 0}.goals-empty-desc{font-size:0.9rem;color:var(--color-text-muted);max-width:440px;margin:0 auto 24px auto;line-height:1.5}.goal-mode-btn{transition:background 0.2s ease,color 0.2s ease,box-shadow 0.2s ease;color:var(--color-text-muted);background:transparent}.goal-mode-btn.active{background:var(--color-card);color:var(--color-text);box-shadow:var(--shadow-sm)}.color-swatch-btn{width:34px;height:34px;border-radius:50%;border:2px solid transparent;cursor:pointer;outline:none;transition:transform 0.2s ease,border-color 0.2s ease}.color-swatch-btn:hover{transform:scale(1.1)}.color-swatch-btn.active{border-color:var(--color-text);transform:scale(1.15);box-shadow:0 0 0 2px var(--color-card)}.deposit-chip-btn{padding:8px 14px;min-height:42px;min-width:56px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-weight:700;font-size:0.85rem;cursor:pointer;transition:all 0.2s ease;display:inline-flex;align-items:center;justify-content:center}.deposit-chip-btn:hover{border-color:var(--color-primary);background:var(--color-bg-light)}.deposit-chip-btn:active{transform:scale(0.96)}.confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99999}@media (max-width:640px){.goals-grid{grid-template-columns:1fr;gap:16px}.goals-toolbar{flex-direction:column;align-items:stretch}.goals-filter-group{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.goals-filter-btn{white-space:nowrap}#open-create-goal-btn{width:100%;justify-content:center;min-height:48px}}.loans-container{display:flex;flex-direction:column;gap:24px}.loans-person-group{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg,16px);padding:20px 24px;box-shadow:var(--shadow-sm);transition:border-color 0.2s ease,box-shadow 0.2s ease;overflow:hidden;box-sizing:border-box;width:100%;max-width:100%}.loans-person-group:hover{border-color:rgba(16,185,129,0.3)}.person-group-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--color-border);margin-bottom:18px}.person-group-left{display:flex;align-items:center;gap:12px}.person-avatar{width:40px;height:40px;border-radius:50%;background:rgba(16,185,129,0.12);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:0.95rem;flex-shrink:0;border:1px solid rgba(16,185,129,0.25)}.person-name-title{margin:0;font-size:1.15rem;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:8px}.person-rename-btn{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:4px 6px;border-radius:6px;font-size:0.8rem;transition:all 0.15s ease}.person-rename-btn:hover{color:var(--color-primary);background:rgba(16,185,129,0.1)}.person-group-net{display:flex;align-items:center;gap:8px}.net-position-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:var(--radius-full,9999px);font-size:0.825rem;font-weight:700;letter-spacing:-0.01em}.net-position-badge.lent{background:rgba(16,185,129,0.14);color:#047857;border:1px solid rgba(16,185,129,0.35)}.net-position-badge.borrowed{background:rgba(244,63,94,0.14);color:#be123c;border:1px solid rgba(244,63,94,0.35)}.net-position-badge.settled{background:rgba(100,116,139,0.12);color:#334155;border:1px solid rgba(100,116,139,0.3)}[data-theme="dark"] .net-position-badge.lent{background:rgba(16,185,129,0.18);color:#34d399;border-color:rgba(16,185,129,0.35)}[data-theme="dark"] .net-position-badge.borrowed{background:rgba(244,63,94,0.18);color:#fb7185;border-color:rgba(244,63,94,0.35)}[data-theme="dark"] .net-position-badge.settled{background:rgba(148,163,184,0.15);color:#94a3b8;border-color:rgba(148,163,184,0.25)}.person-loans-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;width:100%;min-width:0;box-sizing:border-box}.loan-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-md,12px);padding:18px;display:flex;flex-direction:column;position:relative;box-sizing:border-box;width:100%;max-width:100%;min-width:0;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,0.04),0 1px 2px rgba(0,0,0,0.02);transition:transform 0.2s ease,box-shadow 0.2s ease,border-color 0.2s ease}.loan-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px -4px rgba(0,0,0,0.08),0 4px 8px -4px rgba(0,0,0,0.04);border-color:rgba(16,185,129,0.35)}[data-theme="dark"] .loan-card{background:#18181b;border-color:#27272a;box-shadow:none}[data-theme="dark"] .loan-card:hover{border-color:rgba(16,185,129,0.35);box-shadow:var(--shadow-sm)}.loan-card-top{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;row-gap:8px;column-gap:8px;margin-bottom:12px;width:100%;min-width:0;box-sizing:border-box}.loan-card-top-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;max-width:100%;flex:1 1 auto}.direction-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:6px;font-size:0.725rem;font-weight:700;text-transform:uppercase;letter-spacing:0.02em;white-space:nowrap;flex-shrink:0}.direction-badge.lent{background:rgba(16,185,129,0.14);color:#047857;border:1px solid rgba(16,185,129,0.35)}.direction-badge.borrowed{background:rgba(244,63,94,0.14);color:#be123c;border:1px solid rgba(244,63,94,0.35)}.direction-badge.settled,.direction-badge.lent.settled,.direction-badge.borrowed.settled{background:rgba(100,116,139,0.12);color:#334155;border:1px solid rgba(100,116,139,0.3)}[data-theme="dark"] .direction-badge.lent{background:rgba(16,185,129,0.18);color:#34d399;border-color:rgba(16,185,129,0.35)}[data-theme="dark"] .direction-badge.borrowed{background:rgba(244,63,94,0.18);color:#fb7185;border-color:rgba(244,63,94,0.35)}[data-theme="dark"] .direction-badge.settled,[data-theme="dark"] .direction-badge.lent.settled,[data-theme="dark"] .direction-badge.borrowed.settled{background:rgba(148,163,184,0.15);color:#94a3b8;border-color:rgba(148,163,184,0.25)}.loan-card-top-actions{display:flex;gap:6px;align-items:center;flex-shrink:0;margin-left:auto}.loan-card-top-actions .goal-card-menu-btn{color:#64748b;width:36px;height:36px;min-width:36px;min-height:36px;flex-shrink:0;font-size:0.875rem;display:inline-flex;align-items:center;justify-content:center}.loan-card-top-actions .goal-card-menu-btn:hover{background:rgba(0,0,0,0.05);color:var(--color-text)}[data-theme="dark"] .loan-card-top-actions .goal-card-menu-btn{color:#94a3b8}[data-theme="dark"] .loan-card-top-actions .goal-card-menu-btn:hover{background:rgba(255,255,255,0.08);color:#ffffff}.loan-date-badge{font-size:0.725rem;color:#64748b;display:inline-flex;align-items:center;gap:4px;white-space:nowrap;flex-shrink:0}[data-theme="dark"] .loan-date-badge{color:var(--color-text-muted)}.loan-kind-badge{font-size:0.72rem;font-weight:600;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:6px;white-space:nowrap;flex-shrink:0;letter-spacing:0.01em}.loan-kind-badge.cash{background:rgba(14,165,233,0.12);color:#0284c7;border:1px solid rgba(14,165,233,0.3)}.loan-kind-badge.on-behalf{background:rgba(168,85,247,0.12);color:#9333ea;border:1px solid rgba(168,85,247,0.3)}[data-theme="dark"] .loan-kind-badge.cash{background:rgba(14,165,233,0.18);color:#38bdf8;border-color:rgba(14,165,233,0.35)}[data-theme="dark"] .loan-kind-badge.on-behalf{background:rgba(168,85,247,0.18);color:#c084fc;border-color:rgba(168,85,247,0.35)}.loan-kind-option{transition:border-color 0.2s ease,background 0.2s ease}.loan-kind-option:hover{border-color:var(--color-primary) !important}.loan-amount-row{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:6px;margin-bottom:6px;width:100%;min-width:0;box-sizing:border-box}.loan-outstanding-val{font-size:1.35rem;font-weight:800;color:var(--color-text);letter-spacing:-0.02em;min-width:0;word-break:break-word}.loan-principal-val{font-size:0.825rem;color:#64748b;font-weight:500;min-width:0;word-break:break-word;white-space:normal;text-align:right}[data-theme="dark"] .loan-principal-val{color:var(--color-text-muted)}.loan-notes-text{font-size:0.8rem;color:var(--color-text-muted);margin:0 0 12px 0;min-height:1.3em;width:100%;max-width:100%;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box}.loan-progress-track{height:8px;background-color:#e2e8f0;border-radius:var(--radius-full,9999px);overflow:hidden;position:relative;border:1px solid #cbd5e1;margin-bottom:10px;width:100%;max-width:100%;box-sizing:border-box}[data-theme="dark"] .loan-progress-track{background-color:rgba(255,255,255,0.08);border-color:rgba(255,255,255,0.12)}.loan-progress-fill{height:100%;border-radius:var(--radius-full,9999px);transition:width 0.4s cubic-bezier(0.16,1,0.3,1);max-width:100%}.loan-stats-row{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;font-size:0.78rem;color:var(--color-text-muted);margin-bottom:14px;width:100%;min-width:0;box-sizing:border-box}.loan-percent-badge{font-weight:700;padding:3px 8px;border-radius:var(--radius-full,9999px);font-size:0.75rem;background:rgba(16,185,129,0.14);color:#047857;border:1px solid rgba(16,185,129,0.28);white-space:nowrap;flex-shrink:0}[data-theme="dark"] .loan-percent-badge{background:rgba(16,185,129,0.18);color:#34d399;border-color:rgba(16,185,129,0.3)}.loan-settled-text{color:#047857 !important;font-weight:700;min-width:0;word-break:break-word}[data-theme="dark"] .loan-settled-text{color:#34d399 !important}.loan-card-footer{display:flex;gap:8px;margin-top:auto;align-items:center;width:100%;min-width:0;box-sizing:border-box}.loan-settle-btn{flex:1;min-width:0;min-height:42px;border-radius:var(--radius-sm);font-weight:700;font-size:0.825rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all 0.2s ease;box-sizing:border-box}.loan-settle-btn.btn-primary{background:#0f172a !important;color:#ffffff !important;border:1px solid #0f172a !important;box-shadow:0 4px 14px rgba(15,23,42,0.15)}.loan-settle-btn.btn-primary:hover{background:#1e293b !important;color:#ffffff !important;transform:translateY(-1px);box-shadow:0 6px 18px rgba(15,23,42,0.22)}.loan-settle-btn.btn-primary span,.loan-settle-btn.btn-primary i{color:#ffffff !important}[data-theme="dark"] .loan-settle-btn.btn-primary{background:#ffffff !important;color:#09090b !important;border:1px solid #ffffff !important;box-shadow:0 4px 16px rgba(255,255,255,0.15)}[data-theme="dark"] .loan-settle-btn.btn-primary:hover{background:#e4e4e7 !important;color:#000000 !important;transform:translateY(-1px)}[data-theme="dark"] .loan-settle-btn.btn-primary span,[data-theme="dark"] .loan-settle-btn.btn-primary i{color:#09090b !important}.loan-options-btn{width:42px;height:42px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s ease;font-size:0.875rem}.loan-options-btn:hover{background:var(--color-bg-light);border-color:var(--color-text-muted)}.loan-history-entry{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:0.85rem}.loan-history-left{display:flex;flex-direction:column;gap:2px}.loan-history-date{font-size:0.75rem;color:var(--color-text-muted)}.loan-history-note{font-weight:600;color:var(--color-text)}.loan-history-amount{font-weight:700;color:var(--color-success);font-size:0.95rem}.loan-history-amount.writeoff{color:var(--color-danger)}.loans-empty-state{text-align:center;padding:64px 24px;background:var(--color-card);border:1px dashed var(--color-border);border-radius:var(--radius-lg)}.loans-empty-icon{width:68px;height:68px;border-radius:50%;background:rgba(16,185,129,0.12);color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 18px auto}@media (max-width:768px){.loans-person-group{padding:16px;border-radius:16px;overflow:hidden;box-sizing:border-box;width:100%;max-width:100%}.person-loans-grid{grid-template-columns:minmax(0,1fr);gap:12px;width:100%;min-width:0;box-sizing:border-box}.loan-card{padding:16px;border-radius:12px;overflow:hidden;box-sizing:border-box;width:100%;max-width:100%;min-width:0}.person-group-header{flex-direction:column;align-items:flex-start;gap:10px;width:100%;min-width:0;box-sizing:border-box}.person-group-left{width:100%;min-width:0}.person-group-net{width:100%;min-width:0;justify-content:space-between;flex-wrap:wrap;gap:8px}.loan-card-top{flex-wrap:wrap;row-gap:8px;column-gap:8px;width:100%;min-width:0}.loan-card-top-meta{width:100%;flex:1 1 100%;min-width:0}.loan-card-top-actions{margin-left:auto;flex-wrap:nowrap;gap:6px;justify-content:flex-end;flex-shrink:0;min-width:0}.loan-amount-row{flex-wrap:wrap;gap:4px;align-items:baseline;width:100%;min-width:0}.loan-outstanding-val{font-size:1.25rem;min-width:0}.loan-principal-val{min-width:0;font-size:0.8rem}.loan-stats-row{flex-wrap:wrap;gap:6px;width:100%;min-width:0}.loan-card-footer{width:100%;min-width:0}.loans-toolbar{flex-direction:column;align-items:stretch}.loans-filter-group{justify-content:flex-start;overflow-x:auto;padding-bottom:4px}#open-create-loan-btn{width:100%;justify-content:center;min-height:48px}#loan-modal .modal.loan-modal-sheet{max-height:90vh !important;overflow-x:hidden !important;overflow-y:auto !important;-webkit-overflow-scrolling:touch !important}.loan-kind-selector>.loan-kind-option,.loan-kind-option .loan-kind-text{min-width:0 !important}.sheet-grab-handle.mobile-only{display:none !important}.loan-notes-group label .mobile-only{display:flex !important}#loan-modal .modal-header-row{flex-shrink:0 !important;margin-bottom:12px !important}#close-loan-modal-btn{min-width:44px !important;min-height:44px !important;display:flex !important;align-items:center !important;justify-content:center !important;padding:0 !important;font-size:1.15rem !important;color:var(--color-text-muted) !important;background:transparent !important;border:none !important;cursor:pointer !important}.loan-modal-form{display:block !important}.loan-modal-body{padding-bottom:8px !important;display:flex !important;flex-direction:column !important}.loan-dir-group{order:1 !important;margin-bottom:14px !important}.loan-kind-group{order:2 !important;margin-bottom:14px !important}.loan-amount-date-row{display:contents !important}.loan-amount-group{order:3 !important;margin-bottom:14px !important}.loan-person-group{order:4 !important;margin-bottom:14px !important}.loan-date-group{order:5 !important;margin-bottom:14px !important}.loan-notes-group{order:6 !important;margin-bottom:16px !important}.loan-direction-toggle-group{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important;background:rgba(148,163,184,0.1) !important;padding:4px !important;border-radius:12px !important;border:1px solid var(--color-border) !important}.loan-dir-btn{min-height:48px !important;padding:8px 10px !important;border-radius:10px !important;border:1px solid transparent !important;background:transparent !important;cursor:pointer !important;display:flex !important;align-items:center !important;justify-content:center !important;transition:all 150ms ease !important}.loan-dir-btn-inner{display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:center !important;gap:2px !important;width:100% !important}.loan-dir-label{font-weight:700 !important;font-size:0.85rem !important;color:var(--color-text-muted) !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important;display:flex !important;align-items:center !important;gap:6px !important}.loan-dir-sub{font-size:0.7rem !important;color:var(--color-text-muted) !important;opacity:0.8 !important;white-space:nowrap !important;overflow:hidden !important;text-overflow:ellipsis !important}#loan-direction-lent.active{background:rgba(16,185,129,0.15) !important;border-color:rgba(16,185,129,0.4) !important}#loan-direction-lent.active .loan-dir-label{color:#10b981 !important}#loan-direction-lent.active .loan-dir-sub{color:#10b981 !important;opacity:0.9 !important}#loan-direction-borrowed.active{background:rgba(99,102,241,0.15) !important;border-color:rgba(99,102,241,0.4) !important}#loan-direction-borrowed.active .loan-dir-label{color:#818cf8 !important}#loan-direction-borrowed.active .loan-dir-sub{color:#818cf8 !important;opacity:0.9 !important}.loan-kind-selector{display:grid !important;grid-template-columns:1fr 1fr !important;gap:8px !important}.loan-kind-option{min-height:54px !important;padding:8px 10px !important;border-radius:10px !important;border:1px solid var(--color-border) !important;background:var(--color-bg-light) !important;display:flex !important;align-items:center !important;gap:8px !important;box-sizing:border-box !important;cursor:pointer !important}.loan-kind-title{display:block !important;font-size:0.8rem !important;color:var(--color-text) !important;white-space:normal !important;overflow:visible !important;line-height:1.2 !important}.loan-kind-desc{font-size:0.68rem !important;color:var(--color-text-muted) !important;display:block !important;white-space:normal !important;overflow:visible !important;line-height:1.2 !important;margin-top:1px !important}.hero-amount-wrapper{position:relative !important;display:flex !important;align-items:center !important;width:100% !important}.hero-currency-prefix{position:absolute !important;left:14px !important;top:50% !important;transform:translateY(-50%) !important;font-size:1.35rem !important;font-weight:800 !important;color:var(--color-text-muted) !important;pointer-events:none !important;line-height:1 !important;display:flex !important;align-items:center !important;z-index:2 !important}.hero-amount-input,#loan-modal #loan-principal-input{padding-left:36px !important;font-size:1.35rem !important;font-weight:800 !important;font-variant-numeric:tabular-nums !important;letter-spacing:-0.01em !important;height:50px !important;min-height:50px !important;border-radius:10px !important}#loan-modal input.form-control{font-size:16px !important;min-height:44px !important;box-sizing:border-box !important;border-radius:10px !important}.label-required,#loan-modal label.label-text{white-space:nowrap !important}.modal-actions.loan-modal-actions{margin-top:8px !important;padding:0 !important;display:grid !important;grid-template-columns:1fr 2fr !important;gap:10px !important;width:100% !important}.modal-actions.loan-modal-actions button{min-height:46px !important;font-size:0.95rem !important;font-weight:700 !important;border-radius:10px !important;width:100% !important}}.admin-badge-chip{display:inline-flex;align-items:center;gap:3px;background:rgba(139,92,246,0.12);color:#7c3aed;border:1px solid rgba(139,92,246,0.28);font-size:0.65rem;font-weight:700;padding:2px 7px;border-radius:9999px;vertical-align:middle;letter-spacing:0.04em;line-height:1;margin-left:6px}[data-theme="dark"] .admin-badge-chip{background:rgba(167,139,250,0.2);color:#c4b5fd;border-color:rgba(167,139,250,0.4)}.announcement-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;margin-bottom:20px;background:linear-gradient(135deg,rgba(139,92,246,0.08) 0%,rgba(99,102,241,0.08) 100%);border:1px solid rgba(139,92,246,0.25);border-left:4px solid #7c3aed;border-radius:var(--radius-md,10px);color:var(--color-text);font-size:0.875rem;animation:announcement-fade-in 0.3s ease-out;box-shadow:0 2px 8px rgba(139,92,246,0.06)}[data-theme="dark"] .announcement-banner{background:linear-gradient(135deg,rgba(139,92,246,0.15) 0%,rgba(99,102,241,0.15) 100%);border-color:rgba(167,139,250,0.3);border-left-color:#a78bfa;color:#f8fafc;box-shadow:0 2px 10px rgba(0,0,0,0.2)}.announcement-banner .announcement-content{display:flex;align-items:center;gap:10px;flex:1;min-width:0;flex-wrap:wrap}.announcement-banner .announcement-sender{display:inline-flex;align-items:center;gap:4px;font-size:0.75rem;font-weight:700;color:#7c3aed;background:rgba(124,58,237,0.1);padding:2px 8px;border-radius:var(--radius-full,9999px);border:1px solid rgba(124,58,237,0.2);white-space:nowrap;flex-shrink:0;line-height:1.35;letter-spacing:-0.01em}[data-theme="dark"] .announcement-banner .announcement-sender{color:#c4b5fd;background:rgba(167,139,250,0.14);border-color:rgba(167,139,250,0.28)}.announcement-banner .announcement-text{font-weight:500;line-height:1.45;word-break:break-word;color:var(--color-text);font-size:0.875rem}[data-theme="dark"] .announcement-banner .announcement-text{color:#f1f5f9}.announcement-banner .announcement-ok-btn{padding:5px 14px;border-radius:6px;background:#7c3aed;color:#ffffff !important;border:1px solid rgba(255,255,255,0.2);font-size:0.8rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;flex-shrink:0;align-self:center}.announcement-banner .announcement-ok-btn:hover{background:#6d28d9;transform:translateY(-1px)}[data-theme="dark"] .announcement-banner .announcement-ok-btn{background:#8b5cf6;border-color:rgba(255,255,255,0.25)}[data-theme="dark"] .announcement-banner .announcement-ok-btn:hover{background:#7c3aed}@media (max-width:600px){.announcement-banner{padding:10px 12px;gap:10px}.announcement-banner .announcement-content{gap:6px 8px}.announcement-banner .announcement-sender{font-size:0.725rem;padding:1px 6px}.announcement-banner .announcement-text{font-size:0.825rem}.announcement-banner .announcement-ok-btn{padding:5px 12px;font-size:0.75rem}}@keyframes announcement-fade-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.loan-options-btn:active,.goal-options-btn:active,.goal-card-menu-btn:active,.person-rename-btn:active,.filter-btn:active,.goals-filter-btn:active,.loans-filter-btn:active,.cat-pill-btn:active,.deposit-chip-btn:active,.btn-mini:active,.badge-action-btn:active,.announcement-ok-btn:active{transform:scale(0.97) !important;background-color:rgba(15,23,42,0.08) !important;transition:transform 80ms ease,background-color 80ms ease !important}[data-theme="dark"] .loan-options-btn:active,[data-theme="dark"] .goal-options-btn:active,[data-theme="dark"] .goal-card-menu-btn:active,[data-theme="dark"] .person-rename-btn:active,[data-theme="dark"] .filter-btn:active,[data-theme="dark"] .goals-filter-btn:active,[data-theme="dark"] .loans-filter-btn:active,[data-theme="dark"] .cat-pill-btn:active,[data-theme="dark"] .deposit-chip-btn:active,[data-theme="dark"] .btn-mini:active,[data-theme="dark"] .badge-action-btn:active{background-color:rgba(255,255,255,0.12) !important}.loan-card:active,.goal-card:active,.summary-card:active,.announcement-banner:active,.budget-card:active,.transaction-row:active,[data-clickable="true"]:active{transform:scale(0.99);transition:transform 80ms ease}.sidebar,.sidebar-header,.sidebar-nav,.sidebar-footer,.nav-link,.dashboard-header,.header-left,.header-right,.profile-chip-wrapper,.user-profile-chip,.modal-header,.sync-modal-header,.loans-toolbar,.goals-toolbar,.overview-card-header,.direction-badge,.net-position-badge,.badge,.status-indicator-pill,.admin-badge-chip,.filter-btn,.goals-filter-btn,.loans-filter-btn,.cat-pill-btn,.deposit-chip-btn,.sidebar-collapse-btn,.loan-options-btn,.goal-options-btn,.goal-card-menu-btn{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.loan-notes-text,.loan-history-note,.loan-history-entry,.loan-amount-row,.loan-outstanding-val,.stat-value,.stat-amount,.amount-text,.transaction-item,.transaction-table,.transaction-table td,.transaction-table th,.overview-val,input,textarea,p,blockquote{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text}button,.btn,.icon-btn,.nav-link,.user-profile-chip,.sidebar-collapse-btn,.loan-options-btn,.goal-options-btn,.goal-card-menu-btn,.filter-btn,.goals-filter-btn,.loans-filter-btn,.cat-pill-btn,.deposit-chip-btn,.cat-icon-btn,.announcement-ok-btn,i,svg{-webkit-touch-callout:none}.cat-icon-btn{display:inline-flex;align-items:center;justify-content:center;height:42px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:8px;color:var(--color-text);font-size:1.05rem;cursor:pointer;outline:none;position:relative;transition:all 0.15s ease}.cat-icon-btn:hover{border-color:#6366f1;background:rgba(99,102,241,0.08);color:#6366f1}.cat-icon-btn.active{background:#09090b !important;border-color:#09090b !important;color:#ffffff !important;box-shadow:0 0 0 2px var(--color-card,#ffffff),0 0 0 4px #6366f1 !important}.cat-icon-btn:active{transform:scale(0.95)}.cat-icon-btn .fa-ban,.cat-icon-btn .cat-none-icon{font-size:0.95rem;opacity:0.55;color:var(--color-text-muted)}.cat-icon-btn.active .fa-ban,.cat-icon-btn.active .cat-none-icon{opacity:0.95;color:#ffffff !important}.custom-cat-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:8px;font-size:0.875rem}.custom-cat-meta{display:flex;align-items:center;gap:10px}.custom-cat-icon-badge{width:32px;height:32px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:0.9rem;flex-shrink:0}.custom-cat-actions{display:flex;gap:6px;align-items:center}.custom-cat-action-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:5px 8px;border-radius:5px;font-size:0.85rem;transition:all 0.15s ease}.custom-cat-action-btn:hover{color:var(--color-primary);background:rgba(99,102,241,0.1)}.custom-cat-action-btn.delete:hover{color:var(--color-danger);background:rgba(239,68,68,0.1)}[data-theme="dark"] .cat-icon-btn{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.14);color:#fafafa}[data-theme="dark"] .cat-icon-btn:hover{background:rgba(255,255,255,0.1);border-color:rgba(99,102,241,0.6);color:#ffffff}[data-theme="dark"] .cat-icon-btn.active{background:rgba(99,102,241,0.22) !important;border-color:#6366f1 !important;color:#ffffff !important;box-shadow:0 0 0 2px var(--color-card,#18181b),0 0 0 4px #6366f1,0 0 12px rgba(99,102,241,0.35) !important}[data-theme="dark"] .cat-icon-btn .fa-ban,[data-theme="dark"] .cat-icon-btn .cat-none-icon{color:var(--color-text-muted,#a1a1aa);opacity:0.6}[data-theme="dark"] .cat-icon-btn.active .fa-ban,[data-theme="dark"] .cat-icon-btn.active .cat-none-icon{color:#ffffff !important;opacity:1}[data-theme="dark"] .custom-cat-item{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.1)}.category-builtin-pill{font-size:0.68rem;font-weight:600;text-transform:uppercase;letter-spacing:0.03em;padding:2px 6px;border-radius:4px;background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text-muted)}.custom-cat-action-btn:disabled,.custom-cat-action-btn.disabled{opacity:0.4;cursor:not-allowed !important}.custom-cat-action-btn:disabled:hover,.custom-cat-action-btn.disabled:hover{background:none !important;color:var(--color-text-muted) !important}.reassign-category-modal-card{box-shadow:0 20px 25px -5px rgba(0,0,0,0.2),0 10px 10px -5px rgba(0,0,0,0.04)}.reassign-confirm-note{border-radius:8px;transition:all 0.2s ease}[data-theme="dark"] #reassign-inline-add-row{background:rgba(255,255,255,0.04) !important;border-color:rgba(255,255,255,0.12) !important}[data-theme="dark"] #reassign-confirm-warning{background:rgba(239,68,68,0.15) !important;border-color:rgba(239,68,68,0.3) !important;color:#fca5a5 !important}.summary-card-subtext{font-size:0.75rem;color:var(--color-text-muted);max-width:100%;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box}.leftover-quick-action{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;max-width:100%;box-sizing:border-box;margin-top:8px;padding:6px 8px;background:rgba(16,185,129,0.08);border:1px solid rgba(16,185,129,0.25);border-radius:8px;min-width:0}[data-theme="dark"] .leftover-quick-action{background:rgba(16,185,129,0.12);border-color:rgba(16,185,129,0.35)}.leftover-act-btn{background:none;border:none;color:var(--color-success,#10b981);font-size:0.725rem;font-weight:600;padding:0;cursor:pointer;text-align:left;line-height:1.35;white-space:normal;word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0;transition:opacity 0.15s ease}.leftover-act-btn:hover{opacity:0.85}.leftover-dismiss-btn{background:none;border:none;color:var(--color-text-muted);cursor:pointer;padding:0 4px;font-size:0.95rem;line-height:1;flex-shrink:0;transition:color 0.15s ease}.leftover-dismiss-btn:hover{color:var(--color-text)}.income-history-group-header{font-size:0.75rem;font-weight:700;text-transform:uppercase;letter-spacing:0.04em;color:var(--color-text-muted);margin:10px 0 6px 0;padding-left:2px}.income-history-row{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:8px;gap:8px;width:100%;box-sizing:border-box;min-width:0}.income-history-delete-btn:hover{color:var(--color-danger,#f43f5e) !important}.leftover-goal-item{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:var(--color-bg-light);border:1px solid var(--color-border);border-radius:8px;cursor:pointer;transition:all 0.15s ease;width:100%;box-sizing:border-box}.leftover-goal-item:hover{border-color:var(--color-primary);background:rgba(99,102,241,0.05)}.summary-card.interactive-stat-card{cursor:pointer;user-select:none;position:relative;transition:transform 0.18s cubic-bezier(0.16,1,0.3,1),box-shadow 0.18s ease,border-color 0.18s ease;min-height:44px}.summary-card.interactive-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px rgba(0,0,0,0.08);border-color:rgba(99,102,241,0.35)}[data-theme="dark"] .summary-card.interactive-stat-card:hover{box-shadow:0 4px 16px rgba(0,0,0,0.35);border-color:rgba(99,102,241,0.45)}.summary-card.interactive-stat-card:focus-visible{outline:2px solid var(--color-primary,#6366f1);outline-offset:2px}.summary-card.interactive-stat-card .card-info p,.summary-card.interactive-stat-card .card-info .summary-card-subtext{transition:opacity 0.18s ease,transform 0.18s ease}.summary-card.interactive-stat-card.toggling .card-info p,.summary-card.interactive-stat-card.toggling .card-info .summary-card-subtext{opacity:0.2;transform:scale(0.97)}.stat-card-qualifier .q-short{display:none}.stat-card-toggle-icon{font-size:0.72rem;color:var(--color-text-muted);opacity:0.5;transition:opacity 0.18s ease,transform 0.25s cubic-bezier(0.16,1,0.3,1);display:inline-flex;align-items:center;margin-left:6px;vertical-align:middle}.summary-card.interactive-stat-card:hover .stat-card-toggle-icon,.summary-card.interactive-stat-card:focus-visible .stat-card-toggle-icon{opacity:0.95;transform:rotate(180deg)}