*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#dfdce7}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#888392}input::placeholder,textarea::placeholder{opacity:1;color:#888392}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.top-1\/2{top:50%}.top-4{top:1rem}.z-50{z-index:50}.z-\[100\]{z-index:100}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.mr-1\.5{margin-right:.375rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-7{height:1.75rem}.h-\[450px\]{height:450px}.h-screen{height:100vh}.max-h-96{max-height:24rem}.min-h-screen{min-height:100vh}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-16{width:4rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-full{width:100%}.min-w-0{min-width:0px}.max-w-2xl{max-width:42rem}.max-w-md{max-width:28rem}.flex-1{flex:1 1 0%}.flex-\[2\]{flex:2}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.625rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse: 0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse))}.divide-gray-50>:not([hidden])~:not([hidden]){--tw-divide-opacity: 1;border-color:rgb(247 246 250 / var(--tw-divide-opacity, 1))}.overflow-y-auto{overflow-y:auto}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-brand-100{--tw-border-opacity: 1;border-color:rgb(234 227 249 / var(--tw-border-opacity, 1))}.border-brand-700{--tw-border-opacity: 1;border-color:rgb(105 77 169 / var(--tw-border-opacity, 1))}.border-gray-300{--tw-border-opacity: 1;border-color:rgb(184 180 196 / var(--tw-border-opacity, 1))}.border-gray-50{--tw-border-opacity: 1;border-color:rgb(247 246 250 / var(--tw-border-opacity, 1))}.border-red-200{--tw-border-opacity: 1;border-color:rgb(254 202 202 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white\/30{border-color:#ffffff4d}.bg-amber-100{--tw-bg-opacity: 1;background-color:rgb(254 243 199 / var(--tw-bg-opacity, 1))}.bg-amber-50{--tw-bg-opacity: 1;background-color:rgb(255 251 235 / var(--tw-bg-opacity, 1))}.bg-amber-500{--tw-bg-opacity: 1;background-color:rgb(245 158 11 / var(--tw-bg-opacity, 1))}.bg-brand-400{--tw-bg-opacity: 1;background-color:rgb(161 138 217 / var(--tw-bg-opacity, 1))}.bg-brand-50{--tw-bg-opacity: 1;background-color:rgb(244 241 252 / var(--tw-bg-opacity, 1))}.bg-brand-600{--tw-bg-opacity: 1;background-color:rgb(120 91 189 / var(--tw-bg-opacity, 1))}.bg-brand-700{--tw-bg-opacity: 1;background-color:rgb(105 77 169 / var(--tw-bg-opacity, 1))}.bg-emerald-50{--tw-bg-opacity: 1;background-color:rgb(237 244 237 / var(--tw-bg-opacity, 1))}.bg-emerald-600{--tw-bg-opacity: 1;background-color:rgb(78 126 89 / var(--tw-bg-opacity, 1))}.bg-gray-100{--tw-bg-opacity: 1;background-color:rgb(238 237 243 / var(--tw-bg-opacity, 1))}.bg-gray-200{--tw-bg-opacity: 1;background-color:rgb(223 220 231 / var(--tw-bg-opacity, 1))}.bg-gray-200\/70{background-color:#dfdce7b3}.bg-gray-50{--tw-bg-opacity: 1;background-color:rgb(247 246 250 / var(--tw-bg-opacity, 1))}.bg-gray-800{--tw-bg-opacity: 1;background-color:rgb(44 41 51 / var(--tw-bg-opacity, 1))}.bg-green-100{--tw-bg-opacity: 1;background-color:rgb(223 235 221 / var(--tw-bg-opacity, 1))}.bg-green-500{--tw-bg-opacity: 1;background-color:rgb(103 143 97 / var(--tw-bg-opacity, 1))}.bg-green-600{--tw-bg-opacity: 1;background-color:rgb(78 126 89 / var(--tw-bg-opacity, 1))}.bg-red-100{--tw-bg-opacity: 1;background-color:rgb(244 224 216 / var(--tw-bg-opacity, 1))}.bg-red-400{--tw-bg-opacity: 1;background-color:rgb(195 141 122 / var(--tw-bg-opacity, 1))}.bg-red-50{--tw-bg-opacity: 1;background-color:rgb(250 240 236 / var(--tw-bg-opacity, 1))}.bg-red-500{--tw-bg-opacity: 1;background-color:rgb(184 120 101 / var(--tw-bg-opacity, 1))}.bg-red-600{--tw-bg-opacity: 1;background-color:rgb(162 96 78 / var(--tw-bg-opacity, 1))}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/20{background-color:#fff3}.p-2{padding:.5rem}.p-2\.5{padding:.625rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pl-9{padding-left:2.25rem}.pr-3{padding-right:.75rem}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.tracking-tight{letter-spacing:-.025em}.text-amber-500{--tw-text-opacity: 1;color:rgb(245 158 11 / var(--tw-text-opacity, 1))}.text-amber-600{--tw-text-opacity: 1;color:rgb(217 119 6 / var(--tw-text-opacity, 1))}.text-amber-700{--tw-text-opacity: 1;color:rgb(180 83 9 / var(--tw-text-opacity, 1))}.text-brand-700{--tw-text-opacity: 1;color:rgb(105 77 169 / var(--tw-text-opacity, 1))}.text-brand-800{--tw-text-opacity: 1;color:rgb(84 58 140 / var(--tw-text-opacity, 1))}.text-emerald-600{--tw-text-opacity: 1;color:rgb(78 126 89 / var(--tw-text-opacity, 1))}.text-emerald-700{--tw-text-opacity: 1;color:rgb(61 107 74 / var(--tw-text-opacity, 1))}.text-gray-300{--tw-text-opacity: 1;color:rgb(184 180 196 / var(--tw-text-opacity, 1))}.text-gray-400{--tw-text-opacity: 1;color:rgb(136 131 146 / var(--tw-text-opacity, 1))}.text-gray-500{--tw-text-opacity: 1;color:rgb(112 107 123 / var(--tw-text-opacity, 1))}.text-gray-600{--tw-text-opacity: 1;color:rgb(87 82 97 / var(--tw-text-opacity, 1))}.text-gray-700{--tw-text-opacity: 1;color:rgb(64 60 74 / var(--tw-text-opacity, 1))}.text-gray-800{--tw-text-opacity: 1;color:rgb(44 41 51 / var(--tw-text-opacity, 1))}.text-green-600{--tw-text-opacity: 1;color:rgb(78 126 89 / var(--tw-text-opacity, 1))}.text-green-700{--tw-text-opacity: 1;color:rgb(61 107 74 / var(--tw-text-opacity, 1))}.text-red-500{--tw-text-opacity: 1;color:rgb(184 120 101 / var(--tw-text-opacity, 1))}.text-red-600{--tw-text-opacity: 1;color:rgb(162 96 78 / var(--tw-text-opacity, 1))}.text-red-700{--tw-text-opacity: 1;color:rgb(142 79 64 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.underline{text-decoration-line:underline}.opacity-75{opacity:.75}.opacity-80{opacity:.8}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.drop-shadow-sm{--tw-drop-shadow: drop-shadow(0 1px 1px rgb(0 0 0 / .05));filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}:root{--paper: #eeebed;--surface: rgba(255, 255, 255, .46);--ink: #29262e;--muted: #7d7788;--line: rgba(255, 255, 255, .72);--accent: #9376cf;--accent-dark: #7154ab;--soft: #eee8f7;--body-font: "Avenir Next", "PingFang SC", "Microsoft YaHei", sans-serif;--display-font: var(--body-font);--card-shadow: 0 12px 30px -20px #66597730, inset 0 1px 1px #ffffffb8;font-family:var(--body-font);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-width:0;min-height:100vh;background:radial-gradient(ellipse at 4% 100%,#eab6b6a8,transparent 48%),radial-gradient(ellipse at 97% 88%,#bdd9ddc4,transparent 45%),linear-gradient(145deg,#ece9e7,#eeebef,#e5dfea)}#root{min-height:100vh;display:flow-root}::-moz-selection{background:#dcd0f2;color:#4a326c}::selection{background:#dcd0f2;color:#4a326c}a,button,input,select,textarea{-webkit-tap-highlight-color:transparent}a,button{transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}button:not(:disabled),a{touch-action:manipulation}button:disabled{cursor:not-allowed}:focus-visible{outline:2px solid #8767c4;outline-offset:4px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-width:0;min-height:42px;border-color:#ddd7e8;background:#ffffff94;color:var(--ink);border-radius:12px;transition:border-color .2s,box-shadow .2s}input:not([type=checkbox]):not([type=radio]):focus,select:focus,textarea:focus{outline:none;border-color:#a48bd6;box-shadow:0 0 0 3px #a48bd620}input::-moz-placeholder,textarea::-moz-placeholder{color:#958d9f}input::placeholder,textarea::placeholder{color:#958d9f}.big-num,.tabular-nums{font-variant-numeric:tabular-nums;letter-spacing:-.025em}.skip-link{position:fixed;z-index:100;top:-80px;left:20px;background:var(--accent-dark);color:#fff;padding:12px 20px;border-radius:12px}.skip-link:focus{top:12px}.app-shell{position:relative;max-width:1680px;margin:32px auto;width:calc(100% - 64px);min-height:calc(100vh - 64px);border:1px solid #ffffff8f;border-radius:32px;background:linear-gradient(155deg,#faf8ffdd 5%,#f1eef8ad 52%,#dce6ee5c);box-shadow:0 30px 100px -65px #786a91;isolation:isolate}.app-shell:before{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(ellipse at 15% 100%,#ecc3cf59,transparent 45%),radial-gradient(ellipse at 100% 82%,#b9d5e85e,transparent 50%);pointer-events:none}.app-workspace{min-width:0}.topbar{display:flex;align-items:center;gap:26px;padding:28px 28px 18px}.brand-link{flex-shrink:0}.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.brand-mark{color:var(--accent-dark);width:42px;height:44px;display:grid;place-items:center}.brand strong{display:block;font-size:18px;font-weight:650;letter-spacing:.04em}.brand small{display:block;font-size:6px;font-weight:600;letter-spacing:.13em;color:#9a8ea9;margin-top:4px}.top-nav{display:flex;align-items:center;flex:1;min-width:0;justify-content:space-between;padding:7px;gap:3px;border-radius:40px;border:1px solid #ffffff5c;background:#ffffff27;box-shadow:0 12px 26px -18px #73638355,inset 0 1px 3px #fff6}.top-nav-link{padding:12px 15px;border-radius:30px;font-size:13px;color:#6b6573;white-space:nowrap;text-align:center}.top-nav-link:hover{color:var(--ink);background:#fff5}.top-nav-link.is-active{color:#2e2935;background:#fffffff0;box-shadow:0 5px 15px -9px #69547666}.topbar-actions{display:flex;align-items:center;gap:9px;flex-shrink:0}.round-button{display:inline-grid;place-items:center;width:44px;height:44px;flex-shrink:0;border-radius:50%;background:#ffffffb0;border:1px solid #ffffffa1;color:#585160;box-shadow:0 5px 18px -15px #65537c70}.round-button:hover{background:#fff;transform:translateY(-2px);color:var(--accent-dark)}.topbar-actions .round-button{background:#ffffff3d;width:43px;height:43px}.profile-button{display:inline-flex;align-items:center;gap:8px;border-radius:30px;padding:4px 9px 4px 5px;background:#fff4}.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:50%;background:linear-gradient(140deg,#d1c1ed,#bda9db);border:2px solid #ffffffbd;color:#5a3e80;font-size:13px;font-weight:600}.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ffffff48;border-radius:13px;color:#fff;background:var(--accent-dark);box-shadow:0 6px 18px -10px #785db178;padding:11px 18px;font-size:12px;font-weight:600}.primary-button:hover{background:#604597;transform:translateY(-1px)}.primary-button:disabled{opacity:.55;transform:none}.app-content{padding:12px 28px 16px;min-height:calc(100vh - 234px)}.page-content{display:flex;flex-direction:column;gap:22px;min-width:0;animation:page-arrive .4s ease both}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:4px 3px 2px}.eyebrow{font-size:9px;font-weight:600;line-height:1.5;letter-spacing:.15em;color:#8e80a3}.page-heading h1{font-size:28px;font-weight:600;line-height:1.45;letter-spacing:-.025em;margin-top:5px}.page-description{font-size:12px;color:var(--muted);margin-top:7px;line-height:1.75}.page-heading-action{flex-shrink:0}.dashboard-page>.page-heading .eyebrow{display:none}.dashboard-page>.page-heading h1{font-size:25px;margin:0}.dashboard-page>.page-heading .page-description{margin-top:5px}.date-badge{display:inline-flex;align-items:center;gap:8px;background:#ffffff61;border:1px solid #ffffff7a;border-radius:24px;padding:11px 15px;font-size:11px;color:#6c617c}.dashboard-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(288px,1.08fr);gap:20px;align-items:start}.dashboard-main,.dashboard-aside{display:flex;flex-direction:column;min-width:0;gap:20px}.metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.metric-card,.surface-card,.freedom-card{border:1px solid var(--line);border-radius:26px;background:linear-gradient(140deg,#ffffff80,#f9f7ff2e);box-shadow:var(--card-shadow);min-width:0}.metric-card{padding:20px 18px 18px;overflow:hidden}.metric-label{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:10px;color:#7f748e}.metric-label svg{color:#3d3746;flex-shrink:0}.metric-value{font-size:clamp(22px,2.25vw,36px);line-height:1.4;font-weight:600;letter-spacing:-.045em;margin-top:16px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-value>span{font-size:.72em;margin-right:3px;font-weight:500}.metric-value-long{font-size:clamp(19px,1.85vw,30px)}.metric-footnote{display:block;color:#81778f;font-size:11px;line-height:1.9;margin-top:10px}.metric-card-interactive{display:flex;flex-direction:column;align-items:stretch;text-align:left;width:100%;cursor:pointer}.metric-detail-link{display:flex;justify-content:space-between;align-items:center;gap:8px;border-top:1px solid #ffffff9c;padding-top:11px;margin-top:auto;color:var(--accent-dark);font-size:11px;font-weight:500}.metric-card-interactive .metric-footnote{margin-bottom:13px}.dashboard-page>.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.dashboard-page .metric-value{margin-bottom:18px}.repayment-overview{display:grid;grid-template-columns:auto minmax(160px,1fr) minmax(220px,auto);gap:36px;align-items:center;margin-top:20px}.repayment-total{display:flex;align-items:baseline;gap:10px}.repayment-total>strong{font-size:42px;font-weight:600;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1.2}.repayment-total strong span{font-size:22px;margin-left:3px}.repayment-total>span{color:var(--muted);font-size:11px;white-space:nowrap}.repayment-progress .freedom-detail{margin:0 0 10px}.repayment-progress .freedom-track{height:14px;margin:0}.repayment-empty{color:var(--muted);font-size:11px;margin-top:10px}@media (max-width: 700px){.dashboard-page>.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.repayment-overview{grid-template-columns:auto minmax(0,1fr);gap:20px 18px;margin-top:18px}.repayment-total{display:block}.repayment-total>strong{display:block;font-size:34px}.repayment-total>span{display:block;margin-top:5px}.repayment-overview>.freedom-actions{grid-column:1 / -1}}.metric-card-interactive:active{transform:translateY(0);background:#ffffffa0}@media (hover: hover){.metric-card-interactive:hover{transform:translateY(-3px);background:#ffffff9c;border-color:#c9b6e5;box-shadow:0 14px 30px -20px #7154ab75}.metric-card-interactive:hover .metric-detail-link svg{transform:translate(2px,-2px)}}.metric-detail-link svg{transition:transform .18s ease}.cash-detail-total{padding:23px;border:1px solid #fff;border-radius:22px;background:linear-gradient(135deg,#ede5f7,#f7f4fc)}.cash-detail-total>span{font-size:12px;color:var(--muted)}.cash-detail-total strong{display:block;margin:8px 0;font-size:clamp(25px,6vw,36px);font-weight:600;letter-spacing:-.035em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.cash-detail-total p,.cash-detail-note{font-size:11px;line-height:1.8;color:var(--muted)}.cash-detail-breakdown{margin-block:12px}.cash-detail-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:17px 6px;border-bottom:1px solid #e9e3ef;font-size:13px}.cash-detail-row small{display:block;color:var(--muted);font-size:10px;margin-top:4px}.cash-detail-row strong{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}a.cash-detail-row:hover{color:var(--accent-dark);background:#eee8f74d}.cash-detail-all{width:100%;margin-top:20px}.surface-card{padding:24px}.stat-card{padding:18px 22px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.section-heading h2{font-size:18px;font-weight:600;letter-spacing:-.015em}.section-heading p{font-size:11px;color:var(--muted);margin-top:6px;line-height:1.7}.text-link{display:inline-flex;align-items:center;gap:6px;color:#7e6d94;font-size:11px;white-space:nowrap}.text-link:hover{color:var(--accent-dark)}.forecast-highlights{display:flex;align-items:flex-start;flex-wrap:wrap;gap:25px 34px;margin:23px 0 12px}.forecast-highlights>div>span{display:flex;align-items:center;gap:7px;color:#82778f;font-size:11px}.forecast-highlights strong{display:block;font-size:clamp(22px,2.4vw,34px);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:-.04em;margin-top:5px}.forecast-highlights strong small{font-size:1em;color:#b9b2c3}.forecast-highlights i{font-style:normal;border-radius:20px;padding:3px 7px;background:#eae2f6;color:#8870b2;font-size:9px}.forecast-highlights i.negative{background:#f6e2e7;color:#a95668}.dashboard-chart{height:244px;margin:0 -4px 6px}.chart-note{display:flex;align-items:center;gap:7px;font-size:10px;color:#867c94;line-height:1.7;padding-top:15px}.legend-dot{height:7px;width:7px;border-radius:50%;background:#a88ce0;display:inline-block;flex-shrink:0}.freedom-card{padding:24px;background:linear-gradient(145deg,#ffffff80,#d9dded55)}.freedom-card .section-heading{align-items:flex-start}.freedom-card .round-button{width:37px;height:37px}.freedom-number{display:flex;align-items:baseline;gap:3px;font-size:37px;letter-spacing:-.05em;font-weight:500;line-height:1.2;margin-top:22px}.freedom-number>span{font-size:23px}.freedom-number>small{font-size:10px;color:#8c7e9b;letter-spacing:.03em;margin-left:7px}.freedom-track{height:23px;border-radius:10px;background:#ffffffde;margin-top:14px;overflow:hidden}.freedom-track>div{height:100%;border-radius:9px;background:repeating-linear-gradient(145deg,#ac93df,#ac93df 4px,#a48adc 4px,#a48adc 8px);transition:width .6s ease}.freedom-detail{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:5px;font-size:12px;margin-top:19px}.freedom-detail>span{color:#81748e;font-size:11px}.freedom-detail strong{font-size:16px;font-weight:500;font-variant-numeric:tabular-nums}.freedom-next{font-size:10px;color:#84788f;line-height:1.8;margin:9px 0 23px}.freedom-next b{font-weight:500}.freedom-link{display:flex;align-items:center;justify-content:center;gap:10px;padding:12px;border:1px solid #fff;border-radius:16px;background:#ffffffe0;font-size:12px;font-weight:600}.freedom-link:hover{background:#fff;color:var(--accent-dark)}.freedom-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.freedom-actions .primary-button,.freedom-actions .freedom-link{padding:12px 8px;gap:5px;font-size:11px;border-radius:14px;white-space:nowrap}.savings-card{background:linear-gradient(135deg,#ffffff6e,#cbdeea3d)}.savings-card .section-heading>svg{color:#9180a5;flex-shrink:0}.savings-gauge{position:relative;max-width:280px;margin:14px auto 0}.savings-gauge svg{width:100%;height:auto}.gauge-value{position:absolute;bottom:10%;inset-inline:0;text-align:center}.gauge-value strong{display:block;font-size:35px;line-height:1.1;font-weight:600;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.gauge-value strong span{font-size:25px}.gauge-value small{display:block;margin-top:8px;font-size:9px;color:#8b7d99}.savings-caption{text-align:center;font-size:10px;color:#84778f;line-height:1.9;margin-top:15px}.savings-caption strong{font-weight:500;color:#70607f}.savings-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:18px;text-align:center;margin-top:24px}.savings-breakdown span{display:block;font-size:11px;color:#8c8197}.savings-breakdown strong{display:block;font-size:22px;font-weight:500;margin-top:5px}.recent-list{margin-top:12px}.recent-list>li{display:flex;align-items:center;gap:13px;padding:15px 0;border-bottom:1px solid #ffffff6e}.recent-list>li:last-child{border:0;padding-bottom:0}.transaction-symbol{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.income{color:#66826d;background:#e4eddfad}.expense{color:#9b7e93;background:#eee0ebb3}.recent-info{min-width:0;flex:1}.recent-info>strong{display:flex;align-items:center;gap:11px;font-size:12px;font-weight:500}.recent-info strong>span{color:#8c7e99;font-size:10px;font-weight:400}.recent-info p{color:#8c7e99;font-size:10px;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recent-amount{text-align:right;font-variant-numeric:tabular-nums}.recent-amount strong{font-size:13px;font-weight:500}.recent-amount time{display:block;font-size:9px;color:#8c7e99;margin-top:4px}.count-badge{display:grid;place-items:center;width:25px;height:25px;background:#ffffff91;color:#8c76ab;border-radius:50%;font-size:10px}.attention-list{margin-top:16px}.attention-list li{display:flex;align-items:flex-start;gap:9px;margin-top:13px}.attention-icon{color:#9680b2;padding-top:2px}.attention-icon.warning{color:#b38663}.attention-list p{font-size:11px;line-height:1.85;color:#7e6e8b}.small-goal{display:flex;gap:9px;padding:12px;margin-top:17px;background:#ffffff50;border-radius:13px;font-size:10px;line-height:1.9;color:#897698}.small-goal strong{font-weight:500;color:#6f5d7d}.small-goal svg{flex-shrink:0;margin-top:3px}.attention-more{margin-top:17px}.all-clear{color:#8b7c99;display:flex;align-items:center;gap:10px;padding:22px 0 5px;font-size:11px;line-height:1.8}.app-footer{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:22px;color:#9e8fac;font-size:9px}.app-footer>span:first-child{font-size:8px;letter-spacing:.13em}.mobile-nav,.mobile-add{display:none}.page-content .rounded-xl.bg-white,.page-content .rounded-2xl.bg-white{border:1px solid var(--line);background:var(--surface);box-shadow:var(--card-shadow);border-radius:20px}.page-content>.grid>.surface-card .text-lg{font-size:26px;margin-top:8px;font-weight:500}.page-content>.surface-card>.font-semibold:first-child{margin-bottom:18px}.page-content .recharts-text{font-family:var(--body-font)}.page-content .recharts-legend-item-text{font-size:11px}.page-content .recharts-default-tooltip{border-radius:14px}.asset-summary{padding:28px;color:#fff;border:1px solid #ffffff80;border-radius:26px;background:linear-gradient(115deg,#8a6fba,#a78ad4);box-shadow:var(--card-shadow)}.asset-summary>.text-3xl{font-size:42px;font-weight:400;font-variant-numeric:tabular-nums;margin-top:12px}.transactions-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.transactions-toolbar>.relative{min-width:180px}.transactions-summary{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.transactions-list{overflow:hidden;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--card-shadow)}.transactions-list>li{border-bottom:1px solid #e2dce780;border-radius:0;box-shadow:none;padding:18px 20px}.transactions-list>li:last-child{border-bottom:0}.transactions-list>li>span:first-child{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;background:#eee6f4;border-radius:50%}.transactions-list button{min-width:32px;min-height:32px;display:grid;place-items:center}.more-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.more-grid a{padding:24px;height:100%}.more-grid a:hover{background:#ffffffad;transform:translateY(-2px)}.family-space-card{display:flex;align-items:center;gap:22px;padding:28px;border:1px solid var(--line);border-radius:26px;background:linear-gradient(130deg,#e8def49c,#ffffff75);box-shadow:var(--card-shadow)}.family-space-card .avatar{width:55px;height:55px;font-size:22px}.asset-detail-list{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#c6b8d8 transparent}.asset-detail-list>li{min-width:540px}.dashboard-columns{display:grid;grid-template-columns:2fr 1fr;gap:20px}.recurring-rule{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.recurring-rule-info{flex:1;min-width:0;overflow-wrap:anywhere}.recurring-rule-info p+p{margin-top:5px;line-height:1.8}.recurring-rule-actions{display:flex;gap:8px;flex-shrink:0}.recurring-page form>.flex{flex-wrap:wrap}.login-page{width:calc(100% - 64px);max-width:1240px;min-height:min(740px,calc(100vh - 64px));margin:max(32px,calc((100dvh - 740px)/2)) auto;display:grid;grid-template-columns:1.1fr 1fr;border:1px solid #ffffffba;border-radius:32px;overflow:hidden;background:#f6f3fb85;box-shadow:0 30px 100px -55px #786a915c}.login-story{display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;padding:40px 48px;background:linear-gradient(145deg,#e9e1f782,#d8d3ee90 70%,#eacddd75)}.login-story-content{position:relative;z-index:1;margin:55px 0}.login-story-content .eyebrow{color:#9881b6}.login-story h1{font-size:clamp(35px,4.1vw,57px);line-height:1.45;letter-spacing:-.04em;font-weight:500;margin-top:24px;color:#564366}.login-story-content>p:last-of-type{font-size:13px;line-height:2.1;color:#8a769d;margin-top:25px}.login-art{display:flex;align-items:flex-end;gap:18px;height:115px;margin-top:45px}.login-art span{width:43px;background:repeating-linear-gradient(145deg,#c6b2e855,#c6b2e855 5px,#e6dcf56e 5px,#e6dcf56e 9px);border:1px solid #ffffff80;border-radius:12px;box-shadow:0 7px 20px -10px #a18cbc22}.login-art span:nth-child(1){height:25%}.login-art span:nth-child(2){height:43%}.login-art span:nth-child(3){height:60%}.login-art span:nth-child(4){height:78%}.login-art span:nth-child(5){height:100%;background:repeating-linear-gradient(145deg,#aa90d8bb,#aa90d8bb 5px,#bca3e0bb 5px,#bca3e0bb 9px)}.login-story:after{content:"";position:absolute;right:-210px;bottom:-290px;width:620px;height:620px;border-radius:50%;border:1px solid #ffffff50;box-shadow:0 0 0 50px #ffffff0d,0 0 0 105px #ffffff08;pointer-events:none}.login-story-footer{font-size:11px;color:#9884ac;letter-spacing:.1em}.login-form-panel{display:grid;place-items:center;padding:42px;background:#fff3}.login-form{max-width:345px;width:100%}.login-form h2{font-size:32px;font-weight:500;margin-top:12px;letter-spacing:-.03em}.login-form-intro{font-size:12px;line-height:1.8;color:#8a7c99;margin:13px 0 35px}.login-form label{display:block;font-size:12px;color:#776386;margin-bottom:20px}.login-form input{width:100%;padding:14px 16px;border:1px solid #fff;border-radius:15px;margin-top:9px;font-size:13px;box-shadow:0 3px 12px -9px #64567533}.login-form .primary-button{width:100%;padding:15px;border-radius:15px;margin-top:5px;font-size:13px}.login-account-help{color:#8b7a9b;font-size:11px;line-height:1.9;margin:23px 0 28px}.login-privacy{display:flex;align-items:center;justify-content:center;gap:7px;padding-top:23px;border-top:1px solid #ded6e7;color:#9b8aaa;font-size:10px}.sheet-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#39304440;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sheet-dialog{width:100%;max-width:560px;position:relative;background:#f6f2faf5;border:1px solid #ffffffcc;border-radius:26px;box-shadow:0 30px 100px #45305536;animation:dialog-arrive .22s ease-out}.sheet-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e5deec;padding:20px 24px}.sheet-header h2{font-size:20px;font-weight:600}.sheet-close{width:33px;height:33px;display:grid;place-items:center;color:#8c789d;background:#fff;border-radius:50%}.sheet-content{padding:24px;max-height:75dvh;overflow-y:auto;overscroll-behavior:contain}.repayment-form-intro{margin-bottom:22px}.repayment-form-intro>span{display:inline-flex;align-items:center;gap:7px;color:var(--accent-dark);font-size:13px;font-weight:600}.repayment-form-intro p{margin-top:8px;color:var(--muted);font-size:13px;line-height:1.65}.repayment-form-fields{display:flex;flex-direction:column;gap:10px;min-width:0}.repayment-form label{display:block;font-size:13px;font-weight:600}.repayment-form label small{margin-left:5px;color:var(--muted);font-size:12px;font-weight:400}.repayment-form select,.repayment-form input{width:100%;padding:11px 12px;border:1px solid #ddd7e8;font-size:16px}.repayment-loan-balance{display:flex;justify-content:space-between;gap:10px;margin:0 0 10px;color:var(--muted);font-size:12px}.repayment-loan-balance strong{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums}.repayment-amount-input{position:relative}.repayment-amount-input>span{position:absolute;top:50%;left:15px;transform:translateY(-50%);color:var(--accent-dark);font-size:22px;pointer-events:none}.repayment-amount-input input{padding:13px 15px 13px 42px;font-size:30px;font-weight:600;font-variant-numeric:tabular-nums}.repayment-form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:8px}.repayment-form-row>div{min-width:0}.repayment-form-row label{margin-bottom:8px}.repayment-result{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px;padding:14px 16px;background:#e8e0f27a;border-radius:14px;font-size:13px}.repayment-result small{display:block;margin-top:4px;font-size:11px;color:var(--muted)}.repayment-result strong{color:var(--accent-dark);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}.repayment-form-error{color:#a63e4f;font-size:12px;line-height:1.6}.repayment-submit{width:100%;margin-top:10px;justify-content:center}.repayment-submit:disabled{opacity:.45}.repayment-form-empty{display:flex;flex-direction:column;align-items:center;gap:16px;padding:22px 0;color:var(--muted)}@media (max-width: 420px){.repayment-form-row{grid-template-columns:1fr;gap:12px}}.loan-page-actions{display:flex;align-items:center;gap:10px}.loan-add-button{display:inline-flex;align-items:center;gap:6px;padding:11px 13px;font-size:13px;color:var(--muted);border-radius:12px}.loan-add-button:hover{background:#ffffff8c;color:var(--accent-dark)}.loan-overview{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:28px;padding:28px 30px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(120deg,#ebe3f3c9,#fff6);box-shadow:var(--card-shadow)}.loan-overview>div{display:flex;flex-direction:column;justify-content:center;min-width:0}.loan-overview>div+div{border-left:1px solid #c9bbdb63;padding-left:28px}.loan-overview span{color:var(--muted);font-size:13px}.loan-overview strong{margin-top:11px;font-size:clamp(21px,2.25vw,32px);font-weight:600;letter-spacing:-.05em;font-variant-numeric:tabular-nums;white-space:nowrap}.loan-overview-main strong{color:#5d457b;font-size:clamp(25px,2.9vw,40px)}.loan-overview strong small{margin-right:6px;font-size:.55em;font-weight:500}.loan-overview p{color:var(--muted);font-size:11px;line-height:1.7;margin-top:10px}.loan-portfolio{border:1px solid var(--line);background:#fff5;border-radius:24px;overflow:hidden;box-shadow:var(--card-shadow)}.loan-portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px}.loan-status-tabs{display:flex;gap:5px}.loan-status-tabs button{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;font-size:13px;color:var(--muted)}.loan-status-tabs button[aria-pressed=true]{background:#fff;color:var(--accent-dark);box-shadow:0 3px 12px #6252730c;font-weight:600}.loan-status-tabs span{font-size:11px;opacity:.7}.loan-list-columns,.loan-group-summary{display:grid;grid-template-columns:minmax(230px,1.7fr) minmax(140px,1fr) minmax(115px,.8fr) 88px 18px;gap:18px;align-items:center;padding:0 26px}.loan-list-columns{padding-top:7px;padding-bottom:14px;font-size:11px;color:#9990a3}.loan-list-columns>span:not(:first-child){text-align:right}.loan-group{border-top:1px solid #e2dbe969}.loan-group-summary{width:100%;min-height:93px;text-align:left}.loan-group-summary:hover,.loan-group.is-open .loan-group-summary{background:#ffffff70}.loan-group-identity{display:flex;align-items:center;gap:13px;min-width:0}.loan-group-identity>span:last-child{min-width:0}.loan-group-identity strong{display:block;font-size:14px;font-weight:600;line-height:1.65}.loan-group-identity small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.loan-bank-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 auto;background:#e7deef;border:1px solid #ffffffa1;border-radius:14px;color:#816597;font-size:17px;font-weight:600}.loan-bank-mark.icbc{background:#f0dfe3;color:#a5677c}.loan-group-amount,.loan-group-monthly,.loan-group-date{text-align:right;font-size:13px;font-variant-numeric:tabular-nums}.loan-group-amount strong{font-size:15px;font-weight:600}.loan-group-monthly strong{font-weight:500}.loan-group-amount>small,.loan-group-monthly>small,.loan-group-date>small{display:none}.loan-group-date{color:var(--muted)}.loan-group-chevron{color:#a296af;transition:transform .2s ease}.loan-group.is-open .loan-group-chevron{transform:rotate(180deg)}.loan-group-details{padding:0 24px 20px;background:#ffffff50}.loan-group-explanation{padding:4px 0 17px;font-size:12px;color:var(--muted);line-height:1.7}.loan-contract{padding:20px;border:1px solid #e6dfeb;background:#fff5;border-radius:16px}.loan-contract+.loan-contract{margin-top:12px}.loan-contract-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.loan-contract h3{font-size:14px;font-weight:600}.loan-contract-heading p,.loan-contract-note{font-size:11px;line-height:1.75;color:var(--muted);margin-top:6px}.loan-contract-heading button{flex:0 0 auto}.loan-contract-facts{display:flex;flex-wrap:wrap;gap:10px 24px;margin:16px 0;color:var(--muted);font-size:12px}.loan-contract-facts strong{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:500}.loan-detail-disclosure{margin-top:10px;border-top:1px solid #e6dfeb}.loan-detail-disclosure summary{cursor:pointer;padding:12px 0;font-size:12px;font-weight:500}.loan-detail-disclosure summary>span{margin-left:10px;color:var(--muted);font-size:11px;font-weight:400}.loan-table-scroll{max-height:280px;overflow:auto;border-radius:10px;border:1px solid #e6dfeb}.loan-table-scroll table{width:100%;min-width:500px;font-size:12px;font-variant-numeric:tabular-nums}.loan-table-scroll th,.loan-table-scroll td{padding:10px 13px;text-align:right;white-space:nowrap}.loan-table-scroll th:first-child,.loan-table-scroll td:first-child{text-align:left}.loan-table-scroll th{position:sticky;top:0;background:#f4eff8;color:var(--muted);font-weight:500}.loan-table-scroll tbody tr+tr{border-top:1px solid #e6dfeb88}.loan-table-scroll td small{display:block;max-width:240px;white-space:normal;color:var(--muted);font-size:10px;margin-top:3px}.loan-contract-footer{margin-top:12px;text-align:right}.loan-auto-note{display:flex;align-items:flex-start;gap:8px;border-top:1px solid #e2dbe969;padding:16px 26px;font-size:11px;line-height:1.7;color:var(--muted)}.loan-auto-note svg{flex:0 0 auto;margin-top:2px;color:#759980}.loan-list-empty{text-align:center;padding:45px 20px;color:var(--muted);font-size:13px}.loan-tools{padding:0 23px}.loan-tools>summary{display:flex;align-items:center;gap:12px;padding:18px 0;cursor:pointer;font-size:13px;font-weight:500;list-style:none}.loan-tools>summary::-webkit-details-marker{display:none}.loan-tools>summary span{margin-left:auto;color:var(--muted);font-size:11px;font-weight:400}.loan-simulation-content{padding-bottom:18px}@media (max-width: 1050px){.loan-list-columns,.loan-group-summary{grid-template-columns:minmax(185px,1.5fr) 140px 113px 80px 16px;gap:12px;padding-left:20px;padding-right:20px}.loan-bank-mark{width:34px;height:38px;border-radius:12px}.loan-group-identity{gap:9px}.loan-group-identity strong{font-size:13px}}@media (max-width: 760px){.loan-page-actions{gap:2px}.loan-page-actions .primary-button{padding:10px 13px}.loan-overview{grid-template-columns:1fr 1fr;padding:23px;gap:22px 18px}.loan-overview-main{grid-column:1 / -1}.loan-overview>div+div{padding-left:0;border-left:0}.loan-overview>div:last-child{border-left:1px solid #c9bbdb63;padding-left:20px}.loan-overview p{font-size:10px}.loan-overview strong{font-size:23px}.loan-overview-main strong{font-size:35px}.loan-portfolio-toolbar{padding:16px 14px}.loan-status-tabs button{padding:8px 10px}.loan-portfolio-toolbar .text-link{font-size:11px}.loan-list-columns{display:none}.loan-group-summary{position:relative;grid-template-columns:1fr 1fr;gap:14px 16px;padding:20px}.loan-group-identity{grid-column:1 / -1;padding-right:20px;gap:11px}.loan-group-identity strong{font-size:14px}.loan-group-amount,.loan-group-monthly,.loan-group-date{text-align:left}.loan-group-amount>small,.loan-group-monthly>small{display:block;margin-bottom:5px;font-size:10px;color:var(--muted)}.loan-group-date{grid-column:1 / -1;font-size:11px}.loan-group-date>small{display:inline;margin-right:8px;font-size:inherit}.loan-group-chevron{position:absolute;right:20px;top:32px}.loan-group-details{padding:0 12px 15px}.loan-contract{padding:15px}.loan-contract-facts{flex-direction:column;gap:6px}.loan-auto-note{padding:15px 20px}}.user-management-heading{display:flex;gap:12px;align-items:center;margin-bottom:24px}.user-management-icon{width:42px;height:42px;flex-shrink:0;display:grid;place-items:center;border-radius:14px;color:#8d73ae;background:#ede4f5}.user-management-heading h2{font-size:17px;font-weight:600}.user-management-heading p{margin-top:5px;color:#8b789b;font-size:11px}.admin-badge{margin-left:auto;display:inline-flex;align-items:center;gap:4px;padding:5px 9px;background:#ede3f5;color:#8868a7;font-size:10px;border-radius:20px;white-space:nowrap}.create-user-form{padding:20px;border:1px solid #fff;border-radius:20px;background:#ffffff47;display:grid;gap:18px}.user-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px}.create-user-form label{font-size:12px;color:#705980}.create-user-form label>span{font-size:10px;color:#9783a6}.create-user-form input{display:block;width:100%;padding:10px 12px;margin:8px 0 6px;border:1px solid #e3daec;font-size:13px}.password-control{position:relative}.password-control input{padding-right:46px}.password-control button{position:absolute;right:4px;top:3px;width:35px;height:35px;display:grid;place-items:center;color:#9b88ac}.create-user-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.create-user-footer>span{color:#8e7b9e;font-size:11px}.member-list-heading{display:flex;align-items:center;justify-content:space-between;margin:27px 0 4px}.member-list-heading h3{font-weight:600;font-size:13px}.member-list-heading>span{color:#9682a6;font-size:11px}.member-list>li{display:flex;align-items:center;gap:12px;padding:17px 0;border-bottom:1px solid #e7dfef}.member-list>li:last-child{border:0;padding-bottom:0}.member-list>li>div{flex:1;min-width:0}.member-list strong{font-size:13px;font-weight:500;overflow-wrap:anywhere}.member-list small{font-size:9px;margin-left:7px;color:#9b82ae}.member-list p{font-size:11px;color:#8d7b9d;margin-top:5px;overflow-wrap:anywhere}.reset-member-button{display:flex;align-items:center;gap:6px;color:#9172ad;font-size:11px;min-height:36px;flex-shrink:0}@keyframes page-arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes dialog-arrive{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.animate-slide-up{animation:slide-up .25s ease-out}@media (min-width: 1500px){.app-shell{margin-block:48px}.topbar{padding:34px 36px 22px;gap:36px}.app-content{padding:12px 36px 20px}.top-nav-link{padding-inline:24px;font-size:14px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 340px;gap:24px}.dashboard-main,.dashboard-aside{gap:24px}.metrics-grid{gap:20px}.metric-card{padding:24px}.metric-footnote{font-size:12px}.surface-card,.freedom-card{padding:28px}.dashboard-chart{height:280px}.savings-gauge{margin-top:24px}.gauge-value strong{font-size:43px}}@media (max-width: 1199px) and (min-width: 701px){.app-shell{width:calc(100% - 40px);margin:20px auto}.topbar{flex-wrap:wrap;gap:18px;padding:22px 24px 14px}.topbar-actions{margin-left:auto}.top-nav{order:3;flex-basis:100%}.top-nav-link{flex:1}.app-content{padding:12px 24px}.dashboard-layout{grid-template-columns:minmax(0,1fr) 255px;gap:16px}.dashboard-main,.dashboard-aside{gap:16px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric-value{font-size:29px}.surface-card,.freedom-card{padding:20px}.forecast-highlights{gap:17px}.forecast-highlights strong{font-size:24px}.section-heading h2{font-size:16px}.savings-breakdown strong{font-size:20px}}@media (max-width: 899px){.dashboard-layout{grid-template-columns:minmax(0,1fr)}.dashboard-aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}.attention-card{grid-column:1 / -1}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric-card{padding:17px 13px}.metric-value{font-size:23px}.metric-value-long{font-size:20px}.metric-label{gap:5px;font-size:9px}.metric-label svg{width:24px}.metric-footnote{font-size:10px}.login-story{padding:36px}.login-form-panel{padding:30px}}@media (max-width: 700px){.app-shell{width:calc(100% - 20px);margin:10px auto 90px;border-radius:26px;min-height:calc(100dvh - 110px)}.topbar{padding:19px 17px 12px;gap:14px}.top-nav,.import-shortcut,.desktop-add{display:none}.topbar-actions{margin-left:auto}.brand strong{font-size:17px}.brand-mark{width:36px}.brand-mark svg{width:30px}.brand small{font-size:6px}.profile-button{gap:5px;padding-right:6px}.profile-button .avatar{width:33px;height:33px}.app-content{padding:14px 14px 10px}.page-content{gap:20px}.page-heading{gap:12px;align-items:flex-start;margin-inline:4px}.page-heading h1{font-size:25px}.page-heading .eyebrow{font-size:7px;letter-spacing:.12em}.page-description{font-size:11px;max-width:240px}.dashboard-page>.page-heading h1{font-size:23px}.date-badge{padding:8px 10px;font-size:9px;gap:5px;margin-top:2px}.date-badge svg{width:12px}.dashboard-layout,.dashboard-main,.dashboard-aside{gap:16px}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.metric-card{padding:17px 14px;border-radius:21px}.metric-value{font-size:clamp(19px,6.2vw,30px);margin-top:12px}.metric-value-long{font-size:clamp(18px,5.5vw,27px)}.metric-label{font-size:10px}.metric-footnote{font-size:10px;margin-top:7px}.metric-label svg{width:26px}.surface-card,.freedom-card{padding:20px 17px;border-radius:23px}.section-heading h2{font-size:17px}.section-heading p{font-size:10px}.section-heading .round-button{width:36px;height:36px}.forecast-highlights{gap:18px;margin-top:20px}.forecast-highlights>div{flex:1;min-width:0}.forecast-highlights>div>span{flex-wrap:wrap;gap:4px;font-size:10px}.forecast-highlights strong{font-size:clamp(19px,5.2vw,26px);white-space:nowrap}.forecast-highlights strong small{display:none}.forecast-highlights i{font-size:8px;padding:2px 4px}.dashboard-chart{height:220px;margin-inline:-9px}.chart-note{font-size:9px;align-items:flex-start}.chart-note .legend-dot{margin-top:4px}.dashboard-aside{display:flex;flex-direction:column}.dashboard-aside>*{width:100%}.savings-gauge{max-width:270px}.gauge-value strong{font-size:40px}.savings-caption{font-size:11px}.savings-breakdown{margin-top:20px}.recent-list>li{gap:10px}.recent-amount strong{font-size:12px}.recent-info>strong{gap:7px;font-size:11px}.app-footer{padding:20px 12px;font-size:8px;gap:8px}.app-footer>span:first-child{font-size:7px}.mobile-nav{position:fixed;z-index:40;bottom:calc(10px + env(safe-area-inset-bottom,0px));left:18px;right:18px;display:flex;background:#f8f5fbe8;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid #fff;border-radius:26px;box-shadow:0 10px 35px #66516b1c;padding:7px 8px}.mobile-nav-link{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:9px;color:#9a8aa8;min-height:45px;border-radius:20px}.mobile-nav-link.is-active{background:#ebe2f6;color:#7a5ca8;font-weight:600}.mobile-add{position:fixed;z-index:39;display:grid;place-items:center;right:21px;bottom:calc(91px + env(safe-area-inset-bottom,0px));width:47px;height:47px;background:var(--accent);color:#fff;border:1px solid #ffffffb3;box-shadow:0 8px 24px #8e6fb544;border-radius:50%}.mobile-add:active{transform:scale(.95)}.transactions-toolbar{gap:9px}.transactions-toolbar>.relative{order:3;flex-basis:100%}.transactions-toolbar>:last-child{margin-left:auto}.transactions-summary{gap:10px;font-size:11px}.transactions-summary>.flex{order:3;flex-basis:100%}.transactions-summary>.flex button{flex:1;padding:8px}.transactions-list>li{gap:8px;padding:14px 10px}.transactions-list>li>span:first-child{width:31px;height:31px;font-size:15px}.transactions-list>li>.tabular-nums{font-size:12px}.transactions-list button{min-width:25px}.more-grid{grid-template-columns:minmax(0,1fr);gap:11px}.more-grid a{padding:19px}.family-space-card{padding:22px 18px;gap:15px}.page-content>.grid{gap:9px}.page-content>.grid>.surface-card{padding:12px!important}.page-content>.grid>.surface-card .text-lg{font-size:19px}.asset-summary{padding:24px 20px}.asset-detail-list:before{content:"左右滑动查看完整明细";display:block;width:-moz-max-content;width:max-content;color:#9986a8;font-size:10px;padding:9px 0;position:sticky;left:0}.login-page{width:calc(100% - 24px);margin:12px auto;display:flex;flex-direction:column;border-radius:26px;min-height:calc(100dvh - 24px)}.login-story{padding:24px}.login-story-content{margin:24px 0 0}.login-story-content h1{font-size:32px;margin-top:0;line-height:1.5}.login-story-content>p:last-of-type{font-size:11px;margin-top:12px}.login-story-footer,.login-art,.login-story-content .eyebrow{display:none}.login-form-panel{padding:28px 25px;flex:1}.login-form h2{font-size:27px}.login-form-intro{margin-bottom:25px}.login-form input{font-size:16px}.login-account-help{margin-bottom:20px}.sheet-dialog{align-self:flex-end;border-radius:26px 26px 0 0}.sheet-header{padding:18px 20px}.sheet-content{padding:20px 18px calc(20px + env(safe-area-inset-bottom,0px));max-height:75dvh}.user-fields{grid-template-columns:1fr;gap:13px}.create-user-form{padding:15px}.create-user-footer{flex-wrap:wrap}.create-user-footer .primary-button{width:100%}.member-list>li{gap:8px}.member-list p span{display:block}.user-management-heading{flex-wrap:wrap}.create-user-form input{font-size:16px}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{max-width:100%}}@media (min-width: 1100px){.reports-page{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.reports-page>.page-heading,.reports-page>.surface-card:nth-child(2),.reports-page>.surface-card:nth-child(3){grid-column:1 / -1}.reports-page>.surface-card:nth-child(2) .font-semibold:not(:first-child){font-size:22px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.home-visual-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(285px,.43fr);gap:20px;align-items:stretch}.home-trend{background:linear-gradient(155deg,#ffffffb5,#f7f2fc57 72%,#e9def14d)}.trend-heading{align-items:flex-start}.trend-range{display:flex;gap:2px;padding:4px;border:1px solid #ffffffa8;border-radius:24px;background:#eae3f057}.trend-range button{min-height:34px;padding:0 13px;border-radius:20px;color:#95849f;font-size:11px;white-space:nowrap}.trend-range button[aria-pressed=true]{color:#685082;background:#fff;box-shadow:0 4px 10px -6px #78618f50}.trend-range button:hover{color:#685082}.trend-summary{display:flex;gap:15px;align-items:center;margin:24px 0 14px}.trend-summary>div>span{font-size:11px;color:#86778f}.trend-summary strong{display:block;font-size:33px;font-weight:550;line-height:1.35;letter-spacing:-.04em;font-variant-numeric:tabular-nums;margin-top:2px}.trend-summary strong small{font-size:20px;margin-right:5px;font-weight:400}.trend-current{display:inline-flex;align-items:center;gap:5px;border:1px solid #e7e0f1;background:#f7f4fb99;color:#9782ac;border-radius:16px;font-size:9px;padding:5px 9px;margin-top:14px}.trend-current i{width:4px;height:4px;background:#b398d5;border-radius:50%}.trend-legend{display:flex;gap:22px;align-items:center;color:#7e718b;font-size:11px}.trend-legend>span{display:inline-flex;align-items:center;gap:7px}.trend-legend>small{margin-left:auto;font-size:9px;color:#a294ad}.trend-key{width:17px;height:3px;border-radius:4px;display:inline-block;flex-shrink:0}.trend-key.income{background:#9575ca}.trend-key.expense{background:repeating-linear-gradient(to right,#73a799 0 5px,transparent 5px 8px)}.home-trend-chart{height:230px;margin:6px -5px 0 -9px;outline:none}.home-trend-chart .recharts-surface:focus-visible{outline:2px solid #b297d9;border-radius:12px}.trend-tooltip{min-width:170px;padding:15px 17px;border:1px solid #fff;border-radius:16px;background:#fffe;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 10px 36px -14px #89789955;color:#44364f}.trend-tooltip>strong{display:block;font-size:12px;font-weight:600;margin-bottom:12px}.trend-tooltip>div{display:flex;justify-content:space-between;gap:25px;font-size:11px;margin:8px 0}.trend-tooltip>div>span{display:inline-flex;align-items:center;gap:7px;color:#8b7b98}.trend-tooltip b{font-weight:500;font-variant-numeric:tabular-nums}.trend-tooltip p{border-top:1px solid #eee7f3;margin-top:11px;padding-top:9px;font-size:9px;color:#9b8fa5}.trend-footer{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #ffffffa8;padding-top:15px;margin-top:10px}.trend-footer p{color:#94879e;font-size:9px;line-height:1.7}.home-trend-empty{height:236px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;color:#a18bb8;text-align:center}.home-trend-empty strong{font-size:13px;font-weight:500;color:#7e6993}.home-trend-empty p{font-size:11px;line-height:1.8}.home-repayment{display:flex;flex-direction:column;background:radial-gradient(ellipse at 90% 94%,#c8e3e55e,transparent 75%),linear-gradient(145deg,#ffffff8c,#e1dcef5c)}.home-repayment .section-heading p{font-size:10px}.repayment-gauge{width:min(100%,280px);position:relative;margin:23px auto 14px}.repayment-gauge svg{display:block;width:100%;height:auto;filter:drop-shadow(0 3px 6px #a48abd0d)}.repayment-gauge-value{position:absolute;bottom:5%;inset-inline:0;text-align:center}.repayment-gauge-value strong{display:block;font-size:48px;font-weight:550;letter-spacing:-.055em;line-height:1.15;font-variant-numeric:tabular-nums}.repayment-gauge-value strong span{font-size:29px;font-weight:400;margin-left:3px}.repayment-gauge-value>span{display:block;font-size:10px;margin-top:8px;color:#92829f}.home-repaid{text-align:center;padding:13px 0 22px;border-bottom:1px solid #ffffffae}.home-repaid>span{font-size:10px;color:#8f819c}.home-repaid>strong{display:block;margin-top:4px;font-size:25px;font-weight:500;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.home-repaid small{font-size:16px;margin-right:5px;font-weight:400}.home-repayment-actions{margin-top:auto;padding-top:24px;display:flex;flex-direction:column;gap:13px;align-items:stretch}.home-repayment-actions .primary-button{justify-content:flex-start;min-height:46px;border-radius:17px;box-shadow:0 7px 18px -12px #8c63ba95}.home-repayment-actions .primary-button svg:last-child{margin-left:auto;opacity:.8}.home-repayment-actions>.text-link{justify-content:center;min-height:30px;font-size:10px}@media (min-width: 1500px){.home-visual-grid{gap:24px}.home-trend-chart{height:260px}.trend-summary{margin-top:27px}.repayment-gauge{margin-top:29px}}@media (max-width: 950px){.home-visual-grid{grid-template-columns:minmax(0,1fr)}.home-repayment{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);-moz-column-gap:35px;column-gap:35px}.home-repayment>.section-heading{grid-column:1 / -1}.repayment-gauge{grid-row:2 / 4;align-self:center;margin-block:22px 0}.home-repaid{padding-top:28px}.home-repayment-actions{padding-top:17px;margin-top:0}}@media (max-width: 700px){.home-visual-grid{gap:16px}.trend-heading h2{font-size:17px}.trend-range{padding:3px}.trend-range button{padding-inline:10px;min-height:34px;font-size:10px}.trend-summary{margin-top:19px}.trend-summary strong{font-size:30px}.home-trend-chart{height:220px;margin-left:-14px}.trend-footer{gap:12px}.trend-footer p{font-size:9px;max-width:65%}.trend-footer .text-link{font-size:10px}.home-repayment{-moz-column-gap:17px;column-gap:17px}.repayment-gauge-value strong{font-size:32px}.repayment-gauge-value strong span{font-size:19px}.repayment-gauge-value>span{font-size:8px;margin-top:3px}.home-repaid strong{font-size:20px}.home-repaid{padding-bottom:12px}.home-repayment-actions{gap:7px}.home-repayment-actions .primary-button{font-size:11px;padding-inline:12px;gap:6px}.home-repayment-actions>.text-link{font-size:11px}.home-repayment-actions>.text-link svg{width:11px}}.import-tabs{display:flex;gap:6px;padding:5px;border:1px solid #fff;background:#ffffff65;border-radius:18px;width:-moz-fit-content;width:fit-content;margin:0 0 22px}.import-tabs button{display:flex;align-items:center;gap:8px;padding:11px 22px;border-radius:13px;font-size:13px;color:var(--muted)}.import-tabs .is-active{color:var(--accent-dark);background:#fff;box-shadow:0 5px 16px #74638212}.receipt-import-card{max-width:860px}.receipt-import{display:grid;gap:18px}.receipt-heading{display:flex;align-items:center;gap:13px;margin-bottom:20px}.receipt-heading h2{font-size:17px;font-weight:600}.receipt-heading p{font-size:12px;color:var(--muted);margin-top:5px}.receipt-icon{width:42px;height:42px;border-radius:14px;background:#eae1f5;display:grid;place-items:center;color:var(--accent-dark);flex-shrink:0}.receipt-status{margin-left:auto;white-space:nowrap;display:flex;align-items:center;gap:4px;border-radius:20px;padding:5px 10px;background:#f0eaf5;color:#97889f;font-size:11px}.receipt-status.is-ready{background:#e7f0e8;color:#4d7b56}.receipt-provider{display:flex;align-items:center;justify-content:space-between;padding:14px 0;margin-bottom:14px;border-bottom:1px solid #e8e1ed}.receipt-provider strong{font-size:15px}.receipt-provider span{font-size:11px;color:var(--muted)}.receipt-label,.receipt-fields label{display:grid;gap:7px;font-size:12px;color:var(--muted)}.receipt-label input,.receipt-label select,.receipt-fields input,.receipt-fields select{width:100%;padding:10px 11px;border:1px solid #e3dcea;font-size:14px}.receipt-help{display:flex;align-items:center;flex-wrap:wrap;gap:5px;font-size:12px;line-height:1.8;color:var(--muted)}.receipt-help a,.receipt-actions a,.receipt-setup a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:4px}.receipt-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12px}.receipt-footnote{font-size:11px;line-height:1.8;color:#93859f;margin-top:8px}.receipt-error{border-radius:12px;padding:12px 14px;background:#faeceb;color:#ab5651;font-size:12px;line-height:1.8}.receipt-error button{text-decoration:underline;margin-left:5px}.receipt-settings button:disabled,.receipt-import button:disabled{opacity:.5;cursor:not-allowed}.receipt-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;min-height:250px;padding:30px 20px;border:1.5px dashed #c8b5dc;border-radius:22px;background:#fff6;transition:background .2s,border-color .2s}.receipt-dropzone:hover{background:#fff9;border-color:var(--accent-dark)}.receipt-dropzone strong{font-size:19px;font-weight:500}.receipt-dropzone>span:not(.receipt-upload-icon){font-size:12px;color:var(--muted)}.receipt-dropzone small{color:#a497af;font-size:10px;letter-spacing:.5px}.receipt-upload-icon{width:66px;height:66px;border-radius:23px;display:grid;place-items:center;color:#8d6cb4;background:linear-gradient(140deg,#faf7ff,#e9def5);box-shadow:0 9px 25px #997ab923,inset 0 1px 1px #fff}.receipt-back{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);width:-moz-fit-content;width:fit-content}.receipt-setup{display:flex;gap:14px;padding:18px;background:#efe8f880;border:1px solid #fff;border-radius:18px;color:#8869aa}.receipt-setup>svg{flex-shrink:0}.receipt-setup strong{font-size:14px;font-weight:500}.receipt-setup p{font-size:12px;margin:7px 0;line-height:1.8}.receipt-setup a{font-size:12px}.receipt-image-preview{display:flex;align-items:center;gap:16px;padding:12px;background:#fff8;border:1px solid #fff;border-radius:18px}.receipt-image-preview img{width:80px;height:105px;-o-object-fit:contain;object-fit:contain;background:#eee9f1;border-radius:9px}.receipt-image-preview>div{display:grid;gap:9px;min-width:0;flex:1}.receipt-image-preview strong{font-size:13px;word-break:break-all}.receipt-image-preview span{font-size:11px;color:var(--muted)}.receipt-image-preview button{color:var(--accent-dark);font-size:12px;text-align:left}.receipt-analyze{width:100%;justify-content:center;min-height:46px}.receipt-review-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.receipt-review-heading h3{font-size:16px;font-weight:600}.receipt-review-heading span{font-size:10px;color:var(--muted)}.receipt-drafts{display:grid;gap:16px;min-width:0}.receipt-draft{border:1px solid #ded5e7;background:#ffffff50;border-radius:18px;padding:17px}.receipt-draft.is-selected{background:#ffffffa6;border-color:#bca4d4}.receipt-draft-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:13px}.receipt-draft-top label,.receipt-confirm,.receipt-duplicate{display:flex;align-items:flex-start;gap:8px;line-height:1.65}.receipt-draft-top span{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}.receipt-import input[type=checkbox]{margin-top:3px;accent-color:#9473b8;width:15px;height:15px;flex-shrink:0}.receipt-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px}.receipt-warning{display:flex;align-items:flex-start;gap:6px;font-size:11px;color:#a47a43;background:#faf4e9;padding:10px;border-radius:10px;margin-top:12px;line-height:1.8}.receipt-warning svg{flex-shrink:0;margin-top:2px}.receipt-duplicate{font-size:11px;color:#976e39;margin-top:12px}.receipt-confirm{font-size:12px;color:var(--muted)}.receipt-quick-entry{width:100%;display:flex;align-items:center;gap:12px;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid #ddd0eb;background:#eee5f766;color:#8964ad;margin-bottom:6px}.receipt-quick-entry strong{display:block;font-size:13px;font-weight:600}.receipt-quick-entry small{display:block;font-size:10px;margin-top:3px;color:#9b88a8}.receipt-quick-entry>span:last-child{margin-left:auto;font-size:19px}.recurring-auto-note{padding:18px 22px;border-radius:18px;background:#f2edf980;border:1px solid #fff;margin-bottom:18px}.recurring-auto-note span{color:var(--accent-dark);font-size:13px;font-weight:600}.recurring-auto-note p{font-size:12px;color:var(--muted);line-height:1.8;margin-top:6px}@media (max-width:600px){.receipt-heading{flex-wrap:wrap;gap:10px}.receipt-heading h2{font-size:15px}.receipt-heading p{font-size:11px}.receipt-dropzone{min-height:220px;padding:24px 15px}.receipt-fields input,.receipt-fields select{font-size:16px}.receipt-draft{padding:13px}.receipt-provider{flex-wrap:wrap;gap:7px}.receipt-actions{flex-wrap:wrap}}.file\:mr-3::file-selector-button{margin-right:.75rem}.file\:rounded-lg::file-selector-button{border-radius:.5rem}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-brand-700::file-selector-button{--tw-bg-opacity: 1;background-color:rgb(105 77 169 / var(--tw-bg-opacity, 1))}.file\:px-4::file-selector-button{padding-left:1rem;padding-right:1rem}.file\:py-2::file-selector-button{padding-top:.5rem;padding-bottom:.5rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:text-white::file-selector-button{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:border-gray-200:hover{--tw-border-opacity: 1;border-color:rgb(223 220 231 / var(--tw-border-opacity, 1))}.hover\:bg-gray-50:hover{--tw-bg-opacity: 1;background-color:rgb(247 246 250 / var(--tw-bg-opacity, 1))}.hover\:text-brand-600:hover{--tw-text-opacity: 1;color:rgb(120 91 189 / var(--tw-text-opacity, 1))}.focus\:border-brand-400:focus{--tw-border-opacity: 1;border-color:rgb(161 138 217 / var(--tw-border-opacity, 1))}.disabled\:opacity-30:disabled{opacity:.3}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width: 640px){.sm\:p-5{padding:1.25rem}}
