/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--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-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}}}@layer theme{:host,:root{--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;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{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}:host,html{-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,pre,samp{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}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,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,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-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,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.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)}.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,)}}:root{--bg:#17181d;--sidebar:#111217;--panel:#202126;--panel-2:#25262c;--line:#303138;--muted:#8d91a0;--text:#f7f7fa;--purple:#7357ff;--purple-soft:#927eff;--accent-rgb:115 87 255;--font-step:0px;--mint:#38d9b5;--coral:#ff6877}*{box-sizing:border-box}html{scroll-behavior:smooth}.app-shell,.modal,.panel,.sidebar,.summary-card,.topbar,body,html{transition:background-color .25s,border-color .25s,color .25s}body{background:var(--bg);color:var(--text);margin:0;font-family:Pretendard,Noto Sans KR,Apple SD Gothic Neo,Inter,Arial,sans-serif}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}.pwa-install-button{z-index:60;border:1px solid rgb(var(--accent-rgb)/.45);background:linear-gradient(135deg,var(--purple-soft),var(--purple));color:#fff;box-shadow:0 14px 34px rgb(var(--accent-rgb)/.3);cursor:pointer;font-size:calc(11px + var(--font-step));border-radius:13px;align-items:center;gap:8px;padding:12px 16px;font-weight:800;display:flex;position:fixed;bottom:20px;right:20px}.pwa-install-button span{width:20px;height:20px;font-size:calc(14px + var(--font-step));background:#ffffff26;border-radius:7px;place-items:center;display:grid}.pwa-install-button:hover{transform:translateY(-1px);box-shadow:0 17px 38px #3d26a175}.app-shell{background:radial-gradient(circle at 62% -20%,rgb(var(--accent-rgb)/.12),transparent 32%),var(--bg);min-height:100vh}.sidebar{z-index:20;background:#111217f5;border-right:1px solid #282930;flex-direction:column;width:220px;padding:28px 18px 20px;display:flex;position:fixed;inset:0 auto 0 0}.brand{letter-spacing:.13em;align-items:center;gap:11px;padding:0 10px 34px;display:flex}.brand-mark{background:linear-gradient(145deg,var(--purple-soft),var(--purple));width:31px;height:31px;box-shadow:0 8px 22px rgb(var(--accent-rgb)/.32);font-size:calc(14px + var(--font-step));border-radius:9px;place-items:center;font-weight:900;display:grid}.brand strong{font-size:calc(16px + var(--font-step))}.nav-list{gap:7px;display:grid}.nav-item{color:#808492;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;align-items:center;gap:14px;width:100%;padding:12px 14px;transition:all .2s;display:flex}.nav-item span{text-align:center;width:18px;font-size:calc(18px + var(--font-step))}.nav-item b{font-size:calc(13px + var(--font-step));font-weight:600}.nav-item.active,.nav-item:hover{color:#fff;background:#25242d}.admin-nav-item{border:1px solid rgb(var(--accent-rgb)/.18);margin-top:5px}.nav-item.active{box-shadow:inset 3px 0 0 var(--purple)}.nav-item.active span{color:var(--purple-soft)}.nav-button{font-family:inherit}.nav-list.editing .nav-item{touch-action:none;-webkit-user-select:none;user-select:none;background:rgb(var(--accent-rgb)/.06);color:#bbb3dc;border:1px dashed #4f466d}.nav-list.editing .nav-item:active{border-color:var(--purple-soft);background:rgb(var(--accent-rgb)/.16);transform:scale(.98)}.drag-handle{color:#70698a;font-style:normal;font-size:calc(14px + var(--font-step));margin-left:auto}.menu-order-controls{gap:6px;margin-top:11px;display:flex}.menu-order-controls button{color:#858995;cursor:pointer;font-size:calc(8px + var(--font-step));background:#1c1d22;border:1px solid #31323a;border-radius:8px;flex:1;padding:8px 5px}.menu-order-controls button:hover{color:var(--purple-soft);border-color:#514773}.mobile-menu-editor{display:none}.sidebar-bottom{gap:13px;margin-top:auto;display:grid}.theme-toggle{color:#a7aab4;cursor:pointer;background:#1c1d22;border:1px solid #2c2d34;border-radius:11px;align-items:center;gap:11px;width:100%;padding:10px 11px;display:flex}.theme-toggle:hover{color:#fff;background:#24242b;border-color:#484454}.theme-symbol{background:rgb(var(--accent-rgb)/.14);width:24px;height:24px;color:var(--purple-soft);font-size:calc(14px + var(--font-step));border-radius:7px;place-items:center;display:grid}.theme-toggle b{font-size:calc(11px + var(--font-step));font-weight:650}.toggle-track{background:var(--purple);border-radius:999px;width:30px;height:17px;margin-left:auto;position:relative}.toggle-track:after{content:"";background:#fff;border-radius:50%;width:11px;height:11px;transition:transform .22s;position:absolute;top:3px;right:3px;box-shadow:0 1px 4px #00000040}html[data-theme=light] .toggle-track{background:#c7cad4}html[data-theme=light] .toggle-track:after{transform:translate(-13px)}.profile-mini{border-top:1px solid #292a30;align-items:center;gap:10px;padding:16px 10px 0;display:flex}.avatar{color:#29241d;width:34px;height:34px;font-size:calc(12px + var(--font-step));background:#ded3bd;border-radius:50%;place-items:center;font-weight:800;display:grid}.profile-mini div{gap:3px;display:grid}.profile-mini b{font-size:calc(12px + var(--font-step))}.profile-mini small{color:#707482;font-size:calc(10px + var(--font-step))}.profile-logout{color:#666a76;cursor:pointer;background:0 0;border:0;border-radius:8px;width:28px;height:28px;margin-left:auto}.profile-logout:hover{color:#ff8793;background:#292a31}.workspace{min-height:100vh;margin-left:220px}.topbar{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:15;background:#17181dd1;border-bottom:1px solid #2b2c32;align-items:center;gap:24px;height:76px;padding:0 34px;display:flex;position:sticky;top:0}.mobile-bottom-nav,.mobile-brand{display:none}.topbar-context{color:#a9acb7;font-size:calc(12px + var(--font-step));letter-spacing:-.01em;font-weight:750}.search-box{color:#717583;align-items:center;gap:10px;width:min(360px,40vw);display:flex}.search-box span{font-size:calc(23px + var(--font-step))}.search-box input{color:#fff;width:100%;font-size:calc(12px + var(--font-step));background:0 0;border:0;outline:none}.search-box input::placeholder{color:#6e7280}.top-actions{align-items:center;gap:11px;margin-left:auto;display:flex}.icon-button{width:38px;height:38px;color:var(--purple-soft);cursor:pointer;font-size:calc(10px + var(--font-step));background:#212228;border:1px solid #33343b;border-radius:11px}.admin-button{color:var(--purple-soft);font-size:calc(16px + var(--font-step))}.theme-button{font-size:calc(12px + var(--font-step));letter-spacing:-.05em;place-items:center;font-weight:850;display:grid}.theme-button.active{border-color:var(--purple);background:rgb(var(--accent-rgb)/.14);color:var(--purple-soft)}.display-settings{z-index:45;border:1px solid var(--purple);width:min(390px,100vw - 28px);max-height:calc(100vh - 82px);padding:20px;position:fixed;top:66px;right:32px;overflow:auto}@supports (color:color-mix(in lab,red,red)){.display-settings{border:1px solid color-mix(in srgb,var(--purple) 32%,var(--line))}}.display-settings{background:var(--panel);border-radius:17px}@supports (color:color-mix(in lab,red,red)){.display-settings{background:color-mix(in srgb,var(--panel) 94%,transparent)}}.display-settings{color:var(--text);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);animation:display-settings-in .18s;box-shadow:0 24px 70px #00000057}.display-settings>header{justify-content:space-between;align-items:start;margin-bottom:20px;display:flex}.display-settings>header p{color:var(--purple-soft);font-size:calc(8px + var(--font-step));letter-spacing:.18em;margin:0 0 5px;font-weight:850}.display-settings>header h2{font-size:calc(18px + var(--font-step));letter-spacing:-.04em;margin:0}.display-settings>header button{background:var(--panel-2);width:30px;height:30px;color:var(--muted);cursor:pointer;font-size:calc(20px + var(--font-step));border:0;border-radius:9px}.display-setting-group{gap:9px;margin-top:16px;display:grid}.display-setting-group>span{color:var(--text)}@supports (color:color-mix(in lab,red,red)){.display-setting-group>span{color:color-mix(in srgb,var(--text) 78%,var(--muted))}}.display-setting-group>span{font-size:calc(10px + var(--font-step));font-weight:750}.palette-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.palette-heading>span{color:var(--text)}@supports (color:color-mix(in lab,red,red)){.palette-heading>span{color:color-mix(in srgb,var(--text) 78%,var(--muted))}}.palette-heading>span{font-size:calc(10px + var(--font-step));font-weight:750}.palette-heading button{border:1px solid rgb(var(--accent-rgb)/.28);background:rgb(var(--accent-rgb)/.1);min-height:29px;color:var(--purple);cursor:pointer;font-size:calc(8px + var(--font-step));border-radius:999px;align-items:center;gap:5px;padding:0 10px;font-weight:800;display:inline-flex}.palette-heading button:hover{background:rgb(var(--accent-rgb)/.18);transform:translateY(-1px)}.palette-heading button span{font-size:calc(12px + var(--font-step))}.display-segmented{border:1px solid var(--line);background:var(--bg);border-radius:11px;grid-template-columns:repeat(2,1fr);gap:4px;padding:4px;display:grid}@supports (color:color-mix(in lab,red,red)){.display-segmented{background:color-mix(in srgb,var(--bg) 72%,transparent)}}.display-segmented button{min-height:34px;color:var(--muted);cursor:pointer;font-size:calc(10px + var(--font-step));background:0 0;border:0;border-radius:8px;font-weight:750}.display-segmented button.active{background:rgb(var(--accent-rgb)/.16);color:var(--purple-soft);box-shadow:inset 0 0 0 1px rgb(var(--accent-rgb)/.26)}.font-size-options{grid-template-columns:repeat(3,1fr)}.font-size-options button:first-child{font-size:calc(9px + var(--font-step))}.font-size-options button:nth-child(2){font-size:calc(11px + var(--font-step))}.font-size-options button:last-child{font-size:calc(13px + var(--font-step))}.palette-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.palette-options>button{border:1px solid var(--line);background:var(--panel-2);border-radius:12px;gap:5px;min-width:0;padding:10px;display:grid}@supports (color:color-mix(in lab,red,red)){.palette-options>button{background:color-mix(in srgb,var(--panel-2) 65%,transparent)}}.palette-options>button{color:var(--text);cursor:pointer;text-align:left}.palette-options>button:hover{border-color:var(--purple)}@supports (color:color-mix(in lab,red,red)){.palette-options>button:hover{border-color:color-mix(in srgb,var(--purple) 52%,var(--line))}}.palette-options>button:hover{transform:translateY(-1px)}.palette-options>button.active{border-color:var(--purple);box-shadow:0 0 0 2px rgb(var(--accent-rgb)/.14)}.palette-swatches{border-radius:7px;grid-template-columns:repeat(5,1fr);height:22px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #0000000d}.palette-swatches i{display:block}.palette-options b{font-size:calc(10px + var(--font-step))}.palette-options b,.palette-options small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.palette-options small{color:var(--muted);font-size:calc(8px + var(--font-step))}.accent-options{align-items:center;gap:10px;min-height:36px;display:flex}.accent-options>button,.custom-accent{background:var(--swatch-color);cursor:pointer;border:0;border-radius:50%;flex:0 0 27px;width:27px;height:27px;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,0 3px 9px #0000002e}.accent-options>button:after{content:"";border-radius:inherit;border:2px solid #0000;position:absolute;inset:-4px}.accent-options>button.active:after{border-color:var(--swatch-color)}.custom-accent{color:#fff;font-size:calc(17px + var(--font-step));background:conic-gradient(#f66,#fc3,#5d8,#39f,#85f,#f66);place-items:center;font-weight:400;display:grid;overflow:hidden}.custom-accent input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.custom-accent span{z-index:1;text-shadow:0 1px 4px #00000059;pointer-events:none;position:relative}.display-settings-note{color:var(--muted);font-size:calc(8px + var(--font-step));margin-top:17px;display:block}.display-settings-logout{display:none}@keyframes display-settings-in{0%{opacity:0;transform:translateY(-7px)scale(.98)}to{opacity:1;transform:none}}.primary-button,.secondary-button{font-size:calc(12px + var(--font-step));cursor:pointer;border:0;border-radius:10px;padding:11px 17px;font-weight:750}.primary-button{background:linear-gradient(135deg,var(--purple-soft),var(--purple));box-shadow:0 8px 20px rgb(var(--accent-rgb)/.22)}.primary-button span{font-size:calc(16px + var(--font-step));margin-right:5px}.secondary-button{color:#b6b8c1;background:#2c2d34}.page-content{max-width:1520px;margin:0 auto;padding:34px}.page-heading{justify-content:space-between;align-items:end;gap:22px;margin-bottom:28px;display:flex}.eyebrow{letter-spacing:.18em;font-weight:800;color:var(--purple-soft)!important;font-size:calc(9px + var(--font-step))!important;margin:0 0 8px!important}.page-heading h1{letter-spacing:-.04em;margin:0;font-size:clamp(23px,2vw,30px)}.page-heading h1 span{font-size:.82em}.page-heading p{color:var(--muted);font-size:calc(12px + var(--font-step));margin:9px 0 0}.month-selector{border:1px solid var(--line);background:#1e1f24;border-radius:11px;align-items:center;gap:12px;padding:6px;display:flex}.month-selector button{color:#888c98;cursor:pointer;width:28px;height:28px;font-size:calc(21px + var(--font-step));background:0 0;border:0;border-radius:7px}.month-selector button:hover{color:#fff;background:#292a31}.month-selector strong{text-align:center;min-width:82px;font-size:calc(11px + var(--font-step))}.panel.dashboard-memo{background:radial-gradient(circle at 12% 0,rgb(var(--accent-rgb)/.1),transparent 36%),linear-gradient(145deg,#23242a,#1d1e23);border:1px solid #343640;border-radius:16px;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:14px;margin:0 0 18px;padding:15px 15px 15px 20px;display:grid;position:relative;overflow:hidden;transform:none;box-shadow:0 14px 34px #0000001f}.panel.dashboard-memo:before{content:"";background:linear-gradient(var(--purple-soft),var(--purple));width:3px;box-shadow:0 0 16px rgb(var(--accent-rgb)/.42);border-radius:0 4px 4px 0;position:absolute;inset:12px auto 12px 0}.panel.dashboard-memo:after{content:"";background:rgb(var(--accent-rgb)/.045);filter:blur(20px);pointer-events:none;border-radius:50%;width:170px;height:100px;position:absolute;bottom:-65px;right:70px}.dashboard-memo-actions small{color:#777b89;font-size:calc(9px + var(--font-step))}.dashboard-memo textarea{z-index:1;resize:vertical;width:100%;min-height:76px;color:var(--text);font-family:inherit;font-size:calc(12px + var(--font-step));background:#0e0f1347;border:0;border-radius:10px;outline:none;padding:10px 11px;font-weight:500;line-height:1.7;position:relative}.dashboard-memo textarea:focus{box-shadow:inset 0 0 0 1px #8b75ff7a,0 0 0 3px rgb(var(--accent-rgb)/.08);background:#0e0f1373}.dashboard-memo textarea::placeholder{color:#686c79;font-weight:400}.dashboard-memo-actions{justify-items:end;gap:7px;display:grid}.dashboard-memo-actions .primary-button{z-index:1;background:linear-gradient(135deg,var(--purple-soft),var(--purple));color:#fff;min-width:86px;box-shadow:0 7px 16px rgb(var(--accent-rgb)/.22);border:0;padding:9px 13px;position:relative}.dashboard-memo-actions .primary-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 9px 19px #5b39f54a}.dashboard-memo-actions .primary-button:disabled{cursor:default;opacity:.56;box-shadow:none}.summary-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px;display:grid}.summary-card{border:1px solid var(--line);background:linear-gradient(145deg,#23242a,#1e1f24);border-radius:15px;min-height:142px;padding:20px 21px;box-shadow:0 18px 35px #00000014}.summary-card.accent-card{border-color:rgb(var(--accent-rgb)/.45);background:radial-gradient(circle at 100% 0,rgb(var(--accent-rgb)/.2),transparent 44%),linear-gradient(145deg,#252632,#1e1f24)}.card-label{color:#a5a8b2;font-size:calc(11px + var(--font-step));justify-content:space-between;align-items:center;display:flex}.round-icon{background:rgb(var(--accent-rgb)/.15);width:28px;height:28px;color:var(--purple-soft);border-radius:9px;place-items:center;font-weight:800;display:grid}.round-icon.mint{color:var(--mint);background:#38d9b51f}.round-icon.coral{color:var(--coral);background:#ff68771f}.summary-card>strong{letter-spacing:-.04em;margin-top:18px;font-size:clamp(22px,2vw,30px);display:block}.summary-card>strong small{color:#a2a5af;font-size:calc(12px + var(--font-step));margin-left:4px;font-weight:500}.summary-card>p{color:#767a88;font-size:calc(10px + var(--font-step));margin:10px 0 0}.trend-up{color:var(--purple-soft);margin-right:6px}.trend-down{color:var(--mint);margin-right:6px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(290px,.75fr);gap:15px;display:grid}.main-column,.right-column{align-content:start;gap:15px;display:grid}.view-home .calendar-panel,.view-home .main-column{display:none}.view-home .dashboard-grid{grid-template-columns:1fr}.view-home .right-column{grid-template-columns:repeat(3,minmax(0,1fr))}.view-budget .calendar-panel,.view-budget .dashboard-memo,.view-budget .summary-grid,.view-calendar .dashboard-grid,.view-calendar .dashboard-memo,.view-calendar .summary-grid,.view-manage .calendar-panel,.view-manage .dashboard-grid,.view-manage .dashboard-memo,.view-manage .page-heading,.view-manage .summary-grid,.view-reports .budget-panel,.view-reports .calendar-panel,.view-reports .dashboard-memo,.view-reports .quick-panel,.view-reports .summary-grid,.view-reports .transaction-panel,.view-transactions .calendar-panel,.view-transactions .chart-panel,.view-transactions .dashboard-memo,.view-transactions .right-column,.view-transactions .summary-grid{display:none}.view-transactions .dashboard-grid{grid-template-columns:1fr}.view-budget .main-column,.view-budget .quick-panel{display:none}.view-budget .dashboard-grid{grid-template-columns:1fr}.view-budget .right-column{grid-template-columns:repeat(2,minmax(0,1fr))}.manage-page-backdrop{z-index:12;background:radial-gradient(circle at 62% -20%,rgb(var(--accent-rgb)/.12),transparent 32%),var(--bg);padding:34px;position:fixed;inset:76px 0 0 220px;overflow:auto}.manage-page-panel{width:min(1120px,100%);min-height:calc(100vh - 144px);box-shadow:none;border-radius:15px;margin:0 auto}.panel{border:1px solid var(--line);background:linear-gradient(150deg,#222329,#1e1f24);border-radius:15px;overflow:hidden}.panel-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 21px 0;display:flex}.panel-heading h2{font-size:calc(14px + var(--font-step));letter-spacing:-.02em;margin:0}.panel-heading p{color:#747885;font-size:calc(10px + var(--font-step));margin:6px 0 0}.calendar-panel{margin-bottom:15px;padding-bottom:20px;scroll-margin-top:90px}.calendar-heading{align-items:center;padding-bottom:16px}.calendar-controls{border:1px solid var(--line);background:#1b1c21;border-radius:10px;align-items:center;gap:9px;padding:5px;display:flex}.calendar-controls button{color:#9699a4;cursor:pointer;width:28px;height:28px;font-size:calc(18px + var(--font-step));background:0 0;border:0;border-radius:7px}.calendar-controls button:hover{color:#fff;background:#2b2c33}.calendar-controls strong{text-align:center;min-width:92px;font-size:calc(10px + var(--font-step))}.calendar-grid,.calendar-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));margin-inline:20px;display:grid}.calendar-weekdays{background:#1b1c21;border:1px solid var(--line);border-bottom:0;border-radius:11px 11px 0 0}.calendar-weekdays span{color:#777b87;font-size:calc(9px + var(--font-step));text-align:center;padding:9px;font-weight:700}.calendar-weekdays span:first-child{color:#d76a77}.calendar-weekdays span:last-child{color:#6f8fd8}.calendar-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);border-radius:0 0 11px 11px;overflow:hidden}.calendar-blank,.calendar-grid>button{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:92px;color:var(--text);text-align:left;background:#1e1f24;padding:9px;position:relative}.calendar-grid>button{cursor:pointer;flex-direction:column;display:flex}.calendar-grid>button.selected,.calendar-grid>button:hover{background:rgb(var(--accent-rgb)/.09);box-shadow:inset 0 0 0 1px #846cff59}.calendar-grid>button.today .calendar-day-number{background:var(--purple);color:#fff;border-radius:8px;place-items:center;width:23px;height:23px;margin:-3px 0 0 -3px;display:grid}.calendar-day-number{font-size:calc(10px + var(--font-step));font-weight:800}.calendar-day-values{gap:3px;margin-top:9px;display:grid}.calendar-day-values small{font-size:calc(9px + var(--font-step));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.calendar-income{color:var(--mint)}.calendar-expense{color:#ff7e8c}.calendar-grid>button>b{color:#757987;font-size:calc(8px + var(--font-step));margin-top:auto;font-weight:650}.calendar-day-detail{background:#1b1c21;border:1px solid #3a3c45;border-radius:12px;margin:14px 20px 0;padding:13px}.calendar-detail-head,.calendar-detail-head>div{align-items:center;gap:8px;display:flex}.calendar-detail-head{justify-content:space-between}.calendar-detail-head strong{font-size:calc(11px + var(--font-step))}.calendar-detail-head span{color:var(--purple-soft);font-size:calc(9px + var(--font-step))}.calendar-detail-head>button{color:#9296a2;cursor:pointer;background:#2b2c33;border:0;border-radius:8px;width:27px;height:27px}.calendar-detail-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.calendar-detail-list>button{color:var(--text);cursor:pointer;text-align:left;background:#222329;border:1px solid #30323a;border-radius:9px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.calendar-detail-list>button:hover{border-color:#554879}.calendar-detail-list>button>span:nth-child(2){gap:3px;min-width:0;display:grid}.calendar-detail-list>button small,.calendar-detail-list>button strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-detail-list>button strong{font-size:calc(10px + var(--font-step))}.calendar-detail-list>button small{color:var(--muted);font-size:calc(8px + var(--font-step))}.calendar-detail-list>button>b{color:#ff8793;font-size:calc(10px + var(--font-step));white-space:nowrap}.calendar-detail-list>button>b.income{color:var(--mint)}.calendar-detail-list>p{color:var(--muted);text-align:center;grid-column:1/-1;margin:6px}.calendar-detail-list>p,.legend{font-size:calc(9px + var(--font-step))}.legend{color:#9295a0;gap:14px;display:flex}.legend span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:6px;height:6px}.purple-dot{background:var(--purple)}.gray-dot{background:#626570}.bar-chart{background-image:linear-gradient(#2a2b31 1px,#0000 0);background-size:100% 48px;border-bottom:1px solid #0000;align-items:end;gap:clamp(18px,4vw,48px);height:245px;padding:30px 36px 22px;display:flex}.bar-group{flex-direction:column;flex:1;justify-content:end;align-items:center;gap:10px;height:100%;display:flex}.bars{justify-content:center;align-items:end;gap:5px;width:100%;height:calc(100% - 24px);display:flex}.bars i{border-radius:5px 5px 2px 2px;width:min(12px,34%);transition:all .3s}.bar-group:hover .bars i{filter:brightness(1.25)}.income-bar{background:linear-gradient(var(--purple-soft),var(--purple));box-shadow:0 0 18px rgb(var(--accent-rgb)/.18)}.expense-bar{background:#52555f}.bar-group span{color:#737784;font-size:calc(9px + var(--font-step))}.chart-empty-message{text-align:center;pointer-events:none;gap:6px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-34%)}.chart-empty-message strong{color:#a8abb5;font-size:calc(11px + var(--font-step))}.chart-empty-message span{color:#717582;font-size:calc(9px + var(--font-step))}.bar-chart{position:relative}.transaction-heading{align-items:center;padding-bottom:16px}.filter-tabs{background:#191a1f;border-radius:9px;gap:3px;padding:3px;display:flex}.filter-tabs button{color:#767a87;cursor:pointer;font-size:calc(9px + var(--font-step));background:0 0;border:0;border-radius:7px;padding:7px 10px}.filter-tabs button.active{color:#fff;background:#2d2e35}.transaction-list{border-top:1px solid #2c2d33}.transaction-row{border-bottom:1px solid #292a30;grid-template-columns:38px minmax(120px,1fr) 70px 105px 66px;align-items:center;gap:12px;padding:13px 21px;display:grid}.transaction-row:last-child{border-bottom:0}.category-icon{width:34px;height:34px;font-size:calc(10px + var(--font-step));border-radius:10px;place-items:center;display:grid}.transaction-name{gap:5px;min-width:0;display:grid}.transaction-name strong{text-overflow:ellipsis;white-space:nowrap;font-size:calc(11px + var(--font-step));overflow:hidden}.transaction-name span{color:#717582}.category-pill,.transaction-name span{font-size:calc(9px + var(--font-step))}.category-pill{color:#999ca6;background:#292a31;border-radius:6px;justify-self:start;padding:5px 8px}.amount{text-align:right;font-size:calc(11px + var(--font-step))}.amount.income{color:var(--mint)}.transaction-actions{justify-content:end;gap:5px;display:flex}.transaction-actions button{color:#a2a5af;cursor:pointer;width:28px;height:28px;font-size:calc(13px + var(--font-step));background:#27282e;border:1px solid #34353d;border-radius:8px}.transaction-actions button:hover{color:#c2b7ff;background:#302b42;border-color:#66559e}.transaction-actions .delete-action:hover{color:var(--coral);background:#ff68771a;border-color:#ff687780}.view-all{color:#9699a4;cursor:pointer;width:100%;font-size:calc(9px + var(--font-step));background:#202126;border:0;border-top:1px solid #2c2d33;padding:13px}.view-all:hover{color:#fff;background:#24252b}.view-all span{color:var(--purple-soft);margin-left:5px}.empty-state{color:#777b87;justify-items:center;gap:6px;padding:34px;display:grid}.empty-state>span{font-size:calc(25px + var(--font-step))}.empty-state strong{color:#bbbfc8;font-size:calc(12px + var(--font-step))}.empty-state p{font-size:calc(9px + var(--font-step));margin:0}.right-column .panel{padding-bottom:20px}.more-button{color:#676b77;cursor:pointer;letter-spacing:.1em;background:0 0;border:0}.tool-button{border:1px solid var(--line);background:var(--panel-2);color:var(--muted);cursor:pointer;font-size:calc(9px + var(--font-step));border-radius:9px;padding:9px 12px}.advanced-filters{grid-template-columns:repeat(4,1fr);gap:8px;padding:0 21px 15px;display:grid}.advanced-filters input,.advanced-filters select{border:1px solid var(--line);min-width:0;color:var(--text);font-size:calc(9px + var(--font-step));background:#191a1f;border-radius:8px;outline:0;padding:9px}.budget-amount{align-items:baseline;gap:7px;margin:24px 21px 14px;display:flex}.budget-amount strong{font-size:calc(21px + var(--font-step));letter-spacing:-.04em}.budget-amount span{color:#727683;font-size:calc(9px + var(--font-step))}.progress-track{background:#31323a;border-radius:999px;height:7px;margin:0 21px;overflow:hidden}.progress-track i{border-radius:inherit;background:linear-gradient(90deg,#6240f5,#957fff);height:100%;display:block}.budget-meta{color:#777b87;font-size:calc(9px + var(--font-step));justify-content:space-between;margin:10px 21px 0;display:flex}.budget-meta strong{color:#a7aab4}.donut-wrap{grid-template-columns:130px 1fr;align-items:center;gap:22px;padding:22px 22px 2px;display:grid}.donut{aspect-ratio:1;background:conic-gradient(var(--purple) 0 31%,var(--coral) 31% 58%,#ffb84d 58% 77%,#38d9b5 77% 100%);border-radius:50%;width:126px;padding:15px;transform:rotate(-32deg)}.donut.empty-donut{background:#34353d}.donut>div{text-align:center;background:#202126;border-radius:50%;place-content:center;width:100%;height:100%;display:grid;transform:rotate(32deg)}.donut strong{font-size:calc(12px + var(--font-step))}.donut span{color:#717582;font-size:calc(8px + var(--font-step));margin-top:4px}.category-list{gap:12px;display:grid}.category-list>div{font-size:calc(9px + var(--font-step));justify-content:space-between;align-items:center;gap:10px;display:flex}.category-list span{color:#a2a5af;align-items:center;gap:7px;display:flex}.category-list i{border-radius:50%;width:6px;height:6px}.category-list strong{color:#d8d9de}.category-empty,.category-list strong{font-size:calc(9px + var(--font-step))}.category-empty{color:#777b87;margin:0;line-height:1.6}.quick-actions{grid-template-columns:1fr 1fr;gap:10px;padding:18px 21px 0;display:grid}.quick-actions button{color:#fff;cursor:pointer;text-align:left;background:#24252b;border:1px solid #31323a;border-radius:11px;justify-items:start;gap:5px;padding:14px;display:grid}.quick-actions button:hover{border-color:#4b435f;transform:translateY(-1px)}.quick-icon{background:rgb(var(--accent-rgb)/.15);width:28px;height:28px;color:var(--purple-soft);border-radius:8px;place-items:center;margin-bottom:5px;display:grid}.quick-icon.income-icon{color:var(--mint);background:#38d9b51f}.quick-actions b{font-size:calc(10px + var(--font-step))}.quick-actions small{color:#777b87;font-size:calc(8px + var(--font-step))}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#050609b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#202126;border:1px solid #3b3d46;border-radius:19px;width:min(580px,100%);max-height:calc(100vh - 32px);padding:25px;overflow-y:auto;box-shadow:0 35px 90px #00000073}.modal-head{justify-content:space-between;align-items:start;display:flex}.modal-head p{color:var(--purple-soft);font-size:calc(8px + var(--font-step));letter-spacing:.16em;margin:0 0 5px;font-weight:800}.modal-head h2{font-size:calc(20px + var(--font-step));margin:0}.modal-head button{color:#999ca6;cursor:pointer;width:32px;height:32px;font-size:calc(21px + var(--font-step));background:#2b2c33;border:0;border-radius:9px}.type-switch{background:#18191e;border-radius:11px;grid-template-columns:1fr 1fr;gap:5px;margin:22px 0 17px;padding:4px;display:grid}.type-switch button{color:#777b87;cursor:pointer;font-size:calc(11px + var(--font-step));background:0 0;border:0;border-radius:8px;padding:9px}.type-switch button.active{color:#b8aaff;background:#332b59}.type-switch button.active.income-type{color:var(--mint);background:#38d9b521}.modal form{gap:15px;display:grid}.modal label{color:#aeb1ba;font-size:calc(10px + var(--font-step));gap:7px;display:grid}.modal label>span{justify-content:space-between;display:flex}.modal label em{color:#676b77;font-style:normal;font-size:calc(8px + var(--font-step))}.modal input,.modal select,.modal textarea{color:#fff;width:100%;font-size:calc(11px + var(--font-step));background:#191a1f;border:1px solid #373840;border-radius:9px;outline:none;padding:11px 12px}.modal input:focus,.modal select:focus,.modal textarea:focus{box-shadow:0 0 0 3px rgb(var(--accent-rgb)/.1);border-color:#6e54eb}.amount-input{position:relative}.amount-input input{font-size:calc(18px + var(--font-step));padding-right:36px;font-weight:700}.amount-input b{color:#777b87;font-size:calc(10px + var(--font-step));position:absolute;top:50%;right:13px;transform:translateY(-50%)}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.upload-box{background:rgb(var(--accent-rgb)/.04);cursor:pointer;text-align:center;border:1px dashed #494453;border-radius:12px;align-content:center;place-items:center;min-height:103px}.upload-box:hover{border-color:var(--purple)}.upload-box.busy{cursor:wait;opacity:.78}.upload-box input{display:none}.upload-box .upload-icon{background:rgb(var(--accent-rgb)/.14);width:30px;height:30px;color:var(--purple-soft);font-size:calc(14px + var(--font-step));border-radius:9px;place-items:center;display:grid}.upload-box strong{color:#d5d6dc;font-size:calc(10px + var(--font-step))}.upload-box small{color:#6f7380;font-size:calc(8px + var(--font-step))}.modal:has(.receipt-items-panel){width:min(900px,100%)}.receipt-items-panel{background:#1b1c21;border:1px solid #383a43;border-radius:13px;gap:11px;padding:14px;display:grid}.receipt-items-actions,.receipt-items-head{justify-content:space-between;align-items:center;gap:14px;display:flex}.receipt-items-head div{gap:3px;display:grid}.receipt-items-head strong{color:#e6e6eb;font-size:calc(12px + var(--font-step))}.receipt-items-actions small,.receipt-items-head small{color:#777b87;font-size:calc(9px + var(--font-step))}.receipt-items-head>b{color:var(--purple-soft);font-size:calc(11px + var(--font-step));white-space:nowrap}.receipt-items-list{gap:7px;max-height:280px;padding-right:3px;display:grid;overflow-y:auto}.receipt-item-row{opacity:.58;border:1px solid #30323a;border-radius:10px;grid-template-columns:22px minmax(180px,2fr) 70px 110px 100px 28px;align-items:end;gap:7px;padding:8px;display:grid}.receipt-item-row.selected{background:rgb(var(--accent-rgb)/.055);opacity:1;border-color:#4b426a}.receipt-item-row .receipt-item-check{width:15px;height:15px;accent-color:var(--purple);margin:0 0 11px;padding:0}.receipt-item-row label{gap:4px}.receipt-item-row label>span{font-size:calc(8px + var(--font-step))}.receipt-item-row input,.receipt-item-row select{padding:8px}.receipt-item-remove{color:#8d91a0;cursor:pointer;width:28px;height:32px;font-size:calc(16px + var(--font-step));background:#2b2c33;border:0;border-radius:8px}.receipt-items-actions .primary-button{flex:none}.modal-actions{justify-content:end;gap:8px;margin-top:4px;display:flex}.danger-button:disabled,.primary-button:disabled,.secondary-button:disabled{opacity:.55;cursor:wait}.confirm-modal{text-align:center;background:#202126;border:1px solid #3b3d46;border-radius:17px;width:min(390px,100%);padding:28px;box-shadow:0 35px 90px #00000073}.warning-icon{width:42px;height:42px;color:var(--coral);font-size:calc(20px + var(--font-step));background:#ff68771f;border-radius:13px;place-items:center;margin:0 auto 15px;font-weight:800;display:grid}.confirm-modal h2{font-size:calc(17px + var(--font-step));margin:0}.confirm-modal p{color:#8d91a0;font-size:calc(10px + var(--font-step));margin:10px 0 22px;line-height:1.6}.confirm-modal p strong{color:#d8d9de}.confirm-modal .modal-actions{justify-content:center}.danger-button{color:#fff;font-size:calc(12px + var(--font-step));cursor:pointer;background:linear-gradient(135deg,#f06877,#d94d5e);border:0;border-radius:10px;padding:11px 17px;font-weight:750}.toast{z-index:80;font-size:calc(11px + var(--font-step));background:#292a31;border:1px solid #3c3e47;border-radius:11px;align-items:center;gap:10px;padding:13px 16px;animation:toast-in .25s;display:flex;position:fixed;bottom:26px;right:28px;box-shadow:0 18px 40px #0000004d}.toast span{width:20px;height:20px;color:var(--mint);background:#38d9b526;border-radius:50%;place-items:center;display:grid}.manage-modal{width:min(680px,100%)}.manage-tabs{background:#18191e;border-radius:10px;gap:5px;margin:20px 0;padding:4px;display:flex;overflow-x:auto}.manage-tabs button{color:#777b87;cursor:pointer;min-width:78px;font-size:calc(9px + var(--font-step));background:0 0;border:0;border-radius:8px;flex:1;padding:9px}.manage-tabs button.active{color:#c1b6ff;background:#332b59}.manage-modal>form{padding-bottom:4px}.manage-modal>form>.primary-button{justify-self:end}.management-list{border-top:1px solid var(--line);gap:7px;margin-top:18px;padding-top:14px;display:grid}.management-list>div{color:#c2c4cc;font-size:calc(10px + var(--font-step));background:#292a31;border-radius:9px;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.management-list button{color:var(--coral);cursor:pointer;font-size:calc(9px + var(--font-step));background:0 0;border:0}.management-list p{color:var(--muted);font-size:calc(10px + var(--font-step));text-align:center}.data-tools{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.data-tools button,.data-tools label{border:1px solid var(--line);min-height:115px;color:var(--text);cursor:pointer;text-align:left;background:#27282e;border-radius:11px;align-content:center;gap:7px;padding:16px;display:grid}.data-tools input{display:none}.data-tools b{font-size:calc(11px + var(--font-step))}.data-tools span{color:var(--muted);font-size:calc(9px + var(--font-step));line-height:1.6}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)}}html[data-theme=light]{color-scheme:light;--bg:#f4f5f9;--sidebar:#fff;--panel:#fff;--panel-2:#f1f2f6;--line:#e1e3eb;--muted:#737887;--text:#20222a;--purple:#6847f5;--purple-soft:#7357e8;--mint:#18a986;--coral:#e95667}html[data-theme=light] body{background:var(--bg);color:var(--text)}html[data-theme=light] .app-shell{background:radial-gradient(circle at 62% -20%,#6847f51a,transparent 32%),var(--bg)}html[data-theme=light] .sidebar{background:#fffffff7;border-color:#e4e6ed;box-shadow:8px 0 28px #20222a09}html[data-theme=light] .nav-item{color:#757b89}html[data-theme=light] .nav-item.active,html[data-theme=light] .nav-item:hover{color:#292b34;background:#f0edff}html[data-theme=light] .nav-list.editing .nav-item{color:#625b76;background:#f7f5ff;border-color:#d5cfec}html[data-theme=light] .menu-order-controls button{color:#707582;background:#f7f7fa;border-color:#e0e2e9}html[data-theme=light] .theme-toggle{color:#555b69;background:#f6f7fa;border-color:#e0e2e9}html[data-theme=light] .theme-toggle:hover{color:#282b34;background:#f0edff;border-color:#cbc7e2}html[data-theme=light] .profile-mini{border-color:#e4e6ed}html[data-theme=light] .profile-mini .more,html[data-theme=light] .profile-mini small{color:#878c99}html[data-theme=light] .topbar{background:#ffffffdb;border-color:#e1e3ea;box-shadow:0 8px 30px #23252d09}html[data-theme=light] .mobile-bottom-nav{background:#fffffff0;border-color:#dfe1e8;box-shadow:0 18px 45px #1e202b29}html[data-theme=light] .mobile-bottom-nav a,html[data-theme=light] .mobile-bottom-nav button{color:#747987}html[data-theme=light] .mobile-menu-editor button{color:#646977;background:#fffffff5;border-color:#dfe1e8}html[data-theme=light] .search-box{color:#7d8290}html[data-theme=light] .search-box input{color:#242630}html[data-theme=light] .search-box input::placeholder{color:#9a9eaa}html[data-theme=light] .icon-button{background:#f7f7fa;border-color:#dfe1e8}html[data-theme=light] .month-selector{border-color:var(--line);background:#fff}html[data-theme=light] .month-selector button{color:#747987}html[data-theme=light] .month-selector button:hover{color:#5c3ee0;background:#f0edff}html[data-theme=light] .calendar-controls,html[data-theme=light] .calendar-day-detail,html[data-theme=light] .calendar-weekdays{background:#f7f7fa}html[data-theme=light] .calendar-blank,html[data-theme=light] .calendar-grid>button{background:#fff}html[data-theme=light] .calendar-grid>button.selected,html[data-theme=light] .calendar-grid>button:hover{background:#f3f0ff}html[data-theme=light] .calendar-detail-list>button{background:#fff;border-color:#e2e4eb}html[data-theme=light] .panel,html[data-theme=light] .summary-card{background:linear-gradient(150deg,#fff,#fafbfc);box-shadow:0 14px 34px #2427320e}html[data-theme=light] .summary-card.accent-card{background:radial-gradient(circle at 100% 0,#6847f51f,#0000 44%),linear-gradient(145deg,#fff,#faf9ff);border-color:#6847f547}html[data-theme=light] .budget-amount span,html[data-theme=light] .budget-meta,html[data-theme=light] .card-label,html[data-theme=light] .donut span,html[data-theme=light] .legend,html[data-theme=light] .panel-heading p,html[data-theme=light] .quick-actions small,html[data-theme=light] .summary-card>strong small,html[data-theme=light] .transaction-name span{color:#7e8391}html[data-theme=light] .bar-group span,html[data-theme=light] .summary-card>p{color:#858a97}html[data-theme=light] .bar-chart{background-image:linear-gradient(#eceef3 1px,#0000 0)}html[data-theme=light] .expense-bar{background:#c9ccd5}html[data-theme=light] .chart-empty-message strong{color:#656a77}html[data-theme=light] .category-empty,html[data-theme=light] .chart-empty-message span{color:#858a97}html[data-theme=light] .filter-tabs,html[data-theme=light] .type-switch{background:#f0f1f5}html[data-theme=light] .filter-tabs button{color:#777c89}html[data-theme=light] .filter-tabs button.active{color:#272a33;background:#fff;box-shadow:0 2px 8px #1e212b14}html[data-theme=light] .transaction-list,html[data-theme=light] .transaction-row,html[data-theme=light] .view-all{border-color:#e9eaf0}html[data-theme=light] .transaction-actions button{color:#686d7a;background:#f6f7fa;border-color:#e0e2e9}html[data-theme=light] .transaction-actions button:hover{color:#6044d2;background:#f0edff;border-color:#bcb2ef}html[data-theme=light] .category-pill{color:#6f7481;background:#f0f1f5}html[data-theme=light] .view-all{color:#6f7481;background:#fbfbfc}html[data-theme=light] .view-all:hover{color:#3e2d9e;background:#f2f0fb}html[data-theme=light] .progress-track{background:#e9eaf0}html[data-theme=light] .budget-meta strong,html[data-theme=light] .category-list strong{color:#343741}html[data-theme=light] .category-list span{color:#656a77}html[data-theme=light] .donut>div{background:#fff}html[data-theme=light] .donut.empty-donut{background:#e4e6ec}html[data-theme=light] .quick-actions button{color:#282b34;background:#f7f7fa;border-color:#e2e4eb}html[data-theme=light] .quick-actions button:hover{background:#f3f0ff;border-color:#bcb2ef}html[data-theme=light] .modal-backdrop{background:#2326305c}html[data-theme=light] .confirm-modal,html[data-theme=light] .modal{background:#fff;border-color:#dedfe7;box-shadow:0 35px 90px #1e202b2e}html[data-theme=light] .confirm-modal p{color:#747987}html[data-theme=light] .confirm-modal p strong{color:#2d3039}html[data-theme=light] .modal-head button{color:#646977;background:#f1f2f6}html[data-theme=light] .modal label{color:#555a67}html[data-theme=light] .modal input,html[data-theme=light] .modal select,html[data-theme=light] .modal textarea{color:#20232c;background:#f8f8fa;border-color:#dfe1e8}html[data-theme=light] .advanced-filters input,html[data-theme=light] .advanced-filters select,html[data-theme=light] .manage-tabs{color:#30333d;background:#f1f2f6}html[data-theme=light] .data-tools button,html[data-theme=light] .data-tools label,html[data-theme=light] .management-list>div{background:#f7f7fa}html[data-theme=light] .upload-box{background:#6847f509;border-color:#cec9df}html[data-theme=light] .upload-box strong{color:#343741}html[data-theme=light] .upload-box small{color:#7d8290}html[data-theme=light] .receipt-items-panel{background:#f8f8fa;border-color:#dfe1e8}html[data-theme=light] .receipt-items-head strong{color:#2d3039}html[data-theme=light] .receipt-item-row{border-color:#e2e3e9}html[data-theme=light] .receipt-item-row.selected{background:#6847f50a;border-color:#cfc5f3}html[data-theme=light] .receipt-item-remove{color:#646977;background:#eceef3}html[data-theme=light] .secondary-button{color:#565b68;background:#eceef3}html[data-theme=light] .toast{background:#fff;border-color:#dfe1e8;box-shadow:0 18px 40px #1e202b1f}html[data-theme=light] .panel.dashboard-memo{background:radial-gradient(circle at 12% 0,rgb(var(--accent-rgb)/.07),transparent 36%),#fff;border-color:#dfe1e8;box-shadow:0 14px 34px #1f222d12}html[data-theme=light] .dashboard-memo textarea{color:#282b34;background:#f7f7fa}html[data-theme=light] .dashboard-memo textarea:focus{background:#fff}html[data-palette] body{background:var(--bg);color:var(--text)}html[data-palette] .app-shell,html[data-palette][data-theme=light] .app-shell{background:radial-gradient(circle at 68% -18%,rgb(var(--accent-rgb)/.18),transparent 35%),var(--bg)}html[data-palette] .sidebar,html[data-palette][data-theme=light] .sidebar{border-color:var(--line);background:var(--sidebar)}@supports (color:color-mix(in lab,red,red)){html[data-palette] .sidebar,html[data-palette][data-theme=light] .sidebar{background:color-mix(in srgb,var(--sidebar) 96%,transparent)}}html[data-palette] .sidebar,html[data-palette][data-theme=light] .sidebar{box-shadow:8px 0 30px rgb(var(--accent-rgb)/.055)}html[data-palette] .topbar,html[data-palette][data-theme=light] .topbar{border-color:var(--line);background:var(--bg)}@supports (color:color-mix(in lab,red,red)){html[data-palette] .topbar,html[data-palette][data-theme=light] .topbar{background:color-mix(in srgb,var(--bg) 86%,transparent)}}html[data-palette] .topbar,html[data-palette][data-theme=light] .topbar{box-shadow:0 8px 30px rgb(var(--accent-rgb)/.045)}html[data-palette] .nav-item,html[data-palette][data-theme=light] .nav-item{color:var(--muted)}html[data-palette] .nav-item.active,html[data-palette] .nav-item:hover,html[data-palette][data-theme=light] .nav-item.active,html[data-palette][data-theme=light] .nav-item:hover{color:var(--text);background:rgb(var(--accent-rgb)/.14)}html[data-palette] .icon-button,html[data-palette] .menu-order-controls button,html[data-palette] .theme-toggle,html[data-palette][data-theme=light] .icon-button,html[data-palette][data-theme=light] .menu-order-controls button,html[data-palette][data-theme=light] .theme-toggle{border-color:var(--line);background:var(--panel-2);color:var(--muted)}html[data-palette] .profile-mini{border-color:var(--line)}html[data-palette] .search-box input{color:var(--text)}html[data-palette] .search-box input::placeholder{color:var(--muted)}html[data-palette] .month-selector,html[data-palette][data-theme=light] .month-selector{border-color:var(--line);background:var(--panel)}html[data-palette] .month-selector button,html[data-palette][data-theme=light] .month-selector button{color:var(--muted)}html[data-palette] .month-selector button:hover,html[data-palette][data-theme=light] .month-selector button:hover{background:rgb(var(--accent-rgb)/.13);color:var(--purple)}html[data-palette] .panel,html[data-palette] .summary-card,html[data-palette][data-theme=light] .panel,html[data-palette][data-theme=light] .summary-card{border-color:var(--line);background:linear-gradient(150deg,var(--panel),var(--panel))}@supports (color:color-mix(in lab,red,red)){html[data-palette] .panel,html[data-palette] .summary-card,html[data-palette][data-theme=light] .panel,html[data-palette][data-theme=light] .summary-card{background:linear-gradient(150deg,var(--panel),color-mix(in srgb,var(--panel) 72%,var(--panel-2)))}}html[data-palette] .panel,html[data-palette] .summary-card,html[data-palette][data-theme=light] .panel,html[data-palette][data-theme=light] .summary-card{box-shadow:0 14px 34px rgb(var(--accent-rgb)/.065)}html[data-palette] .summary-card.accent-card,html[data-palette][data-theme=light] .summary-card.accent-card{border-color:rgb(var(--accent-rgb)/.38);background:radial-gradient(circle at 100% 0,rgb(var(--accent-rgb)/.18),transparent 46%),linear-gradient(145deg,var(--panel),var(--panel))}@supports (color:color-mix(in lab,red,red)){html[data-palette] .summary-card.accent-card,html[data-palette][data-theme=light] .summary-card.accent-card{background:radial-gradient(circle at 100% 0,rgb(var(--accent-rgb)/.18),transparent 46%),linear-gradient(145deg,var(--panel),color-mix(in srgb,var(--panel) 68%,var(--panel-2)))}}html[data-palette] .panel.dashboard-memo,html[data-palette][data-theme=light] .panel.dashboard-memo{border-color:var(--line);background:radial-gradient(circle at 12% 0,rgb(var(--accent-rgb)/.12),transparent 38%),var(--panel)}html[data-palette] .dashboard-memo textarea,html[data-palette][data-theme=light] .dashboard-memo textarea{background:var(--panel-2)}@supports (color:color-mix(in lab,red,red)){html[data-palette] .dashboard-memo textarea,html[data-palette][data-theme=light] .dashboard-memo textarea{background:color-mix(in srgb,var(--panel-2) 68%,transparent)}}html[data-palette] .dashboard-memo textarea,html[data-palette][data-theme=light] .dashboard-memo textarea{color:var(--text)}html[data-palette] .calendar-controls,html[data-palette] .calendar-day-detail,html[data-palette] .calendar-weekdays,html[data-palette] .dashboard-memo textarea:focus,html[data-palette][data-theme=light] .calendar-controls,html[data-palette][data-theme=light] .calendar-day-detail,html[data-palette][data-theme=light] .calendar-weekdays,html[data-palette][data-theme=light] .dashboard-memo textarea:focus{background:var(--panel-2)}html[data-palette] .calendar-blank,html[data-palette] .calendar-grid>button,html[data-palette][data-theme=light] .calendar-blank,html[data-palette][data-theme=light] .calendar-grid>button{background:var(--panel)}html[data-palette] .calendar-grid>button.selected,html[data-palette] .calendar-grid>button:hover,html[data-palette][data-theme=light] .calendar-grid>button.selected,html[data-palette][data-theme=light] .calendar-grid>button:hover{background:rgb(var(--accent-rgb)/.13)}html[data-palette] .advanced-filters input,html[data-palette] .advanced-filters select,html[data-palette] .filter-tabs,html[data-palette] .manage-tabs,html[data-palette] .type-switch{background:var(--panel-2);color:var(--text)}html[data-palette] .filter-tabs button.active{background:var(--panel);color:var(--text)}html[data-palette] .category-pill,html[data-palette] .data-tools button,html[data-palette] .data-tools label,html[data-palette] .management-list>div,html[data-palette] .quick-actions button,html[data-palette] .transaction-actions button{border-color:var(--line);background:var(--panel-2);color:var(--text)}html[data-palette] .confirm-modal,html[data-palette] .modal,html[data-palette] .toast{border-color:var(--line);background:var(--panel);color:var(--text)}html[data-palette] .modal input,html[data-palette] .modal select,html[data-palette] .modal textarea{border-color:var(--line);background:var(--panel-2);color:var(--text)}html[data-palette] .mobile-bottom-nav,html[data-palette][data-theme=light] .mobile-bottom-nav{border-color:var(--line);background:var(--panel)}@supports (color:color-mix(in lab,red,red)){html[data-palette] .mobile-bottom-nav,html[data-palette][data-theme=light] .mobile-bottom-nav{background:color-mix(in srgb,var(--panel) 94%,transparent)}}@media (max-width:1080px){.display-settings-logout{border:1px solid var(--coral);justify-content:center;align-items:center;gap:8px;width:100%;min-height:42px;margin-top:16px;display:flex}@supports (color:color-mix(in lab,red,red)){.display-settings-logout{border:1px solid color-mix(in srgb,var(--coral) 38%,var(--line))}}.display-settings-logout{background:var(--coral);border-radius:11px}@supports (color:color-mix(in lab,red,red)){.display-settings-logout{background:color-mix(in srgb,var(--coral) 9%,var(--panel))}}.display-settings-logout{color:var(--coral);cursor:pointer;font-size:calc(10px + var(--font-step))}.display-settings-logout span{font-size:calc(16px + var(--font-step))}.sidebar{width:78px;padding-inline:12px}.brand{padding-inline:11px}.brand strong,.nav-item b,.profile-logout,.profile-mini div,.theme-toggle b,.toggle-track{display:none}.nav-item,.profile-mini,.theme-toggle{justify-content:center;padding-inline:0}.workspace{margin-left:78px}.manage-page-backdrop{left:78px}.dashboard-grid{grid-template-columns:1fr}.right-column{grid-template-columns:repeat(2,1fr)}.quick-panel{grid-column:1/-1}.view-home .right-column{grid-template-columns:repeat(2,1fr)}.view-home .quick-panel{grid-column:1/-1}}@media (max-width:760px){.pwa-install-button{right:16px;bottom:calc(88px + env(safe-area-inset-bottom))}.display-settings{padding:18px;top:58px;right:14px}.sidebar{display:none}.workspace{margin-left:0}.manage-page-backdrop{inset:66px 0 calc(84px + env(safe-area-inset-bottom));padding:18px 16px}.manage-page-panel{min-height:0}.topbar{gap:12px;height:66px;padding:0 18px}.mobile-brand{font-size:calc(12px + var(--font-step));letter-spacing:.1em;align-items:center;gap:7px;display:flex}.mobile-brand .brand-mark{width:27px;height:27px;font-size:calc(11px + var(--font-step))}.search-box{flex:1;width:auto}.top-actions .notice-button{display:none}.primary-button{padding:10px 12px}.page-content{padding:24px 16px calc(104px + env(safe-area-inset-bottom))}.mobile-bottom-nav{z-index:40;right:10px;bottom:calc(10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#1d1e24f0;border:1px solid #383a43;border-radius:18px;grid-template-columns:repeat(7,1fr);min-height:64px;padding:6px;display:grid;position:fixed;left:10px;box-shadow:0 18px 45px #00000061}.mobile-bottom-nav a,.mobile-bottom-nav button{color:#858995;cursor:pointer;background:0 0;border:0;border-radius:12px;align-content:center;place-items:center;gap:3px;min-width:0;text-decoration:none;display:grid}.mobile-bottom-nav a:active,.mobile-bottom-nav a:focus-visible,.mobile-bottom-nav button:active,.mobile-bottom-nav button:focus-visible{background:rgb(var(--accent-rgb)/.14);color:var(--purple-soft);outline:none}.mobile-bottom-nav button.active{background:rgb(var(--accent-rgb)/.14);color:var(--purple-soft)}.mobile-bottom-nav span{font-size:calc(17px + var(--font-step));line-height:1}.mobile-bottom-nav b{max-width:100%;font-size:calc(9px + var(--font-step));text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.mobile-bottom-nav.editing{border-color:#7059cf;box-shadow:0 18px 48px #4b31b152}.mobile-bottom-nav.editing button{touch-action:none;-webkit-user-select:none;user-select:none;background:rgb(var(--accent-rgb)/.08);color:#c0b7e9;position:relative}.mobile-bottom-nav.editing button:active{background:rgb(var(--accent-rgb)/.2);transform:scale(.94)}.mobile-drag-dot{color:#8275b5;font-style:normal;font-size:calc(8px + var(--font-step));letter-spacing:1px;position:absolute;top:2px;right:5px}.mobile-menu-editor{z-index:41;right:14px;bottom:calc(82px + env(safe-area-inset-bottom));gap:5px;display:flex;position:fixed}.mobile-menu-editor button{color:#aaa6bd;cursor:pointer;font-size:calc(9px + var(--font-step));background:#23242bf5;border:1px solid #3b3d46;border-radius:9px;padding:7px 10px;box-shadow:0 8px 22px #0000003d}.mobile-menu-editor.editing button:last-child{color:#fff;background:#5b3dd0;border-color:#6c55ca}.mobile-menu-editor.editing~.toast{bottom:calc(124px + env(safe-area-inset-bottom))}.toast{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));justify-content:center;left:16px}.top-actions .tool-button{display:none}.page-heading{flex-direction:column;align-items:flex-start}.panel.dashboard-memo{grid-template-columns:1fr auto;gap:13px;margin-inline:0;padding:23px 18px 18px;transform:none}.dashboard-memo textarea{grid-area:2/1/auto/-1}.dashboard-memo-actions{grid-area:1/2}.dashboard-memo-copy small{display:none}.summary-grid{grid-template-columns:1fr}.summary-card{min-height:125px}.calendar-heading{flex-direction:column;align-items:flex-start}.calendar-grid,.calendar-weekdays{margin-inline:10px}.calendar-blank,.calendar-grid>button{min-height:72px;padding:6px}.calendar-day-values{gap:2px;margin-top:7px}.calendar-day-values small{font-size:calc(7px + var(--font-step))}.calendar-grid>button>b{display:none}.calendar-day-detail{margin-inline:10px}.calendar-detail-list,.right-column,.view-budget .right-column,.view-home .right-column{grid-template-columns:1fr}.quick-panel{grid-column:auto}.chart-panel .panel-heading{flex-direction:column}.bar-chart{gap:12px;height:220px;padding-inline:18px}.transaction-heading{flex-direction:column;align-items:flex-start}.transaction-row{grid-template-columns:36px minmax(0,1fr) 92px 64px;gap:9px;padding-inline:15px}.category-pill{display:none}.donut-wrap{grid-template-columns:120px 1fr;gap:14px;padding-inline:16px}.donut{width:116px}.form-grid{grid-template-columns:1fr}.receipt-item-row{grid-template-columns:22px minmax(120px,1fr) 64px 28px}.receipt-item-row label:nth-of-type(3),.receipt-item-row label:nth-of-type(4){grid-column:2/4}.receipt-item-remove{grid-area:1/4}.receipt-items-actions{flex-direction:column;align-items:stretch}.advanced-filters{grid-template-columns:1fr 1fr}.data-tools{grid-template-columns:1fr}}@media (max-width:430px){.topbar .search-box{display:none}.top-actions{margin-left:auto}.page-heading h1{font-size:calc(22px + var(--font-step))}.panel.dashboard-memo{grid-template-columns:1fr}.dashboard-memo textarea,.dashboard-memo-actions{grid-area:auto/1}.dashboard-memo-actions{justify-content:space-between;align-items:center;display:flex}.legend{display:none}.donut-wrap{grid-template-columns:1fr;justify-items:center}.category-list{width:100%}}@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-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-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}