:root{--toastify-color-light: #fff;--toastify-color-dark: #121212;--toastify-color-info: #3498db;--toastify-color-success: #07bc0c;--toastify-color-warning: #f1c40f;--toastify-color-error: hsl(6, 78%, 57%);--toastify-color-transparent: rgba(255, 255, 255, .7);--toastify-icon-color-info: var(--toastify-color-info);--toastify-icon-color-success: var(--toastify-color-success);--toastify-icon-color-warning: var(--toastify-color-warning);--toastify-icon-color-error: var(--toastify-color-error);--toastify-container-width: fit-content;--toastify-toast-width: 320px;--toastify-toast-offset: 16px;--toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));--toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));--toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));--toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));--toastify-toast-background: #fff;--toastify-toast-padding: 14px;--toastify-toast-min-height: 64px;--toastify-toast-max-height: 800px;--toastify-toast-bd-radius: 6px;--toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, .1);--toastify-font-family: sans-serif;--toastify-z-index: 9999;--toastify-text-color-light: #757575;--toastify-text-color-dark: #fff;--toastify-text-color-info: #fff;--toastify-text-color-success: #fff;--toastify-text-color-warning: #fff;--toastify-text-color-error: #fff;--toastify-spinner-color: #616161;--toastify-spinner-color-empty-area: #e0e0e0;--toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);--toastify-color-progress-dark: #bb86fc;--toastify-color-progress-info: var(--toastify-color-info);--toastify-color-progress-success: var(--toastify-color-success);--toastify-color-progress-warning: var(--toastify-color-warning);--toastify-color-progress-error: var(--toastify-color-error);--toastify-color-progress-bgo: .2}.Toastify__toast-container{z-index:var(--toastify-z-index);-webkit-transform:translate3d(0,0,var(--toastify-z-index));position:fixed;width:var(--toastify-container-width);box-sizing:border-box;color:#fff;display:flex;flex-direction:column}.Toastify__toast-container--top-left{top:var(--toastify-toast-top);left:var(--toastify-toast-left)}.Toastify__toast-container--top-center{top:var(--toastify-toast-top);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--top-right{top:var(--toastify-toast-top);right:var(--toastify-toast-right);align-items:end}.Toastify__toast-container--bottom-left{bottom:var(--toastify-toast-bottom);left:var(--toastify-toast-left)}.Toastify__toast-container--bottom-center{bottom:var(--toastify-toast-bottom);left:50%;transform:translate(-50%);align-items:center}.Toastify__toast-container--bottom-right{bottom:var(--toastify-toast-bottom);right:var(--toastify-toast-right);align-items:end}.Toastify__toast{--y: 0px;position:relative;touch-action:none;width:var(--toastify-toast-width);min-height:var(--toastify-toast-min-height);box-sizing:border-box;margin-bottom:1rem;padding:var(--toastify-toast-padding);border-radius:var(--toastify-toast-bd-radius);box-shadow:var(--toastify-toast-shadow);max-height:var(--toastify-toast-max-height);font-family:var(--toastify-font-family);z-index:0;display:flex;flex:1 auto;align-items:center;word-break:break-word}@media only screen and (max-width:480px){.Toastify__toast-container{width:100vw;left:env(safe-area-inset-left);margin:0}.Toastify__toast-container--top-left,.Toastify__toast-container--top-center,.Toastify__toast-container--top-right{top:env(safe-area-inset-top);transform:translate(0)}.Toastify__toast-container--bottom-left,.Toastify__toast-container--bottom-center,.Toastify__toast-container--bottom-right{bottom:env(safe-area-inset-bottom);transform:translate(0)}.Toastify__toast-container--rtl{right:env(safe-area-inset-right);left:initial}.Toastify__toast{--toastify-toast-width: 100%;margin-bottom:0;border-radius:0}}.Toastify__toast-container[data-stacked=true]{width:var(--toastify-toast-width)}@media only screen and (max-width:480px){.Toastify__toast-container[data-stacked=true]{width:100vw}}.Toastify__toast--stacked{position:absolute;width:100%;transform:translate3d(0,var(--y),0) scale(var(--s));transition:transform .3s}.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,.Toastify__toast--stacked[data-collapsed] .Toastify__close-button{transition:opacity .1s}.Toastify__toast--stacked[data-collapsed=false]{overflow:visible}.Toastify__toast--stacked[data-collapsed=true]:not(:last-child)>*{opacity:0}.Toastify__toast--stacked:after{content:"";position:absolute;left:0;right:0;height:calc(var(--g) * 1px);bottom:100%}.Toastify__toast--stacked[data-pos=top]{top:0}.Toastify__toast--stacked[data-pos=bot]{bottom:0}.Toastify__toast--stacked[data-pos=bot].Toastify__toast--stacked:before{transform-origin:top}.Toastify__toast--stacked[data-pos=top].Toastify__toast--stacked:before{transform-origin:bottom}.Toastify__toast--stacked:before{content:"";position:absolute;left:0;right:0;bottom:0;height:100%;transform:scaleY(3);z-index:-1}.Toastify__toast--rtl{direction:rtl}.Toastify__toast--close-on-click{cursor:pointer}.Toastify__toast-icon{margin-inline-end:10px;width:22px;flex-shrink:0;display:flex}.Toastify--animate{animation-fill-mode:both;animation-duration:.5s}.Toastify--animate-icon{animation-fill-mode:both;animation-duration:.3s}.Toastify__toast-theme--dark{background:var(--toastify-color-dark);color:var(--toastify-text-color-dark)}.Toastify__toast-theme--light,.Toastify__toast-theme--colored.Toastify__toast--default{background:var(--toastify-color-light);color:var(--toastify-text-color-light)}.Toastify__toast-theme--colored.Toastify__toast--info{color:var(--toastify-text-color-info);background:var(--toastify-color-info)}.Toastify__toast-theme--colored.Toastify__toast--success{color:var(--toastify-text-color-success);background:var(--toastify-color-success)}.Toastify__toast-theme--colored.Toastify__toast--warning{color:var(--toastify-text-color-warning);background:var(--toastify-color-warning)}.Toastify__toast-theme--colored.Toastify__toast--error{color:var(--toastify-text-color-error);background:var(--toastify-color-error)}.Toastify__progress-bar-theme--light{background:var(--toastify-color-progress-light)}.Toastify__progress-bar-theme--dark{background:var(--toastify-color-progress-dark)}.Toastify__progress-bar--info{background:var(--toastify-color-progress-info)}.Toastify__progress-bar--success{background:var(--toastify-color-progress-success)}.Toastify__progress-bar--warning{background:var(--toastify-color-progress-warning)}.Toastify__progress-bar--error{background:var(--toastify-color-progress-error)}.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error{background:var(--toastify-color-transparent)}.Toastify__close-button{color:#fff;position:absolute;top:6px;right:6px;background:transparent;outline:none;border:none;padding:0;cursor:pointer;opacity:.7;transition:.3s ease;z-index:1}.Toastify__toast--rtl .Toastify__close-button{left:6px;right:unset}.Toastify__close-button--light{color:#000;opacity:.3}.Toastify__close-button>svg{fill:currentColor;height:16px;width:14px}.Toastify__close-button:hover,.Toastify__close-button:focus{opacity:1}@keyframes Toastify__trackProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.Toastify__progress-bar{position:absolute;bottom:0;left:0;width:100%;height:100%;z-index:1;opacity:.7;transform-origin:left}.Toastify__progress-bar--animated{animation:Toastify__trackProgress linear 1 forwards}.Toastify__progress-bar--controlled{transition:transform .2s}.Toastify__progress-bar--rtl{right:0;left:initial;transform-origin:right;border-bottom-left-radius:initial}.Toastify__progress-bar--wrp{position:absolute;overflow:hidden;bottom:0;left:0;width:100%;height:5px;border-bottom-left-radius:var(--toastify-toast-bd-radius);border-bottom-right-radius:var(--toastify-toast-bd-radius)}.Toastify__progress-bar--wrp[data-hidden=true]{opacity:0}.Toastify__progress-bar--bg{opacity:var(--toastify-color-progress-bgo);width:100%;height:100%}.Toastify__spinner{width:20px;height:20px;box-sizing:border-box;border:2px solid;border-radius:100%;border-color:var(--toastify-spinner-color-empty-area);border-right-color:var(--toastify-spinner-color);animation:Toastify__spin .65s linear infinite}@keyframes Toastify__bounceInRight{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(3000px,0,0)}60%{opacity:1;transform:translate3d(-25px,0,0)}75%{transform:translate3d(10px,0,0)}90%{transform:translate3d(-5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutRight{20%{opacity:1;transform:translate3d(-20px,var(--y),0)}to{opacity:0;transform:translate3d(2000px,var(--y),0)}}@keyframes Toastify__bounceInLeft{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(-3000px,0,0)}60%{opacity:1;transform:translate3d(25px,0,0)}75%{transform:translate3d(-10px,0,0)}90%{transform:translate3d(5px,0,0)}to{transform:none}}@keyframes Toastify__bounceOutLeft{20%{opacity:1;transform:translate3d(20px,var(--y),0)}to{opacity:0;transform:translate3d(-2000px,var(--y),0)}}@keyframes Toastify__bounceInUp{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,3000px,0)}60%{opacity:1;transform:translate3d(0,-20px,0)}75%{transform:translate3d(0,10px,0)}90%{transform:translate3d(0,-5px,0)}to{transform:translateZ(0)}}@keyframes Toastify__bounceOutUp{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,-2000px,0)}}@keyframes Toastify__bounceInDown{0%,60%,75%,90%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1)}0%{opacity:0;transform:translate3d(0,-3000px,0)}60%{opacity:1;transform:translate3d(0,25px,0)}75%{transform:translate3d(0,-10px,0)}90%{transform:translate3d(0,5px,0)}to{transform:none}}@keyframes Toastify__bounceOutDown{20%{transform:translate3d(0,calc(var(--y) - 10px),0)}40%,45%{opacity:1;transform:translate3d(0,calc(var(--y) + 20px),0)}to{opacity:0;transform:translate3d(0,2000px,0)}}.Toastify__bounce-enter--top-left,.Toastify__bounce-enter--bottom-left{animation-name:Toastify__bounceInLeft}.Toastify__bounce-enter--top-right,.Toastify__bounce-enter--bottom-right{animation-name:Toastify__bounceInRight}.Toastify__bounce-enter--top-center{animation-name:Toastify__bounceInDown}.Toastify__bounce-enter--bottom-center{animation-name:Toastify__bounceInUp}.Toastify__bounce-exit--top-left,.Toastify__bounce-exit--bottom-left{animation-name:Toastify__bounceOutLeft}.Toastify__bounce-exit--top-right,.Toastify__bounce-exit--bottom-right{animation-name:Toastify__bounceOutRight}.Toastify__bounce-exit--top-center{animation-name:Toastify__bounceOutUp}.Toastify__bounce-exit--bottom-center{animation-name:Toastify__bounceOutDown}@keyframes Toastify__zoomIn{0%{opacity:0;transform:scale3d(.3,.3,.3)}50%{opacity:1}}@keyframes Toastify__zoomOut{0%{opacity:1}50%{opacity:0;transform:translate3d(0,var(--y),0) scale3d(.3,.3,.3)}to{opacity:0}}.Toastify__zoom-enter{animation-name:Toastify__zoomIn}.Toastify__zoom-exit{animation-name:Toastify__zoomOut}@keyframes Toastify__flipIn{0%{transform:perspective(400px) rotateX(90deg);animation-timing-function:ease-in;opacity:0}40%{transform:perspective(400px) rotateX(-20deg);animation-timing-function:ease-in}60%{transform:perspective(400px) rotateX(10deg);opacity:1}80%{transform:perspective(400px) rotateX(-5deg)}to{transform:perspective(400px)}}@keyframes Toastify__flipOut{0%{transform:translate3d(0,var(--y),0) perspective(400px)}30%{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(-20deg);opacity:1}to{transform:translate3d(0,var(--y),0) perspective(400px) rotateX(90deg);opacity:0}}.Toastify__flip-enter{animation-name:Toastify__flipIn}.Toastify__flip-exit{animation-name:Toastify__flipOut}@keyframes Toastify__slideInRight{0%{transform:translate3d(110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInLeft{0%{transform:translate3d(-110%,0,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInUp{0%{transform:translate3d(0,110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideInDown{0%{transform:translate3d(0,-110%,0);visibility:visible}to{transform:translate3d(0,var(--y),0)}}@keyframes Toastify__slideOutRight{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(110%,var(--y),0)}}@keyframes Toastify__slideOutLeft{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(-110%,var(--y),0)}}@keyframes Toastify__slideOutDown{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,500px,0)}}@keyframes Toastify__slideOutUp{0%{transform:translate3d(0,var(--y),0)}to{visibility:hidden;transform:translate3d(0,-500px,0)}}.Toastify__slide-enter--top-left,.Toastify__slide-enter--bottom-left{animation-name:Toastify__slideInLeft}.Toastify__slide-enter--top-right,.Toastify__slide-enter--bottom-right{animation-name:Toastify__slideInRight}.Toastify__slide-enter--top-center{animation-name:Toastify__slideInDown}.Toastify__slide-enter--bottom-center{animation-name:Toastify__slideInUp}.Toastify__slide-exit--top-left,.Toastify__slide-exit--bottom-left{animation-name:Toastify__slideOutLeft;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-right,.Toastify__slide-exit--bottom-right{animation-name:Toastify__slideOutRight;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--top-center{animation-name:Toastify__slideOutUp;animation-timing-function:ease-in;animation-duration:.3s}.Toastify__slide-exit--bottom-center{animation-name:Toastify__slideOutDown;animation-timing-function:ease-in;animation-duration:.3s}@keyframes Toastify__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.global-upload-bar{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:9999;width:min(520px,calc(100vw - 32px));animation:global-upload-bar-slide-up .3s ease-out;pointer-events:none}.global-upload-bar__card{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;padding:14px 18px;border-radius:14px;box-shadow:0 12px 32px #4c1d9559,0 4px 12px #00000026;pointer-events:auto}.global-upload-bar__row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.global-upload-bar__icon{font-size:1.4rem;flex-shrink:0}.global-upload-bar__text{flex:1;min-width:0}.global-upload-bar__title{font-size:.95rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-upload-bar__status{font-size:.8rem;opacity:.85;margin-top:2px}.global-upload-bar__track{position:relative;height:8px;background:#ffffff38;border-radius:999px;overflow:hidden}.global-upload-bar__fill{height:100%;background:linear-gradient(90deg,#fff,#e0e7ff);border-radius:999px;box-shadow:0 0 12px #fff9}.global-upload-bar__track.is-indeterminate .global-upload-bar__fill{width:40%;position:absolute;animation:global-upload-bar-indeterminate 1.2s ease-in-out infinite}@keyframes global-upload-bar-indeterminate{0%{left:-40%}to{left:100%}}@keyframes global-upload-bar-slide-up{0%{transform:translate(-50%,120%);opacity:0}to{transform:translate(-50%);opacity:1}}.app-shell{min-height:100vh}.navbar{position:sticky;top:0;z-index:1000;padding:.75rem 1rem 0}.navbar-container{max-width:1320px;margin:0 auto;padding:.6rem 1.4rem;display:flex;justify-content:space-between;align-items:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-md);backdrop-filter:saturate(180%) blur(18px);-webkit-backdrop-filter:saturate(180%) blur(18px)}.navbar-brand{font-size:1.35rem;font-weight:700;background:var(--gradient-brand);-webkit-background-clip:text;background-clip:text;color:transparent;cursor:pointer;text-decoration:none;transition:transform .2s ease,filter .2s ease;letter-spacing:-.01em}.navbar-brand:hover{transform:scale(1.04);filter:saturate(1.2)}.hamburger-menu{display:none;flex-direction:column;justify-content:space-around;width:30px;height:30px;background:transparent;border:none;cursor:pointer;padding:0;z-index:1001}.hamburger-line{width:100%;height:2.5px;background:var(--text-primary);border-radius:3px;transition:all .3s ease;transform-origin:center}.hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(8px,8px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(7px,-7px)}.navbar-menu{display:flex;align-items:center;gap:2rem}.navbar-links{display:flex;gap:1rem}.nav-link{background:transparent;border:1px solid transparent;color:var(--text-secondary);padding:.5rem .95rem;border-radius:var(--radius);cursor:pointer;font-size:.92rem;font-weight:500;text-decoration:none;transition:background var(--transition),color var(--transition),border-color var(--transition);position:relative;display:flex;align-items:center}.nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.nav-link.active{background:var(--gradient-accent);color:#fff;font-weight:600;box-shadow:0 6px 16px -6px var(--shadow-hover)}.nav-link.active:hover{background:var(--gradient-accent);color:#fff}.navbar-user{display:flex;align-items:center;gap:1rem}.language-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem;border-radius:50%;cursor:pointer;font-size:1.05rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;transition:background var(--transition),border-color var(--transition),transform var(--transition)}.language-toggle:hover{background:var(--bg-hover);border-color:var(--accent);transform:scale(1.05)}.theme-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);padding:.5rem;border-radius:50%;cursor:pointer;font-size:1.05rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;transition:background var(--transition),border-color var(--transition),transform .3s ease}.theme-toggle:hover{background:var(--bg-hover);border-color:var(--accent);transform:rotate(180deg)}.navbar .user-email{color:var(--text-secondary);font-size:.85rem;font-weight:500;background:var(--bg-tertiary);border:1px solid var(--border-color);padding:.4rem .85rem;border-radius:var(--radius-pill);white-space:nowrap;max-width:220px;overflow:hidden;text-overflow:ellipsis;line-height:1.2;cursor:pointer;text-decoration:none;font-family:inherit;transition:background .15s ease,color .15s ease,border-color .15s ease}.navbar .user-email:hover{color:var(--text-primary);border-color:var(--border-strong)}.navbar .user-email.active{color:var(--text-primary);border-color:var(--accent-color, var(--border-strong))}.logout-btn{background:transparent;border:1px solid var(--border-strong);color:var(--text-secondary);padding:.45rem .95rem;border-radius:var(--radius);cursor:pointer;font-size:.88rem;font-weight:600;transition:background var(--transition),color var(--transition),border-color var(--transition)}.logout-btn:hover{background:var(--danger-soft);border-color:var(--danger);color:var(--danger)}@media(max-width:1024px){.navbar-container{flex-direction:row;justify-content:space-between;align-items:center;position:relative}.hamburger-menu{display:flex}.navbar-menu{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-direction:column;gap:.75rem;padding:1rem;box-shadow:var(--shadow-md);max-height:0;overflow:hidden;opacity:0;transition:max-height .3s ease,opacity .3s ease,padding .3s ease;width:100%}.navbar-menu.open{max-height:1000px;opacity:1;padding:1rem}.navbar-links{width:100%;flex-direction:column;gap:.5rem}.navbar-user{width:100%;flex-direction:column;gap:1rem;align-items:stretch}.navbar .user-email{text-align:center;max-width:none}}@media(max-width:640px){.navbar-container{padding:1rem}.navbar-brand{font-size:1.2rem}.navbar-links{flex-direction:column;width:100%}.nav-link{width:100%;text-align:center;justify-content:center}.navbar .user-email{font-size:.85rem}}.content{max-width:1320px;margin:0 auto;padding:1.75rem 1.4rem}.card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.15rem 1.3rem;margin-bottom:1.1rem;box-shadow:var(--shadow)}table{width:100%;border-collapse:separate;border-spacing:0;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}th,td{padding:.7rem .85rem;text-align:start;border-bottom:1px solid var(--border-color);font-size:.9rem}th{background:var(--bg-tertiary);color:var(--text-tertiary);font-weight:600;text-transform:uppercase;font-size:.72rem;letter-spacing:.04em}tbody tr:hover{background:var(--bg-hover)}tbody tr:last-child td{border-bottom:none}.row{display:flex;gap:.65rem;align-items:center;flex-wrap:wrap}.muted{color:var(--text-tertiary)}.badge{display:inline-block;padding:.14rem .6rem;border-radius:var(--radius-pill);font-size:.76rem;font-weight:700;color:#fff}.level-low{background:var(--success)}.level-medium{background:var(--warning)}.level-high{background:#e07b20}.level-critical{background:var(--danger)}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);background-image:radial-gradient(at 20% 20%,rgba(99,102,241,.18) 0px,transparent 50%),radial-gradient(at 80% 60%,rgba(168,85,247,.18) 0px,transparent 50%),radial-gradient(at 50% 100%,rgba(56,189,248,.12) 0px,transparent 50%);padding:2rem}.auth-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem;box-shadow:var(--shadow-lg);width:100%;max-width:440px;animation:slideUp .4s ease;position:relative;overflow-x:hidden;box-sizing:border-box}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-header{text-align:center;margin-bottom:2.25rem}.auth-header-controls{display:flex;justify-content:center;align-items:center;gap:.75rem;margin-top:2rem}.auth-header h1{font-size:2rem;color:var(--text-primary);margin:0 0 .5rem;text-align:center}.language-toggle-auth{background:#6366f11a;border:2px solid rgba(99,102,241,.2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.1rem;transition:all .2s ease;padding:0}.language-toggle-auth:hover{background:#6366f133;border-color:#6366f166;transform:scale(1.1)}.theme-toggle-auth{background:#6366f11a;border:2px solid rgba(99,102,241,.2);border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .2s ease;padding:0}.theme-toggle-auth:hover{background:#6366f133;border-color:#6366f166;transform:scale(1.1)}.auth-header p{color:var(--text-tertiary);font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.95rem}.form-group input{padding:.9rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.form-group input:disabled{background:var(--bg-tertiary);cursor:not-allowed}.password-hint{font-size:.85rem;color:var(--text-tertiary);font-style:italic;margin-top:-.25rem}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:3rem;width:100%}.password-toggle-btn{position:absolute;right:.75rem;background:none;border:none;cursor:pointer;font-size:1.2rem;padding:.25rem .5rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;z-index:1}.password-toggle-btn:hover:not(:disabled){opacity:.7}.password-toggle-btn:disabled{opacity:.5;cursor:not-allowed}[data-theme=dark] .password-toggle-btn{color:var(--text-primary)}[dir=rtl] .password-input-wrapper input{padding-right:.9rem;padding-left:3rem}[dir=rtl] .password-toggle-btn{right:auto;left:.75rem}.forgot-password-container{margin-top:.5rem;display:flex;justify-content:flex-start}.forgot-password-link{background:none;border:none;padding:0;color:var(--accent);font-size:.9rem;text-decoration:underline;cursor:pointer;font-family:inherit;transition:color .3s ease}.forgot-password-link:hover{color:#5568d3}.forgot-password-link:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .forgot-password-link{color:#8b9aff}[data-theme=dark] .forgot-password-link:hover{color:#a8b5ff}.phone-input-wrapper,.phone-input-wrapper .PhoneInput{width:100%;display:flex;align-items:center}.phone-input-wrapper .PhoneInputInput{flex:1;width:100%;padding:.875rem 1rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease;background:var(--bg-secondary);font-family:inherit;direction:ltr;text-align:left}.phone-input-wrapper .PhoneInputInput:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.phone-input-wrapper .PhoneInputInput:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}.phone-input-wrapper .PhoneInputCountry{margin-right:.5rem}.phone-input-wrapper .PhoneInputCountryIcon{width:1.5rem;height:1.5rem;border-radius:4px}.phone-input-wrapper .PhoneInputCountrySelect{padding:.875rem 1rem;font-size:1rem;border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease;background:var(--bg-secondary);font-family:inherit;margin-right:.5rem}.phone-input-wrapper .PhoneInputCountrySelect:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}[data-theme=dark] .phone-input-wrapper .PhoneInputInput{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .phone-input-wrapper .PhoneInputInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}[data-theme=dark] .phone-input-wrapper .PhoneInputInput:disabled{background-color:#ffffff0d}[data-theme=dark] .phone-input-wrapper .PhoneInputCountrySelect{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .phone-input-wrapper .PhoneInputCountrySelect:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}[dir=rtl] .phone-input-wrapper .PhoneInput{flex-direction:row-reverse}[dir=rtl] .phone-input-wrapper .PhoneInputCountry,[dir=rtl] .phone-input-wrapper .PhoneInputCountrySelect{margin-right:0;margin-left:.5rem}[dir=rtl] .phone-input-wrapper .PhoneInputInput{text-align:left;direction:ltr}[dir=rtl] .phone-input-wrapper .PhoneInputCountryIcon{margin-left:.5rem;margin-right:0}.pin-input-container{display:flex;gap:.75rem;justify-content:center;margin-top:.5rem;direction:ltr!important;flex-wrap:nowrap;width:100%;max-width:100%;padding:.25rem 0;box-sizing:border-box}.pin-input{width:3.5rem;height:3.5rem;text-align:center;font-size:1.5rem;font-weight:700;border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease;background:var(--input-bg)!important;color:var(--text-primary)!important;direction:ltr!important;text-align:center!important}.pin-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.pin-input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed}[data-theme=dark] .pin-input{background:var(--input-bg)!important;border-color:var(--border-color);color:var(--text-primary)!important}[data-theme=dark] .pin-input:focus{border-color:#a5b4fc;box-shadow:0 0 0 3px #a5b4fc40}[data-theme=dark] .pin-input:disabled{background-color:var(--bg-tertiary)!important;color:var(--text-secondary)!important}.pin-timer{margin-top:1rem;text-align:center;font-size:.9rem;color:var(--text-tertiary)}.timer-label{margin-right:.5rem}.timer-value{font-weight:600;color:var(--accent)}.timer-expired{color:#e74c3c;font-weight:600}.pin-timer.expired{color:#e74c3c}[dir=rtl] .pin-input-container{direction:ltr!important;flex-direction:row!important}[dir=rtl] .pin-input{direction:ltr!important;text-align:center!important}.submit-btn{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;padding:.85rem;border:none;border-radius:var(--radius);font-size:.98rem;font-weight:600;cursor:pointer;transition:filter var(--transition),transform 80ms ease,box-shadow var(--transition);margin-top:1rem;box-shadow:0 4px 14px #6366f14d}.submit-btn:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 20px #6366f173}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.auth-toggle{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e0e6ed;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;gap:.25rem}.auth-toggle p{color:var(--text-tertiary);font-size:.95rem;text-align:center;width:100%;display:flex;flex-direction:column;align-items:center;gap:.25rem;margin:0}.auth-toggle-btn{background:transparent!important;border:1px solid var(--border-color);color:var(--accent)!important;font-weight:600;cursor:pointer;font-size:.92rem;transition:background var(--transition),border-color var(--transition);padding:.65rem 1.6rem;border-radius:var(--radius);margin-top:.5rem}.auth-toggle-btn:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.auth-toggle-btn:disabled{opacity:.6;cursor:not-allowed}.auth-toggle>.auth-toggle-btn{margin-left:0;margin-right:0;text-align:center}.auth-toggle:has(>.auth-toggle-btn:only-child){padding-right:0;padding-left:0}[data-theme=dark] .auth-container{background:var(--bg-primary);background-image:radial-gradient(at 20% 20%,rgba(129,140,248,.16) 0px,transparent 50%),radial-gradient(at 80% 60%,rgba(168,85,247,.16) 0px,transparent 50%),radial-gradient(at 50% 100%,rgba(56,189,248,.1) 0px,transparent 50%)}[data-theme=dark] .auth-card{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:var(--shadow-lg)}[data-theme=dark] .auth-header h1{color:var(--text-primary)}[data-theme=dark] .auth-header p{color:var(--text-secondary)}[data-theme=dark] .language-toggle-auth{background:#6366f133;border-color:#6366f14d}[data-theme=dark] .language-toggle-auth:hover{background:#6366f14d;border-color:#6366f180}[data-theme=dark] .theme-toggle-auth{background:#6366f133;border-color:#6366f14d}[data-theme=dark] .theme-toggle-auth:hover{background:#6366f14d;border-color:#6366f180}[data-theme=dark] .form-group label{color:var(--text-primary)}[data-theme=dark] .form-group input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .form-group input::placeholder{color:var(--text-tertiary)}[data-theme=dark] .form-group input:focus{border-color:var(--border-color-hover)}[data-theme=dark] .form-group input:disabled{background:var(--input-disabled)}[data-theme=dark] .auth-toggle{border-top-color:var(--border-color)}[data-theme=dark] .auth-toggle p{color:var(--text-secondary)}[data-theme=dark] .toggle-btn{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff}.spam-inbox-notice{margin-bottom:20px;padding:12px;background-color:#fff3cd;border:1px solid var(--warning);border-radius:4px;font-size:14px;color:#856404;text-align:center}[data-theme=dark] .spam-inbox-notice{background-color:#3d2f00;border-color:var(--warning);color:var(--warning)}.google-auth-divider{display:flex;align-items:center;margin:1.5rem 0;gap:1rem}.divider-line{flex:1;height:1px;background:#e0e6ed}.divider-text{color:var(--text-tertiary);font-size:.9rem;text-transform:uppercase;letter-spacing:.5px}.google-signin-wrapper,.google-signin-wrapper *,.google-signin-wrapper iframe{font-size:14px!important}[data-theme=dark] .google-auth-divider .divider-line{background:var(--border-color)}[data-theme=dark] .google-auth-divider .divider-text{color:var(--text-secondary)}@media(max-width:640px){.auth-container{padding:1rem}.auth-card{padding:2rem 1.5rem 5rem}.auth-header h1{font-size:1.6rem}.auth-header-controls{gap:.5rem;justify-content:center}.auth-toggle{padding-right:0;padding-left:0}.auth-toggle p{text-align:center;align-items:center}.language-toggle-auth{width:36px;height:36px;font-size:1.1rem}.theme-toggle-auth{width:36px;height:36px;font-size:1rem}.pin-input-container{gap:.4rem;padding:.5rem .25rem;justify-content:center}.pin-input{width:2.5rem;height:2.5rem;font-size:1.1rem;min-width:2.5rem;flex-shrink:0}.pin-timer{font-size:.85rem;margin-top:.75rem}.form-group{overflow-x:visible;width:100%}}.auth-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg-secondary);border-radius:var(--radius-lg);animation:fadeInOverlay .2s ease}.auth-loading-overlay p{margin:0;color:var(--text-secondary);font-size:.95rem;font-weight:500}.auth-loading-spinner{width:42px;height:42px;border:3px solid var(--border-color);border-top-color:var(--accent, #6c5cf7);border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}.onboarding-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;justify-content:center;align-items:center;z-index:1000;animation:fadeIn .3s ease-out}.onboarding-modal{background:var(--bg-secondary);border-radius:16px;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:0 10px 40px #0003;animation:slideUp .3s ease-out}.onboarding-header{padding:2rem 2rem 1rem;text-align:center;border-bottom:2px solid #f0f3f7}.onboarding-header h2{margin:0;color:var(--text-primary);font-size:1.8rem;font-weight:700}.onboarding-content{padding:2rem}.onboarding-step{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:2rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:12px;transition:all .2s}.onboarding-step:last-child{margin-bottom:0}.onboarding-step:hover{background:#e9ecef;transform:translateY(-2px)}.step-icon{font-size:3rem;margin-bottom:1rem}.onboarding-step h3{margin:0 0 .75rem;color:var(--text-primary);font-size:1.3rem;font-weight:600}.onboarding-step p{margin:0;color:#5a6c7d;font-size:1rem;line-height:1.6}.file-format-note{margin-top:.75rem;padding:.5rem .75rem;background:#fff3cd;border-left:3px solid var(--warning);border-radius:6px;color:#856404;font-size:.9rem;line-height:1.5}.onboarding-footer{padding:1.5rem 2rem 2rem;text-align:center;border-top:2px solid #f0f3f7;display:flex;justify-content:center;gap:1rem}.onboarding-footer .btn{padding:.875rem 2rem;font-size:1.1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s}.onboarding-footer .btn-primary{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff}.onboarding-footer .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.onboarding-footer .btn-primary:active{transform:translateY(0)}[data-theme=dark] .onboarding-modal{background:var(--bg-secondary);box-shadow:0 10px 40px #00000080}[data-theme=dark] .onboarding-header{border-bottom-color:var(--border-color)}[data-theme=dark] .onboarding-header h2{color:var(--text-primary)}[data-theme=dark] .onboarding-step{background:var(--bg-primary);border:1px solid var(--border-color)}[data-theme=dark] .onboarding-step:hover{background:var(--bg-secondary)}[data-theme=dark] .onboarding-step h3{color:var(--text-primary)}[data-theme=dark] .onboarding-step p{color:var(--text-secondary)}[data-theme=dark] .onboarding-footer{border-top-color:var(--border-color)}[data-theme=dark] .file-format-note{background:#ffc10726;border-left-color:var(--warning);color:var(--warning)}@media(max-width:768px){.onboarding-modal{width:95%;max-height:95vh}.onboarding-header{padding:1.5rem 1.5rem 1rem}.onboarding-header h2{font-size:1.5rem}.onboarding-content{padding:1.5rem}.onboarding-step{padding:1.25rem;margin-bottom:1.5rem}.step-icon{font-size:2.5rem}.onboarding-step h3{font-size:1.1rem}.onboarding-step p{font-size:.9rem}.onboarding-footer{padding:1.25rem 1.5rem 1.5rem}.onboarding-footer .btn{padding:.75rem 1.5rem;font-size:1rem}}.dashboard-page .page-header{margin-bottom:20px}.dashboard-page .dashboard-graph-link{color:var(--accent, #6c5cf7);font-size:.9rem;font-weight:600;text-decoration:none;padding:.4rem .85rem;border:1px solid var(--border-color, #e0e0e0);border-radius:var(--radius-pill, 999px);white-space:nowrap;transition:background .15s ease,border-color .15s ease}.dashboard-page .dashboard-graph-link:hover{background:var(--bg-hover, rgba(108, 92, 247, .08));border-color:var(--accent, #6c5cf7)}.dashboard-summary-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.dashboard-summary-cards .summary-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:8px;box-shadow:0 2px 8px #0000000a}.dashboard-summary-cards .summary-label{font-size:13px;color:var(--text-secondary, #666)}.dashboard-summary-cards .summary-value{font-size:22px;font-weight:700;color:var(--text-primary, #1a1a1a)}.dashboard-summary-cards .summary-value.positive{color:#2e9e5b}.dashboard-summary-cards .summary-value.negative{color:#d32f2f}.dashboard-summary-cards .summary-value.delta.up{color:#2e9e5b}.dashboard-summary-cards .summary-value.delta.down{color:#d32f2f}.dashboard-card{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:16px;padding:20px 22px;margin-bottom:20px;box-shadow:0 2px 10px #0000000a}.dashboard-card-title{font-size:17px;font-weight:700;margin:0 0 2px;color:var(--text-primary, #1a1a1a)}.dashboard-card-hint{font-size:13px;color:var(--text-secondary, #666);margin:0 0 14px}.dashboard-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-row .dashboard-card{margin-bottom:20px}.movers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.mover-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;background:var(--hover-bg, #f7f7fa);cursor:pointer;transition:background .15s ease}.mover-row:hover{background:#667eea1a}.mover-category{font-weight:600;color:var(--text-primary, #1a1a1a)}.mover-amounts{font-size:13px;font-weight:600;color:var(--text-primary, #1a1a1a);direction:ltr;unicode-bidi:isolate}.mover-delta{font-weight:700;font-size:14px;min-width:72px;text-align:end}.mover-delta.up{color:#d32f2f}.mover-delta.down{color:#2e9e5b}.savings-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.savings-card{background:var(--hover-bg, #f7f7fa);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.savings-card-highlight{background:linear-gradient(135deg,#667eea24,#764ba224);border:1px solid rgba(102,126,234,.3)}.savings-label{font-size:13px;color:var(--text-secondary, #666)}.savings-value{font-size:24px;font-weight:800;color:var(--text-primary, #1a1a1a)}.savings-value.positive{color:#2e9e5b}.savings-value.negative{color:#d32f2f}.savings-sub{font-size:12px;color:var(--text-secondary, #888)}[data-theme=dark] .savings-card{background:#ffffff0a}@media(max-width:768px){.savings-cards{grid-template-columns:1fr}}.trend-table-wrap{overflow-x:auto}.trend-table{width:100%;border-collapse:collapse;font-size:13px}.trend-table th,.trend-table td{padding:10px 12px;text-align:end;white-space:nowrap}.trend-table thead th{color:var(--text-secondary, #666);font-weight:600;border-bottom:1px solid var(--border-color, #e0e0e0)}.trend-name-col{text-align:start;max-width:200px;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--text-primary, #1a1a1a)}.trend-row{cursor:pointer;transition:background .15s ease}.trend-row:hover{background:#667eea1a}.trend-delta-col{font-weight:700;min-width:64px}.trend-delta-col.up{color:#d32f2f}.trend-delta-col.down{color:#2e9e5b}.search-trend-input{width:100%;max-width:380px;padding:10px 14px;border:1px solid var(--border-color, #e0e0e0);border-radius:10px;background:var(--input-bg, #fff);color:var(--text-primary, #1a1a1a);font-size:14px;margin-bottom:14px}.search-trend-results{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.search-trend-result{padding:8px 14px;border:1px solid var(--border-color, #e0e0e0);border-radius:999px;background:var(--hover-bg, #f7f7fa);color:var(--text-primary, #1a1a1a);font-size:13px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.search-trend-result:hover{background:#667eea1f;border-color:#667eea80}[data-theme=dark] .search-trend-result{background:#ffffff0a;border-color:#444;color:#eee}[data-theme=dark] .search-trend-result:hover{background:#667eea38}.search-trend-stats{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:12px;font-size:13px;color:var(--text-secondary, #666)}.search-trend-name{font-weight:700;color:var(--text-primary, #1a1a1a)}.dashboard-page .custom-tooltip{background:var(--card-bg, #fff);border:1px solid var(--border-color, #e0e0e0);border-radius:8px;padding:10px 12px;box-shadow:0 4px 12px #0000001f}.dashboard-page .tooltip-label{font-weight:700;margin:0 0 4px}.dashboard-page .tooltip-value{margin:2px 0}.dashboard-page .tooltip-count{margin:2px 0;font-size:13px}.dashboard-page .empty-state{text-align:center;padding:3rem 1rem;color:var(--text-tertiary, #888);background:none;border:none;border-radius:0}.dashboard-page .empty-state p{font-size:1.1rem;margin:0}[data-theme=dark] .dashboard-summary-cards .summary-card,[data-theme=dark] .dashboard-card{background:var(--card-bg, #1e1e2e);border-color:var(--border-color, #333)}[data-theme=dark] .mover-row{background:#ffffff0a}[data-theme=dark] .mover-row:hover,[data-theme=dark] .trend-row:hover{background:#667eea33}[data-theme=dark] .search-trend-input,[data-theme=dark] .dashboard-page .custom-tooltip{background:#2a2a3a;border-color:#444;color:#eee}@media(max-width:768px){.dashboard-summary-cards{grid-template-columns:repeat(2,1fr)}.dashboard-row{grid-template-columns:1fr}.mover-row{grid-template-columns:1fr auto;grid-template-areas:"category delta" "amounts amounts"}.mover-category{grid-area:category}.mover-delta{grid-area:delta}.mover-amounts{grid-area:amounts}}.dashboard-controls{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}.dashboard-controls .date-input-group{display:flex;flex-direction:column;gap:4px}.dashboard-controls .date-input-group label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.dashboard-controls .date-input{padding:.45rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem}.total-budget-summary{background:var(--bg-secondary);border:1px solid var(--border-color);border-left:4px solid var(--accent);color:var(--text-primary);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);margin:1.5rem 0;box-shadow:var(--shadow);animation:slideDown .3s ease-out}.total-budget-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.total-budget-label{font-size:1.1rem;font-weight:500;opacity:.95}.total-budget-value{font-size:2rem;font-weight:700;letter-spacing:.5px}.categories-container{margin-top:2rem}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.category-card{background:var(--bg-secondary);padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #00000014;transition:all .2s}.category-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.category-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #f0f3f7}.category-header h3{color:var(--text-primary);font-size:1.2rem;margin:0;word-break:break-word}.category-system-badge{display:inline-block;margin-inline-start:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:600;vertical-align:middle;border-radius:999px;background:var(--accent-soft, #eef2ff);color:var(--accent, #4f46e5)}.category-system-note{margin:.35rem 0 0;font-size:.75rem;color:var(--text-secondary)}.category-no-ai-badge{display:inline-block;margin-inline-start:.5rem;padding:.1rem .5rem;font-size:.7rem;font-weight:600;vertical-align:middle;border-radius:999px;background:var(--bg-tertiary, #f1f5f9);color:var(--text-secondary)}.modal-content.add-category-modal{max-width:560px!important;max-height:90vh}.category-exclude-ai{display:flex;align-items:center;gap:.5rem;cursor:pointer}.category-exclude-ai input:disabled{cursor:not-allowed}.category-exclude-ai-hint{margin:.35rem 0 0;font-size:.75rem;color:var(--text-secondary)}.category-actions{display:flex;gap:.5rem}.category-budget{display:flex;flex-direction:column;gap:.5rem}.budget-label{color:var(--text-tertiary);font-size:.9rem;font-weight:500}.budget-value{color:var(--text-primary);font-size:1.3rem;font-weight:700}.category-form-card{background:var(--bg-secondary);padding:2rem;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:2rem;animation:slideDown .3s ease-out}.category-form-card h3{color:var(--text-primary);margin-bottom:1.5rem}.category-form{display:flex;flex-direction:column;gap:1.5rem}.category-edit-form{display:flex;flex-direction:column;gap:1rem}.category-edit-form .form-group{display:flex;flex-direction:column;gap:.5rem}.category-edit-form label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.category-edit-form input{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s}.category-edit-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.category-edit-form input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}[data-theme=dark] .category-edit-form input:disabled{background-color:var(--input-disabled)}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.info-box{margin-top:3rem;padding:1.5rem;background:#e3f2fd;border-left:4px solid #2196f3;border-radius:8px}.info-box h4{color:#1565c0;margin-bottom:1rem;font-size:1.1rem}.info-box ul{list-style:none;padding:0;margin:0}.info-box li{color:#1976d2;padding:.5rem 0 .5rem 1.5rem;position:relative}.info-box li:before{content:"•";position:absolute;left:.5rem;font-weight:700}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.btn-spinner{display:inline-block;width:13px;height:13px;vertical-align:-1px;border:2px solid rgba(127,127,127,.3);border-top-color:#e74c3c;border-radius:50%;animation:spin .8s linear infinite}.category-actions .btn-icon:disabled{opacity:.6;cursor:not-allowed}.loading-spinner{display:inline-block;animation:spin 1s linear infinite;margin-right:.5rem}.btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;vertical-align:-2px;margin-inline-end:.4rem}@media(max-width:768px){.categories-grid{grid-template-columns:1fr}.category-header{flex-direction:column;gap:1rem}.category-actions{width:100%;justify-content:flex-end}.category-form-card{padding:1.5rem}}[data-theme=dark] .category-card{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .category-card:hover{box-shadow:0 4px 16px var(--shadow-hover)}[data-theme=dark] .category-header{border-bottom-color:var(--border-color)}[data-theme=dark] .category-header h3{color:var(--text-primary)}[data-theme=dark] .budget-label{color:var(--text-secondary)}[data-theme=dark] .budget-value{color:var(--text-primary)}[data-theme=dark] .category-form-card{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .category-form-card h3,[data-theme=dark] .category-edit-form label{color:var(--text-primary)}[data-theme=dark] .category-edit-form input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .info-box{background:#2196f31a;border-left-color:#2196f3}[data-theme=dark] .info-box h4{color:#64b5f6}[data-theme=dark] .info-box li{color:var(--text-secondary)}[data-theme=dark] .total-budget-summary{background:var(--bg-secondary);border-color:var(--border-color);border-left-color:var(--accent);box-shadow:var(--shadow)}@media(max-width:768px){.total-budget-content{flex-direction:column;align-items:flex-start;gap:.5rem}.total-budget-value{font-size:1.5rem}}[data-theme=dark] .category-card,[data-theme=dark] .category-form-card,[data-theme=dark] .total-budget-card{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .category-name,[data-theme=dark] .category-budget,[data-theme=dark] .total-budget-value,[data-theme=dark] .total-budget-label{color:var(--text-primary)}[data-theme=dark] .category-meta,[data-theme=dark] .total-budget-subtitle{color:var(--text-secondary)}[data-theme=dark] .category-form input,[data-theme=dark] .category-form select,[data-theme=dark] .category-form textarea{background:var(--input-bg);color:var(--text-primary);border-color:var(--border-color)}.subcategories{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:.75rem}.subcategories-toggle{display:flex;align-items:center;gap:.4rem;background:none;border:none;cursor:pointer;color:var(--text-secondary);font-size:.9rem;font-weight:600;padding:0}.subcategories-chevron{font-size:.8rem}.subcategories-count{color:var(--text-tertiary);font-weight:500}.subcategories-mismatch{margin-inline-start:auto;display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;color:var(--warning, #e0a020);white-space:nowrap}.subcategory-drag-handle{cursor:grab;font-size:.85rem;line-height:1;opacity:.55;padding:0 .15rem}.subcategory-drag-handle:active{cursor:grabbing}.subcategory-row.is-dragging{opacity:.85}.subcategories-body{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.subcategories-empty{color:var(--text-tertiary);font-size:.85rem;margin:0}.subcategories-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.subcategory-row{display:flex;align-items:center;gap:.5rem}.subcategory-name{flex:1;color:var(--text-primary);font-size:.9rem}.subcategory-estimate{color:var(--text-secondary);font-size:.85rem;font-weight:600;white-space:nowrap}.subcategory-total-row{display:flex;align-items:center;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1))}.subcategory-total-value{color:var(--text-primary)}.subcategory-add,.subcategory-edit{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.5rem}.subcategory-name-input{flex:1 1 100%}.subcategory-estimate-input{flex:1 1 8rem}.subcategory-name-input,.subcategory-estimate-input{min-width:0;padding:.45rem .6rem;border:1px solid var(--border-color);border-radius:var(--radius-sm, 6px);background:var(--input-bg);color:var(--text-primary);font-size:.85rem;box-sizing:border-box}.subcategory-add .btn,.subcategory-edit .btn{flex:0 0 auto}.suggested-categories-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:suggestedFadeIn .3s ease;padding:1rem;overflow-y:auto}.suggested-categories-overlay .suggested-categories-modal{position:relative;background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;animation:suggestedSlideUp .3s ease}.suggested-categories-overlay .suggested-categories-header{padding:2rem 2rem 1rem;text-align:center;border-bottom:2px solid var(--border-color, #f0f3f7)}.suggested-categories-overlay .suggested-categories-header h2{color:var(--text-primary);font-size:1.8rem;margin-bottom:.5rem}.suggested-categories-overlay .suggested-categories-subtitle{color:var(--text-tertiary);font-size:1rem;margin:0}.suggested-categories-overlay .suggested-categories-close{position:absolute;top:12px;inset-inline-end:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary, #888);font-size:16px;line-height:1;transition:background .15s ease,color .15s ease}.suggested-categories-overlay .suggested-categories-close:hover{background:#00000014;color:var(--text-primary)}.suggested-categories-overlay .suggested-categories-content{padding:2rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.suggested-categories-overlay .suggested-category-card{position:relative;background:var(--bg-tertiary);padding:1.5rem;border-radius:12px;border:1px solid var(--border-color);transition:all .2s}.suggested-categories-overlay .suggested-category-remove{position:absolute;top:8px;inset-inline-end:8px;width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;cursor:pointer;color:var(--text-secondary, #888);font-size:13px;line-height:1;transition:background .15s ease,color .15s ease}.suggested-categories-overlay .suggested-category-remove:hover{background:#f443361f;color:#f44336}.suggested-categories-overlay .suggested-category-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a;background:var(--bg-secondary)}.suggested-categories-overlay .suggested-category-form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.suggested-categories-overlay .suggested-category-form-group:last-child{margin-bottom:0}.suggested-categories-overlay .suggested-category-form-group label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.suggested-categories-overlay .suggested-category-input{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all .2s;background:var(--bg-secondary);color:var(--text-primary)}.suggested-categories-overlay .suggested-category-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.suggested-categories-overlay .suggested-categories-footer{padding:1.5rem 2rem 2rem;text-align:center;border-top:2px solid var(--border-color, #f0f3f7);display:flex;gap:1rem;align-items:center;justify-content:center;flex-wrap:wrap}.suggested-categories-overlay .btn-large{padding:1rem 2.5rem;font-size:1.1rem;font-weight:600}.suggested-categories-overlay .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite;margin-inline-end:.5rem;vertical-align:middle}.suggested-categories-overlay .error-message{margin:0 2rem}@keyframes suggestedFadeIn{0%{opacity:0}to{opacity:1}}@keyframes suggestedSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .suggested-categories-overlay .suggested-categories-modal{background:var(--bg-secondary);box-shadow:0 20px 60px #00000080}[data-theme=dark] .suggested-categories-overlay .suggested-category-card{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .suggested-categories-overlay .suggested-category-card:focus-within{background:var(--bg-secondary);border-color:var(--accent)}[data-theme=dark] .suggested-categories-overlay .suggested-category-input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}@media(max-width:768px){.suggested-categories-overlay .suggested-categories-modal{max-width:100%;margin:1rem}.suggested-categories-overlay .suggested-categories-header{padding:1.5rem 1.5rem 1rem}.suggested-categories-overlay .suggested-categories-header h2{font-size:1.5rem}.suggested-categories-overlay .suggested-categories-content{padding:1.5rem;grid-template-columns:1fr}.suggested-categories-overlay .suggested-categories-footer{padding:1.5rem}.suggested-categories-overlay .btn-large{width:100%;padding:1rem}}.sortable-category.is-dragging{opacity:.75;z-index:10;position:relative}.drag-handle{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.expenses-table-container{position:relative}.table-reloading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#00000014;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:5}[data-theme=dark] .table-reloading-overlay{background:#00000040}.table-reloading-overlay .page-loader-spinner{width:32px;height:32px}.page-header-title-group{display:flex;flex-direction:column;gap:4px}.page-header-income{font-size:.95rem;color:var(--text-secondary, #64748b)}.page-header-income strong{color:var(--accent, #6366f1)}.header-actions{display:flex;gap:1rem;flex-wrap:wrap;overflow:visible}.header-actions .btn{white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-width:fit-content;flex:0 1 auto;padding:.75rem 1rem;line-height:1.4}.delete-dropdown{position:relative;display:inline-block;overflow:visible}.delete-dropdown-menu{position:absolute;top:100%;left:0;margin-top:.5rem;background:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 20px #00000026;min-width:200px;z-index:9999;overflow:visible;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.delete-dropdown-menu .dropdown-item{display:block;width:100%;padding:.75rem 1rem;background:none;border:none;text-align:right;font-size:.95rem;color:var(--danger);cursor:pointer;transition:background .2s}.delete-dropdown-menu .dropdown-item:hover{background:#f8d7da}.delete-dropdown-menu .dropdown-item:not(:last-child){border-bottom:1px solid #f0f0f0}[data-theme=dark] .delete-dropdown-menu{background:var(--bg-secondary);box-shadow:0 4px 20px #0006}[data-theme=dark] .delete-dropdown-menu .dropdown-item{color:#ff6b6b}[data-theme=dark] .delete-dropdown-menu .dropdown-item:hover{background:#dc354533}[data-theme=dark] .delete-dropdown-menu .dropdown-item:not(:last-child){border-bottom-color:var(--border-color, #404040)}[dir=rtl] .delete-dropdown-menu{left:auto;right:0}[dir=rtl] .delete-dropdown-menu .dropdown-item{text-align:right}.filters-section{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.25rem 1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1.25rem;overflow:visible}.search-box{margin-bottom:1rem;position:relative;max-width:480px}.search-all-dates{display:inline-flex;align-items:center;gap:.4rem;margin-top:.5rem;font-size:.85rem;color:var(--text-secondary, #555);cursor:pointer}.search-all-dates-checkbox{cursor:pointer}.category-name-readonly{font-size:.85rem}.level-with-recurring{display:inline-flex;flex-direction:column;align-items:center;gap:3px}.recurring-mini-chip{display:inline-block;padding:0 8px;border-radius:var(--radius-pill, 999px);font-size:.68rem;background:var(--accent-soft, rgba(108, 92, 247, .15));color:var(--accent, #6c5cf7);white-space:nowrap}.merged-sub-select{margin-top:.3rem;font-size:.8rem}.merged-edit-hint{margin:0 0 .5rem;color:var(--text-secondary, rgba(255, 255, 255, .6));font-size:.85rem}.merged-category-select{background:var(--input-bg, rgba(255, 255, 255, .05));color:inherit;border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:6px;padding:.25rem .5rem;font-size:.85rem;cursor:pointer;max-width:180px}.merged-subcategory-input{display:block;margin-top:.35rem;background:var(--input-bg, rgba(255, 255, 255, .05));color:inherit;border:1px solid var(--border-color, rgba(255, 255, 255, .15));border-radius:6px;padding:.2rem .45rem;font-size:.8rem;max-width:180px}.search-input-wrap{position:relative;display:block}.search-input-wrap:before{content:"🔍";position:absolute;left:.9rem;top:50%;transform:translateY(-50%);font-size:.95rem;opacity:.6;pointer-events:none}[dir=rtl] .search-input-wrap:before{left:auto;right:.9rem}.search-input{width:100%;padding:.65rem 1rem .65rem 2.4rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.92rem;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition);background:var(--input-bg)}[dir=rtl] .search-input{padding:.7rem 2.5rem .7rem 1rem}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}@media(max-width:640px){.search-box{max-width:100%}}.filter-actions{display:flex;gap:1rem;margin-bottom:1rem;flex-wrap:wrap;align-items:flex-end}.category-filter-group{display:flex;flex-direction:column;gap:.5rem;min-width:250px;max-width:350px}.category-filter-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.category-select{padding:.65rem .9rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.95rem;background:var(--input-bg);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition);color:var(--text-primary);width:100%;max-height:300px}.category-select option{padding:.5rem;color:var(--text-primary);background:var(--input-bg)}.category-select:hover{border-color:var(--accent)}.category-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.date-range-container{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1rem;flex-wrap:wrap;animation:slideDown .3s ease-out}.date-range-container .btn{padding:.6rem 1.1rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.95rem;font-weight:500;cursor:pointer;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition);background:var(--bg-secondary);color:var(--text-primary);white-space:nowrap;height:fit-content;min-height:42px;display:flex;align-items:center;justify-content:center}.date-range-container .btn:hover{background:var(--bg-hover);border-color:var(--accent)}.date-range-container .btn:active{transform:translateY(0)}.date-range-container .btn-secondary{background:#6c757d;color:#fff;border-color:#6c757d}.date-range-container .btn-secondary:hover{background:#5a6268;border-color:#5a6268;color:#fff}[data-theme=dark] .date-range-container .btn{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color, #404040)}[data-theme=dark] .date-range-container .btn:hover{background:var(--hover-bg, #3d3d3d);border-color:var(--primary-color, var(--accent))}[data-theme=dark] .date-range-container .btn-secondary{background:#6c757d;color:#fff;border-color:#6c757d}[data-theme=dark] .date-range-container .btn-secondary:hover{background:#5a6268;border-color:#5a6268}.btn-view-graph{background:linear-gradient(135deg,var(--accent),#a855f7)!important;color:#fff!important;border:none!important;font-weight:600;padding:.6rem 1.1rem;box-shadow:0 4px 12px #6366f14d}.btn-view-graph:hover{filter:brightness(1.05);transform:translateY(-1px)!important;box-shadow:0 6px 16px #6366f166!important}[data-theme=dark] .date-input{background:var(--input-bg, #3d3d3d);border-color:var(--border-color, #404040);color:var(--text-primary)}[data-theme=dark] .date-input-group label{color:var(--text-primary)}.date-input-group{display:flex;flex-direction:column;gap:.5rem;flex:1;min-width:200px}.date-input-group label{font-size:.85rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.date-input{padding:.6rem .85rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.95rem;color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition);background:var(--input-bg);width:100%;max-width:100%;box-sizing:border-box}.date-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.clear-filters-btn{white-space:nowrap}.filter-buttons{display:flex;gap:.75rem;flex-wrap:wrap}.filter-btn{padding:.55rem 1.1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:background var(--transition),color var(--transition),border-color var(--transition)}.filter-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.summary-card{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-item{background:var(--bg-secondary);border:1px solid var(--border-color);padding:1.25rem 1.4rem;border-radius:var(--radius-lg);box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.4rem;transition:transform var(--transition),border-color var(--transition)}.summary-item:hover{transform:translateY(-2px);border-color:var(--border-strong)}.summary-label{color:var(--text-tertiary);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.summary-value{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.summary-item.approved-summary{background:linear-gradient(135deg,var(--success-soft),transparent);border-color:var(--success)}.summary-item.approved-summary .summary-label{color:var(--success);font-weight:700}.summary-item.approved-summary .summary-value{color:var(--success)}.expenses-table-wrapper{display:flex;flex-direction:column;gap:1rem}.table-header-actions{display:flex;justify-content:flex-end;align-items:center;gap:.6rem;padding:0 .5rem}.btn-export{background:var(--success-soft);color:var(--success);padding:.5rem 1rem;border:1px solid rgba(16,185,129,.35);border-radius:var(--radius);font-size:.9rem;font-weight:600;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),transform 80ms ease;white-space:nowrap;display:flex;align-items:center;gap:.5rem}.btn-export:hover{background:var(--success);color:#fff;border-color:var(--success);transform:translateY(-1px)}[data-theme=dark] .btn-export{background:#34d39924;color:#34d399;border-color:#34d39966}[data-theme=dark] .btn-export:hover{background:#10b981;color:#fff;border-color:#10b981}.btn-export:active{transform:translateY(0)}.expenses-table-container{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden}.expenses-table{width:100%;border-collapse:collapse}.expenses-table thead{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.expenses-table th{padding:.85rem 1rem;text-align:left;font-weight:600;color:var(--text-secondary);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.expenses-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition),color var(--transition);position:relative;color:var(--accent);font-weight:700}.expenses-table th.sortable:hover{background:var(--bg-hover);color:var(--accent-hover)}.expenses-table th.sortable:active{background:var(--bg-hover)}.sort-arrow{display:inline-block;margin-inline-start:.35em;font-size:.7em;line-height:1;opacity:.45;transition:opacity var(--transition),color var(--transition)}.expenses-table th.sortable:hover .sort-arrow{opacity:.8}.sort-arrow.active{opacity:1;color:var(--accent)}.expenses-table td{padding:.85rem 1rem;color:var(--text-secondary);vertical-align:middle;font-size:.92rem}.expenses-table tbody tr{min-height:56px;height:56px;border-bottom:1px solid var(--border-color);transition:background var(--transition)}.expenses-table tbody tr:hover{background:var(--bg-hover)}.expenses-table tbody tr:last-child{border-bottom:none}.category-cell{display:inline-flex;flex-direction:column;align-items:flex-start;gap:.3rem}.category-tag{display:inline-block;padding:.22rem .7rem;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;border:1px solid transparent}.subcategory-tag{display:inline-block;padding:.18rem .6rem;background:transparent;color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-pill);font-size:.72rem;font-weight:500;white-space:nowrap}.subcategory-tag:before{content:"•";margin-inline-end:.3rem;opacity:.6}.file-name-tag{display:inline-block;padding:.22rem .7rem;background:#a855f71f;color:#a855f7;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;cursor:help;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid transparent}.manual-tag{display:inline-block;padding:.22rem .7rem;background:var(--warning-soft);color:var(--warning);border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;border:1px solid transparent}.recurring-tag{display:inline-block;padding:.22rem .7rem;background:#14b8a61f;color:#14b8a6;border-radius:var(--radius-pill);font-size:.8rem;font-weight:600;border:1px solid transparent}.amount{font-weight:600;color:var(--text-primary);font-variant-numeric:tabular-nums}.amount-refund{display:inline-flex;align-items:baseline;gap:.25rem;color:var(--text-secondary, #6b7280)}.amount-refund .amount-original{font-weight:500;font-size:.85em;opacity:.8;text-decoration:line-through}.status-badge{display:inline-block;padding:.28rem .75rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;text-transform:capitalize;border:1px solid transparent;letter-spacing:.02em}.badge-approved{background:var(--success-soft);color:var(--success);border-color:#10b9814d}.badge-rejected{background:var(--danger-soft);color:var(--danger);border-color:#ef44444d}.badge-pending{background:var(--warning-soft);color:var(--warning);border-color:#f59e0b4d}.level-badge{display:inline-block!important;padding:.28rem .8rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;text-transform:capitalize;letter-spacing:.02em;border:1px solid transparent;visibility:visible!important;opacity:1!important}.level-low{background:#14b8a624;color:#0d9488;border-color:#14b8a64d}.level-medium{background:var(--warning-soft);color:var(--warning);border-color:#f59e0b4d}.level-high{background:#f9731624;color:#ea580c;border-color:#f973164d}.level-very-high,.level-very_high,.level-critical{background:var(--danger);color:#fff;border-color:var(--danger)}.level-unknown{background:var(--bg-tertiary);color:var(--text-tertiary);border-color:var(--border-color)}.level-refund{background:var(--success-soft);color:var(--success);border-color:#10b9814d}.level-recurring{background:#6366f126;color:#6366f1;border-color:#6366f159}[data-theme=dark] .level-recurring{color:#a5b4fc}[data-theme=dark] .level-low{color:#5eead4}[data-theme=dark] .level-high{color:#fb923c}.level-cell{min-width:100px;white-space:nowrap;text-align:center;padding:1rem!important}.expenses-table td.actions{text-align:center;padding:1rem}.actions{display:flex;gap:.5rem;justify-content:center;align-items:center;margin:0 auto;width:fit-content}.btn-delete{background:var(--danger-soft);color:var(--danger);border:1px solid transparent}.btn-delete:hover:not(:disabled){background:var(--danger);color:#fff;border-color:var(--danger);transform:scale(1.05)}.merged-by-business .business-cell{font-weight:600;color:var(--text-primary)}.count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.6rem;height:1.6rem;padding:0 .5rem;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.merged-by-business .date-range-cell{white-space:nowrap;color:var(--text-secondary);font-variant-numeric:tabular-nums}.merged-row-clickable{cursor:pointer;transition:background .15s ease}.merged-row-clickable:hover{background:var(--accent-soft)}.merged-details-summary{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;margin-bottom:1rem;color:var(--text-secondary);font-size:.9rem;font-weight:600}.merged-details-table{width:100%}.merged-details-files{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .6rem;margin-bottom:1rem}.merged-details-files__label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.merged-refund-note{font-size:.78rem;font-weight:600;color:var(--success);white-space:nowrap}@media(max-width:1024px){.expenses-table-container{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--accent, #6c5cf7) transparent}.expenses-table-container::-webkit-scrollbar{height:8px;-webkit-appearance:none}.expenses-table-container::-webkit-scrollbar-track{background:var(--bg-secondary)}.expenses-table-container::-webkit-scrollbar-thumb{background:var(--accent, #6c5cf7);border-radius:4px}.expenses-table{min-width:800px}}.warning-banner{background:var(--warning-soft);color:var(--warning);padding:.85rem 1.25rem;border-radius:var(--radius-lg);margin-bottom:1.25rem;border-left:4px solid var(--warning);display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:var(--shadow);animation:slideDown .3s ease-out}.info-banner{background:var(--accent-soft);color:var(--accent);padding:.85rem 1.25rem;border-radius:var(--radius-lg);margin-bottom:1.25rem;border-left:4px solid var(--accent);display:flex;justify-content:space-between;align-items:center;gap:1rem;box-shadow:var(--shadow);animation:slideDown .3s ease-out}.warning-actions{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.btn-warning-outline{background:transparent;color:var(--warning);padding:.55rem 1.1rem;border:1px solid var(--warning);border-radius:var(--radius);font-size:.92rem;font-weight:600;cursor:pointer;box-shadow:none;white-space:nowrap}.btn-warning-outline:hover:not(:disabled){background:#f59e0b1f;box-shadow:none;transform:none}.btn-warning{background:var(--warning);color:#fff;padding:.55rem 1.1rem;border:1px solid var(--warning);border-radius:var(--radius);font-size:.92rem;font-weight:600;cursor:pointer;transition:filter var(--transition),transform 80ms ease,box-shadow var(--transition);white-space:nowrap}.btn-warning:hover{filter:brightness(.95);transform:translateY(-1px);box-shadow:0 4px 12px #f59e0b59}@media(max-width:768px){.page-container{padding:1rem}.page-header{flex-direction:column;align-items:flex-start}.page-header h1{font-size:1.5rem}.header-actions{width:100%}.header-actions button{flex:1;min-width:120px;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;line-height:1.4}.summary-card{grid-template-columns:1fr}.filter-actions{flex-direction:column}.filter-actions button{width:100%}.category-filter-group{min-width:100%}.date-range-container{flex-direction:column;align-items:stretch}.date-range-container .btn{width:100%;min-height:48px}.date-input-group{min-width:100%;width:100%}.date-input{width:100%;min-width:0;font-size:16px}.filter-buttons{flex-direction:column}.filter-btn{width:100%}.warning-banner{flex-direction:column;align-items:flex-start;gap:1rem}.btn-warning{width:100%}.table-header-actions{justify-content:stretch;gap:.6rem}.table-header-actions .btn,.table-header-actions .btn-export{flex:1 1 0;width:auto;min-height:46px;white-space:nowrap;justify-content:center}}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease}.loading-spinner-container{background:var(--bg-secondary);padding:3rem 2.5rem;border-radius:16px;box-shadow:0 20px 60px #0000004d;text-align:center;min-width:300px;max-width:400px}.loading-spinner{width:60px;height:60px;border:5px solid #f3f3f3;border-top:5px solid #e74c3c;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1.5rem}.loading-spinner-container p{color:var(--text-primary);font-size:1.2rem;font-weight:600;margin:0 0 .5rem}.loading-subtext{color:var(--text-tertiary)!important;font-size:.95rem!important;font-weight:400!important;margin-top:.5rem!important}.btn .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}.spinner-small{display:inline-block;width:14px;height:14px;border:2px solid rgba(0,0,0,.2);border-top:2px solid #e74c3c;border-radius:50%;animation:spin .8s linear infinite}.btn-icon:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}[data-theme=dark] .loading-spinner-container{background:var(--bg-secondary);box-shadow:0 20px 60px #00000080}[data-theme=dark] .loading-spinner-container p{color:var(--text-primary)}[data-theme=dark] .loading-spinner{border-color:var(--bg-tertiary);border-top-color:#e74c3c}[data-theme=dark] .spinner-small{border-color:#fff3;border-top-color:#e74c3c}[dir=rtl] .page-header,[dir=rtl] .page-header h1,[dir=rtl] .header-actions{direction:rtl}[dir=rtl] .header-actions .btn{direction:rtl;text-align:center}[dir=rtl] .search-input,[dir=rtl] .category-filter-group label,[dir=rtl] .date-input-group label,[dir=rtl] .category-select,[dir=rtl] .date-input{text-align:right;direction:rtl}[dir=rtl] .expenses-table th,[dir=rtl] .expenses-table td,[dir=rtl] .expenses-table th.sortable{text-align:right}[dir=rtl] .level-cell{text-align:center}[dir=rtl] .actions{justify-content:center}[dir=rtl] .warning-banner{border-left:none;border-right:4px solid var(--warning)}[dir=rtl] .info-banner{border-left:none;border-right:4px solid var(--accent)}[dir=rtl] .btn .spinner{margin-right:0;margin-left:.5rem}.tooltip-container{position:relative}.tooltip-container:before,.tooltip-container:after{opacity:0;pointer-events:none;transition:opacity .3s ease,transform .3s ease;position:absolute;z-index:1000}.tooltip-container:before{content:attr(data-tooltip);background:#000000e6;color:#fff;padding:.4rem .6rem;border-radius:6px;font-size:.75rem;font-weight:400;white-space:normal;max-width:250px;min-width:150px;text-align:left;line-height:1.4;box-shadow:0 4px 12px #0000004d;top:100%;left:50%;transform:translate(-50%) translateY(8px);margin-top:8px;word-wrap:break-word}.tooltip-container:after{content:"";border:5px solid transparent;border-bottom-color:#000000e6;top:100%;left:50%;transform:translate(-50%) translateY(2px);margin-top:2px}.tooltip-container:hover:before,.tooltip-container:hover:after{opacity:1;pointer-events:auto}.tooltip-container:disabled:before,.tooltip-container:disabled:after{display:none}[dir=rtl] .tooltip-container:before{text-align:right}[data-theme=dark] .tooltip-container:before{background:#2d3748f2;color:var(--text-primary);border:1px solid rgba(255,255,255,.1)}[data-theme=dark] .tooltip-container:after{border-bottom-color:#2d3748f2}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:10000;padding:20px}@media(max-width:768px){.modal-content{max-width:100%;margin:10px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}.expenses-table th input[type=checkbox]:hover:not(:disabled),.expenses-table td input[type=checkbox]:hover:not(:disabled){transform:scale(1.06)}.expense-table-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px 18px;background:var(--bg-secondary);border-top:1px solid var(--border-color)}.expense-table-pagination .btn{min-width:40px;height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:600;border-radius:var(--radius);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.expense-table-pagination .btn:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.expense-table-pagination .btn:disabled{opacity:.4;cursor:not-allowed}.expense-table-pagination .pagination-info{font-size:.9rem;color:var(--text-secondary);font-weight:600;letter-spacing:.02em;padding:0 .4rem;font-variant-numeric:tabular-nums}.expenses-table-container .empty-state{display:flex;flex-direction:column;align-items:center;gap:1.25rem;text-align:center;padding:3.5rem 1.5rem}.expenses-table-container .empty-state p{color:var(--text-secondary);font-size:1rem;margin:0}.expenses-table-container .btn{padding:.65rem 1.25rem;border:1px solid var(--border-color);border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition),border-color var(--transition),transform 80ms ease}.expenses-table-container .btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.expenses-table-container .btn-primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.page-header{flex-direction:row;justify-content:space-between;align-items:flex-start}.header-actions .btn,.modal-footer .btn,.expense-form-modal .btn,.merged-details-modal .btn{padding:.65rem 1.15rem;border:1px solid transparent;border-radius:var(--radius, 8px);font-size:.95rem;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:background .15s ease,border-color .15s ease,color .15s ease,transform 80ms ease,box-shadow .15s ease}.header-actions .btn:disabled,.modal-footer .btn:disabled{opacity:.55;cursor:not-allowed}.header-actions .btn-success,.modal-footer .btn-success{background:var(--success-soft, rgba(16, 185, 129, .14));color:var(--success, #10b981);border-color:#10b98159}.header-actions .btn-success:hover:not(:disabled),.modal-footer .btn-success:hover:not(:disabled){background:var(--success, #10b981);color:#fff;border-color:var(--success, #10b981);transform:translateY(-1px)}.header-actions .btn-secondary,.modal-footer .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.header-actions .btn-secondary:hover:not(:disabled),.modal-footer .btn-secondary:hover:not(:disabled){background:var(--bg-hover, var(--bg-tertiary));border-color:var(--border-strong, var(--border-color))}.add-expense-modal{max-width:700px;max-height:90vh;overflow:hidden}.add-expense-modal .modal-body{overflow-y:scroll;scrollbar-width:thin;scrollbar-color:var(--accent, #6c5cf7) transparent}.add-expense-modal .modal-body::-webkit-scrollbar{width:8px;-webkit-appearance:none}.add-expense-modal .modal-body::-webkit-scrollbar-track{background:var(--bg-secondary)}.add-expense-modal .modal-body::-webkit-scrollbar-thumb{background:var(--accent, #6c5cf7);border-radius:4px}.expense-form-modal{display:flex;flex-direction:column;gap:1.25rem}.expense-form-modal .form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.expense-form-modal .form-group{display:flex;flex-direction:column;gap:.5rem}.expense-form-modal .form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.expense-form-modal .required{color:#e74c3c}.expense-form-modal .form-group input,.expense-form-modal .form-group select,.expense-form-modal .form-group textarea{padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;font-family:inherit;transition:all .2s;background:var(--input-bg, white);color:var(--text-primary)}.expense-form-modal .category-select:invalid{color:var(--text-tertiary)}.expense-form-modal .category-select option:not(:disabled){color:var(--text-primary)}.expense-form-modal .form-group input:focus,.expense-form-modal .form-group select:focus,.expense-form-modal .form-group textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.expense-form-modal .form-group input:disabled,.expense-form-modal .form-group select:disabled,.expense-form-modal .form-group textarea:disabled{background:var(--bg-tertiary);cursor:not-allowed}.expense-form-modal .form-group textarea{resize:vertical;min-height:80px}.expense-form-modal .error-message{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:6px;border-left:4px solid #e74c3c;font-size:.9rem;margin-top:.5rem}[data-theme=dark] .expense-form-modal .form-group input,[data-theme=dark] .expense-form-modal .form-group select,[data-theme=dark] .expense-form-modal .form-group textarea{background:var(--input-bg, #3d3d3d);border-color:var(--border-color, #404040);color:var(--text-primary)}[data-theme=dark] .expense-form-modal .form-group label{color:var(--text-primary)}[data-theme=dark] .expense-form-modal .error-message{background:#e74c3c33;color:#ff6b6b;border-left-color:#e74c3c}[dir=rtl] .expense-form-modal .form-group label,[dir=rtl] .expense-form-modal .form-group input,[dir=rtl] .expense-form-modal .form-group select,[dir=rtl] .expense-form-modal .form-group textarea{text-align:right;direction:rtl}[dir=rtl] .expense-form-modal .required{margin-left:.25rem;margin-right:0}.expense-form-modal .flag-pills-group{gap:.5rem}.expense-form-modal .flag-pills{display:flex;flex-wrap:wrap;gap:.5rem}.expense-form-modal .flag-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.55rem 1rem;border-radius:999px;border:1.5px solid var(--border-color, #d6dde8);background:var(--input-bg, #f7f9fc);color:var(--text-primary, #2c3e50);font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .12s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease;-webkit-user-select:none;user-select:none}.expense-form-modal .flag-pill:hover:not(:disabled){transform:translateY(-1px);border-color:#94a3b8}.expense-form-modal .flag-pill:disabled{opacity:.55;cursor:not-allowed}.expense-form-modal .flag-pill__icon{font-size:1rem;line-height:1}.expense-form-modal .flag-pill--refund.is-active{background:linear-gradient(135deg,#f97316,#ef4444);border-color:transparent;color:#fff;box-shadow:0 4px 12px #ef444459}.expense-form-modal .flag-pill-note{margin:.25rem 0 0;font-size:.85rem;color:var(--text-secondary, #64748b);line-height:1.4}.expense-form-modal .flag-pill-note--refund{color:#ef4444;font-weight:500}.expense-form-modal .flag-pill--recurring.is-active{background:linear-gradient(135deg,var(--accent, #6366f1),#a855f7);border-color:transparent;color:#fff;box-shadow:0 4px 12px #6366f159}.expense-form-modal .flag-pill-note--recurring{color:var(--accent, #6366f1);font-weight:500}[data-theme=dark] .expense-form-modal .flag-pill{background:var(--input-bg, #2d2d2d);border-color:var(--border-color, #404040);color:var(--text-primary, #e5e7eb)}[data-theme=dark] .expense-form-modal .flag-pill--refund.is-active{background:linear-gradient(135deg,#f97316,#ef4444);border-color:transparent;color:#fff;box-shadow:0 4px 12px #ef444459}[data-theme=dark] .expense-form-modal .flag-pill--recurring.is-active{background:linear-gradient(135deg,var(--accent, #6366f1),#a855f7);border-color:transparent;color:#fff;box-shadow:0 4px 12px #6366f159}[data-theme=dark] .expense-form-modal .flag-pill:hover:not(:disabled){border-color:var(--text-secondary)}[data-theme=dark] .expense-form-modal .flag-pill-note{color:var(--text-secondary, #9ca3af)}[data-theme=dark] .expense-form-modal .flag-pill-note--refund{color:#fb7185}[data-theme=dark] .expense-form-modal .flag-pill-note--recurring{color:#a5b4fc}.merged-details-modal{max-width:720px}@media(max-width:768px){.add-expense-modal,.merged-details-modal{max-width:100%;margin:10px}.expense-form-modal .form-row{grid-template-columns:1fr}.page-header{flex-direction:column}}.subcategory-chips{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.subcategory-chip{display:inline-block;padding:1px 8px;border-radius:var(--radius-pill);font-size:.72rem;background:var(--accent-soft);color:var(--accent);white-space:nowrap}.fc-page{max-width:720px;margin:0 auto;padding:24px 16px 60px}.fc-top-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:28px}.fc-title{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary);flex:1;text-align:center}.fc-back{background:transparent;border:0;color:var(--text-secondary);font-size:.9rem;cursor:pointer;padding:6px 10px;border-radius:6px}.fc-back:hover{background:var(--bg-hover, #f3f4f6)}.fc-stack{position:relative;max-width:480px;margin:0 auto}.fc-card{background:var(--bg-secondary);border-radius:18px;box-shadow:0 12px 32px #0000001f;border:1px solid var(--border-color, #e5e7eb);overflow:hidden;position:relative;z-index:3;height:540px;display:flex;flex-direction:column}.fc-behind-1,.fc-behind-2{background:var(--bg-secondary);border-radius:18px;position:relative;z-index:2}.fc-behind-1{height:14px;margin:-8px 14px 0;box-shadow:0 4px 12px #0000000f;opacity:.7}.fc-behind-2{height:10px;margin:-6px 28px 0;box-shadow:0 2px 8px #0000000a;opacity:.4;z-index:1}.fc-util-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 0}.fc-delete-link{color:var(--text-secondary);font-size:.72rem;background:transparent;border:0;padding:4px 8px;border-radius:6px;cursor:pointer}.fc-delete-link:hover{color:#ef4444;background:#fef2f2}.fc-delete-link:disabled{opacity:.5;cursor:not-allowed}.fc-back-link{display:inline-flex;align-items:center;gap:4px;color:var(--text-secondary);font-size:.75rem;font-weight:600;background:transparent;border:1px solid var(--border-color, #cbd5e1);padding:4px 10px;border-radius:999px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease}.fc-back-link:hover:not(:disabled){color:#6366f1;border-color:#6366f1;background:#6366f114}.fc-back-link:disabled{opacity:.35;cursor:not-allowed}[data-theme=dark] .fc-back-link{border-color:#475569;color:#cbd5e1}[data-theme=dark] .fc-back-link:hover:not(:disabled){color:#a5b4fc;border-color:#6366f1;background:#6366f12e}.fc-card-body{padding:8px 28px 28px;flex:1;min-height:0;display:flex;flex-direction:column}.fc-scroll{flex:1;min-height:0;overflow-y:scroll;scrollbar-width:thin;scrollbar-color:rgba(124,58,237,.55) transparent;display:flex;flex-direction:column}.fc-scroll::-webkit-scrollbar{width:8px}.fc-scroll::-webkit-scrollbar-track{background:#7f7f7f1a;border-radius:4px}.fc-scroll::-webkit-scrollbar-thumb{background:#7c3aed8c;border-radius:4px}.fc-scroll::-webkit-scrollbar-thumb:hover{background:#7c3aedcc}.fc-card-body .fc-expense-list{flex:0 0 auto}.fc-card-body .fc-actions{flex-shrink:0;margin-top:16px}.fc-card-body .fc-progress{flex-shrink:0}.fc-biz-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}.fc-biz-name{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0}.fc-biz-input{font-size:1.5rem;font-weight:700;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;padding:4px 10px;flex:1;min-width:0}.fc-merge-badge{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;padding:4px 10px;border-radius:20px;font-size:.72rem;font-weight:600;box-shadow:0 2px 8px #4f46e54d}.fc-history-badge{border:1px solid rgba(16,185,129,.45);background:#10b9811a;color:#059669;padding:3px 9px;border-radius:20px;font-size:.72rem;font-weight:600;white-space:nowrap}[data-theme=dark] .fc-history-badge{color:#34d399;border-color:#34d39966;background:#34d3991f}.fc-date-range{color:var(--text-secondary);font-size:.82rem;margin:0 0 18px}.fc-amount-total{font-size:2.6rem;font-weight:700;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1}.fc-amount-note{font-size:.8rem;color:var(--text-secondary);margin-bottom:14px}.fc-amount-refunded{text-decoration:line-through;color:var(--text-secondary);opacity:.75}.fc-refund-pill{align-self:flex-start;max-width:max-content;margin:6px 0 14px;padding:2px 10px;border-radius:999px;font-size:.7rem;font-weight:600;background:#fef3c7;color:#92400e;border:1px solid #fde68a;line-height:1.4}[data-theme=dark] .fc-refund-pill{background:#f59e0b2e;color:#fbbf24;border-color:#f59e0b59}.fc-status-pill-approve{background:#dcfce7;color:#166534;border-color:#bbf7d0}[data-theme=dark] .fc-status-pill-approve{background:#22c55e2e;color:#4ade80;border-color:#22c55e59}.fc-status-pill-delete{background:#fee2e2;color:#991b1b;border-color:#fecaca}[data-theme=dark] .fc-status-pill-delete{background:#ef44442e;color:#f87171;border-color:#ef444459}.fc-nav-group{display:flex;align-items:center;gap:8px}.fc-next-link span{display:inline-block;transform:scaleX(-1)}.fc-cat-row{display:flex;align-items:center;gap:8px;margin:8px 0 20px;flex-wrap:wrap}.fc-cat-label{font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;font-weight:600;letter-spacing:.04em}.fc-cat-chip{display:inline-block;background:#eef2ff;color:#4338ca;padding:6px 14px;border-radius:16px;font-size:.85rem;font-weight:500}.fc-cat-pencil{opacity:.6;margin-left:6px;font-size:.75rem}.fc-cat-position{display:inline-flex;align-items:center;padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-secondary);background:var(--bg-tertiary);border:1px solid var(--border-color);letter-spacing:.02em}.fc-cat-input{border:1px solid var(--border-color, #e5e7eb);border-radius:16px;padding:6px 12px;font-size:.85rem;background:var(--bg-secondary)}.category-chip-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-color, #e5e7eb);border-radius:16px;padding:6px 32px 6px 14px;font-size:.85rem;font-weight:500;color:var(--text-primary);background-color:var(--bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.category-chip-select:hover{border-color:var(--accent, #6366f1)}.category-chip-select:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px #6366f140}.category-chip-select:disabled{opacity:.55;cursor:not-allowed}[dir=rtl] .category-chip-select{padding:6px 14px 6px 32px;background-position:left 10px center}.fc-expense-list{background:var(--bg-tertiary);border-radius:10px;padding:10px 12px;margin:0 0 20px;list-style:none;max-height:140px;overflow:auto}.fc-expense-item{display:flex;justify-content:space-between;padding:4px 0;font-size:.78rem;color:var(--text-primary);border-bottom:1px dashed var(--border-color, #e5e7eb)}.fc-expense-item:last-child{border:0}.fc-expense-amt{font-weight:600}.fc-expense-list-actionable .fc-expense-item{padding:8px 4px;border-radius:6px;transition:background .12s ease;gap:10px}.fc-expense-list-actionable .fc-expense-item:hover{background:#6366f10f}.fc-item-actions{display:inline-flex;gap:4px;margin-inline-end:auto;align-items:center}.fc-item-act{width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1px solid var(--border-color, #e5e7eb);background:var(--bg-secondary, #fff);color:var(--text-secondary);font-size:.85rem;font-weight:700;cursor:pointer;line-height:1;transition:transform 80ms ease,background .12s ease,color .12s ease,border-color .12s ease}.fc-item-act:hover:not(:disabled){transform:scale(1.08)}.fc-item-act:disabled{opacity:.4;cursor:not-allowed}.fc-item-act-approve:hover:not(:disabled){background:#d1fae5;color:#065f46;border-color:#6ee7b7}.fc-item-act-refund:hover:not(:disabled){background:#dbeafe;color:#1e40af;border-color:#93c5fd}.fc-item-act-delete:hover:not(:disabled){background:#fee2e2;color:#991b1b;border-color:#fca5a5}.fc-item-act-active.fc-item-act-approve{background:#10b981;color:#fff;border-color:#10b981}.fc-item-act-active.fc-item-act-refund{background:#f59e0b;color:#fff;border-color:#f59e0b}.fc-item-act-active.fc-item-act-delete{background:#ef4444;color:#fff;border-color:#ef4444}.fc-row-status{margin-inline-start:8px;padding:1px 8px;border-radius:999px;font-size:.68rem;font-weight:600;border:1px solid transparent;align-self:center}.fc-row-status-approve{background:#dcfce7;color:#166534;border-color:#bbf7d0}.fc-row-status-refund{background:#fef3c7;color:#92400e;border-color:#fde68a}.fc-row-status-delete{background:#fee2e2;color:#991b1b;border-color:#fecaca}[data-theme=dark] .fc-row-status-approve{background:#22c55e2e;color:#4ade80;border-color:#22c55e59}[data-theme=dark] .fc-row-status-refund{background:#f59e0b2e;color:#fbbf24;border-color:#f59e0b59}[data-theme=dark] .fc-row-status-delete{background:#ef44442e;color:#f87171;border-color:#ef444459}.fc-expense-item-delete .fc-expense-meta,.fc-expense-item-delete .fc-expense-amt{text-decoration:line-through;opacity:.65}.fc-expense-item-approve{background:#10b9810f}.fc-expense-item-refund{background:#f59e0b0f}.fc-expense-item-delete{background:#ef44440f}[data-theme=dark] .fc-expense-item-approve{background:#10b9811f}[data-theme=dark] .fc-expense-item-refund{background:#f59e0b1f}[data-theme=dark] .fc-expense-item-delete{background:#ef44441f}[data-theme=dark] .fc-expense-list-actionable .fc-expense-item:hover{background:#6366f126}[data-theme=dark] .fc-item-act{background:#ffffff0d;border-color:#ffffff1f;color:var(--text-secondary)}[data-theme=dark] .fc-item-act-approve:hover:not(:disabled){background:#10b98140;color:#6ee7b7;border-color:#10b981}[data-theme=dark] .fc-item-act-refund:hover:not(:disabled){background:#3b82f640;color:#93c5fd;border-color:#3b82f6}[data-theme=dark] .fc-item-act-delete:hover:not(:disabled){background:#ef444440;color:#fca5a5;border-color:#ef4444}.fc-actions{display:grid;gap:8px}.fc-actions-4{grid-template-columns:1fr 1fr 1fr 1fr}.fc-actions-3{grid-template-columns:1fr 1fr 1fr}.fc-actions-2{grid-template-columns:1fr 1fr}.fc-act{width:100%;padding:14px;border-radius:12px;text-align:center;font-weight:600;font-size:.9rem;cursor:pointer;border:0;transition:transform .12s,box-shadow .12s,background-color .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fc-act:hover{transform:translateY(-1px)}.fc-act:disabled{opacity:.5;cursor:not-allowed;transform:none}.fc-act-skip{background:#f3f4f6;color:#4b5563}.fc-act-edit{background:#fef3c7;color:#92400e}.fc-act-approve{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b98159}.fc-act-delete{background:#ef4444;color:#fff}.fc-act-refund{background:#dbeafe;color:#1e40af}.fc-progress{display:flex;flex-direction:column;gap:10px;margin-top:18px}.fc-progress-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;align-items:stretch}.fc-progress-stat{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:10px 8px;background:var(--bg-tertiary);border-radius:10px;border:1px solid var(--border-color, #e5e7eb);min-width:0}.fc-progress-stat-cat{background:linear-gradient(135deg,#4f46e514,#7c3aed14);border-color:#4f46e540}.fc-progress-stat-num{font-size:1.5rem;font-weight:700;color:var(--text-primary);line-height:1.1;letter-spacing:-.01em}.fc-progress-stat-cat .fc-progress-stat-num{color:#4f46e5}.fc-progress-stat-sep{margin:0 2px;opacity:.4;font-weight:500}.fc-progress-stat-label{font-size:.68rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-top:4px;text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fc-progress-label{font-size:.78rem;color:var(--text-primary);font-weight:600}.fc-progress-track{height:8px;background:#7f7f7f26;border-radius:4px;overflow:hidden}.fc-progress-fill{height:100%;background:linear-gradient(90deg,#4f46e5,#7c3aed);border-radius:4px;transition:width .4s ease}[data-theme=dark] .fc-progress-stat-cat{background:linear-gradient(135deg,#a5b4fc1f,#c4b5fd1f);border-color:#a5b4fc59}[data-theme=dark] .fc-progress-stat-cat .fc-progress-stat-num{color:#a5b4fc}.fc-skipped-pill{display:inline-flex;align-items:center;gap:6px;background:var(--bg-tertiary);border:1px solid var(--border-color, #e5e7eb);padding:4px 10px;border-radius:16px;font-size:.75rem;color:var(--text-secondary);cursor:pointer}.fc-skipped-pill:hover{background:#eef2ff;color:#4338ca}.fc-skipped-view{color:#4f46e5;font-weight:600}.fc-empty{text-align:center;padding:60px 20px}.fc-empty-title{font-size:1.8rem;margin:0 0 8px;color:var(--text-primary)}.fc-empty-stats{color:var(--text-secondary);font-size:1rem;margin:0 0 24px}.fc-empty-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.fc-empty-actions .fc-act{width:auto;min-width:220px;padding-inline:32px}.fc-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.fc-modal{background:var(--bg-secondary);border-radius:14px;padding:24px;max-width:420px;width:100%;box-shadow:0 20px 40px #0003}.fc-modal-title{margin:0 0 8px;font-size:1.1rem;color:var(--text-primary)}.fc-modal-message{color:var(--text-secondary);font-size:.9rem;margin:0 0 18px}.fc-modal-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.rm-modal{max-width:480px}.rm-option{display:flex;align-items:flex-start;gap:12px;padding:14px;border:1px solid var(--border-color, #e5e7eb);border-radius:12px;cursor:pointer;margin-bottom:10px;transition:border-color .15s ease,background .15s ease;background:var(--bg-primary, #fff)}.rm-option:hover:not(.rm-option-disabled){border-color:#6366f1}.rm-option-active{border-color:#6366f1;background:#6366f10f}.rm-option-disabled{opacity:.55;cursor:not-allowed}.rm-option input[type=radio]{margin-top:4px;flex-shrink:0}.rm-option-body{flex:1;min-width:0}.rm-option-title{font-weight:600;color:var(--text-primary, #111827);margin-bottom:4px}.rm-option-desc{font-size:.85rem;color:var(--text-secondary, #6b7280)}.rm-amount-row{margin-top:12px;display:flex;flex-direction:column;gap:6px}.rm-amount-label{font-size:.8rem;color:var(--text-secondary, #6b7280)}.rm-amount-input{width:100%;padding:8px 12px;border:1px solid var(--border-color, #cbd5e1);border-radius:8px;font-size:1rem;background:var(--bg-secondary, #fff);color:var(--text-primary, #111827)}.rm-amount-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.rm-amount-error{font-size:.78rem;color:#ef4444}.rm-amount-remaining{font-size:.78rem;color:#10b981;font-weight:500}[data-theme=dark] .rm-option{background:var(--bg-secondary);border-color:#475569}[data-theme=dark] .rm-option-active{border-color:#6366f1;background:#6366f126}[data-theme=dark] .rm-amount-input{background:var(--bg-tertiary, #1e293b);border-color:#475569;color:#f1f5f9}.fc-intro-card{text-align:center;padding:48px 28px;display:flex;flex-direction:column;align-items:center;gap:16px;background:linear-gradient(135deg,var(--bg-secondary, #f9fafb),var(--bg-tertiary, #f3f4f6))}.fc-intro-lead{font-size:.95rem;color:var(--text-secondary, #6b7280);text-transform:uppercase;letter-spacing:.08em;font-weight:600}.fc-intro-category{font-size:2rem;font-weight:800;color:var(--text-primary, #111827);line-height:1.1;word-break:break-word}.fc-intro-count{font-size:.9rem;color:var(--text-secondary, #6b7280)}.fc-intro-continue{margin-top:12px;min-width:200px}[data-theme=dark] .fc-intro-card{background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary))}[data-theme=dark] .fc-intro-lead{color:var(--text-secondary)}[data-theme=dark] .fc-intro-category{color:var(--text-primary)}[data-theme=dark] .fc-intro-count{color:var(--text-secondary)}.fc-undo-toast{display:flex;align-items:center;justify-content:space-between;gap:12px}.fc-undo-message{font-size:.85rem;color:var(--text-primary)}.fc-undo-button{background:transparent;border:1px solid #4f46e5;color:#4f46e5;padding:4px 12px;border-radius:6px;font-weight:600;cursor:pointer;font-size:.8rem;white-space:nowrap;flex-shrink:0}.fc-undo-button:hover{background:#4f46e5;color:#fff}@media(max-width:480px){.fc-card-body{padding:8px 16px 20px}.fc-amount-total{font-size:2.1rem}.fc-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.fc-act:hover{transform:none}.fc-progress-fill{transition:none}}[dir=rtl] .fc-progress-fill{background:linear-gradient(270deg,#4f46e5,#7c3aed)}[data-theme=dark] .fc-title,[data-theme=dark] .fc-biz-name,[data-theme=dark] .fc-amount-total,[data-theme=dark] .fc-empty-title{color:var(--text-primary)}[data-theme=dark] .fc-back,[data-theme=dark] .fc-date-range,[data-theme=dark] .fc-amount-note,[data-theme=dark] .fc-cat-label,[data-theme=dark] .fc-empty-stats{color:var(--text-secondary)}[data-theme=dark] .fc-back:hover{background:var(--bg-tertiary)}[data-theme=dark] .fc-card{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:0 12px 32px #00000073}[data-theme=dark] .fc-behind-1,[data-theme=dark] .fc-behind-2{background:var(--bg-secondary);box-shadow:0 4px 12px #00000059}[data-theme=dark] .fc-delete-link{color:var(--text-tertiary)}[data-theme=dark] .fc-delete-link:hover{color:#fca5a5;background:#ef444426}[data-theme=dark] .fc-biz-input,[data-theme=dark] .fc-cat-input{background:var(--input-bg);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .fc-cat-chip{background:#6366f138;color:#c7d2fe}[data-theme=dark] .fc-cat-position{background:#ffffff0d;border-color:#ffffff1a;color:var(--text-secondary)}[data-theme=dark] .fc-expense-list{background:var(--bg-tertiary)}[data-theme=dark] .fc-expense-item{color:var(--text-secondary);border-bottom-color:var(--border-color)}[data-theme=dark] .fc-act-skip{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .fc-act-edit{background:#f59e0b33;color:#fcd34d}[data-theme=dark] .fc-act-refund{background:#3b82f638;color:#93c5fd}[data-theme=dark] .fc-progress-label{color:var(--text-secondary)}[data-theme=dark] .fc-progress-track{background:#ffffff1a}[data-theme=dark] .fc-skipped-pill{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}[data-theme=dark] .fc-skipped-pill:hover{background:#6366f138;color:#c7d2fe}[data-theme=dark] .fc-skipped-view{color:#a5b4fc}[data-theme=dark] .fc-modal-backdrop{background:#000000a6}[data-theme=dark] .fc-modal{background:var(--bg-secondary);border:1px solid var(--border-color);box-shadow:0 20px 40px #00000080}[data-theme=dark] .fc-modal-title{color:var(--text-primary)}[data-theme=dark] .fc-modal-message{color:var(--text-secondary)}[data-theme=dark] .Toastify__toast:has(.fc-undo-toast),[data-theme=dark] .Toastify__toast--default:has(.fc-undo-toast){background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}[data-theme=dark] .Toastify__toast:has(.fc-undo-toast) .Toastify__close-button{color:var(--text-primary)}[data-theme=dark] .Toastify__toast:has(.fc-undo-toast) .Toastify__progress-bar{background:#a5b4fc}[data-theme=dark] .fc-undo-message{color:var(--text-primary)}[data-theme=dark] .fc-undo-button{border-color:#a5b4fc;color:#a5b4fc}[data-theme=dark] .fc-undo-button:hover{background:#a5b4fc;color:var(--bg-primary)}.fc-cat-row .merged-category-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid var(--border-color, #e5e7eb);border-radius:16px;padding:6px 32px 6px 14px;font-size:.85rem;font-weight:500;color:var(--text-primary);background-color:var(--bg-secondary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;max-width:none}.fc-cat-row .merged-category-select:hover{border-color:var(--accent, #6366f1)}.fc-cat-row .merged-category-select:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px #6366f140}.fc-cat-row .merged-category-select:disabled{opacity:.55;cursor:not-allowed}[dir=rtl] .fc-cat-row .merged-category-select{padding:6px 14px 6px 32px;background-position:left 10px center}.fc-card.fc-intro-card{height:auto;min-height:300px;justify-content:center}.fc-intro-continue{width:auto;align-self:center}.fc-item-act-undo:hover:not(:disabled){background:#e0e7ff;color:#3730a3;border-color:#a5b4fc}[data-theme=dark] .fc-item-act-undo:hover:not(:disabled){background:#6366f140;color:#a5b4fc;border-color:#6366f1}.income-page{max-width:800px;margin:0 auto;padding:24px 20px 48px}.income-header{margin-bottom:24px}.income-title{font-size:28px;font-weight:700;margin:0 0 8px}.income-subtitle{margin:0;color:var(--text-secondary, #94a3b8);font-size:14px;line-height:1.4}.income-total-card{display:flex;flex-direction:column;gap:4px;padding:20px 24px;margin-bottom:24px;background:var(--card-bg, rgba(99, 102, 241, .08));border:1px solid var(--border-color, rgba(99, 102, 241, .25));border-radius:12px}.income-total-label{font-size:13px;color:var(--text-secondary, #94a3b8);text-transform:uppercase;letter-spacing:.06em}.income-total-value{font-size:32px;font-weight:700;color:var(--accent, #6366f1)}.income-total-note{font-size:12px;color:var(--text-secondary, #94a3b8);display:flex;align-items:center;gap:8px}.income-month-input{padding:4px 8px;border-radius:6px;border:1px solid var(--input-border, rgba(148, 163, 184, .3));background:var(--input-bg, rgba(15, 23, 42, .3));color:inherit;font-family:inherit;font-size:13px}.income-list-section{display:flex;flex-direction:column;gap:8px}.income-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column;gap:8px}.income-row{display:grid;grid-template-columns:minmax(0,1fr) 140px auto;align-items:center;gap:12px;padding:14px 16px;background:var(--row-bg, rgba(148, 163, 184, .06));border:1px solid var(--border-color, rgba(148, 163, 184, .15));border-radius:10px}.income-row-editing{grid-template-columns:minmax(0,1fr) 160px auto}.income-row-editing{background:var(--row-bg-active, rgba(99, 102, 241, .08));border-color:#6366f166}.income-row-new{margin-top:4px}.income-row-source{font-weight:600;font-size:16px}.income-row-amount{font-weight:600;font-size:16px;font-variant-numeric:tabular-nums}.income-row-actions{display:flex;gap:6px}.income-input{padding:10px 14px;border-radius:8px;border:1px solid var(--input-border, rgba(148, 163, 184, .3));background:var(--input-bg, rgba(15, 23, 42, .3));color:inherit;font-size:15px;font-family:inherit;min-width:0;box-sizing:border-box}.income-input:focus{outline:none;border-color:var(--accent, #6366f1);box-shadow:0 0 0 2px #6366f140}.income-input-source{width:100%}.income-input-amount{width:100%;text-align:end;font-variant-numeric:tabular-nums;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.income-input-amount::-webkit-outer-spin-button,.income-input-amount::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.income-btn{padding:8px 14px;border:1px solid var(--border-color, rgba(148, 163, 184, .4));background:var(--bg-tertiary, #f1f5f9);color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;font-family:inherit;box-shadow:none;transition:background-color .12s ease,border-color .12s ease}.income-btn:hover:not(:disabled){background:#94a3b82e;border-color:var(--text-secondary);box-shadow:none;transform:none}.income-btn-primary{background:var(--accent, #6366f1);border-color:var(--accent, #6366f1);color:#fff}.income-btn-primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent, #6366f1)}.income-btn-danger{color:#ef4444;border-color:#ef444466}.income-btn-danger:hover:not(:disabled){background:#ef44441a}.income-btn-add{align-self:flex-start;background:transparent;border:1px dashed var(--accent, #6366f1);color:var(--accent, #6366f1)}.income-btn-add:hover{background:#6366f114}.income-empty,.income-loading{padding:32px;text-align:center;color:var(--text-secondary, #94a3b8);border:1px dashed var(--border-color, rgba(148, 163, 184, .25));border-radius:10px}@media(max-width:600px){.income-row{grid-template-columns:1fr;gap:8px}.income-row-amount{text-align:start}.income-input-amount{width:100%}}.upload-section{background:var(--bg-secondary);padding:2rem;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:3rem}.subtitle{color:var(--text-tertiary);font-size:1rem;margin-top:.5rem}.file-format-notice{margin:1rem auto;padding:1rem 1.25rem;background:linear-gradient(135deg,#fff3cd,#ffeaa7);border-left:4px solid var(--warning);border-radius:8px;color:#856404;font-size:.85rem;box-shadow:0 2px 8px #ffc10733;max-width:800px;text-align:center}.notice-header{margin-bottom:.5rem;font-size:.95rem}.notice-header strong{color:#856404;font-size:1rem}.notice-text{margin:.5rem 0;line-height:1.4;font-size:.85rem}.required-columns-list{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin:.75rem 0;padding:.75rem;background:#fff9;border-radius:6px}.column-requirement{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .6rem;background:var(--bg-secondary);border-radius:6px;box-shadow:0 1px 3px #0000001a}.column-name{font-weight:600;color:var(--text-primary);font-size:.8rem}.column-badge{padding:.2rem .5rem;border-radius:12px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px}.required-badge{background:#e74c3c;color:#fff}.optional-badge{background:#95a5a6;color:#fff}.recommended-badge{background:#f39c12;color:#fff}.unique-id-requirement{border:1px solid #f39c12}.unique-id-note{margin:.6rem 0 0;color:#f39c12;font-size:.8rem;font-weight:500}.notice-footer{margin-top:.5rem;margin-bottom:0;font-style:italic;color:#856404;font-size:.8rem}.credit-card-company-note{margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #2196f3;border-radius:8px;box-shadow:0 2px 8px #2196f333}.credit-card-company-note .note-text{margin:0;color:#1565c0;font-size:.9rem;font-weight:600;line-height:1.5}.upload-dropzone{border:3px dashed #cbd5e0;border-radius:12px;padding:3rem 2rem;text-align:center;transition:all .3s;background:var(--bg-tertiary)}.upload-dropzone:hover{border-color:var(--accent);background:#f0f4ff}.upload-dropzone.has-file{border-color:#2ecc71;background:#f0fff4}.upload-content{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-icon{font-size:4rem}.file-icon{font-size:3rem}.upload-text{font-size:1.2rem;color:var(--text-primary);font-weight:600}.upload-subtext{color:var(--text-tertiary);font-size:1rem}.file-input-label{cursor:pointer}.file-name{font-size:1.1rem;font-weight:600;color:var(--text-primary)}.file-size{color:var(--text-tertiary);font-size:.95rem}.supported-formats{color:#95a5a6;font-size:.85rem;margin-top:.5rem}.upload-actions{display:flex;justify-content:center;margin-top:1.5rem}.btn-upload{padding:1rem 2rem;font-size:1.1rem}.upload-result{margin-top:2rem;padding:1.5rem;background:#d4edda;border:2px solid #c3e6cb;border-radius:12px}.upload-result h3{color:#155724;margin-bottom:1rem;font-size:1.2rem}.upload-result .result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}.upload-result .stat-item{display:flex;flex-direction:column;gap:.5rem}.upload-result .stat-label{color:#475569;font-size:.9rem;font-weight:600}.upload-result .stat-value{font-size:1.8rem;font-weight:700;color:#0f172a}.upload-result .stat-value.success{color:#15803d}[data-theme=dark] .upload-result{background:#22c55e1f;border-color:#22c55e73}[data-theme=dark] .upload-result h3{color:#86efac}[data-theme=dark] .upload-result .stat-label{color:#cbd5e1}[data-theme=dark] .upload-result .stat-value{color:#f1f5f9}[data-theme=dark] .upload-result .stat-value.success{color:#4ade80}.skipped-rows{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid rgba(15,23,42,.12)}.skipped-rows__title{margin:0 0 .75rem;font-size:1rem;font-weight:700;color:#92400e}.skipped-rows__table{width:100%;border-collapse:collapse;font-size:.9rem;background:#fff9;border-radius:8px;overflow:hidden}.skipped-rows__table th,.skipped-rows__table td{padding:.5rem .75rem;text-align:start;border-bottom:1px solid rgba(15,23,42,.08)}.skipped-rows__table th{font-weight:700;color:#475569;background:#92400e14}.skipped-rows__table tr:last-child td{border-bottom:none}[data-theme=dark] .skipped-rows{border-top-color:#ffffff1f}[data-theme=dark] .skipped-rows__title{color:#fcd34d}[data-theme=dark] .skipped-rows__table{background:#0f172a59;color:#e2e8f0}[data-theme=dark] .skipped-rows__table th{color:#cbd5e1;background:#fcd34d1a}[data-theme=dark] .skipped-rows__table th,[data-theme=dark] .skipped-rows__table td{border-bottom-color:#ffffff14}.merged-expenses-section{margin-top:3rem}.merged-expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.merged-expenses-section h2{font-size:1.8rem;color:var(--text-primary);margin:0}.search-input{padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s;min-width:250px;max-width:400px;flex:1}.search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.search-input::placeholder{color:#95a5a6}.merged-list{display:flex;flex-direction:column;gap:1.5rem}.merged-card{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;box-shadow:0 2px 8px #00000014;transition:all .2s}.merged-card:hover{box-shadow:0 4px 16px #0000001f;transform:translateY(-2px)}.merged-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #f0f3f7}.merged-header h3{color:var(--text-primary);font-size:1.2rem}.merged-date{color:var(--text-tertiary);font-size:.9rem}.merged-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin-bottom:1.5rem}.summary-stat{display:flex;flex-direction:column;gap:.25rem}.merged-expenses-breakdown{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #f0f3f7}.merged-expenses-breakdown h4{color:var(--text-primary);margin-bottom:1rem;font-size:1rem}.breakdown-list{display:flex;flex-direction:column;gap:.75rem}.breakdown-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;transition:background .2s}.breakdown-item:hover{background:#e9ecef}.breakdown-info{display:flex;align-items:center;gap:.75rem}.business-name{font-weight:600;color:var(--text-primary)}.category-badge{padding:.25rem .6rem;background:#e3f2fd;color:#1976d2;border-radius:12px;font-size:.8rem;font-weight:500}.breakdown-stats{display:flex;align-items:center;gap:1rem}.expense-count{color:var(--text-tertiary);font-size:.9rem}.expense-amount{font-weight:700;color:var(--text-primary);font-size:1rem}.btn-view-details{width:100%;margin-top:1.5rem;padding:.75rem;font-size:1rem}.detailed-expenses-section{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e6ed;animation:slideDown .3s ease-out}.detailed-expenses-section h4,.detailed-expenses-heading{color:var(--text-primary);margin-bottom:1rem;font-size:1.1rem;font-weight:600;display:block;visibility:visible}.detailed-expenses-table{overflow-x:auto;border-radius:8px;box-shadow:0 2px 4px #0000000d}.detailed-expenses-table table{width:100%;border-collapse:collapse;background:var(--bg-secondary)}.detailed-expenses-table thead{background:var(--bg-tertiary);border-bottom:2px solid #e0e6ed}.detailed-expenses-table th{padding:.75rem 1rem;text-align:left;font-weight:600;color:var(--text-primary);font-size:.9rem}.detailed-expenses-table td{padding:.75rem 1rem;border-bottom:1px solid #f0f3f7;color:var(--text-secondary);font-size:.9rem}.detailed-expenses-table tbody tr:hover{background:var(--bg-tertiary)}.detailed-expenses-table tbody tr:last-child td{border-bottom:none}.amount-cell{font-weight:600;color:var(--text-primary)}.status-badge{display:inline-block;padding:.3rem .7rem;border-radius:12px;font-size:.8rem;font-weight:600;text-transform:capitalize}.status-badge.status-approved{background:#d4edda;color:#155724}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-rejected{background:#f8d7da;color:#721c24}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.upload-section{padding:1.5rem}.upload-dropzone{padding:2rem 1rem}.upload-icon{font-size:3rem}.merged-header{flex-direction:column;align-items:flex-start;gap:.5rem}.merged-expenses-header{flex-direction:column;align-items:stretch}.search-input{width:100%;max-width:100%}.merged-summary{grid-template-columns:1fr}.breakdown-item{flex-direction:column;align-items:flex-start;gap:.75rem}.breakdown-stats{width:100%;justify-content:space-between}}[data-theme=dark] .file-format-notice{background:linear-gradient(135deg,#ffc10733,#ffeaa726);border-left-color:var(--warning);color:var(--warning)}[data-theme=dark] .notice-header strong{color:var(--warning)}[data-theme=dark] .required-columns-list{background:#0003}[data-theme=dark] .column-requirement{background:var(--bg-secondary);box-shadow:0 1px 3px #0000004d}[data-theme=dark] .column-name{color:var(--text-primary)}[data-theme=dark] .notice-footer{color:var(--warning)}[data-theme=dark] .credit-card-company-note{background:linear-gradient(135deg,#2196f333,#bbdefb26);border-left-color:#2196f3}[data-theme=dark] .credit-card-company-note .note-text{color:#64b5f6}[data-theme=dark] .upload-section,[data-theme=dark] .merged-card{background:var(--bg-secondary);box-shadow:0 2px 8px var(--shadow)}[data-theme=dark] .merged-card:hover{box-shadow:0 4px 16px var(--shadow-hover)}[data-theme=dark] .upload-dropzone{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .upload-dropzone:hover{background:var(--bg-secondary);border-color:var(--accent)}[data-theme=dark] .upload-text{color:#e2e8f0}[data-theme=dark] .upload-subtext,[data-theme=dark] .supported-formats{color:#a0aec0}[data-theme=dark] .breakdown-item{background:var(--bg-primary)}[data-theme=dark] .breakdown-item:hover{background:var(--bg-secondary)}[data-theme=dark] .search-input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #6366f133}[data-theme=dark] .search-input::placeholder{color:var(--text-tertiary)}.upload-section.uploading{position:relative;opacity:.7;pointer-events:none}.upload-dropzone.disabled{opacity:.6;cursor:not-allowed}.upload-loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000040;display:flex;align-items:center;justify-content:center;z-index:999;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .3s ease}.upload-loading-content{background:linear-gradient(135deg,var(--accent),#a855f7);padding:3rem 2.5rem;border-radius:20px;box-shadow:0 12px 32px #4c1d9559,0 4px 12px #00000026;text-align:center;min-width:350px;max-width:450px;color:#fff;position:relative;overflow:hidden}.upload-animation-container{position:relative;width:80px;height:80px;margin:0 auto 2rem;display:flex;align-items:center;justify-content:center}.upload-spinner{width:70px;height:70px;border:6px solid rgba(255,255,255,.2);border-top:6px solid white;border-radius:50%;animation:spin 2s linear infinite;position:relative;z-index:2}.upload-pulse-ring{position:absolute;width:80px;height:80px;border:3px solid rgba(255,255,255,.3);border-radius:50%;animation:pulse 3s ease-out infinite}.upload-message-container{margin-bottom:1.5rem;min-height:80px;display:flex;flex-direction:column;justify-content:center}.upload-main-message{color:#fff;font-size:1.3rem;font-weight:600;margin:0 0 1rem;animation:fadeInUp .5s ease;line-height:1.4}.upload-progress-dots{display:flex;justify-content:center;gap:.5rem;margin-top:.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:#fff6;transition:all .3s ease}.progress-dot.active{background:var(--bg-secondary);transform:scale(1.3);box-shadow:0 0 10px #fff9}.upload-fun-facts{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid rgba(255,255,255,.2)}.fun-fact-text{color:#ffffffe6;font-size:.9rem;font-style:italic;margin:0;animation:fadeIn .5s ease}.upload-keep-browsing-hint{margin:1.25rem 0 0;font-size:.85rem;font-weight:600;color:#fff;background:#ffffff2e;border-radius:10px;padding:.6rem .9rem}.btn-upload .spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin .8s linear infinite;margin-right:.5rem;vertical-align:middle}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1.4);opacity:0}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-theme=dark] .upload-loading-content{background:linear-gradient(135deg,var(--accent),#a855f7);box-shadow:0 12px 32px #4c1d9573,0 4px 12px #00000040}[data-theme=dark] .upload-spinner{border-color:#ffffff40;border-top-color:#fff}[data-theme=dark] .upload-pulse-ring{border-color:#ffffff59}@media(max-width:768px){.upload-loading-content{min-width:280px;padding:2rem 1.5rem}.upload-main-message{font-size:1.1rem}.upload-animation-container{width:60px;height:60px}.upload-spinner{width:50px;height:50px;border-width:4px}.upload-pulse-ring{width:60px;height:60px}}.preview-loading{text-align:center;padding:2rem;color:var(--text-tertiary)}.column-mapping-section{margin-top:2rem;padding:2rem;background:var(--bg-tertiary);border-radius:12px;border:1px solid var(--border-color);box-shadow:0 4px 12px #00000014}.column-mapping-section h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.mapping-instruction{color:var(--text-tertiary);margin-bottom:1.5rem;font-size:.95rem}.ai-suggesting-banner{display:flex;align-items:center;gap:.6rem;padding:.6rem 1rem;margin:0 0 1rem;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-left:4px solid #7c3aed;border-radius:8px;color:#5b21b6;font-weight:600;font-size:.9rem}.ai-suggesting-spinner{width:14px;height:14px;border:2px solid rgba(124,58,237,.25);border-top-color:#7c3aed;border-radius:50%;animation:ai-suggesting-spin .8s linear infinite}@keyframes ai-suggesting-spin{to{transform:rotate(360deg)}}.file-preview-table{margin-bottom:2rem;overflow-x:auto;background:var(--bg-secondary);border-radius:8px;box-shadow:0 2px 4px #0000000d}.preview-header-info{padding:.75rem 1rem;background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff;border-radius:8px 8px 0 0;margin-bottom:0}.preview-info-text{margin:0;font-size:.95rem;font-weight:600}.file-preview-table table{width:100%;border-collapse:collapse;font-size:.9rem}.file-preview-table thead{background:var(--accent);color:#fff}.file-preview-table th{padding:.75rem;text-align:left;font-weight:600;border-right:1px solid rgba(255,255,255,.2)}.file-preview-table th:last-child{border-right:none}.file-preview-table td{padding:.75rem;border-bottom:1px solid #f0f3f7;border-right:1px solid #f0f3f7;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-table td:last-child{border-right:none}.file-preview-table tbody tr:hover{background:var(--bg-tertiary)}.file-preview-table tbody tr.header-row-preview{background:#e3f2fd;font-weight:500}.file-preview-table tbody tr.header-row-preview:hover{background:#d1e7fd}.file-preview-table tbody tr.header-row-preview td{color:#1976d2;font-weight:500}.mapping-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.mapping-field{display:flex;flex-direction:column}.mapping-field label{color:var(--text-primary);font-weight:600;margin-bottom:.5rem;font-size:.95rem}.mapping-field select{padding:.875rem 2.5rem .875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s;cursor:pointer;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234a5568' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.mapping-field input{padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:.95rem;background:var(--bg-secondary);color:var(--text-primary);transition:all .2s;width:100%}.mapping-field input::placeholder{color:var(--text-tertiary)}.mapping-field select:hover,.mapping-field input:hover{border-color:var(--accent)}.mapping-field select:focus,.mapping-field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #6366f11a}.required{color:#e74c3c;font-weight:700}.optional{color:var(--text-tertiary);font-weight:400;font-size:.85rem}[data-theme=dark] .column-mapping-section{background:var(--bg-primary);border-color:var(--border-color)}[data-theme=dark] .column-mapping-section h3{color:#e2e8f0}[data-theme=dark] .mapping-instruction{color:#a0aec0}[data-theme=dark] .mapping-field label{color:#e2e8f0}[data-theme=dark] .required{color:#fc8181}[data-theme=dark] .optional{color:#a0aec0}[data-theme=dark] .file-preview-table{background:var(--bg-secondary)}[data-theme=dark] .preview-header-info{background:linear-gradient(135deg,var(--accent-hover),#9333ea)}[data-theme=dark] .file-preview-table tbody tr.header-row-preview{background:#6366f133}[data-theme=dark] .file-preview-table tbody tr.header-row-preview:hover{background:#6366f14d}[data-theme=dark] .file-preview-table tbody tr.header-row-preview td{color:#90caf9}[data-theme=dark] .file-preview-table td{border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .file-preview-table tbody tr:hover{background:var(--bg-primary)}[data-theme=dark] .mapping-field select,[data-theme=dark] .mapping-field input{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}@media(max-width:768px){.mapping-fields{grid-template-columns:1fr}.file-preview-table{font-size:.8rem}.file-preview-table th,.file-preview-table td{padding:.5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .3s ease;padding:1rem}.modal-content{background:var(--bg-secondary);border-radius:16px;box-shadow:0 20px 60px #0000004d;max-width:90vw!important;max-height:90vh;width:100%;display:flex;flex-direction:column;animation:slideUp .3s ease;overflow:hidden}.modal-header{padding:1.5rem 2rem;border-bottom:2px solid #f0f3f7;background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff}.modal-header h2{margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.modal-subtitle{margin:0;font-size:.95rem;opacity:.95;font-weight:400}.modal-body{padding:1.5rem 2rem;overflow-y:auto;flex:1}.header-modal-footer{padding:.75rem 2rem 1rem;border-top:1px solid var(--border-color, rgba(255, 255, 255, .1));background:var(--bg-secondary)}.header-modal-footer .modal-info-text{margin:0 0 .6rem}.header-selection-controls{margin-bottom:1rem;display:flex;justify-content:center}.btn-toggle-view{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;font-size:.9rem;font-weight:600;color:var(--text-secondary);cursor:pointer;transition:all .2s}.btn-toggle-view:hover{background:#e9ecef;border-color:var(--accent);color:var(--accent)}[data-theme=dark] .btn-toggle-view{background:var(--bg-primary);border-color:var(--border-color);color:var(--text-primary)}[data-theme=dark] .btn-toggle-view:hover{background:var(--bg-secondary);border-color:var(--accent);color:var(--accent)}.header-selection-table{overflow-x:auto;overflow-y:auto;max-height:60vh;margin-bottom:1.5rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary)}.header-selection-table table{width:100%;border-collapse:collapse;font-size:.9rem}.header-selection-table tbody tr{cursor:pointer;transition:all .2s;border-bottom:1px solid #f0f3f7}.header-selection-table tbody tr:hover{background:var(--bg-tertiary);transform:translate(2px)}.header-selection-table tbody tr.selected-header-row{background:#e3f2fd;border-left:4px solid var(--accent);font-weight:600}.header-selection-table tbody tr.selected-header-row:hover{background:#d1e7fd}.header-selection-table .row-number{background:var(--bg-tertiary);font-weight:700;color:var(--accent);text-align:center;min-width:50px;padding:.75rem 1rem;border-right:2px solid #e0e6ed}.header-selection-table tbody tr.selected-header-row .row-number{background:var(--accent);color:#fff}.header-selection-table td{padding:.75rem 1rem;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-right:1px solid #f0f3f7}.header-selection-table td:last-child{border-right:none}.modal-info-text{text-align:center;color:var(--text-tertiary);font-size:.9rem;margin:0 0 1.5rem;padding:.75rem;background:var(--bg-tertiary);border-radius:6px}.modal-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.modal-actions .btn{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s;min-width:150px}.modal-actions .btn-primary{background:linear-gradient(135deg,var(--accent),#a855f7);color:#fff}.modal-actions .btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.modal-actions .btn-secondary{background:#e0e6ed;color:var(--text-secondary)}.modal-actions .btn-secondary:hover{background:#d0d6dd}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .modal-content{background:var(--bg-secondary);box-shadow:0 20px 60px #00000080}[data-theme=dark] .modal-header{background:linear-gradient(135deg,var(--accent-hover),#9333ea)}[data-theme=dark] .header-selection-table{border-color:var(--border-color);background:var(--bg-primary)}[data-theme=dark] .header-selection-table tbody tr{border-color:var(--border-color)}[data-theme=dark] .header-selection-table tbody tr:hover{background:var(--bg-secondary)}[data-theme=dark] .header-selection-table tbody tr.selected-header-row{background:#6366f133;border-left-color:var(--accent)}[data-theme=dark] .header-selection-table .row-number{background:var(--bg-primary);border-right-color:var(--border-color)}[data-theme=dark] .header-selection-table td{color:var(--text-primary);border-right-color:var(--border-color)}[data-theme=dark] .modal-info-text{background:var(--bg-primary);color:var(--text-primary)}[data-theme=dark] .modal-actions .btn-secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}[data-theme=dark] .modal-actions .btn-secondary:hover{background:var(--bg-secondary)}@media(max-width:768px){.modal-content{max-width:95vw;max-height:95vh}.modal-header{padding:1rem 1.5rem}.modal-header h2{font-size:1.2rem}.modal-body{padding:1rem 1.5rem}.header-selection-table{font-size:.8rem}.header-selection-table td{padding:.5rem;max-width:150px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.page-container{max-width:1400px;margin:0 auto;padding:2rem}[data-theme=dark] .page-container{background:var(--bg-primary);color:var(--text-primary)}.page-header{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:2rem;gap:1rem}.page-header h1{font-size:1.85rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);margin:0}[data-theme=dark] .page-header h1,[data-theme=dark] .page-header h2{color:var(--text-primary)}[data-theme=dark] .subtitle{color:var(--text-secondary)}.error-message{background:#fee;color:#c33;padding:.75rem 1rem;border-radius:6px;margin:1rem 0;border:1px solid #fcc;font-size:.95rem}[data-theme=dark] .error-message{background:#7f1d1d;color:#fca5a5;border-color:#991b1b}.btn{padding:.65rem 1.15rem;border:1px solid transparent;border-radius:var(--radius);font-size:.95rem;font-weight:600;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),transform 80ms ease,box-shadow var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:visible;letter-spacing:.01em;white-space:normal;word-wrap:break-word;overflow-wrap:break-word;text-align:center;min-height:fit-content;line-height:1.4}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--gradient-accent);background-size:140% 140%;background-position:0% 50%;color:#fff;border-color:transparent;box-shadow:0 6px 18px -6px var(--shadow-hover);transition:background-position var(--transition),transform 90ms ease,box-shadow var(--transition)}.btn-primary:hover:not(:disabled){background-position:100% 50%;transform:translateY(-1px);box-shadow:0 12px 26px -8px var(--shadow-hover)}.btn-primary:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 10px -4px var(--shadow-hover)}.btn-success{background:var(--success-soft, rgba(16, 185, 129, .14));color:var(--success);border-color:#10b98159}.btn-success:hover:not(:disabled){background:var(--success);color:#fff;border-color:var(--success);transform:translateY(-1px);box-shadow:0 6px 16px #10b9814d}.btn-success:active:not(:disabled){transform:translateY(0)}[data-theme=dark] .btn-success{background:#34d39929;color:#34d399;border-color:#34d39966}[data-theme=dark] .btn-success:hover:not(:disabled){background:#10b981;color:#fff;border-color:#10b981}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-strong)}.warning-banner{background:var(--warning-soft, rgba(245, 158, 11, .14));color:var(--warning);padding:.85rem 1.25rem;border-radius:var(--radius-lg);margin-bottom:1.25rem;border-left:4px solid var(--warning);display:flex;justify-content:space-between;align-items:center;gap:1rem}.warning-content{display:flex;align-items:center;gap:.75rem;flex:1}.warning-icon{font-size:1.5rem}.warning-text{font-size:1rem;font-weight:500}.warning-text strong{font-weight:700;color:var(--warning)}.info-banner{background:var(--accent-soft);color:var(--accent);padding:.85rem 1.25rem;border-radius:var(--radius-lg);margin-bottom:1.25rem;border-left:4px solid var(--accent);display:flex;justify-content:space-between;align-items:center;gap:1rem}.info-banner .warning-text strong{color:var(--accent)}.ai-cat-usage-loading{display:inline-flex;align-items:center;vertical-align:middle;opacity:.7}.ai-cat-usage-loading .spinner{width:14px;height:14px;border-width:2px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(0,0,0,.2);border-top:2px solid var(--accent);border-radius:50%;animation:spin .8s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn-load-more-rows{display:block;margin:12px auto 0}.budget-vs-expenses-page{padding:24px;max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:32px;flex-wrap:wrap;gap:24px;padding-bottom:24px;border-bottom:2px solid var(--border-color, #e8ecf1)}.page-header h1{margin:0 0 8px;font-size:32px;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--accent),#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-header .subtitle{margin:0;font-size:16px;color:var(--text-secondary, #666);font-weight:400}[data-theme=dark] .page-header{border-bottom-color:var(--border-color, #404040)}[data-theme=dark] .page-header h1{background:linear-gradient(135deg,var(--accent),#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-theme=dark] .page-header .subtitle{color:var(--text-secondary, #b0b0b0)}.view-toggle-container{display:flex;align-items:center;gap:12px;background:var(--bg-secondary);padding:8px 16px;border-radius:24px;border:1px solid var(--border-color, #e0e0e0);transition:all .3s ease}.view-toggle-container:hover{border-color:var(--primary-color, var(--accent));box-shadow:0 2px 8px #6366f11a}.view-toggle-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;font-weight:500;color:var(--text-primary);-webkit-user-select:none;user-select:none}.view-toggle-label span{transition:all .3s ease;padding:4px 8px;border-radius:6px}.view-toggle-label span.active{color:var(--primary-color, var(--accent));font-weight:600;background:#6366f11a}.view-toggle-switch{position:relative;width:52px;height:28px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(135deg,#ccc,#b0b0b0);border-radius:14px;outline:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 2px 4px #0000001a}.view-toggle-switch:hover{box-shadow:inset 0 2px 4px #00000026,0 0 0 3px #6366f11a}.view-toggle-switch:checked{background:linear-gradient(135deg,var(--accent),#a855f7);box-shadow:inset 0 2px 4px #0000001a,0 0 0 3px #6366f133}.view-toggle-switch:before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:var(--bg-secondary);top:2px;left:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0003,0 1px 2px #0000001a}.view-toggle-switch:checked:before{transform:translate(24px);box-shadow:0 2px 8px #6366f166,0 1px 3px #0000001a}[data-theme=dark] .view-toggle-container{background:var(--bg-secondary);border-color:var(--border-color, #404040)}[data-theme=dark] .view-toggle-container:hover{border-color:var(--primary-color, var(--accent));box-shadow:0 2px 8px #6366f133}[data-theme=dark] .view-toggle-label span{color:#a0aec0}[data-theme=dark] .view-toggle-label span.active{color:#90caf9;background:#6366f133}[dir=rtl] .view-toggle-label{direction:rtl;flex-direction:row-reverse}[dir=rtl] .view-toggle-switch:before{left:auto;right:2px}[dir=rtl] .view-toggle-switch:checked:before{transform:translate(-24px)}.chart-container{background:var(--bg-secondary);border-radius:12px;padding:32px;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;margin-bottom:30px;border:1px solid rgba(0,0,0,.05);transition:box-shadow .3s ease,transform .2s ease;position:relative;overflow:hidden}.charts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:30px}.category-chart-card{background:var(--bg-secondary);border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;border:1px solid rgba(0,0,0,.05);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.category-chart-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),#a855f7);opacity:0;transition:opacity .3s ease}.category-chart-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;border-color:#6366f133}.category-chart-card:hover:before{opacity:1}.category-chart-header{margin-bottom:16px}.category-chart-title{font-size:18px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.category-chart-stats{display:flex;flex-direction:column;gap:6px}.chart-stat{display:flex;justify-content:space-between;align-items:center;font-size:13px}.stat-label{color:var(--text-secondary, #666);font-weight:500}.stat-value{color:var(--text-primary);font-weight:600;font-size:14px}.stat-value.spent{color:#f44336}.category-chart-container{margin:16px 0;height:250px}.category-chart-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color, #e8ecf1);flex-wrap:wrap;gap:12px}.chart-footer-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.chart-legend{display:flex;gap:16px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px}.legend-color{width:12px;height:12px;border-radius:3px;display:inline-block}.legend-text{color:var(--text-secondary, #666);font-weight:500}.chart-percentage{display:flex;align-items:center}.percentage-badge{padding:6px 12px;border-radius:20px;font-size:13px;font-weight:600;color:#fff}.percentage-badge.healthy{background:linear-gradient(135deg,#4caf50,#2e7d32)}.percentage-badge.warning{background:linear-gradient(135deg,#ff9800,#f57c00)}.percentage-badge.over{background:linear-gradient(135deg,#f44336,#d32f2f)}[data-theme=dark] .category-chart-card{background:var(--bg-secondary);border-color:var(--border-color, #404040)}[data-theme=dark] .category-chart-card:hover{border-color:#6366f14d}[data-theme=dark] .category-chart-title{color:var(--text-primary)}[data-theme=dark] .stat-label{color:var(--text-secondary, #b0b0b0)}[data-theme=dark] .stat-value{color:var(--text-primary)}[data-theme=dark] .legend-text{color:var(--text-secondary, #b0b0b0)}[data-theme=dark] .category-chart-footer{border-top-color:var(--border-color, #404040)}.chart-container:after{content:"← →";position:absolute;bottom:8px;right:16px;font-size:12px;color:var(--text-secondary, #999);opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:10}.chart-container:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),#a855f7);opacity:.8}.chart-container:hover{box-shadow:0 8px 24px #0000001f,0 4px 8px #0000000f;transform:translateY(-2px)}.chart-container .recharts-wrapper{filter:drop-shadow(0 2px 4px rgba(0,0,0,.05))}.chart-container .recharts-cartesian-grid-horizontal line,.chart-container .recharts-cartesian-grid-vertical line{stroke:var(--border-color, #e0e0e0);stroke-opacity:.5}.chart-container .recharts-x-axis .recharts-cartesian-axis-tick text{fill:var(--text-secondary, #666);font-size:12px;font-weight:500;text-anchor:middle}.chart-container .recharts-y-axis .recharts-cartesian-axis-tick text{fill:var(--text-secondary, #666);font-size:12px;font-weight:500}.chart-container .recharts-legend-wrapper{padding-top:20px}.chart-container .recharts-legend-item-text{color:var(--text-primary);font-size:14px;font-weight:500}.chart-container .recharts-tooltip-wrapper{outline:none}.chart-container .recharts-default-tooltip{background:#fffffffa!important;border:1px solid var(--border-color, #e0e0e0)!important;border-radius:8px!important;box-shadow:0 4px 12px #00000026!important;padding:12px 16px!important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chart-container .recharts-tooltip-label{color:var(--text-primary)!important;font-weight:600!important;font-size:14px!important;margin-bottom:8px!important;padding-bottom:8px!important;border-bottom:1px solid var(--border-color, #e0e0e0)!important}.chart-container .recharts-tooltip-item{color:var(--text-primary)!important;font-size:13px!important;padding:4px 0!important}[data-theme=dark] .chart-container{background:var(--bg-secondary);border:1px solid var(--border-color, #404040);box-shadow:0 4px 12px #0000004d,0 2px 4px #0003}[data-theme=dark] .chart-container:before{background:linear-gradient(90deg,var(--accent),#a855f7);opacity:.6}[data-theme=dark] .chart-container:hover{box-shadow:0 8px 24px #00000080,0 4px 8px #0000004d}[data-theme=dark] .chart-container .recharts-cartesian-grid-horizontal line,[data-theme=dark] .chart-container .recharts-cartesian-grid-vertical line{stroke:var(--border-color, #404040);stroke-opacity:.3}[data-theme=dark] .chart-container .recharts-x-axis .recharts-cartesian-axis-tick text,[data-theme=dark] .chart-container .recharts-y-axis .recharts-cartesian-axis-tick text{fill:var(--text-secondary, #b0b0b0)}[data-theme=dark] .chart-container .recharts-legend-item-text{color:var(--text-primary)}[data-theme=dark] .chart-container .recharts-default-tooltip{background:#2d2d2dfa!important;border:1px solid var(--border-color, #404040)!important}[data-theme=dark] .chart-container .recharts-tooltip-label{color:var(--text-primary)!important;border-bottom-color:var(--border-color, #404040)!important}[data-theme=dark] .chart-container .recharts-tooltip-item{color:var(--text-primary)!important}.date-range-selector{background:var(--bg-secondary);border-radius:12px;padding:24px;margin-bottom:24px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;border:1px solid rgba(0,0,0,.05);transition:box-shadow .3s ease}.date-range-selector:hover{box-shadow:0 4px 12px #00000014,0 2px 4px #0000000d}.date-inputs{display:flex;gap:20px;align-items:flex-end;flex-wrap:wrap}.date-input-group{display:flex;flex-direction:column;gap:8px}.date-input-group label{font-weight:500;color:var(--text-primary);font-size:14px}.date-input-group input[type=date]{padding:10px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:14px;background:var(--input-bg, #fff);color:var(--text-primary);min-width:180px;width:100%;max-width:100%;box-sizing:border-box}.date-input-group input[type=date]:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff40}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin-bottom:30px}.summary-card{background:var(--bg-secondary);border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;text-align:center;border:1px solid rgba(0,0,0,.05);transition:all .3s ease;position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),#a855f7);opacity:0;transition:opacity .3s ease}.summary-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000001a,0 4px 8px #0000000f}.summary-card:hover:before{opacity:1}.summary-label{font-size:14px;color:var(--text-secondary, #666);margin-bottom:10px;font-weight:500}.summary-value{font-size:24px;font-weight:700;color:var(--text-primary)}.summary-value.spent{color:#f44336}.summary-value.remaining{color:#4caf50}.summary-value.over-budget{color:#d32f2f}.budget-categories-container{margin-bottom:30px}.budget-categories-list{display:grid;gap:20px}.budget-category-card{background:var(--bg-secondary);border-radius:12px;padding:28px;box-shadow:0 2px 8px #0000000f,0 1px 3px #0000000a;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(0,0,0,.05);position:relative;overflow:hidden}.budget-category-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(180deg,var(--accent),#a855f7);opacity:0;transition:opacity .3s ease}.budget-category-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f,0 4px 8px #00000014;border-color:#6366f133}.budget-category-card:hover:before{opacity:1}.category-header-section{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.category-name{font-size:20px;font-weight:600;color:var(--text-primary);margin:0}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.5px}.status-badge.healthy{background-color:#4caf50}.status-badge.warning{background-color:#ff9800}.status-badge.critical{background-color:#f44336}.status-badge.over-budget{background-color:#d32f2f}.budget-progress-section{margin-bottom:20px}.progress-bar-container{position:relative;width:100%;height:30px;background:var(--bg-tertiary);border-radius:15px;overflow:hidden}.progress-bar-fill{height:100%;border-radius:15px;transition:width .3s ease;position:relative}.progress-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:12px;font-weight:600;color:var(--text-primary);z-index:1;text-shadow:0 1px 2px rgba(255,255,255,.8)}.budget-details-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-top:16px}.budget-detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:12px;color:var(--text-secondary, #666);font-weight:500}.detail-value{font-size:16px;font-weight:600;color:var(--text-primary)}.detail-value.spent{color:#f44336}.detail-value.remaining{color:#4caf50}.detail-value.over-budget{color:#d32f2f}.category-card-actions{margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color, #e8ecf1);display:flex;justify-content:flex-end}.btn-go-to{padding:6px 12px;font-size:13px;font-weight:600;border-radius:20px;border:none;color:#fff;background:linear-gradient(135deg,var(--accent),#a855f7);cursor:pointer;transition:all .3s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.btn-go-to:hover{transform:translateY(-1px);box-shadow:0 2px 8px #6366f166;background:linear-gradient(135deg,#5a6fd8,#6a4190)}.btn-go-to:active{transform:translateY(0)}[data-theme=dark] .category-card-actions{border-top-color:var(--border-color, #404040)}[data-theme=dark] .date-range-selector,[data-theme=dark] .summary-card,[data-theme=dark] .budget-category-card{background:var(--bg-secondary);border:1px solid var(--border-color, #404040)}[data-theme=dark] .date-input-group input[type=date]{background:var(--input-bg, #3d3d3d);border-color:var(--border-color, #404040);color:var(--text-primary)}[data-theme=dark] .progress-bar-container{background:var(--bg-tertiary)}[data-theme=dark] .category-name{color:#e2e8f0}[data-theme=dark] .detail-label{color:#a0aec0}[data-theme=dark] .detail-value{color:#e2e8f0}[data-theme=dark] .progress-text{color:#e2e8f0;text-shadow:0 1px 2px rgba(0,0,0,.5)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px}.modal-content{background:var(--bg-secondary);border-radius:8px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid var(--border-color, #ddd)}.modal-header h2{margin:0;font-size:20px;color:var(--text-primary)}.modal-close{background:none;border:none;font-size:28px;cursor:pointer;color:var(--text-primary);padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:var(--hover-bg, #f0f0f0)}.modal-body{padding:20px;flex:1}.modal-description{color:var(--text-secondary, #666);margin-bottom:20px;line-height:1.5}.default-date-input-group{display:flex;flex-direction:column;gap:12px}.default-date-input-group label{font-weight:500;color:var(--text-primary);font-size:14px}.default-date-input{padding:10px;border:1px solid var(--border-color, #ddd);border-radius:4px;font-size:16px;background:var(--input-bg, #fff);color:var(--text-primary);width:100%;max-width:200px}.default-date-input:focus{outline:none;border-color:var(--primary-color, #007bff);box-shadow:0 0 0 2px #007bff40}.current-default-info{color:var(--text-secondary, #666);font-size:14px;margin:0;font-style:italic}.modal-footer{display:flex;justify-content:flex-end;gap:12px;padding:20px;border-top:1px solid var(--border-color, #ddd)}[data-theme=dark] .modal-content{background:var(--bg-secondary);border:1px solid var(--border-color, #404040)}[data-theme=dark] .modal-header,[data-theme=dark] .modal-footer{border-color:var(--border-color, #404040)}[data-theme=dark] .default-date-input{background:var(--input-bg, #3d3d3d);border-color:var(--border-color, #404040);color:var(--text-primary)}[data-theme=dark] .modal-close:hover{background-color:var(--hover-bg, #404040)}.info-box{background:linear-gradient(135deg,#6366f10d,#764ba20d);border-radius:12px;padding:24px;margin-top:30px;border:1px solid rgba(99,102,241,.1);box-shadow:0 2px 8px #0000000a}.info-box h4{margin:0 0 16px;color:var(--text-primary);font-size:18px;font-weight:600}.info-box ul{margin:0;padding-left:20px;list-style:none}.info-box ul li{position:relative;padding-left:24px;margin-bottom:12px;color:var(--text-secondary, #666);line-height:1.6;font-size:14px}.info-box ul li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700;font-size:16px}.info-box ul li:last-child{margin-bottom:0}[data-theme=dark] .info-box{background:linear-gradient(135deg,#6366f11a,#764ba21a);border-color:#6366f133}[data-theme=dark] .info-box h4{color:var(--text-primary)}[data-theme=dark] .info-box ul li{color:var(--text-secondary, #b0b0b0)}.budget-vs-expenses-page .empty-state{text-align:center;padding:60px 20px;background:var(--bg-secondary);border-radius:12px;border:2px dashed var(--border-color, #e0e0e0)}.budget-vs-expenses-page .empty-state p{color:var(--text-secondary, #666);font-size:16px;margin:0}[data-theme=dark] .budget-vs-expenses-page .empty-state{background:var(--bg-secondary);border-color:var(--border-color, #404040)}[data-theme=dark] .budget-vs-expenses-page .empty-state p{color:var(--text-secondary, #b0b0b0)}@media(max-width:768px){.budget-vs-expenses-page{padding:16px}.page-header{flex-direction:column;align-items:stretch;margin-bottom:24px;padding-bottom:20px;gap:16px}.page-header h1{font-size:24px;margin-bottom:4px}.page-header .subtitle{font-size:14px}.view-toggle-container{width:100%;justify-content:center;padding:6px 12px}.view-toggle-label{font-size:13px;gap:10px}.view-toggle-switch{width:48px;height:26px}.view-toggle-switch:before{width:22px;height:22px}.view-toggle-switch:checked:before{transform:translate(22px)}.date-range-selector{padding:16px;margin-bottom:20px}.date-inputs{flex-direction:column;align-items:stretch;gap:16px}.date-input-group{width:100%}.date-input-group input[type=date]{width:100%;min-width:auto;font-size:16px}.summary-cards{grid-template-columns:1fr;gap:16px;margin-bottom:24px}.summary-card{padding:20px}.summary-value{font-size:20px}.budget-details-grid{grid-template-columns:1fr;gap:12px}.category-header-section{flex-direction:column;align-items:flex-start;gap:12px}.budget-category-card{padding:20px}.category-name{font-size:18px}.charts-grid{grid-template-columns:1fr;gap:20px}.category-chart-card{padding:16px}.category-chart-title{font-size:16px}.category-chart-container{height:200px;margin:12px 0}.category-chart-footer{flex-direction:column;align-items:flex-start;gap:12px}.chart-footer-right{width:100%;justify-content:space-between}.btn-go-to{width:100%;padding:12px}.chart-legend{width:100%;justify-content:space-between}.chart-container{padding:12px 8px 24px;margin-bottom:24px;border-radius:8px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:rgba(99,102,241,.3) transparent}.chart-container:after{opacity:.6;font-size:11px;bottom:4px;right:12px}.chart-container::-webkit-scrollbar{height:6px}.chart-container::-webkit-scrollbar-track{background:transparent}.chart-container::-webkit-scrollbar-thumb{background:#6366f14d;border-radius:3px}.chart-container::-webkit-scrollbar-thumb:hover{background:#6366f180}.chart-container:before{height:3px}.chart-container .recharts-wrapper{min-width:600px;padding-right:20px}.chart-container .recharts-x-axis{transform:none}.chart-container .recharts-x-axis .recharts-cartesian-axis-tick text{font-size:11px!important;transform:none!important;fill:var(--text-secondary, #666)!important;text-anchor:middle!important}.chart-container .recharts-y-axis{transform:translate(-5px)}.chart-container .recharts-y-axis .recharts-cartesian-axis-tick text{font-size:11px!important;fill:var(--text-secondary, #666)!important}.chart-container .recharts-legend-wrapper{padding-top:16px!important;font-size:12px!important;display:flex!important;justify-content:center!important;flex-wrap:wrap!important}.chart-container .recharts-legend-item{margin-right:16px!important;margin-bottom:8px!important}.chart-container .recharts-default-tooltip{padding:10px 12px!important;font-size:12px!important;max-width:200px!important}.chart-container .recharts-tooltip-label{font-size:12px!important;margin-bottom:6px!important;padding-bottom:6px!important}.chart-container .recharts-tooltip-item{font-size:11px!important;padding:2px 0!important}.chart-container .recharts-bar{cursor:pointer}.info-box{padding:20px;margin-top:24px}.info-box h4{font-size:16px;margin-bottom:12px}.info-box ul li{font-size:13px;margin-bottom:10px;padding-left:20px}.info-box ul li:before{font-size:14px}.budget-vs-expenses-page .empty-state{padding:40px 16px}.budget-vs-expenses-page .empty-state p{font-size:14px}.modal-content{max-width:100%;margin:10px}.modal-footer{flex-direction:column-reverse}.modal-footer .btn{width:100%}}@media(max-width:480px){.budget-vs-expenses-page{padding:12px}.page-header h1{font-size:20px}.page-header .subtitle{font-size:13px}.view-toggle-label{font-size:12px;gap:8px}.view-toggle-switch{width:44px;height:24px}.view-toggle-switch:before{width:20px;height:20px}.view-toggle-switch:checked:before{transform:translate(20px)}.date-range-selector{padding:12px}.summary-card{padding:16px}.summary-value{font-size:18px}.budget-category-card{padding:16px}.category-name{font-size:16px}.charts-grid{gap:16px}.category-chart-card{padding:12px}.category-chart-title{font-size:15px}.category-chart-container{height:180px}.chart-stat{font-size:12px}.stat-value{font-size:13px}.chart-container{padding:8px 4px}.chart-container .recharts-wrapper{min-width:500px;padding-right:16px}.chart-container .recharts-x-axis .recharts-cartesian-axis-tick text{font-size:9px!important}.chart-container .recharts-y-axis .recharts-cartesian-axis-tick text{font-size:10px!important}.chart-container .recharts-legend-wrapper{font-size:11px!important}.chart-container .recharts-default-tooltip{font-size:11px!important;padding:8px 10px!important;max-width:180px!important}.info-box{padding:16px}.info-box h4{font-size:15px}.info-box ul li{font-size:12px}}.insight-banner{background:var(--bg-secondary);border:1px solid var(--border-color, #e0e0e0);border-left:4px solid var(--accent, #6366f1);border-radius:16px;padding:14px 18px;margin:0 0 24px;box-shadow:0 2px 8px #6366f114}.insight-banner-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 12px}.insight-banner-title{display:flex;align-items:center;gap:8px;flex:1 0 auto;white-space:nowrap;font-weight:600;font-size:14px;color:var(--text-primary)}.insight-banner-icon{font-size:16px;line-height:1}.insight-banner-actions{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:6px 10px}.insight-banner-btn{background:var(--bg-primary, rgba(99, 102, 241, .06));border:1px solid var(--border-color, #d0d4dd);cursor:pointer;color:var(--text-secondary, #888);font-size:12px;font-weight:600;padding:5px 14px;border-radius:999px;line-height:1;transition:background .15s ease,color .15s ease,border-color .15s ease}.insight-banner-btn:hover{background:#6366f11f;border-color:var(--accent, #6366f1);color:var(--accent, #6366f1)}.insight-banner-body{margin-top:10px}.insight-banner-body .insight-line{margin:0 0 4px;font-size:13px;line-height:1.5;color:var(--text-secondary, #555)}.insight-banner-body .insight-line:last-child{margin-bottom:0}.insight-banner-period{margin:6px 0 0;font-weight:400;font-size:12px;color:var(--text-secondary, #888)}.insight-generate-btn{padding:6px 14px;font-size:13px}.insight-locked-note{font-size:12px;line-height:1.4;color:var(--text-secondary, #888);text-align:end}.insight-remaining-note{font-size:11px;color:var(--text-secondary, #999);white-space:nowrap}.insight-coming-soon-badge{display:inline-block;padding:4px 10px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--accent-color, #6c5ce7);background:#6c5ce71f;border:1px solid rgba(108,92,231,.3);border-radius:999px;white-space:nowrap}.insight-line-muted{color:var(--text-secondary, #999);font-style:italic}.insight-once-note{margin:12px 0 0;padding-top:8px;border-top:1px solid var(--border-color, #e0e0e0);font-size:10.5px;font-style:italic;color:var(--text-secondary, #999);opacity:.65}.profile-page{min-height:100vh;background:var(--bg-primary)}.profile-page .btn{cursor:pointer}.profile-page .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color);box-shadow:none}.profile-page .btn-danger{background:var(--danger)}.profile-page .level-badge{display:inline-block;padding:.28rem .8rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;text-transform:capitalize;letter-spacing:.02em;border:1px solid transparent}.profile-page .level-low{background:#14b8a624;color:#0d9488;border-color:#14b8a64d}.profile-page .level-medium{background:var(--warning-soft);color:var(--warning);border-color:#f59e0b4d}.profile-page .level-high{background:#f9731624;color:#ea580c;border-color:#f973164d}.profile-page .level-critical{background:var(--danger);color:#fff;border-color:var(--danger)}[data-theme=dark] .profile-page .level-low{color:#5eead4}[data-theme=dark] .profile-page .level-high{color:#fb923c}.profile-container{max-width:860px;margin:0 auto;padding:1.5rem 1rem 4rem}.profile-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.profile-header h1{margin:0;font-size:1.6rem;color:var(--text-primary)}.profile-subtitle{margin:.35rem 0 0;color:var(--text-secondary);font-size:.92rem}.profile-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg, 16px);padding:1.4rem 1.5rem;margin-bottom:1.25rem}.profile-card h2{margin:0 0 1rem;font-size:1.15rem;color:var(--text-primary)}.profile-subheading{margin:1.25rem 0 .75rem;font-size:.95rem;color:var(--text-secondary);font-weight:600}.profile-help{margin:-.4rem 0 1rem;color:var(--text-secondary);font-size:.88rem;line-height:1.5}.profile-form{display:flex;flex-direction:column;gap:1.1rem}.profile-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.profile-field-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.85rem;color:var(--text-secondary);font-weight:500}.profile-field-grid input,.profile-field-grid select{background:var(--input-bg, var(--bg-tertiary));border:1px solid var(--border-color);border-radius:var(--radius, 10px);padding:.6rem .8rem;color:var(--text-primary);font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.profile-field-grid select{width:auto;max-width:9rem;align-self:flex-start}.profile-field-grid input:focus,.profile-field-grid select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring, rgba(99, 102, 241, .25))}.profile-field-grid input:disabled,.profile-field-grid select:disabled{opacity:.6}.profile-field-grid input.profile-input-readonly{cursor:not-allowed;opacity:.7;background:var(--bg-secondary)}.profile-section-head{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin-bottom:1rem}.profile-range{display:flex;align-items:flex-end;gap:.6rem;flex-wrap:wrap}.profile-range-field{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--text-secondary);font-weight:500}.profile-range-field input{background:var(--input-bg, var(--bg-tertiary));border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);padding:.4rem .55rem;color:var(--text-primary);font-size:.85rem}.profile-range-field input:focus{outline:none;border-color:var(--accent)}.profile-stats-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.profile-stat{display:flex;flex-direction:column;gap:.3rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius, 12px);text-align:center}.profile-stat-value{font-size:1.35rem;font-weight:700;color:var(--text-primary)}.profile-stat-label{font-size:.8rem;color:var(--text-secondary)}.profile-level-breakdown{display:flex;flex-direction:column;gap:.5rem}.profile-level-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .65rem;background:var(--bg-tertiary);border-radius:var(--radius-sm, 8px)}.profile-level-count{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text-primary);font-size:.9rem}.profile-levels{display:flex;flex-direction:column;gap:.6rem}.profile-level-edit{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.7rem .9rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius, 12px);border-inline-start:4px solid var(--border-strong)}.profile-level-edit.level-low{border-inline-start-color:#14b8a6}.profile-level-edit.level-medium{border-inline-start-color:var(--warning, #f59e0b)}.profile-level-edit.level-high{border-inline-start-color:#f97316}.profile-level-edit.level-critical{border-inline-start-color:var(--danger)}.profile-level-range-edit{display:flex;align-items:center;gap:.5rem;font-variant-numeric:tabular-nums}.profile-bound{color:var(--text-secondary);font-weight:600;font-size:.95rem}.profile-dash{color:var(--text-tertiary)}.profile-inline-input-wrap{position:relative;display:inline-flex;align-items:center;gap:.3rem}.profile-inline-input{width:110px;text-align:end;background:var(--input-bg, var(--bg-secondary));border:1px solid var(--border-color);border-radius:var(--radius-sm, 8px);padding:.45rem .6rem;color:var(--text-primary);font-size:.95rem;font-weight:600;font-variant-numeric:tabular-nums;transition:border-color .15s ease,box-shadow .15s ease}.profile-inline-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring, rgba(99, 102, 241, .25))}.profile-unit{color:var(--text-secondary);font-weight:600}.profile-error{margin:0;color:var(--danger);font-size:.85rem}.profile-actions{display:flex;gap:.75rem;flex-wrap:wrap}@media(max-width:640px){.profile-field-grid,.profile-stats-row{grid-template-columns:1fr}.profile-header{flex-direction:column}}.profile-danger-zone{border:1px solid rgba(244,67,54,.4)}.profile-danger-zone h2{color:#f44336}.profile-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.profile-modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;width:100%;max-width:440px;box-shadow:0 12px 40px #0000004d}.profile-modal h3{margin:0 0 .5rem;color:#f44336}.profile-modal-label{display:block;margin:1rem 0}.profile-modal-label span{display:block;margin-bottom:.35rem;font-size:.9rem;color:var(--text-secondary)}.profile-modal-label input{width:100%;padding:.6rem .75rem;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary)}.profile-help-button{display:inline-block;text-decoration:none;margin-top:.25rem}.profile-help-email{margin-top:.75rem}.profile-help-email a{color:var(--accent);text-decoration:none}.profile-help-email a:hover{text-decoration:underline}:root,:root[data-theme=light]{--bg-primary: #eef0f6;--bg-secondary: #ffffff;--bg-tertiary: #f3f4fa;--bg-hover: #eaecf5;--text-primary: #10131c;--text-secondary: #51596b;--text-tertiary: #8b93a6;--border-color: #e5e7f0;--border-strong: #d2d6e3;--shadow-sm: 0 1px 2px rgba(20, 23, 38, .05);--shadow: 0 2px 6px rgba(20, 23, 38, .06), 0 1px 2px rgba(20, 23, 38, .04);--shadow-md: 0 8px 24px rgba(28, 27, 71, .1);--shadow-hover: rgba(108, 92, 247, .22);--input-bg: #ffffff;--input-disabled: #f1f3f9;--accent: #6c5cf7;--accent-hover: #5a48ec;--accent-soft: rgba(108, 92, 247, .12);--accent-ring: rgba(108, 92, 247, .24);--gradient-accent: linear-gradient(135deg, #6c5cf7 0%, #9d5cff 55%, #c061ff 100%);--gradient-brand: linear-gradient(120deg, #6c5cf7 0%, #b35cff 100%);--glass-bg: rgba(255, 255, 255, .72);--glass-border: rgba(255, 255, 255, .6);--mesh-1: rgba(108, 92, 247, .18);--mesh-2: rgba(192, 97, 255, .16);--mesh-3: rgba(56, 189, 248, .14);--success: #0fae7e;--warning: #f59e0b;--danger: #f0455c;--radius-sm: 9px;--radius: 13px;--radius-lg: 18px;--radius-pill: 999px;--font-body: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", sans-serif;--transition: .18s cubic-bezier(.4, 0, .2, 1);--bg: var(--bg-primary);--surface: var(--bg-secondary);--fg: var(--text-primary);--muted: var(--text-tertiary);--border: var(--border-color);--accent-fg: #fff;--radius-card: var(--radius-lg);font-family:var(--font-body);color-scheme:light}:root[data-theme=dark]{--bg-primary: #080b16;--bg-secondary: #111627;--bg-tertiary: #182034;--bg-hover: #20283f;--text-primary: #eaeefb;--text-secondary: #aab4ca;--text-tertiary: #7b87a0;--border-color: #232c44;--border-strong: #36415d;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .45);--shadow: 0 2px 6px rgba(0, 0, 0, .5), 0 1px 2px rgba(0, 0, 0, .35);--shadow-md: 0 10px 30px rgba(0, 0, 0, .55);--shadow-hover: rgba(143, 134, 255, .3);--input-bg: #111627;--input-disabled: #080b16;--accent: #8f86ff;--accent-hover: #a9a2ff;--accent-soft: rgba(143, 134, 255, .18);--accent-ring: rgba(143, 134, 255, .34);--gradient-accent: linear-gradient(135deg, #8f86ff 0%, #a95cff 55%, #c061ff 100%);--gradient-brand: linear-gradient(120deg, #9f96ff 0%, #d18bff 100%);--glass-bg: rgba(17, 22, 39, .66);--glass-border: rgba(255, 255, 255, .08);--mesh-1: rgba(108, 92, 247, .16);--mesh-2: rgba(192, 97, 255, .14);--mesh-3: rgba(56, 189, 248, .12);--success: #34d399;--warning: #fbbf24;--danger: #ff6b81;color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);font-size:15px;line-height:1.5;transition:background-color .3s ease,color .3s ease}body:before{content:"";position:fixed;top:-20vmax;right:-20vmax;bottom:-20vmax;left:-20vmax;z-index:-1;pointer-events:none;background:radial-gradient(38vmax 38vmax at 12% 8%,var(--mesh-1),transparent 60%),radial-gradient(34vmax 34vmax at 88% 14%,var(--mesh-2),transparent 60%),radial-gradient(40vmax 40vmax at 70% 92%,var(--mesh-3),transparent 62%);filter:blur(8px);animation:meshDrift 26s ease-in-out infinite alternate}@keyframes meshDrift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(2%,-2%,0) scale(1.06)}to{transform:translate3d(-2%,2%,0) scale(1.03)}}@media(prefers-reduced-motion:reduce){body:before{animation:none}}h1{font-size:1.5rem;margin:0 0 1.25rem;letter-spacing:-.02em}h3{margin:0 0 .75rem;font-size:1.05rem}button{cursor:pointer;border:1px solid transparent;background:var(--gradient-accent);background-size:140% 140%;background-position:0% 50%;color:#fff;padding:.55rem 1.1rem;border-radius:var(--radius);font-size:.9rem;font-weight:600;letter-spacing:.01em;box-shadow:0 6px 18px -6px var(--shadow-hover);transition:background-position var(--transition),transform 90ms ease,box-shadow var(--transition)}button:hover:not(:disabled){background-position:100% 50%;transform:translateY(-1px);box-shadow:0 12px 26px -8px var(--shadow-hover)}button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-ring)}button:disabled{opacity:.55;cursor:not-allowed}button.ghost{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color);box-shadow:none}button.btn-icon{background:none;border:none;box-shadow:none;color:inherit;font-size:1.2rem;padding:.25rem;border-radius:var(--radius-sm, 6px);transition:transform .2s,background var(--transition, .2s)}button.btn-icon:hover:not(:disabled){background:var(--bg-tertiary);transform:scale(1.15);box-shadow:none}button.danger{background:var(--danger)}input,select{padding:.5rem .7rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--input-bg);color:var(--text-primary);font-size:.9rem;transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}label{font-size:.9rem;color:var(--text-secondary)}.login-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem}.login-page h1{font-size:2.2rem;background:var(--gradient-accent);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-tertiary)}.empty-state p{margin-bottom:1.5rem;font-size:1.1rem}.page-loader{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.page-loader.inline{min-height:40vh}.page-loader-spinner{width:44px;height:44px;border:3px solid var(--border-color);border-top-color:var(--accent, #6c5cf7);border-radius:50%;animation:pageLoaderSpin .8s linear infinite}.page-loader p{margin:0;color:var(--text-secondary);font-size:.95rem;font-weight:500}@keyframes pageLoaderSpin{to{transform:rotate(360deg)}}.sub-chip-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-block;border:none;padding:1px 8px;padding-inline-end:20px;border-radius:var(--radius-pill, 999px);font-size:.66rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;background-color:var(--accent-soft, rgba(108, 92, 247, .15));color:var(--accent, #6c5cf7);white-space:nowrap;cursor:pointer;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='6' viewBox='0 0 8 6'><path d='M0 0l4 6 4-6z' fill='%236c5cf7'/></svg>");background-repeat:no-repeat;background-position:left 8px center}[dir=ltr] .sub-chip-select{background-position:right 8px center}.page-error{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}.page-error.inline{min-height:40vh}.page-error p{margin:0;color:var(--text-secondary);font-size:.95rem;font-weight:500}
