@import"https://fonts.googleapis.com/css2?family=Manrope:wght@700;800&family=Inter:wght@400;500;600;700&display=swap";html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.table{display:table}.flex-shrink{flex-shrink:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.font-sans{font-family:var(--font-sans)}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);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{--tw-backdrop-blur:blur(8px);-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,)}.backdrop-filter{-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,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--primary:#0b6b5f;--primary-dim:#005e53;--primary-container:#a1f2e2;--on-primary:#fff;--on-primary-container:#005d52;--secondary:#ba1e1e;--secondary-container:#ffdad6;--on-secondary:#fff;--surface:#f8f9fa;--surface-container-lowest:#fff;--surface-container-low:#f1f4f5;--surface-container:#eaeef0;--surface-container-high:#e5e9eb;--surface-container-highest:#dde3e5;--on-surface:#2d3335;--on-surface-variant:#5a6062;--outline-variant:#adb3b5;--shadow-ambient:0 12px 32px -8px #2d333514;--shadow-float:0 24px 60px #2d33351f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,Pretendard Variable,Noto Sans KR,system-ui,-apple-system,sans-serif;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background-color:var(--surface);min-height:100vh;color:var(--on-surface);margin:0}#app{min-height:100vh}.ant-modal-content{-webkit-backdrop-filter:blur(12px)}.ant-btn-primary:not(.ant-btn-dangerous){background:linear-gradient(135deg,var(--primary),var(--primary-dim));border:none}.ant-btn-primary:not(.ant-btn-dangerous):not(:disabled):hover{opacity:.92;background:linear-gradient(135deg,var(--primary-dim),var(--primary))!important}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}.login-container[data-v-c60fcb82]{display:grid;min-height:100vh;grid-template-columns:6fr 4fr;background:radial-gradient(circle at top left,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,#17324d,#21506e 45%,#2b7a78)}.hero-panel[data-v-c60fcb82]{display:flex;align-items:center;padding:4rem 5rem;color:#f4f7fb}.hero-content[data-v-c60fcb82]{max-width:560px}.hero-logo[data-v-c60fcb82]{width:92px;height:92px;margin-bottom:1.5rem;object-fit:contain;filter:drop-shadow(0 16px 32px rgba(9,20,31,.2))}.hero-eyebrow[data-v-c60fcb82]{margin:0 0 1rem;font-size:.85rem;font-weight:700;letter-spacing:.18em;color:#f4f7fbb8}.hero-panel h1[data-v-c60fcb82]{margin:0;font-size:clamp(3rem,5vw,5rem);line-height:.95;color:#fff;font-family:Manrope,sans-serif;font-weight:800}.login-panel[data-v-c60fcb82]{display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(180deg,#fffffff5,#f5f8fafa)}.login-card[data-v-c60fcb82],.loading-card[data-v-c60fcb82]{width:min(100%,480px);padding:2.5rem 2rem;border-radius:1.5rem;background:#ffffffb8;box-shadow:0 24px 60px #142a3d1f;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.loading-card[data-v-c60fcb82]{display:flex;min-height:220px;align-items:center;justify-content:center;text-align:center;color:var(--on-surface-variant)}.brand[data-v-c60fcb82]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.brand-logo[data-v-c60fcb82]{width:56px;height:56px;object-fit:contain;flex-shrink:0}.brand-copy[data-v-c60fcb82]{flex:1}.brand-label[data-v-c60fcb82]{margin:0 0 .35rem;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#5a7286}.brand-copy h2[data-v-c60fcb82]{margin:0;font-size:1.75rem;line-height:1.2;color:#1d2b36}.brand-highlight[data-v-c60fcb82]{color:var(--primary);font-weight:800;text-shadow:0 1px 0 rgba(255,255,255,.65)}.google-btn[data-v-c60fcb82]{height:auto!important;padding:.95rem 1rem!important;border:1px solid rgba(63,93,120,.15)!important;border-radius:.9rem!important;background:#fff!important;color:#243746!important;font-weight:600!important;font-size:1rem!important;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease!important}.google-btn[data-v-c60fcb82]:hover{transform:translateY(-1px);border-color:#4285f447!important;box-shadow:0 14px 30px #4285f41f!important}.icon[data-v-c60fcb82]{margin-right:12px;font-size:1.2rem;font-weight:700;color:#4285f4}@media(max-width:960px){.login-container[data-v-c60fcb82]{grid-template-columns:1fr}.hero-panel[data-v-c60fcb82]{min-height:42vh;padding:3rem 2rem 2rem}.login-panel[data-v-c60fcb82]{padding:1.5rem 1.25rem 2rem}}.category-chart-card[data-v-fb3d2cf6]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;box-shadow:var(--shadow-ambient)}.category-chart-header h2[data-v-fb3d2cf6]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700}.category-chart-body[data-v-fb3d2cf6]{margin-top:.9rem;display:flex;flex-direction:column;gap:.9rem}.donut-chart[data-v-fb3d2cf6]{position:relative;width:min(260px,100%);aspect-ratio:1 / 1;border-radius:50%;margin:0 auto}.donut-center[data-v-fb3d2cf6]{position:absolute;top:50%;left:50%;width:56%;aspect-ratio:1 / 1;transform:translate(-50%,-50%);border-radius:50%;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;text-align:center}.center-label[data-v-fb3d2cf6]{color:var(--on-surface-variant);font-size:.75rem;font-weight:700}.center-value[data-v-fb3d2cf6]{color:var(--on-surface);font-size:.85rem;line-height:1.2}.category-legend[data-v-fb3d2cf6]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.45rem}.legend-item[data-v-fb3d2cf6]{display:flex;align-items:center;justify-content:space-between;gap:.65rem}.legend-left[data-v-fb3d2cf6]{min-width:0;display:inline-flex;align-items:center;gap:.45rem}.legend-dot[data-v-fb3d2cf6]{width:.6rem;height:.6rem;border-radius:50%;flex-shrink:0}.legend-name[data-v-fb3d2cf6]{color:var(--on-surface-variant);font-size:.83rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legend-right[data-v-fb3d2cf6]{display:inline-flex;align-items:baseline;gap:.4rem;color:var(--on-surface);font-size:.78rem;flex-shrink:0}.legend-right small[data-v-fb3d2cf6]{color:var(--on-surface-variant)}.chart-empty[data-v-fb3d2cf6]{margin:1rem 0 0;color:var(--on-surface-variant);font-size:.86rem}.confirm-message[data-v-16f564f2]{margin:.5rem 0 0;color:var(--on-surface-variant);font-size:.9rem}.confirm-target[data-v-90b5bbe3]{margin:0;color:var(--on-surface-variant);font-size:.85rem}.confirm-error[data-v-90b5bbe3]{margin:.45rem 0 0;color:var(--secondary);font-size:.82rem}.filter-shell[data-v-88fbeac4]{position:relative;z-index:20;margin-bottom:1rem}.filter-primary[data-v-88fbeac4]{display:flex;gap:.5rem;align-items:center}.search-wrapper[data-v-88fbeac4]{position:relative;flex:1;min-width:0;display:flex;align-items:center}.search-icon[data-v-88fbeac4]{position:absolute;left:.7rem;width:16px;height:16px;color:var(--outline-variant);pointer-events:none;flex-shrink:0}.keyword-input[data-v-88fbeac4] .ant-input-affix-wrapper{border-radius:2rem}.keyword-input[data-v-88fbeac4] .ant-input{font-size:.88rem}.filter-toggle-button[data-v-88fbeac4]{display:inline-flex;align-items:center;gap:.35rem;padding:.55rem .9rem;border:1px solid rgba(173,179,181,.15);border-radius:2rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .15s ease,border-color .15s ease,color .15s ease}.filter-toggle-button[data-v-88fbeac4]:hover{background:var(--surface-container-low);border-color:var(--outline-variant)}.filter-toggle-button.active[data-v-88fbeac4],.filter-toggle-button.expanded[data-v-88fbeac4]{background:var(--primary-container);border-color:var(--primary);color:var(--on-primary-container)}.filter-icon[data-v-88fbeac4]{width:15px;height:15px;flex-shrink:0}.filter-badge[data-v-88fbeac4]{display:inline-flex;align-items:center;justify-content:center;min-width:1.1rem;height:1.1rem;padding:0 .25rem;border-radius:999px;background:var(--primary);color:var(--on-primary);font-size:.7rem;font-weight:700;line-height:1}.chevron-icon[data-v-88fbeac4]{width:14px;height:14px;flex-shrink:0;transition:transform .15s ease}.chevron-icon.rotated[data-v-88fbeac4]{transform:rotate(180deg)}.filter-panel[data-v-88fbeac4]{position:absolute;top:calc(100% + .35rem);left:0;min-width:560px;z-index:100;background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:.85rem;box-shadow:var(--shadow-ambient);padding:1.25rem}.filter-grid[data-v-88fbeac4]{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem;margin-bottom:1rem}.filter-group[data-v-88fbeac4]{display:flex;flex-direction:column;gap:.35rem}.filter-label[data-v-88fbeac4]{font-size:.6875rem;font-weight:600;color:var(--on-surface-variant);letter-spacing:.05em;text-transform:uppercase}.date-range[data-v-88fbeac4],.amount-range[data-v-88fbeac4]{display:flex;align-items:center;gap:.4rem}.date-sep[data-v-88fbeac4]{color:var(--outline-variant);font-size:.85rem;flex-shrink:0}.filter-input[data-v-88fbeac4]{flex:1;min-width:0}.filter-select[data-v-88fbeac4]{width:100%}.filter-actions[data-v-88fbeac4]{display:flex;justify-content:flex-end;gap:.5rem;padding-top:.85rem;border-top:1px solid rgba(173,179,181,.15)}.filter-panel-enter-active[data-v-88fbeac4],.filter-panel-leave-active[data-v-88fbeac4]{transition:opacity .15s ease,transform .15s ease}.filter-panel-enter-from[data-v-88fbeac4],.filter-panel-leave-to[data-v-88fbeac4]{opacity:0;transform:translateY(-8px)}@media(max-width:768px){.filter-panel[data-v-88fbeac4]{left:0;right:0;min-width:unset}.filter-grid[data-v-88fbeac4]{grid-template-columns:1fr}}@media(max-width:480px){.filter-panel[data-v-88fbeac4]{position:fixed;inset:auto 0 0;border-radius:1rem 1rem 0 0;max-height:75vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.filter-panel-enter-from[data-v-88fbeac4],.filter-panel-leave-to[data-v-88fbeac4]{opacity:0;transform:translateY(100%)}}.month-calendar-card[data-v-b67e24d3]{border-radius:.9rem;background:var(--surface-container-lowest);box-shadow:var(--shadow-ambient);overflow:hidden;flex-shrink:0}.month-calendar-header h2[data-v-b67e24d3]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700;padding:1rem 1rem 0}.month-calendar-body[data-v-b67e24d3]{margin-top:.5rem}.month-calendar-body[data-v-b67e24d3] .ant-picker-calendar-mini,.month-calendar-body[data-v-b67e24d3] .ant-picker-panel{border-top:none}.calendar-date-cell[data-v-b67e24d3]{display:flex;flex-direction:column;gap:.4rem;width:100%;height:100%;padding:0 .25rem}.calendar-date-number[data-v-b67e24d3]{display:flex;justify-content:center;font-size:.85rem;color:var(--on-surface);line-height:1.5}.calendar-date-number--today[data-v-b67e24d3]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;border-radius:50%;background-color:var(--primary, #1677ff);color:var(--on-primary, #ffffff);font-weight:700;margin:0 auto}.calendar-date-content[data-v-b67e24d3]{min-height:1.4rem;align-content:center}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th{display:table-cell;font-size:0;font-weight:600}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:before{display:block;font-size:.75rem;color:var(--on-surface-variant)}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(1):before{content:"일";color:#ff4d4f}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(2):before{content:"월"}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(3):before{content:"화"}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(4):before{content:"수"}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(5):before{content:"목"}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(6):before{content:"금"}.month-calendar-body[data-v-b67e24d3] .ant-picker-content thead th:nth-child(7):before{content:"토";color:#1677ff}.month-calendar-body[data-v-b67e24d3] .ant-picker-cell{pointer-events:none;cursor:default;border-top:1px solid rgba(0,0,0,.05);border-left:1px solid rgba(0,0,0,.05)}.month-calendar-body[data-v-b67e24d3] .ant-picker-content td:first-child{border-left:none}.month-calendar-body[data-v-b67e24d3] tbody tr:not(:has(.ant-picker-cell-in-view)){display:none}.calendar-month-title[data-v-b67e24d3]{padding:.5rem 1rem;font-size:.9rem;font-weight:600;color:var(--on-surface);text-align:center}.calendar-day-amount[data-v-b67e24d3]{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--on-surface-variant);font-size:.65rem;font-weight:600;line-height:1.3}.modal-body[data-v-6d1be40e]{padding:.25rem 0}.hint[data-v-6d1be40e]{margin:.55rem 0 0;color:var(--on-surface-variant);font-size:.78rem}.error[data-v-6d1be40e]{margin:.5rem 0 0;color:var(--secondary);font-size:.8rem}.row-context-menu[data-v-971bbebf]{position:fixed;z-index:1400;min-width:140px;border-radius:.7rem;overflow:hidden;box-shadow:var(--shadow-ambient)}[data-v-971bbebf] .ant-menu{border-inline-end:none!important;background:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:.35rem;border-radius:.7rem}[data-v-971bbebf] .ant-menu-item{border-radius:.5rem;font-size:.84rem;font-weight:600;color:var(--on-surface);height:auto;line-height:1.5;padding:.55rem .65rem;margin:0}[data-v-971bbebf] .ant-menu-item:hover,[data-v-971bbebf] .ant-menu-item-selected{background:var(--surface-container-low)!important;color:var(--on-surface)!important}.payment-method-spend-card[data-v-d226a1d9]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;box-shadow:var(--shadow-ambient)}.payment-method-spend-header[data-v-d226a1d9]{display:block}.payment-method-spend-header h2[data-v-d226a1d9]{margin:0;color:var(--on-surface);font-size:1.05rem;font-weight:700}.payment-method-spend-body[data-v-d226a1d9]{margin-top:.9rem}.payment-method-spend-list[data-v-d226a1d9]{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.85rem}.payment-method-spend-item[data-v-d226a1d9]{display:flex;flex-direction:column;gap:.45rem;padding:.15rem 0}.payment-method-spend-row[data-v-d226a1d9]{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.payment-method-spend-main[data-v-d226a1d9]{min-width:0;display:flex;flex-direction:column;gap:.2rem}.payment-method-spend-name-wrap[data-v-d226a1d9]{min-width:0;display:inline-flex;align-items:center;gap:.45rem}.payment-method-spend-dot[data-v-d226a1d9]{width:.62rem;height:.62rem;border-radius:999px;flex-shrink:0}.payment-method-spend-name[data-v-d226a1d9]{color:var(--on-surface-variant);font-size:.84rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.payment-method-spend-requirement[data-v-d226a1d9]{color:var(--on-surface-variant);font-size:.74rem}.payment-method-spend-requirement.is-empty[data-v-d226a1d9]{color:var(--outline-variant)}.payment-method-spend-side[data-v-d226a1d9]{display:flex;flex-direction:column;align-items:flex-end;gap:.18rem;flex-shrink:0}.payment-method-spend-amount[data-v-d226a1d9]{flex-shrink:0;color:var(--on-surface);font-size:.82rem}.payment-method-spend-rate[data-v-d226a1d9]{color:var(--on-surface-variant);font-size:.73rem;font-weight:700}.payment-method-spend-rate.is-empty[data-v-d226a1d9]{color:var(--outline-variant)}.payment-method-spend-progress-track[data-v-d226a1d9]{width:100%;height:.5rem;border-radius:999px;background:var(--surface-container-low);box-sizing:border-box;overflow:hidden;border:.5px solid rgba(0,0,0,.08)}.payment-method-spend-progress-fill[data-v-d226a1d9]{height:100%;border-radius:inherit}.payment-method-spend-progress-fill.is-empty[data-v-d226a1d9]{opacity:.7}.payment-method-spend-empty[data-v-d226a1d9]{margin:1rem 0 0;color:var(--on-surface-variant);font-size:.86rem}th[data-v-33753a85]{padding:.65rem .8rem;background-color:var(--surface-container-low);font-weight:600;font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant);text-align:left}th[data-v-33753a85]:last-child{border-right:none}.content-col[data-v-33753a85]{width:auto}.category-col[data-v-33753a85]{width:130px;min-width:130px;max-width:130px}.amount-col[data-v-33753a85]{text-align:right;width:110px;min-width:110px;max-width:110px}.payment-method-col[data-v-33753a85]{width:130px;min-width:130px;max-width:130px}.date-col[data-v-33753a85]{width:110px;min-width:110px;max-width:110px}.sort-header-button[data-v-33753a85]{width:100%;display:inline-flex;align-items:center;justify-content:space-between;gap:.45rem;border:none;background:transparent;padding:0;color:inherit;font:inherit;cursor:pointer}.sort-indicator[data-v-33753a85]{color:var(--outline-variant);font-size:.82rem}.amount-header[data-v-33753a85]{justify-content:flex-end}@media(max-width:720px){.category-col[data-v-33753a85],.payment-method-col[data-v-33753a85]{width:100px;min-width:100px;max-width:100px}.amount-col[data-v-33753a85],.date-col[data-v-33753a85]{width:88px;min-width:88px;max-width:88px}}.ledger-badge[data-v-61e55f98]{display:inline-flex;align-items:center;gap:.36rem;max-width:100%;padding:.22rem .52rem;border-radius:999px;border:1px solid transparent}.ledger-badge-icon[data-v-61e55f98]{font-size:.72rem;line-height:1}.ledger-badge-label[data-v-61e55f98]{font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.category-dropdown[data-v-b73a429d]{width:100%;min-height:46px;padding:.6rem .8rem;display:flex;align-items:center;justify-content:space-between;gap:.45rem;position:relative;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--on-surface);font-size:.88rem;box-sizing:border-box;transition:box-shadow .14s ease,background-color .14s ease}.category-dropdown[data-v-b73a429d]:focus{outline:none;box-shadow:inset 0 0 0 2px var(--primary);background-color:var(--surface-container-lowest)}.category-dropdown.saving[data-v-b73a429d]{box-shadow:inset 0 0 0 2px var(--primary)}.category-dropdown.invalid[data-v-b73a429d]{box-shadow:inset 0 0 0 2px var(--secondary);background-color:var(--secondary-container)}.category-dropdown.disabled[data-v-b73a429d]{opacity:.65;cursor:not-allowed}.dropdown-arrow[data-v-b73a429d]{color:var(--outline-variant);font-size:.7rem;flex-shrink:0}.category-dropdown-menu[data-v-b73a429d]{background:#fffc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:.55rem;box-shadow:var(--shadow-ambient);padding:.3rem}.dropdown-option[data-v-b73a429d]{width:100%;border:none;border-radius:.45rem;background:transparent;text-align:left;cursor:pointer;padding:.38rem .42rem;display:flex;align-items:center}.dropdown-option[data-v-b73a429d]:hover{background:var(--surface-container-low)}.dropdown-option.active[data-v-b73a429d]{background:var(--primary-container)}.placeholder-option[data-v-b73a429d]{color:var(--on-surface-variant);font-size:.82rem}.placeholder[data-v-b73a429d]{color:var(--outline-variant)}td[data-v-b1293905]{padding:0;text-align:left;color:var(--on-surface);font-size:.9rem;vertical-align:top}.ledger-row[data-v-b1293905]{transition:background-color .15s ease}.ledger-row[data-v-b1293905]:nth-child(odd):not(.draft-row){background-color:var(--surface-container-lowest)}.ledger-row[data-v-b1293905]:nth-child(2n):not(.draft-row){background-color:var(--surface-container-low)}.draft-row[data-v-b1293905]{background-color:var(--surface-container)}.content-col[data-v-b1293905]{width:auto}.category-col[data-v-b1293905],.payment-method-col[data-v-b1293905]{width:130px;min-width:130px;max-width:130px}.date-col[data-v-b1293905]{width:110px;min-width:110px;max-width:110px}.amount-col[data-v-b1293905]{text-align:right;font-variant-numeric:tabular-nums;width:110px;min-width:110px;max-width:110px}.cell-input[data-v-b1293905],.cell-surface[data-v-b1293905]{width:100%;min-height:46px;padding:.6rem .8rem;border:none;border-radius:0;background-color:transparent;color:var(--on-surface);font-size:.88rem;box-sizing:border-box;transition:box-shadow .14s ease,background-color .14s ease}.cell-surface[data-v-b1293905]{display:flex;align-items:center;cursor:text;-webkit-user-select:none;user-select:none}.description-content[data-v-b1293905]{min-width:0;width:100%;display:flex;align-items:center;justify-content:space-between;gap:.5rem}.description-text[data-v-b1293905]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recognized-badge[data-v-b1293905]{flex-shrink:0;border-radius:999px;background:var(--primary-container);color:var(--on-primary-container);font-size:.72rem;font-weight:700;padding:.14rem .42rem;cursor:pointer}.cell-surface[data-v-b1293905]:focus{outline:none}.category-surface[data-v-b1293905]{cursor:pointer}.cell-active[data-v-b1293905]{box-shadow:inset 0 0 0 2px var(--primary-container);background-color:#a1f2e259}.cell-editing[data-v-b1293905]:focus{outline:none;box-shadow:inset 0 0 0 2px var(--primary);background-color:var(--surface-container-lowest)}.placeholder[data-v-b1293905]{color:var(--outline-variant)}.cell-input.saving[data-v-b1293905],.cell-surface.saving[data-v-b1293905]{box-shadow:inset 0 0 0 2px var(--primary)}.cell-input.invalid[data-v-b1293905],.cell-surface.invalid[data-v-b1293905]{box-shadow:inset 0 0 0 2px var(--secondary);background-color:var(--secondary-container)}.cell-error[data-v-b1293905]{margin:.33rem 0 0;color:var(--secondary);font-size:.77rem}.amount-surface[data-v-b1293905]{justify-content:flex-end;text-align:right;font-variant-numeric:tabular-nums}.amount-input[data-v-b1293905]{text-align:right}.amount-error[data-v-b1293905]{text-align:left}.recognized-tooltip-content[data-v-b1293905]{display:flex;flex-direction:column;gap:.15rem}.recognized-tooltip-label[data-v-b1293905]{font-size:.68rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;opacity:.65}.recognized-tooltip-value[data-v-b1293905]{font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums}@media(max-width:720px){.category-col[data-v-b1293905],.payment-method-col[data-v-b1293905]{width:100px;min-width:100px;max-width:100px}.amount-col[data-v-b1293905],.date-col[data-v-b1293905]{width:88px;min-width:88px;max-width:88px}}.ledger-view[data-v-743bd64c]{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;padding:0 2rem 2rem}.ledger-controls[data-v-743bd64c]{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-bottom:.75rem;flex-shrink:0}.month-input[data-v-743bd64c]{border:none;border-radius:.55rem;background:var(--surface-container-lowest);color:var(--on-surface);padding:.38rem .52rem;font-size:.84rem;min-height:2.25rem;outline:1px solid rgba(173,179,181,.15)}.ledger-content-layout[data-v-743bd64c]{display:grid;grid-template-columns:6fr 4fr;gap:1rem;align-items:stretch;flex:1;min-height:0;overflow:hidden}.ledger-main-panel[data-v-743bd64c]{min-width:0;min-height:0;height:100%;overflow:visible;position:relative;z-index:1;display:flex;flex-direction:column}.ledger-side-panel[data-v-743bd64c]{height:100%;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.add-error[data-v-743bd64c]{margin:0 0 .7rem;flex-shrink:0}.ledger-table-wrap[data-v-743bd64c]{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;background-color:var(--surface-container-lowest);border-radius:.85rem;position:relative;box-shadow:var(--shadow-ambient)}.ledger-table-header-outer[data-v-743bd64c]{flex-shrink:0;overflow:hidden}.ledger-table-scroll[data-v-743bd64c]{flex:1;min-height:0;overflow-x:auto;overflow-y:auto;-webkit-overflow-scrolling:touch}.ledger-table[data-v-743bd64c]{width:100%;table-layout:fixed;border-collapse:collapse;min-width:0}.col-category[data-v-743bd64c],.col-payment-method[data-v-743bd64c]{width:130px}.col-amount[data-v-743bd64c],.col-date[data-v-743bd64c]{width:110px}.add-row-outer[data-v-743bd64c]{background:#f1f4f5f5;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 -6px 12px #2d33350f;border-radius:0 0 .85rem .85rem;flex-shrink:0}.table-add-row-button[data-v-743bd64c]{width:100%;border:none;background:transparent;color:var(--on-surface-variant);font-size:.88rem;font-weight:600;display:inline-flex;align-items:center;gap:.4rem;justify-content:flex-start;padding:.72rem .85rem;cursor:pointer;transition:background-color .12s ease,color .12s ease}.table-add-row-button[data-v-743bd64c]:hover{background:var(--surface-container-low);color:var(--primary)}.table-add-row-button[data-v-743bd64c]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-743bd64c],.error-state[data-v-743bd64c],.empty-state[data-v-743bd64c]{color:var(--on-surface-variant);text-align:center;padding:1rem}.error-state[data-v-743bd64c]{color:var(--secondary)}@media(max-width:1500px){.ledger-content-layout[data-v-743bd64c]{grid-template-columns:1fr}}@media(max-width:960px){.ledger-view[data-v-743bd64c]{flex:none;min-height:auto;overflow:visible}.ledger-content-layout[data-v-743bd64c]{overflow:visible;flex:none}.ledger-main-panel[data-v-743bd64c]{height:auto;overflow:visible;display:block}.ledger-table-wrap[data-v-743bd64c]{flex:none;min-height:auto;overflow:visible}.ledger-table-scroll[data-v-743bd64c]{flex:none;min-height:auto;overflow-x:auto;overflow-y:visible;max-height:none;border-radius:inherit}.add-row-outer[data-v-743bd64c]{border-radius:0}.ledger-side-panel[data-v-743bd64c]{height:auto;overflow-y:visible}}@media(max-width:720px){.ledger-view[data-v-743bd64c]{padding:0 1rem 1rem}.col-category[data-v-743bd64c],.col-payment-method[data-v-743bd64c]{width:100px}.col-amount[data-v-743bd64c],.col-date[data-v-743bd64c]{width:88px}}.ledger-layout[data-v-e405ae4e]{height:100vh;overflow:hidden;display:flex;flex-direction:column}.ledger-layout-header[data-v-e405ae4e]{flex-shrink:0;padding:2rem 2rem 0;margin-bottom:.75rem}.ledger-layout-title[data-v-e405ae4e]{display:flex;align-items:baseline;gap:1.5rem}.ledger-layout-title h1[data-v-e405ae4e]{margin:0;font-size:1.5rem;font-weight:800;color:var(--on-surface);flex-shrink:0;font-family:Manrope,sans-serif;letter-spacing:-.01em}.ledger-tabs[data-v-e405ae4e]{display:flex;gap:1.25rem}.ledger-tab[data-v-e405ae4e]{text-decoration:none;color:var(--on-surface-variant);font-size:.95rem;font-weight:500;padding:.2rem 0;border-bottom:2px solid transparent;transition:color .15s ease,border-color .15s ease;white-space:nowrap}.ledger-tab[data-v-e405ae4e]:hover{color:var(--on-surface)}.ledger-tab.router-link-active[data-v-e405ae4e]{color:var(--on-surface);font-weight:600;border-bottom-color:var(--primary)}.ledger-layout-content[data-v-e405ae4e]{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}@media(max-width:960px){.ledger-layout[data-v-e405ae4e]{height:auto;min-height:100dvh;overflow:visible}.ledger-layout-content[data-v-e405ae4e]{flex:none;overflow-y:visible}}@media(max-width:720px){.ledger-layout-header[data-v-e405ae4e]{padding:1rem 1rem 0}}.combo-chart-wrapper[data-v-cfab3f70]{position:relative;width:100%}.combo-svg[data-v-cfab3f70]{display:block;overflow:visible}.chart-tooltip[data-v-cfab3f70]{position:absolute;transform:translate(-50%,-100%);background:var(--on-surface);color:#f9fafb;border-radius:.5rem;padding:.5rem .65rem;pointer-events:none;z-index:10;min-width:140px;max-width:min(140px,calc(100% - 1rem));box-shadow:0 4px 12px #0003}.tooltip-month[data-v-cfab3f70]{margin:0 0 .3rem;font-size:.8rem;font-weight:700;color:var(--primary-container)}.tooltip-amount[data-v-cfab3f70]{margin:0;font-size:.88rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--primary-container)}.chart-legend[data-v-cfab3f70]{display:flex;gap:1rem;justify-content:flex-end;margin-top:.25rem;font-size:.76rem;color:var(--on-surface-variant)}.legend-bar[data-v-cfab3f70],.legend-line[data-v-cfab3f70]{display:flex;align-items:center;gap:.3rem}.legend-swatch[data-v-cfab3f70]{display:inline-block;width:12px;height:12px;border-radius:2px}.bar-swatch[data-v-cfab3f70]{background:linear-gradient(135deg,var(--primary-container),var(--primary))}.line-swatch[data-v-cfab3f70]{background:#f59e0b;border-radius:50%}.avg-swatch[data-v-cfab3f70]{background:repeating-linear-gradient(90deg,#94a3b8 0px,#94a3b8 5px,transparent 5px,transparent 9px);border-radius:0}.annual-category-section[data-v-d4e335e3]{margin-top:.85rem}.section-panels[data-v-d4e335e3]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:.85rem}.panel[data-v-d4e335e3]{border-radius:.85rem;background:var(--surface-container-lowest);padding:.9rem 1rem;box-shadow:var(--shadow-ambient)}.panel h3[data-v-d4e335e3]{margin:0 0 .65rem;font-size:.95rem;color:var(--on-surface)}.empty-state[data-v-d4e335e3]{text-align:center;padding:1rem;color:var(--on-surface-variant);font-size:.84rem}.bar-list[data-v-d4e335e3]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.bar-item[data-v-d4e335e3]{display:flex;flex-direction:column;gap:.2rem}.bar-meta[data-v-d4e335e3]{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:var(--on-surface)}.cat-icon[data-v-d4e335e3]{font-size:.9rem;line-height:1}.cat-name[data-v-d4e335e3]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cat-amount[data-v-d4e335e3]{font-variant-numeric:tabular-nums;font-size:.78rem;color:var(--on-surface-variant);white-space:nowrap}.bar-track[data-v-d4e335e3]{height:6px;background:#adb3b526;border-radius:3px;overflow:hidden}.bar-fill[data-v-d4e335e3]{height:100%;border-radius:3px;transition:width .3s ease;min-width:2px}.heatmap-wrapper[data-v-d4e335e3]{overflow-x:auto}.heatmap-grid[data-v-d4e335e3]{display:grid;grid-template-columns:90px repeat(12,1fr);gap:3px;min-width:360px}.heatmap-month-label[data-v-d4e335e3]{font-size:.65rem;color:var(--on-surface-variant);text-align:center;padding:2px 0;letter-spacing:.02em}.heatmap-label[data-v-d4e335e3]{display:flex;align-items:center;gap:.25rem;padding:2px 0}.cat-icon-sm[data-v-d4e335e3]{font-size:.75rem;line-height:1;flex-shrink:0}.cat-name-sm[data-v-d4e335e3]{font-size:.7rem;color:var(--on-surface);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.heatmap-cell[data-v-d4e335e3]{height:18px;border-radius:3px;border:1px solid rgba(173,179,181,.1);cursor:default;transition:opacity .15s}.heatmap-cell[data-v-d4e335e3]:hover{opacity:.75;outline:1px solid rgba(173,179,181,.4)}@media(max-width:980px){.section-panels[data-v-d4e335e3]{grid-template-columns:1fr}}.monthly-stats-view[data-v-f06ec282]{min-height:100vh;padding:2rem}.stats-header[data-v-f06ec282]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.stats-header h1[data-v-f06ec282]{margin:0;font-size:1.5rem;font-weight:800;color:var(--on-surface);font-family:Manrope,sans-serif;letter-spacing:-.01em}.stats-controls[data-v-f06ec282]{display:flex;gap:.5rem}.chart-panel[data-v-f06ec282]{border-radius:.85rem;background:var(--surface-container-lowest);padding:.9rem 1rem;box-shadow:var(--shadow-ambient);margin-bottom:.85rem;max-width:900px}.chart-panel h3[data-v-f06ec282]{margin:0 0 .65rem;font-size:.95rem;color:var(--on-surface)}.chart-with-summary[data-v-f06ec282]{display:flex;align-items:flex-start;gap:1.25rem}.chart-with-summary[data-v-f06ec282]>:first-child{flex:1;min-width:0}.side-cards[data-v-f06ec282]{flex-shrink:0;width:152px;display:flex;flex-direction:column;gap:.6rem}.side-card[data-v-f06ec282]{display:flex;flex-direction:column;gap:.4rem;padding:.75rem .85rem;border-radius:.65rem;background:var(--surface-container-low);border:1px solid rgba(173,179,181,.12)}.side-label[data-v-f06ec282]{margin:0;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--on-surface-variant)}.side-value[data-v-f06ec282]{margin:0;font-size:1.05rem;font-weight:700;color:var(--on-surface);font-variant-numeric:tabular-nums}.avg-breakdown[data-v-f06ec282]{display:flex;flex-direction:column;gap:.3rem;padding-top:.35rem;border-top:1px solid rgba(173,179,181,.12)}.avg-breakdown-item[data-v-f06ec282]{display:flex;align-items:center;gap:.35rem;font-size:.78rem}.breakdown-dot[data-v-f06ec282]{width:7px;height:7px;border-radius:50%;flex-shrink:0}.above .breakdown-dot[data-v-f06ec282]{background:#c2410c}.below .breakdown-dot[data-v-f06ec282]{background:#0369a1}.breakdown-text[data-v-f06ec282]{flex:1;color:var(--on-surface-variant)}.breakdown-count[data-v-f06ec282]{font-weight:600;font-variant-numeric:tabular-nums;color:var(--on-surface)}@media(max-width:600px){.chart-with-summary[data-v-f06ec282]{flex-direction:column}.side-cards[data-v-f06ec282]{width:100%;flex-direction:row;flex-wrap:wrap}.side-card[data-v-f06ec282]{flex:1;min-width:140px}}.loading-state[data-v-f06ec282],.error-state[data-v-f06ec282]{text-align:center;padding:1rem;color:var(--on-surface-variant)}.error-state[data-v-f06ec282]{color:var(--secondary)}@media(max-width:720px){.monthly-stats-view[data-v-f06ec282]{padding:1rem}.stats-header[data-v-f06ec282]{flex-direction:column;align-items:flex-start}}@media(max-width:480px){.stats-header[data-v-f06ec282]{gap:.5rem}}.color-picker[data-v-c85b629f]{display:flex;gap:.45rem;flex-wrap:wrap}.color-picker.is-cell[data-v-c85b629f]{align-items:center}.color-picker.is-modal[data-v-c85b629f]{flex-direction:column}.color-picker-main[data-v-c85b629f]{display:inline-flex;align-items:center;gap:.5rem}.color-picker-label[data-v-c85b629f]{color:var(--on-surface-variant);font-size:.82rem;font-weight:600}.current-color-preview-button[data-v-c85b629f]{width:1.85rem;height:1.85rem;border:1px solid rgba(173,179,181,.15);border-radius:.5rem;box-sizing:border-box;cursor:pointer;background:var(--surface-container-lowest)}.native-color-input[data-v-c85b629f]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.preset-color-row[data-v-c85b629f]{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.preset-color-button[data-v-c85b629f]{width:1rem;height:1rem;border:1px solid rgba(173,179,181,.15);border-radius:999px;box-sizing:border-box;cursor:pointer}.preset-color-button[data-v-c85b629f]:disabled,.current-color-preview-button[data-v-c85b629f]:disabled{cursor:not-allowed;opacity:.45}.create-form[data-v-ee5f569e]{display:flex;flex-direction:column;gap:.6rem;padding:.25rem 0}.hint[data-v-ee5f569e]{margin:0;color:var(--on-surface-variant);font-size:.78rem}.error[data-v-ee5f569e]{margin:0;color:var(--secondary);font-size:.82rem}.settings-section[data-v-1a3f47e5]{border-radius:.9rem;background:var(--surface-container-lowest);padding:1rem;margin-top:1rem;box-shadow:var(--shadow-ambient)}.section-header[data-v-1a3f47e5]{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.9rem}.section-header h3[data-v-1a3f47e5]{margin:0;color:var(--on-surface);font-size:1rem;font-weight:700;font-family:Manrope,sans-serif}.section-description[data-v-1a3f47e5]{margin:.2rem 0 0;color:var(--on-surface-variant);font-size:.84rem}.table-wrap[data-v-1a3f47e5]{overflow-x:auto}.settings-table[data-v-1a3f47e5]{width:100%;border-collapse:collapse;min-width:680px}.settings-table[data-v-1a3f47e5] th,.settings-table[data-v-1a3f47e5] td{border-bottom:1px solid rgba(173,179,181,.15);padding:.55rem .45rem;text-align:left;vertical-align:middle}.settings-table[data-v-1a3f47e5] th{color:var(--on-surface-variant);font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;background:var(--surface-container-low)}.drag-col[data-v-1a3f47e5]{width:48px;text-align:center}.action-col[data-v-1a3f47e5]{width:72px;text-align:center}.row-actions[data-v-1a3f47e5]{display:flex;align-items:center;justify-content:center;gap:.2rem}.settings-table tbody tr[data-v-1a3f47e5]{transition:background .12s}.settings-table tbody tr[data-v-1a3f47e5]:hover{background:#00000005}.drag-handle[data-v-1a3f47e5]{border:1px solid rgba(173,179,181,.15);border-radius:.45rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;cursor:grab;padding:0;opacity:0;transition:opacity .12s}.settings-table tbody tr:hover .drag-handle[data-v-1a3f47e5],.settings-table tbody tr:focus-within .drag-handle[data-v-1a3f47e5]{opacity:1}.drag-handle[data-v-1a3f47e5]:active{cursor:grabbing}.drag-handle[data-v-1a3f47e5]:disabled{opacity:.3!important;cursor:not-allowed}.drag-handle svg[data-v-1a3f47e5]{width:14px;height:14px;fill:currentColor}.edit-btn[data-v-1a3f47e5]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.45rem;background:transparent;color:var(--on-surface-variant);cursor:pointer;padding:0;opacity:0;transition:opacity .12s,background .12s}.settings-table tbody tr:hover .edit-btn[data-v-1a3f47e5],.settings-table tbody tr:focus-within .edit-btn[data-v-1a3f47e5]{opacity:.45}.edit-btn[data-v-1a3f47e5]:hover{opacity:1!important;background:var(--surface-container-low)}.edit-btn[data-v-1a3f47e5]:disabled{opacity:.15!important;cursor:not-allowed}.edit-btn svg[data-v-1a3f47e5]{width:15px;height:15px;stroke-width:1.75}.delete-btn[data-v-1a3f47e5]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:.45rem;background:transparent;color:var(--secondary);cursor:pointer;padding:0;opacity:0;transition:opacity .12s,background .12s}.settings-table tbody tr:hover .delete-btn[data-v-1a3f47e5],.settings-table tbody tr:focus-within .delete-btn[data-v-1a3f47e5]{opacity:.38}.delete-btn[data-v-1a3f47e5]:hover{opacity:1!important;background:#ef444414}.delete-btn[data-v-1a3f47e5]:disabled{opacity:.15!important;cursor:not-allowed}.delete-btn svg[data-v-1a3f47e5]{width:17px;height:17px;stroke-width:1.75}.drag-over-row[data-v-1a3f47e5]{background:var(--primary-container)!important}.empty-cell[data-v-1a3f47e5]{text-align:center;color:var(--on-surface-variant);font-size:.84rem;padding:1rem}.global-error[data-v-1a3f47e5]{margin:.35rem 0 0;color:var(--secondary);font-size:.76rem}@media(max-width:980px){.section-header[data-v-1a3f47e5]{align-items:stretch;flex-direction:column}}@media(max-width:720px){.settings-table[data-v-1a3f47e5]{min-width:560px}.drag-handle[data-v-1a3f47e5]{touch-action:none;opacity:.4;cursor:not-allowed}.edit-btn[data-v-1a3f47e5],.delete-btn[data-v-1a3f47e5]{opacity:.38}}.cell-text[data-v-bf45243d]{color:var(--on-surface);font-size:.875rem}.cell-text--icon[data-v-bf45243d]{font-size:1rem}.color-swatch[data-v-bf45243d]{display:inline-block;width:1.4rem;height:1.4rem;border-radius:.35rem;border:1px solid rgba(173,179,181,.2);vertical-align:middle}.cell-text[data-v-8e4ea276]{color:var(--on-surface);font-size:.875rem}.color-swatch[data-v-8e4ea276]{display:inline-block;width:1.4rem;height:1.4rem;border-radius:.35rem;border:1px solid rgba(173,179,181,.2);vertical-align:middle}.settings-view[data-v-47a6ebfe]{min-height:100vh;padding:2rem}.settings-header[data-v-47a6ebfe]{margin-bottom:.9rem}.settings-header h1[data-v-47a6ebfe]{margin:0;color:var(--on-surface);font-size:1.45rem;font-weight:800;font-family:Manrope,sans-serif;letter-spacing:-.01em}.state-message[data-v-47a6ebfe]{border-radius:.75rem;background:var(--surface-container-lowest);color:var(--on-surface-variant);padding:1rem;box-shadow:var(--shadow-ambient)}.state-message.error[data-v-47a6ebfe]{color:var(--secondary)}@media(max-width:720px){.settings-view[data-v-47a6ebfe]{padding:1rem}.settings-header h1[data-v-47a6ebfe]{font-size:1.2rem}}.app-navbar[data-v-7f2bf212]{width:260px;min-width:260px;height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:1.5rem 1rem;background:var(--surface-container-low)}.brand[data-v-7f2bf212]{display:flex;align-items:center;gap:.65rem;padding:.4rem .6rem 1rem}.brand h1[data-v-7f2bf212]{margin:0;font-size:1.05rem;font-weight:700;letter-spacing:.02em;color:var(--on-surface);font-family:Manrope,sans-serif}.brand-icon[data-v-7f2bf212]{width:26px;height:26px;object-fit:contain;flex-shrink:0}.nav-links[data-v-7f2bf212]{display:flex;flex-direction:column;gap:.25rem}.nav-link[data-v-7f2bf212]{display:flex;align-items:center;width:100%;text-decoration:none;color:var(--on-surface-variant);font-size:1rem;font-weight:600;letter-spacing:.02em;padding:.55rem .65rem;border-radius:.5rem;box-sizing:border-box;transition:background-color .15s ease,color .15s ease}.nav-link[data-v-7f2bf212]:hover{background-color:var(--primary-container);color:var(--primary)}.nav-link-active[data-v-7f2bf212]{background-color:var(--primary-container);color:var(--on-primary-container)}.navbar-footer[data-v-7f2bf212]{margin-top:auto;border-top:1px solid rgba(173,179,181,.15);padding:1rem .6rem .2rem}.user-meta[data-v-7f2bf212]{margin-bottom:.8rem}.user-name[data-v-7f2bf212]{margin:0;color:var(--on-surface);font-size:.9rem;font-weight:700}.user-email[data-v-7f2bf212]{margin:.2rem 0 0;color:var(--on-surface-variant);font-size:.78rem;word-break:break-all}.drawer-close-button[data-v-7f2bf212]{display:none;margin-left:auto;padding:.35rem;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:.4rem;line-height:0;flex-shrink:0}.drawer-close-button[data-v-7f2bf212]:hover{background-color:#f3f4f6;color:#374151}@media(max-width:960px){.drawer-close-button[data-v-7f2bf212]{display:flex;align-items:center;justify-content:center}}.main-layout[data-v-af52a6ec]{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}.main-content[data-v-af52a6ec]{min-width:0;min-height:100vh;background-color:#f8f9fa;display:flex;flex-direction:column}.mobile-top-bar[data-v-af52a6ec],.drawer-backdrop[data-v-af52a6ec]{display:none}@media(max-width:960px){.main-layout[data-v-af52a6ec]{grid-template-columns:1fr}[data-v-af52a6ec] .app-navbar{position:fixed;left:0;top:0;height:100vh;z-index:500;transform:translate(-100%);transition:transform .28s ease;box-shadow:none}[data-v-af52a6ec] .app-navbar.drawer-open{transform:translate(0);box-shadow:var(--shadow-float)}.drawer-backdrop[data-v-af52a6ec]{display:block;position:fixed;inset:0;z-index:490;background:#00000059}.mobile-top-bar[data-v-af52a6ec]{display:flex;align-items:center;position:sticky;top:0;z-index:400;height:52px;background:var(--surface-container-high);padding:0 1rem;gap:.75rem;flex-shrink:0}.hamburger-button[data-v-af52a6ec]{width:40px!important;height:40px!important;padding:0!important;color:var(--on-surface-variant)!important;flex-shrink:0}.mobile-page-title[data-v-af52a6ec]{font-size:.95rem;font-weight:700;color:var(--on-surface);flex:1;text-align:center}.mobile-top-bar-spacer[data-v-af52a6ec]{width:40px;flex-shrink:0}}
