@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/ClientApp/dist/assets/BeVietnamPro-Regular-bcReL8zS.woff2) format("woff2"),url(/ClientApp/dist/assets/font-1-R3VvECUm.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/ClientApp/dist/assets/BeVietnamPro-Medium-C-tLV1WM.woff2) format("woff2"),url(/ClientApp/dist/assets/font-2-DrIwHL7b.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/ClientApp/dist/assets/BeVietnamPro-SemiBold-D0uV7PHq.woff2) format("woff2"),url(/ClientApp/dist/assets/font-3-COaeNqES.ttf) format("truetype")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/ClientApp/dist/assets/BeVietnamPro-Bold-fjEkWDL7.woff2) format("woff2"),url(/ClientApp/dist/assets/font-4-DkhXibQx.ttf) format("truetype")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:600;src:url(/ClientApp/dist/assets/PlayfairDisplay-SemiBold-DYggQQR6.woff2) format("woff2"),url(/ClientApp/dist/assets/font-5-ni48U_0J.ttf) format("truetype")}@font-face{font-family:Playfair Display;font-style:normal;font-display:swap;font-weight:700;src:url(/ClientApp/dist/assets/PlayfairDisplay-Bold-DranOyn9.woff2) format("woff2"),url(/ClientApp/dist/assets/font-6-Dle4x85Y.ttf) format("truetype")}*,: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:#e5e7eb}: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:Be Vietnam Pro,system-ui,sans-serif;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:Be Vietnam Pro,system-ui,sans-serif;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:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}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}*,*:before,*:after{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--canvas)}body{margin:0;min-width:320px;min-height:100vh;background:var(--canvas);color:var(--ink);font-family:var(--font-body);font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button,a,input,select,textarea,summary{-webkit-tap-highlight-color:transparent}:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r-sm)}button:disabled{cursor:not-allowed;opacity:.5}h1,h2,h3,h4{margin:0;color:var(--ink);line-height:1.25}h2{font-size:16px;font-weight:600}h3{font-size:14px;font-weight:600}p{margin:0}img,svg{max-width:100%}table{border-collapse:collapse}::-moz-selection{background:var(--lavender-soft);color:var(--ink)}::selection{background:var(--lavender-soft);color:var(--ink)}[data-tone]{--tone: var(--subtle);--tone-strong: var(--secondary)}[data-tone=mint]{--tone: var(--mint-soft);--tone-strong: var(--mint)}[data-tone=coral]{--tone: var(--coral-soft);--tone-strong: var(--coral)}[data-tone=sky]{--tone: var(--sky-soft);--tone-strong: var(--sky)}[data-tone=lavender]{--tone: var(--lavender-soft);--tone-strong: var(--lavender)}[data-tone=yellow]{--tone: var(--yellow-soft);--tone-strong: var(--yellow)}[data-tone=danger]{--tone: var(--danger-soft);--tone-strong: var(--danger)}[data-tone=muted]{--tone: var(--accent);--tone-strong: var(--meta)}.skip-link{position:fixed;top:8px;left:8px;z-index:110;transform:translateY(-160%);background:var(--ink);color:#fff;padding:8px 14px;border-radius:var(--r);transition:transform var(--dur-2) var(--ease)}.skip-link:focus{transform:translateY(0)}.page-layout{display:grid;grid-template-columns:minmax(0,1fr);min-width:0;gap:20px}.page-layout>*{min-width:0}.page-heading{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px;min-width:0}.page-title{font-family:var(--font-display);font-size:30px;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-variant-numeric:lining-nums;text-wrap:balance}.page-description{max-width:46rem;margin-top:4px;color:var(--secondary);font-size:15px}.page-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.card{position:relative;min-width:0;border-radius:var(--r-lg);background:var(--surface);padding:20px;box-shadow:var(--shadow)}.card[data-soft]{background:var(--subtle);box-shadow:none}.card-flush{padding:0;overflow:hidden}.card-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;padding:16px 20px 8px}.card-title{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}.card-sub{color:var(--secondary);font-size:13px}.card-link{display:block;text-decoration:none;transition:box-shadow var(--dur-2) ease,transform var(--dur-2) var(--ease)}.card-link:hover{box-shadow:var(--shadow-hover);transform:translateY(-2px)}.inset{border-radius:var(--r);background:var(--canvas);padding:12px 14px}.hairline{height:1px;width:100%;background:var(--line)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--control);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);padding:0 16px;color:var(--ink);font-size:14px;font-weight:600;line-height:1;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-2) ease,border-color var(--dur-2) ease,color var(--dur-2) ease,transform var(--dur-1) var(--ease),box-shadow var(--dur-2) ease}.btn svg{width:17px;height:17px;flex:0 0 auto}.btn:hover:not(:disabled){background:var(--subtle)}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{border-color:var(--ink);background:var(--ink);color:#fff}.btn-primary:hover:not(:disabled){background:#362e40;border-color:#362e40;color:#fff;box-shadow:0 6px 16px #1b16242e}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover:not(:disabled){border-color:transparent;background:var(--subtle)}.btn-danger{border-color:var(--danger);background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){border-color:#a82424;background:#a82424;color:#fff}.btn-danger-ghost{border-color:#cf2e2e4d;background:transparent;color:var(--danger)}.btn-danger-ghost:hover:not(:disabled){background:#fbe4e4;color:var(--danger)}.btn-sm{min-height:32px;padding:0 12px;font-size:13px}.btn-icon{width:var(--control);min-width:var(--control);padding:0}.btn-icon.btn-sm{width:32px;min-width:32px}.btn[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:6px;background:var(--subtle);padding:0 5px;color:var(--secondary);font-size:11px;font-weight:600}.btn-primary .kbd{background:#ffffff29;color:#fff}.seg{display:inline-flex;gap:2px;max-width:100%;overflow-x:auto;border-radius:var(--r-pill);background:var(--subtle);padding:3px;scrollbar-width:none}.seg>a,.seg>button{display:inline-flex;align-items:center;gap:6px;min-height:32px;border:0;border-radius:var(--r-pill);background:transparent;padding:0 14px;color:var(--secondary);font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-2) ease,color var(--dur-2) ease,box-shadow var(--dur-2) ease}.seg>a svg,.seg>button svg{width:15px;height:15px;flex:0 0 auto}.seg>a:hover,.seg>button:hover{color:var(--ink)}.seg>[aria-current=page],.seg>[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #1b16241f}.chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;min-height:24px;border-radius:var(--r-pill);background:var(--tone, var(--subtle));padding:0 10px;color:var(--ink);font-size:12px;font-weight:600;line-height:1.5;white-space:nowrap}.chip svg{width:13px;height:13px;flex:0 0 auto}.chip-outline{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong)}.filter-chip{display:inline-flex;align-items:center;gap:6px;min-height:34px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);padding:0 14px;color:var(--ink);font-size:13px;font-weight:600;white-space:nowrap;text-decoration:none;transition:background-color var(--dur-2) ease,color var(--dur-2) ease,border-color var(--dur-2) ease,transform var(--dur-1) var(--ease)}.filter-chip:hover{background:var(--subtle)}.filter-chip:active{transform:scale(.96)}.filter-chip[aria-pressed=true],.filter-chip[aria-current=true]{border-color:var(--ink);background:var(--ink);color:#fff}.dot{display:inline-block;width:8px;height:8px;flex:0 0 auto;border-radius:50%;background:var(--tone-strong, var(--meta))}.icon-tile{--tile: 36px;display:inline-grid;place-items:center;width:var(--tile);height:var(--tile);flex:0 0 auto;border-radius:calc(var(--tile) / 3);background:var(--tone, var(--subtle));color:var(--ink)}.icon-tile svg{width:calc(var(--tile) * .48);height:calc(var(--tile) * .48)}.icon-tile[data-size=sm]{--tile: 28px}.icon-tile[data-size=lg]{--tile: 48px}.alert{display:flex;align-items:flex-start;gap:10px;border-radius:var(--r);background:var(--tone, var(--subtle));padding:10px 14px;color:var(--ink);font-size:14px;line-height:1.5;animation:slide-in var(--dur-3) var(--ease) both}.alert>svg{width:18px;height:18px;flex:0 0 auto;margin-top:1px}.alert a,.alert .link{font-weight:600;text-decoration:underline;text-underline-offset:3px}.metric-label{display:flex;align-items:center;gap:8px;color:var(--secondary);font-size:13px;font-weight:500}.metric-value{margin-top:8px;font-size:22px;font-weight:700;letter-spacing:-.01em;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-unit{margin-left:3px;color:var(--muted);font-size:12px;font-weight:500}.num{font-variant-numeric:tabular-nums}.text-positive{color:var(--positive)}.text-negative{color:var(--danger)}.cur{margin-left:.15em;font-family:var(--font-body);font-weight:inherit;opacity:.7}.serif .cur{font-size:.42em;font-weight:600;opacity:1;vertical-align:.6em;margin-left:.2em;text-decoration:underline;text-underline-offset:2px}.progress{position:relative;height:8px;overflow:visible;border-radius:var(--r-pill);background:var(--subtle)}.progress>span{display:block;height:100%;max-width:100%;border-radius:var(--r-pill);background:var(--tone-strong, var(--ink));transform-origin:left;transition:width var(--dur-4) var(--ease);animation:grow var(--dur-4) var(--ease) both}.progress>i{position:absolute;top:-4px;bottom:-4px;width:2px;border-radius:1px;background:var(--ink)}.bucket-bar{position:relative;padding-top:18px}.bucket-bar[data-ticks=false]{padding-top:0}.bucket-bar-track{display:flex;gap:2px;height:30px;overflow:hidden;border-radius:var(--r);background:repeating-linear-gradient(135deg,var(--mint-soft) 0 6px,#C9EFCD 6px 12px)}.bucket-bar[data-size=md] .bucket-bar-track{height:22px}.bucket-bar[data-size=sm] .bucket-bar-track{height:10px;border-radius:var(--r-pill)}.bucket-bar[data-empty=true] .bucket-bar-track{background:var(--subtle)}.bucket-seg{display:flex;align-items:center;min-width:0;overflow:hidden;padding-left:10px;color:var(--ink);font-size:12px;font-weight:600;white-space:nowrap;transform-origin:left;transition:flex-basis var(--dur-4) var(--ease);animation:seg-grow var(--dur-4) var(--ease) both;animation-delay:calc(var(--i, 0) * 70ms)}.bucket-bar[data-size=sm] .bucket-seg{padding-left:0}.bucket-tick{position:absolute;top:15px;bottom:-3px;width:2px;border-radius:2px;background:var(--ink);transition:left var(--dur-4) var(--ease)}.bucket-tick>span{position:absolute;bottom:calc(100% + 1px);left:50%;transform:translate(-50%);color:var(--secondary);font-size:11px;font-weight:600}.bucket-legend{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--secondary);font-size:12px}.bucket-legend>span{display:inline-flex;align-items:center;gap:6px}.field-label{display:block;color:var(--secondary);font-size:13px;font-weight:600}.field-control{display:block;width:100%;min-width:0;min-height:var(--control);margin-top:6px;border:1px solid var(--line-strong);border-radius:var(--r);background:#fff;padding:8px 12px;color:var(--ink);font-size:14px;line-height:1.4;transition:border-color var(--dur-2) ease,box-shadow var(--dur-2) ease}.field-control::-moz-placeholder{color:var(--muted);opacity:1}.field-control::placeholder{color:var(--muted);opacity:1}.field-control:hover:not(:disabled){border-color:#1b16244d}.field-control:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #c9b1fb73}.field-control:disabled,.field-control[readonly]{background:var(--subtle);color:var(--secondary)}.field-control-compact{display:inline-block;width:auto;margin-top:0}.field-icon{position:relative;display:block}.field-icon>svg{position:absolute;top:50%;left:12px;width:16px;height:16px;color:var(--muted);transform:translateY(-50%);pointer-events:none}.field-icon>.field-control{margin-top:0;padding-left:36px}.field-help,.field-warning,.field-error{margin-top:4px;font-size:12.5px;line-height:1.45}.field-help{color:var(--secondary)}.field-warning{color:var(--ink)}.field-error{color:var(--danger)}input[type=checkbox],input[type=radio]{width:16px;height:16px;flex:0 0 auto;accent-color:var(--ink)}input[type=file]{max-width:100%;font-size:14px}input[type=file]::file-selector-button{margin-right:10px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:#fff;padding:8px 14px;font-weight:600;cursor:pointer}.toggle-row{display:flex;align-items:center;gap:12px;min-height:44px;border-radius:var(--r);background:var(--canvas);padding:10px 14px;font-size:14px;cursor:pointer;transition:background-color var(--dur-2) ease}.toggle-row:hover{background:var(--subtle)}.toggle-row svg{width:17px;height:17px;color:var(--secondary)}.switch{position:relative;display:inline-flex;width:44px;height:26px;flex:none}.switch input{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.switch>span{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--r-pill);background:var(--accent);transition:background-color var(--dur-2) ease}.switch>span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #1b162433;transition:transform var(--dur-3) var(--ease-pop)}.switch input:checked+span{background:var(--ink)}.switch input:checked+span:after{transform:translate(18px)}.switch input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}.data-table{width:100%;text-align:left;font-size:14px}.data-table thead{position:sticky;top:0;z-index:2;background:var(--surface)}.data-table th{padding:10px 16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}.data-table td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}.data-table tbody tr{transition:background-color var(--dur-1) ease}.data-table tbody tr:hover{background:var(--canvas)}.data-table tbody tr:last-child td{border-bottom:0}.data-table a{text-decoration:none}.data-table a:hover{text-decoration:underline;text-underline-offset:3px}.table-scroll{min-width:0;max-width:100%;overflow-x:auto;scrollbar-color:var(--meta) var(--subtle);scrollbar-width:thin}.row-actions{display:inline-flex;gap:2px;opacity:.55;transition:opacity var(--dur-2) ease}tr:hover .row-actions,.row-actions:focus-within,article:hover .row-actions{opacity:1}details>summary{cursor:pointer;list-style:none}details>summary::-webkit-details-marker{display:none}.summary-toggle{display:inline-flex;align-items:center;gap:6px;min-height:32px;color:var(--secondary);font-size:13px;font-weight:600}.summary-toggle svg{width:16px;height:16px}details[open]>summary svg.chev{transform:rotate(180deg)}svg.chev{transition:transform var(--dur-2) var(--ease)}.backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:flex-end;justify-content:center;background:#1b16246b;animation:fade-in var(--dur-2) ease both}.\!sheet{width:100%!important;max-height:92dvh!important;overflow-y:auto!important;overscroll-behavior:contain!important;border-radius:var(--r-xl) var(--r-xl) 0 0!important;background:var(--surface)!important;box-shadow:0 -8px 30px #1b16241f!important;animation:sheet-up var(--dur-3) var(--ease) both!important}.sheet{width:100%;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:var(--r-xl) var(--r-xl) 0 0;background:var(--surface);box-shadow:0 -8px 30px #1b16241f;animation:sheet-up var(--dur-3) var(--ease) both}.sheet-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--surface);padding:18px 20px 6px 24px}.sheet-title{font-size:20px;font-weight:700}.sheet-foot{position:sticky;bottom:0;display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);background:#fbf9f7;padding:14px 24px calc(14px + env(safe-area-inset-bottom))}.grab{width:40px;height:5px;margin:8px auto 0;border-radius:9px;background:var(--accent)}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1b16242e;animation:fade-in var(--dur-2) ease both}.\!drawer{position:fixed!important;top:0!important;right:0!important;bottom:0!important;z-index:41!important;display:flex!important;width:min(420px,100%)!important;flex-direction:column!important;background:var(--surface)!important;box-shadow:-12px 0 32px #1b16241a!important;animation:drawer-in var(--dur-3) var(--ease) both!important}.drawer{position:fixed;top:0;right:0;bottom:0;z-index:41;display:flex;width:min(420px,100%);flex-direction:column;background:var(--surface);box-shadow:-12px 0 32px #1b16241a;animation:drawer-in var(--dur-3) var(--ease) both}.\!drawer[data-closing=true]{animation:drawer-out var(--dur-2) var(--ease-in) both!important}.drawer[data-closing=true],.sheet[data-closing=true]{animation:drawer-out var(--dur-2) var(--ease-in) both}.\!sheet[data-closing=true]{animation:drawer-out var(--dur-2) var(--ease-in) both!important}.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding:16px 20px 16px 24px}.drawer-body{min-height:0;min-width:0;flex:1;overflow-y:auto;overflow-x:hidden;padding:24px;grid-template-columns:minmax(0,1fr)}.\!drawer form{min-width:0!important}.drawer form{min-width:0}.drawer-foot{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding:14px 24px calc(14px + env(safe-area-inset-bottom))}.toast{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;overflow:hidden;border-radius:var(--r-lg);background:var(--ink);padding:12px 12px 12px 18px;color:#fff;font-size:14px;box-shadow:0 12px 32px #1b16243d;animation:toast-in var(--dur-3) var(--ease-pop) both}.toast svg{width:18px;height:18px;flex:0 0 auto;color:var(--mint)}.toast .btn{min-height:32px;border-color:#ffffff4d;background:transparent;color:#fff}.toast .btn svg{color:#fff}.toast .btn:hover:not(:disabled){background:#ffffff1f;border-color:#fff}.toast-timer{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--mint);transform-origin:left;animation:countdown 5s linear both}.skeleton{border-radius:var(--r);background:linear-gradient(90deg,var(--subtle) 0%,var(--accent) 50%,var(--subtle) 100%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite}.empty-state{display:grid;justify-items:center;gap:8px;padding:32px 16px;color:var(--secondary);text-align:center;font-size:14px}.empty-state>.icon-tile{--tile: 48px}.tx-group{overflow:hidden;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow)}.tx-group-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);background:#fbf9f7;padding:12px 20px;font-size:13px}.tx-row{display:flex;width:100%;align-items:center;gap:14px;min-width:0;border:0;background:transparent;padding:12px 20px;color:inherit;text-align:left;text-decoration:none;transition:background-color var(--dur-2) ease}.tx-row+.tx-row{box-shadow:inset 0 1px 0 var(--line)}button.tx-row:hover,a.tx-row:hover{background:var(--canvas)}.tx-row[aria-current=true]{background:var(--subtle)}.tx-row[data-fresh=true]{animation:fresh 1.6s var(--ease) both}.tx-main{display:flex;min-width:0;flex:1;flex-direction:column}.tx-title{display:flex;align-items:center;gap:8px;min-width:0;font-weight:600}.tx-title>span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tx-meta{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;color:var(--secondary);font-size:12px;white-space:nowrap}.tx-amount{flex:none;font-weight:600;font-variant-numeric:tabular-nums;text-align:right}.amount-field{display:flex;align-items:baseline;gap:8px;border-bottom:2px solid var(--ink);padding-bottom:6px}.amount-field input{min-width:0;flex:1;border:0;background:transparent;padding:0;font-family:var(--font-display);font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:lining-nums;outline:none}.amount-field input::-moz-placeholder{color:var(--accent)}.amount-field input::placeholder{color:var(--accent)}.amount-field .cur{font-size:22px;font-weight:600;opacity:1;text-decoration:underline}.amount-field:focus-within{border-color:var(--lavender)}.cat-chips{display:flex;flex-wrap:wrap;gap:8px}.cat-chip{display:inline-flex;align-items:center;gap:7px;min-height:36px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);padding:0 14px;font-size:13px;font-weight:600;transition:background-color var(--dur-2) ease,color var(--dur-2) ease,border-color var(--dur-2) ease,transform var(--dur-1) var(--ease)}.cat-chip:hover{background:var(--subtle)}.cat-chip:active{transform:scale(.96)}.cat-chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:#fff}.cat-chip[aria-pressed=true] .dot{animation:pop-in var(--dur-3) var(--ease-pop) both}.hero-number{font-family:var(--font-display);font-size:68px;font-weight:700;line-height:1;letter-spacing:-.02em;font-variant-numeric:lining-nums}.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}.fixed{position:fixed}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-3{left:.75rem;right:.75rem}.bottom-\[calc\(5\.5rem\+env\(safe-area-inset-bottom\)\)\]{bottom:calc(5.5rem + env(safe-area-inset-bottom))}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[60\]{z-index:60}.col-span-2{grid-column:span 2 / span 2}.m-0{margin:0}.-mx-4{margin-left:-1rem;margin-right:-1rem}.-ml-3{margin-left:-.75rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-auto{margin-right:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.\!h-12{height:3rem!important}.\!h-3\.5{height:.875rem!important}.\!h-4{height:1rem!important}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-14{height:3.5rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-24{height:6rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-\[3px\]{height:3px}.h-full{height:100%}.max-h-36{max-height:9rem}.max-h-72{max-height:18rem}.min-h-0{min-height:0px}.min-h-12{min-height:3rem}.min-h-20{min-height:5rem}.\!w-12{width:3rem!important}.\!w-3\.5{width:.875rem!important}.\!w-4{width:1rem!important}.w-0\.5{width:.125rem}.w-1\/2{width:50%}.w-10{width:2.5rem}.w-12{width:3rem}.w-14{width:3.5rem}.w-2\/3{width:66.666667%}.w-20{width:5rem}.w-24{width:6rem}.w-28{width:7rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-32{width:8rem}.w-4{width:1rem}.w-40{width:10rem}.w-6{width:1.5rem}.w-60{width:15rem}.w-7{width:1.75rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-\[200px\]{width:200px}.w-\[42\%\]{width:42%}.w-fit{width:-moz-fit-content;width:fit-content}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-16{min-width:4rem}.min-w-\[1300px\]{min-width:1300px}.min-w-\[340px\]{min-width:340px}.min-w-\[400px\]{min-width:400px}.min-w-\[420px\]{min-width:420px}.min-w-\[460px\]{min-width:460px}.min-w-\[520px\]{min-width:520px}.min-w-\[7\.5rem\]{min-width:7.5rem}.min-w-\[860px\]{min-width:860px}.min-w-\[980px\]{min-width:980px}.max-w-4{max-width:1rem}.max-w-48{max-width:12rem}.max-w-64{max-width:16rem}.max-w-full{max-width:100%}.max-w-md{max-width:28rem}.max-w-sm{max-width:24rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.cursor-pointer{cursor:pointer}.resize-y{resize:vertical}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-\[minmax\(0\,1fr\)\]{grid-template-columns:minmax(0,1fr)}.grid-cols-\[minmax\(0\,1fr\)_72px\]{grid-template-columns:minmax(0,1fr) 72px}.grid-cols-\[minmax\(0\,1fr\)_96px\]{grid-template-columns:minmax(0,1fr) 96px}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.content-center{align-content:center}.content-start{align-content:flex-start}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-items-center{justify-items:center}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-3\.5{gap:.875rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{-moz-column-gap:.5rem;column-gap:.5rem}.gap-x-3{-moz-column-gap:.75rem;column-gap:.75rem}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem}.gap-y-1{row-gap:.25rem}.gap-y-2{row-gap:.5rem}.gap-y-3{row-gap:.75rem}.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))}.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-line>:not([hidden])~:not([hidden]){border-color:#1b16241a}.justify-self-start{justify-self:start}.overflow-auto{overflow:auto}.\!overflow-hidden{overflow:hidden!important}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.overscroll-contain{overscroll-behavior:contain}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.\!rounded-full{border-radius:9999px!important}.rounded{border-radius:6px}.rounded-\[var\(--r\)\]{border-radius:var(--r)}.rounded-\[var\(--r-lg\)\]{border-radius:var(--r-lg)}.rounded-\[var\(--r-xl\)\]{border-radius:var(--r-xl)}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:10px}.rounded-md{border-radius:6px}.rounded-t-\[3px\]{border-top-left-radius:3px;border-top-right-radius:3px}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-line{border-color:#1b16241a}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.\!bg-\[\#FBE4E4\]{--tw-bg-opacity: 1 !important;background-color:rgb(251 228 228 / var(--tw-bg-opacity, 1))!important}.\!bg-yellow-soft\/50{background-color:#fee7a880!important}.bg-\[\#FBF9F7\]{--tw-bg-opacity: 1;background-color:rgb(251 249 247 / var(--tw-bg-opacity, 1))}.bg-\[var\(--yellow-soft\)\]{background-color:var(--yellow-soft)}.bg-accent{--tw-bg-opacity: 1;background-color:rgb(236 229 225 / var(--tw-bg-opacity, 1))}.bg-ink{--tw-bg-opacity: 1;background-color:rgb(27 22 36 / var(--tw-bg-opacity, 1))}.bg-mint{--tw-bg-opacity: 1;background-color:rgb(121 210 135 / var(--tw-bg-opacity, 1))}.bg-paper{--tw-bg-opacity: 1;background-color:rgb(249 246 243 / var(--tw-bg-opacity, 1))}.bg-subtle{--tw-bg-opacity: 1;background-color:rgb(243 237 233 / var(--tw-bg-opacity, 1))}.bg-surface,.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/10{background-color:#ffffff1a}.bg-yellow-soft{--tw-bg-opacity: 1;background-color:rgb(254 231 168 / var(--tw-bg-opacity, 1))}.object-contain{-o-object-fit:contain;object-fit:contain}.p-0{padding:0}.p-0\.5{padding:.125rem}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-3\.5{padding:.875rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-7{padding:1.75rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.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-3\.5{padding-top:.875rem;padding-bottom:.875rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pb-0\.5{padding-bottom:.125rem}.pb-1{padding-bottom:.25rem}.pb-2{padding-bottom:.5rem}.pb-3\.5{padding-bottom:.875rem}.pb-6{padding-bottom:1.5rem}.pb-\[calc\(1\.5rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1.5rem + env(safe-area-inset-bottom))}.pb-\[calc\(1rem\+env\(safe-area-inset-bottom\)\)\]{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.pt-1{padding-top:.25rem}.pt-2{padding-top:.5rem}.pt-2\.5{padding-top:.625rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-right{text-align:right}.align-top{vertical-align:top}.align-\[-1px\]{vertical-align:-1px}.align-\[-2px\]{vertical-align:-2px}.font-display{font-family:Playfair Display,Georgia,serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[1\.9rem\]{font-size:1.9rem}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-base{font-size:1rem;line-height:1.5rem}.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-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.leading-5{line-height:1.25rem}.leading-none{line-height:1}.tracking-tight{letter-spacing:-.025em}.\!text-white{--tw-text-opacity: 1 !important;color:rgb(255 255 255 / var(--tw-text-opacity, 1))!important}.text-danger{--tw-text-opacity: 1;color:rgb(207 46 46 / var(--tw-text-opacity, 1))}.text-ink{--tw-text-opacity: 1;color:rgb(27 22 36 / var(--tw-text-opacity, 1))}.text-muted{--tw-text-opacity: 1;color:rgb(118 115 124 / var(--tw-text-opacity, 1))}.text-secondary{--tw-text-opacity: 1;color:rgb(84 80 91 / var(--tw-text-opacity, 1))}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/80{color:#fffc}.\!no-underline{text-decoration-line:none!important}.no-underline{text-decoration-line:none}.opacity-75{opacity:.75}.invert{--tw-invert: invert(100%);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)}.transition-\[height\]{transition-property:height;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-500{transition-duration:.5s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}:root{color-scheme:light;--canvas: #F9F6F3;--surface: #FFFFFF;--subtle: #F3EDE9;--accent: #ECE5E1;--ink: #1B1624;--secondary: #54505B;--muted: #76737C;--meta: #8D8A91;--line: rgba(27,22,36,.08);--line-strong: rgba(27,22,36,.16);--mint: #79D287;--mint-soft: #B3E8BB;--coral: #FD976D;--coral-soft: #FDC7B1;--yellow: #FDD46B;--yellow-soft: #FEE7A8;--sky: #5DCDF1;--sky-soft: #BFE7F7;--lavender: #C9B1FB;--lavender-soft: #E3D6FD;--danger-soft: #F8D5D5;--outflow: #CFC5BE;--positive: #0F7A45;--danger: #CF2E2E;--r-sm: 6px;--r: 10px;--r-lg: 14px;--r-xl: 20px;--r-pill: 999px;--shadow: 0 1px 2px rgba(27,22,36,.04), 0 8px 24px rgba(27,22,36,.05);--shadow-hover: 0 2px 4px rgba(27,22,36,.05), 0 12px 28px rgba(27,22,36,.08);--shadow-pop: 0 16px 40px rgba(27,22,36,.16);--control: 40px;--ease: cubic-bezier(.2,.7,.2,1);--ease-in: cubic-bezier(.4,0,1,1);--ease-pop: cubic-bezier(.34,1.4,.64,1);--dur-1: .12s;--dur-2: .18s;--dur-3: .26s;--dur-4: .52s;--font-body: "Be Vietnam Pro", system-ui, sans-serif;--font-display: "Playfair Display", Georgia, serif;--sidebar: 248px;--hona: 380px}@media (pointer: coarse){:root{--control: 44px}}.app-frame{display:grid;min-height:100vh;grid-template-columns:minmax(0,1fr)}.app-sidebar{display:none}.app-column{display:flex;min-width:0;flex-direction:column}.app-topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;gap:8px;min-height:64px;border-bottom:1px solid transparent;background:#f9f6f3e6;padding:10px 16px;backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);transition:border-color var(--dur-2) ease,box-shadow var(--dur-2) ease}.app-topbar.is-scrolled{border-bottom-color:var(--line);box-shadow:0 4px 16px #1b16240a}.app-main{width:100%;max-width:1180px;margin:0 auto;padding:8px 16px 120px;outline:none}.brand-wordmark{display:inline-flex;align-items:center;gap:8px;color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}.brand-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);transition:transform var(--dur-3) var(--ease-pop)}.brand-wordmark:hover .brand-dot{transform:scale(1.5)}.side-nav{display:grid;gap:4px}.side-nav a{display:flex;align-items:center;gap:12px;min-height:42px;border-radius:12px;padding:0 12px;color:var(--secondary);font-size:14px;font-weight:500;text-decoration:none;transition:background-color var(--dur-2) ease,color var(--dur-2) ease,box-shadow var(--dur-2) ease}.side-nav a svg{width:19px;height:19px;flex:none;transition:transform var(--dur-2) var(--ease)}.side-nav a:hover{color:var(--ink);background:#ffffff8c}.side-nav a:hover svg{transform:translate(1px)}.side-nav a[aria-current=page]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #1b16240f}.side-sub{padding:20px 12px 6px;color:var(--meta);font-size:12px;font-weight:600}.side-hona{display:grid;gap:4px;width:100%;border:0;border-radius:var(--r-lg);background:var(--yellow-soft);padding:14px;text-align:left;transition:transform var(--dur-2) var(--ease),background-color var(--dur-2) ease}.side-hona:hover{background:var(--yellow);transform:translateY(-1px)}.side-user{display:flex;align-items:center;gap:10px;padding:14px 12px 0}.avatar{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:var(--lavender-soft);font-size:13px;font-weight:700}.period{display:inline-flex;align-items:center;gap:2px;min-height:40px;border:1px solid rgba(27,22,36,.1);border-radius:var(--r-pill);background:var(--surface);padding:0 4px}.period b{min-width:0;padding:0 6px;font-size:14px;font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.period button{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:50%;background:transparent;transition:background-color var(--dur-1) ease,transform var(--dur-1) var(--ease)}.period button:hover{background:var(--subtle)}.period button:active{transform:scale(.9)}.period button svg{width:16px;height:16px}.top-search{display:none;align-items:center;gap:8px;width:300px;min-height:40px;border:1px solid var(--line-strong);border-radius:var(--r-pill);background:var(--surface);padding:0 6px 0 14px;color:var(--muted)}.top-search input{min-width:0;flex:1;border:0;background:transparent;outline:none;color:var(--ink);font-size:13px}.top-search:focus-within{border-color:var(--ink);box-shadow:0 0 0 3px #c9b1fb66}.top-search svg{width:16px;height:16px}.btn-hona{border-color:transparent;background:var(--yellow-soft)}.btn-hona:hover:not(:disabled){background:var(--yellow)}.btn-hona[aria-pressed=true]{border:2px solid var(--ink);background:var(--surface);color:var(--ink)}.ghi-wrap{position:relative}.ghi-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:30;display:grid;width:280px;gap:2px;border-radius:var(--r-lg);background:var(--surface);padding:8px;box-shadow:var(--shadow-pop);transform-origin:top right;animation:menu-in var(--dur-2) var(--ease-pop) both}.ghi-option{display:flex;align-items:center;gap:12px;width:100%;border:0;border-radius:var(--r);background:transparent;padding:10px;text-align:left;font-size:14px;font-weight:600;transition:background-color var(--dur-1) ease;animation:item-in var(--dur-2) var(--ease) both;animation-delay:calc(var(--i, 0) * 30ms + 40ms)}.ghi-option:hover,.ghi-option:focus-visible{background:var(--canvas)}.ghi-option small{display:block;color:var(--secondary);font-size:12px;font-weight:400}.mobile-bottom-nav{position:fixed;inset:auto 0 0 0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);align-items:start;border-top:1px solid var(--line);background:var(--surface);padding:8px 8px env(safe-area-inset-bottom);box-shadow:0 -4px 20px #1b16240d}.mobile-bottom-nav a,.mobile-bottom-nav>button{position:relative;display:flex;min-height:56px;flex-direction:column;align-items:center;justify-content:flex-start;gap:3px;border:0;background:transparent;padding-top:2px;color:var(--muted);font-size:11px;font-weight:500;text-decoration:none;transition:color var(--dur-2) ease}.mobile-bottom-nav a svg{width:22px;height:22px;transition:transform var(--dur-2) var(--ease-pop)}.mobile-bottom-nav a[aria-current=page]{color:var(--ink);font-weight:700}.mobile-bottom-nav a[aria-current=page] svg{transform:translateY(-2px)}.mobile-bottom-nav .fab{display:grid;place-items:center;width:56px;height:56px;margin-top:-30px;border-radius:50%;background:var(--ink);color:#fff;box-shadow:0 8px 20px #1b162440;transition:transform var(--dur-2) var(--ease-pop)}.mobile-bottom-nav .fab svg{width:26px;height:26px;transition:transform var(--dur-3) var(--ease-pop)}.mobile-bottom-nav>button[aria-expanded=true] .fab svg{transform:rotate(45deg)}.mobile-bottom-nav>button:active .fab{transform:scale(.92)}.mobile-bottom-nav>button span:last-child{color:var(--ink);font-weight:600}.ghi-sheet-option{display:flex;align-items:center;gap:14px;width:100%;border:0;border-radius:var(--r-lg);background:var(--canvas);padding:14px;text-align:left;animation:item-in var(--dur-3) var(--ease) both;animation-delay:calc(var(--i, 0) * 50ms + 80ms);transition:background-color var(--dur-1) ease,transform var(--dur-1) var(--ease)}.ghi-sheet-option:active{transform:scale(.98);background:var(--subtle)}.hona-dock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;flex-direction:column;background:var(--surface);animation:sheet-up var(--dur-3) var(--ease) both}.chat-bubble{width:-moz-fit-content;width:fit-content;max-width:86%;border-radius:16px;padding:10px 14px;font-size:14px;line-height:1.5;animation:bubble-in var(--dur-3) var(--ease) both}.chat-bubble-user{margin-left:auto;border-bottom-right-radius:4px;background:var(--ink);color:#fff;transform-origin:bottom right}.chat-bubble-assistant{margin-right:auto;border-bottom-left-radius:4px;background:var(--subtle);transform-origin:bottom left}.typing-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--meta);animation:typing 1s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.15s}.typing-dot:nth-child(3){animation-delay:.3s}.period-swap{animation:swap-next var(--dur-3) var(--ease) both}.period-swap[data-dir=prev]{animation-name:swap-prev}.period-swap[data-dir=none]{animation:none}.mobile-chart{min-width:0}.recharts-cartesian-axis-tick text,.recharts-legend-item-text{fill:var(--secondary);font-family:var(--font-body);font-size:11px}.recharts-legend-item-text{color:var(--ink)!important}.recharts-default-tooltip{border:0!important;border-radius:var(--r)!important;box-shadow:var(--shadow-hover);font-size:13px}.lock-screen{background:#1b1624eb;animation:fade-in .22s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}@keyframes sheet-up{0%{opacity:.6;transform:translateY(32px)}to{opacity:1;transform:none}}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes drawer-in{0%{opacity:.4;transform:translate(40px)}to{opacity:1;transform:none}}@keyframes drawer-out{to{opacity:0;transform:translate(40px)}}@keyframes menu-in{0%{opacity:0;transform:scale(.94) translateY(-4px)}to{opacity:1;transform:none}}@keyframes item-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}@keyframes bubble-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}@keyframes grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes seg-grow{0%{transform:scaleX(0);opacity:.4}to{transform:scaleX(1);opacity:1}}@keyframes countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@keyframes fresh{0%{background:var(--mint-soft)}to{background:transparent}}@keyframes swap-next{0%{opacity:0;transform:translate(14px)}to{opacity:1;transform:none}}@keyframes swap-prev{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}@keyframes typing{0%,60%,to{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-3px)}}@media (min-width: 768px){.backdrop{align-items:center;padding:24px}.sheet{max-width:580px;max-height:90vh;border-radius:var(--r-xl);box-shadow:0 24px 60px #1b162438;animation-name:dialog-in;animation-duration:var(--dur-3)}.sheet-foot{padding-bottom:14px}.app-topbar{padding:12px 32px}.app-main{padding:12px 32px 48px}.top-search{display:flex}.mobile-bottom-nav{display:none}}@media (min-width: 768px) and (max-width: 1023px){.app-frame{grid-template-columns:76px minmax(0,1fr)}.app-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;align-items:center;gap:4px;background:var(--subtle);padding:18px 10px}.app-sidebar .brand-wordmark{font-size:0;margin-bottom:14px}.app-sidebar .brand-wordmark:before{content:"H";font-size:24px}.app-sidebar .side-nav a{justify-content:center;padding:0;width:48px}.app-sidebar .side-nav a span,.app-sidebar .side-sub,.app-sidebar .side-hona,.app-sidebar .side-user>div{display:none}.top-search{width:220px}}@media (min-width: 1024px){.app-frame{grid-template-columns:var(--sidebar) minmax(0,1fr)}.app-frame[data-hona=true]{grid-template-columns:var(--sidebar) minmax(0,1fr) var(--hona)}.app-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;gap:4px;background:var(--subtle);padding:24px 16px}.app-sidebar .brand-wordmark{padding:0 12px 20px}.hona-dock{position:sticky;inset:auto;z-index:26;height:100vh;border-left:1px solid var(--line);box-shadow:-12px 0 32px #1b16240f;animation:drawer-in var(--dur-3) var(--ease) both}}@media (max-width: 1279px) and (min-width: 1024px){.app-frame[data-hona=true] .top-search{display:none}}@media (max-width: 767px){.page-layout{gap:14px}.page-title{font-size:26px}.hero-number{font-size:46px}.card{padding:16px}.card-flush{padding:0}.card-head{padding:14px 16px 6px}.tx-row,.tx-group-head{padding:10px 14px}.amount-field input{font-size:40px}.mobile-chart .recharts-responsive-container{min-width:440px}}@media (pointer: coarse){.btn-sm{min-height:40px}.btn-icon.btn-sm{width:40px;min-width:40px}.field-control{font-size:16px}.seg>a,.seg>button{min-height:38px}.row-actions{opacity:1}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.last\:border-0:last-child{border-width:0px}.hover\:\!bg-subtle:hover{--tw-bg-opacity: 1 !important;background-color:rgb(243 237 233 / var(--tw-bg-opacity, 1))!important}.hover\:bg-paper:hover{--tw-bg-opacity: 1;background-color:rgb(249 246 243 / var(--tw-bg-opacity, 1))}.hover\:bg-subtle:hover{--tw-bg-opacity: 1;background-color:rgb(243 237 233 / var(--tw-bg-opacity, 1))}.hover\:text-ink:hover{--tw-text-opacity: 1;color:rgb(27 22 36 / var(--tw-text-opacity, 1))}.disabled\:cursor-wait:disabled{cursor:wait}.group:hover .group-hover\:brightness-95{--tw-brightness: brightness(.95);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)}@media not all and (min-width: 1024px){.max-lg\:gap-5{gap:1.25rem}.max-lg\:border-t{border-top-width:1px}.max-lg\:pt-5{padding-top:1.25rem}}@media not all and (min-width: 768px){.max-md\:gap-5{gap:1.25rem}.max-md\:border-t{border-top-width:1px}.max-md\:p-5{padding:1.25rem}.max-md\:pt-5{padding-top:1.25rem}}@media not all and (min-width: 640px){.max-sm\:hidden{display:none}.max-sm\:px-5{padding-left:1.25rem;padding-right:1.25rem}.max-sm\:text-\[15px\]{font-size:15px}}@media (min-width: 640px){.sm\:col-span-1{grid-column:span 1 / span 1}.sm\:col-span-2{grid-column:span 2 / span 2}.sm\:col-span-4{grid-column:span 4 / span 4}.sm\:block{display:block}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:inline-flex{display:inline-flex}.sm\:hidden{display:none}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.sm\:grid-cols-\[auto_minmax\(160px\,1fr\)\]{grid-template-columns:auto minmax(160px,1fr)}.sm\:grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_88px_64px\]{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 88px 64px}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}.sm\:gap-0{gap:0px}.sm\:gap-2{gap:.5rem}.sm\:gap-3{gap:.75rem}.sm\:gap-6{gap:1.5rem}.sm\:border-l{border-left-width:1px}.sm\:border-line{border-color:#1b16241a}.sm\:pl-5{padding-left:1.25rem}.sm\:pl-6{padding-left:1.5rem}.sm\:pr-5{padding-right:1.25rem}}@media (min-width: 768px){.md\:inset-x-auto{left:auto;right:auto}.md\:bottom-6{bottom:1.5rem}.md\:left-1\/2{left:50%}.md\:col-span-4{grid-column:span 4 / span 4}.md\:mx-0{margin-left:0;margin-right:0}.md\:block{display:block}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:hidden{display:none}.md\:w-\[min\(460px\,calc\(100\%-2rem\)\)\]{width:min(460px,calc(100% - 2rem))}.md\:-translate-x-1\/2{--tw-translate-x: -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))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:grid-cols-\[110px_120px_120px_minmax\(0\,1fr\)\]{grid-template-columns:110px 120px 120px minmax(0,1fr)}.md\:grid-cols-\[240px_minmax\(0\,1fr\)\]{grid-template-columns:240px minmax(0,1fr)}.md\:grid-cols-\[minmax\(0\,1fr\)_300px\]{grid-template-columns:minmax(0,1fr) 300px}.md\:flex-wrap{flex-wrap:wrap}.md\:items-start{align-items:flex-start}.md\:border-l{border-left-width:1px}.md\:p-5{padding:1.25rem}.md\:px-0{padding-left:0;padding-right:0}.md\:pl-8{padding-left:2rem}}@media (min-width: 1024px){.lg\:sticky{position:sticky}.lg\:top-20{top:5rem}.lg\:col-span-1{grid-column:span 1 / span 1}.lg\:col-span-4{grid-column:span 4 / span 4}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.lg\:grid-cols-\[1fr_0\.85fr\]{grid-template-columns:1fr .85fr}.lg\:grid-cols-\[minmax\(0\,1fr\)_300px\]{grid-template-columns:minmax(0,1fr) 300px}.lg\:grid-cols-\[minmax\(0\,1fr\)_340px\]{grid-template-columns:minmax(0,1fr) 340px}.lg\:grid-cols-\[minmax\(0\,1fr\)_380px\]{grid-template-columns:minmax(0,1fr) 380px}.lg\:grid-cols-\[minmax\(0\,1fr\)_400px\]{grid-template-columns:minmax(0,1fr) 400px}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(180px\,1fr\)_88px_64px_auto\]{grid-template-columns:minmax(0,2fr) minmax(180px,1fr) 88px 64px auto}.lg\:items-end{align-items:flex-end}.lg\:border-l{border-left-width:1px}.lg\:pl-8{padding-left:2rem}}@media (min-width: 1280px){.xl\:col-span-2{grid-column:span 2 / span 2}.xl\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.xl\:grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}}
