.toast{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;border-radius:8px;box-shadow:0 4px 12px #00000026;animation:toast-enter .3s ease-out;max-width:400px}.toast-leaving{animation:toast-leave .3s ease-in forwards}@keyframes toast-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-leave{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}.toast-icon{flex-shrink:0;width:20px;height:20px}.toast-icon svg{width:100%;height:100%}.toast-message{flex:1;font-size:.875rem;line-height:1.4}.toast-close{flex-shrink:0;width:20px;height:20px;padding:0;border:none;background:none;cursor:pointer;opacity:.6;transition:opacity .15s}.toast-close:hover{opacity:1}.toast-close svg{width:100%;height:100%}.toast-success{background:#ecfdf5;border:1px solid #a7f3d0;color:#065f46}.toast-success .toast-icon{color:#10b981}.toast-error{background:#fef2f2;border:1px solid #fecaca;color:#991b1b}.toast-error .toast-icon{color:#ef4444}.toast-warning{background:#fffbeb;border:1px solid #fde68a;color:#92400e}.toast-warning .toast-icon{color:#f59e0b}.toast-info{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.toast-info .toast-icon{color:#3b82f6}.toast-container{position:fixed;top:1rem;right:1rem;z-index:10000;display:flex;flex-direction:column;gap:.5rem;pointer-events:none}.toast-container .toast{pointer-events:auto}@media (max-width: 480px){.toast-container{left:1rem;right:1rem}.toast-container .toast{max-width:none}}.logo{display:inline-flex;flex-direction:column;align-items:flex-start;text-decoration:none}.logo:hover{text-decoration:none}.logo-square{flex-direction:row}.logo-square svg{display:block}.wordmark{font-family:DM Sans,sans-serif;font-weight:500;font-size:32px;letter-spacing:-.02em;color:var(--text-primary);margin-bottom:7px;transition:color .3s ease}.beta-tag{font-size:11px;font-weight:500;color:var(--text-muted);margin-left:4px;vertical-align:super}.ratio-line{display:flex;width:100%;height:4px}.wealth-segment{flex:39;background:var(--blue-muted)}.zakat-segment{flex:1;background:var(--green-zakat)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;font-family:DM Sans,sans-serif;font-size:13px;font-weight:500;border:none;border-radius:100px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);text-decoration:none}.btn svg{width:18px;height:18px;flex-shrink:0}.btn-full{width:100%}.btn-primary{background:linear-gradient(135deg,var(--blue-deep) 0%,var(--blue-light) 100%);color:#fff;box-shadow:0 2px 8px #2563eb4d,0 0 0 1px #2563eb1a}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #2563eb66,0 0 0 1px #2563eb26}.btn-accent{background:linear-gradient(135deg,#1eb854 0%,var(--green-zakat) 100%);color:#fff;box-shadow:0 2px 8px #22c55e4d,0 0 0 1px #22c55e1a}.btn-accent:hover{transform:translateY(-2px);box-shadow:0 8px 24px #22c55e66,0 0 0 1px #22c55e26}.btn-google{background:#fff;color:#1f2937;box-shadow:0 1px 3px #0000001a}.btn-google:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.btn-apple{background:#fff;color:var(--near-black);box-shadow:0 1px 3px #0000001a}.btn-apple:hover{background:#f5f5f5;transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}[data-theme=light] .btn-google{background:#1f2937;color:#fff}[data-theme=light] .btn-google:hover{background:#374151}[data-theme=light] .btn-apple{background:#1f2937;color:#fff}[data-theme=light] .btn-apple:hover{background:#374151}.btn-secondary{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-surface);transform:translateY(-1px)}.btn-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;box-shadow:0 2px 8px #ef44444d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 8px 24px #ef444466}.dropdown{position:relative;display:inline-block}.btn-dropdown{display:inline-flex;align-items:center;gap:8px;padding:8px 12px 8px 14px;font-family:DM Sans,sans-serif;font-size:12px;font-weight:400;border:none;border-radius:100px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:#ffffff0d;color:var(--gray-subtle);box-shadow:none}.btn-dropdown:hover{background:#ffffff14;color:var(--off-white)}.dropdown-value{flex:1}.dropdown-chevron{width:14px;height:14px;opacity:.4;transition:transform .2s ease}.dropdown.open .dropdown-chevron{transform:rotate(180deg)}.dropdown-menu{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;background:#1c2128;border-radius:12px;box-shadow:0 4px 24px #0006,0 0 0 1px #ffffff1a;padding:6px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:all .2s cubic-bezier(.4,0,.2,1);z-index:100}.dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;font-size:14px;font-weight:500;color:var(--off-white);border-radius:8px;cursor:pointer;transition:background .15s ease;white-space:nowrap}.dropdown-item:hover{background:#ffffff14}.dropdown-item.selected{background:#ffffff1a}.dropdown-item svg{width:16px;height:16px;color:var(--off-white)}.loading-spinner{display:flex;align-items:center;justify-content:center;padding:20px}.loading-spinner svg{overflow:visible}.loading-path-blue{stroke-dasharray:750;stroke-dashoffset:750;animation:drawSquare 2s ease-out infinite}.loading-green{opacity:0;animation:showGreen 2s ease-out infinite}@keyframes drawSquare{0%{stroke-dashoffset:750}40%{stroke-dashoffset:0}90%{stroke-dashoffset:0}to{stroke-dashoffset:750}}@keyframes showGreen{0%,35%{opacity:0}45%,90%{opacity:1}to{opacity:0}}.page-loader{min-height:100vh;display:flex;align-items:center;justify-content:center}.sidebar-nav{position:fixed;left:0;top:0;height:100vh;width:var(--sidebar-left-width);display:flex;flex-direction:column;align-items:center;background:var(--bg-surface);border-right:1px solid var(--border-color);padding:16px 0;z-index:100}.sidebar-logo{display:flex;justify-content:center;align-items:center;width:100%;padding:0 4px 12px;margin-bottom:8px}.sidebar-logo .logo{display:flex;justify-content:center;transform:scale(.6);transform-origin:center center;margin:-8px 0}.nav-items{display:flex;flex-direction:column;align-items:center;gap:6px;padding:0 10px;width:100%}.nav-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:90px;height:62px;padding:10px 6px;background:transparent;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;position:relative}.nav-label{font-size:10px;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.2px}.nav-btn.active .nav-label{color:#fff}.nav-btn:hover .nav-label{color:var(--text-primary)}.nav-btn.active:hover .nav-label{color:#fff}.nav-btn:hover{background:var(--bg-elevated)}[data-theme=dark] .nav-btn:hover{background:#ffffff14}[data-theme=light] .nav-btn:hover{background:#0000000a}.nav-btn.active{background:var(--blue-muted);border-color:var(--blue-muted)}.nav-btn.active:hover{background:var(--blue-light)}.nav-btn svg{width:20px;height:20px;color:var(--text-secondary)}.nav-btn.active svg{color:#fff}.nav-btn:hover svg{color:var(--text-primary)}.nav-lock-badge{position:absolute;bottom:2px;right:2px;font-size:10px;line-height:1}@media (max-width: 700px){.sidebar-logo{display:none}.sidebar-nav{position:fixed;left:0;right:0;top:auto;bottom:0;height:auto;width:100%;flex-direction:row;justify-content:center;padding:6px 16px;background:var(--bg-surface);border-top:1px solid var(--border-color);border-right:none;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:1000}.sidebar-nav .nav-items{flex-direction:row;gap:2px;justify-content:center;width:100%;max-width:400px;padding:0}.nav-btn{width:auto;height:auto;padding:6px 8px;border-radius:8px;flex:1;max-width:80px}.nav-label{font-size:8px}}.sidebar-right{position:fixed;right:0;top:0;height:100vh;width:var(--sidebar-right-width);display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:var(--bg-surface);border-left:1px solid var(--border-color);padding:16px 0;z-index:100}.sidebar-right-top,.sidebar-right-bottom{display:flex;flex-direction:column;align-items:center;padding:0 8px}.user-avatar-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:50%;cursor:pointer;transition:all .2s ease;position:relative;padding:0}.user-avatar-btn:hover{background:#ffffff14}[data-theme=light] .user-avatar-btn:hover{background:#0000000a}.avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover}.avatar-placeholder{width:32px;height:32px;border-radius:50%;background:var(--blue-muted);color:#fff;font-size:14px;font-weight:500;display:flex;align-items:center;justify-content:center}.avatar-placeholder.guest{background:var(--text-secondary)}.avatar-placeholder.large{width:40px;height:40px;font-size:16px}.user-avatar-btn:after,.theme-toggle-btn:after{content:attr(data-tooltip);position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);background:var(--bg-surface);border:1px solid var(--border-color);padding:6px 10px;border-radius:6px;font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;opacity:0;visibility:hidden;transition:all .15s ease;z-index:10}.user-avatar-btn:hover:after,.theme-toggle-btn:hover:after{opacity:1;visibility:visible}.sidebar-dropdown{position:absolute;top:8px;right:56px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;min-width:260px;box-shadow:0 8px 32px #0000004d;z-index:200;overflow:hidden}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px}.dropdown-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-email{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-item{display:block;width:100%;padding:12px 16px;background:transparent;border:none;text-align:left;font-size:13px;font-family:inherit;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease}.dropdown-item:hover{background:var(--bg-elevated)}[data-theme=dark] .dropdown-item:hover{background:#ffffff0d}[data-theme=light] .dropdown-item:hover{background:#00000008}.dropdown-item-danger:hover{background:#ef44441a}.dropdown-item-primary:hover{background:#3b82f61a}.dropdown-info{display:flex;justify-content:space-between;padding:8px 16px;font-size:12px}.dropdown-info-label{color:var(--text-secondary)}.dropdown-info-value{color:var(--text-primary)}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.theme-toggle-btn:hover{background:var(--bg-elevated)}[data-theme=dark] .theme-toggle-btn:hover{background:#ffffff14}[data-theme=light] .theme-toggle-btn:hover{background:#0000000a}.theme-toggle-btn svg{width:20px;height:20px;color:var(--text-secondary)}.theme-toggle-btn:hover svg{color:var(--text-primary)}.exit-modal-content{text-align:left}.exit-modal-content p{color:var(--text-secondary);margin-bottom:20px}.exit-modal-actions{display:flex;flex-direction:column;gap:12px}.exit-modal-actions-row{display:flex;flex-direction:row;gap:12px;justify-content:flex-end}.exit-modal-divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-size:12px}.exit-modal-divider:before,.exit-modal-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}@media (max-width: 700px){.sidebar-right{display:none}}.top-header{background:var(--bg-surface);border-bottom:1px solid var(--border-color);padding:8px var(--content-gap) 0 var(--content-gap);position:sticky;top:0;margin-left:var(--sidebar-left-width);margin-right:var(--sidebar-right-width);z-index:100;display:flex;flex-direction:column;align-items:center}.header-content{width:100%}.basmala{font-family:Scheherazade New,serif;font-size:18px;color:var(--text-primary);text-shadow:0 0 15px rgba(31,41,55,.2),0 0 30px rgba(31,41,55,.1);direction:rtl}.salawat{font-family:Scheherazade New,serif;font-size:18px;color:var(--text-primary);text-shadow:0 0 15px rgba(31,41,55,.2),0 0 30px rgba(31,41,55,.1);direction:rtl;text-align:right;margin-left:auto}.homepage-main-row{flex-wrap:wrap}.homepage-main-row .salawat{flex-basis:100%;margin-left:0;margin-top:8px}@media (min-width: 768px){.homepage-main-row .salawat{flex-basis:auto;margin-left:auto;margin-top:0}}.date-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-color)}.dates-stack{display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-size:12px}.hijri-date{color:var(--text-primary)}.gregorian-date{color:var(--text-secondary)}.header-divider{width:1px;height:48px;background:var(--border-color);margin:0 12px}.header-center{flex:1}.header-greeting{font-size:14px;font-weight:500;color:var(--text-primary);margin:0 0 4px}.header-tagline{font-size:14px;font-weight:400;color:var(--text-primary);margin:0}.header-tagline .highlight{color:var(--blue-light);font-weight:500}.header-subtext{font-size:13px;color:var(--text-secondary);margin:2px 0 0}.header-signin{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex-shrink:0}.signin-label{font-size:12px;color:var(--text-secondary)}.signin-button{display:flex;align-items:center;gap:8px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:6px;padding:8px 12px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.signin-button:hover{background:var(--bg-elevated);border-color:var(--text-muted)}.signin-button:disabled{opacity:.6;cursor:not-allowed}.signin-button svg{width:16px;height:16px}.auth-stack{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.logo-with-badge{display:flex;align-items:center;gap:16px}.edition-badge{font-size:12px;color:var(--text-secondary);background:var(--bg-elevated);padding:4px 10px;border-radius:6px;border:1px solid var(--border-color)}.sign-in-link{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;font-size:13px;color:var(--text-secondary);padding:0;transition:color .2s ease}.sign-in-link:hover{color:var(--text-primary)}.sign-in-link svg{width:14px;height:14px}.header-main-row{display:flex;align-items:center;padding:12px 0;gap:16px}.header-left{flex-shrink:0}.financial-row{display:flex;align-items:center;justify-content:space-between;flex:1;gap:12px}.section-divider{width:1px;height:32px;background:var(--border-color)}.stat-divider,.stat-arrow{color:var(--text-muted);font-size:14px;opacity:.5}.summary-stat{display:flex;flex-direction:column;align-items:flex-start}.stat-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.stat-value{font-size:27px;font-weight:600;color:var(--text-primary);white-space:nowrap;font-variant-numeric:tabular-nums;min-width:70px}.summary-stat.deduction .stat-value{color:var(--text-secondary)}.summary-stat.real-net-worth .stat-value{color:var(--blue-muted)}.summary-stat.zakat .stat-value{color:var(--green-zakat)}.summary-stat.paid .stat-value{color:var(--blue-light)}.summary-stat.remaining .stat-value{color:#f59e0b}.summary-stat.overpaid .stat-value{color:var(--green-zakat)}@media (max-width: 900px){.financial-row{flex-wrap:wrap;gap:12px}.section-divider{display:none}}@media (max-width: 768px){.stat-arrow,.stat-divider{display:none}.stat-value{font-size:14px}}@media (max-width: 700px){.top-header{margin-left:0;margin-right:0}}@media (max-width: 600px){.top-header{padding:0 16px}.dates-stack{font-size:11px}.stat-label{font-size:9px}.stat-value{font-size:13px}}.user-menu{display:flex;align-items:center;gap:8px;font-size:14px;position:relative}.user-avatar{width:28px;height:28px;border-radius:50%;object-fit:cover}.user-avatar-placeholder{width:28px;height:28px;border-radius:50%;background-color:var(--text-muted);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.user-name{color:var(--text-primary);font-weight:500}.user-separator{color:var(--text-secondary)}.logout-link{background:none;border:none;color:var(--text-secondary);font-size:14px;font-family:DM Sans,sans-serif;cursor:pointer;padding:0;transition:color .2s ease}.logout-link:hover{color:var(--text-primary);text-decoration:underline}.user-menu-trigger{display:flex;align-items:center;gap:6px;background:none;border:none;cursor:pointer;padding:4px;border-radius:8px;transition:background-color .2s ease}.user-menu-trigger:hover{background-color:var(--bg-elevated)}.dropdown-arrow{font-size:8px;color:var(--text-muted)}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;min-width:240px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 4px 12px #00000026;z-index:1000;overflow:hidden}.dropdown-header{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-elevated)}.dropdown-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover}.dropdown-user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.dropdown-name{font-size:14px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-email{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-divider{height:1px;background:var(--border-color);margin:0}.dropdown-item{display:block;width:100%;padding:12px 16px;background:none;border:none;text-align:left;font-size:14px;font-family:DM Sans,sans-serif;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease}.dropdown-item:hover{background-color:var(--bg-elevated)}.dropdown-item-danger{color:#ef4444}.dropdown-item-danger:hover{background-color:#ef444414}.dropdown-item-primary{color:var(--blue-light)}.dropdown-item-primary:hover{background-color:#3b82f614}.dropdown-info{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;font-size:12px}.dropdown-info-label{color:var(--text-muted)}.dropdown-info-value{color:var(--text-secondary)}.guest-avatar{width:28px;height:28px;border-radius:50%;background-color:var(--text-muted)}.dropdown-guest-avatar{width:40px;height:40px}.guest-dropdown .exit-modal-actions{flex-direction:row;gap:12px}.guest-name{color:var(--text-secondary);font-style:italic}.signin-link{background:none;border:none;color:var(--blue-muted);font-size:14px;font-family:DM Sans,sans-serif;cursor:pointer;padding:0;font-weight:500;transition:color .2s ease}.signin-link:hover{color:var(--green-zakat);text-decoration:underline}.exit-modal-content{display:flex;flex-direction:column;gap:16px}.exit-modal-content p{margin:0;color:var(--text-secondary);font-size:14px}.exit-modal-actions{display:flex;flex-direction:row;gap:12px;justify-content:flex-end}.exit-modal-divider{display:flex;align-items:center;text-align:center}.exit-modal-divider:before,.exit-modal-divider:after{content:"";flex:1;border-bottom:1px solid var(--border-color)}.exit-modal-divider span{padding:0 12px;color:var(--text-muted);font-size:13px}.page{min-height:100vh;background:var(--bg-primary)}.main-layout{padding-left:var(--sidebar-left-width);padding-right:var(--sidebar-right-width)}@media (max-width: 700px){.main-layout{padding-left:0;padding-right:0;padding-bottom:72px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:24px;max-width:400px;width:90%;position:relative}.modal-close-btn{position:absolute;top:16px;right:16px;width:28px;height:28px;padding:0;border:none;background:transparent;cursor:pointer;border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--text-muted);transition:color .15s ease,background-color .15s ease}.modal-close-btn:hover{color:var(--text-primary);background:var(--bg-elevated)}.modal-close-btn svg{width:18px;height:18px}.modal h3{color:var(--text-primary);margin-bottom:12px;font-size:18px}.modal-content{color:var(--text-secondary);font-size:14px;line-height:1.5;margin-bottom:20px}.modal-content p{margin:0}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-wide .modal{max-width:800px}.modal-wide .modal h3{font-size:12px;font-weight:500;color:var(--text-muted)}.modal-wide .modal-content{max-height:70vh;overflow-y:auto;padding-right:25px}.modal-wide .modal-content::-webkit-scrollbar{width:8px}.modal-wide .modal-content::-webkit-scrollbar-track{background:transparent}.modal-wide .modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.modal-wide .modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-footer{background:var(--bg-surface);border-top:1px solid var(--border-color);padding:0 var(--content-gap) 7px var(--content-gap);display:flex;flex-direction:column;align-items:center;position:fixed;bottom:0;left:var(--sidebar-left-width);right:var(--sidebar-right-width);z-index:100}@media (max-width: 700px){.app-footer{margin-left:0;margin-right:0;left:0;right:0}}.footer-content{width:100%;display:flex;justify-content:center;align-items:center;height:50px}.footer-center{font-size:11px;color:var(--text-secondary);text-align:center}.footer-center a{color:var(--blue-light);text-decoration:none}.footer-center a:hover{text-decoration:underline}.conflict-content p{margin-bottom:12px;color:var(--text-primary)}.conflict-options{display:flex;flex-direction:column;gap:12px;margin-top:16px}.conflict-option{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:12px}.conflict-option strong{display:block;font-weight:500;color:var(--text-primary);margin-bottom:4px}.conflict-option span{font-size:13px;color:var(--text-secondary)}.passphrase-form{display:flex;flex-direction:column;gap:16px}.passphrase-description{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.passphrase-warning-text{color:#ef4444;font-size:13px;margin:0;line-height:1.5}.passphrase-form .form-group{display:flex;flex-direction:column;gap:6px}.passphrase-form label{font-size:14px;font-weight:500;color:var(--text-primary)}.passphrase-form input[type=text],.passphrase-form input[type=password]{padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;transition:border-color .2s,box-shadow .2s}.passphrase-form input[type=text]:focus,.passphrase-form input[type=password]:focus{outline:none;border-color:var(--blue-muted);box-shadow:0 0 0 3px #2563eb1a}.passphrase-form input:disabled{background-color:var(--bg-elevated);cursor:not-allowed}.show-passphrase{display:flex;align-items:center}.show-passphrase label{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-secondary);cursor:pointer;font-weight:400}.show-passphrase input[type=checkbox]{width:16px;height:16px;cursor:pointer}.passphrase-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:10px 12px;font-size:13px;color:#dc2626}.passphrase-actions{display:flex;justify-content:space-between;margin-top:8px}.forgot-passphrase{text-align:center;margin-top:8px}.forgot-link{background:none;border:none;color:var(--text-muted);font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.forgot-link:hover{color:var(--text-secondary)}.forgot-link:disabled{cursor:not-allowed;opacity:.5}.encryption-demo-modal .modal{max-width:520px}.encryption-demo-modal .modal-content{max-height:70vh;overflow-y:auto;padding-right:25px}.encryption-demo-modal .modal-content::-webkit-scrollbar{width:8px}.encryption-demo-modal .modal-content::-webkit-scrollbar-track{background:transparent}.encryption-demo-modal .modal-content::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.encryption-demo-modal .modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.encryption-demo{padding:.5rem 0}.demo-intro{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:1.5rem}.demo-comparison{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem;margin-bottom:1rem}.demo-box{border-radius:6px;padding:.75rem;position:relative}.demo-box-user{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid var(--green-zakat)}.demo-box-encrypted{background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #f59e0b}.demo-box-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.35rem}.demo-box-user .demo-box-label{color:#166534}.demo-box-encrypted .demo-box-label{color:#92400e}.demo-box-content{display:flex;flex-direction:column;gap:.25rem}.demo-box-user .input-with-prefix{position:relative;display:flex;align-items:center}.demo-box-user .input-prefix{position:absolute;left:12px;color:#166534;font-size:1rem;font-weight:600;z-index:1}.demo-box-user .input-field{width:100%;padding:10px 12px 10px 28px;font-size:1rem;font-weight:600;border:1px solid rgba(22,101,52,.3);border-radius:6px;background:#fffc;color:#166534}.demo-box-user .input-field:focus{outline:none;border-color:var(--green-zakat);box-shadow:0 0 0 2px #22c55e33}.demo-encrypted-content{overflow:hidden}.demo-encrypted-input{width:100%;padding:10px 12px;font-size:.8rem;font-family:SF Mono,Monaco,Inconsolata,Roboto Mono,monospace;color:#78350f;border:1px solid rgba(146,64,14,.3);border-radius:6px;background:#fffc;text-overflow:ellipsis}.demo-encrypted-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 2px #f59e0b33}.demo-encrypted-input::placeholder{color:#92400e;opacity:.6}.demo-arrow{display:flex;justify-content:center;padding:.15rem 0}.demo-arrow svg{width:20px;height:20px;color:var(--text-muted)}.demo-section{margin-bottom:1.25rem}.demo-section:last-child{margin-bottom:0}.demo-section-title{font-size:.9rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.demo-list{margin:0;padding-left:1.25rem;list-style-type:disc}.demo-list li{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:.35rem}.demo-list li:last-child{margin-bottom:0}.demo-note{font-size:.875rem;color:var(--text-secondary);text-align:left;margin-bottom:1.25rem;font-style:italic}.demo-actions{display:flex;justify-content:center;margin-top:1rem}.demo-actions button{min-width:160px}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg-surface)}.error-boundary-content{max-width:480px;text-align:center}.error-boundary .error-icon{width:64px;height:64px;margin:0 auto 1.5rem;color:var(--text-secondary)}.error-boundary .error-icon svg{width:100%;height:100%}.error-boundary h1{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.error-boundary p{font-size:1rem;color:var(--text-secondary);margin:0 0 1.5rem;line-height:1.5}.error-details{text-align:left;margin-bottom:1.5rem;padding:1rem;background:var(--bg-elevated);border-radius:8px;border:1px solid var(--border-color)}.error-details summary{cursor:pointer;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.error-details pre{font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);margin:.5rem 0 0}.error-actions{display:flex;gap:1rem;justify-content:center}.homepage{min-height:100vh;display:flex;flex-direction:column}.homepage .main-layout{display:flex;align-items:flex-start;padding:var(--content-gap);padding-left:calc(var(--sidebar-left-width) + var(--content-gap));padding-right:calc(var(--sidebar-right-width) + var(--content-gap));justify-content:center}.homepage.no-sidebars .main-layout{padding-left:var(--content-gap);padding-right:var(--content-gap)}.homepage.no-sidebars .top-header,.homepage.no-sidebars .app-footer{margin-left:0;margin-right:0;left:0;right:0}.homepage .container-wide{flex:1;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 40px 40px;margin-bottom:60px;transition:background-color .3s ease,border-color .3s ease}.content-wrapper{display:flex;flex-direction:column;flex:1}.footer-text{font-size:12px;color:var(--text-secondary);margin-top:12px;text-align:center}.footer-text:first-of-type{margin-top:20px}.footer-text a{color:var(--blue-light);text-decoration:none}.footer-text a:hover{text-decoration:underline}.error-message{background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;padding:12px;margin-bottom:16px;font-size:15px;color:#ef4444;text-align:center}.homepage-content{display:flex;align-items:stretch}.welcome-section{flex:1;padding-top:24px;padding-right:24px}.bismillah{font-family:Amiri,serif;font-size:26px;font-weight:700;color:#ffffffeb;margin:0 0 4px;direction:rtl;text-align:left;text-shadow:0 1px 1px rgba(0,0,0,.65),0 0 12px rgba(80,160,255,.12)}.welcome-greeting{font-family:DM Sans,sans-serif;font-size:24px;font-weight:600;color:var(--text-primary);margin:0 0 16px;line-height:1.6}.welcome-description{font-size:20px;color:var(--text-secondary);line-height:1.6;margin:0}.welcome-highlight{font-size:18px;color:var(--text-secondary);line-height:1.6;margin:16px 0 0;padding:12px 16px;border-left:3px solid var(--green-zakat)}.welcome-highlight .highlight-text{color:var(--green-zakat);font-weight:600}.welcome-highlight .highlight-link{background:none;border:none;padding:0;font-size:inherit;cursor:pointer;color:var(--green-zakat);font-weight:500;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.welcome-highlight .highlight-link:hover{text-decoration-style:solid}.welcome-highlight .highlight-detail{display:block;margin-top:8px;font-size:18px;color:var(--text-secondary);line-height:1.6;font-weight:400}.welcome-highlight-blue{border-left-color:#60a5fa}.welcome-highlight-blue .highlight-text{color:#60a5fa}.beta-notice{font-size:20px;color:var(--text-muted);line-height:1.6;margin:16px 0 0}.get-started-card{flex:1;max-width:380px;background:transparent;border:none;border-radius:0;padding:24px 0 24px 24px;border-left:1px solid var(--border-color);display:flex;flex-direction:column;align-items:flex-start}.get-started-header{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:8px}.get-started-title{font-family:DM Sans,sans-serif;font-size:20px;font-weight:600;color:var(--text-primary);margin:0;text-align:left;line-height:1.6}.edition-badge{font-size:15px;font-weight:500;color:var(--text-muted);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:100px;padding:6px 12px;white-space:nowrap}.get-started-subtitle{font-size:15px;color:var(--text-secondary);margin:0 0 24px;text-align:left}.recommended-box{width:100%;border:2px solid var(--green-zakat);border-radius:12px;padding:16px;position:relative}.recommended-label{position:absolute;top:-10px;left:16px;background:var(--bg-surface);padding:0 8px;font-size:13px;font-weight:600;color:var(--green-zakat);text-transform:uppercase;letter-spacing:.5px}.pricing-label{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px;padding:4px 0;text-align:center;width:100%}.free-box{width:100%;border:1px solid var(--border-color);border-radius:12px;padding:16px;background:var(--bg-elevated)}.free-label{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 12px;text-align:center;width:100%;display:block}.free-box .btn-secondary{background:#c0c5cc;color:#1f2937;border:1px solid var(--border-color)}.get-started-card .btn{justify-content:center}.feature-list-wrapper{width:100%;display:flex;justify-content:center;margin:12px 0 0}.feature-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:4px 16px}.feature-list li{font-size:14px;color:var(--text-muted);padding:4px 0 4px 16px;position:relative;white-space:nowrap}.feature-list li:before{content:"✓";position:absolute;left:0;color:var(--green-zakat);font-size:13px}.feature-list-minimal{margin-bottom:0;grid-template-columns:1fr}.divider{display:flex;align-items:center;width:100%;margin:16px 0}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.divider span{padding:0 16px;font-size:14px;color:var(--text-muted)}.guest-note{font-size:14px;color:var(--text-muted);margin:12px 0 0;text-align:center;width:100%}.membership-note{font-size:13px;color:var(--text-secondary);margin:16px 0 0;text-align:left;line-height:1.5}.payment-note{font-size:13px;color:var(--text-secondary);text-align:center;margin:24px 0 0;line-height:1.5}@media (max-width: 900px){.homepage .container-wide{width:auto;max-width:calc(100vw - 80px);padding:24px}.content-wrapper{width:auto}.homepage-content{flex-direction:column;gap:32px}.welcome-section{flex:none;padding-top:0;padding-right:0;border-bottom:1px solid var(--border-color);padding-bottom:24px;text-align:left}.welcome-description{max-width:none}.get-started-card{flex:none;max-width:380px;margin:0 auto;padding:24px 0 0;border-left:none}}@media (max-width: 700px){.homepage .main-layout{padding:16px 16px 80px}.homepage .container-wide{max-width:calc(100vw - 32px);padding:20px 16px}.bismillah{font-size:18px}.welcome-greeting{font-size:16px}.get-started-card{padding:24px 0 0}}.profile-page{min-height:100vh;display:flex;flex-direction:column}.profile-page .main-layout{display:flex;align-items:flex-start;padding:var(--content-gap);padding-left:calc(var(--sidebar-left-width) + var(--content-gap));padding-right:calc(var(--sidebar-right-width) + var(--content-gap));justify-content:center}.profile-page .container-wide{flex:1;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 32px 32px;transition:background-color .3s ease,border-color .3s ease}.section-box{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-header h2{font-size:18px;font-weight:500;color:var(--text-primary);margin:0}.section-header-right{display:flex;align-items:center;gap:12px}.section-note{font-size:13px;color:var(--text-secondary);margin-top:16px;margin-bottom:0;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:6px}.age-badge{font-size:11px;font-weight:500;color:var(--blue-light);background:#2563eb26;padding:2px 6px;border-radius:4px}.age-display{font-weight:400;color:var(--text-secondary)}.readonly-value{font-size:15px;font-weight:500;color:var(--text-primary);padding:10px 0}.info-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:400;color:var(--text-secondary);white-space:pre-line;min-width:180px;max-width:240px;text-align:left;box-shadow:0 4px 12px #0003;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:100;pointer-events:none}.info-icon:hover:after{opacity:1;visibility:visible}.input-field{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;font-size:15px;color:var(--text-primary);font-family:DM Sans,sans-serif;transition:border-color .2s ease,background-color .3s ease}.input-field:focus{outline:none;border-color:var(--blue-muted)}.input-field::placeholder{color:var(--text-secondary)}.input-field[type=date]::-webkit-calendar-picker-indicator{filter:invert(50%);cursor:pointer}select.input-field{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:40px}.profile-page .input-with-prefix{position:relative;display:flex;align-items:center}.profile-page .input-prefix{position:absolute;left:14px;color:var(--text-secondary);font-size:15px;pointer-events:none}.profile-page .input-currency{padding-left:30px}.action-row{margin-top:24px;display:flex;justify-content:space-between;align-items:center}.change-passphrase-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-family:DM Sans,sans-serif;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s ease}.change-passphrase-btn:hover{color:var(--blue-muted);border-color:var(--blue-muted);background:#2563eb1a}.delete-account-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);font-size:13px;font-family:DM Sans,sans-serif;cursor:pointer;padding:8px 16px;border-radius:6px;transition:all .2s ease}.delete-account-btn:hover{color:#ef4444;border-color:#ef4444;background:#ef44441a}@media (max-width: 900px){.form-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}}@media (max-width: 700px){.profile-page .main-layout{padding-left:16px;padding-right:16px;padding-bottom:80px}}.calculator-page{min-height:100vh;display:flex;flex-direction:column}.calculator-page .main-layout{display:flex;align-items:flex-start;padding:var(--content-gap);padding-left:calc(var(--sidebar-left-width) + var(--content-gap));padding-right:calc(var(--sidebar-right-width) + var(--content-gap));justify-content:center}.calculator-page .container-wide{flex:1;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 32px 32px;transition:background-color .3s ease,border-color .3s ease}.warnings-row{display:flex;gap:12px;margin-bottom:16px}.warnings-row .warning-message{flex:1;margin-top:0}.calculator-page .section-box{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.calculator-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calculator-page .section-header h2{font-size:18px;font-weight:500;color:var(--text-primary);margin:0}.calculator-page .section-header-right{display:flex;align-items:center;gap:12px}.calculator-page .metals-header{margin-top:24px}.calculator-page .saving-indicator{font-size:12px;color:var(--text-secondary);font-style:italic}.accounts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.calculator-page .form-group{display:flex;flex-direction:column;gap:6px}.calculator-page .form-group label{font-size:13px;font-weight:500;color:var(--text-primary);display:flex;align-items:center;gap:6px}.info-icon{display:inline-flex;align-items:center;justify-content:center;position:relative}.info-icon svg{width:14px;height:14px;color:var(--blue-light);pointer-events:none}.info-icon.warning svg{color:#f59e0b}.info-icon:after{content:attr(data-tooltip);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:400;color:var(--text-secondary);white-space:pre-line;min-width:160px;max-width:220px;text-align:left;box-shadow:0 4px 12px #0003;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:100;pointer-events:none}.info-icon:before{content:"";position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--border-color);opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;z-index:101}.info-icon:hover:after,.info-icon:hover:before{opacity:1;visibility:visible}.calculator-page .input-field{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;font-size:15px;color:var(--text-primary);font-family:DM Sans,sans-serif;transition:border-color .2s ease,background-color .3s ease}.calculator-page .input-field:focus{outline:none;border-color:var(--blue-muted)}.calculator-page .input-field::placeholder{color:var(--text-secondary)}.calculator-page .input-with-prefix{position:relative;display:flex;align-items:center}.calculator-page .input-prefix{position:absolute;left:14px;color:var(--text-secondary);font-size:15px;pointer-events:none}.calculator-page .input-currency{padding-left:30px}.field-note{font-size:11px;color:var(--text-secondary)}.field-note.penalty{color:#f59e0b}.field-note.custom-rate{color:var(--blue-light)}.account-deductions{display:flex;gap:12px;font-size:11px;margin-top:4px}.account-deductions .deduction,.account-deductions .deduction.tax{color:var(--text-secondary)}.account-deductions .deduction.penalty{color:tomato}.warning-message{display:flex;align-items:flex-start;gap:10px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.2);border-radius:8px;padding:12px;font-size:13px;color:#fbbf24;margin-top:12px}.warning-message svg{width:16px;height:16px;flex-shrink:0;margin-top:1px}.tax-breakdown-box{margin-top:24px;padding:16px 20px;background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:12px;font-size:13px;color:var(--text-secondary)}.tax-breakdown-box .tax-breakdown-label{font-weight:500;color:var(--text-primary);margin-bottom:8px}.tax-breakdown-box .tax-breakdown-formula{display:flex;flex-wrap:wrap;align-items:center}.tax-breakdown-box .bracket-item{display:inline}.tax-breakdown-box .bracket-plus,.tax-breakdown-box .bracket-equals{color:var(--text-muted)}.assumptions-section{margin-top:32px;padding-top:24px;border-top:1px solid var(--border-color)}.assumptions-section h3{font-size:16px;font-weight:500;color:var(--text-secondary);margin:0 0 10px}.assumptions-section p{font-size:14px;color:var(--text-muted);margin:0;line-height:1.6}.metals-section{margin-top:16px}.metals-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.metal-input label{display:flex;align-items:center;gap:6px}.metal-input label svg{width:16px;height:16px}.metal-price{font-weight:400;color:var(--text-secondary);font-size:12px}.metal-input-row{display:flex;align-items:center;gap:12px}.input-with-suffix{position:relative;flex:1}.input-with-suffix input{width:100%;padding:10px 60px 10px 12px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:var(--bg-page);color:var(--text-primary);transition:border-color .2s ease}.input-with-suffix input:focus{outline:none;border-color:var(--blue-light)}.input-with-suffix input::placeholder{color:var(--text-secondary)}.input-suffix{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--text-secondary);pointer-events:none}.metal-value{font-size:14px;color:var(--text-secondary);white-space:nowrap;min-width:100px}@media (max-width: 900px){.accounts-grid,.metals-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.accounts-grid,.metals-grid{grid-template-columns:1fr}.metal-input-row{flex-direction:column;align-items:flex-start;gap:4px}}@media (max-width: 700px){.calculator-page .main-layout{padding-left:16px;padding-right:16px;padding-bottom:80px}}.payments-page{min-height:100vh;display:flex;flex-direction:column}.payments-page .main-layout{display:flex;align-items:flex-start;padding:var(--content-gap);padding-left:calc(var(--sidebar-left-width) + var(--content-gap));padding-right:calc(var(--sidebar-right-width) + var(--content-gap));justify-content:center}.payments-page .container-wide{flex:1;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 32px 32px;transition:background-color .3s ease,border-color .3s ease}.payments-page .section-box{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.payments-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.payments-page .section-header h2{font-size:18px;font-weight:500;color:var(--text-primary);margin:0}.header-actions{display:flex;align-items:center;gap:12px}.saving-indicator{font-size:12px;color:var(--text-secondary);font-style:italic}.empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.empty-state p{margin:0;font-size:15px}.empty-state .empty-hint{margin-top:8px;font-size:13px;opacity:.7}.payments-list{display:flex;flex-direction:column;gap:12px}.payment-item{padding:12px 16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;transition:border-color .2s ease}.payment-item:hover{border-color:var(--blue-muted)}.payment-row{display:flex;align-items:center;gap:16px}.payment-date{font-size:14px;color:var(--text-secondary);min-width:100px}.payment-amount-col{display:flex;align-items:baseline;gap:24px;flex:1}.payment-amount{font-size:16px;font-weight:600;color:var(--green-zakat);min-width:100px;text-align:right}.payment-description{font-size:13px;color:var(--text-secondary)}.payment-actions{display:flex;gap:8px}.payment-details{margin-top:8px;padding-left:116px}.payment-link{font-size:13px;color:var(--blue-light);text-decoration:none;display:inline-block;margin-top:4px}.payment-link:hover{text-decoration:underline}.payments-total-row{display:flex;align-items:center;gap:16px;padding:16px 16px 0;margin-top:12px}.total-label{font-size:14px;font-weight:500;color:var(--text-primary);min-width:100px}.total-amount{font-size:16px;font-weight:600;color:var(--green-zakat);min-width:100px;text-align:right}.action-btn{background:none;border:none;font-size:13px;font-family:DM Sans,sans-serif;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease,color .2s ease}.action-btn.edit{color:var(--text-secondary)}.action-btn.edit:hover{color:var(--blue-light);background:#3b82f61a}.action-btn.delete{color:var(--text-secondary)}.action-btn.delete:hover{color:#ef4444;background:#ef44441a}.payment-form{display:flex;flex-direction:column;gap:16px}.payment-form .form-group{display:flex;flex-direction:column;gap:6px}.payment-form .form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.payment-form .input-field{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;font-size:15px;color:var(--text-primary);font-family:DM Sans,sans-serif;transition:border-color .2s ease}.payment-form .input-field:focus{outline:none;border-color:var(--blue-muted)}.payment-form .input-with-prefix{position:relative;display:flex;align-items:center}.payment-form .input-prefix{position:absolute;left:14px;color:var(--text-secondary);font-size:15px;pointer-events:none}.payment-form .input-currency{padding-left:30px}@media (max-width: 700px){.payments-page .main-layout{padding-left:16px;padding-right:16px;padding-bottom:80px}}@media (max-width: 600px){.payment-row{flex-wrap:wrap}.payment-actions{width:100%;margin-left:0;margin-top:8px}.payments-total-row{flex-wrap:wrap}}.signin-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--bg-surface)}.signin-content{display:flex;flex-direction:column;align-items:center;gap:16px}.signin-status{color:var(--text-secondary);font-size:14px;margin:0;min-height:20px}.reset-confirm-content{display:flex;flex-direction:column;gap:16px}.reset-confirm-content p{margin:0;color:var(--text-primary);line-height:1.5}.reset-warning{color:var(--color-error, #dc2626)!important;font-weight:500}.reset-confirm-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.snapshots-page{min-height:100vh;display:flex;flex-direction:column}.snapshots-page .main-layout{display:flex;align-items:flex-start;padding:var(--content-gap);padding-left:calc(var(--sidebar-left-width) + var(--content-gap));padding-right:calc(var(--sidebar-right-width) + var(--content-gap));justify-content:center}.snapshots-page .container-wide{flex:1;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:16px;padding:20px 32px 32px;transition:background-color .3s ease,border-color .3s ease}.snapshots-page .section-box{background:var(--bg-elevated);border:1px solid var(--border-color);border-radius:16px;padding:24px;transition:background-color .3s ease,border-color .3s ease}.snapshots-page .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.snapshots-page .section-header h2{font-size:18px;font-weight:500;color:var(--text-primary);margin:0}.snapshots-page .header-actions{display:flex;align-items:center;gap:12px}.snapshots-page .saving-indicator{font-size:12px;color:var(--text-secondary);font-style:italic}.snapshots-page .empty-state{text-align:center;padding:40px 20px;color:var(--text-secondary)}.snapshots-page .empty-state p{margin:0;font-size:15px}.snapshots-page .empty-state .empty-hint{margin-top:8px;font-size:13px;opacity:.7}.snapshots-list{display:flex;flex-direction:column;gap:12px}.snapshot-item{padding:16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:12px;transition:border-color .2s ease}.snapshot-item:hover{border-color:var(--blue-muted)}.snapshot-row-main{display:flex;align-items:center;gap:16px}.snapshot-info{flex:1;min-width:120px;cursor:pointer}.snapshot-info:hover .snapshot-name{color:var(--blue-muted)}.snapshot-name{font-size:15px;font-weight:500;color:var(--text-primary);transition:color .2s ease}.snapshot-dates{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:140px}.snapshot-date-hijri{font-size:12px;color:var(--text-secondary)}.snapshot-date-gregorian{font-size:11px;color:var(--text-muted)}.snapshot-summary{display:flex;align-items:flex-start;gap:24px}.snapshot-stat{display:flex;flex-direction:column;align-items:flex-end;min-width:90px}.snapshot-stat-label{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.snapshot-stat-value{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.snapshot-net-worth-value{color:var(--blue-muted)}.snapshot-zakat-value{color:var(--green-zakat)}.snapshot-remaining-value{color:#d97706}.snapshot-extra-value{color:var(--blue-muted)}.snapshot-actions{display:flex;gap:8px}.snapshots-page .action-btn{background:none;border:none;font-size:13px;font-family:DM Sans,sans-serif;cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .2s ease,color .2s ease}.snapshots-page .action-btn.view{color:var(--text-secondary)}.snapshots-page .action-btn.view:hover{color:var(--blue-light);background:#3b82f61a}.snapshots-page .action-btn.delete{color:var(--text-secondary)}.snapshots-page .action-btn.delete:hover{color:#ef4444;background:#ef44441a}.snapshots-page .action-btn.star{color:var(--text-muted);padding:4px}.snapshots-page .action-btn.star:hover{color:#f59e0b;background:#f59e0b1a}.snapshots-page .action-btn.star.primary{color:#f59e0b}.snapshots-page .action-btn.star.primary:hover{color:#d97706;background:#f59e0b1a}.snapshot-form{display:flex;flex-direction:column;gap:16px}.snapshot-form .form-group{display:flex;flex-direction:column;gap:6px}.snapshot-form .form-group label{font-size:13px;font-weight:500;color:var(--text-primary)}.snapshot-form .input-field{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:8px;padding:10px 14px;font-size:15px;color:var(--text-primary);font-family:DM Sans,sans-serif;transition:border-color .2s ease}.snapshot-form .input-field:focus{outline:none;border-color:var(--blue-muted)}.snapshot-form .form-hint{font-size:13px;color:var(--text-muted);margin:0}.snapshot-detail{display:flex;flex-direction:column;gap:20px}.snapshot-export-btn{display:inline-flex;align-items:center;gap:6px;background:var(--blue-muted);color:#fff;border:none;padding:8px 16px;border-radius:8px;font-size:13px;font-family:DM Sans,sans-serif;font-weight:500;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.snapshot-export-btn svg{flex-shrink:0}.snapshot-export-btn:hover:not(:disabled){background:#1d4ed8}.snapshot-export-btn:disabled{opacity:.6;cursor:not-allowed}.snapshot-left-column{display:flex;flex-direction:column;gap:16px}.snapshot-brand{display:flex;flex-direction:row;align-items:flex-start;justify-content:space-between;gap:16px}.snapshot-brand-left{display:inline-flex;flex-direction:column;align-items:flex-start}.snapshot-wordmark-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.snapshot-wordmark{font-family:DM Sans,sans-serif;font-weight:500;font-size:24px;letter-spacing:-.02em;color:var(--text-primary)}.snapshot-primary-badge{display:inline-flex;align-items:center;gap:4px;background:#f59e0b1a;color:#f59e0b;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500}.snapshot-primary-star{width:14px;height:14px}.snapshot-ratio-line{display:flex;width:100%;height:3px;max-width:100%}.snapshot-wealth-segment{flex:39;background:var(--blue-muted)}.snapshot-zakat-segment{flex:1;background:var(--green-zakat)}.snapshot-generated{display:flex;flex-direction:column;gap:2px}.snapshot-generated-label{font-size:12px;color:var(--text-muted)}.snapshot-generated-date{font-size:13px;color:var(--text-secondary)}.snapshot-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.snapshot-grid-full{grid-column:1 / -1}.snapshot-section{display:flex;flex-direction:column;gap:8px}.snapshot-fieldset{border:1px solid var(--border-color);border-radius:12px;padding:16px;margin:0}.snapshot-fieldset legend{font-size:14px;font-weight:600;color:var(--text-primary);padding:0 8px}@media (max-width: 600px){.snapshot-grid{grid-template-columns:1fr}}.snapshot-section h4{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.snapshot-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.snapshot-account-item{display:flex;flex-direction:column;gap:4px}.snapshot-account-label{font-size:12px;color:var(--text-muted)}.snapshot-account-value{font-size:15px;font-weight:500;color:var(--text-primary)}@media (max-width: 700px){.snapshots-page .main-layout{padding-left:16px;padding-right:16px;padding-bottom:80px}.snapshot-grid-3{grid-template-columns:repeat(2,1fr)}}.snapshot-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0}.snapshot-label{font-size:14px;color:var(--text-secondary)}.snapshot-value{font-size:14px;font-weight:500;color:var(--text-primary)}.snapshot-value.snapshot-zakat{color:var(--green-zakat);font-size:16px}.snapshot-value.snapshot-remaining{color:#f59e0b}.snapshot-value.snapshot-extra{color:var(--blue-muted)}.snapshot-empty{font-size:13px;color:var(--text-muted);margin:0;font-style:italic}@media (max-width: 600px){.snapshot-row-main{flex-wrap:wrap}.snapshot-info{width:100%}.snapshot-summary,.snapshot-actions{width:100%;margin-top:8px}}.snapshot-detail.exporting{background:#fff;padding:32px;border-radius:0}.snapshot-detail.exporting .snapshot-export-btn{display:none}.snapshot-detail.exporting .snapshot-wordmark{color:#1f2937}.snapshot-detail.exporting .snapshot-generated-label{color:#6b7280}.snapshot-detail.exporting .snapshot-generated-date{color:#4b5563}.snapshot-detail.exporting .snapshot-fieldset{border-color:#e5e7eb}.snapshot-detail.exporting .snapshot-fieldset legend{color:#1f2937}.snapshot-detail.exporting .snapshot-label{color:#4b5563}.snapshot-detail.exporting .snapshot-value{color:#1f2937}.snapshot-detail.exporting .snapshot-value.snapshot-zakat{color:#16a34a}.snapshot-detail.exporting .snapshot-value.snapshot-remaining{color:#d97706}.snapshot-detail.exporting .snapshot-value.snapshot-extra{color:#2563eb}.snapshot-detail.exporting .snapshot-account-label{color:#6b7280}.snapshot-detail.exporting .snapshot-account-value{color:#1f2937}.snapshot-detail.exporting .snapshot-empty{color:#9ca3af}.snapshot-detail.exporting .snapshot-primary-badge{background:#f59e0b26;color:#d97706}:root{--blue-deep: #1e40af;--blue-muted: #2563eb;--blue-light: #3b82f6;--green-zakat: #22c55e;--near-black: #0d1117;--dark-surface: #161b22;--off-white: #f8fafc;--gray-subtle: #64748b;--gray-light: #e2e8f0;--header-height: 110px;--sidebar-left-width: 133px;--sidebar-right-width: 56px;--content-gap: 24px}[data-theme=dark]{--bg-primary: #0d1117;--bg-surface: #161b22;--bg-elevated: #0d1117;--text-primary: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: rgba(255, 255, 255, .08);--pattern-opacity: .03}[data-theme=light]{--bg-primary: #e2e8f0;--bg-surface: #f1f5f9;--bg-elevated: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border-color: rgba(0, 0, 0, .12);--pattern-opacity: .05}*{margin:0;padding:0;box-sizing:border-box}body{font-family:DM Sans,-apple-system,BlinkMacSystemFont,sans-serif;background-color:var(--bg-primary);min-height:100vh;color:var(--text-primary);position:relative;transition:background-color .3s ease,color .3s ease}[data-theme=dark] body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='0.5' opacity='0.03'%3E%3Cpath d='M40 0L40 80M0 40L80 40'/%3E%3Cpath d='M40 0L80 40L40 80L0 40Z'/%3E%3Ccircle cx='40' cy='40' r='20'/%3E%3Cpath d='M20 20L60 20L60 60L20 60Z'/%3E%3Cpath d='M40 20L60 40L40 60L20 40Z'/%3E%3Cpath d='M0 0L40 40M80 0L40 40M0 80L40 40M80 80L40 40'/%3E%3Ccircle cx='40' cy='40' r='10'/%3E%3Cpath d='M30 30L50 30L50 50L30 50Z'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;pointer-events:none;z-index:0}[data-theme=light] body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23000000' stroke-width='0.5' opacity='0.05'%3E%3Cpath d='M40 0L40 80M0 40L80 40'/%3E%3Cpath d='M40 0L80 40L40 80L0 40Z'/%3E%3Ccircle cx='40' cy='40' r='20'/%3E%3Cpath d='M20 20L60 20L60 60L20 60Z'/%3E%3Cpath d='M40 20L60 40L40 60L20 40Z'/%3E%3Cpath d='M0 0L40 40M80 0L40 40M0 80L40 40M80 80L40 40'/%3E%3Ccircle cx='40' cy='40' r='10'/%3E%3Cpath d='M30 30L50 30L50 50L30 50Z'/%3E%3C/g%3E%3C/svg%3E");background-repeat:repeat;pointer-events:none;z-index:0}[data-theme=dark] body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,#0d1117 70%);pointer-events:none;z-index:0}[data-theme=light] body:after{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,#e2e8f0 70%);pointer-events:none;z-index:0}#root{position:relative;z-index:1}a{color:var(--blue-light);text-decoration:none}a:hover{text-decoration:underline}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input:disabled,select:disabled,textarea:disabled{opacity:.6;background-color:var(--bg-primary)}
