@import url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable-dynamic-subset.min.css);@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);:root{--color-primary:#6366f1;--color-success:#548164;--color-info:#487ca5;--color-error:#c4554d;--color-warning:#d97706;--color-background:#fff;--color-surface:#fafafa;--color-text-primary:#373530;--color-text-secondary:#787774;--color-border:#d1d5db;--color-hover:#eef2ff;--color-divider:#e5e7eb;--color-inactive:#9ca3af;--color-naver:#03c75a;--color-kakao:#fee500;--color-google-border:#d1d5db;--spacing-4:4px;--spacing-8:8px;--spacing-12:12px;--spacing-16:16px;--spacing-20:20px;--spacing-24:24px;--radius-standard:16px;--radius-small:12px;--font-primary:"Pretendard Variable","Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,monospace;--shadow-border:0px 0px 0px 1px #00000014;--shadow-border-light:0px 0px 0px 1px #ebebeb;--shadow-border-hover:0px 0px 0px 1px var(--color-primary);--shadow-sm:0 1px 3px #00000014;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 20px 40px #00000026;--shadow-nav:0 1px 3px #00000014;--shadow-card:0px 0px 0px 1px #0000001f,0 1px 3px #0000000a;--shadow-card-hover:0px 0px 0px 1px #00000029,0 4px 12px #00000014;--shadow-focus:0 0 0 2px var(--color-background),0 0 0 4px var(--color-primary);--color-success-bg:#5481641a;--color-warning-bg:#d977061a;--color-error-bg:#c4554d1a;--color-kakao-text:#000;--chart-color-1:#6366f1;--chart-color-2:#548164;--chart-color-3:#487ca5;--chart-color-4:#c4554d;--chart-color-5:#d97706;--chart-color-6:#787774;--chart-color-7:#9ca3af;--chart-color-8:#373530;--sidebar-width:200px;--color-primary-bg:#6366f12e;--content-max-width:1200px}*{box-sizing:border-box;font-family:inherit;margin:0;padding:0}body{-webkit-overflow-scrolling:touch;background:#fff;background:var(--color-background);font-family:Pretendard Variable,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-family:var(--font-primary);min-height:100vh;overscroll-behavior:none;touch-action:manipulation}body,select{color:#373530;color:var(--color-text-primary)}select{-webkit-appearance:none;appearance:none;background-color:#fff;background-color:var(--color-background);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23787774' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right 8px center;background-position:right var(--spacing-8) center;background-repeat:no-repeat;background-size:1.5em 1.5em;border:1px solid #d1d5db;border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-small);cursor:pointer;font-family:inherit;font-size:16px;padding:12px;padding:var(--spacing-12);transition:all .2s ease}select:hover{border-color:#9ca3af;border-color:var(--color-inactive)}select:focus-visible{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236366F1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");border-color:#6366f1;border-color:var(--color-primary);box-shadow:0 0 0 2px #fff,0 0 0 4px #6366f1;box-shadow:var(--shadow-focus);outline:none}input,textarea{background:#fff;background:var(--color-background);border:1px solid #d1d5db;border:1px solid var(--color-border);border-radius:12px;border-radius:var(--radius-small);color:#373530;color:var(--color-text-primary);font-family:inherit;font-size:16px;padding:12px;padding:var(--spacing-12);transition:all .2s ease}input:focus-visible,textarea:focus-visible{border-color:#6366f1;border-color:var(--color-primary);box-shadow:0 0 0 2px #fff,0 0 0 4px #6366f1;box-shadow:var(--shadow-focus);outline:none}input,select,textarea{-webkit-user-select:text;user-select:text}button{font-family:inherit;transition:all .2s ease}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}@media (display-mode:standalone){body{padding-bottom:env(safe-area-inset-bottom);padding-top:env(safe-area-inset-top)}.mobile-header{padding-top:calc(16px + env(safe-area-inset-top));padding-top:calc(var(--spacing-16) + env(safe-area-inset-top))}.main-content{padding-top:calc(70px + env(safe-area-inset-top))}}.App{background:var(--color-background);color:var(--color-text-primary);font-family:var(--font-primary);min-height:100vh}[tabindex]:focus-visible,a:focus-visible,button:focus-visible{box-shadow:var(--shadow-focus);outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.app-layout{min-height:100vh}.app-layout,.sidebar{background:var(--color-background);display:flex}.sidebar{align-items:stretch;border-right:1px solid var(--color-divider);flex-direction:column;height:100vh;overflow-y:auto;position:fixed;width:var(--sidebar-width);z-index:200}.sidebar-header{box-shadow:0 1px 0 0 var(--color-divider);padding:var(--spacing-24)}.sidebar-header h1{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0 0 var(--spacing-8) 0}.sidebar-header p{color:var(--color-text-secondary);font-size:14px;margin:0}.sidebar-brand{border-bottom:1px solid var(--color-divider);box-sizing:border-box;gap:var(--spacing-12);height:49px;padding:0 var(--spacing-16);width:100%}.sidebar-brand,.sidebar-brand-icon{align-items:center;display:flex;flex-shrink:0}.sidebar-brand-icon{border-radius:var(--radius-small);color:var(--color-primary);font-size:22px;height:32px;justify-content:center;text-decoration:none;transition:background .2s ease;width:32px}.sidebar-brand-icon:hover{background:var(--color-hover)}.sidebar-brand-text{color:var(--color-text-primary);font-size:16px;font-weight:600;white-space:nowrap}.sidebar-nav{flex:1 1;overflow-y:auto;padding:var(--spacing-8) 0}.nav-section,.sidebar-nav{align-items:stretch;display:flex;flex-direction:column;width:100%}.nav-section{margin-bottom:0}.nav-section h3{display:none}.nav-item{align-items:center;background:none;border:none;border-radius:0;box-sizing:border-box;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:20px;gap:var(--spacing-12);height:40px;justify-content:flex-start;margin:2px 0;padding:0 var(--spacing-16);position:relative;text-decoration:none;transition:all .15s ease;width:100%}.nav-item:hover{background:var(--color-hover);color:var(--color-primary)}.nav-item.active{background:var(--color-primary-bg);color:var(--color-primary)}.nav-item.active:before{background:var(--color-primary);border-radius:0 2px 2px 0;content:"";height:20px;left:0;position:absolute;top:50%;transform:translateY(-50%);width:3px}.nav-label{color:inherit;font-size:13px;font-weight:500;white-space:nowrap}.nav-divider{background:var(--color-divider);height:1px;margin:var(--spacing-8) 0;width:100%}.nav-tooltip{display:none}.sidebar-footer{align-items:stretch;border-top:1px solid var(--color-divider);display:flex;flex-direction:column;padding:var(--spacing-8) 0;width:100%}.install-btn,.logout-btn{align-items:center;background:none;border:none;border-radius:0;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:20px;gap:var(--spacing-12);height:40px;justify-content:flex-start;margin:2px 0;padding:0 var(--spacing-16);transition:all .15s ease;width:100%}.install-btn:hover,.logout-btn:hover{background:var(--color-hover);color:var(--color-primary)}.main-content{display:flex;flex:1 1;flex-direction:column;margin-left:var(--sidebar-width)}.page-header{align-items:center;background:var(--color-background);border-bottom:1px solid var(--color-divider);box-sizing:border-box;display:flex;flex-shrink:0;height:49px;padding:0 var(--spacing-16);position:-webkit-sticky;position:sticky;top:0;z-index:50}.page-header h2{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0}.content-area{flex:1 1;margin:0 auto;max-width:var(--content-max-width);overflow-y:auto;padding:var(--spacing-16);width:100%}.content-area .form-group .btn-primary,.content-area form .btn-primary{width:auto}.card{background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-12);padding:var(--spacing-16);transition:all .2s ease}.card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.card-header{margin-bottom:var(--spacing-16)}.card-title{color:var(--color-text-primary);font-size:14px;font-weight:600;margin:0 0 var(--spacing-4) 0}.card-subtitle{font-size:13px;margin:0}.card-subtitle,.meta-text{color:var(--color-text-secondary);font-weight:400}.label-text,.meta-text{font-size:12px}.label-text{color:var(--color-text-secondary);font-weight:500;letter-spacing:.5px;text-transform:uppercase}.btn{background:var(--color-primary);border:none;border-radius:var(--radius-small);color:#fff;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;margin-right:var(--spacing-8);padding:var(--spacing-12) var(--spacing-16);transition:all .2s ease}.btn:hover{opacity:.9}.btn:active{transform:translateY(0)}.btn-active{background:var(--color-text-primary)}.btn-primary{background:var(--color-primary);border:none;border-radius:var(--radius-small);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:var(--spacing-12) var(--spacing-20);transition:all .2s ease}.btn-primary:hover{opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{background:var(--color-inactive);cursor:not-allowed;opacity:1;transform:none}.btn-secondary{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:var(--spacing-12) var(--spacing-20);transition:all .2s ease}.btn-secondary:hover{background:var(--color-surface)}.btn-danger{background:var(--color-error);border:none;border-radius:var(--radius-small);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:var(--spacing-12) var(--spacing-20);transition:all .2s ease}.btn-danger:hover{opacity:.9;transform:translateY(-1px)}.form-group{margin-bottom:var(--spacing-16)}.form-group label{color:var(--color-text-primary);display:block;font-size:14px;font-weight:500;margin-bottom:var(--spacing-8)}.form-group input,.form-group select,.form-group textarea{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);font-family:inherit;font-size:16px;padding:var(--spacing-12);transition:all .2s ease;width:100%}.form-label{display:block;font-weight:500;margin-bottom:6px}.form-input,.form-label,.form-select{color:var(--color-text-primary);font-size:14px}.form-input,.form-select{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);padding:var(--spacing-12);transition:border-color .2s ease;width:100%}.summary-grid{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-24)}.summary-card{background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-20);text-align:center;transition:all .2s ease}.summary-card:hover{box-shadow:var(--shadow-card-hover);transform:translateY(-2px)}.summary-card.income{border-left:4px solid var(--color-success)}.summary-card.expense{border-left:4px solid var(--color-error)}.summary-card.balance{border-left:4px solid var(--color-info)}.summary-card h3{color:var(--color-text-secondary);font-size:14px;font-weight:500;margin:0 0 var(--spacing-8) 0}.summary-card .amount{color:var(--color-text-primary);font-size:20px;font-weight:600;margin:0}.summary-card.income .amount{color:var(--color-success)}.summary-card.expense .amount{color:var(--color-error)}.summary-card.balance .amount{color:var(--color-info)}.transaction-list{max-height:400px;overflow-y:auto}.transaction-item{align-items:center;background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-border);display:flex;justify-content:space-between;margin-bottom:var(--spacing-12);padding:var(--spacing-16);transition:all .2s ease}.transaction-item:hover{background:var(--color-surface);box-shadow:var(--shadow-card);transform:translateX(4px)}.transaction-item:last-child{border-bottom:none}.transaction-item.income{border-left:4px solid var(--color-success)}.transaction-item.expense{border-left:4px solid var(--color-error)}.income{color:var(--color-success);font-weight:500}.expense{color:var(--color-error);font-weight:500}.transaction-info{flex:1 1}.transaction-category{color:var(--color-text-primary);font-size:14px;font-weight:600;margin-bottom:var(--spacing-4)}.transaction-description{color:var(--color-text-secondary);font-size:12px}.transaction-amount{font-size:14px;font-weight:600}.transaction-item.income .transaction-amount{color:var(--color-success)}.transaction-item.expense .transaction-amount{color:var(--color-error)}.transaction-date{color:var(--color-text-secondary);font-size:12px;margin-left:var(--spacing-12)}.ai-analysis{background:var(--color-surface);border-left:3px solid var(--color-primary);border-radius:var(--radius-small);box-shadow:var(--shadow-border);margin-top:var(--spacing-16);padding:var(--spacing-24);white-space:pre-line}.ai-analysis-card{background:var(--color-hover);border-radius:var(--radius-small);box-shadow:var(--shadow-border-hover);padding:var(--spacing-20)}.ai-analysis-card,.ai-button{margin-bottom:var(--spacing-16)}.ai-button{background:var(--color-primary);border:none;border-radius:var(--radius-small);color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:14px var(--spacing-24);transition:all .2s ease}.ai-button:hover{opacity:.9;transform:translateY(-1px)}.ai-button:disabled{background:var(--color-text-secondary);cursor:not-allowed;transform:none}.analysis-result{background:var(--color-background);border-left:4px solid var(--color-primary);border-radius:var(--radius-small);box-shadow:var(--shadow-border);padding:var(--spacing-20)}.analysis-result pre{color:var(--color-text-primary);font-family:inherit;line-height:1.6;margin:0;white-space:pre-wrap}.calendar{background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.calendar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-16);padding:var(--spacing-8) 0}.calendar-header h3{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.calendar-nav{display:flex;gap:var(--spacing-8)}.calendar-nav button{background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--spacing-8);color:var(--color-text-secondary);cursor:pointer;font-size:14px;padding:var(--spacing-8);transition:all .2s ease}.calendar-nav button:hover{background:var(--color-surface);border-color:var(--color-border)}.calendar-grid{grid-gap:1px;background:var(--color-divider);border-radius:var(--radius-small);display:grid;gap:1px;grid-template-columns:repeat(7,1fr);overflow:hidden}.calendar-day-header{background:var(--color-surface);color:var(--color-text-secondary);font-size:12px;font-weight:500;letter-spacing:.05em;padding:var(--spacing-12) var(--spacing-8);text-align:center;text-transform:uppercase}.calendar-day{background:var(--color-background);border:1px solid #0000;color:var(--color-text-primary);cursor:pointer;display:flex;flex-direction:column;font-size:14px;justify-content:space-between;min-height:80px;padding:var(--spacing-8);text-align:left;transition:all .2s ease}.calendar-day:hover{background:var(--color-surface);border-color:var(--color-border)}.calendar-day.other-month{background:var(--color-surface);color:var(--color-inactive)}.calendar-day.today{background:var(--color-hover);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.calendar-day.selected{border-color:var(--color-text-primary);color:#fff}.calendar-day.selected,.calendar-day.selected:hover{background:var(--color-text-primary)}.chart-selector,.month-selector{-webkit-appearance:none;appearance:none;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);cursor:pointer;font-family:inherit;font-size:14px;min-width:140px;padding:var(--spacing-12) var(--spacing-16);transition:all .2s ease}.chart-selector:hover,.month-selector:hover{border-color:var(--color-inactive)}.chart-selector:focus-visible,.month-selector:focus-visible{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.chart-selector{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%23787774' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right var(--spacing-8) center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem}.chart-selector:focus-visible{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236366F1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E")}.empty-state{color:var(--color-text-secondary);padding:32px var(--spacing-16);text-align:center}.empty-state-icon{font-size:36px;margin-bottom:var(--spacing-12);opacity:.5}.empty-state-title{color:var(--color-text-primary);font-size:15px;font-weight:500;margin-bottom:var(--spacing-8)}.empty-state-description{color:var(--color-text-secondary);font-size:13px}.loading{align-items:center;color:var(--color-text-secondary);display:flex;justify-content:center;padding:var(--spacing-24)}.loading-spinner{animation:spin 1s linear infinite;border-top:2px solid var(--color-border);border:2px solid var(--color-border);border-top-color:var(--color-primary);margin-right:var(--spacing-12)}.install-prompt{align-items:center;background:var(--color-primary);border-radius:var(--radius-standard);bottom:var(--spacing-20);box-shadow:var(--shadow-lg);color:#fff;display:flex;justify-content:space-between;left:var(--spacing-20);padding:var(--spacing-24);position:fixed;right:var(--spacing-20);z-index:1000}.install-prompt button{background:#ffffffe6;border:none;border-radius:var(--radius-small);color:var(--color-primary);cursor:pointer;font-family:inherit;font-weight:500;padding:var(--spacing-12) var(--spacing-24);transition:all .2s ease}.install-prompt button:hover{background:#fff;transform:translateY(-2px)}.mobile-header{align-items:center;background:var(--color-background);box-shadow:0 1px 0 0 var(--color-divider);display:none;justify-content:space-between;left:0;padding:var(--spacing-16);position:fixed;right:0;top:0;z-index:1001}.menu-toggle{background:none;border:none;cursor:pointer;font-size:24px;padding:var(--spacing-8)}.mobile-header h1{font-size:20px;margin:0}.user-name{color:var(--color-text-secondary);font-size:14px}.mobile-overlay{background:#00000080;bottom:0;display:none;left:0;position:fixed;right:0;top:0;z-index:1001}.mobile-overlay.open{display:block}.mobile-menu{background:var(--color-background);display:flex;flex-direction:column;height:100vh;left:0;overflow-y:auto;position:fixed;top:0;transform:translateX(-100%);transition:transform .3s ease;width:280px;z-index:1002}.mobile-menu.open{transform:translateX(0)}.mobile-menu-header{box-shadow:0 1px 0 0 var(--color-divider);padding:var(--spacing-24) var(--spacing-24) var(--spacing-16)}.mobile-menu-header h2{color:var(--color-text-primary);font-size:24px;font-weight:700;margin:0 0 var(--spacing-8) 0}.mobile-menu-header p{color:var(--color-text-secondary);font-size:14px;margin:0}.mobile-menu-nav{flex:1 1;padding:var(--spacing-16) 0}.mobile-nav-item{align-items:center;background:none;border:none;color:var(--color-text-secondary);cursor:pointer;display:flex;font-size:16px;padding:var(--spacing-16) var(--spacing-24);text-align:left;transition:all .2s ease;width:100%}.mobile-nav-item:hover{background:var(--color-surface);color:var(--color-text-primary)}.mobile-nav-item.active{background:var(--color-hover);border-right:3px solid var(--color-primary);color:var(--color-primary);font-weight:500}.mobile-menu-footer{box-shadow:0 -1px 0 0 var(--color-divider);display:flex;flex-direction:column;gap:var(--spacing-8);padding:var(--spacing-16) var(--spacing-24)}.mobile-install-btn,.mobile-logout-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);cursor:pointer;font-family:inherit;font-size:14px;padding:var(--spacing-12);transition:all .2s ease}.mobile-install-btn:hover,.mobile-logout-btn:hover{background:var(--color-surface)}.toast-container{flex-direction:column;pointer-events:none;position:fixed;right:var(--spacing-24);top:var(--spacing-24);z-index:9999}.toast,.toast-container{display:flex;gap:var(--spacing-12)}.toast{align-items:flex-start;animation:toast-slide-in .3s ease-out;background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card),var(--shadow-md);max-width:calc(100vw - 48px);padding:var(--spacing-16);pointer-events:auto;width:360px}.toast.toast-exit{animation:toast-fade-out .3s ease-in forwards}.toast--success{border-left:4px solid var(--color-success)}.toast--error{border-left:4px solid var(--color-error)}.toast--warning{border-left:4px solid var(--color-warning)}.toast--info{border-left:4px solid var(--color-info)}.toast__message{color:var(--color-text-primary);flex:1 1;font-size:14px;line-height:1.4}.toast__close{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;padding:0}@keyframes toast-slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes toast-fade-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.dialog-overlay{align-items:center;animation:dialog-overlay-in .2s ease-out;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:10000}.dialog{animation:dialog-scale-in .2s ease-out;background:var(--color-background);border-radius:var(--radius-standard);box-shadow:var(--shadow-lg);max-width:calc(100vw - 48px);padding:var(--spacing-24);width:400px}.dialog__header{align-items:center;display:flex;gap:var(--spacing-12);margin-bottom:var(--spacing-16)}.dialog__icon{flex-shrink:0}.dialog__title{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.dialog__message{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.dialog__message,.dialog__password-field{margin-bottom:var(--spacing-20)}.dialog__actions{display:flex;gap:var(--spacing-12);justify-content:flex-end}.dialog__cancel-btn{background:#0000;border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:500;padding:var(--spacing-12) var(--spacing-20);transition:all .2s ease}.dialog__cancel-btn:hover{background:var(--color-surface)}.dialog__confirm-btn{border:none;border-radius:var(--radius-small);cursor:pointer;font-size:14px;font-weight:500;padding:var(--spacing-12) var(--spacing-20);transition:all .2s ease}.dialog__confirm-btn:disabled{cursor:not-allowed;opacity:.5}@keyframes dialog-overlay-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.swipe-container{transition:transform .3s ease}.mobile-menu-toggle{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);cursor:pointer;display:none;left:var(--spacing-16);padding:var(--spacing-8);position:fixed;top:var(--spacing-16);z-index:1001}@media (max-width:1200px){.content-area{max-width:none}}@media (max-width:1024px){.mobile-header{display:flex}.sidebar{display:none}.main-content{margin-left:0;padding-top:70px}.card,.content-area,.page-header{padding:var(--spacing-16)}.card{margin-bottom:var(--spacing-16)}.form-group input,.form-group select,.form-group textarea{font-size:16px}}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease;z-index:1000}.sidebar.open{transform:translateX(0)}.main-content{margin-left:0}.page-header{padding:var(--spacing-16)}.page-header h2{font-size:20px}.content-area{padding:var(--spacing-12)}.summary-grid{gap:var(--spacing-12);grid-template-columns:1fr}.card{padding:var(--spacing-16)}.transaction-item{align-items:flex-start;flex-direction:column;gap:var(--spacing-12)}.transaction-amount{align-self:flex-end}.btn-primary,.btn-secondary{padding:14px;width:100%}.mobile-menu{width:100%}.mobile-menu-toggle,.mobile-overlay.open{display:block}.calendar-grid{gap:0}.calendar-day{font-size:12px;min-height:60px;padding:var(--spacing-4)}.calendar-day-header{font-size:11px;padding:var(--spacing-8) var(--spacing-4)}}@media (max-width:480px){.page-header h2,.sidebar-header h1{font-size:18px}.summary-card .amount{font-size:20px}.card-title{font-size:14px}.transaction-category{font-size:13px}.transaction-amount{font-size:14px}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}.auth-page{align-items:center;background:linear-gradient(135deg,var(--color-surface) 0,var(--color-hover) 50%,var(--color-surface) 100%);display:flex;justify-content:center;min-height:100vh}.auth-card{background:var(--color-background);border-radius:var(--radius-standard);box-shadow:var(--shadow-md);max-width:420px;padding:var(--spacing-24);width:100%}.auth-card--wide{max-width:500px;text-align:center}.auth-header{margin-bottom:var(--spacing-24);text-align:center}.auth-title{color:var(--color-text-primary);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 var(--spacing-8) 0}.auth-subtitle{color:var(--color-text-secondary);font-size:14px;margin:var(--spacing-8) 0 0 0}.auth-error{background:var(--color-surface);border-left:3px solid var(--color-error);border-radius:var(--radius-small);color:var(--color-error);font-size:14px;margin-bottom:var(--spacing-16);padding:var(--spacing-12)}.auth-card .form-group{margin-bottom:var(--spacing-20)}.auth-card .form-group input{padding:var(--spacing-12) var(--spacing-16)}.auth-card .btn-primary,.auth-card .form-group input{border-radius:var(--radius-small);font-size:16px;height:48px}.auth-card .btn-primary{font-weight:600;margin-top:var(--spacing-24)}.auth-card .btn-primary:hover{box-shadow:var(--shadow-sm)}.auth-divider{align-items:center;display:flex;gap:var(--spacing-8);margin:var(--spacing-24) 0}.auth-divider:after,.auth-divider:before{background:var(--color-divider);content:"";flex:1 1;height:1px}.auth-divider span{color:var(--color-text-secondary);font-size:13px}.auth-footer{margin-top:var(--spacing-16);text-align:center}.auth-message{line-height:1.5;margin-bottom:var(--spacing-24)}.auth-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:14px;font-weight:600;text-decoration:none}.auth-link:hover{text-decoration:underline}.auth-link--danger{color:var(--color-text-secondary);font-weight:400}.auth-link--danger:hover{text-decoration:underline}.auth-footer-row{margin-bottom:var(--spacing-12)}.form-error{color:var(--color-error);font-size:12px;margin-top:var(--spacing-4)}.btn-full-width{width:100%}.social-buttons{display:flex;flex-direction:column;gap:var(--spacing-12)}.social-btn{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);color:var(--color-text-primary);cursor:pointer;font-size:15px;font-weight:600;height:48px;padding:var(--spacing-12);transition:all .2s ease;width:100%}.social-btn:hover{background:var(--color-surface);opacity:.85}.social-btn--naver{border-left:3px solid var(--color-naver)}.social-btn--kakao{border-left:3px solid var(--color-kakao)}.social-btn--google{border-left:3px solid var(--color-border)}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.grid-2{grid-gap:var(--spacing-16);grid-template-columns:1fr 1fr}.grid-2,.grid-auto{display:grid;gap:var(--spacing-16)}.grid-auto{grid-gap:var(--spacing-16);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.section-gap{display:flex;flex-direction:column;gap:var(--spacing-24)}.status-badge{border-radius:var(--radius-small);display:inline-block;font-size:12px;font-weight:600;padding:var(--spacing-4) var(--spacing-8)}.status-badge--safe{background:var(--color-success-bg);color:var(--color-success)}.status-badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.status-badge--over{background:var(--color-error-bg);color:var(--color-error)}.progress-bar{background:var(--color-surface);height:8px;overflow:hidden;width:100%}.progress-bar,.progress-fill{border-radius:var(--radius-small)}.progress-fill{height:100%;transition:width .3s ease}.progress-fill--success{background:var(--color-success)}.progress-fill--error{background:var(--color-error)}.progress-fill--warning{background:var(--color-warning)}.progress-fill--primary{background:var(--color-primary)}.btn-sm{font-size:12px;padding:var(--spacing-4) var(--spacing-8)}.btn-icon{align-items:center;display:flex;height:40px;justify-content:center;padding:0;width:40px}.date-picker{background:var(--color-background);border-radius:var(--radius-standard);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.date-picker-grid{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8);grid-template-columns:repeat(4,1fr)}.date-picker-item{background:#0000;border:none;border-radius:var(--radius-small);color:var(--color-text-primary);cursor:pointer;font-size:14px;padding:var(--spacing-8) var(--spacing-12);transition:background .2s ease}.date-picker-item:hover{background:var(--color-hover)}.date-picker-item--selected{background:var(--color-primary);color:#fff}.tab-group{border-bottom:1px solid var(--color-divider);display:flex;gap:var(--spacing-16);padding:0}.tab-group,.tab-item{background:#0000;border-radius:0}.tab-item{border:none;border-bottom:2px solid #0000;color:var(--color-text-secondary);cursor:pointer;font-size:13px;font-weight:500;margin-bottom:-1px;padding:var(--spacing-8) var(--spacing-4);transition:all .2s ease}.tab-item:hover{color:var(--color-text-primary)}.tab-item.active{background:#0000;border-bottom:2px solid var(--color-primary);box-shadow:none;color:var(--color-primary)}.chart-container{padding:var(--spacing-24)}.category-card,.chart-container{background:var(--color-background);border-radius:var(--radius-standard);box-shadow:var(--shadow-card)}.category-card{padding:var(--spacing-16);transition:box-shadow .2s ease}.category-card:hover{box-shadow:var(--shadow-card-hover)}.transaction-date-header{align-items:center;border-bottom:1px solid var(--color-divider);color:var(--color-text-primary);display:flex;font-weight:600;justify-content:space-between;padding:var(--spacing-12) 0}.transaction-date-header__label{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.transaction-row{align-items:center;background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);cursor:pointer;display:flex;padding:var(--spacing-12) var(--spacing-16);transition:all .2s ease}.transaction-row:hover{background:var(--color-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-1px)}.transaction-row--editing{background:var(--color-hover);box-shadow:var(--shadow-card);cursor:default;padding:var(--spacing-16)}.transaction-row--editing:hover{transform:none}.transaction-row__icon{align-items:center;background:var(--color-surface);border-radius:var(--radius-small);display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.transaction-row__content{align-items:center;display:flex;flex:1 1;gap:var(--spacing-12)}.transaction-row__info{flex:1 1}.transaction-row__title{color:var(--color-text-primary);font-size:16px;font-weight:600}.transaction-row__meta{align-items:center;color:var(--color-text-secondary);display:flex;font-size:14px;gap:var(--spacing-8)}.transaction-row__actions{align-items:center;display:flex;gap:var(--spacing-16)}.transaction-row__amount{color:var(--color-text-secondary);font-size:18px;font-weight:700}.transaction-row__amount--income{color:var(--color-success)}.transaction-row__buttons{display:flex;gap:var(--spacing-8)}.transaction-edit-form{width:100%}.transaction-edit-grid{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16);grid-template-columns:1fr 1fr;margin-bottom:var(--spacing-16)}.transaction-edit-actions{display:flex;gap:var(--spacing-12);justify-content:flex-end}.transaction-group{grid-gap:var(--spacing-24);display:grid;gap:var(--spacing-24)}.transaction-day-list{grid-gap:var(--spacing-12);display:grid;gap:var(--spacing-12)}.transaction-date-header__amounts{display:flex;font-size:14px;font-weight:600;gap:var(--spacing-16)}.transaction-date-header__income{color:var(--color-success)}.transaction-date-header__expense{color:var(--color-error)}.empty-state-icon-container{align-items:center;background:var(--color-surface);border-radius:50%;display:flex;height:100px;justify-content:center;margin:0 auto var(--spacing-24);width:100px}.transaction-search-area{background:var(--color-surface);border-radius:var(--radius-standard);padding:var(--spacing-20)}.transaction-header{margin-bottom:0;transition:margin-bottom .2s ease}.transaction-header--expanded{margin-bottom:var(--spacing-24)}.transaction-header__title{align-items:center;color:var(--color-text-primary);display:flex;font-size:20px;font-weight:600;gap:var(--spacing-8);letter-spacing:-.02em;margin:0 0 var(--spacing-8) 0}.transaction-header__subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.chat-container{background:var(--color-surface);box-shadow:var(--shadow-card);display:flex;flex-direction:column;height:calc(100vh - 200px);overflow:hidden}.chat-bubble,.chat-container{border-radius:var(--radius-standard)}.chat-bubble{background:var(--color-background);box-shadow:var(--shadow-sm);font-size:14px;line-height:1.5;max-width:80%;padding:var(--spacing-12) var(--spacing-16)}.chat-bubble--user{background:var(--color-primary);color:#fff;margin-left:auto}.chat-actions{flex-wrap:wrap;padding:var(--spacing-8) 0}.chat-actions,.chat-input-area{display:flex;gap:var(--spacing-8)}.chat-input-area{background:var(--color-background);border-top:1px solid var(--color-divider);padding:var(--spacing-16)}.calendar-amount{border-radius:var(--radius-small);font-size:10px;font-weight:600;padding:1px var(--spacing-4)}.calendar-amount--income{background:var(--color-success-bg);color:var(--color-success)}.calendar-amount--expense{background:var(--color-error-bg);color:var(--color-error)}.form-group input.has-error{border-color:var(--color-error)}.loading-spinner{animation:spin .6s linear infinite;border:2px solid var(--color-background);border-radius:50%;border-top:2px solid #0000;display:inline-block;height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}.auth-success-icon{background:var(--color-success);height:100px;margin:0 auto var(--spacing-24);position:relative;width:100px}.auth-success-icon,.auth-success-icon__badge{align-items:center;border-radius:50%;display:flex;justify-content:center}.auth-success-icon__badge{background:var(--color-warning);height:30px;position:absolute;right:-10px;top:-10px;width:30px}.auth-success-title{color:var(--color-text-primary);font-size:24px;font-weight:600;letter-spacing:-.02em;margin-bottom:var(--spacing-12)}.auth-success-email{color:var(--color-text-secondary);font-size:16px;line-height:1.5;margin-bottom:var(--spacing-4)}.auth-success-email strong{color:var(--color-primary)}.auth-success-message{color:var(--color-text-secondary);font-size:16px;line-height:1.5;margin-bottom:var(--spacing-24)}.auth-steps-card{background:var(--color-surface);border-radius:var(--radius-small);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-24);padding:var(--spacing-20)}.auth-steps-card h3{color:var(--color-text-primary);font-size:14px;font-weight:600;margin-bottom:var(--spacing-12)}.auth-steps-card ol{color:var(--color-text-secondary);font-size:14px;line-height:1.6;padding-left:var(--spacing-20);text-align:left}.auth-action-buttons{display:flex;gap:var(--spacing-12);margin-bottom:var(--spacing-24)}.auth-action-buttons .btn-primary,.auth-action-buttons .btn-secondary{flex:1 1;font-size:14px;font-weight:600;padding:var(--spacing-12)}.auth-help-details{background:var(--color-warning-bg);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-16);text-align:left}.auth-help-details summary{color:var(--color-warning);cursor:pointer;font-weight:600;margin-bottom:var(--spacing-8)}.auth-help-details div{color:var(--color-text-secondary);font-size:14px;line-height:1.5}.auth-help-details p{margin-bottom:var(--spacing-4)}.password-strength{margin-top:var(--spacing-8)}.password-strength__label{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;gap:var(--spacing-8)}.password-strength__text{font-weight:600}.password-strength__text--weak{color:var(--color-error)}.password-strength__text--medium{color:var(--color-warning)}.password-strength__text--strong{color:var(--color-success)}.password-strength .progress-bar{height:4px;margin-top:var(--spacing-4)}@media (max-width:768px){.auth-card{margin:var(--spacing-16);max-width:none;padding:var(--spacing-24)}.grid-2{grid-template-columns:1fr}.social-btn{font-size:14px}.chat-container{height:calc(100vh - 140px)}.auth-action-buttons{flex-direction:column}}.date-picker-wrapper{position:relative}.date-picker--dropdown{left:0;margin-top:var(--spacing-8);min-width:280px;position:absolute;top:100%;z-index:1000}.date-picker__footer{border-top:1px solid var(--color-divider);padding-top:var(--spacing-12)}.category-card__row{align-items:center;display:flex;gap:var(--spacing-16)}.category-card__icon{align-items:center;border-radius:var(--radius-small);display:flex;flex-shrink:0;height:48px;justify-content:center;width:48px}.category-card__content{flex:1 1}.category-card__amount-group{text-align:right}.mb-4{margin-bottom:var(--spacing-4)}.mb-8{margin-bottom:var(--spacing-8)}.mb-12{margin-bottom:var(--spacing-12)}.mb-16{margin-bottom:var(--spacing-16)}.gap-8{gap:var(--spacing-8)}.progress-bar--thin{height:6px}.budget-form-area{background:var(--color-surface);border-radius:var(--radius-small);margin-top:var(--spacing-16);padding:var(--spacing-20)}.budget-form-row{align-items:flex-end;display:flex;gap:var(--spacing-12)}.budget-form-field{flex:1 1}.budget-form-submit{height:-webkit-fit-content;height:fit-content}.budget-comparison-grid{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16)}.budget-card{background:var(--color-background);border-left:4px solid var(--color-inactive);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.budget-card--safe{border-left-color:var(--color-success)}.budget-card--warning{border-left-color:var(--color-warning)}.budget-card--over{border-left-color:var(--color-error)}.budget-card__title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0}.budget-card__amounts{color:var(--color-text-secondary);font-size:14px}.budget-card__percentage{color:var(--color-text-secondary);font-size:12px;margin-top:var(--spacing-4);text-align:right}.budget-list{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8)}.budget-list-item{align-items:center;background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;padding:var(--spacing-12)}.budget-list-item__amount{color:var(--color-text-secondary);margin-left:var(--spacing-16)}.goal-form-area{background:var(--color-surface);border-radius:var(--radius-small);margin-top:var(--spacing-16);padding:var(--spacing-20)}.goal-form-actions{display:flex;gap:var(--spacing-12)}.goal-progress-grid{grid-gap:var(--spacing-24);display:grid;gap:var(--spacing-24);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.goal-card{background:var(--color-background);border-left:4px solid var(--color-info);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-24)}.goal-card--safe{border-left-color:var(--color-success)}.goal-card--warning{border-left-color:var(--color-warning)}.goal-card--over{border-left-color:var(--color-error)}.goal-card--info{border-left-color:var(--color-info)}.goal-card__title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 var(--spacing-8) 0}.goal-card__chart{flex-shrink:0;height:80px;width:80px}.goal-card__amounts,.goal-card__percentage{color:var(--color-text-secondary);font-size:14px}.goal-card__percentage{margin-top:var(--spacing-8);text-align:center}.goal-card__period{color:var(--color-text-secondary);font-size:12px;margin-bottom:var(--spacing-12)}.goal-card__actions{display:flex;gap:var(--spacing-8)}.goal-list{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16)}.goal-list-item{background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.goal-list-item--inactive{opacity:.6}.goal-list-item__title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 var(--spacing-4) 0}.goal-list-item__badge{color:var(--color-inactive);font-size:12px;font-weight:400}.goal-list-item__meta{color:var(--color-text-secondary);font-size:14px}.goal-list-item__actions{display:flex;gap:var(--spacing-8)}@media (max-width:768px){.budget-form-row{flex-direction:column}.goal-progress-grid{grid-template-columns:1fr}}.recurring-form-area{background:var(--color-surface);border-radius:var(--radius-small);margin-bottom:var(--spacing-24);padding:var(--spacing-20)}.recurring-form-area h3{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 var(--spacing-16) 0}.recurring-form-actions{display:flex;gap:var(--spacing-8)}.recurring-list{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16)}.recurring-card{background:var(--color-background);border-left:4px solid var(--color-inactive);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.recurring-card--income-active{border-left-color:var(--color-success)}.recurring-card--expense-active{border-left-color:var(--color-error)}.recurring-card__title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin:0 0 var(--spacing-4) 0}.recurring-card__inactive-badge{color:var(--color-inactive);font-size:12px;font-weight:400}.recurring-card__meta{color:var(--color-text-secondary);font-size:14px}.recurring-card__amount{font-size:18px;font-weight:700}.recurring-card__next,.recurring-card__schedule{color:var(--color-text-secondary);font-size:12px}.recurring-card__schedule{margin-bottom:var(--spacing-8)}.analytics-tab-group,.recurring-card__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-8)}.analytics-tab-group{margin-bottom:var(--spacing-16)}.analytics-label{color:var(--color-text-primary);display:block;font-size:14px;font-weight:600;margin-bottom:var(--spacing-8)}.analytics-custom-range{background:var(--color-surface);border-radius:var(--radius-small);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-16);padding:var(--spacing-16)}.analytics-custom-range__row{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-16)}.analytics-custom-range label{color:var(--color-text-secondary);display:block;font-size:14px;margin-bottom:var(--spacing-4)}.analytics-metrics-grid{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16);grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.analytics-metric-card{background:var(--color-surface);border-radius:var(--radius-small);padding:var(--spacing-16);text-align:center}.analytics-metric-card h4{font-size:14px;font-weight:600;margin:0 0 var(--spacing-8) 0}.analytics-metric-card h4--income{color:var(--color-success)}.analytics-metric-card h4--expense{color:var(--color-error)}.analytics-metric-card h4--primary{color:var(--color-primary)}.analytics-metric-card p{color:var(--color-text-primary);font-size:18px;font-weight:700;margin:0}.analytics-insight-list{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16)}.analytics-insight-card{align-items:center;background:var(--color-surface);border-left:4px solid var(--color-inactive);border-radius:var(--radius-small);display:flex;justify-content:space-between;padding:var(--spacing-12)}.analytics-insight-card--increase{border-left-color:var(--color-error)}.analytics-insight-card--decrease{border-left-color:var(--color-success)}.analytics-insight-card__meta{color:var(--color-text-secondary);font-size:14px}.analytics-insight-card__change{font-weight:700}.analytics-insight-card__change--increase{color:var(--color-error)}.analytics-insight-card__change--decrease{color:var(--color-success)}.analytics-insight-card__change--neutral{color:var(--color-inactive)}.analytics-insight-card__percent{color:var(--color-text-secondary);font-size:12px}.ai-section-card{background:var(--color-surface);border-radius:var(--radius-small);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-24);padding:var(--spacing-24)}.ai-section-card h3{align-items:center;color:var(--color-text-primary);display:flex;gap:var(--spacing-8);margin-bottom:var(--spacing-16)}.ai-section-card__summary{background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-16);padding:var(--spacing-16)}.ai-section-card__summary p{color:var(--color-text-primary);font-size:16px;font-weight:500;margin:0}.ai-section-card__items{grid-gap:var(--spacing-12);display:grid;gap:var(--spacing-12)}.ai-section-card__item{background:var(--color-background);border-left:4px solid var(--color-inactive);border-radius:var(--radius-small);box-shadow:var(--shadow-card);color:var(--color-text-primary);font-size:14px;padding:var(--spacing-12)}.ai-section-card__item--basic{border-left-color:var(--color-primary)}.ai-section-card__item--behavior{border-left-color:var(--color-success)}.ai-section-card__item--prediction{border-left-color:var(--color-warning)}.ai-section-card__item--deep{border-left-color:var(--color-info)}.ai-savings-goal{background:var(--color-success-bg);color:var(--color-success)}.ai-savings-goal,.ai-spending-type{border-radius:var(--radius-small);margin-top:var(--spacing-8);padding:var(--spacing-16)}.ai-spending-type{background:var(--color-hover);color:var(--color-info)}.ai-budget-card{background:var(--color-warning-bg);border-radius:var(--radius-small);box-shadow:var(--shadow-card);margin-bottom:var(--spacing-24);padding:var(--spacing-24)}.ai-budget-card h3{align-items:center;color:var(--color-warning);display:flex;gap:var(--spacing-8);margin-bottom:var(--spacing-16)}.ai-budget-card__list{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8)}.ai-budget-card__item{align-items:center;background:var(--color-background);border-radius:var(--radius-small);box-shadow:var(--shadow-card);display:flex;justify-content:space-between;padding:var(--spacing-12)}.ai-budget-card__item span:first-child{color:var(--color-warning);font-weight:500}.ai-budget-card__item span:last-child{color:var(--color-warning)}.ai-result-header{align-items:center;background:var(--color-success-bg);border-radius:var(--radius-small);display:flex;justify-content:space-between;margin-bottom:var(--spacing-24);padding:var(--spacing-16)}.ai-result-header h3{color:var(--color-success);margin:0}.ai-result-header p{color:var(--color-success);font-size:14px;margin:var(--spacing-4) 0 0 0}.ai-empty-state{background:var(--color-surface);border-radius:var(--radius-small);padding:var(--spacing-24);text-align:center}.ai-empty-state p:first-child{color:var(--color-inactive);font-size:16px;margin-bottom:var(--spacing-16)}.ai-empty-state p:last-child,.ai-period-info{color:var(--color-text-secondary);font-size:14px}.ai-period-info{margin-top:var(--spacing-8)}.ai-analysis-cta{margin-bottom:var(--spacing-16);text-align:center}.ai-result-risk{text-align:right}.chat-header{background:var(--color-surface);border-bottom:1px solid var(--color-divider);padding:var(--spacing-20) var(--spacing-24)}.chat-header__title{color:var(--color-text-primary);font-size:24px;font-weight:600;margin:0}.chat-header__subtitle{color:var(--color-text-secondary);font-size:14px;margin:var(--spacing-4) 0 0 0}.chat-messages{flex:1 1;gap:var(--spacing-16);overflow-y:auto;padding:var(--spacing-24)}.chat-message,.chat-messages{display:flex;flex-direction:column}.chat-message{align-items:flex-start;max-width:80%}.chat-message--user{align-items:flex-end;align-self:flex-end}.chat-data-card{background:var(--color-surface);border-radius:var(--radius-small);font-size:14px;line-height:1.6;margin-top:var(--spacing-8);padding:var(--spacing-12)}.chat-data-card__divider{border-top:1px solid var(--color-divider);margin-top:var(--spacing-8);padding-top:var(--spacing-8)}.chat-loading-text{color:var(--color-primary)}.chat-empty-state{color:var(--color-text-secondary);font-size:16px;text-align:center}.chat-input-area input{flex:1 1}.chat-send-btn{background:var(--color-primary);border:none;border-radius:var(--radius-small);color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:var(--spacing-12) var(--spacing-24);transition:all .2s ease}.chat-send-btn:hover{opacity:.9}.chat-send-btn:disabled{background:var(--color-inactive);cursor:not-allowed}@media (max-width:768px){.analytics-custom-range__row{align-items:stretch;flex-direction:column}.analytics-metrics-grid{grid-template-columns:1fr}.recurring-card__actions{flex-direction:column}}.calendar-view-header{margin-bottom:var(--spacing-24)}.calendar-view-title{align-items:center;color:var(--color-text-primary);display:flex;font-size:24px;font-weight:600;gap:var(--spacing-12);letter-spacing:-.02em;margin:0 0 var(--spacing-8) 0}.calendar-view-subtitle{color:var(--color-text-secondary);font-size:14px;margin:0}.calendar-view-nav{align-items:center;display:flex;gap:var(--spacing-8)}.calendar-view-picker-wrapper{position:relative}.calendar-view-picker-trigger{align-items:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-small);box-shadow:var(--shadow-sm);color:var(--color-text-primary);cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:var(--spacing-8);justify-content:center;min-width:160px;padding:var(--spacing-12) var(--spacing-16);text-align:center;transition:all .2s ease}.calendar-view-picker-trigger:hover{background:var(--color-surface);border-color:var(--color-inactive)}.date-picker-nav-btn{background:none;border:none;border-radius:var(--radius-small);color:var(--color-text-secondary);cursor:pointer;font-size:20px;padding:var(--spacing-8);transition:all .2s ease}.date-picker-nav-btn:hover{background:var(--color-hover);color:var(--color-text-primary)}.date-picker-year-title{color:var(--color-text-primary);font-size:18px;font-weight:600;margin:0}.date-picker-today-btn{background:var(--color-surface);border:none;border-radius:var(--radius-small);color:var(--color-text-secondary);cursor:pointer;font-size:12px;font-weight:500;padding:var(--spacing-8) var(--spacing-16);transition:all .2s ease}.date-picker-today-btn:hover{background:var(--color-hover);color:var(--color-text-primary)}.calendar-day__header{align-items:center;display:flex;gap:var(--spacing-4);margin-bottom:var(--spacing-4)}.calendar-day__number{font-size:14px}.calendar-day__indicators{display:flex;gap:2px}.calendar-day__indicator{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:9px;font-weight:600;height:14px;justify-content:center;width:14px}.calendar-day__indicator--income{background:var(--color-success)}.calendar-day__indicator--expense{background:var(--color-error)}.calendar-day__amounts{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:2px;justify-content:center;text-align:center}.calendar-summary-card{border-radius:var(--radius-small);padding:var(--spacing-16);text-align:center}.calendar-summary-card--income{background:var(--color-success-bg)}.calendar-summary-card--expense{background:var(--color-error-bg)}.calendar-summary-card__label{font-size:14px;margin-bottom:var(--spacing-4)}.calendar-summary-card--income .calendar-summary-card__label{color:var(--color-success)}.calendar-summary-card--expense .calendar-summary-card__label{color:var(--color-error)}.calendar-summary-card__amount{font-size:18px;font-weight:700}.calendar-summary-card__amount--income{color:var(--color-success)}.calendar-summary-card__amount--expense{color:var(--color-error)}.notification-list{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16)}.notification-card{background:var(--color-background);border-left:4px solid var(--color-inactive);border-radius:var(--radius-small);box-shadow:var(--shadow-card);padding:var(--spacing-16)}.notification-card--budget{border-left-color:var(--color-error)}.notification-card--recurring{border-left-color:var(--color-info)}.notification-card--goal{border-left-color:var(--color-success)}.notification-card--read{background:var(--color-surface)}.notification-card__row{align-items:flex-start;display:flex;gap:var(--spacing-12)}.notification-card__icon{color:var(--color-text-secondary);flex-shrink:0}.notification-card__content{flex:1 1}.notification-card__title{color:var(--color-text-primary);font-size:14px;font-weight:400;margin:0 0 var(--spacing-8) 0}.notification-card__title--unread{font-weight:600}.notification-card--budget .notification-card__title{color:var(--color-error)}.notification-card--recurring .notification-card__title{color:var(--color-info)}.notification-card--goal .notification-card__title{color:var(--color-success)}.notification-card__message{color:var(--color-text-primary);font-size:14px;margin:0 0 var(--spacing-8) 0}.notification-card__message--read{opacity:.7}.notification-card__footer{align-items:center;color:var(--color-text-secondary);display:flex;font-size:12px;justify-content:space-between}.notification-mobile-info{background:var(--color-hover);margin-top:var(--spacing-24)}.notification-mobile-info__title{color:var(--color-info);font-size:14px;font-weight:600;margin:0 0 var(--spacing-8) 0}.notification-mobile-info__text{color:var(--color-text-secondary);font-size:14px;margin:0}.settings-section-title{color:var(--color-text-primary);font-size:16px;font-weight:600;margin-top:var(--spacing-24)}.settings-checkbox-group,.settings-section-title{margin-bottom:var(--spacing-16)}.settings-checkbox-label{align-items:center;color:var(--color-text-primary);cursor:pointer;display:flex;font-size:14px;gap:var(--spacing-8)}.settings-data-section{display:flex;flex-direction:column;gap:var(--spacing-16)}.settings-description{color:var(--color-text-secondary);font-size:14px;margin-bottom:var(--spacing-8)}.settings-danger-zone{box-shadow:0 -1px 0 0 var(--color-divider);padding-top:var(--spacing-16)}.settings-danger-title{color:var(--color-error)}.settings-info-list{grid-gap:var(--spacing-8);display:grid;gap:var(--spacing-8)}.settings-info-row{color:var(--color-text-primary);display:flex;font-size:14px;justify-content:space-between}.export-form-grid{grid-gap:var(--spacing-16);display:grid;gap:var(--spacing-16);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:var(--spacing-24)}.export-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-16)}.export-info-card{background:var(--color-surface);margin-top:var(--spacing-24)}.export-info-list{color:var(--color-text-primary);font-size:14px;line-height:1.6;margin:0;padding-left:var(--spacing-20)}@media (max-width:768px){.calendar-view-nav{flex-wrap:wrap;justify-content:center}.export-form-grid{grid-template-columns:1fr}.export-actions{flex-direction:column}.export-actions .btn-primary,.export-actions .btn-secondary{width:100%}}
/*# sourceMappingURL=main.194da45b.css.map*/