@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-400-ar.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-500-ar.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-600-ar.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-700-ar.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+08A0-08FF,U+FB50-FDFF,U+FE70-FEFF}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-400-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:500;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-500-ar.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-600-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-sans-arabic-700-ar.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #f4f6fb;--bg-2: #edf0f8;--surface: #ffffff;--surface-2: #eef1f8;--surface-3: #e2e7f2;--text: #0d1526;--text-2: #586277;--text-3: #5f6b80;--border: #e3e7f1;--border-strong: #d2d9e8;--primary: #3349eb;--primary-2: #2438d6;--primary-soft: #eaedff;--primary-ink: #2438d6;--success: #0a7a5c;--success-soft: #e2f6f0;--danger: #d93a3f;--danger-soft: #fcebec;--danger-ink: #a32328;--warning: #b96f08;--warning-soft: #fdf1df;--teal: #0a7ea4;--teal-soft: #e2f3f8;--shadow-sm: 0 1px 2px rgba(16, 24, 40, .05);--shadow: 0 10px 30px -18px rgba(16, 24, 40, .28);--shadow-lg: 0 24px 60px -24px rgba(16, 24, 40, .35);--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--sidebar-w: 258px;--header-h: 62px;--bottom-h: 70px;--maxw: 1180px}:root[data-theme=dark]{--bg: #070c17;--bg-2: #0a101d;--surface: #101827;--surface-2: #172033;--surface-3: #1f2a40;--text: #edf1fa;--text-2: #a3aec3;--text-3: #78849b;--border: #1e293d;--border-strong: #2b3852;--primary: #5b6dff;--primary-2: #4356f0;--primary-soft: #1a2140;--primary-ink: #a2adff;--success: #34d399;--success-soft: #0e2a24;--danger: #ff6b70;--danger-soft: #2c1418;--danger-ink: #ffb3b6;--warning: #f5a524;--warning-soft: #2b2110;--teal: #38bdf8;--teal-soft: #0c2531;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 12px 32px -18px rgba(0, 0, 0, .75);--shadow-lg: 0 28px 70px -24px rgba(0, 0, 0, .85)}*,*:before,*:after{box-sizing:border-box}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{margin:0;min-height:100dvh;background:var(--bg);color:var(--text);font-family:IBM Plex Sans Arabic,Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--primary-ink)}img,svg{display:block;max-width:100%}::selection{background:color-mix(in srgb,var(--primary) 28%,transparent)}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:6px}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.muted{color:var(--text-2)}.small{font-size:12.5px}.pos{color:var(--success)!important}.neg{color:var(--danger)!important}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.inline-note{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text-2);font-size:12.8px;line-height:1.6}.inline-note svg{flex:none;margin-top:2px;color:var(--primary-ink)}.screen-foot{text-align:center;color:var(--text-3);font-size:12px;padding:12px 0 4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.spinner{width:26px;height:26px;border-radius:50%;border:2.5px solid var(--border-strong);border-top-color:var(--primary);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 16px;border:1px solid transparent;border-radius:12px;background:transparent;font-size:14px;font-weight:600;line-height:1.2;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .08s ease}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 8px 18px -10px color-mix(in srgb,var(--primary) 70%,transparent)}.btn-primary:hover:not(:disabled){background:var(--primary-2)}.btn-ghost{background:var(--surface);border-color:var(--border);color:var(--text)}.btn-ghost:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.btn-danger{background:var(--danger);color:#fff}.btn-danger-ghost{background:var(--danger-soft);color:var(--danger-ink)}.btn-danger-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 18%,transparent)}.btn-sm{padding:7px 12px;font-size:12.8px;border-radius:10px}.icon-btn{display:inline-grid;place-items:center;width:36px;height:36px;flex:none;border:0;border-radius:10px;background:transparent;color:var(--text-2);transition:background .15s ease,color .15s ease}.icon-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn-sm{width:29px;height:29px;border-radius:8px}.text-btn{display:inline-flex;align-items:center;gap:4px;border:0;background:none;color:var(--primary-ink);font-size:12.8px;font-weight:600;padding:4px;border-radius:6px}.text-btn:hover{background:var(--primary-soft)}.chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-size:12.5px;font-weight:500;text-align:start;transition:border-color .15s ease,color .15s ease,background .15s ease}.chip:hover{border-color:var(--primary);color:var(--primary-ink);background:var(--primary-soft)}.chip-sm{padding:5px 10px;font-size:12px}.chips-row{display:flex;flex-wrap:wrap;gap:7px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11.5px;font-weight:600;line-height:1.5;white-space:nowrap;background:var(--surface-2);color:var(--text-2)}.badge-success{background:var(--success-soft);color:var(--success)}.badge-danger{background:var(--danger-soft);color:var(--danger)}.badge-warning{background:var(--warning-soft);color:var(--warning)}.badge-primary{background:var(--primary-soft);color:var(--primary-ink)}.badge-neutral{background:var(--surface-2);color:var(--text-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px;box-shadow:var(--shadow-sm)}.section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.section-head h2{font-size:16.5px;font-weight:700;letter-spacing:-.2px}.section-head p{margin-top:2px;color:var(--text-3);font-size:12.5px}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:34px 18px}.empty-compact{padding:22px 12px}.empty-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:18px;background:var(--surface-2);color:var(--text-2);margin-bottom:4px}.empty-compact .empty-icon{width:42px;height:42px;border-radius:14px}.empty h3{font-size:15.5px;font-weight:700}.empty p{max-width:440px;color:var(--text-2);font-size:13px;line-height:1.65}.empty-action{margin-top:8px}.progress{position:relative;width:100%;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress>span{display:block;height:100%;border-radius:inherit;background:var(--primary);transition:width .4s ease}.progress-success>span{background:var(--success)}.progress-warning>span{background:var(--warning)}.progress-danger>span{background:var(--danger)}.progress-neutral>span{background:var(--text-3)}.segmented{display:inline-flex;gap:3px;padding:3px;border-radius:12px;background:var(--surface-2);border:1px solid transparent}.segmented-item{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px 12px;border:0;border-radius:9px;background:transparent;color:var(--text-2);font-size:12.8px;font-weight:600;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.segmented-item:hover{color:var(--text)}.segmented-item.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.segmented-item.is-active svg{color:var(--primary-ink)}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-top:1px solid var(--border)}.switch-copy label{font-size:14px;font-weight:600;cursor:pointer}.switch-copy p{margin-top:2px;color:var(--text-3);font-size:12.3px}.switch{position:relative;width:46px;height:27px;flex:none;border:0;border-radius:999px;background:var(--surface-3);transition:background .2s ease}.switch>span{position:absolute;top:3px;inset-inline-start:3px;width:21px;height:21px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:inset-inline-start .2s ease}.switch.is-on{background:var(--primary)}.switch.is-on>span{inset-inline-start:calc(100% - 24px)}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field-label{font-size:12.8px;font-weight:600;color:var(--text-2)}.field-hint{font-size:11.8px;color:var(--text-3);line-height:1.5}.field-error{display:flex;align-items:center;gap:5px;font-size:12.3px;font-weight:500;color:var(--danger)}.input{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text);font-size:14px;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease}.input::placeholder{color:var(--text-3)}.input:hover:not(:disabled){border-color:var(--border-strong)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 18%,transparent)}.input:disabled{background:var(--surface-2);color:var(--text-3);cursor:not-allowed}select.input{padding-inline-end:34px;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);background-position:14px calc(50% + 1px),19px calc(50% + 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat}.textarea{resize:vertical;min-height:108px;line-height:1.7}.form-stack{display:flex;flex-direction:column;gap:15px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.form-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:2px}.checkbox-row{display:inline-flex;align-items:center;gap:7px;color:var(--text-2);font-size:12.8px;font-weight:500;cursor:pointer}.checkbox-row input{width:16px;height:16px;accent-color:var(--primary)}.color-row{display:flex;gap:8px;flex-wrap:wrap}.color-dot{width:28px;height:28px;border-radius:50%;border:2px solid transparent;box-shadow:inset 0 0 0 2px var(--surface);transition:transform .12s ease}.color-dot:hover{transform:scale(1.08)}.color-dot.is-active{border-color:var(--text);transform:scale(1.08)}.icon-picker{display:flex;flex-wrap:wrap;gap:7px}.icon-choice{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;border:1px solid var(--border);background:var(--surface);color:var(--text-2)}.icon-choice:hover{border-color:var(--primary);color:var(--primary-ink)}.icon-choice.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-ink)}.app{min-height:100dvh}.app-main{min-height:100dvh;display:flex;flex-direction:column}.app-content{flex:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:20px 16px calc(var(--bottom-h) + 30px)}.screen{display:flex;flex-direction:column;gap:18px;animation:screen-in .28s ease both}@keyframes screen-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.screen-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap}.screen-head h1{font-size:clamp(22px,3.2vw,28px);font-weight:700;letter-spacing:-.5px;line-height:1.25}.eyebrow{color:var(--text-3);font-size:12px;font-weight:600;letter-spacing:.2px;margin-bottom:2px}.sidebar{display:none;position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar-w);flex-direction:column;gap:10px;padding:22px 16px 18px;background:var(--surface);border-inline-end:1px solid var(--border);z-index:40}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 14px}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;color:var(--primary);background:var(--primary-soft);flex:none}.brand-mark svg{border-radius:8px}.brand-mark-lg{width:64px;height:64px;border-radius:20px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-text strong{font-size:19px;font-weight:700;letter-spacing:-.4px}.brand-text small{color:var(--text-3);font-size:11.5px}.side-nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.side-link{display:flex;align-items:center;gap:11px;width:100%;padding:10px 12px;border:0;border-radius:11px;background:transparent;color:var(--text-2);font-size:14px;font-weight:500;text-align:start;transition:background .15s ease,color .15s ease}.side-link:hover{background:var(--surface-2);color:var(--text)}.side-link.is-active{background:var(--primary-soft);color:var(--primary-ink);font-weight:600}.side-link .nav-badge{margin-inline-start:auto}.nav-badge{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--primary);color:#fff;font-size:10.5px;font-weight:700;line-height:1}.nav-badge.is-danger{background:var(--danger)}.bottom-icon{position:relative;display:inline-flex}.nav-badge-float{position:absolute;top:-5px;inset-inline-end:-10px;min-width:16px;height:16px;font-size:9.5px;padding:0 4px;box-shadow:0 0 0 2px var(--surface)}.due-banner{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;margin-bottom:14px;border:1px solid color-mix(in srgb,var(--warning) 40%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--warning) 10%,var(--surface));color:var(--text);text-align:start}.due-banner:hover{background:color-mix(in srgb,var(--warning) 16%,var(--surface))}.due-banner-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:color-mix(in srgb,var(--warning) 18%,transparent);color:var(--warning-ink, #b45309);flex:0 0 auto}.due-banner-text{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.due-banner-text strong{font-size:13.5px}.due-banner-text small{color:var(--text-3);font-size:11.5px}.due-banner-action{color:var(--primary-ink);font-size:12px;font-weight:700;flex:0 0 auto}.side-foot{margin-top:auto;display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border)}.side-action{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px;border:0;border-radius:12px;background:var(--primary);color:#fff;font-weight:600;font-size:14px}.side-action:hover{background:var(--primary-2)}.side-tools{display:flex;gap:6px;justify-content:center}.side-privacy{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--text-3);font-size:11.5px}.mobile-topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:10px;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 14px 0;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}.brand-sm{padding:0;gap:8px}.brand-sm .brand-mark{width:34px;height:34px;border-radius:10px}.brand-sm .brand-text strong{font-size:17px}.topbar-tools{display:flex;align-items:center;gap:2px}.topbar-screen{display:none;color:var(--text-3);font-size:12.5px;margin-inline-end:6px}.bottom-nav{position:fixed;inset-inline:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;height:calc(var(--bottom-h) + env(safe-area-inset-bottom,0px));padding:0 6px env(safe-area-inset-bottom,0px);background:color-mix(in srgb,var(--surface) 94%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-top:1px solid var(--border)}.bottom-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:100%;border:0;background:none;color:var(--text-3);font-size:10.5px;font-weight:600;padding-top:6px}.bottom-link.is-active{color:var(--primary-ink)}.bottom-link.is-active svg{stroke-width:2.1}.fab{display:grid;place-items:center;width:56px;height:56px;margin:-22px auto 0;border:4px solid var(--bg);border-radius:50%;background:var(--primary);color:#fff;box-shadow:0 12px 26px -10px color-mix(in srgb,var(--primary) 75%,transparent);transition:transform .15s ease,background .15s ease}.fab:hover{background:var(--primary-2);transform:translateY(-2px)}.fab:active{transform:translateY(0)}.boot{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;text-align:center}.boot h1{font-size:30px;font-weight:700;letter-spacing:-.6px}.boot p{max-width:430px;color:var(--text-2);font-size:14px}.boot .spinner{margin-top:12px}.boot-hint{margin-top:10px;color:var(--text-3)!important;font-size:12px!important}.boot-error{display:grid;place-items:center;width:66px;height:66px;border-radius:20px;background:var(--danger-soft);color:var(--danger)}.hero-card{position:relative;overflow:hidden;padding:22px;border-radius:26px;background:linear-gradient(135deg,var(--primary) 0%,#1c2cae 55%,#14217f 100%);color:#fff;box-shadow:0 22px 44px -22px color-mix(in srgb,var(--primary) 70%,transparent)}.hero-glow{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%);inset-block-start:-130px;inset-inline-end:-80px;pointer-events:none}.hero-card:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;border:1px solid rgba(255,255,255,.14);inset-block-end:-110px;inset-inline-start:-50px;pointer-events:none}.hero-top{position:relative;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.hero-label{font-size:12.5px;font-weight:500;color:#ffffffd1}.hero-top .badge{background:#ffffff29;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.hero-amount{position:relative;margin:10px 0 16px;font-size:clamp(32px,6.4vw,46px);font-weight:700;letter-spacing:-1.2px;font-variant-numeric:tabular-nums;line-height:1.1}.hero-stats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}.hero-stats span{display:block;color:#ffffffb8;font-size:11.5px;margin-bottom:2px}.hero-stats strong{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.hero-stats .pos,.hero-stats .neg{color:#fff!important}.hero-budget{position:relative;margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.18)}.hero-budget-row{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#ffffffd9;margin-bottom:7px}.hero-budget .progress{background:#ffffff38}.hero-budget .progress>span{background:#fff}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-action{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--border);border-radius:16px;background:var(--surface);text-align:start;transition:border-color .15s ease,transform .12s ease,box-shadow .15s ease}.quick-action:hover{border-color:var(--primary);transform:translateY(-1px);box-shadow:var(--shadow)}.qa-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:12px}.qa-expense{background:var(--danger-soft);color:var(--danger)}.qa-income{background:var(--success-soft);color:var(--success)}.qa-transfer{background:var(--teal-soft);color:var(--teal)}.quick-action strong{display:block;font-size:13.5px;font-weight:600}.quick-action small{display:block;color:var(--text-3);font-size:11px}.home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.donut-wrap{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.donut{position:relative;flex:none;margin-inline:auto}.donut-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none}.donut-top{color:var(--text-3);font-size:10.5px}.donut-main{font-size:17px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.3px}.donut-sub{color:var(--text-3);font-size:10.5px}.legend{flex:1;min-width:190px;display:flex;flex-direction:column;gap:8px}.legend li{display:grid;grid-template-columns:8px minmax(0,1fr) auto auto;align-items:center;gap:8px;font-size:12.5px}.legend-dot{width:8px;height:8px;border-radius:3px}.legend-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-2)}.legend-value{font-weight:600;font-variant-numeric:tabular-nums}.legend-pct{color:var(--text-3);font-size:11.5px;min-width:34px;text-align:end}.legend-scroll{max-height:210px;overflow-y:auto;padding-inline-end:4px}.budget-overview{display:flex;flex-direction:column;gap:8px;padding-bottom:14px;margin-bottom:12px;border-bottom:1px solid var(--border)}.budget-big span{color:var(--text-3);font-size:12px}.budget-big strong{display:block;font-size:24px;font-weight:700;letter-spacing:-.6px;font-variant-numeric:tabular-nums}.budget-mini{display:flex;flex-direction:column;gap:12px}.budget-mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px;font-size:12.5px}.budget-mini-name{display:flex;align-items:center;gap:7px;font-weight:600}.budget-mini .progress{margin-bottom:2px}.due-mini,.goal-mini{display:flex;flex-direction:column}.due-mini li,.goal-mini li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.due-mini li:first-child,.goal-mini li:first-child{border-top:0;padding-top:0}.due-mini-copy,.goal-mini-copy{flex:1;min-width:0;display:flex;flex-direction:column}.due-mini-copy strong,.goal-mini-copy strong{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.due-mini-amount{font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.goal-mini-pct{font-size:13px;font-weight:700;color:var(--success)}.welcome-card{background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--primary) 9%,transparent),transparent 55%),var(--surface)}.icon-badge{display:inline-grid;place-items:center;border-radius:13px;flex:none}.txn-controls{display:flex;flex-direction:column;gap:12px;padding:14px 16px}.search-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.search-box{display:flex;align-items:center;gap:8px;flex:1;min-width:200px;padding:0 12px;height:42px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text-3)}.search-box:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 16%,transparent)}.search-input{flex:1;min-width:0;border:0;background:none;outline:none;font-size:13.5px}.filter-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.period-switch{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.period-switch>span{font-size:12.5px;font-weight:600;padding:0 6px;min-width:92px;text-align:center;white-space:nowrap}.summary-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-top:12px;border-top:1px solid var(--border)}.summary-strip span{display:block;color:var(--text-3);font-size:11px}.summary-strip strong{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.txn-groups{display:flex;flex-direction:column;gap:16px}.txn-group-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 6px 6px;font-size:13px;font-weight:600}.txn-group-head .muted{font-weight:400}.txn-list{padding:4px 14px}.txn-row{display:flex;align-items:center;gap:11px;width:100%;padding:10px 0;border:0;background:none;text-align:start;color:inherit}.txn-row+.txn-row{border-top:1px solid var(--border)}.txn-row-btn{border-radius:10px;transition:background .12s ease}.txn-row-btn:hover{background:var(--surface-2)}.txn-copy{flex:1;min-width:0;display:flex;flex-direction:column}.txn-title{font-size:13.8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-sub{color:var(--text-3);font-size:11.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txn-amount{font-size:13.8px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.detail-amount{font-size:32px;font-weight:700;letter-spacing:-.8px;font-variant-numeric:tabular-nums;text-align:center;padding:4px 0 10px}.detail-badges{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin-bottom:16px}.detail-list{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;padding:14px;border-radius:var(--radius);background:var(--surface-2);font-size:13px}.detail-list dt{color:var(--text-3)}.detail-list dd{font-weight:500;text-align:end;overflow-wrap:anywhere}.detail-actions{display:flex;gap:8px;margin-top:16px}.detail-actions .btn{flex:1}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stats-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{display:flex;flex-direction:column;gap:4px;padding:16px}.stat-label{color:var(--text-3);font-size:11.5px;font-weight:500}.stat-value{font-size:22px;font-weight:700;letter-spacing:-.5px;font-variant-numeric:tabular-nums;line-height:1.2}.stat-hint{color:var(--text-3);font-size:11px}.stat-card .badge{align-self:flex-start;margin-top:3px}.due-list{display:flex;flex-direction:column;gap:12px}.due-card{padding:16px 18px}.due-card.is-inactive{opacity:.68}.due-card-head{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap}.due-card-title{flex:1;min-width:160px}.due-name-row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.due-name-row h2{font-size:16px;font-weight:700}.due-card-when{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.installment-block{margin-top:12px;display:flex;flex-direction:column;gap:6px}.installment-row{display:flex;justify-content:space-between;gap:8px;font-size:12.5px}.due-note{margin-top:10px;padding:8px 10px;border-radius:9px;background:var(--surface-2);color:var(--text-2);font-size:12px}.due-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px;padding-top:12px;border-top:1px solid var(--border)}.wealth-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px;border-radius:26px;background:linear-gradient(135deg,#0b1c33,#103a54 60%,#0a5b6e);color:#fff;box-shadow:0 22px 46px -24px #081e32b3}.wealth-amount{font-size:clamp(30px,5.6vw,42px);font-weight:700;letter-spacing:-1px;font-variant-numeric:tabular-nums;margin:4px 0}.wealth-note{color:#ffffff9e;font-size:12px}.wealth-breakdown{display:grid;grid-template-columns:repeat(2,minmax(110px,1fr));gap:12px 22px}.wealth-breakdown span{display:block;color:#ffffffa8;font-size:11.5px}.wealth-breakdown strong{font-size:15px;font-weight:600;font-variant-numeric:tabular-nums}.wealth-breakdown .neg{color:#ffb4b6!important}.account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.account-card{padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.account-card.is-debt{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.account-top{display:flex;align-items:center;gap:9px}.account-top>div{flex:1;min-width:0}.account-top strong{display:block;font-size:13.8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-top .muted{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-balance{margin:12px 0 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.account-balance>span{font-size:21px;font-weight:700;letter-spacing:-.4px;font-variant-numeric:tabular-nums}.account-actions{display:flex;gap:4px;padding-top:8px;border-top:1px solid var(--border)}.asset-list{display:flex;flex-direction:column}.asset-list li{display:flex;align-items:center;gap:11px;padding:11px 0;border-top:1px solid var(--border)}.asset-list li:first-child{border-top:0;padding-top:0}.asset-copy{flex:1;min-width:0;display:flex;flex-direction:column}.asset-copy strong{font-size:13.8px;font-weight:600}.asset-value{display:flex;flex-direction:column;align-items:flex-end;font-variant-numeric:tabular-nums}.asset-value strong{font-size:14px;font-weight:700}.asset-actions{display:flex;gap:0}.savings-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.savings-banner>div{flex:1;min-width:160px}.savings-banner strong{font-size:14px}.computed-value{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:var(--radius);background:var(--primary-soft);color:var(--primary-ink)}.computed-value strong{font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.adjust-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-radius:var(--radius);background:var(--surface-2)}.adjust-summary span{color:var(--text-3);font-size:12.5px}.adjust-summary strong{font-size:17px;font-variant-numeric:tabular-nums}.budget-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;background:radial-gradient(circle at 100% 0%,color-mix(in srgb,var(--success) 10%,transparent),transparent 55%),var(--surface)}.budget-hero-main{flex:1;min-width:220px;display:flex;flex-direction:column;gap:5px}.budget-hero-main>strong{font-size:30px;font-weight:700;letter-spacing:-.8px;font-variant-numeric:tabular-nums}.budget-list{display:flex;flex-direction:column;gap:16px}.budget-row-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;flex-wrap:wrap}.budget-name{display:flex;align-items:center;gap:9px;min-width:0}.budget-name>span{display:flex;flex-direction:column;min-width:0}.budget-name strong{font-size:13.8px;font-weight:600}.budget-row-actions{display:flex;align-items:center;gap:4px}.goals-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.goals-summary strong{display:block;font-size:27px;font-weight:700;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.goal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.goal-card{display:flex;flex-direction:column;gap:12px}.goal-head{display:flex;align-items:flex-start;gap:10px}.goal-title{flex:1;min-width:0;display:flex;flex-direction:column}.goal-title strong{font-size:15.5px;font-weight:700}.goal-card-actions{display:flex;gap:0}.goal-body{display:flex;align-items:center;gap:16px}.goal-ring{position:relative;display:grid;place-items:center;flex:none}.goal-ring>span{position:absolute;font-size:18px;font-weight:700;font-variant-numeric:tabular-nums}.goal-numbers{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.goal-numbers>div{display:flex;align-items:baseline;justify-content:space-between;gap:10px;font-size:12px}.goal-numbers span{color:var(--text-3)}.goal-numbers strong{font-size:13.5px;font-weight:600;font-variant-numeric:tabular-nums}.goal-actions{display:flex;gap:6px;padding-top:10px;border-top:1px solid var(--border)}.goal-actions .btn{flex:1}.goal-fund-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.goal-fund-summary>div{padding:11px 13px;border-radius:var(--radius);background:var(--surface-2)}.goal-fund-summary span{display:block;color:var(--text-3);font-size:11.5px}.goal-fund-summary strong{font-size:16px;font-variant-numeric:tabular-nums}.chart-legend{display:flex;align-items:center;gap:6px;color:var(--text-3);font-size:11.5px}.dot{width:8px;height:8px;border-radius:3px;display:inline-block}.dot-income{background:var(--success)}.dot-expense{background:var(--danger)}.trend{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:186px;padding-top:10px}.trend-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%;min-width:0}.trend-bars{flex:1;display:flex;align-items:flex-end;justify-content:center;gap:3px;width:100%;min-height:0}.trend-bar{width:min(15px,38%);border-radius:5px 5px 2px 2px;min-height:3px;transition:height .35s ease}.trend-income{background:color-mix(in srgb,var(--success) 82%,transparent)}.trend-expense{background:color-mix(in srgb,var(--danger) 78%,transparent)}.trend-label{color:var(--text-3);font-size:10.5px;white-space:nowrap}.area-chart{width:100%;display:block}.axis-labels{display:flex;justify-content:space-between;color:var(--text-3);font-size:10.5px;margin-top:4px}.weekday-bars{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;height:132px;padding-top:8px}.weekday-col{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;height:100%}.weekday-track{flex:1;width:100%;max-width:34px;display:flex;align-items:flex-end;border-radius:7px;background:var(--surface-2);overflow:hidden}.weekday-track span{width:100%;border-radius:7px 7px 0 0;background:color-mix(in srgb,var(--primary) 72%,transparent)}.weekday-label{color:var(--text-3);font-size:10.5px}.rank-list{display:flex;flex-direction:column}.rank-list li{display:flex;align-items:center;gap:9px;padding:9px 0;border-top:1px solid var(--border);font-size:13px}.rank-list li:first-child{border-top:0;padding-top:0}.rank-num{width:20px;color:var(--text-3);font-size:11.5px;font-variant-numeric:tabular-nums}.rank-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rank-list strong{font-variant-numeric:tabular-nums;white-space:nowrap}.insight-note{display:flex;align-items:flex-start;gap:10px;color:var(--text-2);font-size:12.5px;line-height:1.7}.insight-note svg{flex:none;margin-top:2px;color:var(--primary-ink)}.chat-card{padding:0;overflow:hidden;display:flex;flex-direction:column}.chat-log{height:clamp(300px,46vh,480px);overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.msg{display:flex;align-items:flex-start;gap:8px;max-width:100%}.msg-user{justify-content:flex-end}.msg-avatar{display:grid;place-items:center;width:30px;height:30px;flex:none;border-radius:10px;background:var(--primary-soft);color:var(--primary-ink)}.bubble{max-width:min(78%,560px);padding:10px 14px;border-radius:16px;border-start-start-radius:6px;background:var(--surface-2);font-size:13.8px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}.msg-user .bubble{background:var(--primary);color:#fff;border-radius:16px;border-start-end-radius:6px}.bubble-success{background:var(--success-soft)}.bubble-warning{background:var(--warning-soft)}.bubble-text{margin:0}.bubble-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.typing{display:flex;gap:4px;align-items:center;padding:14px}.typing span{width:7px;height:7px;border-radius:50%;background:var(--text-3);animation:typing 1.1s infinite ease-in-out}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}.draft-card{margin-top:10px;padding:10px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.draft-card.is-done{border-color:color-mix(in srgb,var(--success) 40%,var(--border))}.draft-card.is-cancelled{opacity:.65}.draft-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.draft-head strong{font-size:16px;font-variant-numeric:tabular-nums}.draft-meta{display:flex;flex-wrap:wrap;gap:6px 12px;color:var(--text-2);font-size:11.8px}.draft-meta>span{display:inline-flex;align-items:center;gap:5px}.draft-actions{display:flex;gap:6px;margin-top:10px}.starters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 18px 16px}.starter{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px;border:1px solid var(--border);border-radius:13px;background:var(--surface);text-align:start;color:var(--text-2);transition:border-color .15s ease,background .15s ease}.starter:hover{border-color:var(--primary);background:var(--primary-soft)}.starter svg{color:var(--primary-ink);margin-bottom:2px}.starter span{font-size:12.8px;font-weight:600;color:var(--text)}.starter small{color:var(--text-3);font-size:10.8px;line-height:1.5}.chat-input-bar{display:flex;align-items:flex-end;gap:7px;padding:12px 14px;border-top:1px solid var(--border);background:var(--surface)}.chat-input{flex:1;min-width:0;max-height:110px;padding:10px 12px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);resize:none;outline:none;font-size:13.5px;line-height:1.6}.chat-input:focus{border-color:var(--primary);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent)}.send-btn{display:grid;place-items:center;width:42px;height:42px;flex:none;border:0;border-radius:13px;background:var(--primary);color:#fff}.send-btn:disabled{opacity:.45;cursor:not-allowed}.mic-btn{width:42px;height:42px;border-radius:13px;background:var(--surface-2);color:var(--text-2)}.mic-btn.is-listening{background:var(--danger-soft);color:var(--danger);animation:pulse 1.4s infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--danger) 45%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.chat-foot{display:flex;align-items:flex-start;gap:6px;padding:0 16px 12px;color:var(--text-3);font-size:10.8px;line-height:1.6}.chat-foot svg{flex:none;margin-top:1px}.add-tabs{margin-bottom:16px}.add-tabs .segmented{display:flex;width:100%}.add-tabs .segmented-item{flex:1}.amount-input{position:relative;display:flex;align-items:center}.amount-field{font-size:24px!important;font-weight:700;letter-spacing:-.5px;padding-inline-end:64px!important;font-variant-numeric:tabular-nums}.amount-suffix{position:absolute;inset-inline-end:14px;color:var(--text-3);font-size:13px;font-weight:600;pointer-events:none}.category-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:218px;overflow-y:auto;padding:2px}.category-chip{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 3px;border:1px solid transparent;border-radius:12px;background:none;color:var(--text-2);font-size:10.8px;line-height:1.3;text-align:center;transition:background .12s ease,border-color .12s ease}.category-chip:hover{background:var(--surface-2)}.category-chip.is-active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 45%,transparent);color:var(--primary-ink);font-weight:600}.capture-box{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.capture-box .textarea{background:var(--surface);min-height:96px}.capture-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.capture-actions .btn-primary{margin-inline-start:auto}.parse-result{padding:14px;border:1px solid color-mix(in srgb,var(--success) 35%,var(--border));border-radius:var(--radius);background:color-mix(in srgb,var(--success) 5%,var(--surface));display:flex;flex-direction:column;gap:10px}.parse-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.parse-summary{font-size:13.5px;font-weight:500}.parse-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.parse-grid>div{padding:8px 10px;border-radius:9px;background:var(--surface)}.parse-grid span{display:block;color:var(--text-3);font-size:10.5px}.parse-grid strong{font-size:12.8px;font-weight:600}.parse-actions{display:flex;gap:7px;flex-wrap:wrap}.settings-rows{display:flex;flex-direction:column}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--border);flex-wrap:wrap}.settings-row:first-child{border-top:0;padding-top:0}.settings-label{font-size:14px;font-weight:600}.settings-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.category-manage{display:flex;flex-direction:column}.category-manage li{display:flex;align-items:center;gap:9px;padding:8px 0;border-top:1px solid var(--border)}.category-manage li:first-child{border-top:0;padding-top:0}.category-manage li.is-archived{opacity:.55}.cat-name{flex:1;min-width:0;font-size:13.5px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.backup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px}.trash-list{display:flex;flex-direction:column}.trash-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--border)}.trash-list li:first-child{border-top:0;padding-top:0}.trash-main{display:flex;flex-direction:column;gap:1px;flex:1;min-width:0}.trash-main strong{font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.trash-main small{color:var(--text-3);font-size:11.5px}.danger-text{color:var(--danger)}.backup-tile{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);text-align:start;color:var(--text-2);transition:border-color .15s ease,background .15s ease}.backup-tile:hover{border-color:var(--primary);background:var(--primary-soft)}.backup-tile svg{color:var(--primary-ink);margin-bottom:5px}.backup-tile strong{color:var(--text);font-size:13.5px;font-weight:600}.backup-tile small{color:var(--text-3);font-size:11px}.about-card{display:flex;flex-direction:column;gap:14px}.about-head{display:flex;align-items:center;gap:12px}.about-head h2{font-size:16px;font-weight:700}.about-card>p{color:var(--text-2);font-size:13px;line-height:1.75}.about-points{display:flex;flex-direction:column;gap:9px;padding-top:12px;border-top:1px solid var(--border)}.about-points>div{display:flex;align-items:flex-start;gap:9px;color:var(--text-2);font-size:12.5px;line-height:1.65}.about-points svg{flex:none;margin-top:2px;color:var(--primary-ink)}.import-summary{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.import-summary li{display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:10px;background:var(--surface-2);font-size:12.5px;color:var(--text-2)}.import-summary strong{color:var(--text);font-variant-numeric:tabular-nums}.mapping-list{display:flex;flex-direction:column;gap:7px;margin-bottom:14px}.mapping-row{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:center;gap:10px}.mapping-header{font-size:12.8px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:6px 10px;border-radius:8px;background:var(--surface-2)}.csv-preview{max-height:190px;overflow:auto;border:1px solid var(--border);border-radius:10px;margin-bottom:10px}.csv-preview table{width:100%;border-collapse:collapse;font-size:11.5px;white-space:nowrap}.csv-preview th,.csv-preview td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:start}.csv-preview th{background:var(--surface-2);position:sticky;top:0;font-weight:600}.onboard-list{display:flex;flex-direction:column;gap:14px;margin-bottom:14px}.onboard-list li{display:flex;align-items:flex-start;gap:11px}.onboard-list li>svg{flex:none;margin-top:2px;color:var(--primary-ink)}.onboard-list strong{font-size:13.8px;font-weight:700}.onboard-list p{color:var(--text-2);font-size:12.3px;line-height:1.65;margin-top:1px}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.more-item{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);text-align:start;font-size:13px;font-weight:500;color:var(--text)}.more-item:hover{border-color:var(--primary)}.more-item.is-active{background:var(--primary-soft);border-color:color-mix(in srgb,var(--primary) 40%,transparent);color:var(--primary-ink)}.more-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-2);color:var(--primary-ink);flex:none}.more-item>span:nth-child(2){flex:1}.modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding:0;background:#0509128c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fade-in .16s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{display:flex;flex-direction:column;width:100%;max-height:92dvh;background:var(--surface);border:1px solid var(--border);border-radius:22px 22px 0 0;box-shadow:var(--shadow-lg);animation:sheet-in .24s cubic-bezier(.22,1,.36,1) both;overflow:hidden}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}.modal-sm{max-width:100%}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:18px 20px 12px}.modal-head h2{font-size:18px;font-weight:700;letter-spacing:-.3px}.modal-sub{color:var(--text-3);font-size:12.3px;margin-top:2px}.modal-body{padding:4px 20px 20px;overflow-y:auto;overscroll-behavior:contain}.modal-foot{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:var(--surface)}.modal-foot .btn{flex:0 0 auto}.confirm-text{color:var(--text-2);font-size:13.8px;line-height:1.75;padding-bottom:4px}.toast-stack{position:fixed;inset-inline:0;bottom:calc(var(--bottom-h) + 18px + env(safe-area-inset-bottom,0px));z-index:1200;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 14px;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;max-width:440px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:13px;font-weight:500;box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in .2s ease both}@keyframes toast-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.toast-success>svg{color:var(--success)}.toast-error>svg{color:var(--danger)}.toast-info>svg{color:var(--primary-ink)}.toast span{flex:1}.toast-close{border:0;background:none;color:var(--text-3);display:grid;place-items:center;width:22px;height:22px;border-radius:6px}.toast-close:hover{background:var(--surface-2)}.toast-action{border:1px solid var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent);color:var(--primary-ink);border-radius:7px;padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap}.toast-action:hover{background:color-mix(in srgb,var(--primary) 18%,transparent)}.capture-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(24px + env(safe-area-inset-top,0px)) 16px calc(24px + env(safe-area-inset-bottom,0px));background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 45%),var(--bg)}.capture-card{width:100%;max-width:560px;padding:26px;display:flex;flex-direction:column;gap:18px}.capture-status{display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px}.capture-status-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin-bottom:4px;background:var(--surface-2);color:var(--text-2)}.capture-success .capture-status-icon{background:var(--success-soft);color:var(--success)}.capture-primary .capture-status-icon{background:var(--primary-soft);color:var(--primary-ink)}.capture-danger .capture-status-icon{background:var(--danger-soft);color:var(--danger)}.capture-warning .capture-status-icon{background:var(--warning-soft);color:var(--warning)}.capture-status h1{font-size:clamp(21px,4vw,25px);line-height:1.3}.capture-status p{max-width:430px;color:var(--text-2);font-size:13.5px}.capture-amount{text-align:center;font-size:clamp(30px,8vw,38px);font-weight:700;letter-spacing:-1px;color:var(--text)}.capture-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.capture-details>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--surface-2)}.capture-details dt{color:var(--text-3);font-size:11.5px}.capture-details dd{margin:0;font-size:13.5px;font-weight:600;overflow-wrap:anywhere}.capture-warnings{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.capture-warnings li{display:flex;align-items:flex-start;gap:7px;padding:8px 10px;border-radius:var(--radius-sm);background:var(--warning-soft);color:var(--warning);font-size:12.5px;line-height:1.55}.capture-warnings svg{flex:none;margin-top:1px}.capture-actions-row{display:flex;gap:8px;flex-wrap:wrap}.capture-actions-row .btn{flex:1 1 150px;justify-content:center}.capture-privacy{display:flex;align-items:center;justify-content:center;gap:6px;margin:0;color:var(--text-3);font-size:11.5px;text-align:center}.capture-key-box{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:12px;border-radius:var(--radius);background:var(--surface-2)}.copy-field{display:flex;align-items:center;gap:6px;min-width:0}.copy-field .input{flex:1;min-width:0}.copy-field-key{flex:1 1 320px}.capture-url{direction:ltr;text-align:left;font-size:12px}.capture-tools{margin-top:2px}.capture-steps{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2)}.capture-steps summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:600;font-size:13.5px}.capture-steps ol{display:flex;flex-direction:column;gap:6px;margin:10px 0;padding-inline-start:20px;color:var(--text-2);font-size:13px}.capture-steps .inline-note{margin-top:8px}.sync-card .inline-note{margin-top:10px}.sync-status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px;border-radius:var(--radius);background:var(--surface-2)}.sync-status p{margin:2px 0 0;line-height:1.7}.sync-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:12px}.sync-meta>div{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);min-width:0}.sync-meta p{margin:0}.sync-link{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:12.5px;text-decoration:none;word-break:break-all}.sync-link:hover{text-decoration:underline}.sync-actions{margin-top:12px}.sync-form{margin-top:4px}.sync-conflict{display:flex;flex-direction:column;gap:10px;margin-top:12px;padding:12px;border:1px solid var(--warning);border-radius:var(--radius);background:var(--warning-soft)}.sync-conflict-head{display:flex;align-items:flex-start;gap:10px;color:var(--warning)}.sync-conflict-head strong{display:block;color:var(--text);font-size:14px}.sync-conflict-head p{margin:3px 0 0;color:var(--text-2);font-size:12.5px;line-height:1.7}.sync-conflict .inline-note{margin-top:0}.rule-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}.search-field{position:relative;flex:1;display:flex;align-items:center;min-width:0}.search-field svg{position:absolute;inset-inline-start:10px;color:var(--text-3);pointer-events:none}.search-field .input{padding-inline-start:34px}.rule-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.rule-list li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:var(--radius-sm)}.rule-list li:hover{background:var(--surface-2)}.rule-keyword{min-width:90px;font-size:13px;font-weight:600;overflow-wrap:anywhere}.rule-list .row-actions{margin-inline-start:auto;flex-wrap:nowrap}.rule-more{margin-top:10px}.input-compact{max-width:220px}@media(max-width:1024px){.app-content{padding-bottom:calc(var(--bottom-h) + 34px)}}@media(min-width:1025px){.sidebar{display:flex}.app-main{margin-inline-start:var(--sidebar-w)}.mobile-topbar,.bottom-nav{display:none}.app-content{padding:30px 32px 56px}.toast-stack{bottom:26px}.modal-backdrop{align-items:center;padding:24px}.modal{border-radius:22px;max-height:88dvh}.modal-sm{max-width:460px}.modal-md{max-width:580px}.modal-lg{max-width:780px}.modal-foot{padding-bottom:14px}}@media(max-width:900px){.stats-4,.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.home-grid,.account-grid,.goal-grid{grid-template-columns:minmax(0,1fr)}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.wealth-hero{flex-direction:column;align-items:flex-start}.wealth-breakdown{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-grid{grid-template-columns:minmax(0,1fr)}.due-card-when{align-items:flex-start;width:100%;flex-direction:row;gap:8px}}@media(max-width:620px){.screen-head{align-items:flex-start}.screen-head>.row-actions,.screen-head>.btn{margin-inline-start:auto}.quick-actions{gap:7px}.quick-action{flex-direction:column;align-items:flex-start;gap:6px;padding:10px}.quick-action small{display:none}.qa-icon{width:34px;height:34px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid .stat-card:last-child{grid-column:span 2}.form-grid,.backup-grid{grid-template-columns:minmax(0,1fr)}.category-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.mapping-row{grid-template-columns:minmax(0,1fr) 140px}.starters{grid-template-columns:minmax(0,1fr)}.modal-body{padding:4px 16px 18px}.modal-head{padding:16px 16px 10px}.modal-foot{padding-inline:16px}.hero-card{padding:18px}.hero-stats strong{font-size:13.5px}.hero-stats span{font-size:10.5px}.goal-body{gap:10px}.goal-ring svg{width:82px;height:82px}.trend{height:160px}.chat-log{height:44vh;min-height:280px;padding:14px}.bubble{max-width:86%}.topbar-screen{display:none}.detail-list{grid-template-columns:minmax(0,1fr);gap:2px}.detail-list dt{margin-top:6px;font-size:11px}.detail-list dd{text-align:start}.import-summary{grid-template-columns:minmax(0,1fr)}}@media(max-width:400px){.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-stats>div:last-child{display:none}.category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bottom-link span{font-size:9.5px}}@media(max-width:760px){input,select,textarea,.input{font-size:16px}.capture-card{padding:20px 16px}.capture-details{grid-template-columns:minmax(0,1fr)}.capture-key-box{align-items:stretch}.copy-field-key{flex-basis:100%}.rule-toolbar{flex-wrap:wrap}.rule-keyword{min-width:70px}.rule-list li{flex-wrap:wrap}.input-compact{max-width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
