:root{--bg-dark:#1a1a2e;--bg-purple:#4a1942;--bg-gradient:linear-gradient(135deg,#1a1a2e,#4a1942 50%,#1a1a2e);--glass-bg:#ffffff1a;--glass-bg-light:#ffffff26;--glass-border:#fff3;--glass-blur:blur(10px);--primary-gradient:linear-gradient(135deg,#ec4899,#8b5cf6);--income-green:#22c55e;--expense-pink:#ec4899;--warning-yellow:#fbbf24;--text-primary:#fff;--text-muted:#ffffffb3;--text-dark:#1e293b;--card-radius:20px;--card-shadow:0 8px 32px #0003}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body,html{background:#f8fafc}body{-webkit-overflow-scrolling:touch;color:#1e293b;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;margin:0;min-height:100%;overscroll-behavior:none;padding:0 env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}@media (display-mode:standalone){html{height:-webkit-fill-available}body{min-height:-webkit-fill-available}.mobile-header{height:calc(3.5rem + max(env(safe-area-inset-top, 0px), 20px));padding-top:max(env(safe-area-inset-top,0px),20px)}.modal-overlay{padding-top:calc(1rem + max(env(safe-area-inset-top, 0px), 44px))}.modal{max-height:calc(90vh - max(env(safe-area-inset-top, 0px), 44px) - env(safe-area-inset-bottom, 0px))}}@supports (-webkit-touch-callout:none){@media (display-mode:standalone){.mobile-header{height:calc(3.5rem + max(env(safe-area-inset-top, 0px), 44px));padding-top:max(env(safe-area-inset-top,0px),44px)}.modal-overlay{padding-top:calc(1rem + max(env(safe-area-inset-top, 0px), 44px))}.modal{max-height:calc(90vh - max(env(safe-area-inset-top, 0px), 44px) - env(safe-area-inset-bottom, 0px))}}}.app{background:#0000;min-height:100vh}.loading-screen{align-items:center;background:linear-gradient(135deg,#1a1a2e,#4a1942 50%,#1a1a2e);background:var(--bg-gradient);background-attachment:fixed;display:flex;flex-direction:column;justify-content:center}.loading-text{color:#fff;color:var(--text-primary);font-size:1.125rem;font-weight:500}.loading-subtext{color:#ffffffb3;color:var(--text-muted);font-size:.875rem;margin-top:.5rem}.header{background:#fff;border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a;position:relative;z-index:100}.header-content{flex-wrap:wrap;justify-content:space-between;margin:0 auto;max-width:56rem;padding:1.25rem 1rem}.header-content,.header-user{align-items:center;display:flex;gap:.75rem}.user-email{color:#6b7280;font-size:.875rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.header-content{align-items:flex-start;flex-direction:column}.header-user{justify-content:space-between;padding-top:.5rem;width:100%}.user-email{flex-shrink:1;max-width:200px;overflow:hidden;text-overflow:ellipsis}.sign-out-button{flex-shrink:0}}.manage-subscription-button{align-items:center;background:#0000;border:none;border-radius:.375rem;color:#9ca3af;cursor:pointer;display:flex;justify-content:center;min-height:44px;min-width:44px;padding:8px;transition:color .15s,background .15s}.manage-subscription-button:hover{background:#0000000d;color:#6b7280}.manage-subscription-button:active{background:#0000001a}.manage-subscription-button svg{height:18px;width:18px}.sign-out-button{background:#fff;border:1px solid #d1d5db;border-radius:.375rem;color:#6b7280;cursor:pointer;font-size:.875rem;min-height:44px;padding:12px 16px;position:relative;z-index:1}.sign-out-button:active,.sign-out-button:hover{border-color:#dc2626;color:#dc2626}.sign-out-button:active{background:#fee2e2}.auth-container{align-items:center;background:linear-gradient(180deg,#f8fafc 0,#f1f5f9);display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:calc(4rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem}.auth-title{color:#ec4899;font-size:1.875rem;font-style:italic;font-weight:700;margin-bottom:.5rem;text-align:center}.auth-subtitle{color:#6b7280;font-size:.875rem;margin-bottom:2.5rem;text-align:center}.auth-card{background:#fff;border-radius:1.5rem;box-shadow:0 10px 40px #0000001a;max-width:24rem;padding:2rem;width:100%}.auth-form{text-align:left}.auth-form h2{color:#111827;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;text-align:center}.auth-form .form-group{margin-bottom:1rem}.auth-form .form-group label{color:#374151!important;display:block!important;font-size:.875rem!important;font-weight:500!important;margin-bottom:.5rem!important;visibility:visible!important}.auth-form input[type=email],.auth-form input[type=password],.auth-form input[type=text]{-webkit-text-fill-color:#111827;background:#fff!important;border:1px solid #d1d5db!important;border-radius:.75rem;color:#111827!important;font-size:1rem;padding:.875rem 1rem;transition:all .15s;width:100%}.auth-form input::placeholder{-webkit-text-fill-color:#9ca3af;color:#9ca3af!important;opacity:1!important}.auth-form input::-webkit-input-placeholder{-webkit-text-fill-color:#9ca3af;color:#9ca3af!important;opacity:1!important}.auth-form input::-moz-placeholder{color:#9ca3af!important;opacity:1!important}.auth-form input:-ms-input-placeholder{color:#9ca3af!important;opacity:1!important}.auth-form input:focus{background:#fff!important;border-color:#8b5cf6!important;box-shadow:0 0 0 3px #8b5cf61a;outline:none}.forgot-password-link{color:#7c3aed;font-size:.875rem}.remember-me-group{margin-bottom:1.5rem}.remember-me-label{color:#4b5563}.remember-me-label input[type=checkbox]{accent-color:#8b5cf6;border:1px solid #d1d5db;border-radius:.25rem}.auth-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem 1rem}.auth-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.75rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;margin-top:.5rem;padding:1rem;transition:all .2s;width:100%}.auth-button:hover:not(:disabled){opacity:.9}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-toggle{color:#6b7280;font-size:.875rem;margin-top:1.5rem;text-align:center}.auth-toggle-button{background:none;border:none;color:#ec4899;cursor:pointer;font-weight:500}.auth-toggle-button:hover{text-decoration:underline}.auth-back-button{text-align:center}.auth-back-button:hover{color:#374151}.auth-success-message{color:#374151;font-size:.9375rem;margin-bottom:.75rem}.auth-success-hint{color:#6b7280;font-size:.8125rem}.auth-hint{color:#6b7280;margin-bottom:1.5rem}.header-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.header-subtitle{color:#6b7280;font-size:.875rem}.error-banner{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;color:#dc2626;display:flex;justify-content:space-between;margin:1rem;padding:.75rem 1rem}.retry-button{background:#dc2626;border:none;border-radius:.25rem;color:#fff;cursor:pointer;padding:.25rem .75rem}.main-content{box-sizing:border-box;margin:0 auto;max-width:56rem;overflow-x:hidden;padding:1.5rem 1rem;width:100%}.controls{flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem}.controls,.year-filter{align-items:center;display:flex}.year-filter{gap:.5rem}.year-filter label{color:#4b5563;font-size:.875rem}.year-filter select{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;padding:.5rem .75rem}@media (max-width:480px){.controls{align-items:stretch;flex-direction:column}.control-buttons{display:grid;grid-template-columns:repeat(2,1fr);width:100%}.control-buttons button{font-size:.8rem;padding:.5rem}.add-button{grid-column:span 2}}.add-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.5rem;box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.add-button:hover{box-shadow:0 6px 8px -1px #00000026;transform:translateY(-1px)}.control-buttons{display:flex;gap:.5rem}.mobile-controls{display:none}.export-button{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#4b5563;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.export-button:hover{background:#ecfdf5;border-color:#16a34a;color:#16a34a}.import-button{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#4b5563;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.import-button:hover{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.filter-toggle-button{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;color:#4b5563;cursor:pointer;font-weight:500;padding:.5rem 1rem;transition:all .2s}.filter-toggle-button:hover{background:#f9fafb;border-color:#ec4899;color:#ec4899}.filter-toggle-button.active{background:#ccfbf1;border-color:#ec4899;color:#ec4899}.filter-panel{align-items:flex-end;background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1rem}.filter-group{display:flex;flex-direction:column;gap:.25rem}.filter-group label{color:#6b7280;font-size:.75rem;font-weight:500}.filter-group select{background:#fff;border:1px solid #d1d5db;border-radius:.5rem;font-size:.875rem;min-width:180px;padding:.5rem .75rem}.clear-filter-button{background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:.5rem .75rem;transition:all .2s}.clear-filter-button:hover{background:#fee2e2}.filter-badge{background:#ccfbf1;border-radius:9999px;color:#7e22ce;font-size:.75rem;font-weight:400;margin-left:.5rem;padding:.25rem .5rem}.card{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;padding:1rem}.income-card{border:1px solid #bbf7d0}.income-card .card-label{color:#16a34a}.income-card .card-value{color:#15803d}.expense-card{border:1px solid #fecaca}.expense-card .card-label{color:#dc2626}.expense-card .card-value{color:#b91c1c}.net-card{border:1px solid #99f6e4}.net-card .card-label{color:#ec4899}.net-card .card-value{color:#7e22ce}.net-card .card-value.negative{color:#b91c1c}.card-label{font-size:.875rem;font-weight:500}.card-value{font-size:1.5rem;font-weight:700}.category-breakdown{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;margin-bottom:1.5rem;padding:1rem}.category-breakdown h3{color:#374151;font-weight:500;margin-bottom:.75rem}.category-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr)}@media (min-width:768px){.category-grid{grid-template-columns:repeat(4,1fr)}}.category-item{align-items:center;border-radius:.5rem;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem;transition:all .2s}.category-item:hover{background:#ccfbf1}.category-item.active{background:#ccfbf1;outline:2px solid #ec4899}.category-label{color:#4b5563}.category-value{font-weight:500}.modal-overlay{align-items:center;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:calc(1rem + env(safe-area-inset-top, 0px)) 1rem calc(1rem + env(safe-area-inset-bottom, 0px));position:fixed;right:0;top:0;z-index:1000}.modal{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1e1b32f2;border:1px solid #ffffff26;border-radius:1rem;box-shadow:0 25px 50px -12px #00000080;max-height:calc(90vh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));max-width:28rem;overflow-y:auto;padding:1.5rem;position:relative;width:100%;z-index:1001}.modal h2{color:#fff;font-size:1.125rem;font-weight:700}.form-group,.modal h2{margin-bottom:1rem}.form-group label{color:#fffc;display:block;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.form-group input,.form-group select{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;font-size:1rem;padding:.5rem .75rem;width:100%}.form-group input::placeholder{color:#fff6}.form-group select option{background:#1a1a2e;color:#fff}.form-group input:focus,.form-group select:focus{background:#ffffff26;border-color:#ec4899;box-shadow:0 0 0 3px #ec489933;outline:none}.receipt-preview{align-items:center;background:#ffffff1a;border:1px solid #ffffff26;border-radius:.5rem;display:flex;gap:.5rem;padding:.75rem}.receipt-preview a{color:#ec4899;flex:1 1;overflow:hidden;text-decoration:none;text-overflow:ellipsis;white-space:nowrap}.remove-receipt{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.875rem}.upload-button{background:none;border:2px dashed #d1d5db;border-radius:.5rem;color:#6b7280;cursor:pointer;padding:1rem;transition:all .2s;width:100%}.upload-button:hover:not(:disabled){border-color:#ec4899;color:#ec4899}.upload-button:disabled{cursor:not-allowed;opacity:.6}.modal-actions{display:flex;gap:.75rem;margin-top:1.5rem}.cancel-button,.submit-button{border-radius:.5rem;cursor:pointer;flex:1 1;font-weight:500;padding:.5rem 1rem;transition:all .2s}.cancel-button{background:#fff;border:1px solid #d1d5db;color:#4b5563}.cancel-button:hover{background:#f9fafb}.submit-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;color:#fff}.submit-button:hover{opacity:.9}.entries-list{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;box-shadow:0 1px 3px #0000001a}.entries-header{border-bottom:1px solid #e5e7eb;padding:1rem}.entries-header h3{color:#374151;font-weight:500}.empty-state{color:#6b7280;padding:2rem;text-align:center}.entries{divide:1px solid #e5e7eb}.entry{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:1rem;transition:background .2s}.entry:last-child{border-bottom:none}.entry:hover{background:#f9fafb}.entry-left{gap:.75rem}.entry-amount,.entry-left{align-items:center;display:flex}.entry-amount{color:#1f2937;flex-wrap:wrap;font-weight:500;gap:.5rem}.entry-badge{background:#f3f4f6;border-radius:9999px;color:#4b5563;font-size:.75rem;font-weight:400;padding:.125rem .5rem}.entry-badge.income{background:#dcfce7;color:#15803d}.receipt-badge{color:#9ca3af;font-size:.75rem;text-decoration:none}.entry-meta{font-size:.875rem}.entry-meta .entry-date{color:#374151}.entry-meta .entry-description{color:#1f2937}.entry-subcategory{background:#f3f4f6;border-radius:.25rem;color:#4b5563;font-size:.75rem;margin-left:.5rem}.delete-button,.edit-button{background:none;border:none;cursor:pointer;font-size:1rem;opacity:.4;padding:.25rem;transition:opacity .2s}.delete-button:hover,.edit-button:hover{opacity:1}.entry-actions-desktop{display:flex;gap:.5rem;opacity:0;transition:opacity .2s}.entry:hover .entry-actions-desktop{opacity:1}.entry-actions-desktop .entry-delete,.entry-actions-desktop .entry-edit{background:none;border:1px solid #e5e7eb;border-radius:.375rem;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .15s}.entry-actions-desktop .entry-edit{color:#6b7280}.entry-actions-desktop .entry-edit:hover{background:#f3f4f6;color:#111827}.entry-actions-desktop .entry-delete{border-color:#fecaca;color:#ef4444}.entry-actions-desktop .entry-delete:hover{background:#fef2f2}.entry-amount .income{color:#16a34a}.entry-amount .expense{color:#dc2626}.entry-amount .miles{color:#3b82f6}@media (max-width:640px){.summary-cards{grid-template-columns:1fr}.card-value{font-size:1.25rem}}.paywall-container{align-items:flex-start;background:linear-gradient(180deg,#f8fafc 0,#f1f5f9);display:flex;justify-content:center;min-height:100vh;padding:calc(3rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem}.paywall-content{max-width:28rem;width:100%}.paywall-title{color:#ec4899;font-size:1.875rem;font-style:italic;font-weight:700;margin-bottom:.25rem;text-align:center}.paywall-subtitle{color:#6b7280;font-size:1rem;margin-bottom:1.5rem;text-align:center}.paywall-error{background:#fef2f2;border:1px solid #fecaca;border-radius:.75rem;color:#dc2626;font-size:.875rem;margin-bottom:1rem;padding:.75rem;text-align:center}.plan-section{background:#fff;border-radius:1.5rem;box-shadow:0 4px 20px #00000014;margin-bottom:1rem;padding:1.5rem}.plan-section-pro{background:#f0fdf4;border:2px solid #bbf7d0}.plan-section-title{color:#111827;font-size:1.5rem;font-weight:700;margin-bottom:.25rem;text-align:center}.plan-section-desc{color:#6b7280;font-size:.875rem;margin-bottom:1rem;text-align:center}.plan-options-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(2,1fr);margin-bottom:1rem}.plan-option{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;cursor:pointer;padding:1rem;position:relative;text-align:center;transition:all .2s}.plan-option:hover{border-color:#ec4899}.plan-option-featured{border:2px solid #22c55e;padding-top:1.5rem}.plan-badge{background:#22c55e;border-radius:9999px;color:#fff;font-size:.625rem;font-weight:700;left:50%;padding:.25rem .625rem;position:absolute;top:-.625rem;transform:translateX(-50%);white-space:nowrap}.plan-price{color:#111827;font-size:1.5rem;font-weight:700}.plan-period{color:#6b7280;font-size:.75rem;margin-bottom:.25rem}.plan-savings{color:#16a34a;font-weight:600}.plan-savings,.plan-total{font-size:.75rem;margin-bottom:.75rem}.plan-total{color:#9ca3af}.plan-button{border:none;border-radius:.5rem;cursor:pointer;font-size:.75rem;font-weight:600;padding:.5rem .75rem;transition:all .2s;width:100%}.plan-button.primary{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.plan-button.primary:hover:not(:disabled){opacity:.9}.plan-button.outline{background:#fff;border:1.5px solid #ec4899;color:#ec4899}.plan-button.outline:hover:not(:disabled){background:#fdf4ff}.plan-button:disabled{cursor:not-allowed;opacity:.6}.plan-features{grid-gap:.5rem;border-top:1px solid #f3f4f6;display:grid;gap:.5rem;grid-template-columns:repeat(2,1fr);padding-top:1rem}.plan-section-pro .plan-features{border-top-color:#bbf7d0}.plan-feature{align-items:center;color:#374151;display:flex;font-size:.75rem;gap:.375rem}.feature-check{color:#22c55e;font-weight:600}.paywall-footer{color:#6b7280;font-size:.875rem;margin-top:1rem;text-align:center}.paywall-signout{background:none;border:none;color:#ec4899;cursor:pointer;font-weight:600;margin-left:.5rem}.paywall-signout:hover{text-decoration:underline}@media (max-width:380px){.plan-options-grid{gap:.5rem}.plan-option{padding:.75rem .5rem}.plan-price{font-size:1.25rem}.plan-features{grid-template-columns:1fr}}.plan-features-list{list-style:none;margin:.75rem 0;padding:0;text-align:left}.plan-features-list li{color:#4b5563;font-size:.8rem;padding:.25rem 0 .25rem 1.25rem;position:relative}.plan-features-list li:before{color:#16a34a;content:"✓";font-weight:700;left:0;position:absolute}.scan-section{margin-bottom:1.5rem;padding-bottom:1rem}.scan-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1rem;transition:all .2s;width:100%}.scan-button:hover{opacity:.9;transform:translateY(-1px)}.scan-loading{align-items:center;background:#f9fafb;border-radius:.5rem;color:#6b7280;display:flex;gap:.75rem;justify-content:center;padding:1rem}.scan-spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#ec4899;height:20px;width:20px}.scan-counter{margin-top:.75rem;text-align:center}.scan-count{color:#6b7280;font-size:.75rem}.scan-count.pro{color:#16a34a;font-weight:600}.scan-divider{align-items:center;color:#9ca3af;display:flex;font-size:.75rem;margin-top:1rem}.scan-divider:after,.scan-divider:before{background:#e5e7eb;content:"";flex:1 1;height:1px}.scan-divider span{padding:0 .75rem}.scan-limit-reached{background:#fef3c7;border:1px solid #fcd34d;border-radius:.5rem;padding:1rem;text-align:center}.scan-limit-reached p{color:#92400e;font-size:.875rem;margin-bottom:.75rem}.upgrade-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:opacity .2s}.upgrade-button:hover{opacity:.9}.scan-error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:.5rem;padding:1rem;text-align:center}.scan-error-message p{color:#dc2626;font-size:.875rem;margin-bottom:.75rem}.scan-retry-button{background:#fff;border:1px solid #dc2626;border-radius:.5rem;color:#dc2626;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.scan-retry-button:hover{background:#fef2f2}.landing-page{min-height:100vh}.landing-header{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 2rem 1.5rem}.landing-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:700}.landing-login-button{background:#0000;border:2px solid #ec4899;border-radius:.5rem;color:#ec4899;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1.25rem;transition:all .2s}.landing-login-button:hover{background:#ec4899;color:#fff}.hero-section{margin:0 auto;max-width:800px;padding:4rem 2rem 5rem;text-align:center}.hero-title{color:#1f2937;font-size:3rem;font-weight:800;line-height:1.1;margin-bottom:1.5rem}@media (max-width:640px){.hero-title{font-size:2rem}}.hero-subtitle{color:#4b5563;font-size:1.25rem;line-height:1.6;margin-bottom:2rem}.hero-cta{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.75rem;box-shadow:0 4px 14px #ec489966;color:#fff;cursor:pointer;font-size:1.125rem;font-weight:600;padding:1rem 2.5rem;transition:all .2s}.hero-cta:hover{box-shadow:0 6px 20px #ec489980;transform:translateY(-2px)}.hero-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.hero-cta-secondary{background:#fff;border:2px solid #ec4899;border-radius:.75rem;color:#ec4899;cursor:pointer;font-size:1.125rem;font-weight:600;padding:1rem 2.5rem;transition:all .2s}.hero-cta-secondary:hover{background:#f5f3ff;transform:translateY(-2px)}.hero-login-link{color:#6b7280;font-size:.9rem;margin-top:1.5rem}.text-link{background:none;border:none;color:#ec4899;cursor:pointer;font-size:inherit;font-weight:600;padding:0;text-decoration:none}.text-link:hover{text-decoration:underline}.demo-banner{align-items:center;background:linear-gradient(90deg,#f59e0b,#f97316);color:#fff;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;padding:.75rem 1rem}.demo-banner-text{font-size:.9rem;font-weight:600}.demo-banner-button{background:#fff;border:none;border-radius:.5rem;color:#f97316;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:all .2s}.demo-banner-button:hover{background:#fff7ed;transform:scale(1.02)}.features-section{background:#fff;padding:4rem 2rem}.section-title{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:3rem;text-align:center}.features-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(4,1fr);margin:0 auto;max-width:1100px}@media (max-width:900px){.features-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:500px){.features-grid{grid-template-columns:1fr}}.feature-card{padding:1.5rem;text-align:center}.feature-icon{display:block;font-size:2.5rem;margin-bottom:1rem}.feature-card h3{color:#1f2937;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.feature-card p{color:#6b7280;font-size:.875rem;line-height:1.5}.pricing-section{margin:0 auto;max-width:800px;padding:4rem 2rem 5rem}.pricing-subtitle{color:#6b7280;margin-bottom:1rem;margin-top:-2rem;text-align:center}.pricing-slogan{color:#ec4899;font-size:1.25rem;font-weight:600;margin-bottom:2.5rem;text-align:center}.pricing-cards{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(2,1fr)}@media (max-width:600px){.pricing-cards{grid-template-columns:1fr}}.pricing-card{background:#fff;border:2px solid #e5e7eb;border-radius:1rem;padding:2rem;position:relative;text-align:center;transition:all .2s}.pricing-card:hover{box-shadow:0 12px 24px #0000001a;transform:translateY(-4px)}.pricing-card.featured{border-color:#ec4899;box-shadow:0 8px 24px #ec489926}.pricing-cards-wide{margin:0 auto;max-width:700px}.pricing-tier{color:#ec4899;font-size:1.25rem;font-weight:700;letter-spacing:.05em;margin-bottom:.5rem;text-transform:uppercase}.pricing-badge{background:linear-gradient(135deg,#ec4899,#8b5cf6);border-radius:9999px;color:#fff;font-size:.75rem;font-weight:600;left:50%;padding:.375rem 1rem;position:absolute;text-transform:uppercase;top:-12px;transform:translateX(-50%)}.pricing-amount{color:#1f2937;font-size:3rem;font-weight:800}.pricing-period{color:#6b7280;font-size:1rem;margin-bottom:.5rem}.pricing-savings{color:#16a34a;font-weight:600}.pricing-savings,.pricing-total{font-size:.875rem;margin-bottom:1.5rem}.pricing-total{color:#9ca3af}.pricing-features{list-style:none;margin:0 0 1.5rem;padding:0;text-align:left}.pricing-features li{color:#4b5563;font-size:.875rem;padding:.5rem 0 .5rem 1.5rem;position:relative}.pricing-features li:before{color:#16a34a;content:"✓";font-weight:700;left:0;position:absolute}.pricing-cta{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s;width:100%}.pricing-cta:hover{opacity:.9}.pricing-cta.secondary{background:#fff;border:2px solid #ec4899;color:#ec4899}.pricing-cta.secondary:hover{background:#f0fdfa}.landing-footer{color:#6b7280;font-size:.875rem;padding:2rem;text-align:center}.auth-back-button{background:none;border:none;color:#6b7280;cursor:pointer;display:block;font-size:.875rem;margin-top:1rem;padding:.5rem;transition:color .2s;width:100%}.auth-back-button:hover{color:#ec4899}.footer-links{align-items:center;display:flex;gap:.75rem;justify-content:center;margin-top:1rem}.footer-link{background:none;border:none;color:#6b7280;cursor:pointer;font-size:.875rem;transition:color .2s}.footer-link:hover{color:#ec4899;text-decoration:underline}.footer-divider{color:#d1d5db}.legal-page{background:linear-gradient(135deg,#f5f3ff,#ecfdf5);min-height:100vh;padding:2rem}.legal-container{background:#fff;border-radius:1rem;box-shadow:0 10px 40px #0000001a;margin:0 auto;max-width:800px;padding:2rem 3rem}@media (max-width:640px){.legal-container{padding:1.5rem}}.legal-back-button{background:none;border:none;color:#ec4899;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:1.5rem;padding:0;transition:color .2s}.legal-back-button:hover{color:#7e22ce}.legal-page h1{color:#1f2937;font-size:2rem;font-weight:700;margin-bottom:.5rem}.legal-updated{color:#6b7280;font-size:.875rem;margin-bottom:2rem}.legal-content h2{color:#1f2937;font-size:1.25rem;font-weight:600;margin-bottom:.75rem;margin-top:2rem}.legal-content h2:first-child{margin-top:0}.legal-content p,.legal-content ul{color:#4b5563;line-height:1.7;margin-bottom:1rem}.legal-content ul{padding-left:1.5rem}.legal-content li{margin-bottom:.5rem}.legal-content a{color:#ec4899;text-decoration:none}.legal-content a:hover{text-decoration:underline}.app-layout{background:#f8fafc;display:flex;min-height:100vh}.app-layout .main-content{flex:1 1;margin-left:240px;max-width:none;min-height:100vh;overflow-x:hidden;padding:2rem}@media (max-width:768px){.app-layout .main-content{-webkit-overflow-scrolling:touch;margin-left:0;min-height:calc(100vh - 4.5rem - env(safe-area-inset-top, 0px));overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;padding:calc(4.5rem + env(safe-area-inset-top, 0px)) 1rem 1rem}}.sidenav{background:linear-gradient(135deg,#2d1f3d,#1a1a2e);border-right:1px solid #ffffff1a;box-shadow:4px 0 24px #0000004d;display:flex;flex-direction:column;height:100vh;height:100dvh;left:0;position:fixed;top:0;width:260px;z-index:200}.sidenav-overlay{display:none}@media (max-width:768px){.sidenav{display:flex;flex-direction:column;height:100dvh;height:-webkit-fill-available;transform:translateX(-100%);transition:transform .3s ease;z-index:1101}.sidenav.open{transform:translateX(0)}.sidenav-overlay{background:#00000080;bottom:0;display:block;left:0;position:fixed;right:0;top:0;z-index:1100}.sidenav-nav{flex:1 1;overflow-y:auto}.sidenav-footer{background:linear-gradient(135deg,#251a35,#1a1a2e);border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem 1.25rem calc(1.5rem + env(safe-area-inset-bottom, 20px));position:relative;z-index:10}.sidenav-signout{-webkit-tap-highlight-color:transparent;font-size:.9375rem;min-height:44px;padding:.75rem 1rem;position:relative;touch-action:manipulation;z-index:11}}.sidenav-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;padding:calc(1.5rem + env(safe-area-inset-top, 0px)) 1.5rem 1.5rem}.sidenav-header,.sidenav-logo{align-items:center;display:flex}.sidenav-logo{gap:.5rem}.sidenav-logo-icon{font-size:1.5rem}.sidenav-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.25rem;font-weight:700}.sidenav-close{background:none;border:none;color:#ffffffb3;color:var(--text-muted);cursor:pointer;display:none;font-size:1.5rem;padding:.25rem}@media (max-width:768px){.sidenav-close{display:block}}.sidenav-nav{-webkit-overflow-scrolling:touch;display:flex;flex:1 1;flex-direction:column;gap:.25rem;overflow-y:auto;padding:1rem .75rem}.sidenav-item{align-items:center;background:none;border:none;border-radius:.5rem;color:#fff9;cursor:pointer;display:flex;font-size:.9375rem;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .15s;width:100%}.sidenav-item:hover{background:#ffffff14;color:#fff}.sidenav-item.active{background:linear-gradient(135deg,#ec489933,#8b5cf633);color:#ec4899;font-weight:600}.sidenav-item-icon{font-size:1.25rem;text-align:center;width:1.5rem}.sidenav-item-label{flex:1 1}.sidenav-footer{background:linear-gradient(135deg,#251a35,#1a1a2e);border-top:1px solid #ffffff1a;flex-shrink:0;padding:1rem 1.25rem;pointer-events:auto}.sidenav-user{align-items:center;display:flex;gap:.5rem;margin-bottom:.75rem}.sidenav-email{color:#fff9;flex:1 1;font-size:.8125rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidenav-plan-badge{border-radius:9999px;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.sidenav-plan-badge.basic{background:#ffffff26;color:#ffffffb3}.sidenav-plan-badge.pro{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.sidenav-plan-badge.demo{background:#fbbf2433;color:#fbbf24}.sidenav-signout{background:#ffffff0d;border:1px solid #ffffff26;border-radius:.375rem;color:#fff9;cursor:pointer;font-size:.8125rem;padding:.5rem;pointer-events:auto;transition:all .15s;width:100%}.sidenav-signout:hover{background:#ec489926;border-color:#ec4899;color:#ec4899}.mobile-header{align-items:flex-end;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:linear-gradient(135deg,#2d1f3d,#1a1a2e);border-bottom:1px solid #ffffff1a;display:none;height:calc(3.5rem + env(safe-area-inset-top, 0px));justify-content:space-between;left:0;padding:env(safe-area-inset-top,0) 1rem .5rem;position:fixed;right:0;top:0;z-index:100}@media (max-width:768px){.mobile-header{display:flex}}.hamburger-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;gap:5px;height:2.5rem;justify-content:center;padding:.5rem;width:2.5rem}.hamburger-button span{background:#ffffffb3;border-radius:1px;display:block;height:2px;width:20px}.mobile-header-logo{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ec4899,#8b5cf6);-webkit-background-clip:text;background-clip:text;font-size:1.125rem;font-weight:700}.mobile-header-cta{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.8125rem;font-weight:600;padding:.375rem .75rem}.view-title{color:#fff;font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.view-subtitle{color:#ffffffb3;font-size:.9375rem;margin-bottom:1.5rem}.dashboard-view{max-width:1400px}.dashboard-loading{align-items:center;display:flex;justify-content:center;min-height:50vh}.dashboard-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.dashboard-actions{align-items:center;display:flex;gap:1rem}.quick-category-filter{-webkit-overflow-scrolling:touch;display:flex;gap:.75rem;margin-bottom:1.5rem;overflow-x:auto;padding-bottom:.5rem;scrollbar-color:#ffffff4d #0000;scrollbar-width:thin}.quick-category-filter::-webkit-scrollbar{height:4px}.quick-category-filter::-webkit-scrollbar-track{background:#0000}.quick-category-filter::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.category-chip{align-items:center;background:#ffffffe6;border:none;border-radius:50px;box-shadow:0 2px 8px #0000001a;color:#1e293b;color:var(--text-dark);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;font-size:.875rem;font-weight:600;justify-content:center;min-width:100px;padding:.75rem 1.25rem;transition:all .2s ease;white-space:nowrap}.category-chip:hover{background:#fff;box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.category-chip.active{background:linear-gradient(135deg,#ec4899,#8b5cf6);background:var(--primary-gradient);box-shadow:0 4px 16px #ec489966;color:#fff;transform:translateY(-2px)}.category-chip.empty{background:#fff9;opacity:.7}.category-chip.empty:hover{background:#ffffffe6;opacity:1}.category-chip.with-amount{min-width:110px;padding:.625rem 1rem}.category-chip-top{align-items:center;display:flex;gap:.375rem;margin-bottom:.25rem}.category-chip-icon{font-size:1rem;line-height:1}.category-chip-name{font-size:.75rem;font-weight:500;line-height:1}.category-chip-label{font-size:.8125rem;font-weight:500;line-height:1}.category-chip-amount{color:#1f2937;font-size:.875rem;font-weight:700;line-height:1}.category-chip.active .category-chip-amount{color:#fff}.category-chip.active .category-chip-name{color:#ffffffe6}@media (max-width:640px){.quick-category-filter{margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.category-chip{min-width:80px;padding:.5rem .625rem}.category-chip.with-amount{min-width:85px}.category-chip-icon{font-size:.875rem}.category-chip-name{font-size:.6875rem}.category-chip-amount{font-size:.75rem}}.summary-cards-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.summary-cards-left{display:flex;flex-direction:column;gap:1rem}@media (max-width:640px){.summary-cards-grid{gap:.75rem;grid-template-columns:1fr 1fr}.summary-cards-left{display:flex;flex-direction:column;gap:.75rem}.summary-cards-left .summary-card{padding:.875rem}.summary-cards-left .summary-card .summary-label{font-size:.6875rem}.summary-cards-left .summary-card .summary-amount{font-size:1.25rem}.summary-card-net-profit{padding:.875rem}.summary-card-net-profit .summary-label{font-size:.6875rem}.summary-card-net-profit .summary-amount{font-size:1.25rem}}.summary-cards{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}@media (max-width:640px){.summary-cards{grid-template-columns:1fr}}.summary-card{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;overflow:hidden;padding:1.25rem;position:relative}.summary-card-net-profit{background:linear-gradient(135deg,#4a1942,#1a1a2e);border-radius:1rem;display:flex;flex-direction:column;justify-content:center;min-height:100%;overflow:hidden;padding:1.5rem;position:relative}.summary-card-net-profit .summary-label{color:#ffffffb3;font-size:.875rem;font-weight:500;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.summary-card-net-profit.profit .summary-amount{color:#22c55e;font-size:1.5rem;font-weight:700}.summary-card-net-profit.loss .summary-amount{color:#f87171;font-size:1.5rem;font-weight:700}.net-profit-arrow{color:#22c55e66;height:2rem;position:absolute;right:1rem;top:1rem;width:2rem}.summary-card-net-profit.loss .net-profit-arrow{color:#f8717166;transform:rotate(90deg)}.net-profit-glow{background:linear-gradient(0deg,#8b5cf626,#0000);bottom:0;height:50%;left:0;pointer-events:none;position:absolute;right:0}@media (max-width:640px){.summary-card-net-profit{min-height:auto;padding:1.25rem}.summary-card-net-profit .summary-amount{font-size:1.375rem}}.summary-label{color:#6b7280;font-size:.8125rem;font-weight:500;letter-spacing:.5px;margin-bottom:.25rem;text-transform:uppercase}.summary-amount{color:#111827;font-size:1.75rem;font-weight:700}.summary-card.income .summary-amount{color:#111827}.summary-card.expenses .summary-amount{color:#dc2626}.summary-card.profit .summary-amount{color:#22c55e}.summary-card.loss .summary-amount{color:#ef4444}.control-button{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;color:#374151;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .15s}.control-button:hover{background:#fdf2f8;background:#ec48991a;border-color:#ec4899;color:#ec4899}.control-button.active{background:#ec489933;border-color:#ec4899;color:#ec4899}.control-button.primary{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;box-shadow:0 4px 15px #ec48994d;color:#fff}.control-button.primary:hover{box-shadow:0 6px 20px #ec489966;transform:translateY(-1px)}.export-dropdown-container{position:relative}.export-dropdown-menu{animation:dropdownFadeIn .15s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#1e1b32f2;border:1px solid #ffffff26;border-radius:.75rem;box-shadow:0 10px 40px #0000004d;left:0;min-width:220px;padding:.5rem;position:absolute;top:calc(100% + .5rem);z-index:100}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}.export-dropdown-item{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#fff;cursor:pointer;display:flex;gap:.75rem;padding:.75rem;text-align:left;transition:background .15s;width:100%}.export-dropdown-item:hover{background:#ec489926}.export-dropdown-item.featured{background:linear-gradient(135deg,#ec48991a,#8b5cf61a)}.export-dropdown-item.featured:hover{background:linear-gradient(135deg,#ec489933,#8b5cf633)}.export-icon{font-size:1.25rem;text-align:center;width:1.5rem}.export-item-content{display:flex;flex-direction:column;gap:.125rem}.export-item-label{color:#fff;font-size:.875rem;font-weight:500}.export-item-desc{color:#fff9;font-size:.75rem}.export-dropdown-divider{background:#ffffff1a;height:1px;margin:.5rem 0}@media (max-width:640px){.export-dropdown-menu{left:auto;right:0}}.entries-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a;overflow:hidden}.entries-mobile-table{display:block}.entries-desktop-list{display:none}@media (min-width:769px){.entries-mobile-table{display:none}.entries-desktop-list{display:block}}.entries-table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}.entries-table{min-width:480px;width:100%}.entries-table-header{grid-gap:.5rem;background:#f8fafc;border-bottom:1px solid #e5e7eb;color:#6b7280;display:grid;font-size:.6875rem;font-weight:600;gap:.5rem;grid-template-columns:70px 1fr 100px 90px;letter-spacing:.5px;padding:.75rem 1rem;text-transform:uppercase}.entries-table-header .col-amount{text-align:right}.entries-table-body{width:100%}.entry-row{grid-gap:.5rem;align-items:start;border-bottom:1px solid #f3f4f6;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:70px 1fr 100px 90px;padding:.875rem 1rem;transition:background .15s}.entry-row:last-child{border-bottom:none}.entry-row:hover{background:#f9fafb}.entry-date-stacked{color:#6b7280;display:flex;flex-direction:column;font-size:.75rem;line-height:1.2}.entry-desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#111827;display:-webkit-box;font-weight:500;line-height:1.4;overflow:hidden;overflow-wrap:break-word;word-break:break-word}.receipt-indicator{flex-shrink:0;font-size:.875rem}.category-badge{border-radius:.375rem;display:inline-block;font-size:.6875rem;font-weight:500;padding:.25rem .5rem;white-space:nowrap}.badge-income{background:#dcfce7;color:#166534}.badge-business{background:#dbeafe;color:#1e40af}.badge-miles{background:#f3e8ff;color:#7c3aed}.badge-fuel{background:#fef3c7;color:#92400e}.badge-lodging{background:#fce7f3;color:#9d174d}.badge-food{background:#ffedd5;color:#9a3412}.badge-default{background:#f1f5f9;color:#475569}.entry-row .col-amount{font-size:.875rem;font-weight:600;text-align:right;white-space:nowrap}.entry-row .col-amount.income{color:#16a34a}.entry-row .col-amount.expense{color:#dc2626}.entry-row .col-amount.miles{color:#3b82f6}@media (max-width:768px){.entries-table-header{font-size:.625rem;padding:.625rem .75rem}.entries-table-header,.entry-row{grid-template-columns:50px 1fr 70px 80px}.entry-row{cursor:pointer;padding:.75rem}.entry-row:active{background:#ec48991a}.entry-date-stacked{font-size:.6875rem}.entry-desc{font-size:.8125rem}.category-badge{font-size:.5625rem;padding:.1875rem .375rem}.entry-row .col-amount{font-size:.8125rem}.entry-row .entry-actions{display:none!important}}@media (max-width:400px){.entries-table-header{font-size:.5625rem;grid-template-columns:45px 1fr 60px}.entries-table-header .col-category{display:none}.entry-row{grid-template-columns:45px 1fr 75px}.entry-row .col-category{display:none}.entry-row .col-amount{font-size:.75rem}}.entries-title{align-items:center;border-bottom:1px solid #e5e7eb;color:#111827;display:flex;font-size:1rem;font-weight:600;justify-content:space-between;margin:0;padding:1rem 1.25rem}.entries-count{color:#6b7280;font-size:.875rem;font-weight:400}.entries-empty{color:#6b7280;padding:3rem;text-align:center}.empty-add-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:50px;box-shadow:0 4px 16px #ec48994d;color:#fff;cursor:pointer;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s}.empty-add-button:hover{box-shadow:0 6px 20px #ec489966;transform:translateY(-2px)}.entry-item{align-items:flex-start;border-bottom:1px solid #f3f4f6;display:flex;gap:.875rem;padding:1rem 1.25rem;transition:background .15s}.entry-item:last-child{border-bottom:none}.entry-item:hover{background:#f9fafb}.entry-icon{align-items:center;background:#ffffff1a;border-radius:12px;display:flex;flex-shrink:0;font-size:1.5rem;height:2.5rem;justify-content:center;text-align:center;width:2rem;width:2.5rem}.entry-details{flex:1 1;min-width:0}.entry-description{color:#fff;color:var(--text-primary);font-size:.9375rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.entry-meta{align-items:center;color:#ffffffb3;color:var(--text-muted);display:flex;font-size:.75rem;gap:.5rem}.entry-subcategory{background:#ffffff26;border-radius:4px;font-size:.6875rem;font-weight:500;letter-spacing:.3px;padding:.125rem .5rem;text-transform:uppercase}.entry-receipt{margin-left:.5rem}.entry-amount{color:#fff;color:var(--text-primary);font-size:1rem;font-weight:700;white-space:nowrap}.entry-amount.income{color:#22c55e;color:var(--income-green)}.entry-amount.expense{color:#ec4899;color:var(--expense-pink)}.entry-amount.miles{color:#3b82f6}.entry-status{border-radius:50px;font-size:.6875rem;font-weight:600;letter-spacing:.3px;padding:.25rem .625rem;text-transform:uppercase}.entry-status.pending{background:#fbbf2433;color:#fbbf24;color:var(--warning-yellow)}.entry-status.reimbursed{background:#22c55e33;color:#22c55e;color:var(--income-green)}.entry-actions{display:flex;gap:.5rem}.entry-delete,.entry-edit{background:#ffffff1a;border:none;border-radius:.375rem;color:#ffffffb3;color:var(--text-muted);cursor:pointer;font-size:.75rem;padding:.375rem .625rem;transition:all .15s}.entry-edit:hover{background:#fff3;color:#fff;color:var(--text-primary)}.entry-delete{color:#ffffffb3;color:var(--text-muted)}.entry-delete:hover{background:#fef2f2;color:#dc2626}@media (max-width:768px){.dashboard-header{align-items:stretch;flex-direction:column;gap:.75rem;margin-bottom:1.25rem;width:100%}.dashboard-header .view-title{font-size:1.5rem;margin-bottom:.25rem}.dashboard-header .view-subtitle{font-size:.875rem}.dashboard-actions{width:100%}.dashboard-view .year-filter{background:#fff;border:1px solid #f1f5f9;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;justify-content:space-between;padding:1rem;position:relative;width:100%}.dashboard-view .year-filter label{color:#9ca3af;font-size:.875rem;font-weight:400}.dashboard-view .year-filter select{-webkit-appearance:none;appearance:none;background:#0000!important;border:none!important;box-shadow:none!important;color:#111827;cursor:pointer;font-size:1rem;font-weight:400;outline:none!important;padding:0 1rem 0 0;text-align:right}.dashboard-view .year-filter select::-ms-expand{display:none}.dashboard-view .year-filter:after{color:#9ca3af;content:"▼";font-size:.5rem;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.dashboard-view .quick-category-filter{margin-bottom:1.25rem;margin-left:-1rem;margin-right:-1rem;padding-left:1rem;padding-right:1rem}.summary-cards{gap:.75rem;grid-template-columns:1fr;margin-bottom:1.25rem;width:100%}.summary-card{border-radius:.75rem;box-sizing:border-box;padding:1.25rem;width:100%}.summary-card .summary-label{font-size:.8125rem;margin-bottom:.375rem}.summary-card .summary-amount{font-size:1.5rem;font-weight:700}.controls{display:none}.mobile-controls{align-items:center;bottom:1.5rem;display:flex;flex-direction:row;gap:.75rem;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:1rem;z-index:900}.mobile-gear-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#374151;cursor:pointer;display:flex;font-size:1.125rem;height:48px;justify-content:center;transition:all .2s ease;width:48px}.mobile-gear-button.active,.mobile-gear-button:active{background:#f3f4f6;transform:scale(.95)}.mobile-fab-button{align-items:center;background:linear-gradient(135deg,#ec4899,#8b5cf6);background:var(--primary-gradient);border:none;border-radius:50%;box-shadow:0 6px 24px #a855f780;color:#fff;cursor:pointer;display:flex;font-size:1.75rem;font-weight:300;height:56px;justify-content:center;transition:all .2s ease;width:56px}.mobile-fab-button:active{box-shadow:0 3px 12px #a855f766;transform:scale(.95)}.mobile-actions-menu{animation:slideUp .15s ease-out;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffff2;border:1px solid #ffffff4d;border-radius:1.25rem;bottom:calc(100% + .75rem);box-shadow:0 12px 40px #00000040;min-width:200px;padding:.5rem;position:absolute;right:0}.mobile-actions-item{align-items:center;background:none;border:none;border-radius:.75rem;color:#1e293b;cursor:pointer;display:flex;font-size:.9375rem;gap:.75rem;padding:.875rem 1rem;text-align:left;transition:background .15s;width:100%}.mobile-actions-item:active{background:#f1f5f9}.mobile-actions-item-icon{font-size:1.125rem;text-align:center;width:1.5rem}.mobile-actions-divider{background:#e2e8f0;height:1px;margin:.375rem .5rem}.entry-action-modal-overlay{align-items:flex-end;background:#0009;bottom:0;display:flex;justify-content:center;left:0;padding:1rem 1rem env(safe-area-inset-bottom,1rem);position:fixed;right:0;top:0;z-index:1200}.entry-action-modal{animation:slideUp .2s ease-out;background:#fff;border-radius:1rem;max-width:400px;overflow:hidden;width:100%}.entry-action-modal-header{border-bottom:1px solid #e2e8f0;padding:1rem 1.25rem}.entry-action-modal-title{color:#1e293b;font-size:.9375rem;font-weight:600;margin:0 0 .25rem}.entry-action-modal-subtitle{color:#64748b;font-size:.8125rem;margin:0}.entry-action-modal-actions{padding:.5rem}.entry-action-button{align-items:center;background:none;border:none;border-radius:.75rem;color:#1e293b;cursor:pointer;display:flex;font-size:1rem;gap:.75rem;padding:1rem 1.25rem;text-align:left;transition:background .15s;width:100%}.entry-action-button:active,.entry-action-button:hover{background:#0000000d}.entry-action-button.delete{color:#e11d48}.entry-action-button.delete:active,.entry-action-button.delete:hover{background:#ff4d6d1a}.entry-action-button-icon{font-size:1.25rem;text-align:center;width:1.5rem}.entry-action-cancel{background:#f1f5f9;border:none;border-top:1px solid #e2e8f0;color:#64748b;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem;transition:background .15s;width:100%}.entry-action-cancel:active,.entry-action-cancel:hover{background:#f1f5f9;color:#1e293b}.entries-section{border-radius:.75rem;padding-bottom:80px}.entries-title{font-size:.9375rem;padding:.875rem 1rem}.control-button{box-sizing:border-box;font-size:.8125rem;justify-content:center;overflow:hidden;padding:.625rem .5rem;text-overflow:ellipsis;white-space:nowrap;width:100%}.export-dropdown-container,.export-dropdown-container .control-button{width:100%}.add-button,.control-button.primary{grid-column:span 2;width:100%}.filter-panel{align-items:stretch;box-sizing:border-box;flex-direction:column;width:100%}.filter-group{width:100%}.filter-group select{box-sizing:border-box;max-width:100%;min-width:0;min-width:auto;width:100%}.export-dropdown-menu{left:0;max-width:280px;min-width:0;min-width:auto;right:auto}.entry-item{align-items:flex-start;box-sizing:border-box;cursor:pointer;flex-wrap:wrap;padding:1rem;transition:background .15s ease;width:100%}.entry-item:active{background:#ec48991a}.entry-icon{flex-shrink:0;font-size:1.75rem;padding-top:.125rem;width:2.25rem}.entry-details{flex:1 1;max-width:calc(100% - 3rem);min-width:0;overflow:hidden}.entry-description{font-size:1rem;font-weight:600;margin-bottom:.25rem;overflow-wrap:break-word;white-space:normal;word-break:break-word}.entry-meta{color:#6b7280;font-size:.8125rem}.entry-amount{box-sizing:border-box;font-size:1.125rem;font-weight:600;margin-top:.5rem;order:3;padding-left:3rem;text-align:left;width:100%}.entry-actions{display:none}.entries-list,.entries-section{width:100%}}@media (max-width:400px){.control-buttons{grid-template-columns:1fr}.add-button,.control-button.primary{grid-column:span 1}.entry-amount{padding-left:3rem}.year-filter{justify-content:space-between;width:100%}.year-filter select{flex:1 1;max-width:none}}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.modal-header h2{margin:0}.modal-close{background:none;border:none;color:#9ca3af;cursor:pointer;font-size:1.5rem;line-height:1;padding:0}.modal-close:hover{color:#4b5563}.form-actions{display:flex;gap:.75rem;margin-top:1.5rem}.scan-info{color:#6b7280;font-size:.75rem}.scan-error,.scan-info{margin-top:.5rem;text-align:center}.scan-error{background:#fef2f2;border-radius:.5rem;color:#dc2626;font-size:.8125rem;padding:.75rem}.receipt-upload{align-items:center;display:flex;gap:.5rem}.receipt-upload .upload-button{flex:1 1}.receipt-upload .remove-receipt{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:.375rem;color:#dc2626;cursor:pointer;display:flex;font-size:1rem;height:2rem;justify-content:center;width:2rem}.reports-view{max-width:1400px}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(5,1fr);margin-bottom:2rem}@media (max-width:900px){.stats-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:600px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;padding:1.25rem}.stat-label{color:#fff9;font-size:.75rem;margin-bottom:.5rem}.stat-value{color:#fff;font-size:1.25rem;font-weight:700}.stat-value.income{color:#22c55e}.stat-value.expenses{color:#ec4899}.charts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(2,1fr)}@media (max-width:800px){.charts-grid{grid-template-columns:1fr}}.chart-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;padding:1.5rem}.chart-title{color:#fff;font-size:1rem;font-weight:600;margin-bottom:1rem}.chart-empty{align-items:center;color:#ffffff80;display:flex;font-size:.9375rem;height:300px;justify-content:center}.reports-copilot{max-width:1400px}.reports-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.time-period-selector{background:#ffffff1a;border:1px solid #ffffff1a;border-radius:.5rem;display:flex;gap:.25rem;padding:.25rem}.period-button{background:#0000;border:none;border-radius:.375rem;color:#fff9;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.period-button:hover{color:#fff}.period-button.active{background:linear-gradient(135deg,#ec4899,#8b5cf6);box-shadow:0 2px 8px #ec48994d;color:#fff}.summary-cards-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-bottom:1.5rem}@media (max-width:768px){.summary-cards-row{grid-template-columns:1fr}}.summary-card-large{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.summary-card-large:hover{box-shadow:0 8px 24px #0003;transform:translateY(-2px)}.summary-card-label{color:#fff9;font-size:.875rem;margin-bottom:.5rem}.summary-card-value{color:#fff;font-size:2rem;font-weight:700;margin-bottom:.75rem}.summary-card-value.income{color:#22c55e}.summary-card-value.expenses{color:#ec4899}.summary-card-comparison{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.change-indicator{align-items:center;border-radius:9999px;display:inline-flex;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.change-indicator.positive{background:#22c55e33;color:#22c55e}.change-indicator.negative{background:#ec489933;color:#ec4899}.comparison-text{color:#ffffff80;font-size:.75rem}.chart-card-full{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;margin-bottom:1.5rem;padding:1.5rem}.category-breakdown{display:flex;flex-direction:column;gap:.625rem}.category-row{align-items:center;animation:slideIn .3s ease forwards;border-radius:.75rem;display:flex;opacity:0;padding:.875rem 1rem;transition:transform .15s ease,box-shadow .15s ease}.category-row:hover{transform:translateX(4px)}@keyframes slideIn{0%{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:translateX(0)}}.category-row-left{align-items:center;display:flex;flex-shrink:0;gap:.75rem;min-width:180px}.category-row-icon{font-size:1.25rem;text-align:center;width:1.75rem}.category-row-name{color:#111827;font-size:.9375rem;font-weight:500;white-space:nowrap}.category-row-bar-container{background:#ffffff26;border-radius:4px;flex:1 1;height:8px;margin:0 1rem;min-width:80px;overflow:hidden}.category-row-bar{align-items:center;background:#ec4899;border-radius:4px;display:flex;height:100%;position:relative;transition:width .5s ease}.category-row-bar-label{display:none}.category-row-amount{color:#111827;font-size:.9375rem;font-weight:600;min-width:90px;text-align:right}.category-row-inline{align-items:center;animation:slideIn .3s ease forwards;display:flex;gap:1rem;margin-bottom:.75rem;opacity:0}.category-bar-inline{align-items:center;border-radius:.5rem;display:flex;height:2.75rem;min-width:140px;padding:0 1rem;transition:width .5s ease,transform .15s ease}.category-bar-inline:hover{transform:scaleX(1.02);transform-origin:left}.category-bar-text{color:#fff;font-size:.875rem;font-weight:500;text-shadow:0 1px 2px #0003;white-space:nowrap}.category-amount-inline{color:#111827;flex-shrink:0;font-size:.9375rem;font-weight:600;min-width:90px;text-align:right}@media (max-width:640px){.category-row-inline{gap:.75rem}.category-bar-inline{height:2.5rem;min-width:100px;padding:0 .75rem}.category-bar-text{font-size:.8125rem}.category-amount-inline{font-size:.875rem;min-width:70px}}.category-breakdown-fixed{display:flex;flex-direction:column;gap:.875rem}.category-row-fixed{align-items:center;animation:slideIn .3s ease forwards;display:flex;gap:.75rem;opacity:0}.category-label-fixed{align-items:center;display:flex;flex-shrink:0;gap:.5rem;width:140px}.category-label-fixed .category-icon{flex-shrink:0;font-size:1.125rem}.category-label-fixed .category-name{color:#374151;font-size:.8125rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-bar-container{background:#f1f5f9;border-radius:.5rem;flex:1 1;height:1.5rem;min-width:60px;overflow:hidden}.category-bar-fill{border-radius:.5rem;height:100%;min-width:8px;transition:width .5s ease}.category-amount-fixed{color:#111827;flex-shrink:0;font-size:.875rem;font-weight:600;text-align:right;width:85px}@media (max-width:640px){.category-row-fixed{gap:.5rem}.category-label-fixed{width:110px}.category-label-fixed .category-icon{font-size:1rem}.category-label-fixed .category-name{font-size:.75rem}.category-bar-container{height:1.25rem}.category-amount-fixed{font-size:.8125rem;width:70px}}.quick-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.quick-stat{background:#ffffff14;border-radius:.5rem;display:flex;flex-direction:column;gap:.25rem;padding:.75rem}.quick-stat-label{color:#fff9;font-size:.75rem}.quick-stat-value{color:#fff;font-size:1rem;font-weight:600}.income-expense-comparison{display:flex;flex-direction:column;gap:1rem}.comparison-row{align-items:center;display:flex;justify-content:space-between}.comparison-row-header{align-items:center;display:flex;gap:.5rem}.comparison-dot{border-radius:50%;height:12px;width:12px}.comparison-dot.income{background:#22c55e}.comparison-dot.expenses{background:#ec4899}.comparison-label{color:#fff9;font-size:.875rem}.comparison-value{color:#fff;font-size:1.125rem;font-weight:600}.comparison-value.income{color:#22c55e}.comparison-value.expenses{color:#ec4899}.ratio-bar-container{background:#ffffff26;border-radius:6px;display:flex;height:12px;overflow:hidden}.ratio-bar-income{background:linear-gradient(90deg,#22c55e,#4ade80);transition:width .5s ease}.ratio-bar-expenses{background:linear-gradient(90deg,#ec4899,#f472b6);transition:width .5s ease}.net-profit-row{align-items:center;border-top:1px solid #ffffff26;display:flex;justify-content:space-between;padding-top:.75rem}.net-profit-label{color:#ffffffb3;font-size:.875rem;font-weight:500}.net-profit-value{font-size:1.25rem;font-weight:700}.net-profit-value.positive{color:#22c55e}.net-profit-value.negative{color:#ec4899}.mini-stats{grid-gap:.75rem;border-top:1px solid #ffffff26;display:grid;gap:.75rem;grid-template-columns:1fr 1fr;padding-top:.75rem}.mini-stat{display:flex;flex-direction:column;gap:.125rem}.mini-stat-label{color:#ffffff80;font-size:.7rem;letter-spacing:.025em;text-transform:uppercase}.mini-stat-value{color:#fff;font-size:.875rem;font-weight:600}@media (max-width:640px){.reports-header{flex-direction:column}.time-period-selector{justify-content:space-between;width:100%}.period-button{flex:1 1;padding:.5rem .75rem;text-align:center}.summary-card-value{font-size:1.5rem}.category-row{background:#0000!important;border-left:none!important;padding:.5rem .75rem}.category-row-left{display:none}.category-row-bar-container{background:#ffffff1a;border-radius:8px;flex:1 1;height:36px;margin:0 .75rem 0 0}.category-row-bar{border-radius:8px;height:100%;min-width:-webkit-fit-content;min-width:fit-content;padding:0 .75rem}.category-row-bar-label{align-items:center;color:#fff;display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;text-shadow:0 1px 2px #0000004d;white-space:nowrap}.category-row-amount{font-size:.875rem;font-weight:600;min-width:auto}}.receipts-view{max-width:1400px}.receipts-filters{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;margin-bottom:1.5rem;padding:1rem}.receipts-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:1rem}.receipts-filters .filter-group{display:flex;flex-direction:column;gap:.375rem}.receipts-filters .filter-group label{color:#ffffffb3;font-size:.75rem;font-weight:500}.receipts-filters .filter-group input[type=date],.receipts-filters .filter-group select{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;font-size:.875rem;min-width:140px;padding:.5rem .75rem}.receipts-filters .filter-group select option{background:#1a1a2e;color:#fff}.receipts-filters .filter-group input[type=date]:focus,.receipts-filters .filter-group select:focus{border-color:#ec4899;box-shadow:0 0 0 2px #ec489933;outline:none}.date-input-wrapper{display:inline-block;position:relative;width:100%}.date-input-wrapper input[type=date]{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;font-size:.875rem;min-height:38px;padding:.5rem .75rem;width:100%}.date-input-wrapper input[type=date]:focus{border-color:#ec4899;box-shadow:0 0 0 2px #ec489933;outline:none}.date-input-wrapper input[type=date]:not(.has-value){color:#0000}.date-input-wrapper input[type=date]:not(.has-value)::-webkit-datetime-edit,.date-input-wrapper input[type=date]:not(.has-value)::-webkit-datetime-edit-day-field,.date-input-wrapper input[type=date]:not(.has-value)::-webkit-datetime-edit-fields-wrapper,.date-input-wrapper input[type=date]:not(.has-value)::-webkit-datetime-edit-month-field,.date-input-wrapper input[type=date]:not(.has-value)::-webkit-datetime-edit-text,.date-input-wrapper input[type=date]:not(.has-value)::-webkit-datetime-edit-year-field{-webkit-appearance:none;color:#0000}.date-input-wrapper input[type=date].has-value::-webkit-datetime-edit{color:#fff}.date-placeholder{background:#0000;color:#ffffff80;font-size:.875rem;left:.75rem;padding-right:.5rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);white-space:nowrap;z-index:1}.date-input-wrapper input[type=date].has-value~.date-placeholder,.date-input-wrapper input[type=date]:focus~.date-placeholder{display:none}.date-input-wrapper input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1);opacity:.7;padding:.25rem}.date-input-wrapper input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:1}.clear-filter-button{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .15s;white-space:nowrap}.clear-filter-button:hover{background:#ff4d6d26;border-color:#e11d48;color:#e11d48}@media (max-width:640px){.receipts-filter-row{align-items:stretch;flex-direction:column}.date-input-wrapper,.receipts-filters .filter-group,.receipts-filters .filter-group input[type=date],.receipts-filters .filter-group select{width:100%}.date-input-wrapper input[type=date]{-webkit-appearance:none;appearance:none;font-size:16px;min-height:44px;padding:.625rem .75rem;width:100%}.date-placeholder{font-size:16px;line-height:44px;top:0;transform:none}.clear-filter-button{margin-top:.5rem;width:100%}}.receipts-filter{align-items:center;display:flex;gap:.75rem;margin-bottom:1.5rem}.receipts-filter label{color:#4b5563;font-size:.875rem}.receipts-filter select{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;font-size:.875rem;padding:.5rem .75rem}.receipts-empty{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;padding:4rem 2rem;text-align:center}.receipts-empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.receipts-empty p{color:#ffffffb3;margin-bottom:.5rem}.receipts-empty-hint{color:#ffffff80;font-size:.875rem}.receipts-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.receipt-card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;cursor:pointer;overflow:hidden;transition:all .15s}.receipt-card:hover{border-color:#ec4899;box-shadow:0 4px 20px #ec489933;transform:translateY(-2px)}.receipt-thumbnail{align-items:center;background:#ffffff0d;display:flex;height:140px;justify-content:center;overflow:hidden;position:relative;width:100%}.receipt-thumbnail img{height:100%;object-fit:cover;width:100%}.receipt-placeholder{align-items:center;display:flex;flex-direction:column;font-size:2rem;gap:.5rem;justify-content:center;opacity:.3}.receipt-placeholder span{font-size:2.5rem}.receipt-placeholder small{color:#9ca3af;font-size:.7rem}.receipt-placeholder.receipt-error{opacity:.6}.receipt-placeholder.receipt-error span{color:#f59e0b}.receipt-error-text{color:#e11d48;font-size:.65rem;margin-top:.25rem}.receipt-modal-error{align-items:center;color:#fff9;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.receipt-modal-error span{font-size:3rem;margin-bottom:1rem}.receipt-modal-error p{font-size:1rem;margin-bottom:.5rem}.receipt-modal-error small{color:#fff6;font-size:.75rem;max-width:300px;word-break:break-all}.receipt-info{padding:.75rem}.receipt-date{color:#ffffff80;font-size:.75rem;margin-bottom:.25rem}.receipt-amount{color:#fff;font-size:1rem;font-weight:600;margin-bottom:.25rem}.receipt-category{align-items:center;color:#fff9;display:flex;font-size:.75rem;gap:.25rem}.receipt-pdf-placeholder{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);display:flex;flex-direction:column;gap:.5rem;height:100%;justify-content:center;padding:1rem;width:100%}.receipt-pdf-placeholder .pdf-icon{font-size:2.5rem}.receipt-pdf-placeholder small{color:#92400e;font-size:.75rem;font-weight:500}.view-pdf-button{background:#ec4899;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.75rem;font-weight:500;margin-top:.25rem;padding:.375rem .75rem;transition:background .15s}.view-pdf-button:hover{background:#7e22ce}.receipt-type-badge{background:#fef3c7;border-radius:.25rem;color:#92400e;display:inline-block;font-size:.65rem;font-weight:600;margin-top:.25rem;padding:.125rem .375rem}.receipts-loading{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:4rem 2rem;text-align:center}.receipts-loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#ec4899;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.receipts-loading p{color:#1e293b;font-size:1.125rem;font-weight:500;margin:0}.receipts-loading-hint{color:#64748b;font-size:.875rem}.receipt-skeleton{align-items:center;background:#fff;display:flex;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.receipt-skeleton:before{content:"🧾";font-size:2rem;opacity:.3}.skeleton-shimmer{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#ec489926 50%,#0000);bottom:0;left:0;position:absolute;right:0;top:0}@keyframes shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.receipt-image{transition:opacity .3s ease-in-out}.receipt-image.loading{left:0;opacity:0;position:absolute;top:0}.receipt-image.loaded{opacity:1;position:relative}.load-more-container{display:flex;justify-content:center;padding:1.5rem 0}.load-more-button{background:#fff;border:2px solid #ec4899;border-radius:.5rem;color:#ec4899;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .15s}.load-more-button:hover{background:#ec4899;color:#fff}.receipt-modal-overlay{align-items:center;background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1100}.receipt-modal{background:#fff;border-radius:.75rem;max-height:90vh;max-width:600px;overflow:hidden;position:relative}.receipt-modal-close{align-items:center;background:#00000080;border:none;border-radius:9999px;color:#fff;cursor:pointer;display:flex;font-size:1.25rem;height:2rem;justify-content:center;position:absolute;right:.5rem;top:.5rem;width:2rem;z-index:1}.receipt-modal-image{max-height:60vh;object-fit:contain;width:100%}.receipt-modal-info{grid-gap:.5rem;background:#f9fafb;color:#4b5563;display:grid;font-size:.875rem;gap:.5rem;padding:1rem}.settings-view{max-width:800px}.settings-section{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;box-shadow:0 8px 32px #0003;margin-bottom:1.5rem;padding:1.5rem}.settings-section h2{color:#fff;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.settings-section.danger{background:#ef44441a;border-color:#ef444466}.settings-section.danger h2{color:#f87171}.delete-warning{background:#ef444426;border:1px solid #ef44444d;border-radius:.5rem;margin-bottom:1rem;padding:1rem}.delete-warning-title{color:#fca5a5;font-size:.9375rem;font-weight:600;margin-bottom:.75rem}.delete-warning-list{color:#f87171;font-size:.875rem;margin:0 0 .75rem 1.25rem;padding:0}.delete-warning-list li{margin-bottom:.375rem}.delete-warning-final{color:#fca5a5;font-size:.875rem;font-weight:600;margin:0}.settings-row{align-items:center;border-bottom:1px solid #ffffff1a;display:flex;justify-content:space-between;padding:.75rem 0}.settings-row:last-child{border-bottom:none}.settings-label{color:#fff9;font-size:.875rem}.settings-value{align-items:center;color:#fff;display:flex;font-size:.9375rem;gap:.5rem}.settings-plan-badge{border-radius:9999px;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.settings-plan-badge.basic{background:#ffffff26;color:#ffffffb3}.settings-plan-badge.pro{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.settings-billing-cycle{color:#ffffff80;font-size:.8125rem}.settings-description{color:#fff9;font-size:.875rem;line-height:1.5;margin-bottom:1rem}.settings-button{background:#ffffff1a;border:1px solid #fff3;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;margin-bottom:.5rem;margin-right:.75rem;padding:.625rem 1.25rem;transition:all .15s}.settings-button:hover{background:#ec48991a;border-color:#ec4899;color:#ec4899}.settings-button.primary{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;box-shadow:0 4px 15px #ec48994d;color:#fff}.settings-button.primary:hover{box-shadow:0 6px 20px #ec489966;transform:translateY(-1px)}.settings-button.danger{background:#ef4444e6;border:none;color:#fff}.settings-button.danger:hover:not(:disabled){background:#dc2626}.settings-button.danger:disabled{cursor:not-allowed;opacity:.5}.delete-confirm{display:flex;flex-wrap:wrap;gap:.75rem}.delete-confirm-input{background:#ffffff1a;border:1px solid #ef444466;border-radius:.5rem;color:#fff;flex:1 1;font-size:.875rem;min-width:200px;padding:.5rem .75rem}.delete-confirm-input::placeholder{color:#fff6}.delete-confirm-input:focus{background:#ffffff26;border-color:#ef4444;box-shadow:0 0 0 3px #ef444433;outline:none}.help-view{max-width:800px}.help-section{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #ffffff26;border-radius:1rem;box-shadow:0 8px 32px #0003;margin-bottom:1.5rem;padding:1.5rem}.help-section h2{color:#fff;font-size:1.125rem;font-weight:600;margin-bottom:1rem}.help-section p{color:#ffffffb3;font-size:.9375rem;line-height:1.6}.faq-list{display:flex;flex-direction:column;gap:.5rem}.faq-item{background:#ffffff0d;border:1px solid #ffffff26;border-radius:.5rem;overflow:hidden}.faq-item.open{border-color:#ec4899}.faq-question{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;justify-content:space-between;padding:1rem;text-align:left;transition:background .15s;width:100%}.faq-question:hover{background:#ffffff1a}.faq-item.open .faq-question{background:#ec489926;color:#ec4899}.faq-toggle{color:#ffffff80;font-size:1.25rem}.faq-item.open .faq-toggle{color:#ec4899}.faq-answer{background:#ec48991a;color:#ffffffb3;font-size:.875rem;line-height:1.6;padding:0 1rem 1rem}.help-email{color:#ec4899;display:inline-block;font-weight:500;margin-top:.75rem;text-decoration:none}.help-email:hover{text-decoration:underline}.help-links{display:flex;gap:1.5rem}.help-links a{color:#ec4899;font-size:.9375rem;text-decoration:none}.help-links a:hover{text-decoration:underline}.app-layout .demo-banner{left:0;position:fixed;right:0;top:0;z-index:300}.app-layout .sidenav{top:0}.app-layout.has-demo-banner .sidenav{height:calc(100vh - 2.75rem);top:2.75rem}.app-layout.has-demo-banner .main-content{padding-top:4.5rem}@media (max-width:768px){.app-layout .demo-banner{position:fixed;top:calc(3.5rem + env(safe-area-inset-top, 0px))}.app-layout .main-content{padding-top:calc(4.5rem + env(safe-area-inset-top, 0px))}.app-layout.has-demo-banner .main-content{padding-top:calc(7.5rem + env(safe-area-inset-top, 0px))}}.dashboard-view{background:#f8fafc;margin:-2rem;min-height:100vh;padding:2rem}@media (max-width:768px){.dashboard-view{margin:-1rem;min-height:auto;padding:.5rem 1rem 1rem}}.dashboard-view .view-title{color:#111827}.dashboard-view .view-subtitle{color:#6b7280}.dashboard-view .dashboard-header{color:#111827}.dashboard-view .year-filter label{color:#6b7280}.dashboard-view .year-filter select option{background:#fff;color:#111827}.dashboard-view .quick-category-filter{scrollbar-color:#d1d5db #0000}.dashboard-view .category-chip{background:#fff;border:1px solid #e5e7eb;color:#374151}.dashboard-view .category-chip:hover{background:#fdf4ff;border-color:#ec4899}.dashboard-view .category-chip.active{background:linear-gradient(135deg,#ec4899,#8b5cf6);border-color:#0000;color:#fff}.dashboard-view .category-chip-amount{color:#6b7280}.dashboard-view .category-chip.active .category-chip-amount{color:#ffffffe6}.dashboard-view .summary-cards .summary-card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.dashboard-view .summary-card .summary-label{color:#6b7280}.dashboard-view .summary-card .summary-amount{color:#111827}.dashboard-view .summary-card.income .summary-amount{color:#111827}.dashboard-view .summary-card.expenses .summary-amount{color:#dc2626}.dashboard-view .summary-card.profit{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #16a34a}.dashboard-view .summary-card.profit .summary-amount{color:#16a34a}.dashboard-view .summary-card.loss{background:#fff;border:1px solid #e5e7eb;border-left:4px solid #dc2626}.dashboard-view .summary-card.loss .summary-amount{color:#dc2626}.dashboard-view .control-button{background:#fff;border:1px solid #e5e7eb;color:#374151}.dashboard-view .control-button.active,.dashboard-view .control-button:hover{background:#fdf4ff;border-color:#ec4899;color:#ec4899}.dashboard-view .control-button.primary{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;color:#fff}.dashboard-view .export-dropdown-menu{background:#fff;border:1px solid #e5e7eb;box-shadow:0 10px 25px #00000026}.dashboard-view .export-dropdown-item{color:#374151}.dashboard-view .export-dropdown-item:hover{background:#f3f4f6;color:#111827}.dashboard-view .export-item-desc{color:#9ca3af}.dashboard-view .export-dropdown-divider{background:#e5e7eb}.dashboard-view .export-dropdown-item.featured{background:#fdf4ff}.dashboard-view .export-dropdown-item.featured:hover{background:#fae8ff}.dashboard-view .filter-panel{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.dashboard-view .filter-group label{color:#6b7280}.dashboard-view .filter-group select{background:#fff;border:1px solid #e5e7eb;color:#111827}.dashboard-view .filter-group select option{background:#fff;color:#111827}.dashboard-view .entries-section{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;box-shadow:0 1px 3px #0000001a}.dashboard-view .entries-list{background:#0000}.dashboard-view .entries-table-header{background:#f8fafc;color:#6b7280}.dashboard-view .entry-row{border-bottom-color:#f3f4f6}.dashboard-view .entry-row:hover{background:#f9fafb}.dashboard-view .entry-date-stacked{color:#6b7280}.dashboard-view .entry-desc{color:#111827}.dashboard-view .entries-title{background:#0000;border-bottom:1px solid #e5e7eb;color:#111827}.dashboard-view .entries-empty{background:#0000;color:#6b7280}.dashboard-view .entries-empty p{color:#6b7280}.dashboard-view .empty-add-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.dashboard-view .entry-item{align-items:flex-start;background:#0000;border-bottom:1px solid #f3f4f6}.dashboard-view .entry-item:hover{background:#f9fafb}.dashboard-view .entry-icon{flex-shrink:0;font-size:1.5rem;text-align:center;width:2rem}.dashboard-view .entry-description{color:#111827;font-weight:600}.dashboard-view .entry-subcategory{background:#f3f4f6;color:#6b7280}.dashboard-view .entry-meta{color:#9ca3af}.dashboard-view .entry-amount{color:#111827;font-weight:600}.dashboard-view .entry-amount.income{color:#16a34a}.dashboard-view .entry-amount.expense{color:#dc2626}.dashboard-view .entry-amount.miles{color:#3b82f6}.dashboard-view .entry-delete,.dashboard-view .entry-edit{background:#fff;border:1px solid #e5e7eb;color:#6b7280}.dashboard-view .entry-edit:hover{background:#fdf4ff;border-color:#ec4899;color:#ec4899}.dashboard-view .entry-delete:hover,.dashboard-view .error-banner{background:#fef2f2;border-color:#dc2626;color:#dc2626}.reports-view{background:#f8fafc;margin:-2rem;min-height:100vh;padding:2rem}@media (max-width:768px){.reports-view{margin:-1rem;min-height:auto;padding:1rem}}.reports-view .view-title{color:#111827}.reports-view .view-subtitle{color:#6b7280}.reports-view .time-period-selector{background:#fff;border:1px solid #e5e7eb}.reports-view .period-button{color:#6b7280}.reports-view .period-button:hover{color:#111827}.reports-view .period-button.active{background:linear-gradient(135deg,#ec4899,#8b5cf6);box-shadow:0 2px 8px #ec48994d;color:#fff}.reports-view .summary-card-large{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.reports-view .summary-card-large:hover{box-shadow:0 4px 12px #0000001a}.reports-view .summary-card-label{color:#6b7280}.reports-view .summary-card-value{color:#111827}.reports-view .summary-card-value.income{color:#16a34a}.reports-view .summary-card-value.expenses{color:#dc2626}.reports-view .comparison-text{color:#9ca3af}.reports-view .change-indicator.positive{background:#dcfce7;color:#16a34a}.reports-view .change-indicator.negative{background:#fef2f2;color:#dc2626}.reports-view .chart-card,.reports-view .chart-card-full{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.reports-view .chart-title{color:#111827}.reports-view .chart-empty{color:#9ca3af}.reports-view .category-breakdown{background:#0000}.reports-view .category-amount-inline,.reports-view .category-row-amount,.reports-view .category-row-value{color:#111827}.reports-view .category-row-percent{color:#6b7280}.reports-view .recharts-legend-item-text{color:#6b7280!important}.dashboard-view .recharts-cartesian-grid line,.reports-view .recharts-cartesian-grid line{stroke:#e5e7eb}.dashboard-view .recharts-text,.reports-view .recharts-text{fill:#6b7280}.dashboard-view .recharts-tooltip-wrapper .recharts-default-tooltip,.reports-view .recharts-tooltip-wrapper .recharts-default-tooltip{background-color:#fff!important;border-color:#e5e7eb!important;box-shadow:0 4px 12px #00000026}.dashboard-view .recharts-tooltip-label,.reports-view .recharts-tooltip-label{color:#111827!important}.dashboard-view .recharts-tooltip-item,.reports-view .recharts-tooltip-item{color:#374151!important}.dashboard-view .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080}.dashboard-view .modal{background:#fff;border:1px solid #e5e7eb;box-shadow:0 20px 50px #0003}.dashboard-view .modal h2{color:#111827}.dashboard-view .modal-header{border-bottom-color:#e5e7eb}.dashboard-view .modal-close{color:#9ca3af}.dashboard-view .modal-close:hover{color:#111827}.dashboard-view .form-group label{color:#374151}.dashboard-view .form-group input,.dashboard-view .form-group select,.dashboard-view .form-group textarea{background:#fff;border:1px solid #e5e7eb;color:#111827}.dashboard-view .form-group input::placeholder{color:#9ca3af}.dashboard-view .form-group select option{background:#fff;color:#111827}.dashboard-view .form-group input:focus,.dashboard-view .form-group select:focus,.dashboard-view .form-group textarea:focus{background:#fff;border-color:#ec4899;box-shadow:0 0 0 3px #ec489926}.dashboard-view .scan-section{background:#f9fafb;border:1px solid #e5e7eb}.dashboard-view .scan-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.dashboard-view .scan-info{color:#6b7280}.dashboard-view .scan-error{background:#fef2f2;color:#dc2626}.dashboard-view .upload-button{background:#fff;border:1px solid #e5e7eb;color:#6b7280}.dashboard-view .upload-button:hover{border-color:#ec4899;color:#ec4899}.dashboard-view .receipt-preview{background:#f9fafb;border:1px solid #e5e7eb}.dashboard-view .receipt-preview a{color:#ec4899}.dashboard-view .form-actions .cancel-button{background:#0000;border:1px solid #e5e7eb;color:#6b7280}.dashboard-view .form-actions .cancel-button:hover{background:#f3f4f6;color:#111827}.dashboard-view .form-actions .submit-button{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.dashboard-view::-webkit-scrollbar,.reports-view::-webkit-scrollbar{height:8px;width:8px}.dashboard-view::-webkit-scrollbar-track,.reports-view::-webkit-scrollbar-track{background:#f3f4f6}.dashboard-view::-webkit-scrollbar-thumb,.reports-view::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:4px}.dashboard-view::-webkit-scrollbar-thumb:hover,.reports-view::-webkit-scrollbar-thumb:hover{background:#9ca3af}@media (max-width:768px){.mobile-header{background:linear-gradient(135deg,#2d1f3d,#1a1a2e);border-bottom-color:#ffffff1a}.mobile-logo{color:#fff}.mobile-menu-button{color:#ffffffb3}.mobile-nav{background:linear-gradient(180deg,#1a1a2e,#16132d);border-top-color:#ffffff1a}.mobile-nav-item{color:#fff9}.mobile-nav-item.active{color:#ec4899}}.receipts-view{background:#f8fafc;margin:-2rem;min-height:100vh;padding:2rem}@media (max-width:768px){.receipts-view{margin:-1rem;min-height:auto;padding:1rem}}.receipts-view .view-title{color:#111827}.receipts-view .view-subtitle{color:#6b7280}.receipts-view .receipts-filters{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.receipts-view .receipts-filter-row,.receipts-view .receipts-filter-row label{color:#6b7280}.receipts-view .receipts-filter-row input,.receipts-view .receipts-filter-row select{background:#fff;border:1px solid #e5e7eb;color:#111827}.receipts-view .receipts-filter-row select option{background:#fff;color:#111827}.receipts-view .date-input-wrapper .date-placeholder,.receipts-view .receipts-filter-row input::placeholder{color:#9ca3af}.receipts-view .receipts-empty{background:#fff;border:1px solid #e5e7eb}.receipts-view .receipts-empty-icon{opacity:.6}.receipts-view .receipts-empty-text{color:#6b7280}.receipts-view .receipts-empty-hint{color:#9ca3af}.receipts-view .receipts-grid{background:#0000}.receipts-view .receipt-card{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.receipts-view .receipt-card:hover{border-color:#ec4899;box-shadow:0 4px 12px #ec489926}.receipts-view .receipt-info h4{color:#111827}.receipts-view .receipt-info p{color:#6b7280}.receipts-view .receipt-amount{color:#111827}.receipts-view .receipt-amount.income{color:#16a34a}.receipts-view .receipt-modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080}.receipts-view .receipt-modal-content{background:#fff;border:1px solid #e5e7eb;box-shadow:0 20px 50px #0003}.receipts-view .receipt-modal-close{color:#9ca3af}.receipts-view .receipt-modal-close:hover{color:#111827}.settings-view{background:#f8fafc;margin:-2rem;min-height:100vh;padding:2rem}@media (max-width:768px){.settings-view{margin:-1rem;min-height:auto;padding:1rem}}.settings-view .view-title{color:#111827}.settings-view .view-subtitle{color:#6b7280}.settings-view .settings-section{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.settings-view .settings-section h2{color:#111827}.settings-view .settings-row{border-bottom-color:#f3f4f6}.settings-view .settings-label{color:#6b7280}.settings-view .settings-value{color:#111827}.settings-view .settings-plan-badge{background:#f3f4f6;color:#6b7280}.settings-view .settings-plan-badge.pro{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}.settings-view .settings-billing-cycle{color:#9ca3af}.settings-view .settings-description{color:#6b7280}.settings-view .settings-button{background:#fff;border:1px solid #e5e7eb;color:#374151}.settings-view .settings-button:hover{background:#fdf4ff;border-color:#ec4899;color:#ec4899}.settings-view .settings-button.primary{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;color:#fff}.settings-view .settings-section.danger{background:#fef2f2;border-color:#fecaca}.settings-view .settings-section.danger h2{color:#dc2626}.settings-view .delete-warning{background:#fef2f2;border-color:#fecaca}.settings-view .delete-warning-title{color:#dc2626}.settings-view .delete-warning-list{color:#b91c1c}.settings-view .delete-warning-final{color:#dc2626}.settings-view .delete-confirm-input{background:#fff;border:1px solid #fecaca;color:#111827}.settings-view .delete-confirm-input::placeholder{color:#9ca3af}.settings-view .delete-confirm-input:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444426}.settings-view .settings-button.danger{background:#fef2f2;border-color:#ef4444;color:#dc2626}.settings-view .settings-button.danger:hover{background:#fee2e2}.settings-view .modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080}.settings-view .modal{background:#fff;border:1px solid #e5e7eb;box-shadow:0 20px 50px #0003}.settings-view .modal h2,.settings-view .modal h3{color:#111827}.settings-view .modal p,.settings-view .modal ul{color:#6b7280}.settings-view .modal-close{color:#9ca3af}.settings-view .modal-close:hover{color:#111827}.settings-view .modal input{background:#fff;border:1px solid #e5e7eb;color:#111827}.settings-view .modal input::placeholder{color:#9ca3af}.help-view{background:#f8fafc;margin:-2rem;min-height:100vh;padding:2rem}.help-view .view-title{color:#111827}.help-view .view-subtitle{color:#6b7280}.help-view .help-section{background:#fff;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.help-view .help-section h2{color:#111827}.help-view .help-section p{color:#6b7280}.help-view .help-email,.help-view .help-links a{color:#ec4899}.help-view .faq-item{background:#f9fafb;border:1px solid #e5e7eb}.help-view .faq-item.open{border-color:#ec4899}.help-view .faq-question{color:#111827}.help-view .faq-question:hover{background:#f3f4f6}.help-view .faq-item.open .faq-question{background:#fdf4ff;color:#ec4899}.help-view .faq-toggle{color:#9ca3af}.help-view .faq-item.open .faq-toggle{color:#ec4899}.help-view .faq-answer{background:#fdf4ff;color:#6b7280}.landing-page{background:linear-gradient(135deg,#f5f3ff,#ecfdf5)}@media (max-width:768px){.help-view{margin:-1rem;min-height:auto;padding:1rem}.entries-list,.modal-content,.receipts-grid{-webkit-overflow-scrolling:touch}.dashboard-view,.help-view,.receipts-view,.reports-view,.settings-view{max-width:100vw;overflow-x:hidden}.chart-card,.chart-card-full{-webkit-overflow-scrolling:touch;overflow-x:auto}*{-webkit-tap-highlight-color:transparent}}@media (hover:none) and (pointer:coarse){.category-chip,.entry-item,.receipt-card,.sidenav-item{min-height:44px}}.remember-me-group{margin-bottom:1rem}.remember-me-label{align-items:center;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.remember-me-label input[type=checkbox]{accent-color:#ec4899;cursor:pointer;height:1rem;width:1rem}.remember-me-label span{-webkit-user-select:none;user-select:none}.forgot-password-link{background:none;border:none;color:#ec4899;cursor:pointer;display:block;font-size:.8rem;margin-top:.5rem;padding:0;text-align:right;width:100%}.forgot-password-link:hover{text-decoration:underline}.auth-hint{color:#64748b;font-size:.875rem}.auth-hint,.auth-success-message{margin-bottom:1rem;text-align:center}.auth-success-message{background:#16a34a1a;border:1px solid #16a34a4d;border-radius:.5rem;color:#16a34a;padding:1rem}.auth-success-message strong{color:#15803d}.auth-success-hint{color:#64748b;font-size:.8rem;margin-bottom:1.5rem;text-align:center}.pwa-install-prompt{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#ec4899,#8b5cf6);bottom:0;box-shadow:0 -4px 20px #00000026;color:#fff;left:0;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:9999}.pwa-install-content{align-items:center;display:flex;gap:1rem;margin:0 auto;max-width:600px}.pwa-install-icon{flex-shrink:0;font-size:2rem}.pwa-install-text{flex:1 1}.pwa-install-text h4{font-size:1rem;font-weight:600;margin:0 0 .25rem}.pwa-install-text p{font-size:.8rem;margin:0;opacity:.9}.pwa-install-actions{display:flex;flex-shrink:0;gap:.5rem}.pwa-install-btn{background:#fff;border:none;border-radius:.5rem;color:#ec4899;cursor:pointer;font-size:.875rem;font-weight:600;padding:.5rem 1rem;transition:transform .2s,box-shadow .2s}.pwa-install-btn:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05)}.pwa-install-dismiss{background:#0000;border:1px solid #ffffff4d;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem .75rem;transition:background .2s}.pwa-install-dismiss:hover{background:#ffffff1a}.pwa-install-modal-overlay{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:10000}.pwa-install-modal{background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;max-width:400px;padding:1.5rem;width:100%}.pwa-install-modal h3{color:#1e293b;font-size:1.25rem;margin:0 0 1rem;text-align:center}.pwa-install-steps{list-style:none;margin:0 0 1.5rem;padding:0}.pwa-install-steps li{align-items:flex-start;border-bottom:1px solid #e2e8f0;color:#1e293b;display:flex;font-size:.9rem;gap:.75rem;padding:.75rem 0}.pwa-install-steps li:last-child{border-bottom:none}.pwa-install-steps .step-number{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:.75rem;height:1.5rem;justify-content:center;width:1.5rem}.pwa-install-modal-close,.pwa-install-steps .step-number{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff;font-weight:600}.pwa-install-modal-close{border:none;border-radius:.5rem;cursor:pointer;padding:.75rem;transition:transform .2s,box-shadow .2s;width:100%}.pwa-install-modal-close:hover{box-shadow:0 4px 12px #ec489966;transform:scale(1.02)}@media (min-width:769px){.pwa-install-prompt{display:none}}.log-trip-modal{max-width:28rem}.log-trip-form{display:flex;flex-direction:column;gap:.75rem}.address-input-group{display:flex;gap:.5rem;position:relative}.address-input-group input{flex:1 1}.address-autocomplete-container{flex:1 1;position:relative}.address-autocomplete-container input{width:100%}.address-suggestions{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 4px 12px #00000026;left:0;list-style:none;margin:.25rem 0 0;max-height:200px;overflow-y:auto;padding:.25rem;position:absolute;right:0;top:100%;z-index:1000}.address-suggestion-item{border-radius:.375rem;cursor:pointer;display:flex;flex-direction:column;gap:.125rem;padding:.625rem .75rem}.address-suggestion-item:hover{background:#f1f5f9}.suggestion-main{color:#1e293b;font-size:.875rem;font-weight:500}.suggestion-secondary{color:#64748b;font-size:.75rem}.address-loading{color:#94a3b8;font-size:.75rem;position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.use-home-btn{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:.375rem;color:#64748b;cursor:pointer;font-size:.75rem;font-weight:500;padding:.5rem .75rem;white-space:nowrap}.use-home-btn:hover{background:#e2e8f0;color:#1e293b}.disabled-input{background:#f8fafc!important;color:#94a3b8!important;cursor:not-allowed}.round-trip-toggle{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 0}.round-trip-toggle input[type=checkbox]{accent-color:#ec4899;height:1.125rem;width:1.125rem}.calculate-btn{background:linear-gradient(135deg,#ec4899,#8b5cf6);border:none;border-radius:.5rem;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.875rem;transition:opacity .2s,transform .2s;width:100%}.calculate-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.calculate-btn:disabled{background:#cbd5e1;cursor:not-allowed;transform:none}.deduction-estimate{background:#ecfdf5;border:1px solid #10b981;border-radius:.5rem;padding:1rem;text-align:center}.estimate-label{color:#059669;display:block;font-size:.75rem;font-weight:500;margin-bottom:.25rem}.estimate-value{color:#047857;font-size:1.125rem;font-weight:700}.pro-upgrade-prompt{background:linear-gradient(135deg,#fdf4ff,#f0fdf4);border:1px solid #e879f9;border-radius:.75rem;padding:1.25rem;text-align:center}.upgrade-title{color:#7c3aed;font-weight:600;margin-bottom:.5rem}.upgrade-features{color:#64748b;font-size:.875rem;margin:.75rem 0;padding-left:1.25rem;text-align:left}.upgrade-features li{margin-bottom:.25rem}.upgrade-hint{color:#8b5cf6;font-size:.8125rem;font-weight:500;margin-top:.75rem}.reimbursement-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;margin-bottom:1rem;padding:.75rem}.reimbursable-toggle{align-items:center;color:#1e293b;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.reimbursable-toggle input[type=checkbox]{accent-color:#8b5cf6;height:1.125rem;width:1.125rem}.reimbursement-fields{border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.75rem}.reimbursement-fields .form-group{margin-bottom:0}.reimbursement-fields input,.reimbursement-fields select{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;width:100%}.reimbursement-badge{align-items:center;border-radius:.25rem;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.25rem;margin-left:.375rem;padding:.125rem .375rem}.reimbursement-badge.pending{background:#fef3c7;color:#92400e}.reimbursement-badge.reimbursed{background:#d1fae5;color:#065f46}.pending-reimbursements-banner{align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b;border-radius:.5rem;color:#92400e;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:1rem;padding:.75rem 1rem}.pending-icon{font-size:1rem}.home-address-edit{display:flex;flex-direction:column;gap:.5rem;width:100%}.home-address-input{border:1px solid #e2e8f0;border-radius:.375rem;font-size:.875rem;padding:.5rem .75rem;width:100%}.home-address-input:focus{border-color:#ec4899;box-shadow:0 0 0 3px #ec48991a;outline:none}.home-address-actions{display:flex;gap:.5rem}.home-address-display{align-items:center;display:flex;gap:.75rem}.home-address-text{color:#1e293b;font-size:.875rem;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-edit-link{background:none;border:none;color:#ec4899;cursor:pointer;font-size:.8125rem;padding:0}.settings-edit-link:hover{text-decoration:underline}.settings-button.small{font-size:.8125rem;padding:.375rem .75rem}.settings-button.small.primary{background:linear-gradient(135deg,#ec4899,#8b5cf6);color:#fff}
/*# sourceMappingURL=main.8f8189cb.css.map*/