@import "https://fonts.googleapis.com/css2?family=Hind+Siliguri:wght@300;400;500;600;700&family=Inter:wght@400;500;600;700;800;900&display=swap";:root{--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--slate-400:#94a3b8;--slate-500:#64748b;--slate-600:#475569;--slate-700:#334155;--slate-800:#1e293b;--slate-900:#0f172a;--bg:#f4f7fb;--bg-grad:radial-gradient(circle at 0% 0%, #0f766e17, transparent 35%), radial-gradient(circle at 100% 0%, #2563eb12, transparent 35%), radial-gradient(circle at 50% 100%, #14b8a60d, transparent 45%), linear-gradient(160deg, #f8fafc 0%, #f1f5f9 100%);--surface:#ffffffc7;--surface-strong:#fffffff0;--surface-solid:#fff;--surface-soft:#f8fafc;--surface-mute:#f1f5f9;--border:#94a3b83d;--border-soft:#94a3b824;--border-strong:#64748b52;--border-glass:#ffffffb8;--text:#0f172a;--text-2:#475569;--text-3:#94a3b8;--primary:#0f766e;--primary-2:#14b8a6;--primary-3:#5eead4;--primary-dark:#0d5c56;--primary-soft:#14b8a61a;--primary-glow:#14b8a647;--primary-grad:linear-gradient(135deg, #0f766e 0%, #14b8a6 100%);--primary-grad-hover:linear-gradient(135deg, #0d5c56 0%, #0f766e 100%);--income:#059669;--income-2:#10b981;--income-soft:#ecfdf5;--expense:#dc2626;--expense-2:#ef4444;--expense-soft:#fef2f2;--warning:#d97706;--warning-soft:#fffbeb;--info:#2563eb;--info-soft:#eff6ff;--purple:#7c3aed;--purple-soft:#f5f3ff;--pink:#db2777;--pink-soft:#fdf2f8;--shadow-xs:0 1px 2px #0f172a0a;--shadow-sm:0 2px 6px #0f172a0d;--shadow-md:0 8px 22px #0f172a12;--shadow-lg:0 18px 40px #0f172a17;--shadow-xl:0 30px 70px #0f172a24;--shadow-primary:0 10px 26px -8px #0f766e6b;--shadow-primary-hover:0 16px 34px -10px #0f766e8c;--shadow-glass:0 20px 55px #0f172a14;--r-xs:6px;--r-sm:9px;--r-md:12px;--r-lg:16px;--r-xl:20px;--r-2xl:24px;--r-3xl:28px;--r-full:9999px;--t-fast:.14s ease;--t:.22s cubic-bezier(.4, 0, .2, 1);--t-slow:.4s cubic-bezier(.4, 0, .2, 1);--sidebar-w:252px;--header-h:62px}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg-grad);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-family:Hind Siliguri,Inter,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit;font-family:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:0}a{color:var(--primary);transition:color var(--t);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;color:var(--text);margin:0;font-weight:700;line-height:1.25}img,svg{max-width:100%;display:block}:focus-visible{outline:3px solid var(--primary-glow);outline-offset:2px;border-radius:var(--r-sm)}.app-shell{background:0 0;min-height:100vh;display:flex}.sidebar{width:var(--sidebar-w);border-right:1px solid var(--border-glass);-webkit-backdrop-filter:blur(24px)saturate(160%);z-index:1001;transition:transform var(--t-slow);background:#ffffffb8;flex-direction:column;padding:20px 14px;display:flex;position:fixed;top:0;bottom:0;left:0;box-shadow:18px 0 45px #0f172a08}.mobile-sidebar-backdrop{-webkit-backdrop-filter:none;z-index:1000;cursor:pointer;background:#0f172a59;border:0;animation:.2s fadeIn;display:none;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.brand{align-items:center;gap:12px;padding:6px 8px 12px;display:flex}.brand-logo{border-radius:var(--r-md);background:var(--primary-grad);color:#fff;letter-spacing:.04em;flex-shrink:0;place-items:center;width:42px;height:42px;font-size:12px;font-weight:800;display:grid;box-shadow:0 10px 24px -8px #14b8a680}.brand h1{letter-spacing:-.02em;font-size:16px;font-weight:800}.brand span{color:var(--text-3);margin-top:2px;font-size:11px;font-weight:500;display:block}.sidebar-nav{scrollbar-width:thin;overscroll-behavior:contain;flex-direction:column;flex:1;gap:3px;margin-top:20px;padding-right:2px;display:flex;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.nav-item{border-radius:var(--r-md);min-height:42px;color:var(--text-2);transition:transform var(--t), background var(--t), color var(--t);touch-action:pan-y;align-items:center;gap:12px;padding:0 12px;font-size:13.5px;font-weight:600;display:flex;position:relative}.nav-item:hover{color:var(--primary);background:#14b8a614;text-decoration:none;transform:translate(2px)}.nav-item.active{background:var(--primary-grad);color:#fff;box-shadow:0 10px 22px -8px #0f766e6b}.nav-item.active:hover{color:#fff;transform:none}.nav-item svg{flex-shrink:0}.sidebar-footer{margin-top:auto;padding-top:10px}.user-mini{border-top:1px solid var(--border-soft);align-items:center;gap:10px;margin-bottom:6px;padding:12px 8px;display:flex}.avatar{border-radius:var(--r-full);background:var(--primary-grad);color:#fff;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid;box-shadow:0 6px 14px #14b8a647}.user-mini strong{color:var(--text);font-size:13px;font-weight:700;display:block}.user-mini small{text-overflow:ellipsis;white-space:nowrap;max-width:155px;color:var(--text-3);margin-top:1px;font-size:11.5px;display:block;overflow:hidden}.logout-button{border-radius:var(--r-md);width:100%;height:40px;color:var(--text-2);transition:var(--t);background:0 0;align-items:center;gap:10px;padding:0 12px;font-size:13.5px;font-weight:600;display:flex}.logout-button:hover{background:var(--expense-soft);color:var(--expense)}.main-content{width:calc(100% - var(--sidebar-w));margin-left:var(--sidebar-w);background:0 0;min-height:100vh;padding:26px 30px 64px}.page{max-width:1500px;margin:0 auto;animation:.4s both pageFade}@keyframes pageFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.page-header h2{letter-spacing:-.035em;margin:4px 0 6px;font-size:26px;font-weight:800}.page-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--primary);margin:0;font-size:11px;font-weight:800}.page-description{max-width:640px;color:var(--text-2);margin:0;font-size:14px;line-height:1.6}.page-header-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.primary-button,.secondary-button,.refresh-button,.icon-button,.delete-icon-button,.text-button{cursor:pointer;transition:var(--t);white-space:nowrap;justify-content:center;align-items:center;gap:8px;font-weight:700;display:inline-flex}.primary-button{color:#fff;background:var(--primary-grad);border-radius:var(--r-md);min-height:44px;box-shadow:var(--shadow-primary);border:0;padding:10px 20px;font-size:14px;position:relative;overflow:hidden}.primary-button:after{content:"";opacity:0;transition:opacity var(--t);pointer-events:none;background:linear-gradient(135deg,#ffffff2e,#0000 60%);position:absolute;inset:0}.primary-button:hover:not(:disabled){background:var(--primary-grad-hover);box-shadow:var(--shadow-primary-hover);transform:translateY(-2px)}.primary-button:hover:after{opacity:1}.primary-button:active:not(:disabled){transform:translateY(0)}.primary-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.primary-button.compact{min-height:40px;padding:8px 16px;font-size:13.5px}.primary-button.danger{background:linear-gradient(135deg,#b91c1c 0%,#ef4444 100%);box-shadow:0 10px 26px -8px #dc262680}.primary-button.danger:hover:not(:disabled){box-shadow:0 16px 34px -10px #dc262699}.secondary-button{min-height:44px;color:var(--text);background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xs);padding:10px 18px;font-size:14px}.secondary-button:hover:not(:disabled){border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-md);background:#fff;transform:translateY(-1px)}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.refresh-button{min-height:44px;color:var(--text-2);background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-xs);padding:10px 16px;font-size:14px}.refresh-button:hover:not(:disabled){color:var(--primary);border-color:var(--primary-2);background:var(--primary-soft);transform:translateY(-1px)}.refresh-button:disabled{opacity:.55;cursor:not-allowed}.refresh-button svg{transition:transform var(--t-slow)}.refresh-button:hover:not(:disabled) svg{transform:rotate(180deg)}.text-button{color:var(--primary);border-radius:var(--r-sm);background:0 0;padding:6px 12px;font-size:13px}.text-button:hover{background:var(--primary-soft)}.icon-button{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-2);background:var(--surface-mute)}.icon-button:hover{color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.icon-button.danger{color:var(--expense)}.icon-button.danger:hover{background:var(--expense-soft)}.delete-icon-button{border-radius:var(--r-sm);width:34px;height:34px;color:var(--text-3)}.delete-icon-button:hover{color:var(--expense);background:var(--expense-soft)}.skeleton,.skeleton-card{border-radius:var(--r-md);background:linear-gradient(90deg,#eef1f7 25%,#f9fbfd 50%,#eef1f7 75%) 0 0/200% 100%;animation:1.5s linear infinite shimmer;box-shadow:none!important;border:none!important}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-title{width:240px;height:28px;margin-bottom:10px}.skeleton-subtitle{width:340px;height:14px}.skeleton-icon{border-radius:var(--r-md);width:44px;height:44px;margin-bottom:14px}.skeleton-line{width:60%;height:12px;margin-bottom:12px}.skeleton-number{width:45%;height:22px}.skeleton-card{min-height:130px;border:1px solid var(--border-soft)!important}.dashboard-card-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:22px;display:grid}.dashboard-card{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(20px)saturate(140%);transition:transform var(--t), box-shadow var(--t);flex-direction:column;gap:12px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.dashboard-card:before{content:"";background:var(--primary-grad);width:100%;height:3px;position:absolute;top:0;left:0}.dashboard-card:hover{transform:translateY(-3px);box-shadow:0 28px 60px #0f172a1f}.dashboard-card.primary:before{background:linear-gradient(90deg,#0f766e,#14b8a6)}.dashboard-card.income:before{background:linear-gradient(90deg,#059669,#10b981)}.dashboard-card.expense:before{background:linear-gradient(90deg,#dc2626,#ef4444)}.dashboard-card.loan:before{background:linear-gradient(90deg,#d97706,#f59e0b)}.dashboard-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.dashboard-card-top>span{color:var(--text-2);font-size:13px;font-weight:600}.dashboard-card-icon{border-radius:var(--r-md);background:var(--primary-soft);width:40px;height:40px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.dashboard-card.income .dashboard-card-icon{background:var(--income-soft);color:var(--income)}.dashboard-card.expense .dashboard-card-icon{background:var(--expense-soft);color:var(--expense)}.dashboard-card.loan .dashboard-card-icon{background:var(--warning-soft);color:var(--warning)}.dashboard-card strong{letter-spacing:-.025em;color:var(--text);word-break:break-word;font-family:Inter,sans-serif;font-size:22px;font-weight:800}.dashboard-card-subtitle{color:var(--text-3);margin-top:-6px;font-size:11.5px;font-weight:500;line-height:1.4;display:block}.accounts-summary-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-bottom:28px;display:grid}.account-summary-card{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(20px)saturate(140%);transition:transform var(--t), box-shadow var(--t);align-items:center;gap:16px;padding:20px 22px;display:flex}.account-summary-card:hover{transform:translateY(-2px);box-shadow:0 20px 45px #0f172a1a}.account-summary-card.main{background:var(--primary-grad);color:#fff;border-color:#0000;box-shadow:0 18px 40px -12px #0f766e8c}.account-summary-card.main span{color:#ffffffe0}.account-summary-card.main strong{color:#fff}.account-summary-card.main .summary-card-icon{color:#fff;background:#fff3}.summary-card-icon{border-radius:var(--r-md);background:var(--primary-soft);width:48px;height:48px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.summary-card-icon.blue{background:var(--info-soft);color:var(--info)}.summary-card-icon.orange{background:var(--warning-soft);color:var(--warning)}.account-summary-card span{color:var(--text-2);margin-bottom:4px;font-size:13px;font-weight:600;display:block}.account-summary-card strong{letter-spacing:-.025em;color:var(--text);font-family:Inter,sans-serif;font-size:20px;font-weight:800;display:block}.account-groups{flex-direction:column;gap:22px;display:flex}.account-group{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);padding:22px 24px}.account-group-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding-bottom:14px;display:flex}.account-group-title{align-items:center;gap:12px;display:flex}.account-group-icon{border-radius:var(--r-md);background:var(--primary-soft);width:42px;height:42px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.account-group-title h3{font-size:16px;font-weight:700}.account-group-title span{color:var(--text-3);margin-top:3px;font-size:12px;font-weight:500;display:block}.account-group-header>strong{color:var(--primary);letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:17px;font-weight:800}.account-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:15px;display:grid}.account-card{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);transition:transform var(--t), box-shadow var(--t), border-color var(--t);padding:18px;position:relative}.account-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-lg);transform:translateY(-3px)}.account-card-header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.account-card-icon{border-radius:var(--r-md);background:var(--primary-soft);width:42px;height:42px;color:var(--primary);border:1px solid var(--border-soft);place-items:center;display:grid}.account-card-actions{gap:4px;display:flex}.account-card-actions button{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-3);transition:var(--t-fast);place-items:center;display:grid}.account-card-actions button:hover{color:var(--primary);background:var(--primary-soft)}.account-card-actions button:last-child:hover{color:var(--expense);background:var(--expense-soft)}.account-card-name h4{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:700;overflow:hidden}.account-card-name span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.account-card-balance{border-top:1px dashed var(--border);margin:16px 0 12px;padding-top:14px}.account-card-balance span{color:var(--text-3);margin-bottom:4px;font-size:11.5px;font-weight:500;display:block}.account-card-balance strong{letter-spacing:-.025em;color:var(--text);font-family:Inter,sans-serif;font-size:20px;font-weight:800}.account-card-footer{color:var(--text-3);justify-content:space-between;align-items:center;gap:8px;font-size:11.5px;font-weight:500;display:flex}.account-card-footer .included{color:var(--income);background:var(--income-soft);border-radius:var(--r-full);padding:3px 9px;font-weight:700}.account-card-footer .excluded{color:var(--text-3);background:var(--surface-mute);border-radius:var(--r-full);padding:3px 9px;font-weight:600}.dashboard-panel{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);flex-direction:column;gap:14px;padding:22px 24px;display:flex}.panel-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:14px;padding-bottom:14px;display:flex}.panel-header h3{align-items:center;gap:8px;font-size:16px;font-weight:700;display:inline-flex}.panel-header p{color:var(--text-3);margin:4px 0 0;font-size:13px}.quick-actions{border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(20px)saturate(140%);background:linear-gradient(135deg,#14b8a614,#2563eb0d);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:20px 24px;display:flex}.quick-actions h3{font-size:16px;font-weight:700}.quick-actions p{color:var(--text-2);margin:2px 0 0;font-size:13.5px}.quick-action-list{flex-wrap:wrap;gap:10px;display:flex}.quick-action-list button{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-full);color:var(--text);box-shadow:var(--shadow-xs);transition:var(--t);align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;font-weight:700;display:inline-flex}.quick-action-list button:hover{color:#fff;background:var(--primary-grad);border-color:#0000;transform:translateY(-2px);box-shadow:0 12px 28px -8px #0f766e80}.dashboard-two-column{grid-template-columns:1.55fr 1fr;align-items:start;gap:20px;display:grid}.transaction-list{scrollbar-width:thin;flex-direction:column;gap:2px;max-height:500px;margin:-4px -6px;padding:4px 6px;display:flex;overflow-y:auto}.transaction-list::-webkit-scrollbar{width:6px}.transaction-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.transaction-row{border-radius:var(--r-md);transition:background var(--t);align-items:center;gap:14px;padding:12px;display:flex}.transaction-row:hover{background:var(--primary-soft)}.transaction-icon{border-radius:var(--r-md);background:var(--expense-soft);width:42px;height:42px;color:var(--expense);flex-shrink:0;place-items:center;display:grid}.transaction-row:has(.amount-positive) .transaction-icon{background:var(--income-soft);color:var(--income)}.transaction-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.transaction-info strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:700;overflow:hidden}.transaction-info span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.transaction-amount{color:var(--expense);white-space:nowrap;font-family:Inter,sans-serif;font-size:14px;font-weight:700}.transaction-amount.amount-positive{color:var(--income)}.financial-overview{gap:0}.overview-item{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;font-size:14px;display:flex}.overview-item:last-child{border-bottom:none}.overview-item span{color:var(--text-2);font-weight:500}.overview-item strong{color:var(--text);white-space:nowrap;font-family:Inter,sans-serif;font-size:15px;font-weight:700}.overview-divider{background:var(--border);height:1px;margin:6px 0}.wealth-composition{margin-bottom:20px}.wealth-total-badge{border-radius:var(--r-full);background:var(--primary-soft);color:var(--primary);white-space:nowrap;padding:6px 14px;font-size:12.5px;font-weight:700}.wealth-total-badge strong{font-family:Inter,sans-serif;font-weight:800}.wealth-bar-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.wealth-bar-row{border-radius:var(--r-md);cursor:pointer;transition:var(--t);text-align:left;background:0 0;border:0;grid-template-columns:220px 1fr 140px;align-items:center;gap:16px;width:100%;padding:12px 14px;display:grid}.wealth-bar-row:hover{background:var(--surface-soft);transform:translate(3px)}.wealth-bar-left{align-items:center;gap:10px;min-width:0;display:flex}.wealth-bar-icon{border-radius:var(--r-sm);background:var(--primary-soft);width:34px;height:34px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.wealth-bar-row.income .wealth-bar-icon{background:var(--income-soft);color:var(--income)}.wealth-bar-row.warning .wealth-bar-icon{background:var(--warning-soft);color:var(--warning)}.wealth-bar-row.info .wealth-bar-icon{background:var(--info-soft);color:var(--info)}.wealth-bar-label{min-width:0}.wealth-bar-label strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.wealth-bar-label small{color:var(--text-3);margin-top:1px;font-size:11px;display:block}.wealth-bar-track{background:var(--surface-mute);border-radius:var(--r-full);height:10px;position:relative;overflow:hidden}.wealth-bar-fill{border-radius:var(--r-full);background:var(--primary-grad);min-width:4px;height:100%;transition:width .9s cubic-bezier(.4,0,.2,1)}.wealth-bar-row.income .wealth-bar-fill{background:linear-gradient(90deg,#059669,#10b981)}.wealth-bar-row.warning .wealth-bar-fill{background:linear-gradient(90deg,#d97706,#f59e0b)}.wealth-bar-row.info .wealth-bar-fill{background:linear-gradient(90deg,#2563eb,#3b82f6)}.wealth-bar-value{text-align:right;min-width:0}.wealth-bar-value strong{color:var(--text);letter-spacing:-.02em;white-space:nowrap;font-family:Inter,sans-serif;font-size:14px;font-weight:800;display:block}.wealth-bar-value small{color:var(--text-3);margin-top:1px;font-size:11px;font-weight:600;display:block}.wealth-equation{border-radius:var(--r-lg);background:var(--surface-soft);flex-direction:column;gap:4px;margin-top:14px;padding:16px 18px;display:flex}.wealth-equation-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13.5px;display:flex}.wealth-equation-row span{color:var(--text-2);align-items:center;gap:8px;font-weight:600;display:inline-flex}.wealth-equation-row span svg{color:var(--primary)}.wealth-equation-row.minus span svg{color:var(--expense)}.wealth-equation-row strong{color:var(--text);white-space:nowrap;font-family:Inter,sans-serif;font-size:14.5px;font-weight:700}.wealth-equation-row.minus strong{color:var(--expense)}.wealth-equation-divider{background:var(--border);height:1px;margin:6px 0}.wealth-equation-row.total{padding-top:10px}.wealth-equation-row.total span{color:var(--primary);font-weight:700}.wealth-equation-row.total strong{color:var(--primary);font-size:17px;font-weight:800}.dashboard-info-note{background:var(--info-soft);border-left:3px solid var(--info);border-radius:var(--r-md);color:#075985;align-items:flex-start;gap:10px;margin-top:22px;padding:14px 18px;font-size:12.5px;font-weight:500;line-height:1.55;display:flex}.dashboard-info-note svg{color:var(--info);flex-shrink:0;margin-top:2px}.dashboard-info-note strong{color:#0c4a6e;font-weight:700}.form-group{flex-direction:column;gap:6px;min-width:0;margin-bottom:16px;display:flex}.form-group label{color:var(--text-2);font-size:13px;font-weight:700}.form-group input,.form-group select,.form-group textarea,.search-box input,.transaction-form input,.transaction-form select,.transaction-form textarea{border:1px solid var(--border);border-radius:var(--r-md);width:100%;min-width:0;min-height:44px;color:var(--text);transition:border-color var(--t), box-shadow var(--t), background var(--t);box-sizing:border-box;background:#ffffffd1;outline:none;padding:10px 14px;font-size:14px}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-3)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.transaction-form input:focus,.transaction-form select:focus,.transaction-form textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow);background:#fff;outline:none}.form-group textarea{resize:vertical;min-height:80px}.form-group.full-width{grid-column:1/-1}.form-group.has-error input,.form-group.has-error select,.form-group.has-error textarea{box-shadow:0 0 0 3px #dc26261f;border-color:var(--expense)!important}.field-error{color:var(--expense);margin-top:4px;font-size:12px;font-weight:600;display:block}.field-help{color:var(--text-3);margin-top:4px;font-size:11.5px;line-height:1.5;display:block}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}.form-group input:-webkit-autofill{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--surface-strong) inset!important;-webkit-text-fill-color:var(--text)!important}.form-group input:-webkit-autofill:hover{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--surface-strong) inset!important;-webkit-text-fill-color:var(--text)!important}.form-group input:-webkit-autofill:focus{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--surface-strong) inset!important;-webkit-text-fill-color:var(--text)!important}.search-box input:-webkit-autofill{transition:background-color 9999s ease-in-out;-webkit-box-shadow:0 0 0 100px var(--surface-strong) inset!important;-webkit-text-fill-color:var(--text)!important}.password-input{position:relative}.password-input input{padding-right:46px}.password-input button{border-radius:var(--r-sm);width:32px;height:32px;color:var(--text-3);transition:var(--t);place-items:center;display:grid;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.password-input button:hover{color:var(--primary);background:var(--primary-soft)}.checkbox-row,.checkbox-field{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--r-md);cursor:pointer;min-height:44px;color:var(--text-2);transition:var(--t);align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.checkbox-row:hover,.checkbox-field:hover{background:var(--primary-soft);border-color:var(--primary-2)}.checkbox-row input,.checkbox-field input{width:18px;height:18px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin-top:1px}.form-row,.form-two-column{grid-template-columns:1fr 1fr;gap:14px;display:grid}.finance-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.finance-form-grid .full-width{grid-column:1/-1}.amount-input{border:1px solid var(--border);border-radius:var(--r-md);min-height:52px;transition:var(--t);box-sizing:border-box;background:#ffffffd1;align-items:center;width:100%;display:flex;overflow:hidden}.amount-input:focus-within{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow);background:#fff}.amount-input span{color:var(--text-2);flex-shrink:0;padding-left:16px;font-size:18px;font-weight:700}.amount-input input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0 14px;font-family:Inter,sans-serif;font-size:19px;font-weight:800;box-shadow:none!important}.amount-input input:focus{box-shadow:none!important;border:none!important}.advanced-toggle{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-soft);width:100%;color:var(--text);transition:var(--t);cursor:pointer;justify-content:space-between;align-items:center;gap:10px;margin:8px 0 12px;padding:12px 16px;font-size:13.5px;font-weight:700;display:flex}.advanced-toggle:hover{background:var(--primary-soft);border-color:var(--primary-2)}.advanced-toggle svg{transition:transform var(--t)}.advanced-toggle[aria-expanded=true] svg{transform:rotate(180deg)}.advanced-fields{border:1px solid var(--border-soft);border-radius:var(--r-lg);background:#f8fafc99;margin-bottom:8px;padding:16px}.transaction-type-grid,.account-type-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:20px;display:grid}.transaction-type,.account-type-option{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-strong);min-height:62px;color:var(--text-2);transition:var(--t);text-align:center;cursor:pointer;justify-content:center;align-items:center;gap:6px;padding:10px 8px;font-size:12px;font-weight:700;display:flex}.account-type-option{min-height:48px}.transaction-type:hover,.account-type-option:hover{background:var(--surface-mute);border-color:var(--border-strong)}.transaction-type.selected,.account-type-option.selected{border-color:var(--primary);background:var(--primary-soft);color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow)}.people-toolbar,.transaction-toolbar{flex-wrap:wrap;gap:12px;margin-bottom:20px;display:flex}.search-box{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-md);min-width:240px;max-width:520px;min-height:44px;box-shadow:var(--shadow-xs);transition:var(--t);flex:1;align-items:center;gap:10px;padding:0 16px;display:flex}.search-box:focus-within{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow)}.search-box svg{color:var(--text-3);flex-shrink:0}.search-box input{min-height:auto;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:0;font-size:14px;box-shadow:none!important}.people-toolbar select,.transaction-toolbar select{background:var(--surface-strong) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.5'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") no-repeat right 16px center;border:1px solid var(--border);border-radius:var(--r-md);min-width:200px;min-height:44px;color:var(--text);appearance:none;cursor:pointer;box-shadow:var(--shadow-xs);transition:var(--t);outline:none;padding:10px 40px 10px 14px;font-size:13.5px;font-weight:600}.people-toolbar select:focus,.transaction-toolbar select:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow)}.transaction-table-card,.finance-table-panel{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);overflow:hidden}.finance-table-panel{margin-top:22px;padding:20px}.table-wrapper,.transactions-table-wrap{width:100%;overflow-x:auto}.transactions-table{border-collapse:collapse;width:100%;min-width:860px;font-size:14px}.transactions-table thead{background:#f8fafcb3}.transactions-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:14px 18px;font-size:11px;font-weight:800}.transactions-table td{border-bottom:1px solid var(--border-soft);color:var(--text);vertical-align:middle;padding:14px 18px;font-size:13.5px}.transactions-table tbody tr{transition:background var(--t-fast)}.transactions-table tbody tr:hover{background:#14b8a60a}.transactions-table tbody tr:last-child td{border-bottom:none}.transaction-cell{align-items:center;gap:12px;min-width:220px;display:flex}.transaction-cell strong{color:var(--text);font-size:14px;font-weight:700;display:block}.transaction-cell small{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--text-3);margin-top:2px;font-size:11.5px;display:block;overflow:hidden}.table-type-icon{border-radius:var(--r-md);background:var(--surface-mute);width:38px;height:38px;color:var(--text-2);flex:0 0 38px;place-items:center;display:grid}.table-type-icon.income{background:var(--income-soft);color:var(--income)}.table-type-icon.expense{background:var(--expense-soft);color:var(--expense)}.table-type-icon.transfer{background:var(--info-soft);color:var(--info)}.table-type-icon.loan{background:var(--warning-soft);color:var(--warning)}.table-type-icon.investment{background:var(--purple-soft);color:var(--purple)}.table-type-icon.charity{background:var(--pink-soft);color:var(--pink)}.type-badge{border-radius:var(--r-full);background:var(--primary-soft);color:var(--primary);white-space:nowrap;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.date-text,.account-text{color:var(--text-2);white-space:nowrap;font-size:13px;font-weight:500}.amount-positive{color:var(--income);font-family:Inter,sans-serif;font-weight:800}.amount-negative{color:var(--expense);font-family:Inter,sans-serif;font-weight:800}.row-actions{align-items:center;gap:6px;display:flex}.table-loading,.table-empty{min-height:320px;color:var(--text-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:40px 24px;display:flex}.table-empty h3{color:var(--text);margin-top:6px;font-size:17px}.table-empty p{color:var(--text-2);margin:0 0 12px;font-size:13.5px}.table-empty>svg{border-radius:var(--r-full);background:var(--primary-soft);width:68px;height:68px;color:var(--primary);padding:16px}.accounts-empty,.people-empty,.dashboard-empty{background:var(--surface);border:1px dashed var(--border);border-radius:var(--r-2xl);text-align:center;min-height:300px;color:var(--text-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;justify-content:center;align-items:center;padding:48px 26px;display:flex}.accounts-empty>svg,.people-empty>svg{border-radius:var(--r-full);background:var(--primary-soft);width:68px;height:68px;color:var(--primary);margin-bottom:16px;padding:16px}.accounts-empty h3,.people-empty h3{color:var(--text);margin-bottom:6px;font-size:17px;font-weight:700}.accounts-empty p,.people-empty p{max-width:420px;color:var(--text-2);margin:0 0 20px;font-size:13.5px;line-height:1.6}.dashboard-empty{background:var(--surface-soft);border-style:dashed;min-height:140px;padding:32px 20px;font-size:13.5px}.dashboard-error,.form-error,.success-message{border-radius:var(--r-md);border:1px solid #0000;align-items:center;gap:12px;margin-bottom:16px;padding:13px 16px;font-size:13.5px;font-weight:600;display:flex}.dashboard-error,.form-error{background:var(--expense-soft);color:var(--expense);border-color:#ef444440}.dashboard-error p{color:inherit;flex:1;margin:0}.success-message{background:var(--income-soft);color:var(--income);border-color:#10b98140}.modal-overlay,.modal-backdrop{z-index:9999;box-sizing:border-box;-webkit-backdrop-filter:blur(10px)saturate(120%);overscroll-behavior:contain;background:#0f172a8c;justify-content:center;align-items:center;width:100%;height:100dvh;min-height:100vh;padding:16px;animation:.2s both fadeIn;display:flex;position:fixed;inset:0;overflow:hidden}.transaction-modal,.account-modal,.person-modal,.history-modal,.modal-card{background:var(--surface-strong);border:1px solid var(--border-glass);border-radius:var(--r-2xl);width:min(680px,100vw - 32px);height:auto;min-height:0;max-height:min(100dvh - 32px,900px);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(24px)saturate(140%);flex-direction:column;margin:auto;animation:.28s cubic-bezier(.4,0,.2,1) slideUp;display:flex;overflow:hidden}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{border-bottom:1px solid var(--border-soft);background:var(--surface-strong);z-index:2;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 26px;display:flex;position:relative}.modal-header h2{letter-spacing:-.02em;font-size:18px;font-weight:800}.modal-header p{color:var(--text-3);margin:5px 0 0;font-size:12.5px}.modal-close{border-radius:var(--r-sm);background:var(--surface-mute);width:36px;height:36px;color:var(--text-2);transition:var(--t);flex-shrink:0;place-items:center;font-size:20px;line-height:1;display:grid}.modal-close:hover:not(:disabled){background:var(--expense-soft);color:var(--expense)}.modal-close:disabled{opacity:.45;cursor:not-allowed}.transaction-form,.account-form,.person-form{scrollbar-width:thin;scrollbar-color:var(--border) transparent;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;max-height:100%;padding:22px 26px 4px;overflow:hidden auto}.transaction-form::-webkit-scrollbar{width:6px}.account-form::-webkit-scrollbar{width:6px}.person-form::-webkit-scrollbar{width:6px}.transaction-form::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.account-form::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.person-form::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.modal-actions{border-top:1px solid var(--border-soft);background:var(--surface-strong);-webkit-backdrop-filter:blur(12px);z-index:3;flex-shrink:0;justify-content:flex-end;gap:10px;margin:20px -26px 0;padding:14px 26px 20px;display:flex;position:sticky;bottom:0}.history-list{scrollbar-width:thin;flex-direction:column;flex:1;min-height:0;padding:8px 26px 22px;display:flex;overflow-y:auto}.history-list::-webkit-scrollbar{width:6px}.history-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--r-full)}.history-row{border-bottom:1px solid var(--border-soft);transition:background var(--t-fast);justify-content:space-between;align-items:center;gap:12px;padding:14px 4px;display:flex}.history-row:hover{background:var(--surface-soft);border-radius:var(--r-sm);padding-inline:12px}.history-row:last-child{border-bottom:none}.history-row strong{font-size:14px;font-weight:700}.history-row span{color:var(--text-3);margin-top:3px;font-size:12px;display:block}.account-balance-notice{background:var(--info-soft);border-radius:var(--r-md);color:var(--info);border:1px solid #2563eb38;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;margin-bottom:16px;padding:14px 16px;display:grid}.account-balance-notice strong{color:#1e40af;font-size:12.5px;font-weight:700}.account-balance-notice span{color:#1d4ed8;font-family:Inter,sans-serif;font-size:16px;font-weight:800}.account-balance-notice small{color:var(--text-2);grid-column:2;font-size:11.5px}.loan-outstanding{border-radius:var(--r-md);background:var(--info-soft);color:#1d4ed8;border:1px solid #2563eb33;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;font-size:14px;font-weight:700;display:flex}.auth-page{background:radial-gradient(circle at 12% 18%,#14b8a629,#0000 32%),radial-gradient(circle at 88% 82%,#2563eb1f,#0000 32%),linear-gradient(135deg,#f8fafc 0%,#eef2f7 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{border-radius:var(--r-3xl);-webkit-backdrop-filter:blur(28px)saturate(145%);background:#ffffffc7;border:1px solid #ffffffd9;width:100%;max-width:440px;padding:40px 36px 32px;animation:.5s both pageFade;box-shadow:0 30px 80px #0f172a21}.auth-brand{text-align:center;margin-bottom:26px}.auth-logo{border-radius:var(--r-xl);background:var(--primary-grad);color:#fff;place-items:center;width:64px;height:64px;margin:0 auto 14px;display:grid;box-shadow:0 16px 36px -10px #0f766e8c}.auth-brand h1{letter-spacing:-.025em;margin-bottom:4px;font-size:24px;font-weight:800}.auth-brand p{color:var(--text-2);margin:0;font-size:13.5px}.auth-form{flex-direction:column;display:flex}.auth-form .primary-button{min-height:48px;margin-top:6px;font-size:15px}.auth-footer{text-align:center;color:var(--text-2);margin:22px 0 0;font-size:13.5px}.auth-footer a{color:var(--primary);font-weight:700}.report-toolbar{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;padding:18px 20px;display:flex}.report-date-controls{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.report-date-controls label{color:var(--text-2);flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.report-date-controls input{border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface-strong);min-height:42px;color:var(--text);transition:var(--t);outline:none;padding:0 14px;font-size:14px}.report-date-controls input:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow)}.report-print-button{align-items:center;gap:8px;display:inline-flex}.report-document{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);padding:30px 32px}.report-title-block{border-bottom:2px solid var(--primary);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;padding-bottom:18px;display:flex}.report-title-block h3{letter-spacing:-.025em;margin:0 0 4px;font-size:21px;font-weight:800}.report-period{color:var(--text-2);font-size:13px;font-weight:500}.report-table{border-collapse:collapse;width:100%;margin-top:4px;font-size:14px}.report-table th{text-align:left;background:var(--surface-soft);color:var(--text-2);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:12px 14px;font-size:11.5px;font-weight:800}.report-table th:last-child,.report-table td:last-child{text-align:right}.report-table td{border-bottom:1px solid var(--border-soft);color:var(--text);padding:12px 14px}.report-table tbody tr:last-child td{border-bottom:none}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;display:grid}.settings-grid .dashboard-panel h3{border-bottom:1px solid var(--border-soft);margin-bottom:16px;padding-bottom:12px;font-size:15px;font-weight:800}.transaction-form .primary-button{align-self:flex-start;margin-top:6px}.theme-switch-row{color:var(--text-2);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:13.5px;display:flex}.theme-toggle-header{border-radius:var(--r-sm);background:var(--surface-mute);width:36px;height:36px;color:var(--text-2);transition:var(--t);flex-shrink:0;place-items:center;margin-left:auto;display:grid}.theme-toggle-header:hover{background:var(--primary-soft);color:var(--primary)}.toast-container{z-index:2000;pointer-events:none;flex-direction:column;gap:10px;max-width:380px;display:flex;position:fixed;top:20px;right:20px}.toast{background:var(--surface-strong);border:1px solid var(--border-glass);border-radius:var(--r-md);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px)saturate(140%);pointer-events:auto;color:var(--text);align-items:center;gap:10px;padding:13px 16px;font-size:13.5px;font-weight:600;animation:.24s cubic-bezier(.4,0,.2,1) toastIn;display:flex}@keyframes toastIn{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.toast-icon{flex-shrink:0}.toast-success{border-left:3px solid var(--income)}.toast-success .toast-icon{color:var(--income)}.toast-error{border-left:3px solid var(--expense)}.toast-error .toast-icon{color:var(--expense)}.toast-warning{border-left:3px solid var(--warning)}.toast-warning .toast-icon{color:var(--warning)}.toast-info{border-left:3px solid var(--info)}.toast-info .toast-icon{color:var(--info)}.toast-message{flex:1;line-height:1.4}.toast-close{border-radius:var(--r-xs);width:24px;height:24px;color:var(--text-3);transition:var(--t-fast);flex-shrink:0;place-items:center;display:grid}.toast-close:hover{background:var(--surface-mute);color:var(--text)}.confirm-dialog{background:var(--surface-strong);border:1px solid var(--border-glass);border-radius:var(--r-2xl);width:min(420px,100%);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(24px)saturate(140%);text-align:center;margin:auto;padding:28px 26px 22px;animation:.24s cubic-bezier(.4,0,.2,1) slideUp;position:relative}.confirm-close{position:absolute;top:14px;right:14px}.confirm-icon{border-radius:var(--r-full);background:var(--expense-soft);width:56px;height:56px;color:var(--expense);place-items:center;margin:0 auto 14px;display:grid}.confirm-icon.warning{background:var(--warning-soft);color:var(--warning)}.confirm-icon.info{background:var(--info-soft);color:var(--info)}.confirm-body h3{margin-bottom:6px;font-size:18px;font-weight:800}.confirm-body p{color:var(--text-2);margin:0;font-size:14px;line-height:1.55}.confirm-actions{gap:10px;margin-top:22px;display:flex}.confirm-actions>button{flex:1;justify-content:center}.error-boundary-page{background:var(--bg-grad);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-boundary-card{background:var(--surface-strong);border:1px solid var(--border-glass);border-radius:var(--r-2xl);width:100%;max-width:520px;box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(20px)saturate(140%);backdrop-filter:blur(20px)saturate(140%);text-align:center;padding:40px 32px}.error-boundary-icon{border-radius:var(--r-full);background:var(--expense-soft);width:68px;height:68px;color:var(--expense);place-items:center;margin:0 auto 18px;display:grid}.error-boundary-card h2{margin-bottom:8px;font-size:22px;font-weight:800}.error-boundary-card p{color:var(--text-2);margin:0 0 22px;font-size:14px;line-height:1.6}.error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.error-boundary-stack{background:var(--surface-mute);border-radius:var(--r-md);text-align:left;max-height:200px;color:var(--text-2);white-space:pre-wrap;word-break:break-word;margin-top:20px;padding:14px;font-family:Inter,monospace;font-size:11px;overflow:auto}.offline-banner{z-index:1500;color:#fff;justify-content:center;align-items:center;gap:10px;padding:10px 16px;font-size:13px;font-weight:700;animation:.24s slideDown;display:flex;position:fixed;top:0;left:0;right:0}.offline-banner.offline{background:linear-gradient(90deg,#b91c1c,#ef4444)}.offline-banner.online{background:linear-gradient(90deg,#059669,#10b981)}@keyframes slideDown{0%{transform:translateY(-100%)}to{transform:translateY(0)}}.password-strength{margin-top:8px}.strength-bars{gap:4px;margin-bottom:6px;display:flex}.strength-bars span{border-radius:var(--r-full);background:var(--surface-mute);height:5px;transition:background var(--t);flex:1}.strength-weak .strength-bars span.filled{background:var(--expense)}.strength-medium .strength-bars span.filled{background:var(--warning)}.strength-strong .strength-bars span.filled{background:var(--income)}.strength-label{color:var(--text-3);font-size:11.5px;display:block}.strength-label strong{color:var(--text-2);font-weight:700}.income-expense-visual{margin-top:22px}.bar-chart{flex-direction:column;gap:16px;margin-top:8px;display:flex}.bar-row{grid-template-columns:60px 1fr auto;align-items:center;gap:12px;display:grid}.bar-label{color:var(--text-2);font-size:13px;font-weight:700}.bar-track{border-radius:var(--r-full);background:var(--surface-mute);height:12px;overflow:hidden}.bar-fill{border-radius:var(--r-full);min-width:4px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.bar-fill.income{background:linear-gradient(90deg,#059669,#10b981)}.bar-fill.expense{background:linear-gradient(90deg,#dc2626,#ef4444)}.bar-value{color:var(--text);white-space:nowrap;font-family:Inter,sans-serif;font-size:13.5px;font-weight:800}.mobile-header{height:var(--header-h);border-bottom:1px solid var(--border-glass);-webkit-backdrop-filter:blur(18px)saturate(140%);z-index:40;background:#ffffffd9;align-items:center;gap:12px;padding:0 16px;display:none;position:fixed;top:0;left:0;right:0}.mobile-header strong{flex:1;font-size:15px;font-weight:800}.mobile-close-button{border-radius:var(--r-sm);width:36px;height:36px;color:var(--text-2);background:var(--surface-mute);place-items:center;margin-left:auto;display:none}.app-loading{min-height:100vh;color:var(--text-2);flex-direction:column;justify-content:center;align-items:center;gap:14px;font-weight:600;display:flex}.loading-spinner{border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:34px;height:34px;animation:.7s linear infinite spin}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.finance-crud-page{max-width:1500px;margin:0 auto}.nisab-banner{border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);background:linear-gradient(135deg,#14b8a61a,#2563eb0f);border:1px solid #14b8a64d;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.nisab-banner-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.nisab-icon{border-radius:var(--r-md);background:var(--primary-grad);color:#fff;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 8px 20px -6px #0f766e80}.nisab-banner-left strong{color:var(--text);letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:16px;font-weight:800;display:block}.nisab-banner-left small{color:var(--text-3);margin-top:3px;font-size:12px;font-weight:500;display:block}.nisab-banner-manual{background:linear-gradient(135deg,#d977061a,#f59e0b0f);border-color:#d9770652}.nisab-banner-manual .nisab-icon{background:linear-gradient(135deg,#b45309,#f59e0b);box-shadow:0 8px 20px -6px #d9770680}.nisab-alert{border-radius:var(--r-xl);box-shadow:var(--shadow-glass);background:linear-gradient(135deg,#dc26260f,#f59e0b0f);border:1px solid #dc262640;flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:20px;padding:18px 20px;display:flex}.nisab-alert-icon{border-radius:var(--r-md);background:var(--expense-soft);width:40px;height:40px;color:var(--expense);flex-shrink:0;place-items:center;display:grid}.nisab-alert-body{flex:1;min-width:200px}.nisab-alert-body strong{color:var(--text);margin-bottom:4px;font-size:14.5px;font-weight:700;display:block}.nisab-alert-body p{color:var(--text-2);margin:0;font-size:13px;line-height:1.55}.nisab-alert-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.manual-nisab-panel{background:var(--surface-strong);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);-webkit-backdrop-filter:blur(20px)saturate(140%);margin-bottom:22px;overflow:hidden}.manual-nisab-header{border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg,#d9770614,#f59e0b0a);justify-content:space-between;align-items:flex-start;gap:14px;padding:16px 22px;display:flex}.manual-nisab-header h3{color:var(--text);align-items:center;gap:8px;font-size:15px;font-weight:800;display:inline-flex}.manual-nisab-header p{color:var(--text-2);margin:4px 0 0;font-size:12.5px}.manual-nisab-body{padding:18px 22px 22px}.manual-nisab-actions{justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.zakat-below-nisab-note{background:var(--info-soft);border-left:3px solid var(--info);border-radius:var(--r-md);color:#075985;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 18px;display:flex}.zakat-below-nisab-note svg{color:var(--info);flex-shrink:0;margin-top:2px}.zakat-below-nisab-note strong{color:#0c4a6e;margin-bottom:4px;font-size:14px;font-weight:700;display:block}.zakat-below-nisab-note p{color:#075985;margin:0;font-size:12.5px;line-height:1.55}@media (width<=1100px){.dashboard-two-column{grid-template-columns:1fr}.account-grid,.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.sidebar{z-index:1001;transform:translate(-100%);box-shadow:24px 0 60px #0f172a24}.sidebar.mobile-open{z-index:1001;transform:translate(0)}.mobile-sidebar-backdrop{display:block}.mobile-close-button{display:grid}.mobile-header{display:flex}.main-content{width:100%;padding:calc(var(--header-h) + 16px) 18px 60px;margin-left:0}}@media (width<=768px){.page-header{margin-bottom:18px}.page-header h2{font-size:22px}.page-description{font-size:13px}.page-header-actions{width:100%}.page-header-actions>button{flex:1;justify-content:center}.dashboard-card-grid{grid-template-columns:1fr 1fr}.accounts-summary-grid,.account-grid,.people-grid{grid-template-columns:1fr}.people-toolbar,.transaction-toolbar{flex-direction:column;align-items:stretch}.search-box{min-width:0;max-width:none}.people-toolbar select,.transaction-toolbar select{width:100%;min-width:0}.finance-form-grid{grid-template-columns:1fr}.finance-form-grid .full-width{grid-column:auto}.form-row,.form-two-column{grid-template-columns:1fr}.transaction-type-grid,.account-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}input,select,textarea{font-size:16px!important}.modal-overlay,.modal-backdrop{align-items:center;padding:12px}.transaction-modal,.account-modal,.person-modal,.history-modal,.modal-card{border-radius:var(--r-2xl);width:100%;max-width:680px;max-height:calc(100dvh - 24px);margin:0}.modal-header{padding:16px 20px}.modal-header h2{font-size:16.5px}.transaction-form,.account-form,.person-form{padding:18px 20px 4px}.history-list{padding-inline:20px}.modal-actions{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column;margin:16px -20px 0}.modal-actions button{width:100%;min-height:46px}.quick-actions{flex-direction:column;align-items:flex-start}.quick-action-list{width:100%}.quick-action-list button{flex:1;justify-content:center}.report-toolbar{flex-direction:column;align-items:stretch}.report-date-controls,.report-date-controls label,.report-date-controls input{width:100%}.report-print-button{justify-content:center;width:100%}.report-document{padding:22px 20px}.nisab-banner{flex-direction:column;align-items:stretch}.nisab-banner-left{align-items:flex-start}.nisab-banner .text-button{align-self:flex-end}.nisab-alert{flex-direction:column;align-items:stretch}.nisab-alert-actions{width:100%}.nisab-alert-actions>button{flex:1;justify-content:center}.manual-nisab-actions{flex-direction:column-reverse}.manual-nisab-actions>button{width:100%}}@media (width<=640px){.transactions-table{min-width:0}.transactions-table thead{display:none}.transactions-table tbody{display:block}.transactions-table tr{background:var(--surface-strong);border:1px solid var(--border-soft);border-radius:var(--r-lg);box-shadow:var(--shadow-xs);margin:0 12px 12px;padding:14px 16px;display:block}.transactions-table td{text-align:right;border:none;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.transactions-table td:first-child{text-align:left;border-bottom:1px dashed var(--border);margin-bottom:6px;padding-bottom:12px;display:block}.transactions-table td:before{content:attr(data-label);color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;text-align:left;flex-shrink:0;font-size:11px;font-weight:800}.transactions-table td:first-child:before{display:none}.transaction-cell{min-width:0}.transaction-cell small{max-width:none}}@media (width<=480px){.main-content{padding:calc(var(--header-h) + 14px) 14px 60px}.dashboard-card-grid{grid-template-columns:1fr}.dashboard-card strong{font-size:19px}.account-summary-card strong,.account-card-balance strong{font-size:18px}.auth-card{border-radius:var(--r-2xl);padding:30px 22px 24px}.auth-brand h1{font-size:22px}.transaction-type-grid{gap:6px}.transaction-type{min-height:58px;font-size:11px}.transactions-table th,.transactions-table td{padding:12px 14px}.history-row{padding:12px 0}.toast-container{max-width:none;inset:auto 16px 16px}}@media (width<=768px){.icon-button,.delete-icon-button,.account-card-actions button{width:42px;height:42px}}@supports (padding:max(0px)){.main-content{padding-bottom:max(64px, env(safe-area-inset-bottom))}.toast-container{top:max(20px, env(safe-area-inset-top))}}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0a0f1a;--bg-grad:radial-gradient(circle at 3% 4%, #14b8a61f, transparent 32%), radial-gradient(circle at 97% 6%, #2563eb14, transparent 30%), linear-gradient(160deg, #0b1220 0%, #0a0f1a 100%);--surface:#1e293b99;--surface-strong:#1e293be0;--surface-solid:#1e293b;--surface-soft:#1e293b;--surface-mute:#273449;--border:#94a3b82e;--border-soft:#94a3b81a;--border-strong:#94a3b859;--border-glass:#94a3b829;--text:#e6edf5;--text-2:#a8b3c5;--text-3:#6b7890;--primary-soft:#14b8a624;--income-soft:#10b98124;--expense-soft:#ef444424;--warning-soft:#d9770624;--info-soft:#2563eb24;--purple-soft:#7c3aed24;--pink-soft:#db277724;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 2px 6px #0006;--shadow-md:0 8px 22px #00000073;--shadow-lg:0 18px 40px #00000080;--shadow-xl:0 30px 70px #0000008c;--shadow-glass:0 20px 55px #0006}html[data-theme=dark] .sidebar{background:#0f172ab8}html[data-theme=dark] .mobile-header{background:#0f172ad9}html[data-theme=dark] .skeleton,html[data-theme=dark] .skeleton-card{background:linear-gradient(90deg,#1e293b 25%,#2a3950 50%,#1e293b 75%) 0 0/200% 100%}html[data-theme=dark] .form-group input,html[data-theme=dark] .form-group select,html[data-theme=dark] .form-group textarea,html[data-theme=dark] .search-box input,html[data-theme=dark] .transaction-form input,html[data-theme=dark] .transaction-form select,html[data-theme=dark] .transaction-form textarea,html[data-theme=dark] .amount-input{background:#0f172a8c}html[data-theme=dark] .auth-card{background:#0f172ab3;border-color:#94a3b824}html[data-theme=dark] .transactions-table thead{background:#0f172a80}html[data-theme=dark] .secondary-button,html[data-theme=dark] .refresh-button{background:#1e293bb3}@media print{@page{size:A4;margin:12mm}body{color:#111827!important;background:#fff!important}.sidebar,.mobile-header,.mobile-sidebar-backdrop,.page-header,.report-toolbar,.no-print,.primary-button,.refresh-button,.text-button,button{display:none!important}.main-content{width:100%!important;margin:0!important;padding:0!important}.page{max-width:none!important;padding:0!important}.report-document,.dashboard-card,.dashboard-panel,.dashboard-card-grid,.report-section{break-inside:avoid;box-shadow:none!important;-webkit-backdrop-filter:none!important;background:#fff!important;border:1px solid #d1d5db!important}.report-title-block{border-color:#111827!important;display:flex!important}.report-table th,.report-table td{border-color:#d1d5db!important}.report-table th{background:#f3f4f6!important}}.interest-page{max-width:1400px;margin:0 auto}.interest-info-banner{border-left:3px solid var(--warning);border-radius:var(--r-md);color:#92400e;background:linear-gradient(135deg,#d9770614,#f59e0b0a);align-items:flex-start;gap:12px;margin-bottom:20px;padding:14px 18px;display:flex}.interest-info-banner svg{color:var(--warning);flex-shrink:0;margin-top:2px}.interest-info-banner strong{color:#78350f;margin-bottom:4px;font-size:14px;font-weight:700;display:block}.interest-info-banner p{margin:0;font-size:12.5px;line-height:1.55}.interest-summary-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:22px;display:grid}.interest-summary-card{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.interest-summary-icon{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:42px;height:42px;display:grid}.interest-summary-card.received .interest-summary-icon{background:var(--income-soft);color:var(--income)}.interest-summary-card.donated .interest-summary-icon{background:var(--info-soft);color:var(--info)}.interest-summary-card.pending .interest-summary-icon{background:var(--warning-soft);color:var(--warning)}.interest-summary-card span{color:var(--text-2);margin-bottom:4px;font-size:12.5px;font-weight:600;display:block}.interest-summary-card strong{letter-spacing:-.025em;color:var(--text);font-family:Inter,sans-serif;font-size:20px;font-weight:800;line-height:1.2;display:block}.interest-summary-card.received strong{color:var(--income)}.interest-summary-card.donated strong{color:var(--info)}.interest-summary-card.pending strong{color:var(--warning)}.interest-summary-card small{color:var(--text-3);margin-top:4px;font-size:11.5px;display:block}.interest-summary-card.action-card{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;align-items:stretch;padding:0}.donate-cta{background:var(--primary-grad);color:#fff;border-radius:var(--r-xl);width:100%;box-shadow:var(--shadow-primary);cursor:pointer;transition:var(--t);text-align:left;border:0;align-items:center;gap:12px;padding:18px 22px;display:flex}.donate-cta:hover:not(:disabled){box-shadow:var(--shadow-primary-hover);transform:translateY(-2px)}.donate-cta:disabled{opacity:.5;cursor:not-allowed;background:var(--slate-400);box-shadow:none}.donate-cta span{flex-direction:column;gap:2px;display:flex}.donate-cta b{font-size:14.5px;font-weight:800}.donate-cta small{opacity:.85;font-size:11.5px}.interest-two-column{grid-template-columns:1fr 1fr;align-items:start;gap:20px;display:grid}@media (width<=1024px){.interest-two-column{grid-template-columns:1fr}}.interest-list{flex-direction:column;display:flex}.interest-row{border-bottom:1px solid var(--border-soft);transition:var(--t-fast);align-items:center;gap:12px;padding:12px 4px;display:flex}.interest-row:last-child{border-bottom:none}.interest-row:hover{background:var(--surface-soft);border-radius:var(--r-sm);padding-inline:12px}.interest-row-icon{border-radius:var(--r-md);flex-shrink:0;place-items:center;width:34px;height:34px;display:grid}.interest-row-icon.received{background:var(--income-soft);color:var(--income)}.interest-row-icon.donated{background:var(--info-soft);color:var(--info)}.interest-row-info{flex:1;min-width:0}.interest-row-info strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:700;display:block;overflow:hidden}.interest-row-info span{color:var(--text-3);margin-top:2px;font-size:11.5px;display:block}.interest-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.interest-row-actions strong{white-space:nowrap;margin-right:4px;font-family:Inter,sans-serif;font-size:14px;font-weight:800}.zk-clean{max-width:1200px;margin:0 auto;padding-bottom:60px}.zk-page-header{margin-bottom:20px}.zk-hero{color:#fff;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);border-radius:24px;margin-bottom:20px;padding:24px 28px;position:relative;overflow:hidden;box-shadow:0 24px 60px -20px #0f766e80}.zk-hero.below{background:linear-gradient(135deg,#475569 0%,#64748b 100%);box-shadow:0 24px 60px -20px #47556980}.zk-hero-glow{pointer-events:none;background:radial-gradient(circle,#ffffff26,#0000 70%);width:500px;height:500px;position:absolute;top:-50%;right:-20%}.zk-hero-main{z-index:1;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:relative}.zk-hero-left{flex:1;align-items:flex-start;gap:16px;min-width:260px;display:flex}.zk-hero-icon{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:14px;flex-shrink:0;place-items:center;width:48px;height:48px;display:grid}.zk-hero-text{flex:1;min-width:0}.zk-hero-eyebrow{letter-spacing:.12em;text-transform:uppercase;color:#ffffffbf;margin:0 0 6px;font-size:11px;font-weight:700}.zk-hero-amount{letter-spacing:-.035em;color:#fff;margin:0 0 10px;font-family:Inter,sans-serif;font-size:32px;font-weight:900;line-height:1}.zk-hero-tags{flex-wrap:wrap;gap:8px;display:flex}.zk-hero-tag{color:#fffffff2;background:#ffffff26;border:1px solid #fff3;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11.5px;font-weight:700;display:inline-flex}.zk-hero-tag.success{background:#10b9814d;border-color:#10b98180}.zk-hero-actions{flex-shrink:0;gap:8px;display:flex}.zk-hero-btn{cursor:pointer;white-space:nowrap;border:0;border-radius:12px;align-items:center;gap:6px;padding:10px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.zk-hero-btn.ghost{color:#fff;background:#ffffff26;border:1px solid #ffffff40}.zk-hero-btn.ghost:hover:not(:disabled){background:#ffffff40}.zk-hero-btn.primary{color:#0f766e;background:#fff;box-shadow:0 6px 16px -4px #00000026}.zk-hero-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px -6px #0003}.zk-hero-btn:disabled{opacity:.55;cursor:not-allowed}.zk-hero-mini-stats{z-index:1;border-top:1px solid #fff3;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:20px;padding-top:18px;display:grid;position:relative}.zk-mini-stat{flex-direction:column;gap:3px;min-width:0;display:flex}.zk-mini-stat span{color:#ffffffb3;text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.zk-mini-stat strong{letter-spacing:-.02em;color:#fff;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,sans-serif;font-size:16px;font-weight:800;overflow:hidden}.zk-tabs{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-xs);scrollbar-width:none;border-radius:14px;gap:4px;margin-bottom:20px;padding:4px;display:flex;overflow-x:auto}.zk-tabs::-webkit-scrollbar{display:none}.zk-tab{min-width:100px;color:var(--text-2);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:7px;padding:10px 16px;font-family:inherit;font-size:13.5px;font-weight:700;transition:all .2s;display:inline-flex}.zk-tab:hover{background:var(--surface-soft);color:var(--primary)}.zk-tab.active{background:var(--primary-grad);color:#fff;box-shadow:0 6px 16px -6px #0f766e80}.zk-tab-badge{min-width:20px;height:20px;color:inherit;background:#ffffff40;border-radius:999px;place-items:center;padding:0 6px;font-size:10.5px;font-weight:800;display:inline-grid}.zk-tab:not(.active) .zk-tab-badge{background:var(--surface-mute);color:var(--text-2)}.zk-tab-content{flex-direction:column;gap:20px;animation:.3s zkFade;display:flex}@keyframes zkFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.zk-breakdown-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.zk-breakdown-card{background:var(--surface);border:1px solid var(--border-soft);box-shadow:var(--shadow-xs);border-radius:16px;align-items:center;gap:12px;padding:14px 16px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.zk-breakdown-card:before{content:"";background:var(--primary);width:3px;height:100%;position:absolute;top:0;left:0}.zk-breakdown-card.warning:before{background:#d97706}.zk-breakdown-card.purple:before{background:#7c3aed}.zk-breakdown-card.info:before{background:#2563eb}.zk-breakdown-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.zk-breakdown-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.zk-breakdown-card.warning .zk-breakdown-icon{background:var(--warning-soft);color:var(--warning)}.zk-breakdown-card.purple .zk-breakdown-icon{background:var(--purple-soft);color:var(--purple)}.zk-breakdown-card.info .zk-breakdown-icon{background:var(--info-soft);color:var(--info)}.zk-breakdown-card>div:last-child{flex:1;min-width:0}.zk-breakdown-card span{color:var(--text-3);margin-bottom:3px;font-size:11.5px;font-weight:600;display:block}.zk-breakdown-card strong{color:var(--text);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,sans-serif;font-size:15px;font-weight:800;display:block;overflow:hidden}.zk-calc-card{background:var(--surface);border:1px solid var(--border-glass);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);border-radius:20px;padding:22px 24px}.zk-calc-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:14px;display:flex}.zk-calc-header h3{color:var(--text);letter-spacing:-.02em;margin:0 0 3px;font-size:16px;font-weight:800}.zk-calc-header p{color:var(--text-3);margin:0;font-size:12.5px}.zk-calc-actions{flex-shrink:0;gap:6px;display:flex}.zk-icon-btn{background:var(--surface-mute);width:34px;height:34px;color:var(--text-2);cursor:pointer;border:0;border-radius:10px;place-items:center;transition:all .2s;display:grid}.zk-icon-btn:hover{background:var(--primary-soft);color:var(--primary)}.zk-calc-rows{flex-direction:column;gap:2px;margin-bottom:18px;display:flex}.zk-calc-row{border-bottom:1px dashed var(--border-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 4px;font-size:14px;display:flex}.zk-calc-row:last-child{border-bottom:0}.zk-calc-row span{color:var(--text-2);font-weight:500}.zk-calc-row strong{color:var(--text);white-space:nowrap;font-family:Inter,sans-serif;font-weight:700}.zk-calc-row.subtract strong{color:var(--expense)}.zk-calc-row.total{border-top:1px solid var(--border);border-bottom:0;margin-top:8px;padding-top:14px}.zk-calc-row.total strong{color:var(--primary);font-size:17px}.zk-calc-result{border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.zk-calc-result.success{background:linear-gradient(135deg,#0f766e14,#14b8a608);border:1px solid #0f766e33}.zk-calc-result.info{background:var(--info-soft);border:1px solid #2563eb33}.zk-calc-result-left{align-items:center;gap:12px;min-width:0;display:flex}.zk-calc-result.success .zk-calc-result-left>svg{color:var(--primary);flex-shrink:0}.zk-calc-result.info .zk-calc-result-left>svg{color:var(--info);flex-shrink:0}.zk-calc-result-left strong{color:var(--text);margin-bottom:2px;font-size:14px;font-weight:800;display:block}.zk-calc-result-left small{color:var(--text-3);font-size:11.5px;font-weight:500;display:block}.zk-calc-result-value{letter-spacing:-.035em;color:var(--primary);white-space:nowrap;font-family:Inter,sans-serif;font-size:28px;font-weight:900;line-height:1}.zk-calc-result.info .zk-calc-result-value{color:var(--info)}.zk-settings-panel{background:var(--surface);border:1px solid var(--border-glass);box-shadow:var(--shadow-xs);border-radius:16px;overflow:hidden}.zk-settings-toggle{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;font-family:inherit;transition:background .2s;display:flex}.zk-settings-toggle:hover{background:var(--surface-soft)}.zk-settings-toggle-left{align-items:center;gap:12px;min-width:0;display:flex}.zk-settings-toggle-icon{background:var(--primary-soft);width:36px;height:36px;color:var(--primary);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.zk-settings-toggle-left strong{color:var(--text);font-size:14px;font-weight:800;display:block}.zk-settings-toggle-left small{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:2px;font-size:11.5px;display:block;overflow:hidden}.zk-settings-body{border-top:1px solid var(--border-soft);padding:0 20px 20px;animation:.25s zkFade}.zk-settings-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;margin-bottom:14px;display:grid}.zk-settings-checkbox{margin-bottom:14px}.zk-settings-divider{background:var(--border-soft);height:1px;margin:16px 0}.zk-nisab-status{background:var(--surface-soft);border-radius:12px;margin-bottom:14px;padding:14px 16px}.zk-nisab-status-head{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.zk-nisab-status-head strong{color:var(--text);font-size:13.5px;font-weight:800}.zk-nisab-status p{color:var(--text-2);margin:0;font-size:12.5px;line-height:1.55}.zk-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:999px;padding:3px 9px;font-size:10.5px;font-weight:800;display:inline-flex}.zk-badge.success{background:var(--income-soft);color:var(--income)}.zk-badge.warning{background:var(--warning-soft);color:var(--warning)}.zk-badge.subtle{background:var(--surface-soft);color:var(--text-2);text-transform:none;letter-spacing:0}.zk-settings-actions{flex-wrap:wrap;gap:10px;display:flex}.zk-settings-actions>button{flex:1;justify-content:center;min-width:130px}.zk-manual-nisab{background:var(--surface-soft);border:1px dashed var(--border);border-radius:12px;margin-top:14px;padding:14px 16px;animation:.2s zkFade}.zk-manual-actions{justify-content:flex-end;gap:10px;display:flex}.zk-notes{flex-direction:column;gap:8px;display:flex}.zk-notes label{color:var(--text-2);font-size:13px;font-weight:700}.zk-notes textarea{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);resize:vertical;border-radius:12px;outline:none;min-height:70px;padding:12px 16px;font-family:inherit;font-size:13.5px;line-height:1.55;transition:all .2s}.zk-notes textarea:focus{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow)}.zk-section{margin-top:4px}.zk-section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.zk-section-title{color:var(--text);letter-spacing:-.025em;margin:0 0 3px;font-size:17px;font-weight:800}.zk-section-sub{color:var(--text-3);margin:0;font-size:12.5px;font-weight:500}.zk-section-sub strong{color:var(--primary);font-family:Inter,sans-serif;font-weight:800}.zk-action-btn{background:var(--surface-strong);border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s;display:inline-flex}.zk-action-btn:hover{background:var(--primary-soft);border-color:var(--primary-2);color:var(--primary)}.zk-empty{text-align:center;background:var(--surface);border:2px dashed var(--border);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:48px 24px;display:flex}.zk-empty-icon{background:var(--primary-soft);width:64px;height:64px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:8px;display:grid}.zk-empty h4{color:var(--text);margin:0 0 4px;font-size:15px;font-weight:800}.zk-empty p{max-width:360px;color:var(--text-2);margin:0 0 14px;font-size:13px;line-height:1.55}.zk-year-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.zk-year-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:16px;padding:16px 18px;transition:all .25s;position:relative;overflow:hidden}.zk-year-card:before{content:"";opacity:.5;background:linear-gradient(90deg,#64748b,#94a3b8);height:3px;position:absolute;top:0;left:0;right:0}.zk-year-card.current:before{opacity:1;background:linear-gradient(90deg,#0f766e,#14b8a6)}.zk-year-card:hover{box-shadow:var(--shadow-md);border-color:var(--primary-2);transform:translateY(-2px)}.zk-year-card.current{background:linear-gradient(135deg, #14b8a608, var(--surface));border-color:#14b8a64d}.zk-year-card-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.zk-year-card-badge{background:var(--surface-soft);color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;gap:4px;padding:3px 9px;font-size:10px;font-weight:800;display:inline-flex}.zk-year-card.current .zk-year-card-badge{background:var(--primary-grad);color:#fff}.zk-year-card-head h4{color:var(--text);letter-spacing:-.03em;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-family:Inter,sans-serif;font-size:16px;font-weight:900;overflow:hidden}.zk-year-card.current .zk-year-card-head h4{color:#0f766e}.zk-year-card-menu{opacity:0;flex-shrink:0;gap:2px;transition:opacity .2s;display:flex}.zk-year-card:hover .zk-year-card-menu{opacity:1}.zk-year-card-menu button{background:var(--surface-soft);width:22px;height:22px;color:var(--text-3);cursor:pointer;border:0;border-radius:6px;place-items:center;transition:all .15s;display:grid}.zk-year-card-menu button:hover{background:var(--primary-soft);color:var(--primary)}.zk-year-card-menu button.danger:hover{background:var(--expense-soft);color:var(--expense)}.zk-year-card-amounts{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;display:grid}.zk-year-amount{background:var(--surface-soft);border-radius:10px;padding:10px 12px}.zk-year-amount span{color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.zk-year-amount strong{letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,sans-serif;font-size:13.5px;font-weight:800;display:block;overflow:hidden}.zk-year-amount.payable strong{color:#0f766e}.zk-year-amount.paid strong{color:#059669}.zk-year-progress{margin-bottom:12px}.zk-progress-track{background:#94a3b833;border-radius:999px;height:6px;margin-bottom:6px;overflow:hidden}.zk-progress-fill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:999px;min-width:4px;height:100%;transition:width .7s cubic-bezier(.4,0,.2,1)}.zk-progress-fill.complete{background:linear-gradient(90deg,#059669,#10b981)}.zk-progress-fill.over{background:linear-gradient(90deg,#2563eb,#3b82f6)}.zk-progress-meta{color:var(--text-2);justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:700;display:flex}.zk-status{border-radius:999px;align-items:center;gap:3px;padding:2px 7px;font-size:10px;font-weight:800;display:inline-flex}.zk-status.remaining{color:#92400e;background:#fef3c7}.zk-status.complete{color:#047857;background:#d1fae5}.zk-status.over{color:#1d4ed8;background:#dbeafe}.zk-year-recipients{background:var(--surface-soft);border:1px dashed var(--border-soft);border-radius:10px;flex-direction:column;gap:5px;padding:10px;display:flex}.zk-year-recipient{justify-content:space-between;align-items:center;gap:8px;padding:2px 0;font-size:12px;display:flex}.zk-year-recipient-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.zk-year-recipient-amount{color:#0f766e;white-space:nowrap;font-family:Inter,sans-serif;font-size:12px;font-weight:800}.zk-year-recipient-more{text-align:center;color:var(--primary);padding:3px;font-size:10.5px;font-weight:700}.zk-year-empty{background:var(--surface-soft);text-align:center;color:var(--text-3);border-radius:10px;padding:10px;font-size:11.5px;font-style:italic}.zk-note{border-radius:12px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px 16px;font-size:12.5px;line-height:1.55;display:flex}.zk-note.warning{background:var(--warning-soft);color:#92400e;border:1px solid #d9770640}.zk-note.warning svg{color:var(--warning);flex-shrink:0;margin-top:2px}.zk-note strong{color:#78350f;font-weight:800}.zk-note svg{flex-shrink:0}.zk-year-pills{scrollbar-width:none;gap:6px;margin-bottom:16px;padding-bottom:4px;display:flex;overflow-x:auto}.zk-year-pills::-webkit-scrollbar{display:none}.zk-year-pill{background:var(--surface-strong);border:1px solid var(--border);color:var(--text-2);cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 13px;font-family:inherit;font-size:12.5px;font-weight:700;transition:all .2s;display:inline-flex}.zk-year-pill:hover{border-color:var(--primary-2);color:var(--primary)}.zk-year-pill.active{background:var(--primary-grad);color:#fff;border-color:#0000;box-shadow:0 6px 16px -6px #0f766e80}.zk-year-pill.current{border-color:#14b8a666}.zk-year-pill-count{background:var(--surface-mute);min-width:18px;height:18px;color:var(--text-3);border-radius:999px;place-items:center;padding:0 5px;font-size:10px;font-weight:800;display:inline-grid}.zk-year-pill.active .zk-year-pill-count{color:#fff;background:#ffffff40}.zk-year-stats{background:linear-gradient(135deg,#14b8a60f,#2563eb08);border:1px solid #14b8a633;border-radius:14px;margin-bottom:16px;padding:16px 18px}.zk-year-stats-row{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.zk-year-stat{flex-direction:column;gap:3px;min-width:0;display:flex}.zk-year-stat span{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700}.zk-year-stat strong{letter-spacing:-.025em;white-space:nowrap;font-family:Inter,sans-serif;font-size:18px;font-weight:800}.zk-year-stat strong.payable{color:#0f766e}.zk-year-stat strong.paid{color:#059669}.zk-year-stat-divider{background:var(--surface-strong);width:30px;height:30px;color:var(--text-3);box-shadow:var(--shadow-xs);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.zk-year-stat-progress{flex:1;align-items:center;gap:8px;min-width:100px;display:flex}.zk-year-stat-progress-track{background:#94a3b833;border-radius:999px;flex:1;height:8px;overflow:hidden}.zk-year-stat-progress-fill{background:linear-gradient(90deg,#0f766e,#14b8a6);border-radius:999px;min-width:4px;height:100%;transition:width .8s}.zk-year-stat-progress-fill.complete{background:linear-gradient(90deg,#059669,#10b981)}.zk-year-stat-progress-fill.over{background:linear-gradient(90deg,#2563eb,#3b82f6)}.zk-year-stat-progress-label{color:var(--text-2);white-space:nowrap;font-family:Inter,sans-serif;font-size:12px;font-weight:800}.zk-year-stats-footer{border-top:1px solid #14b8a626;justify-content:flex-end;margin-top:10px;padding-top:10px;display:flex}.zk-payment-list{flex-direction:column;gap:10px;display:flex}.zk-payment-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;align-items:stretch;gap:0;padding:0;transition:all .2s;display:flex;position:relative;overflow:hidden}.zk-payment-card:before{content:"";background:linear-gradient(#0f766e,#14b8a6);width:3px;position:absolute;top:0;bottom:0;left:0}.zk-payment-card:hover{border-color:var(--primary-2);box-shadow:var(--shadow-sm);transform:translate(2px)}.zk-payment-main{flex:1;grid-template-columns:44px 1fr auto;align-items:center;gap:14px;min-width:0;padding:14px 18px 14px 20px;display:grid}.zk-payment-avatar{background:linear-gradient(135deg,#f0fdfa,#ccfbf1);border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:20px;display:grid}.zk-payment-info{min-width:0}.zk-payment-name-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:5px;display:flex}.zk-payment-name-row h4{color:var(--text);letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin:0;font-size:14.5px;font-weight:800;overflow:hidden}.zk-payment-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:12px;font-size:11.5px;font-weight:500;display:flex}.zk-payment-meta span{align-items:center;gap:4px;display:inline-flex}.zk-payment-meta svg{color:var(--text-3)}.zk-payment-notes{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0;font-size:11.5px;font-style:italic;line-height:1.5;overflow:hidden}.zk-payment-amount{color:#0f766e;letter-spacing:-.03em;white-space:nowrap;text-align:right;flex-shrink:0;font-family:Inter,sans-serif;font-size:17px;font-weight:900}.zk-payment-actions{background:var(--surface-soft);border-left:1px solid var(--border-soft);flex-direction:column;flex-shrink:0;gap:1px;display:flex}.zk-payment-actions button{width:44px;color:var(--text-3);cursor:pointer;background:0 0;border:0;flex:1;place-items:center;font-family:inherit;transition:all .15s;display:grid}.zk-payment-actions button:hover{background:var(--primary-soft);color:var(--primary)}.zk-payment-actions button.danger:hover{background:var(--expense-soft);color:var(--expense)}.zk-insights{flex-direction:column;gap:16px;display:flex}.zk-insights-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.zk-insight-stat{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;align-items:center;gap:12px;padding:16px 18px;transition:all .2s;display:flex}.zk-insight-stat:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.zk-insight-stat-icon{color:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:40px;height:40px;display:grid}.zk-insight-stat-icon.teal{background:linear-gradient(135deg,#0f766e,#14b8a6);box-shadow:0 8px 20px -6px #0f766e66}.zk-insight-stat-icon.violet{background:linear-gradient(135deg,#7c3aed,#a855f7);box-shadow:0 8px 20px -6px #7c3aed66}.zk-insight-stat-icon.amber{background:linear-gradient(135deg,#ea580c,#f97316);box-shadow:0 8px 20px -6px #ea580c66}.zk-insight-stat>div:last-child{min-width:0}.zk-insight-stat span{color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:10.5px;font-weight:700;display:block}.zk-insight-stat strong{color:var(--text);letter-spacing:-.025em;white-space:nowrap;text-overflow:ellipsis;font-family:Inter,sans-serif;font-size:16px;font-weight:800;line-height:1.15;display:block;overflow:hidden}.zk-insight-stat small{color:var(--text-3);margin-top:2px;font-size:10.5px;display:block}.zk-panel{background:var(--surface);border:1px solid var(--border-glass);box-shadow:var(--shadow-xs);border-radius:16px;padding:18px 20px}.zk-panel-head{border-bottom:1px solid var(--border-soft);margin-bottom:16px;padding-bottom:12px}.zk-panel-head h3{color:var(--text);letter-spacing:-.02em;align-items:center;gap:7px;margin:0 0 3px;font-size:15px;font-weight:800;display:inline-flex}.zk-panel-head h3 svg{color:var(--primary)}.zk-panel-head p{color:var(--text-3);margin:0;font-size:11.5px}.zk-comparison{flex-direction:column;gap:12px;display:flex}.zk-comparison-row{grid-template-columns:80px 1fr;align-items:center;gap:14px;display:grid}.zk-comparison-year{color:var(--text);text-align:right;font-family:Inter,sans-serif;font-size:12.5px;font-weight:800}.zk-comparison-bars{flex-direction:column;gap:4px;min-width:0;display:flex}.zk-comparison-bar{border-radius:8px;justify-content:flex-end;align-items:center;min-width:50px;height:24px;padding:0 10px;transition:all .6s;display:flex}.zk-comparison-bar.payable{background:linear-gradient(90deg,#0f766e,#14b8a6)}.zk-comparison-bar.paid{background:linear-gradient(90deg,#059669,#10b981)}.zk-comparison-bar span{color:#fff;text-shadow:0 1px 2px #00000026;white-space:nowrap;font-family:Inter,sans-serif;font-size:11px;font-weight:800}.zk-comparison-legend{border-top:1px solid var(--border-soft);gap:20px;margin-top:14px;padding-top:12px;display:flex}.zk-legend-item{color:var(--text-2);align-items:center;gap:6px;font-size:11.5px;font-weight:700;display:inline-flex}.zk-legend-dot{border-radius:4px;width:12px;height:12px}.zk-legend-dot.payable{background:linear-gradient(135deg,#0f766e,#14b8a6)}.zk-legend-dot.paid{background:linear-gradient(135deg,#059669,#10b981)}.zk-categories{flex-direction:column;gap:12px;display:flex}.zk-category-row{grid-template-columns:10px 1fr auto;align-items:center;gap:12px;display:grid}.zk-category-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.zk-category-info{min-width:0}.zk-category-name{flex-wrap:wrap;align-items:baseline;gap:8px;margin-bottom:5px;display:flex}.zk-category-name strong{color:var(--text);font-size:13px;font-weight:700}.zk-category-arabic{color:var(--text-3);font-family:Inter,serif;font-size:11.5px}.zk-category-track{background:var(--surface-mute);border-radius:999px;height:7px;overflow:hidden}.zk-category-fill{border-radius:999px;min-width:4px;height:100%;transition:width .8s}.zk-category-amount{color:var(--text);white-space:nowrap;text-align:right;font-family:Inter,sans-serif;font-size:13.5px;font-weight:800}.zk-recipients{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.zk-recipient{background:var(--surface-soft);border-radius:12px;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;padding:12px 14px;transition:all .2s;display:grid}.zk-recipient:hover{background:var(--primary-soft)}.zk-recipient-avatar{background:var(--primary-grad);color:#fff;border-radius:10px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:15px;font-weight:800;display:grid;box-shadow:0 4px 10px -4px #0f766e66}.zk-recipient-info{min-width:0}.zk-recipient-info strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px;font-size:13px;font-weight:800;display:block;overflow:hidden}.zk-recipient-info span{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500;display:block;overflow:hidden}.zk-recipient-amount{color:#0f766e;white-space:nowrap;letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:14px;font-weight:800}.zk-footer{border:1px solid var(--border-soft);background:linear-gradient(135deg,#14b8a60d,#2563eb08);border-radius:16px;margin-top:22px;padding:18px 20px}.zk-footer-header{color:var(--primary);align-items:center;gap:8px;margin-bottom:14px;display:flex}.zk-footer-header strong{color:var(--text);font-size:13px;font-weight:800}.zk-footer-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;display:grid}.zk-footer-item{align-items:flex-start;gap:10px;display:flex}.zk-footer-icon{background:var(--surface-strong);width:28px;height:28px;color:var(--primary);border:1px solid var(--border-soft);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.zk-footer-item strong{color:var(--text);margin-bottom:2px;font-size:12px;font-weight:800;display:block}.zk-footer-item p{color:var(--text-2);margin:0;font-size:11px;line-height:1.5}.zk-footer-note{background:var(--info-soft);border-left:3px solid var(--info);color:#075985;border-radius:8px;align-items:flex-start;gap:6px;margin:14px 0 0;padding:10px 12px;font-size:11px;font-weight:500;line-height:1.5;display:flex}.zk-footer-note svg{color:var(--info);flex-shrink:0;margin-top:2px}.modal-overlay{overscroll-behavior:contain;scroll-behavior:auto;z-index:9999;-webkit-backdrop-filter:blur(10px)saturate(120%);background:#0f172a8c;justify-content:center;align-items:center;padding:20px;display:flex;position:sticky;inset:0;overflow:hidden scroll}.modal-overlay .person-modal.zk-modal-stable{overflow-anchor:none;max-height:none;margin:auto 0;animation:.15s zkStableIn;transform:none}.modal-overlay .person-form{overflow-anchor:none;overscroll-behavior:contain;padding:20px 24px 4px}.modal-overlay .person-form input,.modal-overlay .person-form textarea,.modal-overlay .person-form select{backface-visibility:hidden;transform:translateZ(0)}.modal-overlay .modal-actions{background:var(--surface-strong);border-top:1px solid var(--border-soft);z-index:2;margin:16px -24px 0;padding:14px 24px 18px;position:sticky;bottom:0}@keyframes zkStableIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.zk-modal-stable{animation:none!important}}.zakat-receipt-modal{background:var(--surface-strong);border:1px solid var(--border-glass);width:min(620px,100%);max-height:min(100vh - 40px,900px);box-shadow:var(--shadow-xl);-webkit-backdrop-filter:blur(24px)saturate(140%);border-radius:24px;flex-direction:column;margin:auto;animation:.28s zkStableIn;display:flex;overflow:hidden}.zakat-receipt-body{color:#0f172a;background:#fff;flex:1;min-height:0;padding:28px 32px;overflow-y:auto}.zakat-receipt-header{text-align:center;border-bottom:2px solid #0f766e;margin-bottom:20px;padding-bottom:20px}.zakat-receipt-logo{color:#fff;background:linear-gradient(135deg,#0f766e,#14b8a6);border-radius:16px;place-items:center;width:56px;height:56px;margin:0 auto 12px;display:grid;box-shadow:0 8px 20px -6px #0f766e80}.zakat-receipt-header h1{color:#0f766e;letter-spacing:-.02em;margin:0 0 4px;font-size:20px;font-weight:800}.zakat-receipt-header p{color:#64748b;margin:0;font-size:12px;font-weight:500}.zakat-receipt-id{text-align:center;color:#475569;background:#f1f5f9;border-radius:8px;margin-bottom:20px;padding:8px 16px;font-family:Inter,monospace;font-size:12px;font-weight:600}.zakat-receipt-id strong{color:#0f766e;font-weight:800}.zakat-receipt-amount-box{text-align:center;background:linear-gradient(135deg,#0f766e14,#14b8a60a);border:2px dashed #0f766e4d;border-radius:16px;margin-bottom:22px;padding:20px}.zakat-receipt-amount-box span{color:#475569;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:11.5px;font-weight:700;display:block}.zakat-receipt-amount-box strong{color:#0f766e;letter-spacing:-.04em;font-family:Inter,sans-serif;font-size:32px;font-weight:900;line-height:1.1;display:block}.zakat-receipt-grid{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px;display:grid}.zakat-receipt-field{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-direction:column;gap:4px;padding:10px 12px;display:flex}.zakat-receipt-field.full{grid-column:1/-1}.zakat-receipt-field span{color:#64748b;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700}.zakat-receipt-field strong{color:#0f172a;word-break:break-word;font-size:13.5px;font-weight:700}.zakat-receipt-notes{background:#fffbeb;border-left:3px solid #f59e0b;border-radius:10px;margin-bottom:20px;padding:12px 16px}.zakat-receipt-notes span{color:#92400e;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:10.5px;font-weight:700;display:block}.zakat-receipt-notes p{color:#78350f;margin:0;font-size:13px;font-style:italic;line-height:1.55}.zakat-receipt-footer{border-top:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;padding-top:20px;display:flex}.zakat-receipt-footer>p{color:#64748b;flex:1;min-width:200px;margin:0;font-size:10.5px;font-style:italic;line-height:1.55}.zakat-receipt-signature{flex-direction:column;align-items:center;gap:6px;min-width:140px;display:flex}.zakat-receipt-signature-line{background:#94a3b8;border-bottom:1px dashed #94a3b8;width:140px;height:1px}.zakat-receipt-signature span{color:#475569;text-transform:uppercase;letter-spacing:.06em;font-size:10.5px;font-weight:700}.zakat-receipt-timestamp{text-align:center;color:#94a3b8;border-top:1px dashed #e2e8f0;margin-top:16px;padding-top:14px;font-family:Inter,monospace;font-size:10px}@media print{.zakat-receipt-modal{box-shadow:none!important;border:none!important;max-height:none!important}.zakat-receipt-body{padding:20px!important;overflow:visible!important}}.zakat-save-person-toggle{cursor:pointer;transition:var(--t);border-radius:var(--r-md)!important;background:linear-gradient(135deg,#14b8a60f,#2563eb0a)!important;border:1px solid #14b8a640!important;align-items:flex-start!important;gap:12px!important;margin-bottom:14px!important;padding:14px 16px!important;display:flex!important}.zakat-save-person-toggle:hover{border-color:var(--primary-2)!important;background:linear-gradient(135deg,#14b8a61a,#2563eb0f)!important}.zakat-save-person-toggle input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);cursor:pointer;flex-shrink:0;margin-top:1px}.zakat-save-person-toggle>div{flex:1;min-width:0}.zakat-save-person-toggle strong{color:var(--text);align-items:center;gap:6px;margin-bottom:3px;font-size:13.5px;font-weight:700;line-height:1.4;display:inline-flex}.zakat-save-person-toggle strong svg{color:var(--primary)}.zakat-save-person-toggle small{color:var(--text-2);margin-top:2px;font-size:11.5px;line-height:1.5;display:block}.zakat-linked-person-badge{background:var(--income-soft);border-radius:var(--r-md);color:#065f46;border:1px solid #10b98147;align-items:center;gap:8px;margin-bottom:14px;padding:10px 14px;font-size:12.5px;font-weight:600;animation:.3s zkStableIn;display:flex}.zakat-linked-person-badge svg{color:var(--income);flex-shrink:0}.zakat-linked-person-badge strong{color:#047857;font-weight:800}@media (width<=900px){.zk-breakdown-grid{grid-template-columns:repeat(2,1fr)}.zk-insights-stats{grid-template-columns:1fr 1fr}}@media (width<=640px){.zk-hero{border-radius:20px;padding:20px}.zk-hero-main{flex-direction:column}.zk-hero-actions{width:100%}.zk-hero-btn{flex:1;justify-content:center}.zk-hero-amount{font-size:26px}.zk-hero-mini-stats{grid-template-columns:1fr 1fr;gap:12px}.zk-mini-stat:last-child{grid-column:1/-1}.zk-breakdown-grid{grid-template-columns:1fr 1fr;gap:10px}.zk-breakdown-card{padding:12px 14px}.zk-breakdown-icon{width:32px;height:32px}.zk-breakdown-card strong{font-size:13.5px}.zk-calc-card{padding:18px}.zk-calc-result{text-align:left;flex-direction:column;align-items:stretch;gap:12px}.zk-calc-result-value{text-align:right;font-size:24px}.zk-settings-grid,.zk-year-grid{grid-template-columns:1fr}.zk-year-card-menu{opacity:1}.zk-payment-main{grid-template-columns:40px 1fr;gap:10px;padding:12px 14px 12px 18px}.zk-payment-amount{text-align:left;border-top:1px dashed var(--border-soft);grid-column:1/-1;margin-top:4px;padding-top:8px;font-size:16px}.zk-payment-avatar{width:40px;height:40px;font-size:18px}.zk-payment-actions{border-left:0;border-top:1px solid var(--border-soft);flex-direction:row}.zk-payment-actions button{width:auto;padding:10px}.zk-payment-card{flex-direction:column}.zk-insights-stats,.zk-recipients{grid-template-columns:1fr}.zk-comparison-row{grid-template-columns:60px 1fr;gap:10px}.zk-category-row{grid-template-columns:10px 1fr;gap:10px}.zk-category-amount{text-align:left;grid-column:2;font-size:12.5px}.zk-footer-grid{grid-template-columns:1fr}.zk-year-stats-row{flex-direction:column;align-items:stretch}.zk-year-stat-divider{display:none}.zk-year-stat-progress{min-width:0}.zk-modal-overlay{align-items:flex-end;padding:0}.zk-modal-overlay .person-modal.zk-modal-stable{border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:90vh;margin:0}.zk-modal-overlay .person-form{padding:16px 20px 4px}.zk-modal-overlay .modal-actions{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));flex-direction:column-reverse;gap:8px;margin:12px -20px 0}.zk-modal-overlay .modal-actions>button{width:100%;min-height:46px}.zk-modal-overlay input,.zk-modal-overlay textarea,.zk-modal-overlay select{font-size:16px!important}}@media (width<=400px){.zk-hero-amount{font-size:22px}.zk-mini-stat strong{font-size:14px}.zk-calc-result-value{font-size:22px}}html[data-theme=dark] .zk-hero{background:linear-gradient(135deg,#0d5c56 0%,#0f766e 100%)}html[data-theme=dark] .zk-hero.below{background:linear-gradient(135deg,#1e293b 0%,#334155 100%)}html[data-theme=dark] .zk-breakdown-card,html[data-theme=dark] .zk-calc-card,html[data-theme=dark] .zk-settings-panel,html[data-theme=dark] .zk-year-card,html[data-theme=dark] .zk-payment-card,html[data-theme=dark] .zk-panel,html[data-theme=dark] .zk-insight-stat{background:#1e293bb8;border-color:#94a3b824}html[data-theme=dark] .zk-year-card.current{background:linear-gradient(135deg,#14b8a614,#1e293bb8)}html[data-theme=dark] .zk-year-amount,html[data-theme=dark] .zk-year-recipients,html[data-theme=dark] .zk-recipient,html[data-theme=dark] .zk-nisab-status,html[data-theme=dark] .zk-manual-nisab{background:#0f172a73}html[data-theme=dark] .zk-tab.active{background:linear-gradient(135deg,#0d5c56,#0f766e)}html[data-theme=dark] .zk-year-amount.payable strong,html[data-theme=dark] .zk-year-stat strong.payable{color:#5eead4}html[data-theme=dark] .zk-year-amount.paid strong,html[data-theme=dark] .zk-year-stat strong.paid{color:#6ee7b7}html[data-theme=dark] .zk-payment-amount,html[data-theme=dark] .zk-recipient-amount,html[data-theme=dark] .zk-category-amount{color:#5eead4}html[data-theme=dark] .zk-payment-avatar{background:linear-gradient(135deg,#14b8a633,#14b8a61a)}html[data-theme=dark] .zk-notes textarea{background:#0f172a80}html[data-theme=dark] .zakat-receipt-body{background:#f8fafc}html[data-theme=dark] .zakat-save-person-toggle{background:linear-gradient(135deg,#14b8a61a,#2563eb0f)!important;border-color:#14b8a659!important}html[data-theme=dark] .zakat-linked-person-badge{color:#6ee7b7;background:#10b98124}.debt-modern-page{max-width:1500px}.people-hero{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.people-hero-actions{flex-wrap:wrap;gap:10px;display:flex}.debt-overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:16px;display:grid}.debt-overview-card{border:1px solid var(--border-glass);background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);transition:transform var(--t), box-shadow var(--t);align-items:flex-start;gap:13px;padding:19px;display:flex;position:relative;overflow:hidden}.debt-overview-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px -12px #0f172a21}.debt-overview-card:after{content:"";background:var(--primary-soft);opacity:.7;pointer-events:none;border-radius:50%;width:90px;height:90px;position:absolute;top:-42px;right:-42px}.debt-overview-icon{background:var(--surface-soft);width:42px;height:42px;color:var(--primary);z-index:1;border-radius:13px;flex:none;place-items:center;display:grid}.debt-overview-card.receivable-card .debt-overview-icon{color:var(--income);background:var(--income-soft)}.debt-overview-card.payable-card .debt-overview-icon{color:var(--expense);background:var(--expense-soft)}.debt-overview-card.net-card .debt-overview-icon{color:var(--info);background:var(--info-soft)}.debt-overview-card>div:last-child{z-index:1;min-width:0}.debt-overview-card span{color:var(--text-2);margin-bottom:4px;font-size:12px;font-weight:700;display:block}.debt-overview-card strong{color:var(--text);letter-spacing:-.025em;font-family:Inter,sans-serif;font-size:20px;font-weight:800;line-height:1.25;display:block}.debt-overview-card small{color:var(--text-3);margin-top:5px;font-size:11.5px;display:block}.currency-rows{flex-direction:column;gap:2px;display:flex}.currency-rows b{letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:15px;font-weight:800}.debt-quick-actions{border:1px solid var(--border-glass);background:linear-gradient(135deg, var(--surface), var(--surface-soft));border-radius:var(--r-xl);flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:18px;padding:14px;display:flex}.quick-action-copy{min-width:180px;margin-right:auto}.quick-action-copy span{color:var(--text);font-size:14px;font-weight:800;display:block}.quick-action-copy small{color:var(--text-3);margin-top:2px;font-size:11.5px;display:block}.quick-debt-button{background:var(--surface-mute);min-width:175px;color:var(--text);text-align:left;transition:var(--t);cursor:pointer;border:1px solid #0000;border-radius:13px;align-items:center;gap:10px;padding:11px 14px;display:flex}.quick-debt-button:hover{transform:translateY(-1px);box-shadow:0 10px 25px #0f172a14}.quick-debt-button.receive{color:var(--income);background:var(--income-soft);border-color:#10b9812e}.quick-debt-button.pay{color:var(--expense);background:var(--expense-soft);border-color:#ef44442e}.quick-debt-button span{flex-direction:column;gap:2px;display:flex}.quick-debt-button b{font-size:12.5px}.quick-debt-button small{color:inherit;opacity:.72;font-size:10.5px}.debt-toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:18px;display:flex}.debt-search{border:1px solid var(--border);background:var(--surface-strong);min-width:220px;height:44px;color:var(--text-3);transition:var(--t);border-radius:13px;flex:1;align-items:center;gap:9px;padding:0 12px;display:flex}.debt-search:focus-within{border-color:var(--primary-2);box-shadow:0 0 0 4px var(--primary-glow)}.debt-search input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0;font-size:14px;box-shadow:none!important}.debt-search kbd{border:1px solid var(--border);background:var(--surface-mute);color:var(--text-3);border-radius:6px;padding:3px 7px;font-family:Inter,monospace;font-size:10px}.debt-filter-pills{border:1px solid var(--border);background:var(--surface-strong);border-radius:12px;gap:5px;padding:4px;display:flex}.debt-filter-pills button{color:var(--text-2);cursor:pointer;transition:var(--t);background:0 0;border:0;border-radius:9px;padding:8px 12px;font-size:12px;font-weight:700}.debt-filter-pills button:hover{color:var(--primary)}.debt-filter-pills button.active{background:var(--primary-soft);color:var(--primary)}.debt-sort{min-width:130px;min-height:44px}.debt-list-header{justify-content:space-between;align-items:flex-end;gap:12px;margin:4px 0 12px;display:flex}.debt-list-header h3{margin:0;font-size:16px;font-weight:800}.debt-list-header p{color:var(--text-3);margin:3px 0 0;font-size:11.5px}.debt-list-hint{color:var(--text-3);align-items:center;gap:5px;font-size:11px;font-weight:600;display:inline-flex}.debt-people-grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:16px;display:grid}.debt-person-card{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);transition:transform var(--t), box-shadow var(--t), border-color var(--t);padding:17px}.debt-person-card:hover{border-color:#0f766e2e;transform:translateY(-2px);box-shadow:0 22px 50px #0f172a1c}.debt-person-top{align-items:center;gap:11px;display:flex}.debt-avatar{background:var(--primary-grad);color:#fff;border-radius:13px;flex-shrink:0;place-items:center;width:44px;height:44px;font-size:16px;font-weight:800;display:grid;box-shadow:0 6px 16px -6px #0f766e80}.debt-person-identity{flex:1;min-width:0}.debt-person-identity h3{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:800;overflow:hidden}.debt-person-identity p{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:11.5px;overflow:hidden}.debt-person-menu{gap:4px;margin-left:auto;display:flex}.debt-person-menu .icon-button{border-radius:var(--r-sm);background:var(--surface-mute);width:32px;height:32px;color:var(--text-3);transition:var(--t-fast);place-items:center;display:grid}.debt-person-menu .icon-button:hover{color:var(--primary);background:var(--primary-soft)}.danger-icon:hover{color:var(--expense)!important;background:var(--expense-soft)!important}.debt-net-badge{border-radius:13px;justify-content:space-between;align-items:center;gap:10px;margin:15px 0 11px;padding:12px 13px;display:flex}.debt-net-badge span{font-size:11px;font-weight:700}.debt-net-badge strong{letter-spacing:-.02em;white-space:nowrap;font-family:Inter,sans-serif;font-size:18px;font-weight:800}.debt-net-badge.receivable{color:var(--income);background:var(--income-soft)}.debt-net-badge.payable{color:var(--expense);background:var(--expense-soft)}.debt-net-badge.settled{color:var(--info);background:var(--info-soft)}.debt-split{grid-template-columns:1fr 1fr;gap:8px;display:grid}.debt-split>div{background:var(--surface-soft);border-radius:11px;padding:10px}.debt-split span{color:var(--text-3);align-items:center;gap:4px;font-size:10.5px;font-weight:700;display:flex}.debt-split strong{margin-top:4px;font-family:Inter,sans-serif;font-size:13px;font-weight:800;display:block}.debt-person-meta{color:var(--text-3);flex-wrap:wrap;justify-content:space-between;gap:8px;margin:12px 0;font-size:10.5px;display:flex}.debt-person-meta span{align-items:center;gap:4px;display:inline-flex}.debt-person-meta .overdue{color:var(--expense);font-weight:800}.debt-person-actions{grid-template-columns:1fr 1fr 1fr;gap:6px;display:grid}.debt-person-actions .small-action{border-radius:var(--r-sm);background:var(--surface-mute);color:var(--text-2);transition:var(--t);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:5px;padding:9px 7px;font-size:11px;font-weight:700;display:inline-flex}.debt-person-actions .small-action.positive{background:var(--income-soft);color:var(--income);border-color:#10b98133}.debt-person-actions .small-action.negative{background:var(--expense-soft);color:var(--expense);border-color:#ef444433}.debt-person-actions .small-action:hover{transform:translateY(-1px)}.debt-contact-actions{border-top:1px solid var(--border);justify-content:center;align-items:center;gap:16px;margin-top:11px;padding-top:11px;display:flex}.contact-link{color:var(--text-2);align-items:center;gap:5px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.contact-link:hover{color:var(--primary)}.contact-muted{color:var(--text-3);text-align:center;font-size:10.5px}.empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.debt-history-modal{width:min(700px,100%)}.history-balance-strip{grid-template-columns:repeat(3,1fr);gap:8px;padding:0 22px 15px;display:grid}.history-balance-strip>div{background:var(--surface-soft);border-radius:11px;padding:11px}.history-balance-strip small{color:var(--text-3);font-size:10.5px;display:block}.history-balance-strip strong{margin-top:3px;font-family:Inter,sans-serif;font-size:14px;font-weight:800;display:block}.history-quick-actions{gap:8px;padding:0 22px 12px;display:flex}.debt-timeline{max-height:55vh;padding:4px 22px 24px;overflow:auto}.debt-timeline-item{gap:11px;display:flex;position:relative}.debt-timeline-item:not(:last-child):before{content:"";background:var(--border);width:1px;position:absolute;top:15px;bottom:-8px;left:5px}.debt-timeline-item>.timeline-dot{z-index:1;background:var(--primary);width:11px;height:11px;box-shadow:0 0 0 4px var(--surface);border-radius:50%;flex:none;margin-top:6px}.debt-timeline-item>.timeline-dot.receive{background:var(--income)}.debt-timeline-item>.timeline-dot.give{background:var(--expense)}.debt-timeline-content{flex:1;padding:0 0 15px}.timeline-main{justify-content:space-between;gap:10px;display:flex}.timeline-main div{flex-direction:column;gap:2px;display:flex}.timeline-main div strong{font-size:12px}.timeline-main div span{color:var(--text-3);font-size:10.5px}.timeline-main>strong{font-size:13px}.debt-timeline-content>p{color:var(--text-2);margin:5px 0 4px;font-size:11.5px}.due-line{color:var(--text-3);align-items:center;gap:4px;font-size:10px;display:inline-flex}.timeline-actions{color:var(--text-3);justify-content:space-between;align-items:center;margin-top:5px;font-size:10px;display:flex}.timeline-actions button{color:var(--expense);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;font-size:10px;display:inline-flex}.history-loading,.history-empty{min-height:220px;color:var(--text-3);align-content:center;place-items:center;gap:10px;padding:30px;display:grid}.debt-entry-modal{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);width:min(600px,100vw - 32px);min-height:0;max-height:min(100dvh - 32px,900px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.debt-entry-form{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:0 22px 22px;overflow:hidden auto}.debt-entry-form .modal-actions{margin:16px -22px -22px;padding:14px 22px 22px}.debt-amount-card{border:1px solid var(--border);background:var(--surface-soft);border-radius:14px;margin-bottom:16px;padding:15px}.debt-amount-card span{color:var(--text-3);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.debt-amount-card>div{align-items:center;gap:9px;display:flex}.debt-amount-card b{color:var(--primary);font-size:22px}.debt-amount-card input{width:100%;color:var(--text);background:0 0;border:0;outline:0;font-family:Inter,sans-serif;font-size:27px;font-weight:800;box-shadow:none!important}.debt-two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.debt-two-fields label{align-items:center;gap:4px;display:flex}@media (width<=1050px){.debt-overview-grid{grid-template-columns:repeat(2,1fr)}.debt-quick-actions{flex-wrap:wrap}.quick-action-copy{min-width:100%}}@media (width<=768px){.people-hero{flex-direction:column;align-items:stretch}.people-hero-actions>button{flex:1;justify-content:center}.debt-overview-grid{grid-template-columns:1fr 1fr}.debt-toolbar{flex-direction:column;align-items:stretch}.debt-filter-pills{overflow:auto}.debt-sort{width:100%}.debt-list-header{flex-direction:column;align-items:flex-start}.debt-list-hint{display:none}.debt-person-actions{grid-template-columns:1fr 1fr}.debt-person-actions .small-action:last-child{grid-column:1/-1}.history-balance-strip,.history-quick-actions,.debt-timeline{padding-inline:18px}.debt-entry-modal{border-radius:var(--r-2xl);width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.debt-entry-form{padding:0 18px 18px}.debt-entry-form .modal-actions{padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));margin:16px -18px -18px}.debt-two-fields{grid-template-columns:1fr}}@media (width<=480px){.debt-overview-grid{grid-template-columns:1fr}.debt-quick-actions{flex-direction:column;align-items:stretch}.quick-debt-button{width:100%}.debt-search kbd{display:none}}html[data-theme=dark] .debt-person-card,html[data-theme=dark] .debt-overview-card{background:#1e293bb8;border-color:#94a3b824}html[data-theme=dark] .debt-split>div,html[data-theme=dark] .debt-net-badge,html[data-theme=dark] .debt-search,html[data-theme=dark] .debt-filter-pills,html[data-theme=dark] .debt-amount-card,html[data-theme=dark] .history-balance-strip>div{background:#0f172a73}.zakat-page{max-width:1200px;margin:0 auto;padding-bottom:60px}.zakat-hero{border-radius:var(--r-2xl);color:#fff;background:linear-gradient(135deg,#0f766e 0%,#14b8a6 100%);grid-template-columns:1fr auto;gap:24px;margin-bottom:20px;padding:28px 30px;animation:.5s cubic-bezier(.4,0,.2,1) zakatHeroIn;display:grid;position:relative;overflow:hidden;box-shadow:0 24px 60px -20px #0f766e80}.zakat-hero.below{background:linear-gradient(135deg,#475569 0%,#64748b 100%);box-shadow:0 24px 60px -20px #47556980}.zakat-hero-glow{pointer-events:none;background:radial-gradient(circle,#ffffff26,#0000 70%);width:500px;height:500px;animation:8s ease-in-out infinite zakatGlow;position:absolute;top:-50%;right:-20%}@keyframes zakatGlow{0%,to{opacity:.6;transform:scale(1)translate(0)}50%{opacity:.9;transform:scale(1.15)translate(-20px,20px)}}@keyframes zakatHeroIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.zakat-hero-left{z-index:1;align-items:flex-start;gap:18px;min-width:0;display:flex;position:relative}.zakat-hero-icon{border-radius:var(--r-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;background:#fff3;flex-shrink:0;place-items:center;width:56px;height:56px;display:grid;box-shadow:0 8px 24px -6px #00000026}.zakat-hero-text{min-width:0}.zakat-hero-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#ffffffbf;margin:0 0 6px;font-size:11.5px;font-weight:700}.zakat-hero-text h2{letter-spacing:-.025em;color:#fff;margin:0 0 6px;font-size:24px;font-weight:800;line-height:1.25}.zakat-hero-subtitle{color:#ffffffd9;max-width:520px;margin:0;font-size:13.5px;line-height:1.55}.zakat-hero-right{z-index:1;flex-direction:column;align-items:flex-end;gap:14px;min-width:260px;display:flex;position:relative}.zakat-hero-amount{text-align:right}.zakat-hero-amount span{color:#ffffffc7;letter-spacing:.02em;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.zakat-hero-amount strong{letter-spacing:-.03em;color:#fff;font-family:Inter,sans-serif;font-size:32px;font-weight:800;line-height:1;display:block}.zakat-progress{width:100%}.zakat-progress-header{color:#ffffffd1;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px;font-size:11.5px;font-weight:600;display:flex}.zakat-progress-badge{border-radius:var(--r-full);color:#fff;letter-spacing:.04em;background:#ffffff40;padding:2px 9px;font-size:10.5px;font-weight:800}.zakat-progress-badge.success{background:#10b981e6}.zakat-progress-track{border-radius:var(--r-full);background:#fff3;height:6px;overflow:hidden}.zakat-progress-fill{border-radius:var(--r-full);background:linear-gradient(90deg,#fff,#a7f3d0);height:100%;transition:width .8s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #fff6}.zakat-hero-meta{justify-content:flex-end;align-items:center;gap:10px;width:100%;padding-top:6px;display:flex}.zakat-hero-meta>div{text-align:right}.zakat-hero-meta span{color:#ffffffb3;font-size:10.5px;font-weight:500;display:block}.zakat-hero-meta strong{color:#fff;margin-top:1px;font-size:12.5px;font-weight:700;display:block}.zakat-hero-refresh{border-radius:var(--r-md);color:#fff;width:34px;height:34px;transition:var(--t);background:#ffffff2e;flex-shrink:0;place-items:center;display:grid}.zakat-hero-refresh:hover:not(:disabled){background:#ffffff4d;transform:rotate(90deg)}.zakat-hero-refresh:disabled{opacity:.6;cursor:not-allowed}.zakat-control-panel{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);margin-bottom:20px;overflow:hidden}.zakat-control-toggle{width:100%;color:var(--text);transition:var(--t);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px;display:flex}.zakat-control-toggle:hover{background:var(--primary-soft)}.zakat-control-toggle-left{align-items:center;gap:12px;display:flex}.zakat-control-icon{border-radius:var(--r-md);background:var(--primary-soft);width:36px;height:36px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.zakat-control-toggle-left strong{color:var(--text);font-size:14px;font-weight:700;display:block}.zakat-control-toggle-left small{color:var(--text-3);margin-top:2px;font-size:12px;display:block}.zakat-control-body{border-top:1px solid var(--border-soft);padding:0 20px 20px;animation:.28s cubic-bezier(.4,0,.2,1) zakatSlideDown}@keyframes zakatSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.zakat-info-box{border-radius:var(--r-md);align-items:flex-start;gap:12px;margin:16px 0;padding:14px 16px;font-size:13px;display:flex}.zakat-info-box.success{background:var(--income-soft);color:#065f46;border:1px solid #10b98140}.zakat-info-box.success svg{color:var(--income);flex-shrink:0;margin-top:2px}.zakat-info-box.warning{background:var(--warning-soft);color:#92400e;border:1px solid #d9770647}.zakat-info-box.warning svg{color:var(--warning);flex-shrink:0;margin-top:2px}.zakat-info-box strong{margin-bottom:3px;font-size:13.5px;font-weight:700;display:block}.zakat-info-box p{opacity:.95;margin:0;font-size:12.5px;line-height:1.55}.zakat-control-actions{flex-wrap:wrap;gap:10px;display:flex}.zakat-control-actions>button{flex:1;justify-content:center;min-width:140px}.zakat-manual-entry{background:var(--surface-soft);border:1px dashed var(--border);border-radius:var(--r-lg);margin-top:18px;padding:18px;animation:.28s zakatSlideDown}.zakat-manual-actions{justify-content:flex-end;gap:10px;display:flex}.zakat-manual-actions>button{justify-content:center;min-width:110px}.zakat-settings-row{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);grid-template-columns:1fr 1fr 1.4fr;gap:14px;margin-bottom:20px;padding:18px 20px;display:grid}.zakat-setting{flex-direction:column;gap:6px;min-width:0;display:flex}.zakat-setting label{color:var(--text-2);align-items:center;gap:6px;font-size:12.5px;font-weight:700;display:flex}.zakat-setting label svg{color:var(--primary)}.zakat-setting input{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-md);width:100%;min-height:42px;color:var(--text);transition:var(--t);outline:none;padding:8px 12px;font-size:14px}.zakat-setting input:focus{border-color:var(--primary-2);box-shadow:0 0 0 3px var(--primary-glow)}.zakat-setting-input{background:var(--surface-strong);border:1px solid var(--border);border-radius:var(--r-md);align-items:center;gap:0;min-height:42px;display:flex;overflow:hidden}.zakat-setting-input input{min-width:0;color:var(--text);background:0 0;border:none;outline:none;flex:1;padding:8px 12px;font-size:14px}.zakat-setting-input input:focus{box-shadow:none}.zakat-setting-input span{color:var(--primary);background:var(--primary-soft);border-left:1px solid var(--border);align-self:stretch;place-items:center;padding:0 14px;font-size:13px;font-weight:800;display:grid}.zakat-setting-checkbox{background:var(--surface-soft);border:1px solid var(--border-soft);border-radius:var(--r-md);cursor:pointer;transition:var(--t);align-self:end;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.zakat-setting-checkbox:hover{background:var(--primary-soft);border-color:var(--primary-2)}.zakat-setting-checkbox input{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0;margin-top:2px}.zakat-setting-checkbox strong{color:var(--text);font-size:13px;font-weight:700;display:block}.zakat-setting-checkbox small{color:var(--text-3);margin-top:2px;font-size:11.5px;line-height:1.4;display:block}.zakat-breakdown-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:20px;display:grid}.zakat-breakdown-card{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);transition:transform var(--t), box-shadow var(--t);cursor:help;padding:18px 20px;position:relative;overflow:hidden}.zakat-breakdown-card:before{content:"";background:var(--primary);width:3px;height:100%;position:absolute;top:0;left:0}.zakat-breakdown-card.primary:before{background:var(--primary)}.zakat-breakdown-card.warning:before{background:var(--warning)}.zakat-breakdown-card.purple:before{background:var(--purple)}.zakat-breakdown-card.info:before{background:var(--info)}.zakat-breakdown-card:hover{transform:translateY(-3px);box-shadow:0 22px 50px -10px #0f172a26}.zakat-breakdown-head{align-items:center;gap:10px;margin-bottom:12px;display:flex}.zakat-breakdown-icon{border-radius:var(--r-md);background:var(--primary-soft);width:32px;height:32px;color:var(--primary);flex-shrink:0;place-items:center;display:grid}.zakat-breakdown-card.warning .zakat-breakdown-icon{background:var(--warning-soft);color:var(--warning)}.zakat-breakdown-card.purple .zakat-breakdown-icon{background:var(--purple-soft);color:var(--purple)}.zakat-breakdown-card.info .zakat-breakdown-icon{background:var(--info-soft);color:var(--info)}.zakat-breakdown-head span{color:var(--text-2);font-size:12.5px;font-weight:600;line-height:1.3}.zakat-breakdown-card strong{letter-spacing:-.025em;color:var(--text);font-family:Inter,sans-serif;font-size:20px;font-weight:800}.zakat-final-card{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);margin-bottom:20px;padding:24px 26px}.zakat-final-header{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:22px;padding-bottom:16px;display:flex}.zakat-final-header h3{color:var(--text);margin-top:2px;font-size:17px;font-weight:800}.zakat-final-actions{gap:6px;display:flex}.zakat-final-formula{background:var(--surface-soft);border-radius:var(--r-lg);flex-direction:column;gap:8px;margin-bottom:20px;padding:16px 18px;display:flex}.zakat-formula-row{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:14px;display:flex}.zakat-formula-row span{color:var(--text-2);font-weight:500}.zakat-formula-row strong{color:var(--text);white-space:nowrap;font-family:Inter,sans-serif;font-size:15px;font-weight:700}.zakat-formula-row.subtract strong{color:var(--expense)}.zakat-formula-row.total{padding-top:10px}.zakat-formula-row.total strong{color:var(--primary);font-size:17px}.zakat-formula-divider{background:var(--border);height:1px;margin:4px 0}.zakat-final-result{border-radius:var(--r-xl);flex-direction:column;gap:6px;padding:20px 22px;display:flex;position:relative;overflow:hidden}.zakat-final-result.success{background:linear-gradient(135deg,#0f766e14,#14b8a60f);border:1px solid #0f766e40}.zakat-final-result.info{background:var(--info-soft);border:1px solid #2563eb40}.zakat-final-result-label{color:var(--text-2);align-items:center;gap:10px;font-size:13px;font-weight:700;display:flex}.zakat-final-result.success .zakat-final-result-label{color:var(--primary)}.zakat-final-result.info .zakat-final-result-label{color:var(--info)}.zakat-final-result-value{letter-spacing:-.035em;color:var(--primary);margin-top:4px;font-family:Inter,sans-serif;font-size:36px;font-weight:900;line-height:1}.zakat-final-result.info .zakat-final-result-value{color:var(--info)}.zakat-final-result small{color:var(--text-3);font-size:12.5px;font-weight:500}.zakat-final-balance{background:var(--warning-soft);border-radius:var(--r-md);border:1px solid #d9770640;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding:14px 18px;display:flex}.zakat-final-balance span{color:#92400e;align-items:center;gap:8px;font-size:13px;font-weight:700;display:inline-flex}.zakat-final-balance strong{color:var(--warning);font-family:Inter,sans-serif;font-size:17px;font-weight:800}.zakat-save-bar{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:16px 20px;display:flex}.zakat-save-info{min-width:220px;color:var(--text-2);flex:1;align-items:center;gap:10px;font-size:13px;line-height:1.5;display:flex}.zakat-save-info svg{color:var(--primary);flex-shrink:0}.zakat-save-actions{align-items:center;gap:10px;display:flex}.zakat-saved-badge{background:var(--income-soft);color:var(--income);border-radius:var(--r-full);align-items:center;gap:6px;padding:6px 12px;font-size:12.5px;font-weight:700;animation:.4s zakatSaved;display:inline-flex}@keyframes zakatSaved{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}.zakat-notes-panel{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);margin-bottom:20px;overflow:hidden}.zakat-notes-toggle{width:100%;transition:var(--t);cursor:pointer;color:var(--text-2);background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:14px 20px;font-size:13.5px;font-weight:700;display:flex}.zakat-notes-toggle:hover{background:var(--primary-soft);color:var(--primary)}.zakat-notes-toggle-left{align-items:center;gap:8px;display:flex}.zakat-notes-panel textarea{border:none;border-top:1px solid var(--border-soft);background:var(--surface-soft);width:100%;color:var(--text);resize:vertical;outline:none;min-height:90px;padding:12px 20px 16px;font-family:inherit;font-size:13.5px;line-height:1.55}.zakat-notes-panel textarea:focus{background:var(--surface-strong)}.zakat-history-panel{background:var(--surface);border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);margin-bottom:20px;padding:22px 24px}.zakat-timeline{margin-top:14px;padding-left:24px;position:relative}.zakat-timeline:before{content:"";background:linear-gradient(180deg, var(--primary-2), var(--primary-soft));border-radius:var(--r-full);width:2px;position:absolute;top:8px;bottom:8px;left:5px}.zakat-timeline-item{border-bottom:1px dashed var(--border-soft);padding:12px 0 16px;position:relative}.zakat-timeline-item:last-child{border-bottom:none;padding-bottom:0}.zakat-timeline-dot{background:var(--surface-strong);border:2.5px solid var(--primary-2);width:12px;height:12px;box-shadow:0 0 0 3px var(--primary-soft);border-radius:50%;position:absolute;top:16px;left:-24px}.zakat-timeline-content{flex-direction:column;gap:4px;display:flex}.zakat-timeline-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.zakat-timeline-header strong{color:var(--primary);font-family:Inter,sans-serif;font-size:16px;font-weight:800}.zakat-timeline-date{color:var(--text-3);font-size:12px;font-weight:600}.zakat-timeline-meta{color:var(--text-3);flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;display:flex}.zakat-timeline-meta span{font-weight:500}.zakat-education-footer{border:1px solid var(--border-glass);border-radius:var(--r-2xl);box-shadow:var(--shadow-glass);-webkit-backdrop-filter:blur(18px)saturate(135%);background:linear-gradient(135deg,#14b8a60f,#2563eb0a);margin-top:12px;padding:22px 24px}.zakat-education-header{border-bottom:1px solid var(--border-soft);color:var(--primary);align-items:center;gap:10px;margin-bottom:16px;padding-bottom:14px;display:flex}.zakat-education-header strong{color:var(--text);font-size:14.5px;font-weight:800}.zakat-education-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.zakat-education-item{align-items:flex-start;gap:10px;display:flex}.zakat-education-item-icon{border-radius:var(--r-md);background:var(--surface-strong);width:32px;height:32px;color:var(--primary);border:1px solid var(--border-soft);flex-shrink:0;place-items:center;display:grid}.zakat-education-item strong{color:var(--text);margin-bottom:3px;font-size:13px;font-weight:700;display:block}.zakat-education-item p{color:var(--text-2);margin:0;font-size:12px;line-height:1.5}.zakat-education-note{background:var(--info-soft);border-left:3px solid var(--info);border-radius:var(--r-md);color:#075985;align-items:flex-start;gap:8px;margin:16px 0 0;padding:12px 14px;font-size:12px;font-weight:500;line-height:1.55;display:flex}.zakat-education-note svg{color:var(--info);flex-shrink:0;margin-top:2px}@media (width<=900px){.zakat-hero{grid-template-columns:1fr;padding:22px}.zakat-hero-right{align-items:stretch;min-width:0}.zakat-hero-amount{text-align:left}.zakat-hero-meta{justify-content:space-between}.zakat-hero-meta>div{text-align:left}.zakat-settings-row{grid-template-columns:1fr 1fr}.zakat-setting-checkbox{grid-column:1/-1}}@media (width<=640px){.zakat-hero{border-radius:var(--r-xl);padding:20px}.zakat-hero-left{gap:14px}.zakat-hero-icon{width:46px;height:46px}.zakat-hero-text h2{font-size:19px}.zakat-hero-amount strong{font-size:26px}.zakat-settings-row{grid-template-columns:1fr}.zakat-control-actions>button{min-width:0}.zakat-breakdown-grid{grid-template-columns:1fr 1fr}.zakat-breakdown-card{padding:14px 16px}.zakat-breakdown-card strong{font-size:17px}.zakat-final-card{padding:20px 18px}.zakat-final-result-value{font-size:30px}.zakat-save-bar{flex-direction:column;align-items:stretch}.zakat-save-actions{flex-direction:column-reverse;width:100%}.zakat-save-actions>button{justify-content:center;width:100%}.zakat-education-grid{grid-template-columns:1fr}}@media (width<=480px){.zakat-breakdown-grid{grid-template-columns:1fr}.zakat-final-result-value{font-size:26px}.zakat-manual-actions{flex-direction:column-reverse}.zakat-manual-actions>button{width:100%}}@media print{.zakat-hero{color:#111827!important;box-shadow:none!important;background:#fff!important;border:2px solid #0f766e!important}.zakat-hero-glow,.zakat-hero-refresh,.zakat-final-actions,.zakat-save-bar,.zakat-notes-panel,.zakat-control-panel,.zakat-settings-row,.zakat-education-footer{display:none!important}.zakat-hero-text h2,.zakat-hero-amount strong{color:#111827!important}.zakat-breakdown-card,.zakat-final-card{break-inside:avoid;box-shadow:none!important}}html[data-theme=dark] .zakat-hero{background:linear-gradient(135deg,#0d5c56 0%,#0f766e 100%)}html[data-theme=dark] .zakat-hero.below{background:linear-gradient(135deg,#1e293b 0%,#334155 100%)}html[data-theme=dark] .zakat-setting input,html[data-theme=dark] .zakat-setting-input,html[data-theme=dark] .zakat-notes-panel textarea{color:var(--text);background:#0f172a80}html[data-theme=dark] .zakat-timeline-dot{background:var(--surface-solid)}
