:root{--brand-black: #1A1A1A;--brand-tan: #C17F59;--brand-cream: #F5E6D3;--primary-50: #FDF8F5;--primary-100: #F9EDE6;--primary-200: #EECFBE;--primary-300: #D9A686;--primary-400: #CD9370;--primary-500: #C17F59;--primary-600: #A66B4A;--primary-700: #8A573B;--primary-gradient: linear-gradient(135deg, #2D2D2D 0%, #C17F59 100%);--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--error: #ef4444;--warning: #f59e0b;--font-sans: "Pretendard", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--z-dropdown: 100;--z-sticky: 200;--z-modal-backdrop: 1000;--z-modal: 1001;--z-tooltip: 1100;--z-loading-overlay: 1200;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease-out;--app-max-width: 430px;--app-background: #f0f0f0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);line-height:1.6;color:var(--gray-800);background-color:var(--gray-50);min-height:100vh}#root{min-height:100vh}a{color:var(--primary-500);text-decoration:none;transition:color var(--transition-normal)}a:hover{color:var(--primary-600);text-decoration:underline}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit;font-size:1rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.loading{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:1.125rem;color:var(--gray-500)}.text-center{text-align:center}.text-right{text-align:right}.text-muted{color:var(--gray-500)}.text-error{color:var(--error)}.text-success{color:var(--success)}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpSheet{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-fadeIn{animation:fadeIn var(--transition-normal)}.animate-slideUp{animation:slideUp var(--transition-slow)}.animate-slideUpSheet{animation:slideUpSheet var(--transition-slow)}.animate-spin{animation:spin .8s linear infinite}.animate-pulse{animation:pulse 2s ease-in-out infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;text-decoration:none;border:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn--primary{background:var(--primary-500);color:#fff;border:none}.btn--primary:hover:not(:disabled){background:var(--primary-600)}.btn--gradient{background:var(--primary-gradient);color:#fff;border:none}.btn--gradient:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c17f5966}.btn--secondary{background:#fff;color:var(--gray-600);border:2px solid var(--gray-300)}.btn--secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn--ghost{background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200)}.btn--ghost:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-300)}.btn--danger{background:#fff;color:var(--error);border:1px solid var(--error)}.btn--danger:hover:not(:disabled){background:var(--error);color:#fff}.btn--success{background:var(--success);color:#fff;border:none}.btn--success:hover:not(:disabled){opacity:.9}.btn-primary,.btn-save{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;background:var(--primary-gradient);color:#fff;border:none}.btn-primary:hover:not(:disabled),.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #c17f5966}.btn-primary:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary,.btn-cancel{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;background:#fff;color:var(--gray-600);border:2px solid var(--gray-300)}.btn-secondary:hover:not(:disabled),.btn-cancel:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-400)}.btn-danger,.btn-delete{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;background:#fff;color:var(--error);border:1px solid var(--error)}.btn-danger:hover:not(:disabled),.btn-delete:hover:not(:disabled){background:var(--error);color:#fff}.btn-success,.btn-restore{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;background:var(--success);color:#fff;border:none}.btn-success:hover:not(:disabled),.btn-restore:hover:not(:disabled){opacity:.9}.btn-add{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;background:var(--primary-500);color:#fff;border:none}.btn-add:hover:not(:disabled){background:var(--primary-600);color:#fff;text-decoration:none}.btn-add:disabled{background:var(--gray-300);cursor:not-allowed}.btn--sm{padding:.5rem .875rem;font-size:.875rem;border-radius:var(--radius-sm)}.btn--lg{padding:.875rem 2rem;font-size:1.125rem}.btn-pill{padding:.5rem 1rem;border:2px solid var(--gray-200);background:#fff;border-radius:999px;font-size:.875rem;cursor:pointer;transition:all var(--transition-normal);box-shadow:var(--shadow-sm)}.btn-pill:hover:not(:disabled){border-color:var(--primary-400);background:var(--primary-50)}.btn-pill.selected{background:var(--primary-500);border-color:var(--primary-500);color:#fff;box-shadow:0 2px 4px #c17f594d}.btn-icon{width:36px;height:36px;padding:0;border:none;background:var(--gray-100);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal);display:flex;align-items:center;justify-content:center}.btn-icon:hover:not(:disabled){background:var(--gray-200)}.btn-icon--danger:hover:not(:disabled){background:#fee2e2}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-dashed{padding:.625rem 1rem;border:2px dashed var(--gray-300);background:transparent;border-radius:var(--radius-md);color:var(--gray-500);font-size:.875rem;cursor:pointer;transition:all var(--transition-normal)}.btn-dashed:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500)}.btn-header{background:#fff3;color:#fff;border:none;padding:.5rem 1rem;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-normal);display:flex;align-items:center;gap:.5rem}.btn-header:hover:not(:disabled){background:#ffffff4d}.btn-copy{padding:.5rem 1rem;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);color:var(--gray-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-copy:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.btn-group{display:flex;gap:.5rem}.btn-group--stretch>*{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:.5rem}.form-actions--stretch>*{flex:1}.form-group{margin-bottom:1.25rem}.form-group:last-child{margin-bottom:0}.modal__body .form-group{margin-bottom:0}.form-group label,.form-label{display:block;margin-bottom:.25rem;font-weight:500;color:var(--gray-700);font-size:.8125rem}.label-hint{font-weight:400;color:var(--gray-400);font-size:.75rem}.form-group input[type=text],.form-group input[type=number],.form-group input[type=email],.form-group input[type=password],.form-group input[type=date],.form-group select,.form-group textarea,.form-input,.form-select{width:100%;padding:.625rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;transition:border-color var(--transition-normal);background:#fff;color:var(--gray-800)}.form-group input::placeholder,.form-input::placeholder{color:var(--gray-400)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus,.form-input:focus,.form-select:focus{outline:none;border-color:var(--primary-500)}.form-group input:disabled,.form-group select:disabled,.form-input:disabled,.form-select:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.form-input-wrapper{position:relative;display:flex;align-items:center}.form-input-wrapper input{padding-right:2.5rem}.form-input-suffix{position:absolute;right:.75rem;color:var(--gray-500);font-weight:500;pointer-events:none}.form-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--gray-400)}.form-group.has-error input,.form-group.has-error select,.form-input.has-error{border-color:var(--error)}.form-error{display:block;margin-top:.375rem;font-size:.75rem;color:var(--error)}.error-message{background:#fef2f2;color:var(--error);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;border:1px solid #fee2e2}.form-row{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:stretch}.form-row>*{flex:1}.form-checkbox,.form-radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.form-checkbox input,.form-radio input{width:1.125rem;height:1.125rem;accent-color:var(--primary-500)}.checkbox-group{display:flex;flex-direction:column;gap:.5rem}.checkbox-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.checkbox-group input[type=checkbox]{width:1.125rem;height:1.125rem;accent-color:var(--primary-500)}.form-loading-spinner{position:absolute;right:.75rem;width:1rem;height:1rem;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.period-buttons{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.period-buttons button{flex:1;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--gray-50);cursor:pointer;transition:all var(--transition-normal);font-size:.875rem}.period-buttons button:hover{background:var(--gray-200)}.period-buttons button.active{background:var(--primary-500);color:#fff;border-color:var(--primary-500)}.date-inputs{display:flex;flex-direction:row;align-items:center;gap:.5rem;flex-wrap:wrap}.date-inputs input{flex:1;min-width:120px}.date-inputs span{color:var(--gray-400);font-size:.875rem;flex-shrink:0}.form-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.form-section h3{margin:0 0 var(--spacing-md) 0;font-size:1.1rem;color:var(--gray-800)}.actor-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.actor-btn{padding:.5rem 1rem;border:2px solid var(--gray-200);background:#fff;border-radius:999px;font-size:.875rem;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;flex-shrink:0;box-shadow:var(--shadow-sm)}.actor-btn:hover{border-color:var(--primary-400);background:var(--primary-50)}.actor-btn.selected{background:var(--primary-500);border-color:var(--primary-500);color:#fff;box-shadow:0 2px 4px #c17f594d}.modal-overlay{position:fixed;inset:0 0 60px;background:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal-backdrop);padding:0;animation:fadeIn var(--transition-normal);overscroll-behavior-y:contain}@media(min-width:431px){.modal-overlay{max-width:var(--app-max-width);left:50%;transform:translate(-50%)}}.modal-overlay--nested{background:#0009;z-index:calc(var(--z-modal) + 100);bottom:0;max-width:100%;left:0;transform:none}.modal{background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:100%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUpSheet var(--transition-slow);display:flex;flex-direction:column;overscroll-behavior-y:contain}.modal--sm,.modal--md,.modal--lg{max-width:100%}.modal--full{max-width:100%;width:100%;height:100%;max-height:100%;border-radius:0}.modal__header{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-md);border-bottom:1px solid var(--gray-200);position:sticky;top:0;background:#fff;z-index:10;border-radius:var(--radius-xl) var(--radius-xl) 0 0;position:relative}.modal__header:before{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:32px;height:4px;background:var(--gray-300);border-radius:2px}.modal__header--row{flex-direction:row;justify-content:space-between}.modal__header--gray{background:var(--gray-50)}.modal__header h2,.modal__title{margin:4px 0 0;font-size:1.125rem;color:var(--gray-800)}.modal__header-inline{display:flex;align-items:baseline;gap:.375rem}.modal__header-inline h2{margin:4px 0 0;font-size:1.0625rem;font-weight:600}.modal__header-inline .modal__date{margin:0;font-size:.8125rem;color:var(--gray-400);font-weight:400}.modal__date{color:var(--gray-400);font-size:.8125rem;margin-top:2px}.modal__body{padding:var(--spacing-sm) var(--spacing-md);display:flex;flex-direction:column;gap:.75rem;flex:1;overflow-y:auto}.modal__footer{display:flex;flex-direction:column;justify-content:flex-end;gap:.5rem;padding:var(--spacing-md) var(--spacing-md) var(--spacing-lg) var(--spacing-md);border-top:1px solid var(--gray-200);position:sticky;bottom:0;background:#fff;border-radius:0}.modal__footer--gray{background:var(--gray-50)}.modal__footer--stretch>*{flex:1}.modal__footer>button,.modal__footer>.btn-cancel,.modal__footer>.btn-save,.modal__footer>.btn-primary,.modal__footer>.btn-secondary{width:100%;padding:.75rem}.modal__info{padding:.75rem var(--spacing-lg);background:var(--gray-50);border-bottom:1px solid var(--gray-200);font-size:.875rem}.modal__info-label{color:var(--gray-500);margin-right:.5rem}.modal__info-value{font-weight:500;color:var(--gray-800)}.modal.draggable{touch-action:none}.modal.draggable .modal__header{cursor:grab;user-select:none;-webkit-user-select:none;padding-top:20px;padding-bottom:12px;touch-action:none}.modal.draggable.dragging .modal__header{cursor:grabbing}.modal.draggable .modal__header:before{background:var(--primary-500);width:40px;height:5px}.modal.draggable .modal__body{touch-action:pan-y;overscroll-behavior-y:contain}.modal-overlay--nested .modal{max-height:100vh;height:100%;border-radius:0}.modal-overlay--nested .modal__header{border-radius:0}.modal-overlay--nested .modal__header:before{display:none}.page-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.page-header__left{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.page-header__back{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap;flex-shrink:0}.page-header__back:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.page-header__title{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-header__right{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.page-header__action{padding:.5rem .875rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.page-header__action:hover{background:var(--primary-600)}.page-header__action--secondary{background:#fff;color:var(--gray-600);border:1px solid var(--gray-300)}.page-header__action--secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.page-header__subtitle{font-size:.8125rem;color:var(--gray-500);margin-top:.125rem}.page-header__title-group{display:flex;flex-direction:column;min-width:0}.page-header__title-group .page-header__title{font-size:1rem}.page-header__balance{font-size:1.125rem;font-weight:700;color:var(--gray-800);white-space:nowrap}.page-header__balance.positive{color:var(--success)}.page-header__balance.negative{color:var(--error)}.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--gray-50)}.auth-loading__spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.bottom-nav{display:flex;justify-content:space-around;align-items:stretch;position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);background:#fff;border-top:1px solid var(--gray-200);box-shadow:0 -2px 10px #0000001a;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0)}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;padding:.625rem .5rem;text-decoration:none;color:var(--gray-400);font-size:.6875rem;font-weight:500;background:none;border:none;cursor:pointer;transition:color .2s;-webkit-tap-highlight-color:transparent}.bottom-nav-item svg{width:22px;height:22px;stroke-width:1.5}.bottom-nav-item:hover,.bottom-nav-item:focus{color:var(--gray-600);text-decoration:none}.bottom-nav-item.active{color:var(--primary-500)}.bottom-nav-item.active svg{stroke-width:2}.bottom-nav-item-wrapper{flex:1;position:relative;display:flex}.bottom-nav-item-wrapper .bottom-nav-item{width:100%}.bottom-nav-popup{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#fff;border-radius:var(--radius-lg);box-shadow:0 -4px 20px #00000026;min-width:160px;padding:.5rem;margin-bottom:.5rem;animation:popupSlideUp .2s ease-out}.bottom-nav-popup.more-popup{min-width:180px}.bottom-nav-item-wrapper:last-child .bottom-nav-popup{left:auto;right:0;transform:none}@keyframes popupSlideUp{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.bottom-nav-item-wrapper:last-child .bottom-nav-popup{animation:popupSlideUpRight .2s ease-out}@keyframes popupSlideUpRight{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.popup-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;color:var(--gray-700);font-size:.9375rem;font-weight:500;border-radius:var(--radius-md);transition:background .15s}.popup-item:hover{background:var(--gray-100);text-decoration:none}.popup-item svg{width:20px;height:20px;color:var(--gray-400);flex-shrink:0}.bottom-nav-popup:after{content:"";position:absolute;bottom:-6px;left:50%;transform:translate(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid white}.bottom-nav-item-wrapper:last-child .bottom-nav-popup:after{left:auto;right:24px;transform:none}@supports (padding-bottom: env(safe-area-inset-bottom)){.bottom-nav{padding-bottom:env(safe-area-inset-bottom)}}.share-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.share-modal{background:#fff;border-radius:12px;width:100%;max-width:400px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden}.share-modal__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200)}.share-modal__header h2{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.share-modal__close{background:none;border:none;font-size:1.5rem;color:var(--gray-400);cursor:pointer;padding:0;line-height:1}.share-modal__close:hover{color:var(--gray-600)}.share-modal__body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}.share-modal__url{display:flex;flex-direction:column;gap:.375rem}.share-modal__url label{font-size:.75rem;font-weight:500;color:var(--gray-500)}.share-modal__url-value{padding:.625rem .75rem;background:var(--gray-50);border-radius:6px;font-size:.875rem;color:var(--gray-700);word-break:break-all;font-family:monospace}.share-modal__message{display:flex;flex-direction:column;gap:.375rem}.share-modal__message label{font-size:.75rem;font-weight:500;color:var(--gray-500)}.share-modal__message textarea{padding:.625rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.9375rem;resize:none;font-family:inherit}.share-modal__message textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.share-modal__message textarea:disabled{background:var(--gray-50);cursor:not-allowed}.share-modal__status{padding:.75rem;border-radius:6px;font-size:.875rem;text-align:center}.share-modal__status--success{background:#d1fae5;color:#065f46}.share-modal__status--error{background:#fee2e2;color:#991b1b}.share-modal__status--info{background:var(--gray-100);color:var(--gray-600)}.share-modal__footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.25rem;border-top:1px solid var(--gray-200);background:var(--gray-50)}.share-modal__footer .btn-secondary{padding:.5rem 1rem;background:#fff;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .2s}.share-modal__footer .btn-secondary:hover:not(:disabled){background:var(--gray-100)}.share-modal__footer .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.share-modal__footer .btn-primary{padding:.5rem 1rem;background:linear-gradient(135deg,#2d2d2d,#c17f59);border:none;border-radius:6px;font-size:.875rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s}.share-modal__footer .btn-primary:hover:not(:disabled){opacity:.9}.share-modal__footer .btn-primary:disabled{opacity:.5;cursor:not-allowed}.share-modal__pwa-hint{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(135deg,#2d2d2d14,#c17f591f);border-radius:8px;border:1px solid rgba(193,127,89,.25)}.share-modal__pwa-hint-icon{font-size:1rem;flex-shrink:0}.share-modal__pwa-hint-text{flex:1;font-size:.8125rem;color:#8b5a3c}.share-modal__pwa-hint-btn{flex-shrink:0;padding:4px 12px;background:linear-gradient(135deg,#2d2d2d,#c17f59);color:#fff;border:none;border-radius:16px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s}.share-modal__pwa-hint-btn:hover{opacity:.9}@media(max-width:768px){.share-modal-overlay{align-items:flex-end;padding:0;bottom:60px}.share-modal{width:100%;max-width:100%;max-height:85vh;border-radius:12px 12px 0 0}.share-modal__header{border-radius:12px 12px 0 0;position:relative}.share-modal__header:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;background:var(--gray-300);border-radius:2px}.share-modal__header h2{margin-top:8px}.share-modal__footer{flex-direction:column;gap:.5rem}.share-modal__footer button{width:100%}.share-modal.draggable{touch-action:pan-y}.share-modal.draggable .share-modal__header{cursor:grab;user-select:none;-webkit-user-select:none}.share-modal.draggable.dragging .share-modal__header{cursor:grabbing}.share-modal.draggable .share-modal__header:before{background:var(--primary-500);width:40px;height:5px}}.share-modal__anonymous-notice{text-align:center;padding:1rem 0}.share-modal__anonymous-notice p{margin:0 0 .75rem;color:var(--gray-600);font-size:.9375rem;line-height:1.6}.share-modal__anonymous-notice p:last-child{margin-bottom:0;color:var(--gray-700);font-weight:500}.share-page-button{position:fixed;bottom:5.5rem;right:1rem;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2d2d2d,#c17f59);border:none;box-shadow:0 4px 12px #c17f5966;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;z-index:100;transform:translateY(0);opacity:1}.share-page-button.hidden{transform:translateY(100px);opacity:0;pointer-events:none}.share-page-button:not(.hidden):hover{transform:scale(1.05);box-shadow:0 6px 16px #c17f5980;background:linear-gradient(135deg,#1a1a1a,#a66b4a)}.share-page-button:not(.hidden):active{transform:scale(.95)}.share-page-button svg{width:22px;height:22px;color:#fff}@media(max-width:768px){.share-page-button{bottom:5rem;right:.75rem;width:44px;height:44px}.share-page-button svg{width:20px;height:20px}}.app-layout:has(.ai-chat-page) .share-page-button{bottom:calc(var(--bottom-nav-height, 60px) + env(safe-area-inset-bottom,0px) + 4.5rem)}.pwa-link-prompt-modal{max-height:80vh}.pwa-link-prompt-body{display:flex;flex-direction:column;gap:1rem;padding:1rem}.pwa-link-prompt-description{text-align:center;color:var(--gray-600);font-size:.9375rem;line-height:1.6;margin:.5rem 0 1rem}.pwa-link-prompt-option{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:1rem;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);border:none}.pwa-link-prompt-option:disabled{opacity:.6;cursor:not-allowed}.pwa-link-prompt-option__icon{font-size:1.25rem}.pwa-link-prompt-option__text{text-align:center}.pwa-link-prompt-option--kakao{background:#fee500;color:#000}.pwa-link-prompt-option--kakao:hover:not(:disabled){background:#f5dc00}.pwa-link-prompt-option--email{background:var(--gray-100);color:var(--gray-800)}.pwa-link-prompt-option--email:hover:not(:disabled){background:var(--gray-200)}.pwa-link-prompt-option--later{background:transparent;color:var(--gray-500);border:1px dashed var(--gray-300)}.pwa-link-prompt-option--later:hover:not(:disabled){background:var(--gray-50);color:var(--gray-600);border-color:var(--gray-400)}.pwa-link-prompt-footer{display:flex;flex-direction:row;gap:.5rem}.pwa-link-prompt-footer>button{flex:1}.floating-install-button{position:fixed;bottom:100px;left:20px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#2d2d2d,#c17f59);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #c17f5966;transition:all .2s;z-index:100}.floating-install-button:hover{transform:scale(1.1);box-shadow:0 6px 16px #c17f5980}.floating-install-button:active{transform:scale(.95)}.floating-install-button:disabled{opacity:.8;cursor:not-allowed}.floating-install-button svg{width:24px;height:24px}.floating-install-button__spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@media(min-width:431px){.floating-install-button{display:none}}@supports (padding-bottom: env(safe-area-inset-bottom)){.floating-install-button{bottom:calc(100px + env(safe-area-inset-bottom))}}.app-layout{min-height:100vh;max-width:var(--app-max-width);margin:0 auto;background:#fff;display:flex;flex-direction:column;position:relative}@media(min-width:431px){.app-layout{box-shadow:0 0 20px #0000001a}}.app-content{flex:1;padding-bottom:4.5rem}@supports (padding-bottom: env(safe-area-inset-bottom)){.app-content{padding-bottom:calc(4.5rem + env(safe-area-inset-bottom))}}.pwa-update-banner{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:1000;width:calc(100% - 32px);max-width:400px;background:linear-gradient(135deg,#2d2d2d,#4a90a4);color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000004d;animation:slideUpBanner .3s ease-out}@keyframes slideUpBanner{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pwa-update-banner__content{display:flex;align-items:center;gap:12px;padding:14px 16px}.pwa-update-banner__icon{flex-shrink:0;width:36px;height:36px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center}.pwa-update-banner__icon svg{width:20px;height:20px}.pwa-update-banner__text{flex:1;min-width:0}.pwa-update-banner__text strong{display:block;font-size:.95rem;margin-bottom:2px}.pwa-update-banner__text p{margin:0;font-size:.8rem;opacity:.9}.pwa-update-banner__actions{flex-shrink:0}.pwa-update-banner__btn{background:#fff;color:#2d2d2d;border:none;cursor:pointer;font-size:.85rem;font-weight:600;padding:8px 16px;border-radius:20px;transition:all .2s}.pwa-update-banner__btn:hover{background:#f0f0f0}.pwa-update-banner__btn:active{transform:scale(.95)}@media(max-width:480px){.pwa-update-banner{bottom:70px;width:calc(100% - 24px)}.pwa-update-banner__content{padding:12px 14px;gap:10px}.pwa-update-banner__icon{width:32px;height:32px}.pwa-update-banner__icon svg{width:18px;height:18px}.pwa-update-banner__text strong{font-size:.9rem}.pwa-update-banner__text p{font-size:.75rem}.pwa-update-banner__btn{font-size:.8rem;padding:6px 12px}}.existing-account-modal{max-height:80vh}.existing-account-body{display:flex;flex-direction:column;gap:1rem;padding:1rem}.existing-account-description{text-align:center;color:var(--gray-600);font-size:.9375rem;line-height:1.6;margin:.5rem 0 1rem}.existing-account-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);border:none}.existing-account-option:disabled{opacity:.6;cursor:not-allowed}.existing-account-option__icon{font-size:1.25rem}.existing-account-option__text{flex:1;text-align:left}.existing-account-option--kakao{background:#fee500;color:#000}.existing-account-option--kakao:hover:not(:disabled){background:#f5dc00}.existing-account-option--email{background:var(--gray-100);color:var(--gray-800)}.existing-account-option--email:hover:not(:disabled){background:var(--gray-200)}.existing-account-option--new{background:transparent;color:var(--gray-500);border:1px dashed var(--gray-300)}.existing-account-option--new:hover:not(:disabled){background:var(--gray-50);color:var(--gray-600)}.existing-account-footer{display:flex;flex-direction:row;gap:.5rem}.existing-account-footer>button{flex:1}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--primary-gradient);padding:1rem}.login-card{background:#fff;padding:2.5rem;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:420px;animation:slideUp var(--transition-slow)}.login-card h1{text-align:center;margin-bottom:2rem;color:var(--gray-900);font-size:1.75rem;font-weight:700}.login-title{display:flex;align-items:center;justify-content:center;gap:.75rem}.login-logo{width:40px;height:40px;border-radius:var(--radius-md)}.login-card .btn-primary{width:100%;margin-top:.5rem}.signup-link{text-align:center;margin-top:1.5rem;color:var(--gray-500);font-size:.9375rem}.signup-link a{color:var(--primary-500);font-weight:600}.auth-footer{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--gray-200);text-align:center}.auth-footer a{font-size:.8125rem;color:var(--gray-400);text-decoration:none}.auth-footer a:hover{color:var(--gray-600);text-decoration:underline}.auth-footer-divider{color:var(--gray-300);margin:0 .5rem}.form-group--agreement{margin-top:.5rem}.agreement-label{cursor:pointer;font-size:.875rem;color:var(--gray-600)}.agreement-checkbox{width:14px;height:14px;margin-right:.4rem;accent-color:var(--primary-500);cursor:pointer;vertical-align:middle;position:relative;top:-1px}.agreement-text a{color:var(--primary-600);font-weight:500;text-decoration:none}.agreement-text a:hover{text-decoration:underline}.auth-complete-description{text-align:center;color:var(--gray-600);margin-bottom:1.5rem;font-size:.9375rem}.form-hint{display:block;margin-top:.375rem;font-size:.8125rem;color:var(--gray-400)}.verify-email-content{text-align:center;margin-bottom:1.5rem}.verify-email-content p{color:var(--gray-600);margin-bottom:1rem;line-height:1.6}.verify-email-content strong{color:var(--gray-800)}.success-message{background:var(--green-50);color:var(--green-700);padding:.75rem 1rem;border-radius:var(--radius-md);margin-bottom:1rem;font-size:.875rem}.auth-divider{display:flex;align-items:center;margin:1.5rem 0}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:var(--gray-200)}.auth-divider span{padding:0 1rem;color:var(--gray-400);font-size:.875rem}.btn-kakao{width:100%;padding:.875rem 1.5rem;background:#fee500;color:#000;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-kakao:hover:not(:disabled){background:#f5dc00}.btn-kakao:disabled{opacity:.6;cursor:not-allowed}.btn-anonymous{width:100%;padding:.875rem 1.5rem;margin-top:.75rem;background:var(--gray-100);color:var(--gray-700);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;gap:.5rem}.btn-anonymous:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400)}.btn-anonymous:disabled{opacity:.6;cursor:not-allowed}.calendar{background:#fff;border-radius:var(--radius-lg);overflow:hidden}.calendar-header{display:flex;align-items:center;gap:.25rem;padding:.75rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200);flex-wrap:nowrap}.calendar-nav{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:none;background:#fff;border-radius:var(--radius-md);font-size:1.25rem;color:var(--gray-600);cursor:pointer;transition:background .2s,color .2s;flex-shrink:0}.calendar-nav:hover{background:var(--gray-100);color:var(--gray-800)}.calendar-title{flex:1;text-align:center;font-weight:600;color:var(--gray-800);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-today{padding:.375rem .5rem;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-md);font-size:.875rem;color:var(--gray-600);cursor:pointer;transition:all .2s;flex-shrink:0}.calendar-today:hover{background:var(--primary-500);border-color:var(--primary-500);color:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);padding:.75rem .5rem;border-bottom:1px solid var(--gray-100)}.weekday{text-align:center;font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase}.weekday.sunday{color:var(--error)}.weekday.saturday{color:var(--primary-500)}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);padding:.5rem;gap:2px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.875rem;border-radius:var(--radius-md);cursor:default;color:var(--gray-300)}.calendar-day.has-day{cursor:pointer;color:var(--gray-700);transition:background .2s,color .2s}.calendar-day.has-day:hover{background:var(--gray-100)}.calendar-day.sunday{color:var(--error)}.calendar-day.saturday{color:var(--primary-500)}.calendar-day.today{background:var(--gray-100);font-weight:600}.calendar-day.selected{background:var(--primary-500)!important;color:#fff!important;font-weight:600}.calendar-view-toggle{padding:.375rem .5rem;border:1px solid var(--gray-300);background:#fff;border-radius:var(--radius-md);font-size:.875rem;color:var(--gray-600);cursor:pointer;transition:all .2s;flex-shrink:0}.calendar-view-toggle:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}.calendar-days.week-mode{display:grid;grid-template-columns:repeat(7,1fr);padding:.5rem;gap:4px}.calendar-days.week-mode .calendar-day{aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:1rem;font-weight:500;border-radius:var(--radius-md)}.calendar-days.week-mode .calendar-day .week-date-number{font-size:1.125rem;font-weight:600}.daily-summary{background:#fff;border-radius:var(--radius-lg);padding:1.25rem;box-shadow:var(--shadow-sm)}.summary-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.summary-header h3{margin:0;font-size:1.125rem;color:var(--gray-800)}.summary-actions{display:flex;gap:.5rem}.btn-add-simple{background:var(--primary-500);color:#fff;border:none;padding:.5rem .875rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,transform .2s}.btn-add-simple:hover{background:var(--primary-600);transform:translateY(-1px)}.summary-loading,.summary-empty{text-align:center;color:var(--gray-400);padding:1.5rem}.summary-content{display:flex;flex-direction:column;gap:1rem}.summary-main{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--gray-50);border-radius:var(--radius-md)}.summary-label{font-weight:500;color:var(--gray-600)}.summary-value{font-size:1.5rem;font-weight:700}.summary-value.positive{color:var(--success)}.summary-value.negative{color:var(--error)}.summary-details{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.summary-item{display:flex;justify-content:space-between;padding:.75rem;background:var(--gray-50);border-radius:var(--radius-sm);font-size:.875rem}.summary-item span:first-child{color:var(--gray-500)}.summary-item .positive{color:var(--success);font-weight:500}.summary-item .negative{color:var(--error);font-weight:500}.transaction-loading,.transaction-empty{text-align:center;color:var(--gray-400);padding:3rem 1rem}.transaction-empty span{font-size:3rem;display:block;margin-bottom:1rem}.transaction-empty p{margin:.25rem 0}.transaction-empty-actions{padding:1.5rem 1rem}.transaction-empty-actions .empty-title{text-align:center;color:var(--gray-600);font-size:.9375rem;font-weight:500;margin:0 0 1rem}.quick-add-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-add-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem .75rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;gap:.25rem}.quick-add-card:hover{border-color:var(--primary-400);background:var(--primary-50);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.quick-add-card:active{transform:translateY(0)}.quick-add-icon{font-size:1.5rem}.quick-add-label{font-size:.9375rem;font-weight:600;color:var(--gray-800)}.quick-add-hint{font-size:.75rem;color:var(--gray-500)}.transaction-list{display:flex;flex-direction:column;gap:.5rem}.transaction-item{background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-200);overflow:hidden;transition:box-shadow .2s}.transaction-item.expanded{box-shadow:var(--shadow-md)}.transaction-header{display:flex;align-items:center;padding:1rem;cursor:pointer;gap:.75rem;transition:background .2s}.transaction-header:hover{background:var(--gray-50)}.transaction-desc{flex:1;font-weight:500;color:var(--gray-800);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.transaction-amount{font-weight:600;font-size:1rem}.transaction-amount.positive{color:var(--success)}.transaction-amount.negative{color:var(--error)}.transaction-detail{padding:0 1rem 1rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.detail-meta{display:flex;gap:2rem;padding:1rem 0;font-size:.875rem}.detail-lines{width:100%;border-collapse:collapse;margin-bottom:1rem;background:#fff;border-radius:var(--radius-sm);overflow:hidden}.account-type{display:inline-flex;align-items:center;gap:.25rem}a.account-link{text-decoration:underline dotted;text-underline-offset:2px;color:inherit;transition:all .2s}a.account-link:hover{color:var(--primary-600);text-decoration:underline solid}.account-type.asset:before{background:#10b981}.account-type.liability:before{background:#ef4444}.account-type.revenue:before{background:#3b82f6}.detail-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.tag-link{text-decoration:none;cursor:pointer;transition:background .2s,transform .2s}.tag-link:hover{background:var(--primary-600);color:#fff;transform:translateY(-1px)}.detail-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-edit,.btn-delete,.btn-template{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-edit{background:#fff;border:1px solid var(--gray-300);color:var(--gray-700)}.btn-template{background:#fff;border:1px solid var(--primary-500);color:var(--primary-600)}.btn-template:hover{background:var(--primary-50);border-color:var(--primary-600)}.btn-delete{background:#fff;border:1px solid var(--error);color:var(--error)}.account-link.deleted,.tag.deleted{opacity:.6}.deleted-badge{font-size:.7rem;color:var(--gray-500);font-weight:400;margin-left:.25rem}.tag.deleted{background:var(--gray-400)}.tag.deleted .deleted-badge{color:#fffc}.transaction-item.has-deleted{border-color:var(--warning, #f59e0b)}.deleted-warning{margin-left:.5rem;font-size:.875rem}.edit-blocked{flex:1}.edit-blocked-message{font-size:.8rem;color:var(--gray-500);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.restore-link{color:var(--primary-600);text-decoration:underline;font-weight:500}.restore-link:hover{color:var(--primary-700)}.more-menu-container{position:relative}.btn-more{width:36px;height:36px;padding:0;border-radius:var(--radius-sm);background:#fff;border:1px solid var(--gray-300);color:var(--gray-600);font-size:1.25rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.btn-more:hover{background:var(--gray-50);border-color:var(--gray-400)}.more-menu{position:absolute;bottom:100%;right:0;margin-bottom:4px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);min-width:140px;z-index:10;overflow:hidden}.more-menu-item{width:100%;padding:.75rem 1rem;text-align:left;background:none;border:none;font-size:.875rem;color:var(--gray-700);cursor:pointer;transition:background .2s;white-space:nowrap}.more-menu-item:hover{background:var(--gray-50)}.account-type-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.account-type-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:.875rem;border:2px solid transparent;border-radius:8px;background:var(--color-bg-tertiary);cursor:pointer;transition:all .15s ease;text-align:left}.account-type-card:hover{background:var(--color-bg-hover)}.account-type-card.selected{border-color:#3b82f6;background:#3b82f626}.account-type-card__check{position:absolute;top:.5rem;right:.5rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;background:#3b82f6;color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.account-type-card__icon{font-size:1.25rem;margin-bottom:.375rem}.account-type-card__label{font-size:.875rem;font-weight:500;color:var(--color-text-primary);line-height:1.3}.account-type-card__examples{font-size:.75rem;color:var(--color-text-secondary);margin-top:.25rem;line-height:1.4}.smart-recommendations{margin-top:8px;padding:8px 12px;background:linear-gradient(135deg,#c17f5914,#c17f590d);border:1px solid rgba(193,127,89,.2);border-radius:8px;font-size:13px}.smart-recommendations--loading{display:flex;align-items:center;gap:6px;color:var(--text-secondary, #666)}.smart-recommendations__header{display:flex;align-items:center;gap:4px;margin-bottom:6px}.smart-recommendations__icon{font-size:14px}.smart-recommendations__label{font-size:11px;font-weight:600;color:var(--primary-500, #C17F59);text-transform:uppercase;letter-spacing:.5px}.smart-recommendations__text{font-size:12px;color:var(--text-secondary, #666)}.smart-recommendations__content{display:flex;flex-direction:column;gap:6px}.smart-recommendations__section{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.smart-recommendations__section-label{font-size:11px;color:var(--text-tertiary, #999);min-width:32px}.smart-recommendations__tags{display:flex;gap:6px;flex-wrap:wrap}.smart-recommendations__tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#c17f591a;border:1px solid rgba(193,127,89,.3);border-radius:12px;font-size:12px;color:var(--primary-500, #C17F59);cursor:pointer;transition:all .15s ease}.smart-recommendations__tag:hover{background:#c17f5933;border-color:#c17f5980}.smart-recommendations__tag:active{transform:scale(.95)}.smart-recommendations__badge{font-size:10px;padding:1px 4px;background:#c17f5933;border-radius:8px;color:var(--primary-500, #C17F59)}.smart-recommendations__account-pair{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;background:#c17f591a;border:1px solid rgba(193,127,89,.3);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s ease}.smart-recommendations__account-pair:hover{background:#c17f5933;border-color:#c17f5980}.smart-recommendations__account-pair:active{transform:scale(.98)}.smart-recommendations__account{font-weight:500}.smart-recommendations__account--debit{color:var(--color-debit, #dc2626)}.smart-recommendations__account--credit{color:var(--color-credit, #2563eb)}.smart-recommendations__separator{color:var(--text-tertiary, #999);font-size:11px}@media(prefers-color-scheme:dark){.smart-recommendations{background:linear-gradient(135deg,#c17f5926,#c17f591a);border-color:#c17f594d}.smart-recommendations__tag,.smart-recommendations__account-pair{background:#c17f5933;border-color:#c17f5966}}@media(max-width:500px){.smart-recommendations{padding:6px 10px}.smart-recommendations__section{flex-direction:column;align-items:flex-start;gap:4px}.smart-recommendations__tags{width:100%}.smart-recommendations__tag{font-size:11px;padding:3px 6px}}.transaction-modal{max-width:640px}.lines-container{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.line-row{display:grid;grid-template-columns:auto 1fr 36px;grid-template-rows:auto auto;gap:.5rem;align-items:center}.line-row select:first-child{grid-column:1 / -1}.line-row select:nth-child(2){grid-column:1;min-width:72px}.line-row input{grid-column:2}.line-row .btn-remove-line{grid-row:2;grid-column:3}.line-row select,.line-row input{padding:.625rem;border:2px solid var(--gray-200);border-radius:var(--radius-sm);font-size:.875rem}.line-row select:focus,.line-row input:focus{outline:none;border-color:var(--primary-500)}.line-row input[type=text]{text-align:right}.btn-remove-line{width:36px;height:36px;border:none;background:var(--gray-100);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal);display:flex;align-items:center;justify-content:center}.btn-remove-line:hover:not(:disabled){background:#fee2e2}.btn-remove-line:disabled{cursor:not-allowed;background:var(--gray-100);border:1px solid var(--gray-200);opacity:.6}.btn-add-line{padding:.625rem 1rem;border:2px dashed var(--gray-300);background:transparent;border-radius:var(--radius-md);color:var(--gray-500);font-size:.875rem;cursor:pointer;transition:all var(--transition-normal)}.btn-add-line:hover{border-color:var(--primary-500);color:var(--primary-500)}.balance-check{background:var(--gray-50);padding:1rem;border-radius:var(--radius-md)}.balance-row{display:flex;justify-content:space-between;padding:.375rem 0;font-size:.875rem}.balance-status{margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--gray-200);text-align:center;font-weight:500}.balance-status.balanced{color:var(--success)}.balance-status.unbalanced{color:var(--error)}.transaction-modal .description-group{position:relative}.transaction-modal .description-input-wrapper{position:relative;display:flex;align-items:center}.transaction-modal .description-input-wrapper input{padding-right:2.5rem!important}.transaction-modal .description-loading-spinner{position:absolute;right:.75rem;width:1rem;height:1rem;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.transaction-modal .description-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--gray-400)}.transaction-modal .suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:9999;max-height:250px;overflow-y:auto;margin-top:4px}.transaction-modal .suggestion-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);border-bottom:1px solid var(--gray-100)}.transaction-modal .suggestion-item:last-child{border-bottom:none}.transaction-modal .suggestion-item:hover{background:var(--gray-50)}.transaction-modal .suggestion-description{font-weight:500;color:var(--gray-800);font-size:.9375rem}.transaction-modal .suggestion-meta{display:flex;flex-direction:column;gap:.25rem;margin-top:.375rem;font-size:.8125rem;color:var(--gray-500)}.transaction-modal .suggestion-lines-summary{display:flex;flex-wrap:wrap;gap:.375rem}.transaction-modal .suggestion-line-item{display:inline-flex;align-items:center;padding:.125rem .5rem;background:var(--gray-100);border-radius:var(--radius-sm);font-size:.75rem}.transaction-modal .suggestion-line-type{margin-left:.25rem;color:var(--gray-400);font-size:.6875rem}.transaction-modal .suggestion-tags{color:var(--primary-500)}.transaction-modal .applied-suggestion-feedback{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid var(--primary-300);border-radius:var(--radius-md);margin-top:.5rem;animation:fadeInSlide .3s ease-out,fadeOut .5s ease-in 2s forwards}.transaction-modal .applied-suggestion-icon{flex-shrink:0;font-size:1rem}.transaction-modal .applied-suggestion-content{display:flex;flex-direction:column;gap:.125rem}.transaction-modal .applied-suggestion-title{font-size:.75rem;font-weight:600;color:var(--primary-700)}.transaction-modal .applied-suggestion-detail{font-size:.8125rem;color:var(--primary-600)}.transaction-modal .applied-suggestion-tags{color:var(--primary-500)}.simple-transaction-modal .date-input{width:100%;padding:.75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:1rem;color:var(--gray-800);background:#fff;cursor:pointer}.simple-transaction-modal .date-input:hover{border-color:var(--gray-400)}.simple-transaction-modal .date-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px #c17f591a}.transaction-type-tabs{display:flex;gap:.375rem;margin-bottom:.375rem}.type-tab{flex:1;display:flex;align-items:center;justify-content:center;padding:.5rem .25rem;border:2px solid var(--gray-200);background:#fff;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal)}.type-tab:hover{border-color:var(--primary-300);background:var(--primary-50)}.type-tab.active{border-color:var(--primary-500);background:var(--primary-50)}.type-label{font-weight:600;font-size:.8125rem;color:var(--gray-700)}.type-tab.active .type-label{color:var(--primary-600)}.type-desc{display:none}.amount-input-wrapper{position:relative;display:flex;align-items:center}.amount-input{width:100%;text-align:right;font-size:1.125rem;font-weight:500;padding:.75rem 2.5rem .75rem .75rem!important}.currency{position:absolute;right:.75rem;font-size:1rem;color:var(--gray-500);font-weight:500;pointer-events:none}.account-selection{display:grid;grid-template-columns:1fr;gap:1rem}.description-group{position:relative}.description-input-wrapper{position:relative;display:flex;align-items:center}.description-input-wrapper input{padding-right:2.5rem!important}.description-loading-spinner{position:absolute;right:.75rem;width:1rem;height:1rem;border:2px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spin .8s linear infinite}.description-hint{display:block;margin-top:.375rem;font-size:.75rem;color:var(--gray-400)}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:9999;max-height:200px;overflow-y:auto;margin-top:4px}.suggestion-item{display:flex;flex-direction:column;align-items:flex-start;width:100%;padding:.75rem 1rem;border:none;background:none;cursor:pointer;text-align:left;transition:background var(--transition-fast);border-bottom:1px solid var(--gray-100)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:var(--gray-50)}.suggestion-description{font-weight:500;color:var(--gray-800);font-size:.9375rem}.suggestion-meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem;font-size:.8125rem;color:var(--gray-500)}.suggestion-accounts{display:flex;align-items:center;gap:.25rem}.suggestion-tags{color:var(--primary-500)}.onboarding-hint{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:var(--radius-md);margin-top:.5rem}.onboarding-hint-icon{flex-shrink:0;font-size:1rem}.onboarding-hint span:last-child{font-size:.8125rem;color:#92400e;line-height:1.5}.applied-suggestion-feedback{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem .75rem;background:linear-gradient(135deg,#e0e7ff,#c7d2fe);border:1px solid var(--primary-300);border-radius:var(--radius-md);margin-top:.5rem;animation:fadeInSlide .3s ease-out,fadeOut .5s ease-in 2s forwards}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.applied-suggestion-icon{flex-shrink:0;font-size:1rem}.applied-suggestion-content{display:flex;flex-direction:column;gap:.125rem}.applied-suggestion-title{font-size:.75rem;font-weight:600;color:var(--primary-700)}.applied-suggestion-detail{font-size:.8125rem;color:var(--primary-600)}.applied-suggestion-tags{color:var(--primary-500)}.journal-preview-section{margin-top:.5rem;padding-top:.75rem;border-top:1px dashed var(--gray-200)}.journal-preview-toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.8125rem;color:var(--gray-600);-webkit-user-select:none;user-select:none}.journal-preview-toggle input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-500);cursor:pointer}.journal-preview-toggle:hover{color:var(--primary-600)}.journal-preview{margin-top:.625rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:.75rem;font-size:.8125rem}.journal-preview-line{display:flex;align-items:center;gap:.75rem;padding:.375rem 0}.journal-preview-line:first-child{border-bottom:1px solid var(--gray-200);padding-bottom:.5rem;margin-bottom:.25rem}.journal-preview-account{flex:1;font-weight:500;color:var(--gray-700)}.journal-preview-type{font-weight:400;color:var(--gray-400);font-size:.75rem;margin-left:.25rem}.journal-preview-side{font-size:.75rem;font-weight:600;padding:.125rem .5rem;border-radius:var(--radius-sm);min-width:2.5rem;text-align:center}.journal-preview-side.debit{background:#dbeafe;color:#1d4ed8}.journal-preview-side.credit{background:#fce7f3;color:#be185d}.journal-preview-amount{font-weight:600;color:var(--gray-800);min-width:5rem;text-align:right;font-variant-numeric:tabular-nums}.template-empty-hint{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.8125rem;color:var(--gray-600);margin-bottom:.5rem}.template-empty-hint a{color:var(--primary-600);font-weight:500;text-decoration:none}.template-empty-hint a:hover{text-decoration:underline}.template-chips-section{margin-bottom:.75rem}.template-chips-section>label{display:block;font-size:.8125rem;font-weight:500;color:var(--gray-600);margin-bottom:.5rem}.template-chips{display:flex;flex-wrap:wrap;gap:.375rem}.template-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:#fff;border:1.5px solid var(--gray-200);border-radius:9999px;font-size:.75rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .15s ease}.template-chip:hover{border-color:var(--primary-300);background:var(--primary-50);color:var(--primary-700)}.template-chip.applied{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-600)}.template-chip.has-warning{border-color:#fde68a;background:#fffbeb}.template-chip:disabled{opacity:.5;cursor:not-allowed}.template-chip-amount{font-size:.75rem;color:var(--gray-500);font-weight:400}.template-chip.applied .template-chip-amount{color:var(--primary-500)}.template-chip--more{background:var(--gray-100);color:var(--gray-600);text-decoration:none;font-size:.8125rem}.template-chip--more:hover{background:var(--gray-200);color:var(--gray-700)}.applied-template-feedback{display:flex;align-items:flex-start;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #86efac;border-radius:var(--radius-md);animation:fadeIn .2s ease}.applied-template-icon{font-size:1rem;line-height:1}.applied-template-content{display:flex;flex-direction:column;gap:.125rem}.applied-template-title{font-size:.8125rem;font-weight:600;color:#16a34a}.applied-template-detail{font-size:.75rem;color:#15803d}.applied-template-tags{color:#22c55e}.simple-transaction-modal .modal__footer{display:flex;flex-direction:column;gap:.75rem}.simple-transaction-modal .modal__footer-actions{display:flex;gap:.75rem}.simple-transaction-modal .modal__footer-actions .btn-cancel,.simple-transaction-modal .modal__footer-actions .btn-save{flex:1}.simple-transaction-modal .btn-link{background:none;border:none;padding:.5rem;font-size:.8125rem;color:var(--gray-500);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s ease}.simple-transaction-modal .btn-link:hover{color:var(--primary-600)}.budget-widget{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:16px;margin-bottom:16px}.budget-widget-header{margin-bottom:12px}.budget-widget-header h3{margin:0;font-size:1rem;color:var(--gray-600)}.budget-widget-list{display:flex;flex-direction:column;gap:12px}.budget-widget-item{display:flex;flex-direction:column;gap:4px}.budget-widget-info{display:flex;justify-content:space-between;align-items:center}.budget-widget-tag{font-weight:500;color:var(--primary-500);text-decoration:none;padding:2px 6px;margin:-2px -6px;border-radius:var(--radius-sm);transition:background-color .15s ease}.budget-widget-tag:hover{background-color:var(--primary-50);text-decoration:underline}.budget-widget-percent{font-weight:600;font-size:.9rem}.budget-widget-bar{height:8px;background:var(--gray-200);border-radius:var(--radius-sm);overflow:hidden}.budget-widget-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.budget-widget-amounts{display:flex;justify-content:space-between;font-size:.8rem;color:var(--gray-500)}.budget-widget-link{display:block;text-align:center;margin-top:12px;padding:8px;color:var(--primary-500);text-decoration:none;font-size:.9rem;border-top:1px solid var(--gray-200)}.budget-widget-link:hover{text-decoration:underline}.link-account-modal{max-height:80vh}.link-account-body{display:flex;flex-direction:column;gap:1rem;padding:1rem}.link-account-description{text-align:center;color:var(--gray-600);font-size:.9375rem;line-height:1.6;margin:.5rem 0 1rem}.link-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);border:none}.link-option__icon{font-size:1.25rem}.link-option__text{flex:1;text-align:left}.link-option--kakao{background:#fee500;color:#000}.link-option--kakao:hover{background:#f5dc00}.link-option--email{background:var(--gray-100);color:var(--gray-800)}.link-option--email:hover{background:var(--gray-200)}.link-account-footer{display:flex;flex-direction:row;gap:.5rem}.link-account-footer>button{flex:1}.email-sent-icon{font-size:3rem;text-align:center;margin-bottom:1rem}.email-sent-title{text-align:center;font-size:1.125rem;font-weight:600;color:var(--gray-800);margin:0 0 1rem}.first-transaction-modal .modal__body{text-align:center;padding:2rem 1.5rem 1rem}.celebration-icon{font-size:3rem;margin-bottom:1rem}.first-transaction-modal h2{font-size:1.25rem;color:var(--gray-800);margin:0 0 .75rem}.celebration-message{font-size:.9375rem;color:var(--gray-600);line-height:1.6;margin:0}.first-transaction-footer{border-top:none;padding-top:.5rem}@media(max-width:768px){.first-transaction-modal .modal__body:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:36px;height:4px;background:var(--gray-300);border-radius:2px}.first-transaction-modal.draggable .modal__body:before{background:var(--primary-500);width:40px;height:5px}.first-transaction-footer{flex-direction:column-reverse}}.pwa-install-banner{background:linear-gradient(135deg,#2d2d2d,#c17f59);color:#fff;border-radius:12px;margin:16px;overflow:hidden;box-shadow:0 4px 12px #c17f594d}.pwa-install-banner__content{display:flex;align-items:center;gap:12px;padding:16px}.pwa-install-banner__icon{flex-shrink:0;width:48px;height:48px}.pwa-install-banner__icon img{width:100%;height:100%;border-radius:10px;background:#fff}.pwa-install-banner__text{flex:1;min-width:0}.pwa-install-banner__text strong{display:block;font-size:1rem;margin-bottom:2px}.pwa-install-banner__text p{margin:0;font-size:.85rem;opacity:.9}.pwa-install-banner__actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.pwa-install-banner__btn{border:none;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;border-radius:20px;transition:all .2s}.pwa-install-banner__btn--install,.pwa-install-banner__btn--guide{background:#fff;color:#c17f59}.pwa-install-banner__btn--install:hover,.pwa-install-banner__btn--guide:hover{background:#f0f0f0}.pwa-install-banner__btn--install:disabled{opacity:.7;cursor:not-allowed}.pwa-install-banner__btn--dismiss{background:transparent;color:#fff;font-size:1.5rem;line-height:1;padding:4px 8px;opacity:.7}.pwa-install-banner__btn--dismiss:hover{opacity:1}.pwa-install-banner__safari-note{font-size:.85rem;opacity:.9}.pwa-install-banner__ios-guide{background:#00000026;padding:12px 16px;display:flex;flex-direction:column;gap:8px}.ios-step{display:flex;align-items:center;gap:10px;font-size:.9rem}.step-num{flex-shrink:0;width:22px;height:22px;background:#fff;color:#c17f59;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600}.pwa-install-banner__ios-warning{background:#ffc80033;border:1px solid rgba(255,200,0,.4);border-radius:8px;padding:10px 12px;margin-bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:8px}.ios-warning-icon{font-size:1rem}.ios-warning-text{flex:1;font-size:.85rem;min-width:150px}.ios-warning-link-btn{background:#fff;color:#c17f59;border:none;border-radius:16px;padding:6px 12px;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap}.ios-warning-link-btn:hover{background:#f5f5f5}@media(max-width:480px){.pwa-install-banner{margin:12px}.pwa-install-banner__content{padding:12px;gap:10px}.pwa-install-banner__icon{width:40px;height:40px}.pwa-install-banner__text strong{font-size:.95rem}.pwa-install-banner__text p{font-size:.8rem}.pwa-install-banner__btn{font-size:.85rem;padding:6px 12px}}.main-container{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--gray-100);min-height:calc(100vh - 60px)}.calendar-section{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.transactions-section{background:#fff;border-radius:var(--radius-lg);padding:1rem;box-shadow:var(--shadow-sm)}.transactions-header{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-800)}.initial-balance-setup{min-height:100vh;display:flex;flex-direction:column;background:var(--gray-50, #f9fafb)}.setup-header{display:flex;align-items:center;justify-content:center;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200);position:sticky;top:0;z-index:10}.setup-header h1{font-size:1.125rem;font-weight:600;margin:0;color:var(--gray-800)}.setup-header .btn-skip{position:absolute;left:1rem;display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-600);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.setup-header .btn-skip:hover{background:var(--gray-200);color:var(--gray-800)}.setup-content{flex:1;padding:12px 16px 24px;max-width:500px;margin:0 auto;width:100%}.setup-description{background:#fff;border-radius:10px;padding:12px 14px;margin-bottom:12px;box-shadow:0 1px 3px #0000000d}.setup-description .date-picker{display:flex;align-items:center;gap:10px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid var(--gray-100, #f3f4f6)}.setup-description .date-picker label{font-weight:600;font-size:14px;color:var(--gray-700, #374151)}.setup-description .date-picker input{padding:8px 12px;border:1px solid var(--gray-300, #d1d5db);border-radius:8px;font-size:14px;background:#fff;color:var(--gray-900, #111827)}.setup-description p{color:var(--gray-600, #4b5563);font-size:13px;line-height:1.5;margin:0}.setup-description .customization-hint{margin-top:8px;padding:8px 10px;background:#fef3c7;border-radius:6px;color:#92400e;font-size:12px}.account-section{margin-bottom:10px}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;padding:0 4px}.section-header h2{font-size:15px;font-weight:700;margin:0;display:flex;align-items:center;gap:8px;color:var(--gray-800, #1f2937)}.section-header h2:before{content:"";width:4px;height:16px;border-radius:2px}.account-section:first-of-type .section-header h2:before{background:#10b981}.account-section:nth-of-type(2) .section-header h2:before{background:#ef4444}.btn-add-account{background:none;border:none;padding:6px 10px;font-size:13px;color:var(--primary-600, #2563eb);cursor:pointer;font-weight:500}.btn-add-account:hover{color:var(--primary-700, #1d4ed8)}.account-list{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #0000000d}.account-input-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--gray-100, #f3f4f6)}.account-input-row:last-child{border-bottom:none}.account-name{font-size:15px;font-weight:500;color:var(--gray-800, #1f2937);flex:1}.account-input-actions{display:flex;align-items:center;gap:8px}.btn-delete-account{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--gray-400, #9ca3af);font-size:20px;cursor:pointer;border-radius:6px;transition:all .15s;flex-shrink:0}.btn-delete-account:hover{background:var(--gray-100, #f3f4f6);color:#ef4444}.initial-balance-setup .amount-input-wrapper{display:flex!important;align-items:center!important;gap:6px!important;position:static!important}.initial-balance-setup .amount-input-wrapper input{width:110px!important;min-width:110px!important;padding:10px 12px!important;border:1px solid var(--gray-300, #d1d5db)!important;border-radius:8px!important;font-size:15px!important;text-align:right!important;background:var(--gray-50, #f9fafb)!important;color:var(--gray-900, #111827)!important;transition:all .2s}.initial-balance-setup .amount-input-wrapper input:focus{outline:none;border-color:var(--primary-500, #C17F59)!important;background:#fff!important;box-shadow:0 0 0 3px #c17f591a!important}.initial-balance-setup .amount-input-wrapper input::placeholder{color:var(--gray-400, #9ca3af)}.initial-balance-setup .amount-input-wrapper .currency{position:static!important;font-size:14px!important;color:var(--gray-500, #6b7280)!important;font-weight:500;flex-shrink:0;pointer-events:auto!important}.empty-message{padding:24px;text-align:center;color:var(--gray-400, #9ca3af);font-size:14px}.initial-balance-setup .net-worth-summary{background:linear-gradient(135deg,#2d2d2d,#c17f59);border-radius:12px;padding:14px 16px;margin-top:12px;margin-left:0;margin-right:0;box-shadow:0 4px 12px #00000026;display:block}.initial-balance-setup .summary-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px;color:#ffffffb3}.initial-balance-setup .summary-row .amount{font-weight:600;color:#ffffffe6}.initial-balance-setup .summary-row.net-worth{border-top:1px solid rgba(255,255,255,.15);margin-top:8px;padding-top:10px;font-size:14px;font-weight:600;color:#fff}.initial-balance-setup .summary-row.net-worth .amount{font-size:20px;font-weight:700}.initial-balance-setup .summary-row.net-worth .amount.positive{color:#34d399}.initial-balance-setup .summary-row.net-worth .amount.negative{color:#f87171}.setup-hint{margin-top:10px;padding:10px 14px;background:#eff6ff;border-radius:8px;font-size:12px;color:#1e40af;text-align:center;line-height:1.5}.btn-complete{width:100%;padding:14px;margin-top:16px;font-size:16px;font-weight:600;border-radius:10px}@media(max-width:480px){.setup-content{padding:10px 14px}.amount-input-wrapper input{width:100px}.account-input-row{padding:8px 12px}}.setup-complete{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:40px 20px;text-align:center;background:#fff}.complete-icon{font-size:72px;margin-bottom:24px}.setup-complete h2{font-size:22px;font-weight:700;margin:0 0 20px;color:var(--gray-900, #111827)}.complete-summary{font-size:16px;margin:0 0 8px;color:var(--gray-600, #4b5563)}.complete-summary strong{font-size:28px;font-weight:700;display:block;margin-top:8px}.complete-summary strong.positive{color:#10b981}.complete-summary strong.negative{color:#ef4444}.complete-desc{font-size:14px;color:var(--gray-500, #6b7280);margin:16px 0 32px;line-height:1.6}.complete-actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.complete-actions button{width:100%;padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px}.view-mode-selection-page{min-height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0);display:flex;align-items:center;justify-content:center;padding:1rem}.view-mode-selection-content{width:100%;max-width:480px}.view-mode-selection-header{text-align:center;margin-bottom:2rem}.view-mode-selection-header h1{font-size:1.5rem;font-weight:700;color:var(--gray-800);margin:0 0 .5rem}.view-mode-selection-header p{font-size:.9375rem;color:var(--gray-500);margin:0}.view-mode-selection-options{display:flex;flex-direction:column;gap:1rem}.view-mode-card{position:relative;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-lg);padding:1.25rem;text-align:left;cursor:pointer;transition:all .2s;width:100%}.view-mode-card:hover{border-color:var(--gray-300);box-shadow:var(--shadow-md)}.view-mode-card.selected{border-color:var(--primary-500);background:var(--primary-50)}.view-mode-badge{position:absolute;top:-.625rem;left:1rem;background:var(--primary-500);color:#fff;font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.025em}.view-mode-card-title{font-size:1.125rem;font-weight:600;color:var(--gray-800);margin:.25rem 0 .375rem}.view-mode-card-desc{font-size:.875rem;color:var(--gray-600);margin:0 0 .25rem}.view-mode-card-hint{font-size:.8125rem;color:var(--gray-400);margin:0 0 .75rem}.view-mode-card-example{background:var(--gray-50);border-radius:var(--radius-sm);padding:.625rem .75rem;font-size:.8125rem;color:var(--gray-500)}.view-mode-card.selected .view-mode-card-example{background:#fff}.view-mode-card-example span{display:block}.view-mode-card-example .example-line{margin-top:.25rem;color:var(--gray-700)}.view-mode-card-example .example-line strong{font-weight:600}.view-mode-selection-footer{margin-top:2rem;text-align:center}.view-mode-selection-note{font-size:.8125rem;color:var(--gray-400);margin:0 0 1rem}.view-mode-submit-btn{width:100%;padding:.875rem 1.5rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.view-mode-submit-btn:hover{background:var(--primary-600)}.view-mode-submit-btn:disabled{background:var(--gray-300);cursor:not-allowed}@media(max-width:480px){.view-mode-selection-page{padding:1rem .75rem}.view-mode-selection-header h1{font-size:1.25rem}.view-mode-card{padding:1rem}.view-mode-card-title{font-size:1rem}}.management-container{min-height:100vh;background:var(--gray-100)}.management-header{background:#fff;color:var(--gray-800);padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid var(--gray-200)}.header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.back-link{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.back-link:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.management-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.management-header .btn-add{background:var(--primary-500);color:#fff;border:none;padding:.5rem .875rem;border-radius:var(--radius-md);font-weight:500;font-size:.8125rem;cursor:pointer;transition:all .2s;white-space:nowrap}.management-header .btn-add:hover{background:var(--primary-600)}.management-form{background:#fff;padding:1rem;margin:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.form-row{display:flex;gap:.5rem;flex-wrap:wrap}.form-row input{flex:2;min-width:120px;padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem}.form-row select{flex:1;min-width:80px;padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;background:#fff}.form-row input:focus,.form-row select:focus{outline:none;border-color:var(--primary-500)}.form-row .btn-save,.form-row .btn-cancel{padding:.625rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;white-space:nowrap}.form-row .btn-save{background:var(--primary-500);color:#fff;border:none}.form-row .btn-save:hover{background:var(--primary-600)}.form-row .btn-cancel{background:#fff;color:var(--gray-600);border:2px solid var(--gray-300)}.form-error{margin-top:.625rem;color:var(--error);font-size:.8125rem}.management-list{padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.list-group h2{font-size:.8125rem;color:var(--gray-500);margin:0 0 .625rem .25rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.list-group--danger{margin-top:1rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.list-group--danger h2{color:var(--error)}.list-group--danger .list-item{background:#fef2f2;border:1px solid #fecaca}.list-item{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:.5rem}.item-name{font-weight:500;color:var(--gray-800);font-size:.9375rem;word-break:break-word;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}a.item-name-link{text-decoration:underline dotted!important;text-underline-offset:2px;color:inherit;transition:color .2s}a.item-name-link:hover{color:var(--primary-600);text-decoration:underline solid!important}.item-info{display:flex;flex-direction:column;gap:.25rem}.item-stat{font-size:.8125rem;font-weight:500}.item-stat.positive{color:var(--success)}.item-stat.negative{color:var(--error)}.subtype-badge{font-size:.625rem;font-weight:600;padding:.125rem .375rem;background:var(--gray-100);color:var(--gray-500);border-radius:4px;white-space:nowrap;flex-shrink:0}.item-balance{font-weight:600;color:var(--gray-700);font-size:.9375rem;text-align:right;white-space:nowrap}.item-arrow{color:var(--gray-400);font-size:.875rem}.list-item--link{text-decoration:none;cursor:pointer;transition:background .2s}.list-item--link:hover{background:var(--gray-50)}.list-item--link:hover .item-arrow{color:var(--gray-600)}.list-item.list-item--sub{margin-left:1rem;background:var(--gray-50)!important;box-shadow:none;border-left:3px solid var(--gray-200)}.item-balance--muted{font-weight:400;color:var(--gray-500);font-size:.8125rem}.btn-secondary--danger{color:var(--error);border-color:#fecaca}.btn-secondary--danger:hover{background:#fef2f2;border-color:#fca5a5}.item-actions{display:flex;gap:.375rem}.item-actions button{padding:.375rem .625rem;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:all .2s;background:#fff;border:1px solid var(--gray-200);color:var(--gray-600);white-space:nowrap}.item-actions button:hover{background:var(--gray-50);border-color:var(--gray-300)}.item-actions .btn-ledger{background:var(--primary-500);color:#fff;border-color:var(--primary-500);font-weight:600;padding:.375rem .5rem}.item-actions .btn-ledger:hover{background:var(--primary-600);border-color:var(--primary-600)}.item-actions .btn-delete{border-color:var(--error);color:var(--error)}.item-actions .btn-delete:hover{background:var(--error);color:#fff}.list-subtotal{display:flex;justify-content:space-between;padding:.625rem 1rem;background:var(--gray-50);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;color:var(--gray-600);margin-top:.25rem}.net-worth-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;margin:0 1rem 1.5rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);font-size:1rem;font-weight:600;color:var(--gray-700)}.net-worth-summary .positive{color:var(--success)}.net-worth-summary .negative{color:var(--error)}.trash-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:.5rem;gap:.75rem}.trash-meta{font-size:.8125rem;color:var(--gray-500);margin-top:.25rem}.btn-restore{background:var(--success);color:#fff;border:none;padding:.5rem .875rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;white-space:nowrap}.btn-restore:hover{opacity:.9}.trash-item .item-actions{display:flex;gap:.5rem;flex-shrink:0}.delete-confirm{margin-top:.75rem;padding:.75rem;background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-md)}.delete-confirm p{margin:0;font-size:.8125rem;color:var(--gray-700)}.delete-error{color:var(--error)!important;margin-top:.5rem!important;font-weight:500}.delete-confirm-buttons{display:flex;gap:.5rem;margin-top:.75rem}.btn-delete-confirm{background:var(--error);color:#fff;border:none;padding:.5rem .875rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:500}.btn-delete-confirm:hover{opacity:.9}.btn-delete-confirm:disabled{opacity:.6;cursor:not-allowed}.btn-delete-cancel{background:#fff;color:var(--gray-600);border:1px solid var(--gray-300);padding:.5rem .875rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem}.btn-delete-cancel:hover{background:var(--gray-50)}.btn-delete-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-show-linked{display:block;margin-top:.75rem;padding:.5rem 1rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:500}.btn-show-linked:hover{background:var(--primary-600)}.linked-entries-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.linked-entries-modal{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:var(--shadow-lg)}.linked-entries-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200)}.linked-entries-header h2{margin:0;font-size:1rem;font-weight:600;color:var(--gray-800)}.btn-close{background:none;border:none;font-size:1.5rem;color:var(--gray-400);cursor:pointer;padding:0;line-height:1}.btn-close:hover{color:var(--gray-600)}.linked-entries-content{padding:1rem 1.25rem;overflow-y:auto;flex:1}.linked-entries-info{margin:0 0 1rem;font-size:.875rem;color:var(--gray-600);line-height:1.5}.linked-entries-list{display:flex;flex-direction:column;gap:.75rem}.linked-entry-item{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.75rem;background:var(--gray-50);border-radius:var(--radius-md)}.linked-entry-info{flex:1;min-width:0}.linked-entry-date{font-size:.75rem;color:var(--gray-500);margin-bottom:.25rem}.linked-entry-desc{font-size:.875rem;font-weight:500;color:var(--gray-800);margin-bottom:.25rem;word-break:break-word}.linked-entry-amount{font-size:.75rem;color:var(--gray-500)}.linked-entry-actions{display:flex;flex-direction:column;gap:.375rem;flex-shrink:0}.btn-remove-tag{padding:.375rem .625rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;white-space:nowrap}.btn-remove-tag:hover{background:var(--primary-600)}.btn-remove-tag:disabled{opacity:.6;cursor:not-allowed}.btn-delete-entry{padding:.375rem .625rem;background:#fff;color:var(--error);border:1px solid var(--error);border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;white-space:nowrap}.btn-delete-entry:hover{background:var(--error);color:#fff}.btn-delete-entry:disabled{opacity:.6;cursor:not-allowed}.linked-entry-item{flex-direction:column;gap:.5rem}.linked-entry-actions{flex-direction:row;width:100%}.linked-entry-actions button{flex:1}.ledger-container{min-height:100vh;background:var(--gray-100)}.ledger-header{background:#fff;color:var(--gray-800);padding:1rem;border-bottom:1px solid var(--gray-200)}.ledger-header h1{margin:.25rem 0 0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.current-balance{font-size:1.125rem;font-weight:700;margin-top:.375rem;color:var(--gray-700)}.current-balance.positive{color:var(--success)}.current-balance.negative{color:var(--error)}.ledger-filters{display:flex;gap:.5rem;padding:1rem;background:#fff;box-shadow:var(--shadow-sm);align-items:center}.ledger-filters label{font-size:.875rem;font-weight:500;color:var(--gray-600);white-space:nowrap}.ledger-filters input[type=date]{padding:.5rem .625rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;min-width:0;width:130px}.ledger-filters input[type=date]:focus{outline:none;border-color:var(--primary-500)}.ledger-filters span{color:var(--gray-400);font-size:.875rem}.ledger-filters button{padding:.5rem 1rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.875rem}.ledger-filters button:hover{background:var(--primary-600)}.ledger-table{margin:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden}.ledger-table table{width:100%;border-collapse:collapse}.ledger-table th,.ledger-table td{padding:.75rem .625rem;text-align:left;border-bottom:1px solid var(--gray-100);font-size:.875rem}.ledger-table th{background:var(--gray-50);font-weight:600;color:var(--gray-600);font-size:.75rem;text-transform:uppercase;letter-spacing:.025em;white-space:nowrap}.ledger-table td:first-child{white-space:nowrap;color:var(--gray-500)}.ledger-table td:nth-child(2){min-width:80px;word-break:break-word}.ledger-table .amount-debit{color:var(--success);text-align:right;white-space:nowrap}.ledger-table .amount-credit{color:var(--error);text-align:right;white-space:nowrap}.ledger-table .amount-balance{font-weight:600;text-align:right;white-space:nowrap}.ledger-table .opening-row{background:var(--gray-50);font-style:italic;color:var(--gray-500)}.ledger-table .total-row{background:var(--gray-50);font-weight:600}.list-item{grid-template-columns:1fr;gap:.5rem;padding:.75rem}.list-item--link{grid-template-columns:1fr auto;align-items:center}.item-name{font-size:.875rem;line-height:1.4}.item-balance{font-size:1rem;text-align:left;color:var(--primary-600)}.item-actions{justify-content:flex-start;gap:.5rem}.item-actions button{flex:1;text-align:center;padding:.5rem}.management-form{margin:.75rem;padding:.75rem}.form-row{flex-direction:column}.form-row input,.form-row select{width:100%}.form-row .btn-save,.form-row .btn-cancel{width:100%;padding:.75rem}.net-worth-summary{flex-direction:row;gap:.5rem;padding:.875rem 1rem;margin:0 .75rem 1rem;font-size:.875rem}.ledger-filters{padding:.75rem;gap:.375rem;flex-wrap:wrap}.ledger-filters input[type=date]{width:auto;flex:1;min-width:0;padding:.5rem .375rem}.ledger-filters button{padding:.5rem .75rem;white-space:nowrap}.ledger-table{margin:.75rem;border-radius:var(--radius-md)}.ledger-table th,.ledger-table td{padding:.625rem .5rem;font-size:.8125rem}.ledger-table th{font-size:.6875rem}.list-subtotal{font-size:.8125rem;padding:.5rem .75rem}.management-list{padding:.75rem;gap:1.25rem}.list-group h2{font-size:.75rem}.owner-group{margin-bottom:.75rem}.owner-label{font-size:.75rem;font-weight:600;color:var(--primary-500);padding:.375rem .75rem;background:var(--primary-50);border-radius:var(--radius-sm);margin-bottom:.5rem;display:inline-block}.invite-section{padding:.5rem 0}.invite-section .btn-add{background:var(--primary-500);border:none;color:#fff}.invite-section .btn-add:hover{background:var(--primary-600)}.invite-section .btn-add:disabled{background:var(--gray-300);cursor:not-allowed}.invite-code-box{margin-top:1rem;padding:1rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:2px dashed var(--primary-200)}.invite-code-display{display:flex;align-items:center;gap:.75rem}.invite-code{font-family:var(--font-mono, monospace);font-size:1.5rem;font-weight:700;letter-spacing:.15em;color:var(--primary-600);background:var(--primary-50);padding:.5rem 1rem;border-radius:var(--radius-md)}.btn-copy{padding:.5rem 1rem;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:.875rem;color:var(--gray-600);transition:all .2s}.btn-copy:hover{background:var(--gray-50);border-color:var(--gray-300)}.invite-code-expires{margin:.75rem 0 .25rem;font-size:.8125rem;color:var(--gray-500)}.invite-code-help{margin:0;font-size:.8125rem;color:var(--gray-400);line-height:1.5}.checkbox-item{cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-item:hover{background:var(--gray-50)}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--primary-500);cursor:pointer}.btn-delete{background:#fff;color:var(--error);border:1px solid var(--error);padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-delete:hover{background:var(--error);color:#fff}.invite-code-display{flex-direction:column;align-items:stretch}.invite-code{font-size:1.25rem;text-align:center}.btn-copy{width:100%}.ios-install-guide{padding:1rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.guide-message{margin:0 0 .75rem;font-size:.9375rem;color:var(--gray-700);line-height:1.5}.guide-help{margin:0;font-size:.8125rem;color:var(--gray-400);line-height:1.5}.btn-toggle-guide{background:var(--gray-100);color:var(--gray-600);border:none;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;width:100%;text-align:center}.btn-toggle-guide:hover{background:var(--gray-200)}.install-steps{margin-top:1rem;padding:1rem;background:var(--primary-50);border-radius:var(--radius-md);border:1px solid var(--primary-100)}.install-step{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem 0}.install-step:not(:last-child){border-bottom:1px dashed var(--primary-200);padding-bottom:.75rem;margin-bottom:.25rem}.step-number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-500);color:#fff;border-radius:50%;font-size:.75rem;font-weight:700;flex-shrink:0}.install-step span:last-child{font-size:.875rem;color:var(--gray-700);line-height:1.5;padding-top:2px}.onboarding-banner{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:12px;padding:1.25rem;margin:1rem}.onboarding-banner-icon{font-size:2rem;flex-shrink:0;line-height:1}.onboarding-banner-actions .btn-sm,.onboarding-banner-actions .btn-secondary{padding:.5rem 1rem;font-size:.875rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);color:var(--gray-700);cursor:pointer;transition:all .2s}.onboarding-banner-actions .btn-sm:hover,.onboarding-banner-actions .btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.withdraw-warning{color:var(--error);font-weight:500}.withdraw-details{margin:.75rem 0;padding-left:1.5rem;color:var(--gray-600);font-size:.875rem;line-height:1.6}.withdraw-note{color:var(--gray-500);font-size:.875rem;margin-top:.5rem}.btn-cancel{background:#fff;color:var(--gray-600);border:1px solid var(--gray-300);padding:.625rem 1.25rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:var(--gray-50);border-color:var(--gray-400)}.error-banner{background:#fef2f2;color:var(--error);border:1px solid #fecaca;border-radius:var(--radius-md);padding:.875rem 1rem;margin:1rem;font-size:.875rem;font-weight:500}.view-mode-selector{display:flex;flex-direction:column;gap:.5rem}.view-mode-option{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s}.view-mode-option:hover{border-color:var(--gray-300);background:var(--gray-50)}.view-mode-option.selected{border-color:var(--primary-500);background:var(--primary-50)}.view-mode-option input[type=radio]{display:none}.view-mode-radio{width:20px;height:20px;border:2px solid var(--gray-300);border-radius:50%;flex-shrink:0;position:relative;transition:all .2s}.view-mode-option.selected .view-mode-radio{border-color:var(--primary-500)}.view-mode-option.selected .view-mode-radio:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:var(--primary-500);border-radius:50%}.view-mode-content{flex:1}.view-mode-label{font-weight:500;font-size:.9375rem;color:var(--gray-800)}.view-mode-option.selected .view-mode-label{color:var(--primary-700)}.view-mode-desc{font-size:.8125rem;color:var(--gray-500);margin-top:.125rem}.view-mode-option.selected .view-mode-desc{color:var(--primary-600)}.ledger-subtype-badge{font-size:.625rem;font-weight:600;padding:.2rem .5rem;background:var(--gray-100);color:var(--gray-500);border-radius:4px;margin-left:.5rem;vertical-align:middle}.desktop-only{display:none!important}.mobile-only{display:block!important}.ledger-table .empty-message{text-align:center;color:var(--gray-400);padding:2rem!important}.ledger-cards{padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ledger-card{padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.ledger-card:last-child{border-bottom:none}.ledger-card.opening{background:var(--gray-50);margin:-.25rem -.5rem .5rem;padding:.75rem;border-radius:var(--radius-sm);border-bottom:none}.ledger-card.total{background:var(--gray-50);margin:.5rem -.5rem -.25rem;padding:.75rem;border-radius:var(--radius-sm);border-bottom:none}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.card-date{font-size:.8125rem;color:var(--gray-500);font-weight:600}.card-balance{font-size:1rem;font-weight:700;color:var(--gray-800)}.card-balance.positive{color:var(--success)}.card-balance.negative{color:var(--error)}.opening .card-balance{color:var(--gray-500);font-style:italic;font-weight:500}.card-desc{font-size:.875rem;color:var(--gray-700);margin-bottom:.25rem;line-height:1.3}.card-amounts{display:flex;gap:.75rem;font-size:.8125rem}.card-debit{color:var(--success);font-weight:500}.card-credit{color:var(--error);font-weight:500}.total .card-amounts{flex-direction:column;gap:.25rem}.card-footer{display:flex;justify-content:space-between;align-items:center}.btn-edit-small{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;border:1px solid var(--gray-300);color:var(--gray-600)}.btn-edit-small:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-700)}.btn-delete-small{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s;background:#fff;border:1px solid var(--red-300, #fca5a5);color:var(--red-600, #dc2626);margin-left:.25rem}.btn-delete-small:hover{background:var(--red-50, #fef2f2);border-color:var(--red-400, #f87171);color:var(--red-700, #b91c1c)}.card-actions{display:flex;gap:.25rem}.expand-icon{font-size:.625rem;color:var(--gray-400);margin-right:.5rem}.ledger-row{cursor:pointer;transition:background .2s}.ledger-row:hover,.ledger-row.expanded,.ledger-detail-row{background:var(--gray-50)}.ledger-detail-row td{padding:0!important}.ledger-detail{padding:1rem;border-top:1px solid var(--gray-200)}.ledger-detail-loading{padding:1rem;border-top:1px solid var(--gray-200);text-align:center;color:var(--gray-500);font-size:.875rem}.detail-lines-table{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff;border-radius:var(--radius-sm);overflow:hidden}.detail-lines-table th,.detail-lines-table td{padding:.5rem .75rem;text-align:left}.detail-lines-table th{background:var(--gray-100);color:var(--gray-600);font-weight:500;font-size:.75rem}.detail-lines-table td{border-bottom:1px solid var(--gray-100)}.detail-lines-table td.amount{text-align:right;font-family:Courier New,monospace}.detail-lines-table tr.current-account{background:var(--primary-50)}.detail-lines-table tr.current-account td{font-weight:600}.ledger-detail a.account-link,.card-detail a.account-link{text-decoration:underline dotted;text-underline-offset:2px;color:inherit;transition:all .2s}.ledger-detail a.account-link:hover,.card-detail a.account-link:hover{color:var(--primary-600);text-decoration:underline solid}.ledger-detail .detail-tags,.card-detail .detail-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.ledger-detail .tag,.card-detail .tag{background:var(--primary-500);color:#fff;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500;text-decoration:none;transition:background .2s}.ledger-detail .tag:hover,.card-detail .tag:hover{background:var(--primary-600)}.ledger-card{cursor:pointer;transition:background .2s}.ledger-card:not(.opening):not(.total):hover{background:var(--gray-50)}.ledger-card.expanded{background:var(--gray-50);border-radius:var(--radius-sm);margin:.25rem -.5rem;padding:.75rem}.card-detail{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-200)}.card-detail-loading{margin-top:.75rem;padding:.75rem 0;border-top:1px solid var(--gray-200);text-align:center;color:var(--gray-500);font-size:.875rem}.ledger-row.initial-balance{background:var(--primary-50);cursor:default}.ledger-row.initial-balance:hover{background:var(--primary-50)}.initial-balance-icon{margin-right:.5rem}.initial-balance-label{font-weight:600;color:var(--primary-700)}.ledger-card.initial-balance{background:var(--primary-50);border:1px dashed var(--primary-300);border-radius:var(--radius-sm);margin:.25rem -.5rem;padding:.75rem;cursor:default}.ledger-card.initial-balance:hover{background:var(--primary-50)}.ledger-card.initial-balance .card-desc{font-weight:600;color:var(--primary-700)}.tag-ledger-summary{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.tag-ledger-summary .summary-item{flex:1;min-width:150px;padding:1rem;background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.tag-ledger-summary .summary-label{display:block;font-size:.75rem;color:var(--gray-500);font-weight:500;margin-bottom:.25rem}.tag-ledger-summary .summary-value{font-size:1.125rem;font-weight:700;color:var(--gray-800)}.tag-ledger-summary .summary-item.expense .summary-value{color:var(--error)}.tag-ledger-summary .summary-item.income .summary-value{color:var(--success)}.tag-ledger-summary .summary-item.budget .summary-value{color:var(--gray-700)}.tag-ledger-summary .summary-item.budget.warning .summary-value{color:var(--warning)}.tag-ledger-summary .summary-item.budget.over .summary-value{color:var(--error)}.tag-ledger-summary .budget-percent{font-size:.875rem;font-weight:500;margin-left:.25rem}.card-amount{font-weight:500}.card-amount.expense,.card-amount.negative{color:var(--error)}.card-amount.income,.card-amount.positive,.detail-lines-table td.amount.positive{color:var(--success)}.detail-lines-table td.amount.negative{color:var(--error)}.detail-tags .tag.current{background:var(--gray-700)}.item-name-link{text-decoration:none;color:inherit;transition:color .2s}.item-name-link:hover{color:var(--primary-600)}.tag-ledger-summary{flex-direction:column}.tag-ledger-summary .summary-item{min-width:auto}.ledger-search-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem}.ledger-search-row{display:flex;gap:.75rem;align-items:center}.ledger-search-input{flex:1;min-width:150px;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;transition:border-color .2s}.ledger-search-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px rgba(var(--primary-rgb, 59, 130, 246),.15)}.ledger-search-input::placeholder{color:var(--gray-400)}.ledger-filter-clear{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.8125rem;background:#fff;color:var(--gray-600);cursor:pointer;transition:all .2s;white-space:nowrap}.ledger-filter-clear:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-700)}.ledger-facet-filters{display:flex;gap:1.5rem;flex-wrap:wrap}.ledger-facet-group{flex:1;min-width:150px}.ledger-facet-header{display:flex;align-items:center;width:100%;padding:0;border:none;background:none;cursor:pointer;text-align:left}.ledger-facet-title{display:flex;align-items:center;gap:.25rem;font-size:.8125rem;font-weight:600;color:var(--gray-600)}.ledger-facet-title .expand-icon{font-size:.625rem;color:var(--gray-400)}.ledger-facet-count{font-size:.75rem;font-weight:500;color:var(--primary-600);background:var(--primary-50);padding:.125rem .5rem;border-radius:999px;margin-left:.5rem}.ledger-facet-body{margin-top:.5rem;padding-left:1rem}.ledger-facet-toggle-all{font-size:.75rem;color:var(--primary-600);background:none;border:none;padding:0;cursor:pointer;margin-bottom:.5rem}.ledger-facet-toggle-all:hover{text-decoration:underline}.ledger-facet-options{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.ledger-facet-option{display:flex;align-items:center;gap:.375rem;cursor:pointer;padding:.25rem 0;font-size:.875rem;color:var(--gray-700);transition:color .2s}.ledger-facet-option:hover{color:var(--primary-600)}.ledger-facet-option input[type=checkbox]{width:1rem;height:1rem;cursor:pointer;accent-color:var(--primary-500)}.ledger-facet-label{-webkit-user-select:none;user-select:none}.ledger-search-filters{padding:.75rem}.ledger-search-row{flex-direction:column;align-items:stretch}.ledger-filter-clear{width:100%}.ledger-facet-filters{flex-direction:column;gap:1rem}.ledger-facet-group{min-width:auto}.ledger-facet-options{gap:.25rem 1rem}.tags-filter-bar{display:flex;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--gray-50);border-radius:8px}.tags-search-input{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.9375rem;background:#fff;transition:border-color .2s,box-shadow .2s}.tags-search-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.tags-search-input::placeholder{color:var(--gray-400)}.tags-sort-select{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;background:#fff;color:var(--gray-700);cursor:pointer;transition:border-color .2s}.tags-sort-select:focus{outline:none;border-color:var(--primary-color)}.tags-sort-select:hover{border-color:var(--gray-400)}.tags-filter-bar{flex-direction:column;gap:.5rem;padding:.625rem}.tags-search-input{width:100%;padding:.625rem .75rem;font-size:1rem}.tags-sort-select{width:100%;padding:.625rem .75rem;font-size:.9375rem}.logic-toggle{display:inline-flex;border:1px solid var(--gray-300);border-radius:var(--radius-md, 6px);overflow:hidden}.logic-btn{padding:.2rem .5rem;font-size:.7rem;border:none;background:var(--gray-50, #f9fafb);color:var(--gray-600, #4b5563);cursor:pointer;transition:all .15s ease}.logic-btn:first-child{border-right:1px solid var(--gray-300)}.logic-btn.active{background:var(--primary-500, #10b981);color:#fff}.logic-btn:hover:not(.active):not(:disabled){background:var(--gray-100, #f3f4f6)}.logic-btn:disabled{opacity:.5;cursor:not-allowed}.budgets-container{padding:0}.budgets-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.budgets-header .header-left{display:flex;align-items:center;gap:.75rem;flex:1}.budgets-header .header-left h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.budgets-header .back-link{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;transition:all .2s}.budgets-header .back-link:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.header-actions{display:flex;gap:.5rem}.budgets-content{padding:1rem}.copy-result{background:#d1fae5;color:var(--success);padding:.75rem 1rem;border-radius:var(--radius-sm);margin-bottom:1rem}.copy-result.empty{background:var(--gray-100);color:var(--gray-600)}.budget-form{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem}.budget-form h3{margin:0;font-size:1.1rem}.budget-form-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.budget-form-header .btn-link{background:none;border:none;color:var(--primary-500);cursor:pointer;font-size:.9rem;padding:0}.budget-form-header .btn-link:hover{text-decoration:underline}.budget-form-advanced .form-section{margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--gray-100)}.form-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.375rem}.budget-form-advanced .form-section:last-of-type{border-bottom:none;padding-bottom:0}.budget-form-advanced .form-section h4{margin:0 0 .75rem;font-size:.95rem;color:var(--gray-600);font-weight:600}.budgets-list{display:flex;flex-direction:column;gap:1.5rem}.budget-section h2{font-size:1.1rem;color:var(--gray-600);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.budget-item{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem;margin-bottom:.75rem}.budget-item:last-child{margin-bottom:0}.budget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.budget-tag{font-weight:600;font-size:1.1rem;color:var(--primary-500);text-decoration:none;padding:2px 6px;margin:-2px -6px;border-radius:var(--radius-sm);transition:background-color .15s ease}.budget-tag:hover{background-color:var(--primary-50);text-decoration:underline}.budget-period{color:var(--gray-500);font-size:.9rem}.budget-progress-container{margin-bottom:.75rem}.budget-progress-bar{height:12px;background:var(--gray-200);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:.5rem}.budget-progress-fill{height:100%;border-radius:var(--radius-sm);transition:width .3s ease}.budget-amounts{display:flex;justify-content:space-between;font-size:.95rem}.budget-amounts.simple{margin-bottom:.75rem;color:var(--gray-500)}.budget-percent{font-weight:600}.budget-actions{display:flex;gap:.5rem;justify-content:flex-end}.budget-actions button{padding:.375rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--gray-50);cursor:pointer;font-size:.85rem;transition:all var(--transition-normal)}.budget-actions button:hover{background:var(--gray-200)}.empty-state{text-align:center;padding:2.5rem;color:var(--gray-500)}.empty-state p{margin:.5rem 0}.budgets-header .header-actions{flex-shrink:0}.budgets-header .header-actions button{padding:.5rem .875rem;font-size:.8125rem}.budget-header{flex-direction:column;align-items:flex-start;gap:.25rem}.diff-modal__title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:600}.diff-modal__icon{font-size:1.25rem}.diff-modal__meta{display:flex;gap:.75rem;font-size:.8125rem;color:var(--gray-500)}.diff-view{display:grid;grid-template-columns:1fr;gap:1.25rem}.diff-column{background:var(--gray-50);border-radius:var(--radius-md);padding:1rem}.diff-column h3{margin:0 0 .75rem;font-size:.875rem;color:var(--gray-500);padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.diff-column.before h3{color:var(--error)}.diff-column.after h3{color:var(--success)}.single-view{background:var(--gray-50);border-radius:var(--radius-md);padding:1rem}.single-view h3{margin:0 0 .75rem;font-size:.875rem;color:var(--gray-500);padding-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.single-view.deleted{background:#fff5f5}.single-view.deleted h3{color:var(--error)}.content-block{display:flex;flex-direction:column;gap:.5rem}.content-block .field{display:flex;gap:.5rem;font-size:.875rem}.content-block .label{color:var(--gray-500);min-width:60px}.content-block .value{color:var(--gray-800)}.lines-section{margin-top:.5rem}.lines-section .label{display:block;font-size:.875rem;color:var(--gray-500);margin-bottom:.5rem}.lines-table{width:100%;border-collapse:collapse;font-size:.8125rem}.lines-table td{padding:.375rem .5rem;border:1px solid var(--gray-200);background:#fff}.lines-table td.amount{text-align:right;white-space:nowrap}.field--changed{background:#0066cc14;border-radius:var(--radius-sm);padding:.25rem .5rem;margin:-.25rem -.5rem}.lines-section--changed .lines-table td{background:#0066cc14}.changed-mark{color:#06c;font-weight:600;margin-left:.375rem;font-size:.75rem}.restore-hint{margin-top:.75rem;padding:.5rem .75rem;background:#fff3cd;border-radius:var(--radius-sm);font-size:.8125rem;color:#856404}.no-data{text-align:center;color:var(--gray-400);padding:2.5rem}.modal__footer--stretch{flex-direction:column}.modal__footer--stretch .btn-secondary{order:2}.modal__footer--stretch .btn-primary{order:1}.activity-logs-container{max-width:900px;margin:0 auto}.activity-logs-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.activity-logs-header .header-left{display:flex;align-items:center;gap:.75rem}.activity-logs-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.activity-logs-header .back-link{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;transition:all .2s}.activity-logs-header .back-link:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.activity-logs-content{padding:.75rem}.filters-section{background:var(--gray-50);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.filter-row{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:.75rem}.filter-row:last-child{margin-bottom:0}.filter-group{display:flex;align-items:center;gap:.5rem}.filter-group label{font-size:.875rem;color:var(--gray-500);min-width:56px;flex-shrink:0}.filter-group input[type=date],.filter-group select{padding:.375rem .625rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem}.filter-group select{min-width:100px}.filter-group-date{width:100%}.filter-group-date .date-inputs{display:flex;flex-direction:row;align-items:center;gap:.375rem;flex-wrap:nowrap;flex:1}.filter-group-date .date-inputs input[type=date]{flex:1;padding:.375rem .5rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;min-width:0}.filter-group-date .date-inputs input[type=date]:focus{outline:none;border-color:var(--primary-500)}.filter-group-date .date-inputs span{color:var(--gray-400);font-size:.875rem;flex-shrink:0}.logs-list{display:flex;flex-direction:column;gap:1.25rem}.date-group{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.date-header{background:var(--gray-50);padding:.75rem 1rem;margin:0;font-size:.875rem;font-weight:600;color:var(--gray-800);border-bottom:1px solid var(--gray-200)}.date-logs{display:flex;flex-direction:column}.log-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;border-bottom:1px solid var(--gray-100)}.log-item:last-child{border-bottom:none}.log-icon{font-size:1rem}.log-time{font-size:.8125rem;color:var(--gray-400);min-width:50px}.log-user{font-size:.875rem;font-weight:500;min-width:70px;color:var(--gray-800)}.log-action{font-size:.875rem;color:var(--gray-500)}.log-entity-name{flex:1;font-size:.875rem;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn-detail{padding:.25rem .75rem;background:var(--gray-100);border:none;border-radius:var(--radius-sm);font-size:.8125rem;color:var(--gray-500);cursor:pointer;transition:background var(--transition-normal)}.btn-detail:hover{background:var(--gray-200)}.loading,.empty-state{text-align:center;padding:3.75rem 1.25rem;color:var(--gray-500)}.empty-state p{margin:0}@media(max-width:768px){.activity-logs-content{padding:.5rem}.filters-section{padding:.625rem;margin-bottom:.75rem}.filter-row{flex-direction:column;gap:.5rem;margin-bottom:.5rem}.filter-group{width:100%;gap:.375rem}.filter-group label{font-size:.75rem;min-width:48px}.filter-group select{flex:1;padding:.3125rem .5rem;font-size:.8125rem}.filter-group-date .date-inputs{display:flex;flex-direction:row;align-items:center;gap:.25rem;flex-wrap:nowrap;flex:1}.filter-group-date .date-inputs input[type=date]{flex:1;min-width:0;padding:.3125rem .25rem;font-size:.75rem}.filter-group-date .date-inputs span{font-size:.75rem}.logs-list{gap:.75rem}.date-header{padding:.5rem .75rem;font-size:.8125rem}.log-item{flex-wrap:wrap;padding:.5rem .75rem;gap:.5rem}.log-icon{font-size:.875rem}.log-time{font-size:.75rem;min-width:44px}.log-user{font-size:.8125rem;min-width:56px}.log-action{font-size:.8125rem}.log-entity-name{flex-basis:100%;order:1;margin-top:.125rem;font-size:.8125rem}.btn-detail{order:2;margin-left:auto;padding:.1875rem .5rem;font-size:.75rem}.loading,.empty-state{padding:2.5rem 1rem}}.search-container{padding:0}.search-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.search-header .header-left{display:flex;align-items:center;gap:.75rem}.search-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.search-header .back-link{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;transition:all .2s}.search-header .back-link:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.search-content{padding:1rem}.search-filters{background:var(--gray-50);border-radius:var(--radius-md);padding:1.25rem;margin-bottom:1.5rem}.filter-section{margin-bottom:1rem}.filter-section:last-of-type{margin-bottom:1.25rem}.filter-label{display:block;font-size:.875rem;font-weight:500;color:var(--gray-700);margin-bottom:.5rem}.filter-label-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.filter-label-row .filter-label{margin-bottom:0}.filter-input{width:100%;padding:.625rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem}.filter-input:focus{outline:none;border-color:var(--primary-500)}.filter-row{display:flex;align-items:center;gap:.75rem}.filter-separator{color:var(--gray-400)}.filter-row input[type=date]{flex:1;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem}.filter-group{flex:1;display:flex;align-items:center;gap:.5rem}.filter-sub-label{font-size:.8125rem;color:var(--gray-500);min-width:30px}.filter-group select{flex:1;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;background:#fff}.amount-input{flex:1;min-width:0;text-align:right}.amount-row{display:flex;align-items:center;gap:.5rem}.amount-row .filter-input{flex:1;min-width:0}.date-row{display:flex;align-items:center;gap:.5rem}.date-row input[type=date]{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem}.tag-select__menu{z-index:100}.mode-switch-link{display:flex;align-items:center;justify-content:center;gap:.5rem;padding-top:1rem;font-size:.875rem;color:var(--gray-500)}.mode-switch-link.mode-switch-top{justify-content:flex-start;padding-top:0;padding-bottom:1rem;margin-bottom:.5rem;border-bottom:1px solid var(--gray-200)}.mode-switch-link button{background:none;border:none;color:var(--primary-600);font-size:.875rem;font-weight:500;cursor:pointer;padding:0;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color var(--transition-normal)}.mode-switch-link button:hover{text-decoration-color:var(--primary-600)}.transaction-type-filters{display:flex;flex-wrap:wrap;gap:.75rem}.type-checkbox{display:flex;align-items:center;gap:.375rem;cursor:pointer;-webkit-user-select:none;user-select:none}.type-checkbox input[type=checkbox]{width:16px;height:16px;margin:0;cursor:pointer;accent-color:var(--primary-500)}.type-label{font-size:.875rem;color:var(--gray-700);padding:.25rem .5rem;border-radius:var(--radius-md);transition:background var(--transition-normal)}.type-label.type-expense{background:#fef3c7;color:#92400e}.type-label.type-income{background:#dcfce7;color:#166534}.type-label.type-transfer{background:#dbeafe;color:#1e40af}.type-label.type-repayment{background:#f3e8ff;color:#6b21a8}.type-checkbox input[type=checkbox]:not(:checked)+.type-label{background:var(--gray-100);color:var(--gray-400)}.select-all-btn{background:none;border:none;color:var(--primary-600);font-size:.75rem;font-weight:500;cursor:pointer;margin-left:.5rem;padding:0}.select-all-btn:hover{text-decoration:underline}.complex-count{font-size:.8125rem;color:var(--gray-400);margin-left:.5rem}.complex-hint{margin-top:.5rem;font-size:.875rem;color:var(--gray-500)}.link-button{background:none;border:none;color:var(--primary-600);font-size:inherit;font-weight:500;cursor:pointer;padding:0 .25rem;text-decoration:underline}.filter-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:.5rem;border-top:1px solid var(--gray-200)}.btn-reset,.btn-search{padding:.625rem 1.5rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal)}.btn-reset{background:#fff;border:1px solid var(--gray-300);color:var(--gray-600)}.btn-reset:hover{background:var(--gray-50)}.btn-search{background:var(--primary-500);border:none;color:#fff}.btn-search:hover{background:var(--primary-600)}.search-results{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);overflow:hidden}.results-placeholder,.results-loading,.results-empty{text-align:center;padding:3.75rem 1.25rem;color:var(--gray-500)}.results-placeholder p,.results-empty p{margin:0}.results-header{padding:.75rem 1rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.results-count{font-size:.875rem;color:var(--gray-500)}.results-list{display:flex;flex-direction:column}.result-item{border-bottom:1px solid var(--gray-100)}.result-item:last-child{border-bottom:none}.result-item.expanded{box-shadow:0 2px 8px #00000014}.result-header{display:flex;align-items:center;padding:.75rem 1rem;gap:.75rem;cursor:pointer;transition:background var(--transition-normal)}.result-header:hover{background:var(--gray-50)}.expand-icon{color:var(--gray-400);font-size:.75rem;width:1rem}.result-date{font-size:.8125rem;color:var(--gray-500);min-width:90px}.result-desc{flex:1;font-size:.875rem;font-weight:500;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-amount{font-size:.875rem;font-weight:600}.result-amount.positive{color:var(--success)}.result-amount.negative{color:var(--error)}.result-detail{padding:0 1rem 1rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.detail-meta{display:flex;gap:1.5rem;padding:.75rem 0;font-size:.875rem}.meta-item{display:flex;gap:.5rem}.meta-label{color:var(--gray-500)}.detail-lines{width:100%;border-collapse:collapse;margin-bottom:.75rem;background:#fff;border-radius:var(--radius-md);overflow:hidden}.detail-lines th,.detail-lines td{padding:.625rem .75rem;text-align:left;font-size:.875rem}.detail-lines th{background:var(--gray-100);color:var(--gray-600);font-weight:500}.detail-lines td{border-bottom:1px solid var(--gray-100)}.detail-lines td.amount{text-align:right;font-family:Courier New,monospace}.account-link{text-decoration:none;color:inherit;transition:all var(--transition-normal)}.account-link:hover{color:var(--primary-600);text-decoration:underline}.account-type{display:inline-flex;align-items:center;gap:.375rem}.account-type:before{content:"";width:8px;height:8px;border-radius:50%}.account-type.asset:before{background:var(--success)}.account-type.liability:before{background:var(--error)}.account-type.equity:before{background:#8b5cf6}.account-type.revenue:before{background:var(--primary-500)}.account-type.expense:before{background:#f59e0b}.detail-tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.tag{background:var(--primary-500);color:#fff;padding:.25rem .625rem;border-radius:999px;font-size:.75rem;font-weight:500}.tag-link{text-decoration:none;cursor:pointer;transition:background var(--transition-normal),transform var(--transition-normal)}.tag-link:hover{background:var(--primary-600);transform:translateY(-1px)}.detail-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-100)}.btn-edit{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);background:#fff;border:1px solid var(--gray-300);color:var(--gray-700)}.btn-edit:hover{background:var(--gray-50);border-color:var(--gray-400)}.btn-delete{padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-normal);background:#fff;border:1px solid var(--red-300, #fca5a5);color:var(--red-600, #dc2626)}.btn-delete:hover{background:var(--red-50, #fef2f2);border-color:var(--red-400, #f87171);color:var(--red-700, #b91c1c)}.results-summary{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;margin-top:1rem;background:var(--gray-100);border-radius:var(--radius-md);font-weight:600}.results-summary.positive{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46}.results-summary.negative{background:linear-gradient(135deg,#fef2f2,#fee2e2);color:#991b1b}.summary-label{font-size:.9375rem}.summary-amount{font-size:1.25rem;font-variant-numeric:tabular-nums}.search-results-with-facets{display:flex;flex-direction:column;gap:1rem}.search-facets{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);padding:1rem}.facet-reset-btn{width:100%;padding:.5rem .75rem;margin-bottom:1rem;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.8125rem;color:var(--gray-600);cursor:pointer;transition:all var(--transition-normal)}.facet-reset-btn:hover{background:var(--gray-200);border-color:var(--gray-400)}.facet-section{margin-bottom:1.25rem}.facet-section:last-child{margin-bottom:0}.facet-title{display:flex;align-items:center;gap:.5rem;width:100%;font-size:.8125rem;font-weight:600;color:var(--gray-600);margin:0;padding:.5rem 0;border:none;border-bottom:1px solid var(--gray-200);background:none;cursor:pointer;text-align:left;transition:color var(--transition-normal)}.facet-title:hover{color:var(--gray-800)}.facet-title-text{flex:1}.facet-title-count{font-size:.75rem;font-weight:500;color:var(--gray-400)}.facet-toggle-icon{width:16px;height:16px;position:relative;flex-shrink:0}.facet-toggle-icon:before{content:"";position:absolute;top:50%;left:50%;width:6px;height:6px;border-right:1.5px solid var(--gray-400);border-bottom:1.5px solid var(--gray-400);transform:translate(-50%,-70%) rotate(45deg);transition:transform var(--transition-normal)}.facet-section.expanded .facet-toggle-icon:before{transform:translate(-50%,-30%) rotate(-135deg)}.facet-section.collapsed .facet-title{margin-bottom:0}.facet-section.expanded .facet-title{margin-bottom:.75rem}.facet-list{display:flex;flex-direction:column;gap:.375rem}.facet-toggle-all{font-size:.75rem;color:var(--primary-600);background:none;border:none;padding:.25rem .5rem;cursor:pointer;text-align:left;margin-bottom:.25rem}.facet-toggle-all:hover{text-decoration:underline}.facet-option{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-normal)}.facet-option:hover{background:var(--gray-50)}.facet-option input[type=checkbox]{width:14px;height:14px;margin:0;cursor:pointer;accent-color:var(--primary-500);flex-shrink:0}.facet-account-name,.facet-tag-name{flex:1;font-size:.8125rem;color:var(--gray-700);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.facet-tag-name{color:var(--primary-600)}.facet-count{font-size:.75rem;color:var(--gray-400);flex-shrink:0}.facet-filter-info{color:var(--gray-400);font-weight:400}.search-filters{padding:1rem}.filter-section{margin-bottom:.875rem}.filter-label{font-size:.8125rem;margin-bottom:.375rem}.filter-row{flex-direction:column;align-items:stretch;gap:.625rem}.filter-group{flex-direction:row}.filter-sub-label{min-width:40px;font-size:.75rem}.filter-row input[type=date]{padding:.5rem;font-size:.8125rem}.filter-actions{gap:.5rem}.btn-reset,.btn-search{padding:.625rem 1rem;font-size:.8125rem}.result-header{flex-wrap:wrap;padding:.625rem .75rem;gap:.5rem}.result-date{min-width:auto;font-size:.75rem}.result-desc{flex-basis:100%;order:1;margin-top:.125rem;font-size:.8125rem}.result-amount{order:0;font-size:.8125rem}.detail-meta{flex-direction:column;gap:.5rem;font-size:.8125rem}.detail-lines th,.detail-lines td{padding:.5rem;font-size:.8125rem}.results-summary{padding:.75rem}.summary-label{font-size:.8125rem}.summary-amount{font-size:1rem}.mode-switch-link{font-size:.8125rem;flex-direction:column;gap:.375rem}.mode-switch-link.mode-switch-top{flex-direction:row}.transaction-type-filters{gap:.5rem}.type-checkbox{gap:.25rem}.type-checkbox input[type=checkbox]{width:14px;height:14px}.type-label{font-size:.8125rem;padding:.125rem .375rem}.complex-count{display:block;margin-left:0;margin-top:.25rem}.results-header{flex-direction:column;align-items:flex-start;gap:.25rem}.initial-balance-modal .account-info{display:flex;align-items:center;gap:8px;margin-bottom:20px;padding:12px;background:var(--gray-50);border-radius:8px}.initial-balance-modal .account-name{font-size:16px;font-weight:600}.initial-balance-modal .account-type{font-size:12px;padding:2px 8px;background:var(--primary-100);color:var(--primary-700);border-radius:4px}.initial-balance-modal .form-group{margin-bottom:16px}.initial-balance-modal .form-group label{display:block;font-size:14px;font-weight:500;color:var(--gray-600);margin-bottom:6px}.initial-balance-modal .form-group input[type=date]{width:100%;padding:10px 12px;border:1px solid var(--gray-300);border-radius:6px;font-size:14px}.initial-balance-modal .amount-input-wrapper{display:flex!important;align-items:center!important;gap:8px!important;position:relative!important}.initial-balance-modal .amount-input-wrapper input{flex:1!important;padding:10px 40px 10px 12px!important;border:1px solid var(--gray-300)!important;border-radius:6px!important;font-size:16px!important;text-align:right!important}.initial-balance-modal .amount-input-wrapper input:focus{outline:none!important;border-color:var(--primary-500)!important}.initial-balance-modal .amount-input-wrapper .currency{position:absolute!important;right:12px!important;top:50%!important;transform:translateY(-50%)!important;font-size:14px!important;color:var(--gray-500)!important;pointer-events:none!important}.initial-balance-modal .help-text{font-size:13px;color:var(--gray-500);margin:0}.bs-container{padding:0}.bs-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.bs-header .back-link{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;transition:all .2s}.bs-header .back-link:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.bs-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.bs-content{padding:.75rem}.bs-filters{display:flex;align-items:flex-end;gap:.75rem;margin-bottom:1rem;padding:1rem;background:var(--gray-50);border-radius:8px}.bs-filter-group{display:flex;flex-direction:column;gap:.25rem}.bs-filter-group label{font-size:.75rem;color:var(--gray-500);font-weight:500}.bs-filters input[type=date]{padding:.625rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.9375rem;background:#fff}.bs-filters input[type=date]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.bs-group-toggle{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#fff;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;color:var(--gray-700);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.bs-group-toggle:hover{background:var(--gray-50);border-color:var(--gray-400)}.bs-group-toggle:has(input:checked){background:#f0f9ff;border-color:var(--primary-color);color:var(--primary-color)}.bs-group-toggle input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:var(--primary-color);cursor:pointer}.bs-tag-filter-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem .875rem;background:#fff;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .2s;white-space:nowrap}.bs-tag-filter-toggle:hover{background:var(--gray-50);border-color:var(--gray-400)}.bs-tag-filter-toggle.active{background:#fef3c7;border-color:#f59e0b;color:#b45309}.bs-tag-filter-toggle .toggle-arrow{font-size:.625rem}.bs-tag-filter-panel{background:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:1rem;margin-bottom:1rem}.bs-tag-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.bs-tag-filter-header span{font-size:.875rem;color:var(--gray-600)}.bs-clear-tags{padding:.25rem .5rem;background:transparent;border:1px solid var(--gray-300);border-radius:4px;font-size:.75rem;color:var(--gray-600);cursor:pointer;transition:all .2s}.bs-clear-tags:hover{background:var(--gray-100);color:var(--gray-800)}.bs-tag-chips{display:flex;flex-wrap:wrap;gap:.5rem}.bs-tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#fff;border:1px solid var(--gray-300);border-radius:9999px;font-size:.875rem;color:var(--gray-700);cursor:pointer;transition:all .2s}.bs-tag-chip:hover{background:var(--gray-50);border-color:var(--gray-400)}.bs-tag-chip.excluded{background:#fee2e2;border-color:#ef4444;color:#dc2626}.bs-tag-chip.excluded:hover{background:#fecaca}.bs-tag-chip .chip-remove{font-weight:600;margin-left:.125rem}.bs-no-tags{font-size:.875rem;color:var(--gray-400)}.bs-date-label{text-align:center;color:var(--gray-600);font-size:.875rem;margin-bottom:1.5rem;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px}.bs-section{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.bs-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--gray-200)}.bs-section-title{margin:0;font-size:1.125rem;color:var(--gray-900)}.bs-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;color:var(--gray-600);font-size:1.25rem;font-weight:300;cursor:pointer;transition:all .2s}.bs-add-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}.bs-section.assets .bs-section-header{border-bottom-color:#10b981}.bs-section.assets .bs-section-title{color:#059669}.bs-section.liabilities .bs-section-header{border-bottom-color:#ef4444}.bs-section.liabilities .bs-section-title{color:#dc2626}.bs-section.equity .bs-section-header{border-bottom-color:#6366f1}.bs-section.equity .bs-section-title{color:#4f46e5}.bs-account-list{list-style:none;margin:0;padding:0}.bs-account-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.bs-account-item:last-child{border-bottom:none}.bs-account-name{color:var(--gray-700);font-size:.9375rem}.bs-account-link{text-decoration:underline dotted;text-underline-offset:2px;transition:color .2s}.bs-account-link:hover{color:var(--primary-color);text-decoration:underline solid}.bs-account-virtual{display:inline-flex;align-items:center;gap:.5rem;color:var(--gray-600)}.bs-account-virtual:before{content:"계산";font-size:.625rem;font-weight:600;padding:.125rem .375rem;background:linear-gradient(135deg,#6366f1,#818cf8);color:#fff;border-radius:4px;letter-spacing:.02em}.bs-account-balance{font-weight:600;font-size:.9375rem;font-variant-numeric:tabular-nums;color:var(--gray-900)}.bs-section-total{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:2px solid var(--gray-200);font-weight:600;font-size:1rem;color:var(--gray-900)}.bs-subtype-group{margin-bottom:1rem}.bs-subtype-group:last-of-type{margin-bottom:0}.bs-subtype-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:var(--gray-50);border-radius:6px;margin-bottom:.25rem}.bs-subtype-label{font-size:.8125rem;font-weight:600;color:var(--gray-600)}.bs-subtype-subtotal{font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--gray-700)}.bs-subtype-group .bs-account-list{padding-left:.5rem;border-left:2px solid var(--gray-200);margin-left:.5rem}.bs-subtype-group .bs-account-item{padding:.5rem 0}.bs-subtype-group .bs-account-name,.bs-subtype-group .bs-account-balance{font-size:.875rem}.bs-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--gray-500);text-align:center;padding:1.5rem 0;font-size:.875rem}.bs-empty-add-btn{padding:.5rem 1rem;border:1px dashed var(--gray-300);border-radius:6px;background:transparent;color:var(--gray-600);font-size:.875rem;cursor:pointer;transition:all .2s}.bs-empty-add-btn:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-700)}.bs-account-info{flex:1;min-width:0}.bs-account-actions{display:flex;align-items:center;gap:.5rem}.bs-menu-wrapper{position:relative}.bs-menu-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--gray-400);font-size:1rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .2s}.bs-menu-btn:hover{background:var(--gray-100);color:var(--gray-600)}.bs-menu-dropdown{position:absolute;top:100%;right:0;z-index:10;min-width:100px;margin-top:4px;padding:4px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #0000001a}.bs-menu-dropdown button{display:block;width:100%;padding:.5rem .75rem;border:none;border-radius:4px;background:transparent;color:var(--gray-700);font-size:.875rem;text-align:left;cursor:pointer;transition:background .2s;white-space:nowrap}.bs-menu-dropdown button:hover{background:var(--gray-100)}.bs-menu-dropdown button.danger{color:#dc2626}.bs-menu-dropdown button.danger:hover{background:#fef2f2}.bs-summary{border-radius:8px;padding:1.5rem;margin-top:1.5rem;color:#fff}.bs-summary.positive{background:linear-gradient(135deg,#10b981,#34d399)}.bs-summary.negative{background:linear-gradient(135deg,#ef4444,#f87171)}.bs-summary-row{display:flex;justify-content:space-between;align-items:center}.bs-summary-row span:first-child{font-weight:500;font-size:1rem}.bs-summary-row span:last-child{font-weight:700;font-size:1.75rem;font-variant-numeric:tabular-nums}.bs-simulation-card{margin-top:1.5rem;background:#fff;border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.bs-simulation-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border:none;background:var(--gray-50);color:var(--gray-600);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.bs-simulation-toggle:hover{background:var(--gray-100);color:var(--gray-700)}.bs-simulation-toggle .toggle-arrow{font-size:.625rem;color:var(--gray-400)}.bs-simulation-content{padding:1.25rem;border-top:1px solid var(--gray-200)}.bs-simulation-tags{margin-bottom:1.25rem}.bs-simulation-tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.bs-simulation-tags-header span{font-size:.875rem;font-weight:500;color:var(--gray-600)}.bs-simulation-clear{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:4px;background:transparent;color:var(--gray-500);font-size:.75rem;cursor:pointer;transition:all .2s}.bs-simulation-clear:hover{background:var(--gray-100);color:var(--gray-700)}.bs-simulation-tag-chips{display:flex;flex-wrap:wrap;gap:.5rem}.bs-simulation-tag-chip{padding:.375rem .75rem;border:1px solid var(--gray-300);border-radius:9999px;background:#fff;color:var(--gray-600);font-size:.875rem;cursor:pointer;transition:all .2s}.bs-simulation-tag-chip:hover{background:var(--gray-50);border-color:var(--gray-400)}.bs-simulation-tag-chip.selected{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.bs-simulation-result{padding:1rem;background:var(--gray-50);border-radius:8px}.bs-simulation-comparison{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.bs-simulation-item{flex:1;text-align:center}.bs-simulation-label{display:block;font-size:.75rem;color:var(--gray-500);margin-bottom:.375rem}.bs-simulation-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.bs-simulation-value.positive{color:#059669}.bs-simulation-value.negative{color:#dc2626}.bs-simulation-arrow{color:var(--gray-400);font-size:1.25rem;flex-shrink:0}.bs-simulation-diff{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px dashed var(--gray-300);font-size:.875rem}.bs-simulation-diff span:first-child{color:var(--gray-600)}.bs-simulation-diff span:last-child{font-weight:600;font-variant-numeric:tabular-nums}.bs-simulation-diff .positive{color:#059669}.bs-simulation-diff .negative{color:#dc2626}.bs-filters{flex-direction:column;align-items:stretch;gap:.5rem;padding:.75rem;margin-bottom:.75rem}.bs-filter-group{width:100%}.bs-filter-group label{font-size:.6875rem}.bs-filters input[type=date]{width:100%;padding:.5rem .625rem;font-size:.875rem}.bs-group-toggle{justify-content:center;padding:.5rem .75rem;font-size:.8125rem}.bs-subtype-header{padding:.375rem .5rem}.bs-subtype-label{font-size:.75rem}.bs-subtype-subtotal{font-size:.8125rem}.bs-subtype-group .bs-account-list{padding-left:.375rem;margin-left:.375rem}.bs-subtype-group .bs-account-name,.bs-subtype-group .bs-account-balance{font-size:.8125rem}.bs-tag-filter-toggle{width:100%;justify-content:center;padding:.5rem .75rem;font-size:.8125rem}.bs-tag-filter-panel{padding:.625rem;margin-bottom:.75rem}.bs-date-label{margin-bottom:.75rem;padding:.5rem;font-size:.8125rem}.bs-section{padding:.75rem;margin-bottom:.75rem}.bs-section-title{margin-bottom:.625rem;padding-bottom:.5rem;font-size:1rem}.bs-account-item{padding:.5rem 0}.bs-account-name,.bs-account-balance{font-size:.8125rem}.bs-section-total{margin-top:.625rem;padding-top:.5rem;font-size:.875rem}.bs-summary{padding:1rem;margin-top:.75rem}.bs-summary-row span:first-child{font-size:.875rem}.bs-summary-row span:last-child{font-size:1.375rem}.bs-simulation-card{margin-top:.75rem}.bs-simulation-toggle{padding:.75rem 1rem;font-size:.8125rem}.bs-simulation-content{padding:1rem}.bs-simulation-tags{margin-bottom:1rem}.bs-simulation-tags-header span{font-size:.8125rem}.bs-simulation-tag-chip{padding:.25rem .625rem;font-size:.8125rem}.bs-simulation-comparison{flex-direction:column;gap:.75rem}.bs-simulation-item{width:100%}.bs-simulation-arrow{transform:rotate(90deg)}.bs-simulation-value{font-size:1.125rem}.bs-simulation-diff{font-size:.8125rem}.is-container{padding:0}.is-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.is-header .back-link{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;transition:all .2s}.is-header .back-link:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.is-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.is-content{padding:.75rem}.is-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;background:var(--gray-50);border-radius:8px}.is-filter-group{display:flex;flex-direction:column;gap:.25rem}.is-filter-group label{font-size:.75rem;font-weight:500;color:var(--gray-500)}.is-date-inputs{display:flex;align-items:center;gap:.5rem}.is-date-inputs span{color:var(--gray-400);font-size:.875rem}.is-date-inputs input[type=date]{flex:1;padding:.625rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.9375rem;background:#fff}.is-date-inputs input[type=date]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #667eea1a}.is-tabs{display:flex;gap:.25rem;margin-bottom:1rem;padding:.25rem;background:var(--gray-100);border-radius:8px}.is-tab{flex:1;padding:.625rem 1rem;border:none;background:transparent;border-radius:6px;font-size:.9375rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .2s}.is-tab:hover:not(.active){color:var(--gray-700)}.is-tab.active{background:#fff;color:var(--gray-900);box-shadow:0 1px 3px #0000001a}.is-tag-filter-toggle{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:transparent;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:all .2s;white-space:nowrap;margin-left:auto}.is-tag-filter-toggle:hover{color:var(--gray-700);background:#ffffff80}.is-tag-filter-toggle.active{background:#fef3c7;color:#b45309}.is-tag-filter-toggle .toggle-arrow{font-size:.625rem}.is-tag-filter-panel{background:#fff;border:1px solid var(--gray-200);border-radius:8px;padding:1rem;margin-bottom:1rem}.is-tag-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.is-tag-filter-header span{font-size:.875rem;color:var(--gray-600)}.is-clear-tags{padding:.25rem .5rem;background:transparent;border:1px solid var(--gray-300);border-radius:4px;font-size:.75rem;color:var(--gray-600);cursor:pointer;transition:all .2s}.is-clear-tags:hover{background:var(--gray-100);color:var(--gray-800)}.is-tag-chips{display:flex;flex-wrap:wrap;gap:.5rem}.is-tag-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.375rem .75rem;background:#fff;border:1px solid var(--gray-300);border-radius:9999px;font-size:.875rem;color:var(--gray-700);cursor:pointer;transition:all .2s}.is-tag-chip:hover{background:var(--gray-50);border-color:var(--gray-400)}.is-tag-chip.excluded{background:#fee2e2;border-color:#ef4444;color:#dc2626}.is-tag-chip.excluded:hover{background:#fecaca}.is-tag-chip .chip-remove{font-weight:600;margin-left:.125rem}.is-no-tags{font-size:.875rem;color:var(--gray-400)}.is-notice{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;margin-bottom:1rem;background:#fef3c7;border:1px solid #fcd34d;border-radius:6px;font-size:.8125rem;color:#92400e;line-height:1.4}.is-notice-icon{flex-shrink:0;font-size:1rem}.is-date-label{text-align:center;color:var(--gray-600);font-size:.875rem;margin-bottom:1.5rem;padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:6px}.is-section{background:#fff;border-radius:8px;padding:1.25rem;margin-bottom:1rem;box-shadow:var(--shadow-sm);border:1px solid var(--gray-100)}.is-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:2px solid var(--gray-200)}.is-section-title{margin:0;font-size:1.125rem;color:var(--gray-900)}.is-add-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--gray-300);border-radius:6px;background:#fff;color:var(--gray-600);font-size:1.25rem;font-weight:300;cursor:pointer;transition:all .2s}.is-add-btn:hover{background:var(--gray-100);border-color:var(--gray-400);color:var(--gray-800)}.is-section.revenues .is-section-header{border-bottom-color:#10b981}.is-section.revenues .is-section-title{color:#059669}.is-section.expenses .is-section-header{border-bottom-color:#ef4444}.is-section.expenses .is-section-title{color:#dc2626}.is-account-list{list-style:none;margin:0;padding:0}.is-account-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--gray-100)}.is-account-item:last-child{border-bottom:none}.is-account-name{color:var(--gray-700);font-size:.9375rem}.is-account-link{text-decoration:underline dotted;text-underline-offset:2px;transition:color .2s}.is-account-link:hover{color:var(--primary-color);text-decoration:underline solid}.is-account-amount{font-weight:600;font-size:.9375rem;font-variant-numeric:tabular-nums;color:var(--gray-900)}.is-section-total{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;padding-top:.75rem;border-top:2px solid var(--gray-200);font-weight:600;font-size:1rem;color:var(--gray-900)}.is-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;color:var(--gray-500);text-align:center;padding:1.5rem 0;font-size:.875rem}.is-empty-add-btn{padding:.5rem 1rem;border:1px dashed var(--gray-300);border-radius:6px;background:transparent;color:var(--gray-600);font-size:.875rem;cursor:pointer;transition:all .2s}.is-empty-add-btn:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-700)}.is-account-info{flex:1;min-width:0}.is-account-actions{display:flex;align-items:center;gap:.5rem}.is-menu-wrapper{position:relative}.is-menu-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:4px;background:transparent;color:var(--gray-400);font-size:1rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all .2s}.is-menu-btn:hover{background:var(--gray-100);color:var(--gray-600)}.is-menu-dropdown{position:absolute;top:100%;right:0;z-index:10;min-width:100px;margin-top:4px;padding:4px;background:#fff;border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #0000001a}.is-menu-dropdown button{display:block;width:100%;padding:.5rem .75rem;border:none;border-radius:4px;background:transparent;color:var(--gray-700);font-size:.875rem;text-align:left;cursor:pointer;transition:background .2s}.is-menu-dropdown button:hover{background:var(--gray-100)}.is-menu-dropdown button.danger{color:#dc2626}.is-menu-dropdown button.danger:hover{background:#fef2f2}.is-tag-name{color:var(--primary-color);font-weight:500}.is-tag-link{text-decoration:underline dotted;text-underline-offset:2px;transition:all .2s}.is-tag-link:hover{text-decoration:underline solid;opacity:.8}.is-untagged .is-account-name{color:var(--gray-400);font-style:italic}.is-summary{border-radius:8px;padding:1.5rem;margin-top:1.5rem;color:#fff}.is-summary.profit{background:linear-gradient(135deg,#10b981,#34d399)}.is-summary.loss{background:linear-gradient(135deg,#ef4444,#f87171)}.is-summary-row{display:flex;justify-content:space-between;align-items:center}.is-summary-row span:first-child{font-weight:500;font-size:1rem}.is-summary-row span:last-child{font-weight:700;font-size:1.75rem;font-variant-numeric:tabular-nums}.onboarding-banner{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:1px solid #7dd3fc;border-radius:12px;padding:1.25rem;margin-bottom:1.5rem}.onboarding-banner-content{display:flex;gap:1rem;margin-bottom:1rem}.onboarding-banner-icon{font-size:2rem;flex-shrink:0}.onboarding-banner-text h3{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:var(--gray-800)}.onboarding-banner-text p{margin:0;font-size:.875rem;line-height:1.6;color:var(--gray-600)}.onboarding-banner-text strong{color:var(--gray-800)}.onboarding-banner-actions{display:flex;justify-content:flex-end;gap:.75rem}.onboarding-banner-actions .btn-sm{padding:.5rem 1rem;font-size:.875rem}.is-simulation-card{margin-top:1.5rem;background:#fff;border:1px solid var(--gray-200);border-radius:8px;overflow:hidden}.is-simulation-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border:none;background:var(--gray-50);color:var(--gray-600);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s}.is-simulation-toggle:hover{background:var(--gray-100);color:var(--gray-700)}.is-simulation-toggle .toggle-arrow{font-size:.625rem;color:var(--gray-400)}.is-simulation-content{padding:1.25rem;border-top:1px solid var(--gray-200)}.is-simulation-tags{margin-bottom:1.25rem}.is-simulation-tags-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.is-simulation-tags-header span{font-size:.875rem;font-weight:500;color:var(--gray-600)}.is-simulation-clear{padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:4px;background:transparent;color:var(--gray-500);font-size:.75rem;cursor:pointer;transition:all .2s}.is-simulation-clear:hover{background:var(--gray-100);color:var(--gray-700)}.is-simulation-tag-chips{display:flex;flex-wrap:wrap;gap:.5rem}.is-simulation-tag-chip{padding:.375rem .75rem;border:1px solid var(--gray-300);border-radius:9999px;background:#fff;color:var(--gray-600);font-size:.875rem;cursor:pointer;transition:all .2s}.is-simulation-tag-chip:hover{background:var(--gray-50);border-color:var(--gray-400)}.is-simulation-tag-chip.selected{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.is-simulation-result{padding:1rem;background:var(--gray-50);border-radius:8px}.is-simulation-comparison{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.is-simulation-item{flex:1;text-align:center}.is-simulation-label{display:block;font-size:.75rem;color:var(--gray-500);margin-bottom:.375rem}.is-simulation-value{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.is-simulation-value.positive{color:#059669}.is-simulation-value.negative{color:#dc2626}.is-simulation-arrow{color:var(--gray-400);font-size:1.25rem;flex-shrink:0}.is-simulation-diff{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;border-top:1px dashed var(--gray-300);font-size:.875rem}.is-simulation-diff span:first-child{color:var(--gray-600)}.is-simulation-diff span:last-child{font-weight:600;font-variant-numeric:tabular-nums}.is-simulation-diff .positive{color:#059669}.is-simulation-diff .negative{color:#dc2626}.is-filters{gap:.5rem;padding:.75rem;margin-bottom:.5rem}.is-filter-group label{font-size:.6875rem}.is-date-inputs input[type=date]{min-width:0;padding:.5rem .375rem;font-size:.8125rem}.is-tabs{margin-bottom:.5rem;padding:.1875rem;flex-wrap:wrap;gap:.25rem}.is-tab{padding:.5rem .75rem;font-size:.875rem;white-space:nowrap}.is-tag-filter-toggle{width:100%;justify-content:center;margin-left:0;margin-top:.25rem;padding:.375rem .625rem;font-size:.75rem;background:#ffffff80}.is-tag-filter-panel{padding:.625rem;margin-bottom:.5rem}.is-notice{font-size:.75rem;padding:.5rem .75rem;margin-bottom:.5rem}.is-date-label{margin-bottom:.75rem;padding:.5rem;font-size:.8125rem}.is-section{padding:.75rem;margin-bottom:.75rem}.is-section-title{margin-bottom:.625rem;padding-bottom:.5rem;font-size:1rem}.is-account-item{padding:.5rem 0}.is-account-name,.is-account-amount{font-size:.8125rem}.is-section-total{margin-top:.625rem;padding-top:.5rem;font-size:.875rem}.is-summary{padding:1rem;margin-top:.75rem}.is-summary-row span:first-child{font-size:.875rem}.is-summary-row span:last-child{font-size:1.375rem}.is-simulation-card{margin-top:.75rem}.is-simulation-toggle{padding:.75rem 1rem;font-size:.8125rem}.is-simulation-content{padding:1rem}.is-simulation-tags{margin-bottom:1rem}.is-simulation-tags-header span{font-size:.8125rem}.is-simulation-tag-chip{padding:.25rem .625rem;font-size:.8125rem}.is-simulation-comparison{flex-direction:column;gap:.75rem}.is-simulation-item{width:100%}.is-simulation-arrow{transform:rotate(90deg)}.is-simulation-value{font-size:1.125rem}.is-simulation-diff{font-size:.8125rem}.settings-container{min-height:100vh;background:var(--gray-100)}.settings-content{padding:1rem;display:flex;flex-direction:column;gap:1.5rem}.settings-section{display:flex;flex-direction:column;gap:.5rem}.settings-section__title{font-size:.8125rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.025em;padding:0 .25rem;margin:0}.settings-card{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.settings-item{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-bottom:1px solid var(--gray-100);gap:1rem}.settings-item:last-child{border-bottom:none}.settings-item__label{font-size:.9375rem;color:var(--gray-800);font-weight:500}.settings-item__value{font-size:.9375rem;color:var(--gray-500);text-align:right;word-break:break-all}.settings-item--link{cursor:pointer;text-decoration:none;transition:background .15s}.settings-item--link:hover{background:var(--gray-50)}.settings-item__arrow{color:var(--gray-400);font-size:.875rem;margin-left:.25rem}.settings-item--sub{padding-left:2rem;background:var(--gray-50)}.settings-item--sub .settings-item__label{font-weight:400;color:var(--gray-600)}.settings-item--sub .settings-item__value{font-size:.8125rem;color:var(--gray-400)}.settings-item__action{padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap}.settings-item__action--primary{background:var(--primary-500);color:#fff;border:none}.settings-item__action--primary:hover{background:var(--primary-600)}.settings-item__action--secondary{background:#fff;color:var(--gray-600);border:1px solid var(--gray-300)}.settings-item__action--secondary:hover{background:var(--gray-50);border-color:var(--gray-400)}.settings-item__action--danger{background:#fff;color:var(--error);border:1px solid #fecaca}.settings-item__action--danger:hover{background:#fef2f2;border-color:#fca5a5}.settings-view-mode{padding:.5rem}.settings-view-mode__option{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:var(--radius-md);cursor:pointer;transition:background .15s;border:none;background:transparent;width:100%;text-align:left}.settings-view-mode__option:hover{background:var(--gray-50)}.settings-view-mode__option.selected{background:var(--primary-50)}.settings-view-mode__option input{display:none}.settings-view-mode__radio{width:20px;height:20px;border:2px solid var(--gray-300);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.settings-view-mode__option.selected .settings-view-mode__radio{border-color:var(--primary-500)}.settings-view-mode__option.selected .settings-view-mode__radio:after{content:"";width:10px;height:10px;background:var(--primary-500);border-radius:50%}.settings-view-mode__content{flex:1}.settings-view-mode__label{font-size:.9375rem;font-weight:500;color:var(--gray-800)}.settings-view-mode__desc{font-size:.8125rem;color:var(--gray-500);margin-top:.125rem}.settings-help{font-size:.8125rem;color:var(--gray-500);padding:.25rem .25rem 0;line-height:1.5}.settings-section--danger .settings-card{border:1px solid #fecaca}.settings-section--danger .settings-section__title{color:var(--error)}.settings-toggle{position:relative;width:48px;height:28px;background:var(--gray-300);border-radius:14px;cursor:pointer;transition:background .2s;border:none;padding:0}.settings-toggle.active{background:var(--primary-500)}.settings-toggle:after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;background:#fff;border-radius:50%;box-shadow:0 1px 3px #0003;transition:transform .2s}.settings-toggle.active:after{transform:translate(20px)}.settings-error{background:#fef2f2;border:1px solid #fecaca;color:var(--error);padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.875rem;margin:0 1rem}.settings-warning{background:#fffbeb;border:1px solid #fcd34d;color:#92400e;padding:.75rem 1rem;border-radius:var(--radius-md);font-size:.8125rem;line-height:1.5}.settings-item__action--kakao{background:#fee500;color:#000;border:none;font-weight:600}.settings-item__action--kakao:hover{background:#f5dc00}.policy-container{min-height:100vh;background:var(--gray-50);padding:1rem}.policy-card{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:800px;margin:0 auto;overflow:hidden}.policy-header{display:flex;align-items:center;gap:.75rem;padding:1rem;border-bottom:1px solid var(--gray-200);background:#fff;position:sticky;top:0;z-index:10}.policy-back{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);border-radius:var(--radius-md);color:var(--gray-600);font-size:.8125rem;font-weight:500;text-decoration:none;transition:all .2s}.policy-back:hover{background:var(--gray-200);color:var(--gray-800);text-decoration:none}.policy-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.policy-content{padding:1.5rem;line-height:1.7;color:var(--gray-700)}.policy-intro{font-size:.9375rem;color:var(--gray-600);margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-200)}.policy-section{margin-bottom:2rem}.policy-section h2{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0 0 .75rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-100)}.policy-section h3{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin:1rem 0 .5rem}.policy-section p{font-size:.9375rem;margin:0 0 .75rem}.policy-section ul{margin:0 0 .75rem;padding-left:1.25rem}.policy-section li{font-size:.9375rem;margin-bottom:.5rem}.policy-section li strong{color:var(--gray-900)}.policy-table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.875rem}.policy-table th,.policy-table td{padding:.75rem;text-align:left;border:1px solid var(--gray-200)}.policy-table th{background:var(--gray-50);font-weight:600;color:var(--gray-700)}.policy-table td{color:var(--gray-600)}.policy-contact{background:var(--gray-50);padding:1rem;border-radius:var(--radius-md);margin-top:.75rem}.policy-contact p{margin:0;font-size:.9375rem}.policy-contact p+p{margin-top:.25rem}.policy-contact a{color:var(--primary-600);font-weight:500}.policy-contact a:hover{text-decoration:underline}.policy-footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--gray-200);text-align:right}.policy-footer p{margin:0;font-size:.875rem;color:var(--gray-500)}.policy-actions{display:flex;justify-content:center;padding:1rem 1.5rem;background:var(--gray-50);border-top:1px solid var(--gray-200)}.policy-actions .btn-secondary{padding:.625rem 1.5rem;background:#fff;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all var(--transition-fast)}.policy-actions .btn-secondary:hover{background:var(--gray-100);border-color:var(--gray-400)}@media(max-width:640px){.policy-container{padding:0}.policy-card{border-radius:0;min-height:100vh}.policy-content{padding:1rem}.policy-section h2{font-size:1rem}.policy-section p,.policy-section li{font-size:.875rem}.policy-table{font-size:.8125rem}.policy-table th,.policy-table td{padding:.5rem}}.template-form{display:flex;flex-direction:column;gap:1rem}.template-form .form-group{display:flex;flex-direction:column;gap:.375rem}.template-form .form-group label{font-size:.8125rem;font-weight:500;color:var(--gray-600)}.template-form .form-group input[type=text],.template-form .form-group input[type=number],.template-form .form-group select{padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;transition:border-color .2s}.template-form .form-group input:focus,.template-form .form-group select:focus{outline:none;border-color:var(--primary-500)}.transaction-type-selector{display:flex;gap:.5rem;flex-wrap:wrap}.type-btn{flex:1;min-width:60px;padding:.5rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;color:var(--gray-600);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.type-btn:hover{border-color:var(--gray-300);background:var(--gray-50)}.type-btn.active{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-600)}.form-row-inline{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.amount-option-cards{display:flex;flex-direction:column;gap:.5rem}.amount-option-card{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;background:#fff}.amount-option-card:hover{border-color:var(--gray-300);background:var(--gray-50)}.amount-option-card.selected{border-color:var(--primary-500);background:var(--primary-50)}.amount-option-card input[type=radio]{margin-top:.125rem;accent-color:var(--primary-500);flex-shrink:0}.amount-option-card .option-content{display:flex;flex-direction:column;gap:.25rem;flex:1;min-width:0}.amount-option-card .option-title{font-size:.875rem;font-weight:600;color:var(--gray-800)}.amount-option-card .option-desc{font-size:.75rem;color:var(--gray-500);line-height:1.4}.amount-option-card.selected .option-title{color:var(--primary-700)}.amount-option-card.selected .option-desc{color:var(--primary-600)}.fixed-amount-input{display:flex;align-items:center;gap:.5rem;margin-top:.5rem}.fixed-amount-input input{flex:1;padding:.5rem .75rem;border:1px solid var(--primary-300);border-radius:var(--radius-sm);font-size:1rem;font-weight:600;text-align:right;background:#fff}.fixed-amount-input input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 2px var(--primary-100)}.fixed-amount-input .currency{font-size:.875rem;color:var(--gray-600);flex-shrink:0}.tag-selector{display:flex;gap:.5rem;flex-wrap:wrap}.tag-btn{padding:.375rem .75rem;border:1px solid var(--gray-200);border-radius:9999px;background:#fff;color:var(--gray-600);font-size:.8125rem;cursor:pointer;transition:all .2s}.tag-btn:hover{border-color:var(--gray-300);background:var(--gray-50)}.tag-btn.selected{border-color:var(--primary-500);background:var(--primary-50);color:var(--primary-600)}.tag-btn.tag-more-btn{border-style:dashed;color:var(--gray-500)}.tag-btn.tag-more-btn:hover{border-color:var(--primary-400);color:var(--primary-600);background:var(--primary-50)}.form-actions{display:flex;gap:.5rem;margin-top:.5rem}.form-actions .btn-save{flex:1;padding:.75rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;cursor:pointer;transition:background .2s}.form-actions .btn-save:hover{background:var(--primary-600)}.form-actions .btn-cancel{padding:.75rem 1.25rem;background:#fff;color:var(--gray-600);border:2px solid var(--gray-300);border-radius:var(--radius-md);font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s}.form-actions .btn-cancel:hover{background:var(--gray-50);border-color:var(--gray-400)}.template-item{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:.75rem;padding:.875rem 1rem;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:.5rem}.template-item.has-warning{background:#fffbeb;border:1px solid #fde68a}.drag-handle{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;width:44px;height:44px;margin:-.5rem;margin-right:0;color:var(--gray-400);cursor:grab;-webkit-user-select:none;user-select:none;transition:all .2s;border-radius:var(--radius-md);-webkit-tap-highlight-color:transparent;touch-action:none}.drag-icon{font-size:1.5rem;line-height:1}.drag-handle:hover{color:var(--gray-600);background:var(--gray-100)}.drag-handle:active,.template-item.dragging .drag-handle{cursor:grabbing;color:var(--primary-500);background:var(--primary-50)}.template-item.dragging{background:#fff;border-radius:var(--radius-md)}.template-info{display:flex;flex-direction:column;gap:.25rem;min-width:0}.template-name{font-weight:600;color:var(--gray-800);font-size:.9375rem;display:flex;align-items:center;gap:.375rem}.warning-badge{font-size:.75rem;cursor:help}.template-pattern{font-size:.8125rem;color:var(--gray-500)}.template-tags{font-size:.75rem;color:var(--primary-500)}.template-amount{font-size:.75rem;color:var(--gray-500);background:var(--gray-100);padding:.125rem .5rem;border-radius:var(--radius-sm);display:inline-block;margin-top:.25rem}.template-meta{text-align:right}.use-count{font-size:.75rem;color:var(--gray-400);white-space:nowrap}@media(max-width:640px){.form-row-inline{grid-template-columns:1fr}.transaction-type-selector{display:grid;grid-template-columns:repeat(2,1fr)}.type-btn{min-width:auto}.template-item{grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:.5rem .75rem}.template-item .drag-handle{grid-row:span 2;align-self:center}.template-item .template-info{grid-column:2}.template-item .template-meta{display:none}.template-item .item-actions{grid-column:2;justify-self:start}.form-actions{flex-direction:column}.form-actions .btn-cancel{order:1}.form-actions .btn-save{order:0}}.insight-settings-container{padding:0}.insight-settings-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.insight-settings-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.insight-settings-content{padding:1rem}.insight-anonymous-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center}.insight-anonymous-notice p{margin:0;font-size:.9375rem;font-weight:500;color:var(--gray-700)}.insight-anonymous-notice p.sub{font-size:.8125rem;font-weight:400;color:var(--gray-500)}.settings-section{background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);padding:1rem;margin-bottom:1rem}.settings-section-title{font-size:.9375rem;font-weight:600;color:var(--gray-800);margin:0 0 .75rem}.gmail-status{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.gmail-status-info{font-size:.875rem;color:var(--gray-600)}.gmail-status-connected{color:var(--green-600, #16a34a);font-weight:500}.gmail-connect-btn,.gmail-disconnect-btn{padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.8125rem;cursor:pointer;border:1px solid var(--gray-300);background:#fff}.gmail-connect-btn{background:var(--primary-500);color:#fff;border:none}.gmail-disconnect-btn{color:var(--red-600, #dc2626);border-color:var(--red-300, #fca5a5)}.gmail-disconnect-btn:hover{background:var(--red-50, #fef2f2)}.source-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.source-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--gray-100)}.source-item:last-child{border-bottom:none}.source-info{flex:1}.source-name{font-size:.875rem;font-weight:500;color:var(--gray-800)}.source-email{font-size:.75rem;color:var(--gray-500)}.source-delete-btn{padding:.25rem .5rem;border:none;background:none;color:var(--gray-400);cursor:pointer;font-size:.75rem}.source-delete-btn:hover{color:var(--red-500, #ef4444)}.add-source-form{display:flex;flex-direction:column;gap:.5rem}.add-source-row{display:flex;flex-wrap:wrap;gap:.5rem}.add-source-input{flex:1;min-width:0;padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem}.add-source-input:focus{outline:none;border-color:var(--primary-500)}.add-source-btn{width:100%;padding:.5rem .75rem;background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.8125rem;cursor:pointer;white-space:nowrap}.add-source-btn:hover{background:var(--gray-200)}.source-presets{display:flex;flex-wrap:wrap;gap:.375rem;margin-top:.5rem}.preset-btn{padding:.25rem .625rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:9999px;font-size:.75rem;color:var(--gray-600);cursor:pointer}.preset-btn:hover{background:var(--gray-100)}.profile-form{display:flex;flex-direction:column;gap:.75rem}.profile-field{display:flex;flex-direction:column;gap:.25rem}.profile-field label{font-size:.8125rem;font-weight:500;color:var(--gray-600)}.profile-field input,.profile-field select{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.875rem;background:#fff}.profile-field input:focus,.profile-field select:focus{outline:none;border-color:var(--primary-500)}.profile-save-btn{padding:.5rem 1rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;align-self:flex-end}.profile-save-btn:disabled{opacity:.5;cursor:not-allowed}.profile-save-success{font-size:.8125rem;color:var(--green-600, #16a34a);text-align:right}.facts-container{padding:0}.facts-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.facts-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.facts-content{padding:1rem}.facts-anonymous-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center}.facts-anonymous-notice p{margin:0;font-size:.9375rem;font-weight:500;color:var(--gray-700)}.facts-anonymous-notice p.sub{font-size:.8125rem;font-weight:400;color:var(--gray-500)}.link-account-btn{margin-top:.5rem;padding:.625rem 1.25rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.fact-card{padding:.75rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);margin-bottom:.5rem}.fact-card.is-new{border-left:3px solid var(--primary-500)}.fact-card-header{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.375rem}.fact-card-topic{flex:1;font-size:.9375rem;font-weight:600;color:var(--gray-800);margin:0}.new-badge{flex-shrink:0;display:inline-flex;padding:.0625rem .375rem;background:var(--primary-100, #fef3c7);color:var(--primary-700, #c17f59);border-radius:9999px;font-size:.625rem;font-weight:600}.fact-card-meta{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem;flex-wrap:wrap}.fact-type-badge{display:inline-flex;padding:.125rem .5rem;background:var(--gray-100);color:var(--gray-600);border-radius:9999px;font-size:.6875rem;font-weight:500}.fact-source-name{font-size:.6875rem;color:var(--gray-500)}.fact-date{font-size:.6875rem;color:var(--gray-400)}.fact-card-summary{font-size:.8125rem;color:var(--gray-600);line-height:1.5;margin:0}.fact-card-conditions{margin-top:.375rem;font-size:.75rem;color:var(--gray-500)}.fact-card-urgency{margin-top:.25rem;font-size:.75rem;color:var(--orange-600, #ea580c);font-weight:500}.fact-card-expires{margin-top:.25rem;font-size:.75rem;color:var(--red-600, #dc2626);font-weight:500}.facts-date-group{margin-bottom:1rem}.facts-date-label{font-size:.8125rem;font-weight:600;color:var(--gray-500);margin:0 0 .5rem}.facts-empty{text-align:center;padding:2rem 1rem;color:var(--gray-500);font-size:.875rem}.dashboards-container{min-height:100vh;background:var(--gray-100)}.dashboards-header{background:#fff;color:var(--gray-800);padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid var(--gray-200)}.dashboards-header .header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dashboards-header .back-link{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.dashboards-header .back-link:hover{background:var(--gray-200);color:var(--gray-800)}.dashboards-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.dashboards-header .btn-add{background:var(--primary-500);color:#fff;border:none;padding:.5rem .875rem;border-radius:var(--radius-md);font-weight:500;font-size:.8125rem;cursor:pointer;transition:all .2s;white-space:nowrap}.dashboards-header .btn-add:hover{background:var(--primary-600)}.dashboard-form{background:#fff;padding:1rem;margin:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.dashboard-form h2{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-800)}.dashboard-form .form-group{margin-bottom:1rem}.dashboard-form label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--gray-600)}.dashboard-form input{width:100%;padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;background:#fff}.dashboard-form input:focus{outline:none;border-color:var(--primary-500)}.dashboard-form .error-message{color:var(--error);font-size:.8125rem;margin-bottom:1rem}.dashboard-form .form-actions{display:flex;justify-content:flex-end;gap:.5rem}.dashboard-form .form-actions button{padding:.625rem 1rem;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;white-space:nowrap}.dashboard-form .form-actions button[type=button]{background:#fff;color:var(--gray-600);border:2px solid var(--gray-300)}.dashboard-form .form-actions button[type=button]:hover{background:var(--gray-50)}.dashboard-form .form-actions .btn-primary{background:var(--primary-500);color:#fff;border:none}.dashboard-form .form-actions .btn-primary:hover{background:var(--primary-600)}.dashboard-form .form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.loading{text-align:center;padding:3rem 1rem;color:var(--gray-400);font-size:.875rem}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--gray-500)}.empty-state p:first-child{font-size:1rem;font-weight:500;margin-bottom:.375rem}.empty-state p:last-child{font-size:.8125rem;color:var(--gray-400)}.dashboards-list{padding:1rem;display:flex;flex-direction:column;gap:.5rem}.dashboard-item{display:flex;align-items:center;background:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.dashboard-item .dashboard-info{flex:1;padding:.875rem 1rem;text-decoration:none;color:inherit;transition:background .2s}.dashboard-item .dashboard-info:hover{background:var(--gray-50)}.dashboard-item .dashboard-name{font-weight:500;font-size:.9375rem;color:var(--gray-800);display:flex;align-items:center;gap:.5rem}.dashboard-item .default-badge{background:var(--primary-500);color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .375rem;border-radius:4px}.dashboard-item .dashboard-description{color:var(--gray-500);font-size:.8125rem;margin-top:.25rem}.dashboard-item .dashboard-meta{color:var(--gray-400);font-size:.75rem;margin-top:.375rem}.dashboard-item .dashboard-actions{padding:.875rem 1rem;border-left:1px solid var(--gray-100)}.dashboard-item .btn-delete{background:#fff;border:1px solid var(--error);color:var(--error);padding:.375rem .625rem;border-radius:var(--radius-sm);cursor:pointer;font-size:.75rem;transition:all .2s}.dashboard-item .btn-delete:hover{background:var(--error);color:#fff}.formula-builder{display:flex;flex-direction:column;gap:.75rem}.formula-display{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem;min-height:3rem;padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;cursor:text;transition:border-color .2s}.formula-display:focus-within{border-color:var(--primary-500)}.formula-display.empty{color:var(--gray-400);font-size:.875rem}.formula-token{display:inline-flex;align-items:center;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.875rem;white-space:nowrap}.formula-token.widget{background:var(--primary-50);border:1px solid var(--primary-200);color:var(--primary-700);font-weight:500}.formula-token.operator{background:var(--gray-100);color:var(--gray-700);font-weight:600;padding:.25rem .375rem}.formula-token.number{background:var(--gray-50);color:var(--gray-700);font-family:monospace}.formula-token.paren{background:transparent;color:var(--gray-500);font-weight:600;padding:.25rem .125rem}.formula-token .delete-btn{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;margin-left:.25rem;background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:.75rem;line-height:1;padding:0;border-radius:50%}.formula-token .delete-btn:hover{background:var(--gray-200);color:var(--gray-600)}.formula-token.widget .delete-btn:hover{background:var(--primary-100);color:var(--primary-600)}.formula-clear-btn{margin-left:auto;padding:.25rem .5rem;background:none;border:none;color:var(--gray-400);cursor:pointer;font-size:.75rem;border-radius:var(--radius-sm)}.formula-clear-btn:hover{background:var(--gray-100);color:var(--gray-600)}.formula-number-input{width:4rem;padding:.25rem .375rem;border:1px solid var(--gray-300);border-radius:var(--radius-sm);font-size:.875rem;font-family:monospace;text-align:center}.formula-number-input:focus{outline:none;border-color:var(--primary-500)}.formula-section-label{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-top:.25rem}.formula-section-label:before,.formula-section-label:after{content:"";flex:1;height:1px;background:var(--gray-200)}.formula-widgets{display:flex;flex-wrap:wrap;gap:.5rem}.formula-widget-chip{display:flex;flex-direction:column;align-items:flex-start;padding:.5rem .75rem;background:var(--gray-50);border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;min-width:100px}.formula-widget-chip:hover{background:var(--primary-50);border-color:var(--primary-300)}.formula-widget-chip:active{transform:scale(.98)}.formula-widget-chip .chip-name{font-size:.875rem;font-weight:500;color:var(--gray-700)}.formula-widget-chip .chip-value{font-size:.75rem;color:var(--gray-500);margin-top:.125rem}.formula-widget-chip .chip-value.error{color:var(--error)}.formula-operators{display:flex;gap:.375rem}.formula-operator-btn{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);cursor:pointer;font-size:1.125rem;font-weight:600;color:var(--gray-600);transition:all .2s}.formula-operator-btn:hover{background:var(--gray-50);border-color:var(--gray-300)}.formula-operator-btn:active{transform:scale(.95)}.formula-operator-btn.number-btn{font-size:.875rem;width:auto;padding:0 .75rem}.formula-empty-widgets{text-align:center;padding:1rem;color:var(--gray-400);font-size:.875rem;background:var(--gray-50);border-radius:var(--radius-md);border:1px dashed var(--gray-300)}.formula-error{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:var(--error-bg, #fef2f2);border-radius:var(--radius-sm);color:var(--error);font-size:.8125rem}@media(max-width:600px){.formula-widget-chip{flex:1;min-width:calc(50% - .25rem)}.formula-operator-btn{width:2.25rem;height:2.25rem;font-size:1rem}}.dashboard-detail{min-height:100vh;background:var(--gray-100)}.dashboard-detail.loading,.dashboard-detail.not-found{text-align:center;padding:3rem 1rem;color:var(--gray-400)}.dashboard-detail.not-found button{margin-top:1rem;padding:.5rem 1rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500}.dashboard-detail.not-found button:hover{background:var(--primary-600)}.dashboard-detail-header{background:#fff;color:var(--gray-800);padding:1rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem;border-bottom:1px solid var(--gray-200)}.dashboard-detail-header .header-left{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.dashboard-detail-header .back-link{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.dashboard-detail-header .back-link:hover{background:var(--gray-200);color:var(--gray-800)}.dashboard-detail-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800);cursor:pointer;transition:color .2s}.dashboard-detail-header h1:hover{color:var(--primary-500)}.dashboard-detail-header .name-edit{display:flex;gap:.5rem;align-items:center}.dashboard-detail-header .name-edit input{font-size:1.125rem;font-weight:600;padding:.375rem .625rem;border:2px solid var(--primary-500);border-radius:var(--radius-md);width:200px}.dashboard-detail-header .name-edit input:focus{outline:none}.dashboard-detail-header .name-edit button{padding:.375rem .75rem;border-radius:var(--radius-md);cursor:pointer;font-size:.8125rem;font-weight:500;background:var(--primary-500);color:#fff;border:none}.dashboard-detail-header .name-edit button:hover{background:var(--primary-600)}.dashboard-detail-header .name-edit button:last-child{background:#fff;border:2px solid var(--gray-300);color:var(--gray-600)}.dashboard-detail-header .name-edit button:last-child:hover{background:var(--gray-50)}.dashboard-detail-header .btn-add{background:var(--primary-500);color:#fff;border:none;padding:.5rem .875rem;border-radius:var(--radius-md);font-weight:500;font-size:.8125rem;cursor:pointer;transition:all .2s;white-space:nowrap}.dashboard-detail-header .btn-add:hover{background:var(--primary-600)}.dashboard-description{color:var(--gray-500);margin:0;padding:.75rem 1rem;font-size:.875rem;background:#fff;border-bottom:1px solid var(--gray-200)}.evaluation-period{font-size:.8125rem;color:var(--gray-500);margin:1rem;padding:.625rem .875rem;background:#fff;border-radius:var(--radius-md);display:inline-block;box-shadow:var(--shadow-sm)}.widget-form{background:#fff;padding:1rem;margin:1rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.widget-form h2{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-800)}.widget-form .form-group{margin-bottom:1rem}.widget-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.widget-form label{display:block;margin-bottom:.375rem;font-size:.875rem;font-weight:500;color:var(--gray-600)}.widget-form input,.widget-form select,.widget-form textarea{width:100%;padding:.625rem .75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-size:.9375rem;background:#fff}.widget-form input:focus,.widget-form select:focus,.widget-form textarea:focus{outline:none;border-color:var(--primary-500)}.widget-form select[multiple]{height:auto}.widget-form .checkbox-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem;border:2px solid var(--gray-200);border-radius:var(--radius-md);background:#fff;max-height:200px;overflow-y:auto}.widget-form .checkbox-item{display:flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--gray-50);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;font-size:.875rem;-webkit-user-select:none;user-select:none}.widget-form .checkbox-item:hover{background:var(--gray-100)}.widget-form .checkbox-item:has(input:checked){background:var(--primary-50);border:1px solid var(--primary-200)}.widget-form .checkbox-item input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--primary-500);cursor:pointer}.widget-form small{display:block;margin-top:.25rem;color:var(--gray-400);font-size:.75rem}.widget-form textarea{resize:vertical}.widget-form .error-message{color:var(--error);font-size:.8125rem;margin-bottom:1rem}.widget-form .form-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.widget-form .form-actions button{padding:.625rem 1rem;border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500}.widget-form .form-actions button[type=button]{background:#fff;color:var(--gray-600);border:2px solid var(--gray-300)}.widget-form .form-actions button[type=button]:hover{background:var(--gray-50)}.widget-form .form-actions .btn-primary{background:var(--primary-500);color:#fff;border:none}.widget-form .form-actions .btn-primary:hover{background:var(--primary-600)}.widget-form .form-actions .btn-primary:disabled{opacity:.6;cursor:not-allowed}.empty-widgets{text-align:center;padding:3rem 1.5rem;color:var(--gray-500);background:#fff;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);margin:1rem}.empty-widgets p:first-child{font-size:1rem;font-weight:500;margin-bottom:.375rem}.empty-widgets p:last-child{font-size:.8125rem;color:var(--gray-400)}.widgets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem;padding:1rem}.widget-card{background:#fff;border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:var(--shadow-sm)}.widget-card.widget-aggregation{border-left:4px solid var(--primary-500)}.widget-card.widget-formula{border-left:4px solid var(--warning)}.widget-card.widget-text{border-left:4px solid var(--gray-400)}.widget-header{display:flex;justify-content:space-between;align-items:flex-start}.widget-name{font-weight:600;font-size:.9375rem;color:var(--gray-800)}.widget-actions{display:flex;gap:.25rem}.widget-actions button{padding:.25rem .5rem;background:none;border:none;color:var(--gray-400);font-size:.75rem;cursor:pointer;border-radius:var(--radius-sm);transition:all .2s}.widget-actions button:hover{background:var(--gray-100);color:var(--gray-600)}.widget-value{font-size:1.5rem;font-weight:700;color:var(--gray-800);padding:.5rem 0}.widget-value .widget-error{font-size:.875rem;color:var(--error);font-weight:500}.widget-value .widget-null{color:var(--gray-400)}.widget-description{font-size:.75rem;color:var(--gray-400);line-height:1.4}@media(max-width:600px){.widget-form .form-row,.widgets-grid{grid-template-columns:1fr}}.goals-container{padding:0}.goals-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.goals-header .back-link{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.goals-header .back-link:hover{background:var(--gray-200);color:var(--gray-800)}.goals-header .header-left{display:flex;align-items:center;gap:.75rem;flex:1}.goals-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.goals-header .header-actions{display:flex;gap:.5rem}.goals-header .settings-link,.goals-header .add-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-600);text-decoration:none;cursor:pointer;transition:all .2s}.goals-header .settings-link:hover,.goals-header .add-btn:hover{background:var(--gray-200);color:var(--gray-800)}.goals-header .settings-link svg,.goals-header .add-btn svg{width:1.125rem;height:1.125rem}.goals-filter{display:flex;gap:.5rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--gray-100)}.filter-btn{padding:.375rem .75rem;background:var(--gray-100);border:none;border-radius:9999px;font-size:.8125rem;color:var(--gray-600);cursor:pointer;transition:all .2s}.filter-btn:hover{background:var(--gray-200)}.filter-btn.active{background:var(--primary-500);color:#fff}.goals-content{padding:1rem 1rem 5rem}.goals-loading{text-align:center;padding:2rem;color:var(--gray-500)}.goals-empty{text-align:center;padding:2rem 1rem}.goals-empty p{margin:0 0 .5rem;font-size:.9375rem;color:var(--gray-600)}.goals-empty p.sub{font-size:.8125rem;color:var(--gray-500);margin-bottom:1rem}.goals-anonymous-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center}.goals-anonymous-notice p{margin:0;font-size:.9375rem;font-weight:500;color:var(--gray-700)}.goals-anonymous-notice p.sub{font-size:.8125rem;font-weight:400;color:var(--gray-500)}.goals-list{display:flex;flex-direction:column;gap:.75rem}.goal-card{padding:1rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.goal-card.COMPLETED{background:var(--green-50, #f0fdf4);border-color:var(--green-200, #bbf7d0)}.goal-card.CANCELLED{opacity:.6}.goal-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.goal-category{display:inline-flex;align-items:center;padding:.125rem .5rem;background:var(--gray-100);color:var(--gray-600);border-radius:9999px;font-size:.6875rem;font-weight:500}.goal-category.WEDDING{background:#fce7f3;color:#9d174d}.goal-category.HOUSING{background:#ffedd5;color:#9a3412}.goal-category.EMERGENCY_FUND{background:#d1fae5;color:#065f46}.goal-category.EDUCATION{background:#dbeafe;color:#1e40af}.goal-category.RETIREMENT{background:#ede9fe;color:#5b21b6}.goal-category.TRAVEL{background:#cffafe;color:#0e7490}.goal-category.VEHICLE{background:#fef3c7;color:#92400e}.goal-category.DEBT_REPAYMENT{background:#fee2e2;color:#b91c1c}.goal-category.INVESTMENT{background:#e0e7ff;color:#4338ca}.goal-status{font-size:.6875rem;font-weight:500;color:var(--gray-500)}.goal-status.COMPLETED{color:var(--green-600, #16a34a)}.goal-status.CANCELLED{color:var(--gray-400)}.goal-name{margin:0 0 .75rem;font-size:1rem;font-weight:600;color:var(--gray-800)}.goal-progress-container{margin-bottom:.75rem}.goal-amounts{display:flex;align-items:baseline;gap:.25rem;margin-bottom:.375rem}.goal-amounts .current{font-size:1rem;font-weight:600;color:var(--primary-600)}.goal-amounts .target{font-size:.8125rem;color:var(--gray-500)}.goal-progress-bar{height:.5rem;background:var(--gray-200);border-radius:9999px;overflow:hidden;margin-bottom:.25rem}.goal-progress-fill{height:100%;background:var(--primary-500);border-radius:9999px;transition:width .3s ease}.goal-progress-text{font-size:.75rem;color:var(--gray-500);text-align:right}.goal-date,.goal-linked-account{font-size:.75rem;color:var(--gray-500);margin-bottom:.25rem}.goal-reasoning{margin-top:.75rem;padding:.75rem;background:var(--blue-50, #eff6ff);border-radius:var(--radius-md);border-left:3px solid var(--blue-400, #60a5fa)}.goal-reasoning .reasoning-label{display:block;font-size:.6875rem;font-weight:600;color:var(--blue-600, #2563eb);text-transform:uppercase;letter-spacing:.025em;margin-bottom:.375rem}.goal-reasoning .reasoning-text{margin:0;font-size:.8125rem;line-height:1.5;color:var(--gray-700)}.goal-actions{display:flex;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--gray-100)}.action-btn{padding:.375rem .75rem;background:var(--gray-100);border:none;border-radius:var(--radius-md);font-size:.75rem;color:var(--gray-600);cursor:pointer;transition:all .2s}.action-btn.sync{background:var(--blue-50, #eff6ff);color:var(--blue-600, #2563eb)}.action-btn.sync:hover{background:var(--blue-100, #dbeafe)}.action-btn.achieve{background:var(--green-50, #f0fdf4);color:var(--green-600, #16a34a)}.action-btn.achieve:hover{background:var(--green-100, #dcfce7)}.goals-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.goals-modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto;padding:1.5rem}.goals-modal-content h2{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.form-group input,.form-group select{width:100%;padding:.625rem .75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;color:var(--gray-800)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary-500);background:#fff}.events-container{padding:0}.events-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.events-header .back-link{display:inline-flex;align-items:center;justify-content:center;padding:.375rem .625rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.events-header .back-link:hover{background:var(--gray-200);color:var(--gray-800)}.events-header .header-left{display:flex;align-items:center;gap:.75rem;flex:1}.events-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.events-header .header-actions{display:flex;gap:.5rem}.events-header .add-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--gray-100);border:none;border-radius:var(--radius-md);color:var(--gray-600);cursor:pointer;transition:all .2s}.events-header .add-btn:hover{background:var(--gray-200);color:var(--gray-800)}.events-header .add-btn svg{width:1.125rem;height:1.125rem}.events-info{padding:1rem;background:var(--blue-50, #eff6ff);border-bottom:1px solid var(--blue-100, #dbeafe)}.events-info p{margin:0;font-size:.8125rem;color:var(--blue-700, #1d4ed8);line-height:1.5}.events-content{padding:1rem 1rem 5rem}.events-loading{text-align:center;padding:2rem;color:var(--gray-500)}.events-empty{text-align:center;padding:2rem 1rem}.events-empty p{margin:0 0 1rem;font-size:.9375rem;color:var(--gray-600)}.primary-btn{padding:.625rem 1.25rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s}.primary-btn:hover{opacity:.9}.events-anonymous-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center}.events-anonymous-notice p{margin:0;font-size:.9375rem;font-weight:500;color:var(--gray-700)}.events-anonymous-notice p.sub{font-size:.8125rem;font-weight:400;color:var(--gray-500)}.link-account-btn{margin-top:.5rem;padding:.625rem 1.25rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer}.link-account-btn:hover{opacity:.9}.events-list{display:flex;flex-direction:column;gap:.75rem}.event-card{padding:1rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.event-main{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.75rem}.event-description{flex:1;margin:0;font-size:.9375rem;font-weight:500;color:var(--gray-800);line-height:1.4}.event-date{flex-shrink:0;font-size:.75rem;color:var(--gray-500);background:var(--gray-100);padding:.25rem .5rem;border-radius:var(--radius-sm)}.event-actions{display:flex;gap:.5rem;flex-wrap:wrap}.action-btn{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background:var(--gray-100);border:none;border-radius:var(--radius-md);font-size:.75rem;color:var(--gray-600);cursor:pointer;transition:all .2s}.action-btn:hover{background:var(--gray-200)}.action-btn:disabled{opacity:.5;cursor:not-allowed}.action-btn svg{width:.875rem;height:.875rem}.action-btn.generate{background:var(--primary-50, #eff6ff);color:var(--primary-600)}.action-btn.generate:hover:not(:disabled){background:var(--primary-100, #dbeafe)}.action-btn.delete{color:var(--red-500, #ef4444)}.action-btn.delete:hover{background:var(--red-50, #fef2f2)}.spinner{display:inline-block;width:.75rem;height:.75rem;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.events-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.events-modal-content{background:#fff;border-radius:var(--radius-lg);width:100%;max-width:400px;max-height:90vh;overflow-y:auto;padding:1.5rem}.events-modal-content h2{margin:0 0 1rem;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:500;color:var(--gray-700)}.form-group input,.form-group textarea{width:100%;padding:.625rem .75rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.875rem;color:var(--gray-800);font-family:inherit;resize:vertical}.form-group textarea{min-height:80px}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);background:#fff}.form-hint{margin:.375rem 0 0;font-size:.75rem;color:var(--gray-500)}.form-actions{display:flex;gap:.5rem;margin-top:1.5rem}.cancel-btn{flex:1;padding:.625rem 1rem;background:var(--gray-100);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:var(--gray-600);cursor:pointer}.cancel-btn:hover{background:var(--gray-200)}.submit-btn{flex:1;padding:.625rem 1rem;background:var(--primary-500);border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;color:#fff;cursor:pointer}.submit-btn:hover{opacity:.9}.submit-btn:disabled{opacity:.5;cursor:not-allowed}.session-filter-tabs{display:flex;gap:.25rem;padding:.5rem 1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.filter-tab{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:var(--gray-100);color:var(--gray-600);border:none;border-radius:var(--radius-full, 9999px);font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s}.filter-tab:hover{background:var(--gray-200)}.filter-tab.active{background:var(--primary-500);color:#fff}.filter-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.125rem;height:1.125rem;padding:0 .25rem;background:#fff;color:var(--primary-500);border-radius:9999px;font-size:.6875rem;font-weight:600;line-height:1}.filter-tab.active .filter-tab-badge{background:#fff;color:var(--primary-500)}.ai-session-card{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:#fff;border-bottom:1px solid var(--gray-100);text-decoration:none;color:inherit;transition:background .2s}.ai-session-card:hover{background:var(--gray-50)}.ai-session-card.unread{background:var(--primary-50)}.ai-session-card-icon{flex-shrink:0;font-size:1.25rem;line-height:1;margin-top:.125rem}.ai-session-card-content{flex:1;min-width:0}.ai-session-card-title{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:500;color:var(--gray-800);margin-bottom:.375rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-badge{flex-shrink:0;display:inline-flex;align-items:center;padding:.125rem .375rem;background:var(--primary-500);color:#fff;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700;letter-spacing:.025em}.ai-session-card-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--gray-500)}.category-badge-sm{padding:.125rem .5rem;background:var(--gray-100);color:var(--gray-600);border-radius:var(--radius-sm);font-size:.6875rem;font-weight:500}.relevance-score{color:var(--primary-500);font-weight:500}.message-count,.session-time{color:var(--gray-400)}.ai-page{display:flex;flex-direction:column;min-height:100vh;background:var(--gray-50);padding-bottom:calc(var(--bottom-nav-height, 60px) + env(safe-area-inset-bottom,0px))}.ai-page-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0}.ai-page-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.ai-page-header .header-actions{display:flex;align-items:center;gap:.375rem}.header-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;color:var(--gray-500);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-decoration:none}.header-icon-btn:hover{background:var(--gray-100);color:var(--gray-700)}.header-icon-btn svg{width:1.125rem;height:1.125rem}.new-chat-btn{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--primary-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.25rem;font-weight:600;cursor:pointer;transition:opacity .2s}.new-chat-btn:hover:not(:disabled){opacity:.9}.new-chat-btn:disabled{opacity:.5;cursor:not-allowed}.ai-session-list{flex:1}.ai-loading{padding:2rem;text-align:center;color:var(--gray-500);font-size:.875rem}.ai-empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.5rem;text-align:center}.ai-empty-state p{margin:0;font-size:.9375rem;color:var(--gray-600)}.ai-empty-state p.sub{font-size:.8125rem;color:var(--gray-400)}.ai-anonymous-notice{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem 1.5rem;margin:1rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-lg);text-align:center}.ai-anonymous-notice p{margin:0;font-size:.9375rem;font-weight:500;color:var(--gray-700)}.ai-anonymous-notice p.sub{font-size:.8125rem;font-weight:400;color:var(--gray-500)}.markdown-renderer{line-height:1.7;color:var(--gray-800);font-size:.9375rem}.markdown-renderer h1{font-size:1.25rem;font-weight:700;margin:1.5rem 0 .75rem;color:var(--gray-900)}.markdown-renderer h2{font-size:1.125rem;font-weight:600;margin:1.25rem 0 .5rem;color:var(--gray-900);padding-bottom:.375rem;border-bottom:1px solid var(--gray-200)}.markdown-renderer h3{font-size:1rem;font-weight:600;margin:1rem 0 .375rem;color:var(--gray-800)}.markdown-renderer p{margin:.5rem 0}.markdown-renderer ul,.markdown-renderer ol{margin:.5rem 0;padding-left:1.5rem}.markdown-renderer li{margin:.25rem 0}.markdown-renderer strong{font-weight:600;color:var(--gray-900)}.markdown-renderer hr{border:none;border-top:1px solid var(--gray-200);margin:1rem 0}.markdown-renderer code{background:var(--gray-100);padding:.125rem .375rem;border-radius:var(--radius-sm);font-size:.875rem}.markdown-renderer blockquote{border-left:3px solid var(--primary-500);padding-left:.75rem;margin:.5rem 0;color:var(--gray-600)}.markdown-renderer table{width:100%;border-collapse:collapse;margin:.75rem 0;font-size:.875rem}.markdown-renderer th,.markdown-renderer td{padding:.5rem;border:1px solid var(--gray-200);text-align:left}.markdown-renderer th{background:var(--gray-50);font-weight:600}.rich-message{display:flex;flex-direction:column;gap:1rem}.rich-message-header{display:flex;flex-direction:column;gap:.5rem}.rich-message-title{margin:0;font-size:1rem;font-weight:600;color:var(--gray-800)}.rich-message-meta{display:flex;align-items:center;gap:.5rem;font-size:.75rem}.rich-message-meta .relevance{color:var(--primary-500);font-weight:500}.rich-message-body{font-size:.875rem;line-height:1.6}.rich-message-goals{padding:.75rem;background:var(--gray-50);border-radius:var(--radius-md)}.rich-message-goals h4{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--gray-700)}.goal-progress-item{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.goal-progress-item .goal-name{flex-shrink:0;font-size:.8125rem;color:var(--gray-700);max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.goal-progress-bar{flex:1;height:6px;background:var(--gray-200);border-radius:3px;overflow:hidden}.goal-progress-fill{height:100%;background:var(--primary-500);border-radius:3px;transition:width .3s}.goal-progress-text{flex-shrink:0;font-size:.75rem;font-weight:500;color:var(--primary-500);min-width:2rem;text-align:right}.goal-impact-text{margin:.375rem 0 0;font-size:.8125rem;color:var(--gray-600);line-height:1.4}.rich-message-actions{padding:.75rem;background:var(--gray-50);border-radius:var(--radius-md)}.rich-message-actions h4{margin:0 0 .5rem;font-size:.8125rem;font-weight:600;color:var(--gray-700)}.action-check-item{display:flex;align-items:flex-start;gap:.5rem;padding:.25rem 0;font-size:.8125rem;color:var(--gray-700)}.action-check-box{flex-shrink:0;width:1rem;height:1rem;margin-top:.125rem;border:1.5px solid var(--gray-300);border-radius:var(--radius-sm)}.rich-message-feedback{padding-top:.5rem;border-top:1px solid var(--gray-200)}.rich-message-feedback p{margin:0 0 .5rem;font-size:.8125rem;color:var(--gray-600)}.feedback-btns{display:flex;gap:.5rem}.fb-btn{padding:.375rem .875rem;background:var(--gray-100);color:var(--gray-600);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:.8125rem;cursor:pointer;transition:all .2s}.fb-btn:hover:not(:disabled){background:var(--gray-200)}.fb-btn.active{background:var(--primary-50);color:var(--primary-600);border-color:var(--primary-300)}.fb-btn:disabled{opacity:.5;cursor:not-allowed}.app-content:has(>.ai-chat-page){display:flex;flex-direction:column;min-height:0;overflow:hidden}.ai-chat-page{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--gray-50)}.ai-chat-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0}.ai-chat-header .back-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--gray-600);font-size:1.25rem;cursor:pointer;transition:all .15s}.ai-chat-header .back-btn:hover{background:var(--gray-100)}.ai-chat-header h1{flex:1;margin:0;font-size:1rem;font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-chat-header .menu-wrapper{position:relative}.ai-chat-header .menu-btn{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;border-radius:var(--radius-md);color:var(--gray-500);font-size:1.25rem;cursor:pointer;transition:all .15s}.ai-chat-header .menu-btn:hover{background:var(--gray-100)}.chat-menu-popup{position:absolute;right:0;top:100%;min-width:120px;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;z-index:10;overflow:hidden}.chat-menu-popup button{display:block;width:100%;padding:.625rem 1rem;background:none;border:none;text-align:left;font-size:.875rem;color:var(--gray-700);cursor:pointer;transition:background .15s}.chat-menu-popup button:hover{background:var(--gray-50)}.chat-menu-popup button.danger{color:var(--red-600, #dc2626)}.chat-menu-popup button.danger:hover{background:var(--red-50, #fef2f2)}.ai-chat-page .ai-chat-messages{flex:1;min-height:0;max-height:none;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.ai-chat-messages::-webkit-scrollbar{width:6px}.ai-chat-messages::-webkit-scrollbar-track{background:transparent}.ai-chat-messages::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.ai-chat-input{flex-shrink:0}.insight-chat-collapsed{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.insight-chat-expand-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.875rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-lg);color:var(--gray-700);font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .15s ease}.insight-chat-expand-btn:hover{background:var(--gray-100);border-color:var(--gray-300)}.insight-chat-expand-btn .chat-icon{font-size:1.125rem}.insight-chat-expand-btn .message-count{margin-left:auto;padding:.125rem .5rem;background:var(--primary-500);color:#fff;font-size:.75rem;font-weight:600;border-radius:9999px}.insight-chat-container{margin-top:1.5rem;border:1px solid var(--gray-200);border-radius:var(--radius-lg);background:var(--gray-50);overflow:hidden}.insight-chat-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:#fff;border-bottom:1px solid var(--gray-200)}.insight-chat-header h4{margin:0;font-size:.9375rem;font-weight:600;color:var(--gray-800)}.insight-chat-close-btn{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;padding:0;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--gray-500);font-size:1.25rem;cursor:pointer;transition:all .15s ease}.insight-chat-close-btn:hover{background:var(--gray-100);color:var(--gray-700)}.insight-chat-messages{max-height:320px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.chat-loading,.chat-empty{text-align:center;padding:2rem 1rem;color:var(--gray-500);font-size:.875rem}.chat-empty-hint{margin-top:.5rem;font-size:.8125rem;color:var(--gray-400)}.chat-message{max-width:85%;animation:messageIn .2s ease-out}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-message-user{align-self:flex-end}.chat-message-assistant{align-self:flex-start}.chat-message-content{padding:.625rem .875rem;border-radius:var(--radius-lg);font-size:.9375rem;line-height:1.5;white-space:pre-wrap;word-break:break-word}.chat-message-user .chat-message-content{background:var(--primary-500);color:#fff;border-bottom-right-radius:var(--radius-sm)}.chat-message-assistant .chat-message-content{background:#fff;color:var(--gray-800);border:1px solid var(--gray-200);border-bottom-left-radius:var(--radius-sm)}.typing-indicator{display:inline-flex;gap:.25rem;padding:.25rem 0}.typing-indicator span{width:6px;height:6px;background:var(--gray-400);border-radius:50%;animation:typing 1.2s infinite ease-in-out}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.insight-chat-input-form{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem;background:#fff;border-top:1px solid var(--gray-200)}.insight-chat-input-form textarea{flex:1;min-width:0;padding:.625rem .875rem;border:1px solid var(--gray-300);border-radius:var(--radius-lg);font-size:.9375rem;font-family:inherit;line-height:1.4;resize:none;outline:none;transition:border-color .15s ease}.insight-chat-input-form textarea:focus{border-color:var(--primary-500)}.insight-chat-input-form textarea:disabled{background:var(--gray-100);color:var(--gray-500)}.insight-chat-input-form button[type=submit]{display:flex;align-items:center;justify-content:center;min-width:36px;width:36px;height:36px;padding:0;background:var(--primary-500);border:none;border-radius:50%;color:#fff;font-size:1.125rem;font-weight:600;cursor:pointer;transition:all .15s ease;flex-shrink:0}.insight-chat-input-form button[type=submit]:hover:not(:disabled){background:var(--primary-600);transform:scale(1.05)}.insight-chat-input-form button[type=submit]:disabled{background:var(--gray-300, #d1d5db);cursor:not-allowed}.chat-error{padding:.5rem .75rem;background:var(--red-50, #fef2f2);color:var(--red-600, #dc2626);font-size:.8125rem;text-align:center}.insight-chat-messages::-webkit-scrollbar{width:6px}.insight-chat-messages::-webkit-scrollbar-track{background:transparent}.insight-chat-messages::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.insight-chat-messages::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.memory-page{display:flex;flex-direction:column;min-height:100vh;background:var(--gray-50);padding-bottom:calc(var(--bottom-nav-height, 60px) + env(safe-area-inset-bottom,0px))}.memory-page-header{display:flex;align-items:center;gap:.75rem;padding:1rem;background:#fff;border-bottom:1px solid var(--gray-200);flex-shrink:0}.memory-back-link{display:inline-flex;align-items:center;padding:.375rem .75rem;background:var(--gray-100);color:var(--gray-600);text-decoration:none;border-radius:var(--radius-md);font-size:.8125rem;font-weight:500}.memory-page-header h1{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-800)}.memory-page-content{flex:1;padding:1rem}.memory-loading{padding:2rem;text-align:center;color:var(--gray-500);font-size:.875rem}.memory-empty-state{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:3rem 1.5rem;text-align:center}.memory-empty-state p{margin:0;font-size:.9375rem;color:var(--gray-600)}.memory-empty-state p.sub{font-size:.8125rem;color:var(--gray-400)}.memory-section{margin-bottom:1.5rem}.memory-section-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .75rem;font-size:.9375rem;font-weight:600;color:var(--gray-700)}.memory-section-badge{display:inline-flex;padding:.125rem .5rem;font-size:.6875rem;font-weight:500;border-radius:999px;background:var(--primary-50, #eff6ff);color:var(--primary-600, #2563eb)}.memory-section-badge.working{background:var(--amber-50, #fffbeb);color:var(--amber-600, #d97706)}.memory-card{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem;margin-bottom:.5rem;background:#fff;border:1px solid var(--gray-200);border-radius:var(--radius-md)}.memory-card-content{flex:1;min-width:0}.memory-text{margin:0 0 .375rem;font-size:.875rem;color:var(--gray-800);line-height:1.5}.memory-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.memory-source-badge{display:inline-flex;padding:.0625rem .375rem;font-size:.6875rem;font-weight:500;border-radius:var(--radius-sm);background:var(--gray-100);color:var(--gray-500)}.memory-date,.memory-expires{font-size:.75rem;color:var(--gray-400)}.memory-card-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.memory-promote-btn,.memory-delete-btn{display:inline-flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s}.memory-promote-btn{color:var(--primary-500, #3b82f6)}.memory-promote-btn:hover:not(:disabled){background:var(--primary-50, #eff6ff)}.memory-delete-btn{color:var(--gray-400)}.memory-delete-btn:hover:not(:disabled){background:var(--red-50, #fef2f2);color:var(--red-500, #ef4444)}.memory-promote-btn:disabled,.memory-delete-btn:disabled{opacity:.4;cursor:not-allowed}.global-progress-bar{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);height:3px;background-color:var(--gray-200);z-index:var(--z-loading-overlay);overflow:hidden}.global-progress-bar__fill{height:100%;width:30%;background-color:var(--primary-500);animation:progress-indeterminate 1.5s ease-in-out infinite}@keyframes progress-indeterminate{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(400%)}}.global-loading-overlay{position:fixed;top:0;left:50%;transform:translate(-50%);width:100%;max-width:var(--app-max-width);height:100%;background-color:#0000004d;z-index:var(--z-loading-overlay);display:flex;align-items:center;justify-content:center}.global-loading-spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--primary-500);border-radius:50%;animation:spinner-rotate .8s linear infinite}@keyframes spinner-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
